it-mure.jp.net

TRIMとは正確には何ですか?

[〜#〜] trim [〜#〜] のウィキペディアページから、SSDへの書き込みを減らすためにTRIMが導入されたという印象を受けますが、どのブロックが未使用。

それが正しければ、TRIMを使用しないSSDは、ファイルが削除されたときにブロックにゼロを書き込んで、SSDにブロックが空いていることを知らせますか?

読書 this

ゲスト内のファイルシステムはブロックを再利用しない傾向があります。つまり、ファイルシステムが仮想イメージサイズに比べて小さいままであっても、実際のイメージサイズは最大サイズに達するまで大きくなる傾向があります。

sSDはゼロで上書きされないのだろうか?それとも、ゲストのファイルシステムはまったく違うものですか?

14
Sandra

フラッシュメモリデバイス(今日のSSDに使用されているもの)は、いつでも任意のデータを書き込むことができません。セル(通常は4KB)に書き込む前に、最初に消去する必要があります。残念ながら、消去操作は非常に遅いです。そのため、可動部品がないにもかかわらず、フラッシュデバイスは磁気ドライブよりもはるかに低速でした。

最新のSSDは、事前に消去されたセルのセットを維持することで消去時間を隠します。つまり、書き込みコマンドは既存のデータをすぐに上書きせず、代わりにドライブのコントローラーが消去されたセルを選択して再マップし、新しいデータで書き込みます。それ(およびいくつかの書き込み思考キャッシュ戦略)は、ドライブに巨大スピードアップをもたらし、磁気ドライブを大幅に上回ります。

事前に消去されたセルのセットが常に存在することを保証するために、セルが不要なときはいつでも、ドライブはバックグラウンド消去のためにセルをスケジュールし、料金セルのリストに追加します。

残念ながら、既存のファイルシステムは、セクターが空いているときにドライブに通知することを気にしませんでした。結局のところ、ドライブはビットの単なるダムリポジトリであるはずでした。ファイルまたはセクターをファイルシステムの観点から解放されているとマークするその他の操作を削除することは、一部のメタデータ構造のマークにすぎませんでした。セクター自体は触れられていませんでした。ファイルシステムがゼロを書き込んでクリアしたとしても、ドライブはそれがセクターが空いていることを意味するのか、ユーザーがファイルにゼロを必要としているかを知ることができませんでした。しばらくすると、ドライブには書き込み前に消去できる空きセルがなくなります。パフォーマンスが悲劇的に低下しました。

TRIM命令はすぐに作成され、現在維持されているほとんどのファイルシステムで採用されました。これは、ファイルシステムがドライブにセクターの内容がもはや重要ではないことを伝えるために使用する単純な信号です。セルにマップされているすべてのセクターが解放されるとすぐに、SSDコントローラーはセルのマップを解除し、消去のスケジュールを設定します。ホストがこれらのセクターを読み取った場合、SSDはフラッシュからのフェッチを気にせず、すぐにゼロで応答します。しかし、最も重要な効果は、事前に消去されたセルのリストを常に補充しておくことです。

それでも、ほとんどのSSDは、フラッシュメモリの物理サイズよりも小さい容量を公開します。75%程度の容量になることもあります。これにより、100%フルシステムでも未使用のセルを保持できるため、使用済みセクターの(上書き)書き込みは依然として高速です。

16
Javier

TRIMが導入されたのは、オペレーティングシステム(OS内のファイルシステム)が、セクターがファイルシステムによって使用されなくなったことをATAストレージメディアと通信できるようにするためです。これは、ディスクへの書き込みとは何の関係もありません。

TRIMは、メディアでセクターがゼロになることを保証しません。ファイルシステムがそのセクターからの読み取りを要求したときにゼロが返されることを保証します(SSDはセクターがゼロであることを認識しているため、実際にメディアに格納されているものに関係なく、セクターがゼロを返すことに注意してください。回復できる場合があります。通常、SSDは実際にメモリを消去しますが、単純にトリミングされたディスクからのデータ)。

ファイルシステムは、書き込みを分散する傾向があります(さまざまな理由で、書き込みの平準化の試行から、ガベージコレクション、保存場所のランダム化など、あらゆるものがあります)。このため、メディアがファイルシステムが使用していないセクターを認識していない場合、ゼロを書き込むだけでは必ずしもセクターが使用されていないことを意味するわけではなく、最終的にはディスク全体が使用されていると想定する必要があります。

SSDの場合、この仮定は、書き込み時にセクターを消去する必要があることを意味し、書き込み速度が低下します。ファイルが削除されたときにメモリ位置を消去する代わりに。仮想化システムの仮想ディスクファイルの場合と同様に、ダイナミックディスクファイルは最終的に仮想ディスクの全容量を網羅します。仮想化システムがTRIMを実装している場合、セクターが使用されなくなったことを認識します。したがって、ダイナミックディスクはその場所を追跡する必要がありません。

8
Chris S