SSDの速度低下を抑制する「Trim」コマンドを調べてみる

沿って : Ilikephone / On : 08/03/2023

「Windows 10ミニTips」は各回の作成時点で最新のWindows 10環境を使用しています。

SSDをメインストレージとするPC環境が増えているが、SSDには使用時間とともに速度が低下する性質があり、これを回避するのがTrimコマンドだ。Windows 10では特に意識する必要はないが、Windows 10 Insider Previewで興味深い変化が加わった。今回は少々難しくなるが、その変化を紹介したい。

Trimコマンドとは

SSD上でファイルやフォルダーを削除しても、データそのものは残っている。Windows 10のごみ箱とはまた別に、SSD上で「削除マーク」が付けられるだけだ。この状態でTrimコマンドが発行されると、削除マークが付いた領域のデータも本当に消去される。すると、次回の書き込み時に、「古いデータの消去」→「新しいデータの書き込み」という手順を踏まずに、新しいデータを直接書き込めるため、速度の低下を抑制できるわけだ(SSDは古いデータが存在する領域に新しいデータを「上書き」できない。本来はもっと複雑だが、ここでは詳しく触れない)。

Trimコマンドは、OSレベルではWindows 7からサポートを開始し、Windows 10にいたるまで改善を続けている。メンテナンス機能である「ドライブの最適化」も、SSDに対しては一定の頻度でTrimコマンドを実行する仕組みだ。

ドライブのプロパティダイアログに並ぶ「ツール」タブから起動可能な「ドライブの最適化」。SSDはデフラグではなくTrimコマンドを実行

こちらをコマンドラインから確認するには、管理者権限でコマンドプロンプトを起動し、「fsutil behavior query disabledeletenotify」というコマンドを実行すればよい。

SSDの速度低下を抑制する「Trim」コマンドを調べてみる

「Win」+「X」キーを押すなどしてクイックアクセスメニューを開き、「A」キーを押すか<コマンドプロンプト(管理者)>をクリック/タップ

コマンドラインに「fsutil behavior query disabledeletenotify」と入力して「Enter」キーを押す。ここで示された数値がSSDのサポート状況だ

上図では「NTFS DisableDeleteNotify」の値が「0」だが、これはSSDがTrimコマンドに対応していることを示している。値が「1」の場合はTrimコマンドが無効となり、「NTFS DisableDeleteNotify is not currently set」というメッセージが帰ってきた場合は、Trimコマンドが現時点で無効な状態だが有効にできる。

Trimコマンドを有効にするには「fsutil behavior set disabledeletenotify NTFS 0」と実行すればよい。

次期Windows 10(Redstone)はReFSをサポート?

この確認コマンドをWindows 10 Insider Previewで実行すると、様子が異なる。下図はWindows 10 Insider Preview ビルド14279で試した状態だが、ReFSに関する設定情報が示される。

Windows 10 Insider Preview 14279で確認した状態。NTFSだけではなくReFSに対するメッセージが加わる

筆者は約1カ月前からこの変化を確認しているため、ビルド14257あたりから加わったと思われるが、「Redstone」の名称で開発が進んでいる次期大型アップデートでは、ReFSの正式サポートが行われる可能性が高まった。

ReFSは「Resilient File System」の略で、Windows Server 2012からサポートを開始した新しいファイルシステムだ。NTFSでは対応できなくなった要求に応えるため、信頼性や拡張性などを高めている。簡単にいうと、データ破損の可能性が大幅に減るが、NTFSの圧縮機能などは取り除かれる。Microsoftの正式なアナウンスが行われたときに、Tipsとして紹介したい。

阿久津良和(Cactus)