ノートPC用にIntelのSSDを使っていたのですが、80GBと容量が小さく、いつも空き容量に悩まされていました。今回、思い切って新しいSSDを購入しました。購入したのは、Crucial m4 256GBのSSDです。値段は、京都ソフマップで26,000円くらいでした。2012年2月に購入しているので、今はもっと安いはずです。
それで、導入時に色々悩まされることがあったので、それについてまとめます。
プチフリ?
SSDにWindows 7をインストールしてPCを使用していたところ、一定時間フリーズする現象が多発しました。Windows付属のリソースモニタによると、SSDへのアクセスが100%になり、I/O待ちでフリーズしていると言うことがわかりました。
原因は、IntelのSATAドライバで、LPMという省電力機能が悪さをしているためです。LPMを無効にすることで、このフリーズする問題を解決することができます。
まず、それが原因か確認する方法は、システムログにiaStorのタイムアウトに関するログで確認できます。ログが記録されていれば、LPMが原因でフリーズしています。
LPMは、ポートごとに設定があり、レジストリで設定することができます。レジストリキーは次の通りです。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl\Service\iaStor\Parameters\Port[0-5]\LPM
ポートは、SSDの繋がっているポートを指定します。LPMのデータを、1から0に書き換えることで、LPMを無効化できます。
4KBランダムライトが遅い
ベンチマークを取るとすぐにわかりますが、4KBのランダムライトが遅い時があります。正常な結果の場合は、MLCフラッシュメモリの特性から4KBランラムリードの方が早くなります。
この原因は、パーティションとファイルシステムのアライメントです。このSSDは、内部で4KBセクタで管理しています。アライメントがずれていると、4KBでライトする時に8KBリードとライトが発生し、余計な読書きが発生するためです。
アライメント調整
通常、アライメントはパーティションを作成する時に開始セクタを指定して調整します。しかし、既にデータを入れてしまった場合は、安易にパーティションを削除するわけにはいきません。なので、GPartedというパーティション編集ツールを使って、パーティションを削除せずにアライメントを調整します。
GPartedは、Linuxで動作するフリーのパーティション編集ツールです。ホームページ上で、LiveCDが公開されているので、Linuxが無い環境でも簡単に使うことができます。
アライメント調整の手順
- GPartedを開き、アライメント調整をするパーティションを選択する。
- 右クリックしてメニューからリサイズ/移動を選択する。
- アライメントをMiBにする。
- 開始位置を前後どちらかに1ずらす。
- OKを押して、全ての操作を適用(チェックマークのボタン)を選択する。
パーティションサイズが1MB変化します。適用後にずらす方向を逆にしてもう一度すると戻りますが、1MB未満のパーティションサイズの変化は出ます。
あと、OSが入っているパーティションの場合、起動しなくなることがあります。その場合は、ブートローダを修復することで元に戻ります。Windows 7の場合では、インストールディスクで起動し、コンピュータの修復やスタートアップの修復を選択すると修復することができます。
クラスタサイズの調整
アライメントを調整しても改善されない時があります。また、ベンチマークを取っている時、速い時と遅い時があるといった現象が出ることがあります。
これは、ファイルシステムのクラスタサイズが4KB未満になっているためです。リードとライトは、クラスタサイズ単位で行われる、クラスタサイズが小さいと4KBでアクセスした時、2つのセクタを跨いでしまうことがあります。
クラスタサイズは、フォーマット時に指定することができます。しかし、アライメント調整と同じく、データが入っている場合は、安易にフォーマットできません。ただ、私が探したところ、フリーでデータを維持したままクラスタサイズを変更するソフトを見つけることができませんでした。有料であれば、Acronis Disk Directorを使うことで、変更することができます。(無料でできるソフトがあれば是非教えてください)
まとめ
Crucial m4というSSDを使ったわけですが、癖が強かったです。面倒な人は、4KBセクタじゃないSSDをネットで調べて買う方がいいです。ただ、SSDやHDDの今後の傾向としては、チェックサムを減らすとかで4KBセクタを採用する方向らしいです(WDのAdvanced Format Technologyなど)。こういうのに慣れておくと良いかもしれませんね。