SSDテクノロジーの世界では、ガーベージコレクションとTRIMという言葉が多用されていますが、その意味は何なのでしょうか?この記事では、ガーベージコレクション、その使用方法、TRIMコマンドとの関係を見ていきます。
ガーベージコレクションとは何か?
ガーベージコレクションの目的は、ドライブが効率的に動作ひて寿命末期まで性能を維持できるようにするため、定期的に最適化することです。ハードディスクドライブ(HDD)とは異なり、SSDその他のNAND型フラッシュストレージは既存データに上書きできません。プログラム/削除サイクルを経る必要があります。フラッシュメモリはブロックに分割され、ブロックはページに分割されます。データはページレベルで書き込まれ、ブロックレベルで削除されます。データを削除するには、その前に、元のブロックのすべての有効なデータ(ページ)をコピーして新しいブロックの空のページに書き込む必要があります。既に使用中のデータブロックに書き込む場合、SSDコントローラはまずすべての有効データ(使用中のデータ)をコピーして他のブロックの空のページに書き込み、現行ブロックのすべてのセル(有効/無効の両データ)を削除してから、新規に削除したブロックに新しいデータを書き込みます。このプロセスが「ガーベージコレクション」と呼ばれるものです。Kingston®では、独自技術を活用する各種コントローラを使用してガーベージコレクション(GC)を実施します。その目的は、できるだけ多くの空きブロックを維持し、SSDがデータ書き込みをする際にブロック消去を待つ必要をなくすことです。
ガーベージコレクションプロセスは、ドライブの機能の不可欠な部分であるため、通常はシステムアイドル中に自動的に実行されます。SSDは、NAND型フラッシュストレージを管理する高度なコントローラを組み込んでいます。WindowsなどのOSでファイルが削除されると、OS内部のファイルテーブルでそのファイルが削除されたことが記録されるだけです。ハードディスクドライブ(HDD)上では、無効化されたデータはそこに残り、新規データ保存時には直接その上に書き込まれます。最近のOSではTRIMコマンドにも対応しています。OSがSSDに特定のファイルを削除したことを通知し、SSDがよりよくガーベージコレクションをを管理できるようにすることでその領域を早期に復旧させ、無効データの保存や移動を防ぎます。