このページの本文へ

前へ 1 2 次へ

あなたの知らないWindows第19回

SSDサポートにさらなる一歩を踏み出したWindows 7

2009年12月17日 12時00分更新

文● 山本雅史

  • この記事をはてなブックマークに追加
  • 本文印刷
Intel X25-M
高速アクセスで評判のSSD「Intel X25-M」。Windows 7はSSDを効率よく使える機能を備えている

 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をサポートすることで、SSDをSSDとして認識する Windows 7はSSDをネイティブでサポートする。ATA8-ACSをサポートすることで、SSDをSSDとして認識する(WinHEC 2008資料より)

 そこで使われたのが「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としては認識できない。

マイクロソフトでは、SSD向けのインタフェース「NVMHCI」をWindows 7でサポートできるように作業している マイクロソフトでは、SSD向けのインタフェース「NVMHCI」をWindows 7でサポートできるように作業している。NVMHCIはHDD用のAHCIと互換性を持つため、SATAドライブとSSDを利用できる

前へ 1 2 次へ

この連載の記事

注目ニュース

ASCII倶楽部

最新記事

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン