Vertex Firmware 1.4におけるTrimの効果の確認

Trimコマンドが送信される条件について

Windows 7では、OSが不要だと判断したディスク領域をSSDに通知する"Trim"というコマンドが実装されました。昨今のDRAMを搭載したSSDは、小さなサイズ(おそらく数十KB)でのアドレス変換を行い、ランダムライト性能を向上させています。その代償として、ランダムライトを繰り返すとSSDの性能低下が発生してしまいます。性能低下は「ガベージコレクション」という処理を行うことで回復できますが、Trimコマンドはそのガベージコレクションを補助する仕組みと言えます。
Trimコマンドを利用するには、OSとSSD双方の対応が必要となります。現在のところ、TrimをサポートするOSはWindows 7のみ、SSDの方はIntel X-25M G2シリーズ、Indilinx Barefootコントローラ搭載製品のみとなっています。さらに、いずれのSSDも最新のファームウェアにアップデートする必要があります。X-25M G2シリーズはファームウェア02HA、OCZ Vertexシリーズではファームウェア1.4、OCZ以外のBarefootコントローラ搭載製品ではファームウェア1819が必要です。
さらに、Windows 7でTrimコマンドを有効にするには、SATAモードをAHCIにし、Windows 7標準のドライバを使用する必要があります。すなわち、Intel Matrix Storage Managerや、AMDAHCI/RAIDドライバなどをインストールすると、Trimコマンドは送信されません。もちろん、RAIDも対象外です。
なお、Trimコマンドが送信されるタイミングは、「ファイルを削除したとき」「パーティションを作成したとき(クイックフォーマットでもOK)」に限られるようです。デフラグするとどうなるかは不明です。

OCZ VertexにおけるTrimの効果

X-25MのTrimの効果は、AnandTechの記事PC Perspectiveの記事においてすでに実証されています。そこで、今回はOCZ Vertexの30GBモデルを用いてTrimの効果を検証してみました。
まず、sanitary_eraseを実行した直後でのHD Tune ProのWriteテストの結果です。Test Sizeは8MB、Most Accurateの設定です。

次に、Iometerを用いてランダムライトをしばらく行った後の結果です。非常に性能が低下しています。

次に、パーティションをクイックフォーマットで作成し、すぐに削除してもう一度HD Tune ProのWriteテストを行った結果が以下です。

ほぼ完全に性能が元に戻りました。

Intel Matrix Storage Manager(IMSM)をインストールすると…

IMSMをインストールして同じ実験を行ってみました。
パーティション作成→削除後の結果が以下です。

やはり、事前情報通りIntel Matrix Storage ManagerをインストールしているとTrimコマンドは送信されないようです。*1
なお、VistaAHCIドライバよりIMSMの方が性能が高いようですが、以下のCrystalDiskMarkの結果に見られるように、Windows 7AHCIドライバとIMSMではほとんど差がないようです。HD Tuneでもほとんど性能差は見られません。

また、アキハバラ自腹日記 Part3.0さんの記事では、X-25M G2についても、IMSMとWindows 7標準ドライバの間にはほとんど差がないことが示されています。
よって、Trimに対応しているSSDを利用していて、かつRAIDを使わない場合では、IMSMをインストールする必要はないでしょう。また、IMSMをインストールしていても、Intel SSD Toolboxやwiper.exeを使用することは可能です*2。Trimの方がよりスマートなのは間違いありませんが、これらのツールをスケジュール実行させれば、性能劣化を防ぐことは可能です。

*1:Windows 7標準ドライバの劣化時より性能が下がっていますが、これはWindows 7標準ドライバのテスト時のランダムライトを行う時間が短かったためです

*2:wiperは64bitOSでは不具合があり、データが失われる場合があるようなので、使用は避けた方がよいでしょう