オフィスでノートPCのキーボードに打ち込んでいる若い男性

SSD性能を保つうえでのガーベージコレクション/TRIMプロセスの重要性

SSDテクノロジーの世界では、ガーベージコレクションとTRIMという言葉が多用されていますが、その意味は何なのでしょうか?この記事では、ガーベージコレクション、その使用方法、TRIMコマンドとの関係を見ていきます。

ガーベージコレクションとは何か?

ガーベージコレクションの目的は、ドライブが効率的に動作ひて寿命末期まで性能を維持できるようにするため、定期的に最適化することです。ハードディスクドライブ(HDD)とは異なり、SSDその他のNAND型フラッシュストレージは既存データに上書きできません。プログラム/削除サイクルを経る必要があります。フラッシュメモリはブロックに分割され、ブロックはページに分割されます。データはページレベルで書き込まれ、ブロックレベルで削除されます。データを削除するには、その前に、元のブロックのすべての有効なデータ(ページ)をコピーして新しいブロックの空のページに書き込む必要があります。既に使用中のデータブロックに書き込む場合、SSDコントローラはまずすべての有効データ(使用中のデータ)をコピーして他のブロックの空のページに書き込み、現行ブロックのすべてのセル(有効/無効の両データ)を削除してから、新規に削除したブロックに新しいデータを書き込みます。このプロセスが「ガーベージコレクション」と呼ばれるものです。Kingston®では、独自技術を活用する各種コントローラを使用してガーベージコレクション(GC)を実施します。その目的は、できるだけ多くの空きブロックを維持し、SSDがデータ書き込みをする際にブロック消去を待つ必要をなくすことです。

ガーベージコレクションプロセスは、ドライブの機能の不可欠な部分であるため、通常はシステムアイドル中に自動的に実行されます。SSDは、NAND型フラッシュストレージを管理する高度なコントローラを組み込んでいます。WindowsなどのOSでファイルが削除されると、OS内部のファイルテーブルでそのファイルが削除されたことが記録されるだけです。ハードディスクドライブ(HDD)上では、無効化されたデータはそこに残り、新規データ保存時には直接その上に書き込まれます。最近のOSではTRIMコマンドにも対応しています。OSがSSDに特定のファイルを削除したことを通知し、SSDがよりよくガーベージコレクションをを管理できるようにすることでその領域を早期に復旧させ、無効データの保存や移動を防ぎます。

TRIMとは何か?

TRIMとは、ATA (アドバンスド・テクノロジー・アタッチメント)インタフェース用のコマンドです。OSがSSDに、ファイル削除や、新しい情報用にファイルページを空けることを要求するとき、TRIMがその機能を発揮します。TRIMは、ガーベージコレクションと共に、SSDのクリーンアップと編成を実行してその効率を高めるとともに寿命を延ばします。

Windows 7およびTRIMの登場前は、SSDに保存されたデータの消去・削除を指定する方法がありませんでした。TRIMでは、削除されたファイルに属するページは、コンピュータの次回アイドル時にガーベージコレクションで処理できます。

ただし、TRIMに対応していないOSもあります。Windows 7登場前は、SSDは無効情報を、その位置への新規情報の書き込み命令を受けるまで保持していました。これは速度低下を招くだけでなくドライブ寿命を損なうものでした。その後のすべてのWindowsバージョン(およびOS X Lion以降)では、TRIM対応のSSDで自動的にTRIMを実行するようになっています。

Windows上でTRIMが有効かどうかの確認方法

デスク上でノートPCにタイピングする手、画面にはcmdコマンド
  1. Windows+Xを押し、[検索]をクリックし、検索ボックスにcmdと入力します。
  2. コマンドプロンプトを右クリックし、[管理者として実行]を選択します。
  3. コマンド: fsutil behavior query DisableDeleteNotifyを入力し、Enterキーを押します。

結果がDisableDeleteNotify = 1であれば、TRIMはSSD上で無効になっており、DisableDeleteNotify = 0であれば有効になっています。

Windows上でTRIMを有効化する方法

  1. Windowsアイコンを右クリックし、[検索]を選択して、検索ボックスにcmdと入力します。
  2. コマンドプロンプトを右クリックし、[管理者として実行]を選択します。
  3. fsutil behavior set DisableDeleteNotify 0と入力し、Enterキーを押します。

MacOS 10.10.4以降でのTRIM有効/無効の確認方法

  1. 左上隅のAppleアイコンを選択します。
  2. 次に[このMacについて]をクリックします。
  3. 概要が表示されたら、[システムレポート]を選択します。
  4. 次のように移動します。ハードウェア > SATA/SATA Express
  5. 下へスクロールして[TRIMサポート]をみつけます。値はYesまたはNoです。
  6. 値がNoの場合は、ターミナルウィンドウを開きます。
  7. プロンプトで、sudo trimforce enableと入力します。
  8. Enterキーを押します。
  9. 要求されたらパスワードを入力し、Enterキーを押します。
  10. プロンプトでyを入力し、Enterキーを押します。
  11. 再度yを入力します。システムが再起動します。
  12. 再起動後、ステップ1~5を繰り返して、TRIMが有効になっていることを確認します。

OSX 10.10.3以前の場合は、Chameleon SSD OptimizerまたはCindori Trim Enablerが使用できます。

結論

SSDは、正しくメンテナンスしてはじめてその最高性能を維持します。そのため、ガーベージコレクションとTRIMは、SSDを最適性能レベルに維持するのに重要なプロセスです。Kingstonのドライブでは、ガーベージコレクションとTRIMが自動的に有効化され、Kingston SSD Manager (KSM) アプリケーションを使ってSSDの状態を監視することができます。

#KingstonIsWithYou

関連記事