SSDのTrim
最終更新日
2023年09月07日
SSDのTrimとは
基礎
SSDのTrimとは、削除してもよいデータの存在場所をOSからSSDに通知する機能です。HDDに限らずSSDでも、データの存在場所をアドレスを利用し管理します。OSを操作しデータを削除すると、アドレス管理上においては削除としますが、SSD上ではデータを削除しておらず残ります。これがゴミ箱からデータを削除しても復元できる理由です。データを建物に例えて説明すると、地図上では建物を削除としたが、実際にはまだ建物が残っているイメージです。
SSD上でもデータを削除したいところですが、SSDのみではどのデータがアドレス管理上において削除したのかわかりません。それがわかるように情報をOSからSSDに通知する機能がTrimです。
GC
GCとはGarbage Collection(ガベージコレクション)の略であり、SSD上のデータの整理や削除する機能です。TrimとGCは異なる機能です。OSがTrim実行後に通知を受け取ったSSDは、GCを実行しデータを整理し削除します。Trim通知を受け取り後、直ちにGCを実行するとは限りません。Trim通知を受け取っていなくても、必要に応じてGCを実行する場合もあります。GCが行うデータの整理と削除する処理の流れ
SSDはページ単位でデータ書き込み可能です。複数のページをまとめた単位がブロックであり、ブロック単位でデータ削除可能です。GCでは、SSD上から削除してもよいデータなのか残すデータなのか管理し、残すデータを移動し整理します。特定のブロックに残すデータを集め、別の特定ブロックに削除してもよいデータのみにし、そのブロックのデータを削除します。例えばブロックAにある残すデータ1、残すデータ2をブロックBの空きページに移動します。ブロック単位でデータ削除可能なので、データを移動しないとブロックAにある削除してもよいデータを削除できません。削除してもよいデータはOSを操作して削除になったデータとは限りません。SSDではデータの上書きができないため、データを更新すると空きページに更新後のデータを書き込み、更新前のデータは削除してもよいデータになります。
ブロックA | ブロックB |
---|---|
削除してもよいデータ | 残すデータ |
削除してもよいデータ | 残すデータ |
残すデータ1 | 残すデータ |
削除してもよいデータ | 空きページ |
削除してもよいデータ | 空きページ |
残すデータ1 | 空きページ |
削除してもよいデータ | 空きページ |
ブロックAにある残すデータ1、残すデータ2が削除してもよいデータになり、ブロックAのデータを削除できます。削除後はブロックAのページが全て空きページになりデータを書き込めます。削除してもよいデータが残っているとデータを書き込めません。
ブロックA | ブロックB |
---|---|
削除してもよいデータ | 残すデータ |
削除してもよいデータ | 残すデータ |
削除してもよいデータ | 残すデータ |
削除してもよいデータ | 残すデータ1 |
削除してもよいデータ | 残すデータ2 |
削除してもよいデータ | 空きページ |
削除してもよいデータ | 空きページ |
TrimやGCによりデータ書き込み速度の低下を抑えられる
HDDではデータを削除していない領域にデータを書き込むには上書きすれば済みます。SSDでは上書きができません。まだ削除しておらず残っているデータを削除する処理を実行しないとデータを書き込めません。GCが行うデータの整理と削除する処理と同様の処理が発生し、データ書き込み速度が体感できるほど低下します。そこで定期的にTrimやGCを実行しデータを削除しておくことで、データ書き込み速度の低下を抑えられます。データ書き込み速度の低下が深刻な問題になるので、SSDにとってTrimやGCは対応必須な機能ですが、2016年3月頃に確認した時点では標準対応しています。
SSDのTrimとOS
OSの対応状況
SSDがTrimに対応でも、OSがTrimに非対応だとTrimを利用できません。WindowsではWindows 7からTrimに対応です。Mac OS Xでは、v10.7(Lion)からTrimに対応です。Windows 7より前のWindows VistaやWindows XPではTrimを利用できないわけではなく、専用ソフトウェアを導入すると利用できます。OSがTrim非対応でも実行できる
OSがTrimに非対応でも、OS上で動くTrim対応ソフトウェアがあればTrimを利用できます。例えば「インテルSSDオプティマイザー」というソフトウェアを導入すると、Windows XPやWindows VistaでもTrimを利用できます。ただし、インテルのSSDの中でインテルSSDオプティマイザーに対応のSSDが必要です。
「Samsung SSD Magician」というソフトウェアを導入すると、Windows XPやWindows VistaでTrimを利用できます。ただし、SamsungのSSDの中でSamsung SSD Magicianに対応のSSDが必要です。
Windows 7でトリムを手動実行する方法
Windows 7がトリムに対応していてもユーザーによる手動実行には対応していません。例えばTxBENCHと呼ぶソフトウェアを使用すると、ユーザーがトリムを手動実行できます。出典
・SSDの性能を維持するためのメンテナンス術 - AKIBA PC Hotline!(2016/03/14公開記事)
Windows 8以降ではドライブの最適化を定期的に自動実行がデフォルト設定
Windows 7以降ではごみ箱からファイルを削除した等のタイミングでTrimコマンドを発行します。しかし、SSDの処理状況によってはSSDがTrimの処理を行いません。そのため、Windows 8以降ではドライブの最適化を定期的に自動実行するがデフォルト設定です。デフォルト設定では毎週ですが、毎日や毎月に変更できます。自動実行しないようにする変更もできます。Windows 8.1、Windows 10でも同じですが、後に変わる可能性があります。出典
・SSDの導入や書き換えによる劣化を防ぐテクニック 〜SSD設定&メンテナンス 1〜 - AKIBA PC Hotline!(2016/09/07公開記事)
SSDのTrimとインターフェース
IDE
Windows標準のTrimはWindows 7から対応しましたが、そのTrimがAHCIではなくIDEだと働かないという報告を見聞きしました。原則的には働き、例外的に働かない場合があると思われますが、働かない条件とは何か不明です。某SSDメーカーの人に聞いてみたところ、自社SSDに関してはIDEでも働くことを確認済みだが、SSDがTrimに対応していてもコントローラーによってはIDEだと働かない可能性があり、他社SSDではIDEだと働かない場合があるかもしれないそうです。
PCI Express
Windows 7が登場後しばらくは、SSDがPCI Express接続だとWindowsが実行するTrimを利用できませんでした。それでもTrim対応ソフトウェアであれば利用できました。その後にWindows 7の更新によってTrimに関する仕様変更が行われ、利用できるようになりました。Windows 7の後継のWindows 8では標準対応しており、Windows 10も同様です。
USB
Windows標準のTrimはWindows 7から対応しましたが、USB接続のSSDに対しては利用できませんでした。Windows 7でもTrim対応ソフトウェアであれば利用可能でした。Windows 8以降では利用可能です。SSDのTrimとRAID
RAIDを構築するにはハードウェアRAIDかソフトウェアRAIDを使用しますが、これらがTrim対応だとRAIDでTrimを利用可能です。
例えば、ソフトウェアRAIDの機能があるIRST(Intel Rapid Storage Technology)を利用し、かつIRSTのドライバが11以降であれば、RAIDでTrimを利用可能です。ただし、RAIDレベルに制限があり、RAID 0であればTrimを利用可能です(2016/08/22時点)。
例えば、ソフトウェアRAIDの機能があるIRST(Intel Rapid Storage Technology)を利用し、かつIRSTのドライバが11以降であれば、RAIDでTrimを利用可能です。ただし、RAIDレベルに制限があり、RAID 0であればTrimを利用可能です(2016/08/22時点)。
SSDのTrim実行タイミング
主なタイミング
ファイルの移動を行う、ごみ箱からファイルを削除する、デフラグを実行する、パーティションをフォーマットする等、以上のタイミングでTrimが実行される場合があります。必ずTrimも実行されるとは限らず、例えばファイルの移動や削除の後に様々なデータ読み書き処理が発生しているとTrimが実行されない場合があります。特に何も操作を行っていなくても定期的にTrimが実行される場合があります。Trimの実行タイミングは、OSやSSDの使い方等によって違います。プロトコル・アナライザー使用で判明したタイミング
プロトコル・アナライザーを使用し信号を解析したところ、ごみ箱を空にする、通常のフォーマットする、クイックフォーマットする、パーティションを作成する、パーティションを削除する、以上のタイミングでTrimの実行を確認しました。あらゆる条件で確認が困難であり、条件によっては上記のタイミングでもTrimが未実行の場合がある可能性があります。手動実行
Trimを実質手動実行する方法があります。例えばWindows 10ではドライブの最適化を実行するとTrimを実行します。コラム
低下したデータ書き込み速度を回復させる方法がTrim以外にもある
SSDに対しSecure Eraseを実行するとSSDの全データを消去します。工場出荷時の状態と同じようにデータが書き込まれていない状態になります。これで低下したデータ書き込み速度が回復します。ただし、SSDの全データが消去となります。それでもSecure Eraseを実行するとしても、SSDがSecure Eraseに対応している必要があります。Secure Eraseの実行ができるソフトウェアも必要です。SSDの空き領域をデフラグする方法もあります。これならSSDのデータを消去しません。ただし、Secure Eraseと比べると効果が落ちます。SSDに様々なモデルがありますが、効果の大きさがモデルによって異なります。
出典
・SSDの性能低下とTrimの効き具合を大検証! | SSDパーフェクトガイド | DOS/V POWER REPORT(2010年5月号)
キャンペーン情報(PR) |
---|
マウスコンピューター
・オータムセール 最大50,000円OFF (10月9日迄) DELL ・今週のおすすめ製品 対象製品が特別価格でお買い得 (キャンペーン実施中) パソコン工房 ・決算セール セール対象BTOパソコン最大55,000円OFF (10月1日迄) |