Mac で SSD の TRIM 有効化

Mac OS X での SSD の TRIM 有効化についてまとめます。

TRIMとは

TRIM という単語の意味は,「刈り取る」,「切り取る」,「削減する」などで,トリミングという言葉には馴染みがあるかと思います。HDD はデータを書き込む際,書き込もうとする場所に既にデータがあっても,その場所に新しくデータを上書きすることができます。しかし,SSD はその仕組み上,データを書き込む際に書き込もうとする場所に既にデータがあった場合,HDDのように直接データを上書きすることはできず,その場所に既にあったデータを一度削除してから,書き込まないといけません。よって,HDDよりも書き込みに擁する手順が増えるわけです。

以前のようなHDDのみを対象とした OS では,論理的な各ファイルが物理的なHDDのディスク上のどこにあるかという対応関係のみがわかっていれば,ファイルをゴミ箱から消去した時点で,そのファイルが存在していたディスク上の物理的な場所は,空きスペースとして次から新しいデータを書き込める状態にありました。つまり,OS上で論理的にファイルを消してしまえば,物理的にHDDに書き込まれているそのファイルの情報は消さなくても問題ありませんでした。

しかし,SSDはOS上から論理的にファイルが削除されても,物理的なSSD上にはそのファイルのデータが残っているため,次にその領域を使おうとしたときに,そのデータを一旦消す必要があります。そのために,長期間使用していると,OS上で論理的に消したけど,SSD上に物理的に残っている残骸データが増えていき,書き込み速度が遅くなっていってしまいます。

TRIM はこの書き込み性能の低下を改善するために,OS上でファイルのゴミ箱から消去など不要になったデータの場所をSSDに通知し,次にその場所を使う前に,そのデータを削除する機能です。この機能によって、ドライブの互換性、耐久性、パフォーマンスが向上します。この TRIM を有効にするには OS と SSD がどちらも対応している必要があります。

 Mac における TRIM

Mac OS X は Windows 7 と同じく,OS で公式に TRIM に対応しています。しかし,この TRIM 機能は Apple 純正の SSD しかサポートしていません。すなわち,購入後で自分で換装したサードパーティ製のSSDはTRIM機能が有効にはなりません。よって自分でSSD に換装した場合は,TRIM 機能を有効にするために,「Trim Enabler」というサードパーティ製のアプリケーションを用いる必要があります。

2015/5/4 追記

本記事で紹介している「Trim Enabler」ですが、 Yosemite 以降のバージョンで利用する場合には、注意が必要になっています。詳細は公式サイトこちらのサイトで解説されていますが、Trim Enabler は Trim を有効化するために、Yosemite で追加された「kext signing」という機能を無効化するらしいです。kext signing はサードパーティ製のドライバーを安全か検証する機能であるため、kext signing を無効化すること自体は、自身でインストールするドライバーが安全かどうか注意すればよいので、自己管理できていればそこまで問題ではありません。しかし、kext signing の有効/無効の設定はNVRAM/PRAMに保存されるため、Trim Enabler を有効化した状態で、NVRAM/PRAM のリセット(初期化)がかかると、Trim Enaber は有効化、kext signing も有効かという矛盾が生じるため、起動時に起動できないといった問題が発生する可能性があるそうです。

もし、Yosemite で Trim Enabler を利用する方はNVRAM/PRAMをリセットしないように注意してください。なお、もし起動しなくなった場合の対処方法は公式サイトのページ下部で紹介されているので、参考にしてください。

2018/4/30 追記

長らく本記事を放置してしまっていましたが、現行の「Trim Enabler」は上記の「kext signing」の無効化は行わず、安全性があがっているようです。また、「Trim Enabler」にヘルスチェック機能やベンチマーク機能が搭載される等、Trim の有効化だけでなく、より使いやすいソフトウェアになっています。現行の mac OS High Sierra でも問題なく動作しています。

Trim Enabler のインストール

Trim Enabler のアプリケーションファイルを公式サイトよりダウンロードします。ページ中央のリンクから dmg ファイルをダウンロードしましょう。

ダウンロードが完了したら,「TrimEnabler.dmg」をダブルクリックして,マウントします。その後,標準的なのアプリケーションのインストールと同じく,「Trim Enabler.app」をアプリケーションフォルダにコピーします。

以上でインストールできました。

TRIM の有効化

まず,TRIM を有効化する前は,SSDを認識していても,TRIM サポートがオフになっています。

1. Launchpad かアプリケーションフォルダから,「Trim Enabler」を起動します。この段階では TRIM のスイッチが「Off」になっています。

2. TRIM のスイッチを「On」にします。スイッチを「On」にすると,管理者アカウントでロックの解除を求められるので,管理者のアカウント名とパスワードを入力してください。スイッチが「On」になったら,再起動して,TRIM を有効化してください。※再起動しなければ TRIM 機能が有効になりません。

また、以下のような画像が表示された場合は、システム環境設定の「セキュリティとプライバシー」の「一般」タブから Trim Enabler の実行を許可してください。

3. 再起動後,もう一度「Trim Enabler」を起動し,スイッチが「On」になっていることを確認。

4. 画面左上のアップルマークをクリックし,「この Mac について」→「詳しい情報」→「システムレポート」→「シリアル ATA」の項目を見て,TRIM サポートが有効になっていることを確認します。

以上で,Mac OS X で自分でサードパーティ製 SSD に換装した場合の TRIM 機能の有効化ができました。

私の環境では TRIM を有効化することで,書き込みスピードが 10MB/s 程度向上しました。速度向上はそこまでないですが,耐久性や安定性が向上するので,自分で SSD を換装した人は,TRIM の有効化をしましょう。