2013年10月7日月曜日

Win8ではSSDに対してもデフラグを行った方がいい


書き込み回数に制限があるSSD(読み出しは制限なし)では、デフラグをすると書き込み回数が増えて寿命が短くなるデメリットがあため、Windows Vistaなどではデフラグの自動実行を無効にしていました。

Windows 8のデフラグはシステムがアイドルの場合に定期的に実行されます。対象ドライブがハードディスクならクラスタの再配置を行い、対象ドライブがSSDなら、トリム(Trim)コマンドが発行されます。(クラスタの再配置は行われません)。トリムコマンドはSSD上のデータを完全に削除するコマンドです。



SSDのデータ更新・削除の仕組みとトリムコマンド

SSDは構造上データの上書きができないため、データを更新する場合、新しい空きブロックに元ブロックのコピーデータと更新したデータを合わせたデータを新たに書き込みます。
SSDのデータの消去はブロック単位でしかできず、書き込みの数十倍遅いため、別途処理が行われます。

またデータを削除した場合は、ファイル・システム上では単に割り当て済みのクラスタを解放して、空き領域ビットマップを修正するだけであるため、SSDから見ると、ファイルのデータが割り当てられていたセクタの部分はデータが書き込まれたままの状態になり、空きブロックとなりません。

この領域を解放するため、OS等からトリムコマンドというコマンドを発行して、SSD上の領域を解放し、空きブロックにします。Win8はDisk I/Oが高い場合には、すぐにトリムコマンドを発行せず、デフラグ時にトリムコマンドを発行します。(トリムコマンドはWin7以降で対応しています。デフラグ時のトリムコマンドはWin8以降)


トリムコマンドの有効確認方法

Win7以降では、SSDが使用されている場合、トリムコマンドをデフォルトで有効にします。コマンドプロンプトで以下のコマンドを実行することによりトリムコマンドの有効を確認できます。(管理者特権が必要です。)

fsutil behavior query DisableDeleteNotify

実行結果
DisableDeleteNotify = 0   トリムコマンド有効
DisableDeleteNotify = 1   トリムコマンド無効

トリムコマンドを有効にするためには、以下のコマンドを実行します。(無効にする場合は1を指定する。)

fsutil behavior set DisableDeleteNotify 0





第19回 SSDでWindows 8システムを高速化する
http://www.atmarkit.co.jp/ait/articles/1305/30/news104.html

SSDのTrimコマンドを有効にする
http://pc-zero.jp/technic/ssd_enable_trim.html

0 件のコメント:

コメントを投稿