trim
「trim」とは、手入れをするということを意味する表現。
「trim」とは・「trim」の意味
「trim」は他動詞で、「芝や生け垣を刈り込んで手入れする」、「写真をトリムする」、「切り落とす」などの意味を持つ。また、形容詞としても用いられることがあり、「きちんとした」、「すらっとした」という意味で用いられる。また、名詞としては「a trim」の形で「髪を切ること」を意味することがある。「trim」の活用変化一覧
「trim」は、動詞として以下のような活用変化をする。原形:trim
過去形:trimmed
過去分詞形:trimmed
現在分詞形:trimming
三単現形:trims
「trim」の語源・由来
「trim」は古英語に由来する。動詞としての「trim」は「何かを調整する」、「余分なものを削ぎ落とす」などの意味がある。この語義は、「強化する」、「整える」、「しっかりさせる」という意味を持つ古英語の「trymman」 に由来する。
形容詞としての「trim」は、「整然とした」という意味がある。この語義は、「準備された状態」を意味する航海の専門用語としての「trim」が変化したものである。
また、名詞としての「trim」は、「しっかりした」を意味する古英語の「trum」から来ている。
「TRIM関数」とは
「TRIM関数」は、テキストを整えるためのMicrosoft Excelの関数の1つである。この関数は、テキスト文字列から余分なスペースを削除することができる。テキスト文字列の前後に余分なスペースがあると、文字列の検索や置換がうまく動作しないなどの問題が発生することがある。TRIM関数は、このような問題を解決するために使用される。
TRIM関数は、次のように使用する。
=TRIM(テキスト)
この関数は、引数として与えられたテキスト文字列から、前後の余分なスペースを取り除いた結果を返す。返される値は、新しいテキスト文字列として扱われる。
例えば、次のように使用することができる。
=TRIM(" Hello, World! ")
この場合、前後に余分なスペースがあるため、関数の結果は「Hello, World!」となる。
「trim()(Java)」とは
「trim()」は、Javaプログラミング言語で使用される文字列メソッドの1つである。このメソッドは、文字列の前後にある余分な空白文字(空白、タブ、改行)を削除するために使用される。「trim()」メソッドは、例えば以下のように使用される。
String str = " Hello, World! ";
String trimmedStr = str.trim();
この場合、元の文字列には前後に余分な空白が含まれているが、「trim()」メソッドを使用することによって、これらの空白を取り除いた新しい文字列が作成される。
「TRIMコマンド」とは
SSDのTRIMコマンドとは、SSDのパフォーマンスを向上させるための機能の一つである。TRIMコマンドは、OS上で削除済みのデータが不要なデータであることをSSDに通知するコマンドとして働く。SSDがTRIMコマンドに対応することで、OSからSSDに不要となった実データのアドレスを通知することができる。これにより、SSDの書き込み速度や寿命を向上させることが可能となる。一般的に、TRIMコマンドは自動的に実行される。ただし、古いOSやSSDの場合は、自動で行われないことがある。「trim」の使い方・例文
英単語「trim」には、複数の意味がある。以下に、それぞれの意味について代表的な使い方と例文をいくつか挙げる。1. (動詞) 切り詰める、削減する
The company is trying to trim costs by reducing its workforce.(その会社は、人員削減によるコスト削減を図っている。)
We need to trim the budget for next year. (来年の予算を削減する必要がある。)
2. (動詞) 装飾する、整える
She trimmed her hair. (彼女は髪を整えた。)
I'm going to trim the Christmas tree. (クリスマスツリーを飾るつもりである。)
He trimmed the hedges in his garden. (彼は庭の生け垣を整えた。)
3. (形容詞) すっきりとした、きちんと整った
Her new haircut looks very trim. (彼女の新しい髪型はとてもすっきりしている。)
He always keeps his garden looking very trim. (彼は常に庭をきちんと整えている。)
4. (名詞) 余分な部分、切り落とし
Can you hand me the trim from the fabric? (布の切り落としを取ってくれますか?)
The carpenter used a decorative trim on the cabinets. (大工はキャビネットに切り落としの縁飾りを使った。)
ティー‐アール‐アイ‐エム【TRIM】
読み方:てぃーあーるあいえむ
《trade related investment measures》貿易関連投資措置。海外からの直接投資に、技術移転や特定部品の国内での調達を義務づけるなどの条件をつける各国の規制のこと。
トリム【trim】
トリム【Trim】
trim
trim — 文字列の先頭および末尾にあるホワイトスペースを取り除く
説明
string trim ( string str [, string charlist] )この関数は str の最初および最後から空白文字を取り除き、 取り除かれた文字列を返します。2番目のパラメータを指定しない場合、 trim()は以下の文字を削除します。
- " " (ASCII 32 (0x20)), 通常の空白。
- "\t" (ASCII 9 (0x09)), タブ。
- "\n" (ASCII 10 (0x0A)), リターン。
- "\r" (ASCII 13 (0x0D)), 改行。
- "\0" (ASCII 0 (0x00)), NULバイト
- "\x0B" (ASCII 11 (0x0B)), 垂直タブ
パラメータ
- str
-
ホワイトスペースを取り除く string
- charlist
-
charlistパラメータにより、削除する
文字を指定することも可能です。削除したい全ての文字をリストに
してください。..を文字の範囲を指定する際に
使用可能です。
返り値
ホワイトスペースを取り除いた文字列変更履歴
バージョン | 説明 |
---|---|
4.1.0 | charlist オプションパラメータが追加されました |
例
例 2333. trim()の使用例
<?php
$text = "\t\tThese are a few words :) ... ";
echo trim($text); // "These are a few words :) ..."
echo trim($text, " \t."); // "These are a few words :)"
// $binaryの始めおよび最後にあるASCII制御文字(0から31まで)を削除
$clean = trim($binary, "\x00..\x1F");
?>
例 2334. trim() を用いて配列の値をトリミングする
<?php
function trim_value(&$value)
{
$value = trim($value);
}
$fruit = array('apple','banana ', ' cranberry ');
var_dump($fruit);
array_walk($fruit, 'trim_value');
var_dump($fruit);
?>
上の例の出力は以下となります。array(3) { [0]=> string(5) "apple" [1]=> string(7) "banana " [2]=> string(11) " cranberry " } array(3) { [0]=> string(5) "apple" [1]=> string(6) "banana" [2]=> string(9) "cranberry" }
参考
ltrim() |
rtrim() |
トリム
車室内の内張り用部品およびその付属装飾品の総称。トリムの目的は(1)室内の見栄え、風合いの向上(2)騒音、高熱から守る快適性の向上(3)衝突や干渉時の安全性の向上、などであり、取付け場所により目的にかなう材料と工法が選ばれる。例えば天井やドアは広く目立ちやすいので見栄え、風合いが重視され、フロアとドアは触感と断熱、吸音などのためにカーペットやファブリックを使う。ダッシュパネルは見えにくいので風合いは無視され、断熱、遮音に適したサンドイッチボードに簡単な表皮を覆ったりしている。ドア、ボディサイド、天井、フロア、ダッシュボード、トランクルームなど、取付け部位によりトリム材料、構成が異なる。難燃性が求められる。
参照 ドアトリム、トランクルームトリムバンパーパン
1-[2-(トリフルオロメチル)フェニル]-1H-イミダゾール
Trim
TRIM
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/07/04 14:26 UTC 版)
TRIMコマンド(ATAコマンドセット:TRIM、SCSIコマンドセット:UNMAP)は、オペレーティングシステムからソリッドステートドライブ(SSD)の未使用領域を内部的に消去するために用いられるコマンドである[1]。
SSDの登場から間もなくTRIMコマンドが登場した。 SSDへのハードウェア的な操作は、従来のハードディスクドライブとは大きく異なるため、オペレーティングシステムから削除やフォーマットなどの操作を従来通り行った場合に、書き込み操作で予期せず段階的なパフォーマンス低下が発生した[2]。TRIMの実行により、SSDはガベージコレクションをより効率的に処理できる。実行しない場合は、書き込み動作が遅延する可能性がある[3]。
一部のドライブにおいては、工場出荷状態にリセットするツールは、TRIMの導入前から存在していたが、ドライブ上のすべてのデータも削除されるため、使用中に最適化のために使用することは現実的ではない[4] 。また、2014年までには多くのSSDに対し、TRIMとは独立して機能する、バックグラウンドガベージコレクションメカニズムが搭載されるようになった。これにより、TRIMをサポートしていないOSでもパフォーマンスが維持できるようになったが、 ライトアンプリフィケーションが発生しやすくなる上、フラッシュセルの寿命を縮める欠点が存在した[5]。
背景
多くのファイルシステムでは削除操作を処理する場合、データブロックに「未使用」のフラグを立てる[6] [7]。これにより、いずれのストレージメディアでもどの領域が本当に使用中であるかに関わらず、空きスペースとして領域を使用できる。上書き操作とは異なり、削除操作時においては、データを含むセクターへの物理的な書き込みは行われない。一般的なSSDにおいては、未使用の領域のリストを含むファイルシステム構造を処理せず,そのまま書き込み動作を行うため、メディア側では領域が使用可能になったことは認識されない。 これにより、ハードディスクなどでは、削除されたファイルを復元するツールが利用できるようになっている [8]。つまり、いずれのメディアの場合でも、未使用領域を使用したという場合でも上書き操作が行われている可能性が存在する。 磁気ディスクの場合、空のセクターへの書き込みと上書き操作に相違はないが、一部のSSDは機能の実装が最低レベルであるため、上書きは完全未使用の領域にデータを書き込む場合に比べて大きなオーバーヘッドを生じ、書き込みパフォーマンスを損なう可能性がある [9]。
SSDは、通常4〜16 kiB単位でグループ化されたフラッシュメモリのセルにデータを格納し、通常それを128〜512ページのブロックにグループ化する[6] 。NANDフラッシュメモリセルの場合、領域が完全に空の場合にのみ書き込み操作が実行できる。データが残存している可能性がある場合、書き込み操作の前に領域を消去する必要がある。SSDへの書き込み操作はページ単位で実行できるが、ハードウェアの制限により、消去は常にブロック全体に対して実行される[10]。よって、SSDの空の領域への書き込み操作は非常に高速だが、以前に使用された領域を上書きする必要がある場合、遅延が発生する。 再度書き込む前にページ内のセルの消去が必要となるが、消去できるのはブロック全体であるので、上書きすると読み取り-消去-変更-書き込みサイクルが実行される [11]。削除対象のブロックに存在するデータ全体が一旦キャッシュに保存され、ブロック全体を消去し、上書きされた部分がキャッシュに書き込まれる。その後、更新されたブロック全体をフラッシュメディアに書き込む。この現象はライトアンプリフィケーションとして知られている[12] [13]。
操作
TRIMコマンドを使用すると、オペレーティングシステムは、使用しなくなったページをSSDに通知できる。ファイル削除操作の場合、オペレーティングシステムはファイルのセクターを空き領域としてマークし、TRIMコマンドをSSDに送信する。その後新しいデータを書き込むときににSSDはブロックの内容を保持しないため、書き込み量を少なくすることとなり、書き込みスループットが高くなる。よって、寿命を延ばすことが期待できる。
ただし、SSDによってコマンドの実装方法が異なるため、得られるパフォーマンスが異なる場合がある[3] [8]。
TRIMはSSDにLBA領域を無効としてマークするように指示し、その後に領域の読み取りを行ったとしても意味のあるデータを返さなくなる。非常に短い間、データが依然としてフラッシュメモリ内に存在する可能性があるが、TRIMコマンドが発行されてガベージコレクションが実行された後は、専門家でさえデータを回復できる可能性はほぼないとされている[14]。
実装
オペレーティングシステムでのサポート
TRIMコマンドの発行は、サポートされているオペレーティングシステムでのみ実行される。以下の表は、オペレーティングシステムと、コマンドをサポートする最初のバージョンを示している。さらに、ATA規格にTRIMコマンドが追加されるよりも前に設計された古いSSDでは、ファームウェアの更新が必要となる。更新されていない場合、新しいコマンドは無視される。ただし、すべての古いSSDでTRIMコマンドをサポートするアップデートが準備されているわけではない。
空き領域を正しく理解しているプログラムだけが安全にコマンドを発行できるため、TRIMのサポートは、ファイルシステムドライバーによっても異なる。
オペレーティング・システム | サポート開始 | 備考 |
---|---|---|
DragonFly BSD | [15] | 2011年5月|
FreeBSD | [16] | 8.1 – 2010年7月バージョン8.1でブロックデバイスレイヤーに追加。UFSに対しては8.3および9で追加[17] 、ZFSに対しては9.2で追加[18][19]。ソフトウェアRAID環境へは10で対応[20]。 |
NetBSD | [21] | 2012年10月|
Linux | [22] | 2.6.28–25 2008年12月2.6.28でFTL NANDフラッシュデバイス初期サポートが追加。 ATA TRIMコマンドのサポートは、2.6.33で追加[23]。
トリムを自動的に発行できるファイルシステムは、 Ext4[24] 、Btrfs[25]、FAT、GFS2、JFS[26]、XFS[27]、およびNTFS-3G。 一部のディストリビューションでは、パフォーマンスの問題[28]により、自動実行をデフォルトで無効にし、スケジュール化で対応している[29]。Ext3、NILFS2、およびOCFS2では、オフラインでのTRIMを実行するioctlが用いられる。仕様ではTRIM実行範囲のリストが必要だが、カーネル3.0では、単一の範囲でのみ呼び出されるため、実行が遅い[30]。 |
macOS | [31] | 10.6.8(2011年6月23日)AHCIブロックデバイスドライバーは、10.6.6(10J3210)でTRIMのサポート有無を表示する機能を搭載した[32] が、IOStorageFamilyおよびHFS Plusファイルシステムを介してTRIMを実行できるようになった10.6.8までは使用できなかった[要出典]。 10.10.4以前では、AppleブランドのSSDに対してのみネイティブでTRIMが有効となっていた。ただし、サードパーティのユーティリティを使用して、他社製のSSDに対しても機能を有効化できる。 Yosemiteへのアップデートにより、古いサードパーティのTRIMドライバーが使用できなくなった[33]が、Yosemiteでも動作する更新されたドライバーは存在している[34] [35]。アップデート10.10.4で、コマンドラインユーティリティのtrimforceから他社製SSDに対してもTRIMを有効化できるようになった[36]。 |
Microsoft Windows | Windows 7・Windows Server 2008 R2 – 2009年10月[37] [38] | Windows 7は当初、 パラレルATAおよびシリアルATAを含むATアタッチメントファミリのドライブに対してのみTRIMをサポートし、デバイス自体がコマンドを受け入れる場合でも、Storport PCI-Express SSDなどのデバイスに対してはサポートしていなかった[39]。ネイティブのMicrosoftドライバーでは、TRIMコマンドはWindows 7のAHCIおよびレガシーIDE / ATAモードで動作することが確認されている[40]。Windows 8以降では、NVMeによるPCI Express SSDのトリムと、USB Attached SCSI Protocol(UASP)などのSCSIドライバースタックを使用するデバイスに対しての、TRIMコマンドと同様のunmapコマンドをサポートする。
Windows 7に対しては、KB2990941のアップデートをDISMを利用しセットアップ時に組み込むことにより、PCIe SSDへのTRIM[要出典] を追加できる。 TRIMはReFSとNTFSでサポートされており、無効化するためのDisableDeleteNotifyスイッチも実装されている[41]。他のファイルシステムに対しての実装は、複数ソース間で情報が一致していない。 |
OpenSolaris | [42] | 2010年7月|
Android | [43] - 2013年7月24日[44] | 4.3デバイスが1時間以上アイドル状態で、80%以上充電されている場合(充電器に接続されている場合は30%以上)、24時間ごとに最大1回fstrimを 自動的に実行する。
|
RAIDへの問題
2017年1月[update], TRIMコマンドへのサポートはほとんどすべてのハードウェアRAIDにおいては実装されていない。しかし、ソフトウェアRAID の場合はサポートされている場合がある。
現在Windows
Windows 10では、RAIDボリュームの構成時に「ドライブの最適化」のオプションを使用することで、SSDを含むRAIDボリュームでもTRIMをサポートする。
macOS
macOSの標準RAIDドライバーはTRIMをサポートしていない。この問題は、少なくとも10.7からmacOS 10.12.xまでのすべてのバージョンで該当する。
アップル以外製SSDでのTRIMサポートを含むサードパーティのSoftRAID®アプリケーションを使用する場合、TRIMはRAID(0、1、4、5、10)ボリュームでサポートされる。ただし、ターミナルコマンド「sudo trimforce enable」を使用して明示的に有効にする必要がある。
Linux
TRIMは、Linuxカーネル内のdmraidにおいて、2011年1月以降のリリースで使用可能となった。これは、BIOSによる「偽のハードウェアRAID」へのサポートであり、RAID上にあるファイルシステムからのTRIMリクエストを透過的に処理する[45]。
Linuxの汎用ソフトウェアRAIDシステムであるmdraidでは、システムがファイルシステムでmdtrimユーティリティを定期的に実行するように構成されている場合、RAID 1上でバッチベース(ファイル削除時実行)のTRIMを試験的にサポートしている[46]。Red Hat Enterprise Linux 6.5以降などのLinuxの新しいバージョンでは、mdraidは、単なるバッチジョブとしてではなく、実際にTRIMコマンドをリアルタイムで渡すことをサポートしている[47]。
しかし、Red HatはソフトウェアRAIDのうち1、4、5、6を使用しないことを推奨しており、理由として、ほとんどのRAID管理ユーティリティ(Linuxにおけるmdadmなど )での初期化時にデバイスのすべてのブロックに書き込み処理を行い、チェックサム(またはRAID 1/10の場合はドライブ間の検証)が適切に動作することを確認するためである。これにより、SSDにおいてはスペア領域以外のすべてのブロックが使用中の場合、パフォーマンスが大幅に低下する[48]。
一方、Red Hatは、TRIM(Linux用語では「破棄」)をサポートしており、LVMユーティリティは作成時にすべてのブロックに対する書き込み処理を行わないため、SSD上のLVM RAIDに対してはRAID 1またはRAID 10を使用することを推奨している[47]。
2010年3月、ユーザー間でIntel Rapid Storage Technology(RST)9.6ドライバーがRAIDボリュームでTRIMをサポートしていると信じられるようになったが、Intelは後にTRIMがAHCIモードとRAIDモードのBIOS設定でサポートされるが,RAIDボリュームの一部として使用される場合はサポートしないことを明らかにした[49]。
2012年8月の時点で、IntelはRapid Storage Technology(RST)11.2ドライバーを搭載した7シリーズのチップセットがMicrosoft Windows 7におけるRAID 0のTRIMをサポートしていることを確認している[50]。Intelは6シリーズチップセットのサポートを確認していないが、RAID 0ボリュームでのTRIMは、変更されたRAIDオプションROMを使用することで、Z68、P67、X79のチップセットで動作することが示されている[51]。6シリーズチップセットで公式にサポートされていない理由として、技術的なものではなく、検証コスト[52]ないし消費者にアップグレードを促す目的[53]であると推測されている。
X79チップセットを備えたマザーボードにおいてオプションROMを変更しなくても問題ない場合は、製造元がROMスイッチを追加した場合である。BIOSとUEFIの内部にRST ROMとRST-E ROMの両方があれば、RST-E ROMの代わりにRST ROMを使用して、TRIMを機能させることが可能となる[54]。Intelは、ROMと同じバージョンのドライバーを使用することで最高のパフォーマンスが得られると述べている。たとえば、BIOS・UEFIに11.0.0.0mオプションROMがある場合、11.xバージョンのドライバーを使用する必要がある[55]。
サポートされていないファイルシステムでの有効化
ファイルシステムが自動的にTRIMをサポートしない場合でも、一部のユーティリティではTRIMコマンドを手動で送信できる。通常、ユーティリティが使用されていないブロックを判別し、リストをコマンドとしてドライブに渡す。このようなユーティリティは、複数のメーカーが提供している(例: Intel[56]、G.Skill[57] )。また、一般的なユーティリティ(例:Linuxのhdparmv9.17以降の"wiper"[58] [59]、mdtrim)としても提供されている。hdparmとmdtrimはいずれも、ファイルシステムに大きなファイルを割り当て、割り当てられている物理的な場所を解決することにより、空きブロックを検索する。
ハードウェアサポート
ATA
TRIMコマンドの仕様[60]は、 国際情報技術標準委員会 (INCITS)の技術委員会T13が主導するATアタッチメント (ATA)インターフェイス標準の一部として標準化されている[61]。TRIMは、ドラフトACS-2仕様のDATA SET MANAGEMENTコマンド(opcode 06h)で実装されている[62]。また、ATA規格は、パラレル(IDE、PATA)・シリアル(SATA)の両方でサポートされている。
オリジナルのATA TRIMコマンドの欠点は、キューに入れられないコマンドとして定義されていたため、キューに入れられた読み取りおよび書き込み操作の通常のワークロードと簡単に混在させることができない点であった。 SATA 3.1では、これを修正するためにキューに入れられたTRIMコマンドが導入された[63]。
ATA IDENTIFY DEVICEコマンドから返されるSATAワード69および169により定義される、複数種のTRIMコマンドが存在する。
- 非決定的TRIM:TRIM後の論理ブロックアドレス (LBA)への読み取りコマンドで、異なるデータを返す場合がある。
- 確定的TRIM(DRAT):TRIM後のLBAへの読み取りコマンドは、同じデータを返すか、確定的となる。
- TRIM後の確定的読み取りゼロ(RZAT):TRIM後のLBAへのすべての読み取りコマンドはゼロを返す。
SATAワード105には、ドライブがサポートできるDATA SET MANAGEMENTコマンドごとの512バイトブロックの最大数を示す追加情報が存在する。 通常、これはデフォルトで8または4 kBとなっているが、多くのドライブでは1として、TRIMのMicrosoft Windowsハードウェア要件に存在する、コマンド完了時間が20ミリ秒または8ミリ秒×LBA範囲エントリ数のいずれか以上かつ600ミリ秒未満でなければならないという条件を満たすようにしている[64]。
個々のLBA範囲はLBA範囲エントリと呼ばれ、8バイトで表現される。LBA自体は、LBA範囲エントリの最初の6バイトで表され、範囲長が残りの2バイトで表されている。範囲長のビットがすべてゼロの場合、LBA範囲エントリはパディングとして破棄される[65]。つまり、1回のTRIM範囲で最大で32 MBの64倍すなわち2GBが指定される。デバイスがSATAワード105で8をサポートしている場合、1回のTRIM(DATA SET MANAGEMENT)コマンドで16 GBをトリムできることとなる。
SCSI
SCSIでは、TRIMと同一内容であるUNMAPコマンド、およびUNMAPフラグが設定されたWRITE SAMEコマンド(10および16バリアント)が存在する[66]。
SD/MMC
MultiMediaCardおよびSD ERASE(CMD38)コマンドは、ATAでのTRIMコマンドと同様の機能を提供するが、消去されたブロックをその後0または1で上書きする必要がある。eMMC 4.5では、破棄されたブロックの内容が不確定と見なすことができる点でTRIMコマンドにより類似した「破棄」サブオペレーションを定義した。
NVM Express
NVM Expressコマンドセットでは、ホストの意図を一連のブロック範囲のストレージデバイスに示めすための汎用のコマンドが存在する。その操作の1つであるdeallocateコマンドはTRIMを実行することと同義である。また、deallocateコマンド実行へのヒントを提供し、ディスクがゼロをトリミングして返すことを可能にするWrite Zeroesコマンドも存在する。
短所
- 暗号化が使用されている場合、TRIMコマンドを使用すると、使用されているブロックと使用されていないブロックに関する情報が明らかになってしまう[67]。
- オリジナルのTRIMコマンドは、 T13小委員会によって非キューコマンドとして定義されていたため、たとえば各ファイルシステムの削除コマンドの後に送信された場合など、不注意に使用すると、大量の実行ペナルティが発生する可能性がある。非キューコマンドの性質上、デバイスドライバは、未解決のコマンドがすべて完了するのを待機し、TRIMコマンドを発行してから、通常のコマンドを再開する必要がある。SSDのファームウェアによっては、TRIMが完了するまでにかなりの時間がかかってしまい、ガベージコレクションサイクルがトリガーされる場合もある[要出典]。このペナルティは、システムの使用率が最小になるようなバッチジョブをスケジュールすることにより、ファイルの削除ごとにトリミングするのではなく、定期的にバッチTRIMを実行することで最小限に抑えられる。このTRIMの欠点は、Queued TRIMコマンドの導入により、シリアルATAリビジョン3.1で改善した[68][69]。
- Queued TRIMへのサポートを誤ってシステムに通知しているか、実装に重大なバグがあるドライブファームウェアにより、いくつかのデバイス、特にMicronとCrucialのM500[70]およびSamsungの840および850シリーズなどで深刻なデータ破損を引き起こすとされている[71]。
以下のデバイスは、Linuxカーネルのlibata-core.cでブラックリストに登録されており、非キューTRIMコマンド(ATA_HORKAGE_NO_NCQ_TRIM)の送信を強制される[72]。
- Micron/Crucial M500 (すべてのファームウェア)
- Micron M510 (ファームウェアバージョン MU01)
- Micron/Crucial M550 (ファームウェアバージョン MU01)
- Crucial MX100 (ファームウェアバージョン MU01)
- Samsung 840/850 シリーズ(すべてのファームウェア)
また、このファイルは、TRIMが発行されたときに誤ったブロックがデータを失う原因となるため、SuperSSpeed S238をTRIMコマンドへのブラックリストに載せている[72][73]。
libata-core.cには、サブシステムのメンテナーがDRATフラグとRZATフラグ(ATA_HORKAGE_ZERO_AFTER_TRIM
)を確実に認識しているSSDを列挙しているホワイトリストもある。 ホワイトリストに登録されているドライブは以下の通りである[72]。
- Crucial SSD
- Intel SSD 510を除くIntel SSD
- Micron SSD
- Samsung SSD
- Seagate SSD[74]
出典
- ^ “TRIM Overview” (英語). Intel. 2020年6月9日閲覧。
- ^ Shimpi, Anand Lal (2009年3月18日). “The SSD Anthology”. AnandTech.com. p. 4. 2010年6月19日閲覧。
- ^ a b Shimpi, Anand Lal. (18 March 2009). p. 10.
- ^ Shimpi, Anand Lal. (18 March 2009). p. 11.
- ^ “Kingston SSDNow V Plus 100 Review”. AnandTech.com. Anand Lal Shimpi (2010年11月11日). 2010年12月10日閲覧。
- ^ a b Savill, John (2009年4月21日). “I heard solid-state disks (SSDs) suffer from a decline in write performance as they're used. Why?”. WindowsITPro. 2012年6月30日時点のオリジナルよりアーカイブ。2010年6月19日閲覧。
- ^ Shimpi, Anand Lal. (18 March 2009). p. 7.
- ^ a b Savill, John (2009年4月22日). “What is the TRIM function for solid-state disks (SSDs) and why is it important?”. WindowsITPro. 2013年2月9日時点のオリジナルよりアーカイブ。2010年6月19日閲覧。
- ^ Malventano (2009年2月13日). “Long-term performance analysis of Intel Mainstream SSDs”. PC Perspective. 2012年2月10日閲覧。
- ^ Shimpi, Anand Lal. (18 March 2009). p. 5.
- ^ Shimpi, Anand Lal. (18 March 2009). p. 8.
- ^ “Write Amplification: Intel's Secret Sauce”. ExtremeTech.com. 2010年11月6日閲覧。
- ^ “Inside the X25-M Controller: Wear Leveling, Write Amplification Control”. TomsHardware.com (2008年9月8日). 2010年11月6日閲覧。
- ^ “Too TRIM? When SSD Data Recovery is Impossible”. TechGage. TechGage (2010年3月5日). 2018年8月21日閲覧。
- ^ “Preliminary TRIM support”. 2020年7月6日閲覧。
- ^ “FreeBSD 8.1-RELEASE Release Notes: Disks and Storage”. 2010年9月1日閲覧。
- ^ “Add kernel side support for BIO_DELETE/TRIM on UFS”. 2011年2月1日閲覧。
- ^ “Added ZFS TRIM support which is enabled by default.”. 2013年6月5日閲覧。
- ^ “FreeBSD 9.2-RELEASE Announcement”. 2013年10月4日閲覧。
- ^ “Base revision 242323 – Add basic BIO_DELETE support to GEOM RAID class for all RAID levels”. 2012年10月30日閲覧。
- ^ “TRIM support in NetBSD” (2012年10月19日). 2020年7月6日閲覧。
- ^ “Block device changes in Linux 2.6.28”. 2020年7月6日閲覧。
- ^ “Storage changes in Linux 2.6.33”. Kernel Newbies. 2010年9月1日閲覧。
- ^ “HOWTO: Configure Ext4 to Enable TRIM Support for SSDs on Ubuntu and Other Distributions – Forked by Nicolay”. 2020年7月6日閲覧。
- ^ “Btrfs improvements in Linux 2.6.32”. 2020年7月6日閲覧。
- ^ “JFS Filesystem can now handle trim”. 2012年3月28日閲覧。
- ^ “Filesystem changes in Linux 3.0”. 2020年7月6日閲覧。
- ^ Freemyer (2010年). “OpenSUSE forum – SSD detection when creating first time fstab”. 2020年7月6日閲覧。
- ^ “How to enable TRIM?”. Ask Ubuntu. 2015年11月11日閲覧。
- ^ “SDB:SSD discard (trim) support”. 2020年7月6日閲覧。
- ^ “Mac OS X 10.6.8 Brings TRIM Support for Apple SSDs, Graphics Improvements” (2012年2月24日). 2020年7月6日閲覧。
- ^ “Macbook Pros ship with active SSD TRIM support” (2011年3月4日). 2020年7月6日閲覧。
- ^ “Yosemite kills third-party SSD support”. 2020年7月6日閲覧。
- ^ “Chameleon SSD Optimizer”. 2020年7月6日閲覧。
- ^ “Cindori Software”. 2020年7月6日閲覧。
- ^ Lee Hutchinson (2015年6月30日). “Latest OS X update allows you to enable TRIM for third-party SSDs”. Ars Technica. Condé Nast. 2015年7月1日閲覧。
- ^ “Support and Q&A for Solid-State Drives”. MSDN (2009年5月9日). 2010年8月12日閲覧。
- ^ “Windows 7 Enhancements for Solid-State Drives”. Microsoft downloads. Microsoft Corporation (2008年11月12日). 2009年7月8日閲覧。
- ^ Geoff Gasior (2012) OCZ's RevoDrive 3 X2 240GB solid-state drive
- ^ Coles (2010年4月15日). “SSD Benchmark Tests: SATA IDE vs AHCI Mode – AHCI vs IDE Final Thoughts”. BenchmarkReviews. 2013年8月20日閲覧。
- ^ “Fsutil behavior” (英語). Microsoft Documentation. 2019年11月17日閲覧。
- ^ “SATA TRIM support in OpenSolaris” (2010年7月29日). 2020年7月6日閲覧。
- ^ “Android 4.3 Update Brings TRIM to All Nexus Devices” (2013年7月29日). 2013年7月30日閲覧。
- ^ "Android 4.3 announced, rolling out to Nexus devices today".The Verge. 24 July 2013. Retrieved 24 July 2013.
- ^ “Possible to get SSD TRIM (discard) working on ext4 + LVM + software RAID in Linux? – Server Fault”. 2011年11月29日閲覧。
- ^ “Cyberax/mdtrim – GitHub”. 2011年11月29日閲覧。
- ^ a b “Red Hat Enterprise Linux 6 Storage Administration Guide, Chapter 21. Solid-State Disk Deployment Guidelines”. 2016年3月9日閲覧。
- ^ “Red Hat Enterprise Linux 7 Storage Administration Guide” (2015年11月11日). 2016年2月29日閲覧。
- ^ “Is there TRIM support for RAID configurations?”. Intel (2010年3月26日). 2010年11月6日閲覧。
- ^ “Intel Confirms RAID0 TRIM Support on 7-Series Chipsets” (2012年8月19日). 2013年1月14日閲覧。
- ^ “RAID0 trim and SRT seems possible on 6-series and 5-Series” (2012年11月18日). 2013年1月14日閲覧。
- ^ “TRIM & RAID-0 SSD Arrays Work With Intel 6-Series Motherboards Too” (2012年11月28日). 2013年1月14日閲覧。
- ^ “Intel Brings TRIM to RAID-0 SSD Arrays on 7-Series Motherboards, We Test It” (2012年8月16日). 2013年1月14日閲覧。
- ^ Anand Lal Shimpi. “Intel Brings TRIM to RAID-0 SSD Arrays on 7-Series Motherboards, We Test It”. 2020年7月6日閲覧。
- ^ Doug Crowthers. “TRIM Command Confirmed With RAID 0 on Intel 7 Series”. Tom's Hardware. 2020年7月6日閲覧。
- ^ “Intel SSD Optimizer White Paper”. Intel Corporation. 2012年6月30日時点のオリジナルよりアーカイブ。2010年1月23日閲覧。
- ^ “wiper.exe for Falcon Series”. XtremeSystems. 2010年1月23日閲覧。
- ^ “hdparm-9.17 released, with experimental trim/wiper scripts for SSDs”. 2010年8月14日閲覧。
- ^ “hdparm project page”. sourceforge.net. 2010年8月14日閲覧。
- ^ “Data Set Management Commands Proposal for ATA8-ACS2 (revision 6)”. INCITS T13. INCITS (2007年12月12日). 2009年7月8日閲覧。 (draft specification T13/e07154r6)
- ^ “T13 documents referring to TRIM”. INCITS T13. INCITS. 2009年7月8日閲覧。
- ^ “T13 ATA8 Draft Spec 1697-D”. INCITS (2010年6月23日). 2010年8月14日閲覧。
- ^ “SATA 6Gb/s”. Serial ATA International Organization. 2012年9月26日閲覧。
- ^ “Device.Storage Requirements (Windows)”. 2016年2月29日閲覧。
- ^ “T13/2161-D: Information technology – ATA/ATAPI Command Set – 3 (ACS-3)”. 2016年2月29日閲覧。
- ^ “Note for SCSI UNMAP support in FreeBSD mailing list”. 2020年7月6日閲覧。
- ^ “Milan Broz's blog: TRIM & dm-crypt ... problems?”. Milan Broz. 2014年10月1日閲覧。
- ^ http://www.sata-io.org/technology/6Gbdetails.asp
- ^ “SATA 3.1 spec brings swap standard, improved TRIM”. The Tech Report. 2020年7月6日閲覧。
- ^ “Bug 71371 – [PATCH]Crucial M500, broken "queued TRIM" support”. 2020年7月6日閲覧。
- ^ “Bug #1449005 "trim does not work with Samsung 840 EVO after firm..." : Bugs : fstrim package : Ubuntu”. 2020年7月6日閲覧。
- ^ a b c torvalds. “linux/libata-core.c at master · torvalds/linux · GitHub”. GitHub. 2020年7月6日閲覧。
- ^ torvalds. “libata: force disable trim for SuperSSpeed S238 · torvalds/linux@cda57b1”. GitHub. 2020年7月6日閲覧。
- ^ “[1/3] libata: Whitelist SSDs that are known to properly return zeroes after TRIM”. 2020年7月6日閲覧。
関連項目
外部リンク
- From write() down to flash chips – An explanation on how the TRIM command lets SSDs erase data not used by the filesystem
- TRIM Command White Paper – A white paper explaining the command's purpose and actions
- Fusion-io Patent "Apparatus, system, and method for redundant write caching"
トリム
トリム
trim, trimming
英語の動詞 trim。名詞形はトリミング (trimming)。トリムする者はトリマー (trimmer)。
trim
- トリム (アイルランド) (Trim, County Meath)。ミース県の町。
- トリム (自動車) (trim package) - 自動車のバッジ、もしくは自動車内装のシート、フロア、内張りといった装飾部品のこと。
- 日本トリム。浄水器メーカー。
- 道琳(トリム)−高句麗の密偵またはスパイ。帝王の娘 スベクヒャンでは尼僧トリム(チャ・ファヨン)として登場。
その他
- 熱帯降雨観測衛星 (TRMM)
- トリムパークかなづ - 福井県あわら市にある公園。
- TRIMコマンド - ソリッドステートドライブ(SSD)の書き込み速度の低下を回避するためのコマンド。
- トリムマーク印刷業界において印刷物を断裁する際に断ちしろをしるすためのマーク(トンボともいう)
関連項目
Trim
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/02/27 10:05 UTC 版)
「マシュー・フリンダース」の記事における「Trim」の解説
フリンダースの愛猫、Trim, トリムはケープタウンから家畜をシドニー居住地に運ぶ航海中のリライアンス号上で1797年に誕生した。フリンダースの初期の航海、1800年のイギリスへの帰国の航海に伴った。フリンダースがフランスによってモーリシャスに拘留された時も一緒だった。拘留中にフリンダースはトリムのことを書いている。;“私の人生の中で出会った最高の動物で、雪の様な足の先の色と、漆黒の衣服をまとっていた。胸にも白い星形がある。” トリムの像はシドニー、ミチェル図書館の Macquarie Street 側に一般からの寄付で1995年に作られた。トリムは1925年に作られたフリンダース像の方を向いている。フリンダース像は彼の孫 Sir W. M. Flinders Petrie によるフリンダース私文書図書館への寄付と共に建てられた。
※この「Trim」の解説は、「マシュー・フリンダース」の解説の一部です。
「Trim」を含む「マシュー・フリンダース」の記事については、「マシュー・フリンダース」の概要を参照ください。
Trimと同じ種類の言葉
固有名詞の分類
- Trimのページへのリンク