Windows 7はSSDに積極的な対応をした初のOSとなっている。今回は、Windows 7のSSDサポートに関して解説しよう。
Windows 7がSSDを検出する仕組みは
意外にシンプル
「Windows 7はSSDに対応している」と言われている。しかし、具体的にどのような部分が対応しているのだろうか?
まず、Windows 7はSSDを、HDDとは別のデバイスとして認識する。現在のSSDは、通常SATAインタフェースやUSBなどに接続されているため、デバイスとしてはSATAドライブとしてOSからは認識される。そのため従来のOSからは、接続されているデバイスがSSDなのか、HDDなのかわからない。
Windows Vistaでは、「ハードウェアの自動チューニング」というコンセプトに基づき、HDDのデフラグをOSが自動的に実行する。しかしSSDにとっては、デフラグは効果がないし、不必要な書き換えにより寿命を縮めるものとなる。そこでWindows 7では、SSDを認識するとデフラグの自動実行を行なわなくなる。
しかしSSDだからといって、既存のデバイスとの互換性を考えずにSATAのATAコマンドを変更したり、SSD専用のインタフェースを新設するわけにはいかない。つまり、現在の仕組みを変更せず最小限の追加で、SSDをOSで認識する必要があった。
そこで使われたのが「ATA8-ACS」だ。ATA8-ACSは、HDDに対するコマンドやパラメーターを規定している。ATA8-ACSの「Word217」にある「Nominal Media Rotation Rate」という項目では、HDDの回転速度がチェックできる。SSDではこの項目の値を、「0001h」にしている(7200rpmのHDDでは1C20hになる)。この数値の違いにより、SSDとHDDを認識できる。
HDDの場合、このパラメーターにはディスクの回転数が入っているので、回転数が1rpmということはありえない。一方SSDにはそうしたメカニカルな部分がないため、回転数を示すパラメータに0001hを設定しているということだ。
Windows 7はこのパラメーターをチェックして、SSDかHDDかを判断している。さらにSSDを認識した場合には、Windows 7の自動デフラグの機能をオフにして、勝手にデフラグが動作しないようにしている。逆に言えば、SSD側でAT8-ACSのこのパラメーターに0001hという数値が入っていないと、Windows 7側ではSSDとしては認識できない。
この連載の記事
-
第50回
PC
次期IE「Internet Explorer 10」プレビュー版が公開 -
第49回
PC
RTM版も登場 Windows Home Server 2011の変更点とは -
第48回
PC
5秒で起動するSplashtop OSを自作パソコンで試す -
第47回
PC
ベンチで検証 Internet Explorer 9 RCの互換性と性能 -
第46回
PC
正式版の直前となるInternet Explorer 9 RC版が登場 -
第45回
PC
Silverlightをさらに進化させる「Silverlight 5」 -
第44回
PC
「Windows on ARM」が持つ意味と課題は何か? -
第43回
PC
GPUを利用できる仮想化ソフト XenClient 実践編 -
第42回
PC
複数のWindowsを使い分ける仮想化ソフト XenClient -
第41回
PC
3秒で起動しWindowsと共存するOS「Splashtop OS」 -
第40回
PC
最新版「PP7」に見るIE9の性能と互換性の高さ - この連載の一覧へ