概要
SSD(Solid State Drive)における「トリミング(TRIM)」とは、OS(オペレーティングシステム)がSSDのコントローラーに対し、「どのデータブロックが不要になったか」を通知するためのコマンドのことです。
一見すると、ファイルの削除は単に「インデックスから消去するだけ」で完了するように見えますが、SSDの内部構造であるNANDフラッシュメモリには、HDD(ハードディスクドライブ)とは根本的に異なる特性があります。HDDは磁気ディスク上のデータを直接上書きできますが、SSDは「書き込み(Program)」はページ単位で行うのに対し、「消去(Erase)」はより大きな単位であるブロック単位でしか行えないという制約があります。
具体的に説明すると、SSD内部では以下のようなプロセスでデータが管理されています。
もしトリミングが機能していない場合、SSDコントローラーは実際にその領域に書き込みを行おうとするまで、そのデータが不要であることを知りません。その結果、書き込み時に「古いデータの移動」と「消去」を同時に行うことになり、書き込み速度が劇的に低下します。トリミングはこの通知を事前に行うことで、SSDがバックグラウンドで「ガベージコレクション(不要領域の整理)」を効率的に行えるようにし、常にクリーンな空き領域を確保させる仕組みです。
トリミングが不可欠な最大の理由は、「ライトアンプリフィケーション(Write Amplification:書き込み増幅)」の抑制と、パフォーマンスの維持にあります。
SSDでは、データの消去単位(ブロック)が書き込み単位(ページ)よりも大きいため、必要なデータだけを残して不要なデータを消去する場合、有効なデータを別の場所にコピーし、元のブロック全体を消去するという手間が発生します。これを「ガベージコレクション」と呼びます。
トリミングがない環境では、コントローラーは「どのページが有効で、どれが無効か」を判断できず、不要なデータまで律儀にコピーし続けてしまいます。これにより、ユーザーが1GBのデータを書き込んだ際に、内部的に2GBや3GB分の書き込みが発生するという現象が起きます。これが「書き込み増幅」です。
トリミングが効いていないSSDでは、空き容量が少なくなればなるほど、書き込み速度が著しく低下します。例えば、最新のPCIe 4.0対応モデルである Samsung 990 Pro のような製品であっても、トリミングが機能せず、内部的に「汚れた(Dirty)」状態になると、本来のシーケンシャル書き込み速度(最大 6,900 MB/s)から、数百MB/sまで落ち込む可能性があります。
NANDフラッシュメモリには書き換え回数の上限があります。書き込み増幅(WAF)が増えるということは、物理的な摩耗が早まることを意味します。製品スペックに記載されている TBW (Total Bytes Written)、例えば WD Black SN850X 2TB モデルのような高耐久製品であっても、トリミングを無効にして運用すれば、理論上の寿命に到達するまでの時間が大幅に短縮されてしまいます。
2024年から2025年、そして2026年にかけて、SSDの規格はPCIe 4.0からPCIe 5.0、さらには次世代のPCIe 6.0へと移行していきます。転送速度が極限まで高まる中で、トリミングの重要性はさらに増しています。
最新の Crucial T705 のようなPCIe 5.0 SSDは、読込速度が最大 14,500 MB/s、書込速度が 12,700 MB/s という驚異的なスペックを誇ります。しかし、これほどの超高速転送を実現するためには、コントローラーが極めて効率的に空きブロックを管理しなければなりません。トリミングの遅延は、この超高速帯域を完全に殺してしまうボトルネックとなります。
最近では Sabrent Rocket 4 Plus 4TB のように、コンシューマー向けでも4TB以上の大容量モデルが一般的になっています。容量が増えれば増えるほど、管理すべきブロック数が増加し、ガベージコレクションの計算負荷が高まります。最新のコントローラーは、AIに近い最適化アルゴリズムを用いて、トリミング通知を効率的に処理し、電力消費(最大 10W 程度のピーク消費電力)を抑えつつパフォーマンスを維持する設計へと進化しています。
Kioxia Exceria Pro などで採用されている176層以上の3D NAND構造では、セル間の干渉を防ぎつつ高速に消去を行う必要があります。次世代の200層超えNANDでは、物理的な消去時間が短縮される傾向にありますが、それでも論理的なトリミング通知がなければ、ハードウェアの性能を100%引き出すことは不可能です。
現代の主要なOSは、標準でSSDトリミングをサポートしています。しかし、設定状況によっては最適に動作していない場合があります。
Windows 10および11では、「ドライブの最適化」機能を通じてトリミングが自動的に実行されます。
Linuxでは、マウントオプションの discard を使用してリアルタイムにトリミングを行うか、fstrim コマンドを用いて定期的に一括処理を行う方法があります。
discard オプションを付けると、ファイル削除のたびにTRIMが飛びますが、一部の古いSSDではシステム全体のレイテンシが増加することがあります。systemd-timer などを用いて、週に一度 fstrim -av を実行するのが現在の主流な推奨設定です。macOSはAPFS(Apple File System)の導入以降、SSDトリミングを完全に自動管理しています。ユーザーが意識して設定を変更する必要はなく、OSがバックグラウンドで最適なタイミングでTRIMを送信しています。
| 項目 | トリミング有効(最適) | トリミング無効(劣化状態) | 備考 |
|---|---|---|---|
| 書き込み速度 | 定格スペックを維持(例: 7,000MB/s) | 著しく低下(例: 500MB/s以下) | 空き容量が少ないほど顕著 |
| WAF (書き込み増幅) | 低い (1.0に近い) | 高い (2.0〜4.0以上) | 寿命に直結する数値 |
| レスポンス | 一定の低レイテンシを維持 | 書き込み時にスパイク(遅延)が発生 | OSの挙動に影響 |
| NAND寿命 | ウェアレベリングが最適に機能 | 特定ブロックへの負荷が増加し劣化 | TBWの消費が早まる |
| 管理負荷 | バックグラウンドで効率的に処理 | 書き込み時に同期的に消去が発生 | 体感速度の低下原因 |
トリミングを有効にする以外にも、SSDの健康状態と速度を維持するためのテクニックがいくつかあります。
オーバープロビジョニングとは、SSDの全容量のうち、ユーザーがアクセスできない「予備領域」を意図的に確保することです。
SSDは容量がいっぱいになると、トリミングの効果が薄れます。移動させるデータが少なすぎるため、ガベージコレクションの効率が極端に落ちるからです。
最新のNVMe SSDは、動作電圧 3.3V または 1.43V(一部の低電圧規格)などで動作していますが、省電力モード(APST/DevDslp)からの復帰時にトリミング処理が滞るケースが稀にあります。不安定な場合は、電源プランを「高パフォーマンス」に設定することを検討してください。
Q1: SSDをデフラグしても大丈夫ですか? A: 絶対に避けてください。HDD向けのデフラグはデータを物理的に並べ替えて連続アクセスを高速化するものですが、SSDには物理的なヘッドがないため、並べ替えのメリットがありません。逆に、大量の書き込みが発生するため、寿命を縮めるだけになります。Windowsの「最適化」ツールが自動的にTRIMコマンドに切り替えてくれますが、サードパーティ製の古いデフラグソフトを使用するのは危険です。
Q2: トリミングをすると、削除したデータの復旧ができなくなりますか? A: はい、その通りです。トリミングが実行されると、OSが「不要」と判断したデータブロックが物理的に消去されるため、市販のデータ復旧ソフトを使ってもデータを救出することがほぼ不可能になります。重要なデータを誤って削除し、すぐに復旧させたい場合は、速やかにPCの電源を切る(トリミングが走るのを防ぐ)ことが最優先となります。
Q3: 外付けSSD(USB接続)でもトリミングは効きますか? A: 製品と接続規格によります。USB接続の場合、USB-SATA変換チップやUSB-NVMe変換チップが「UASP (USB Attached SCSI Protocol)」に対応しており、かつOS側がUSB経由のTRIMコマンドをサポートしている必要があります。最近の最新製品(2024-2025年モデル)の多くは対応していますが、古い外付けケースを使用している場合は機能していない可能性が高いため、注意が必要です。