SSDかHDDか。Windowsのデフラグ機能はどこで判断?

残念ながら、2009年のWindows7についての資料しか見つけられなかった。

Windows 7 Disk Defragmenter User Interface Overview (2009年11月)

http://blogs.technet.com/b/filecab/archive/2009/11/25/windows-7-disk-defragmenter-user-interface-overview.aspx

上記URLに、Windowsのディスクデフラグツールのアルゴリズムが載っている。

(Windows7 : SSDと判断した場合は、デフラグしない。
Win8、Win8.1 : SSDにはデフラグの代わりにTrim。
ただし、今のところRaidを組んでいると基本的にTrim不可)

  1. no seek penalty
  2. expandable VHD, differential VHD
  3. ATA nominal disc rate
  4. boot disk and high random read rate

1から順に調べていって、当てはまるものはデフラグスケジュールから外される。

残ったものがハードディスク(HDD)と判断され、デフラグ対象になる。
外されたものは、ソリッドステートドライブ(SSD)と表示されてデフラグできない。

以下、各項目ついて。

no seek penalty

シークしないディスクだと判断した場合。

HDDはプラッタ上の読み出し・書き込み位置までヘッドが移動する。移動に掛かる時間がシークタイム。SSDにはない。

expandable VHD、differential VHD

  • expandable VHD
    容量可変の仮想ディスクの場合。
    (内包するデータのサイズに合わせて容量が変わる)
  • differential VHD
    差分仮想ディスクの場合。

ATA nominal disc rate

ATA8-ACSの「Word217NomimalMediaRotationRateの値が1の場合。

ATA8-ACS : ATAの規格。

Word217 : IDENTIFY DEVICE(デバイス識別)情報に含まれる項目の一つで、NomimalMediaRotationRateを表す。なお、文章作成ソフトとは無関係。

NomimalMediaRotationRateの値 : この数値でディスクの回転数がわかる。

  • 0000h : rate not reported (ATA8-ACS規格ではないディスクはこの値)
  • 0001h : Non-rotating media (SSDは回転しないのでこの値)
  • 0401h ~ FFFEh : Nominal media rotation rate in rotations per min (rpm)
    (5000rpm=1388h、7200rpm=1c20h、10,000rpm=2710h …16進数表示)

NomimalMediaRotationRateの値を確認できるソフトをとりあえず2つ見つけた。どちらも無料で入手できる。

■Intel Solid-State Drive Toolbox (Intel SSD Toolbox)

https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=18455&lang=jpn

Intel製SSD用のツール。
でも、IDENTIFY DEVICE情報については、ハードディスク・ドライブおよび他社製SSD でも表示可能とあり、実際HDDでも使えた。

IntelSSD_Toolbox main

調べたいディスクを選択し、ドライブの詳細をクリック。

CドライブなどがSSDと表示されているが、実際はHDD。ここでSSDと表示されることによって、OSに影響がでることはなかった。

IntelSSD_Toolbox Word217

下にずっとスクロールして、ワード217のところを見る。

■CrystalDiskInfo

http://crystalmark.info/software/CrystalDiskInfo/

ディスクユーティリティ。ポータブル版(zip)はインストールせずに使える。

  1. メニューの編集→コピーオプションで、IDENTIFY_DEVICEにチェックがついているのを確認する。
  2. Ctrl+C。または、メニューの編集→コピー。
  3. メモ帳を起動してから、Ctrl+Vで貼り付け。
    CrystalDiskInfo上で認識されている全ディスクの情報が表示される。
  4. IDENTIFY_DEVICEの横210と縦7が交わったところの4桁の値を見る。

CrystalDiskInfo IDENTIFY_DEVICE

自分のPCのHDDを調べてみた。

[ WD製 WD5001AALS ]
ATA8-ACS。しかしWord217未対応の機種らしい。値は0000。

[ Hitachi製 HDS721010KLA330 ]
ATA/ATAPI-7 T13 1532D version1。やはりWord217の値は0000。

boot disk and high random read rate

ブートディスクであり、WinSATでランダムリード値が高いと判断された場合。

WinSAT.exe(Windows System Assessment Tool)は、Windows エクスペリエンス インデックス。

PCに変更を加えた後は、評価が現状に合わなくなることがある。

評価を更新する方法は

  • コントロール パネル→パフォーマンスの情報とツールから更新。
  • または管理者権限でコマンドプロンプトを起動しWinSATを実行する。
    (コマンドの詳細は、WinSAT -helpで確認してください)
関連記事