ストレージ
上級
TRIM コマンド (NVMe Deallocate)(トリム)
OS が SSD に「削除されたデータブロック」を通知するコマンド。Garbage Collection 効率化・寿命延長・性能維持の必須機構。SATA で「TRIM」・NVMe で「Deallocate」。
0 回閲覧
0 いいね
2026/5/15 更新
関連タグ
NAND
ストレージ
SSD
TRIM
概要
TRIM コマンドは2007年Microsoft / Intel が共同提案、2008年Windows 7 で標準対応した、OS がSSD に「削除されたデータブロック」を通知するコマンド。OS のファイル削除 (rm / Delete) ではNAND セルからデータを実際に消去せず、ファイルシステムメタデータ更新のみが行われる。これでは SSD は内部的に「該当ブロックがまだ使用中」と認識・GC効率低下する問題があり、TRIM で根本解決。
TRIM 動作フロー
[OS: ファイル削除 (rm myfile.bin)]
↓
[ファイルシステム: メタデータ更新 + TRIM コマンド送信]
↓
[SSD コントローラ: 該当論理ブロックを「Deallocated」フラグ]
↓
[Garbage Collection: 該当ブロックを「再利用可」として処理]
↓
[Wear Leveling: 自由ブロック増 → 書込分散効率改善]
TRIM の効果
| 影響 | 改善 |
|---|---|
| 書込性能 | 1.5-3倍向上 (空き領域確保) |
| Write Amplification | 0.5-2.0倍改善 |
| 寿命 | 1.5-2倍延長 |
| Latency 一貫性 | 大幅改善 (GC バースト回避) |
規格対応
| インタフェース | コマンド名 |
|---|---|
| SATA (ATA) | TRIM (DSM・Data Set Management) |
| NVMe | Deallocate (Dataset Management) |
| SAS (SCSI) | UNMAP |
| eMMC | DISCARD |
| UFS | UNMAP |
OS / FS 別 TRIM 対応
| OS | TRIM 対応 | 設定 |
|---|---|---|
| Windows 7+ | あり | 自動 (NTFS) |
| Windows 8.1+ | あり | ストレージ最適化 (週次) |
| Windows 10/11 | あり | 自動・最適化スケジューラ |
| macOS 10.6.8+ | あり (Apple 純正のみ) | 自動 |
| macOS 10.10.4+ | サードパーティ可 (trimforce enable) | コマンド要 |
| Linux ext4 | あり | discard mount option / fstrim -av |
| Linux btrfs / xfs / f2fs | あり | 同 |
| Linux ZFS | あり | zpool set autotrim=on |
| FreeBSD | あり | UFS2/ZFS |
Linux 設定
# 即時TRIM (fstrim)
sudo fstrim -av
# /etc/fstab で自動TRIM
UUID=xxx /home ext4 defaults,discard 0 1
# systemd timer で週次自動 (Ubuntu / Debian 標準)
sudo systemctl enable fstrim.timer
sudo systemctl status fstrim.timer
Windows 自動TRIM
Windows 10/11 は「ドライブの最適化」(Defragment ツール) で自動TRIM 設定:
- スケジュール: 週1回 (デフォルト)
- 確認: defrag /A C: (自動分析モード)
- 手動: defrag /L C: (Retrim 強制)
TRIM サポート確認
# Windows
fsutil behavior query DisableDeleteNotify
# 結果 0 = TRIM 有効・1 = 無効
# Linux
sudo hdparm -I /dev/sda | grep -i trim
# "Data Set Management TRIM supported (limit 8 blocks)" → 対応
# Linux NVMe
sudo nvme id-ctrl /dev/nvme0 -H | grep -i deallocate
制限・注意
- RAID 構成 (RAID 0/1/5) では一部のRAIDコントローラが TRIM 非対応
- 古いSSD (2009年以前) では TRIM 未対応・性能劣化早い
- 暗号化ボリューム (LUKS / BitLocker) はallow-discards 設定必要
- HDD は対応不要 (機械的削除なし)
関連用語との違い
- vs Wear Leveling: TRIM は前提・Wear Leveling は結果効率化
- vs Garbage Collection: TRIM が GC 効率化のヒント
- vs Secure Erase: 完全消去 (Secure Erase) / 利用済表示 (TRIM)
FAQ
Q1: TRIM 必要か? A: 必須。無効化するとSSD 寿命 / 性能が長期で大幅劣化。Win 10/11 / macOS は自動・Linux は標準設定。
Q2: SSD で TRIM が効かない症状? A: 連続書込で速度急減・GC バースト中の応答遅延・SMART のFree Block 異常減少。
Q3: SD カード / USB メモリは? A: 一部SD カードは TRIM 対応 (Class 10 / U3 以上)。USB メモリは多くが非対応・SSDに比べ寿命短い。