Macの内蔵SSDの読み書きが遅い時の対処方法 Trimコマンド、TrimとOS X®オペレーティングシステム

TrimとOS X®オペレーティングシステム

「Mac®でTrimを有効にする必要があるか」という質問がユーザーからよく寄せられます。OSのリビジョンによっては、これを行うにはサードパーティー製プログラムが必要な場合、またはターミナルのコマンドの入力が必要な場合があります。Crucial® SSDにはガベージコレクションと呼ばれる機能も搭載されています。Trimとガベージコレクションの詳細については、次のリンクをご覧ください。

Trim and SSD Performance: Why is it Important?(TrimとSSDのパフォーマンス:Trimが重要な理由

この動画では、最初にTrimを有効にした場合のベンチマーク、次にTrimを無効にした場合のベンチマークを示します。どちらのケースも若干の速度の変動を感じるかもしれませんが、通常の使用状況では気付かない程度の変動です。

OS Xバージョン10.10.4では、サードパーティ製ソフトウェアを使用しなくても、ターミナルでtrimforceコマンドを使用してTrimを有効化できます。Apple®は、ターミナルでtrimforceコマンドを使用してTrimを有効化することは完全にユーザーの責任になるとしています。ターミナルのtrimforceコマンドを使用してTrimを有効化する場合は、先にデータをバックアップしておくことをお勧めします。ユーザーからの報告では、trimforceコマンドを使用してTrimを有効化すると起動時間が約10秒増加するものの、その他のすべてのシステムはTrimなしの場合と同程度の速度になるとされています。ターミナルを使用してtrimforceを有効化する方法の詳細については、OSのサポート情報を参照してください。

一般にTrimはSSDのパフォーマンスの管理に便利で、多くのデスクトップおよびノートブック環境がこの機能を備えていますが、Trimは必須ではなく、この機能によるパフォーマンスの向上は微々たるものです。Crucial SSDの内部ガベージコレクションアルゴリズムでは、削除されたデータを効果的に管理します。Trimを有効化すべきかどうかの問題への答えはユーザー次第ということになります。インターネットやEメールなどの軽作業にシステムを使用する一般的なユーザーの場合、Crucial SSDのファームウェアに組み込まれているガベージコレクションでおそらく十分に高速かつ正常なSSDの動作を維持できます。画像や動画の編集など、頻繁な書き込みが必要なパワーユーザーの場合は、書き込みワークロードが常時発生するとガベージコレクションの定期的なメンテナンスが常に可能とは限らないため、Trimが役立つ可能性があります。この情報が最適な方法を選択するために役立つことを願っています。

Should I Enable TRIM on a Mac with an SSD?

TrimとSSDのパフォーマンス:Trimが重要な理由

最近、Trimの機能とCrucial® SSDとの関連について複数の問い合わせがありました。Trimとは、要するにデータブロックの再利用を準備することによってSSDの効率を高める機能です。 

Trimとデータブロック

ハードドライブおよびSSDのデータはブロック単位で保存されます。各データブロックには複数ファイルのデータが存在し、必要に応じて分割されている場合があります。たとえば、ユーザーがOS内のファイルを削除すると、ハードドライブではその特定ファイルの情報のみがデータブロックから削除されます。コンピューターのファイルシステムでファイルを削除すると、ブロック上のデータは次にそのブロックが必要になるときまでブロックに保持されます。そのブロックが必要になった時点で、ブロックの該当部分から特定のデータを速やかに削除し、そこに新しいファイルを書き込みます。基本的に、ハードドライブでは、データブロック全体のデータを削除する必要はなく、データブロックの一部から情報を削除することができます。

これに対し、SSDの場合は、再利用する前にデータブロック全体を削除する必要があります。SSDは、データブロックをクリアする際、ブロックのすべての情報のコピーをキャッシュに保存して必要な変更を行います。その後、元のブロックのすべてのデータを削除し、最初に書き込もうとした新しいデータを書き込みます。

このような手順を実行すると、当然、単純に空のブロックにデータを書き込むよりはるかに時間がかかります。これを意識して、SSDでは単純に空のブロックを探してそこに書き込みます。ドライブに空き領域がある間はこれでうまく機能しますが、すべてのブロックがいっぱいになると、ブロックを削除して再利用を始める以外にないので、その場合にはSSDの書き込み速度は低下します。この問題は、Trim(以前に使用したデータブロックのクリアをSSDに指示する機能)で解消できます。Trimを使用すると、SSDのファイルシステムで次にブロックへの書き込みの必要が生じたときにブロックは既に空になっていて、使用する準備ができています。

Crucial SSDとTrim/ガベージコレクション

すべてのOSがTrimをサポートしているとは限らないので、Crucial SSDにはアクティブガベージコレクションと呼ばれる特別な機能が用意されています。アクティブガベージコレクションは、使われなくなったメモリセクターを解放することで、SSDが最適なパフォーマンスを維持できるようにするプロセスです。ガベージコレクションは、SSD自体に組み込まれており、コンピューターのOSには依存しません。ガベージコレクションはSSDのファームウェアの一部であるため、使用されているコンピューターのOSやファイルシステムに関係なく機能します。

注:ガベージコレクションはCrucial SSDがアイドル状態の場合にのみ動作するため、アイドル状態のときにスリープにならないようにシステムを構成してください。ガベージコレクションの処理に時間がかかるとしても、ときどきアイドル状態になる場合には、Crucial SSDは長期間にわたり高レベルのパフォーマンスを維持します。

SSD性能を保つうえでのガーベージコレクション/TRIMプロセスの重要性

SSDテクノロジーの世界では、ガーベージコレクションとTRIMという言葉が多用されていますが、その意味は何なのでしょうか?この記事では、ガーベージコレクション、その使用方法、TRIMコマンドとの関係を見ていきます。

ガーベージコレクションとは何か?

ガーベージコレクションの目的は、ドライブが効率的に動作ひて寿命末期まで性能を維持できるようにするため、定期的に最適化することです。ハードディスクドライブ(HDD)とは異なり、SSDその他のNAND型フラッシュストレージは既存データに上書きできません。プログラム/削除サイクルを経る必要があります。フラッシュメモリはブロックに分割され、ブロックはページに分割されます。データはページレベルで書き込まれ、ブロックレベルで削除されます。データを削除するには、その前に、元のブロックのすべての有効なデータ(ページ)をコピーして新しいブロックの空のページに書き込む必要があります。既に使用中のデータブロックに書き込む場合、SSDコントローラはまずすべての有効データ(使用中のデータ)をコピーして他のブロックの空のページに書き込み、現行ブロックのすべてのセル(有効/無効の両データ)を削除してから、新規に削除したブロックに新しいデータを書き込みます。このプロセスが「ガーベージコレクション」と呼ばれるものです。Kingston®では、独自技術を活用する各種コントローラを使用してガーベージコレクション(GC)を実施します。その目的は、できるだけ多くの空きブロックを維持し、SSDがデータ書き込みをする際にブロック消去を待つ必要をなくすことです。

ガーベージコレクションプロセスは、ドライブの機能の不可欠な部分であるため、通常はシステムアイドル中に自動的に実行されます。SSDは、NAND型フラッシュストレージを管理する高度なコントローラを組み込んでいます。WindowsなどのOSでファイルが削除されると、OS内部のファイルテーブルでそのファイルが削除されたことが記録されるだけです。ハードディスクドライブ(HDD)上では、無効化されたデータはそこに残り、新規データ保存時には直接その上に書き込まれます。最近のOSではTRIMコマンドにも対応しています。OSがSSDに特定のファイルを削除したことを通知し、SSDがよりよくガーベージコレクションをを管理できるようにすることでその領域を早期に復旧させ、無効データの保存や移動を防ぎます。

TRIMとは何か?

TRIMとは、ATA (アドバンスド・テクノロジー・アタッチメント)インタフェース用のコマンドです。OSがSSDに、ファイル削除や、新しい情報用にファイルページを空けることを要求するとき、TRIMがその機能を発揮します。TRIMは、ガーベージコレクションと共に、SSDのクリーンアップと編成を実行してその効率を高めるとともに寿命を延ばします。

Windows 7およびTRIMの登場前は、SSDに保存されたデータの消去・削除を指定する方法がありませんでした。TRIMでは、削除されたファイルに属するページは、コンピュータの次回アイドル時にガーベージコレクションで処理できます。

ただし、TRIMに対応していないOSもあります。Windows 7登場前は、SSDは無効情報を、その位置への新規情報の書き込み命令を受けるまで保持していました。これは速度低下を招くだけでなくドライブ寿命を損なうものでした。その後のすべてのWindowsバージョン(およびOS X Lion以降)では、TRIM対応のSSDで自動的にTRIMを実行するようになっています。

Windows上でTRIMが有効かどうかの確認方法

デスク上でノートPCにタイピングする手、画面にはcmdコマンド

Windows+Xを押し、[検索]をクリックし、検索ボックスにcmdと入力します。

コマンドプロンプトを右クリックし、[管理者として実行]を選択します。

コマンド: fsutil behavior query DisableDeleteNotifyを入力し、Enterキーを押します。

結果がDisableDeleteNotify = 1であれば、TRIMはSSD上で無効になっており、DisableDeleteNotify = 0であれば有効になっています。

Windows上でTRIMを有効化する方法

Windowsアイコンを右クリックし、[検索]を選択して、検索ボックスにcmdと入力します。

コマンドプロンプトを右クリックし、[管理者として実行]を選択します。

fsutil behavior set DisableDeleteNotify 0と入力し、Enterキーを押します。

MacOS 10.10.4以降でのTRIM有効/無効の確認方法

左上隅のAppleアイコンを選択します。

次に[このMacについて]をクリックします。

概要が表示されたら、[システムレポート]を選択します。

次のように移動します。ハードウェア > SATA/SATA Express

下へスクロールして[TRIMサポート]をみつけます。値はYesまたはNoです。

値がNoの場合は、ターミナルウィンドウを開きます。

プロンプトで、sudo trimforce enableと入力します。

Enterキーを押します。

要求されたらパスワードを入力し、Enterキーを押します。

プロンプトでyを入力し、Enterキーを押します。

再度yを入力します。システムが再起動します。

再起動後、ステップ1~5を繰り返して、TRIMが有効になっていることを確認します。

OSX 10.10.3以前の場合は、Chameleon SSD OptimizerまたはCindori Trim Enablerが使用できます。

Macの内蔵SSDの読み書きが遅い時の対処方法 Trimコマンド

突如MacのSSDの読み書きが遅くなってしまった場合の対処方法をお伝えします。

まず、SSDは容量が不足すると激おそになります。

なので容量が不足している(例90%以上使用している)場合は、データを他の外付けストレージに逃すなどしましょう。

SSDの読み書きの調子を見る方法

blackmagic disk speed testというアプリを使います。

AppStoreからダウンロードしましょう。無料で使えて便利です。

起動して、何も考えずにStartボタンをクリックすると内蔵ストレージについて読み書きのチェックをしてくれます。

M.2 SSDなどは5000から6000MB/sくらい。

2.5インチのSSDはUSB接続とかでも500MB/sくらいですね。

今回の読み書き不調の場合は、何度かこれをやっているうちに

読み書きが著しく低下する場合が確認できます。

その場合は、以下の対応を試してください。

Trimコマンドの確認方法

使用容量に余裕があって問題がない場合は以下のTrimコマンドが有効になっているかを確認してください。

念のため全ての外付けストレージを外してください。

「システム情報」アプリを起動します。

システム情報は、アプリケーション→ユーティリティにあります。

Launchpadからの起動の方が便利。

内蔵SSDの種類によって確認場所が異なります。

最近のM.2などの薄いSSDの場合は、「NVMExpress」の項目を見ます。

少し前のiMacやMacBookProなどに使われていた2.5インチのSSDなどは、

SATAの項目を確認してください。

「Trim対応」の項目が「いいえ」の場合はTrimコマンドが有効になっていません。

有効にする方法は以下の通りです

Trimコマンドを有効にする方法

sudo trimforce enable

上記コマンドをターミナルから打ち込んでください。

パスワードが聞かれますので、Macにログインする時のパスワードを打ち込みます。

再起動がかかるので注意です。

コマンドが正常に終了したら、もう一度システム設定からTrimが「はい」に変わったか確認してください。

SSDの速度低下を防ぐTrimコマンドとは

Trimコマンドの有効性について

Trimコマンドは、SSD(Solid State Drive)のパフォーマンスを最適化するための重要な機能です。Trimコマンドがない場合、SSDの速度が低下する理由を以下で説明します。

SSDは、データを保存する際にブロックと呼ばれる小さなセグメントにデータを格納します。このデータの格納は、最初は高速で行われますが、データが削除されるときに問題が発生します。SSDは、データを削除する際に、そのデータが格納されていたブロックを物理的に消去しないで、論理的には削除されたとマークすることがあります。これによって、ブロックの再利用が高速に行えるためです。

しかし、これによって問題が発生します。削除されたデータが論理的には削除されたとされているため、次のデータを書き込む際に、新しいデータを書き込む前に既存のデータを完全に削除する必要があります。このプロセスは「ガーベジコレクション」と呼ばれ、データの書き込み速度を低下させる要因となります。データを書き込む前に、まず既存のデータを削除するため、書き込み処理が遅くなります。

ここでTrimコマンドが重要な役割を果たします。Trimコマンドは、OSが削除されたデータの情報をSSDに送信し、そのデータが論理的には削除されていることを通知します。これによって、SSDはガーベジコレクションを効率的に実行し、新しいデータを書き込む際にブロックを事前にクリアできるようになります。結果として、データの書き込み速度が低下せず、SSDのパフォーマンスが最適化されます。

つまり、TrimコマンドはSSDの劣化を防ぎ、ガーベジコレクションによる速度低下を軽減するための重要な役割を果たすことで、SSDの速度低下を防ぐのです。

🍎たったひとつの真実見抜く、見た目は大人、頭脳は子供、その名は名馬鹿ヒカル!🍏