SSブログ

SSDとTrimについて [自作PC]

知り合いがSSDを買ってしまったので、今更ではあるが、SSDを利用することの是非についてある程度まとめてみようと思う。

前提から書いていく

●ファイルシステム
 1バイト単位で処理される。ビット単位の処理はない。
 パソコンにおける最小単位は1ビットだが、ファイルとしての保存は8ビット=1バイト単位である。
 本来バイトという単位は1文字を指す言葉で、8ビットを指す言葉ではなかったが、IBMがPC/ATで8ビットを1バイトとして処理するようになって以来、デファクトスタンダードとなっている。(らしい)
 http://ja.wikipedia.org/wiki/%E3%83%90%E3%82%A4%E3%83%88_(%E6%83%85%E5%A0%B1)

●ディスク装置
 HDD装置は512バイトが最小単位。この512バイトのことをセクタやブロックと呼ばれる。
 SSDもHDDとの互換性のため見かけ上512バイト単位になっている。

●HDDと比較した場合のSSDの特性
・読み書き回数がHDDに比べて異常に少ない。
 このため、3年ほどで使えなくなるといわれている。長期保存には適さない。
・高い
 HDDは7K程度で1TB買えるが、SSDは1万で32GB程度。ただ、ライトユーザーだったり、データとプログラム(Cドライブ)を分けている人はあまり気にならないかと思う。

●SSDはどう動いているか
・読み書き耐性が低い=壊れやすい
 またSSDだけでなくHDDも1セクタが壊れても、代替セクタが内部的に用意されていて、それを使うようになっている。そのため見かけ上問題なく動く。しかし、代替セクタが枯渇すると、エラーとなり問題が発覚する。
・SSDでは内部では比較的大きいブロックで管理されているため、小さいファイルの読み書きはオーバーヘッドになる。たとえばHDDの場合は512バイト単位だが、512バイト単位で書き込むと実際には内部的に128KBなどの単位で動作する。

●Trimの有効性
 http://blogs.msdn.com/e7jp/archive/2009/05/24/9639779.aspx
 マイクロソフトのEngineering Windows 7 ブログ
 Microsoftの中の人のBlogよりSSDについて抜粋

 ファイルが削除されファイルをバックアップする SSD ページを消去しても安全になると、NTFS ファイル システムはデバイスに対して新しい操作を発行するよう ATA ドライバーに要求します。消去されたページは再使用可能なので、後続する書き込みでブロックの消去操作は必要ないことを前提として、この情報により SSD は該当するブロックを必要に応じて (かつ頻繁でなく) 消去することを計画できます。


 もっと砕けて書くと、ファイルを削除した場合に、そのデータはいらないものであるが、SSDはそのデータがいらないかどうかは判断できない。そのため、別のデータを書く場合に、一度データを読み込んでマージしてから書き込む必要がある場合がある。書き込まれているデータがいらないものであると教えるのがTrimコマンド。

さらに以下のように、Trimに対応することでパフォーマンスの低下を防いでいる。

付加価値として、Trim 操作により、多数のマージ操作を発生させる必要がなくなるので、SSD の消耗を軽減できます。たとえば、128 KB のファイルを含む、1 つの 128 KB の SSD ブロックについて考えてみましょう。ファイルが削除され、Trim 操作が要求されると、SSD では、その SSDブロックからのバイトと、そのブロックに後で書き込まれるその他のバイトとが混在されなくなります。これによって消耗が減少します。 Windows 7 では、ファイル削除操作のためだけに Trim 操作が要求されるわけではありません。Trim 操作は、Format や Delete など、パーティション レベルおよびボリューム レベルのコマンド、切り捨てや圧縮に関連したファイル システム コマンド、およびシステムの復元 (または、ボリューム スナップショット) 機能と完全に統合されています。


●Windows 7を導入すべきか
以上のようにTrimはNTFSファイルシステムに組み込まれていて、Vista/XPには入っていない。
 Trimを使うには
・Trimに対応したSSDドライブを買う(Intelの一部のドライブ/東芝/Kingstone?)
・Windows 7を使う
 の2条件を満たす必要がある。
 2chではコントローラーが対応していないとだめみたいな意見を見たことがあるが、通常はATA/SCSIコマンドはドライブに投げるだけなので、上位のファイルシステムが適切に動作すれば動くはずである。が、Raidコントローラのドライバがタコな可能性も否定はできない。まあRaidは自己責任。

 また、SSDは読み書きで消耗するので、Windows7では無駄な読み書きをしないようになっている。
・Windows 7 は、SSD システム ドライブ上ではディスク最適化を無効にします。 ・Windows 7 は Superfetch、ReadyBoost、起動およびアプリケーション起動プリフェッチを無効にします。

とのことから、Vista/XPで使う場合は、これらの機能を無効化したほうがよい。

というわけで、Win7+Trim対応SSDを使うと心の平穏は得られる。

・ページ ファイルは SSD 上に配置する必要がありますか? 実際、通常のページ ファイルの参照パターンおよびそれらのパターンに対する SSD の持つ有利なパフォーマンス特性を考えると、SSD 上に配置するのにページ ファイルより適したファイルはほとんどありません。


ただ、Windowsのパフォーマンスという点ではSSD上に配置すべきだが、もちを気にする人はやめておいたほうがいいかもしれない。また、システムの復元による復元ポイントも結構書き込みをするのでそれも切っておいたほうがいいかもしれない。
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。