このページの本文へ

前へ 1 2 3 次へ

塩田紳二のWindows 8 IN-N-OUT 第17回

USB 3.0対応HDDが速くなる? Windows 8でのUSBの仕組み

2012年08月23日 12時00分更新

文● 塩田紳二

  • この記事をはてなブックマークに追加
  • 本文印刷

 Windows 8では、USB 3.0が正式にサポートされる。もちろんWindows 7でも、USB 3.0と対応デバイスは使えている。しかしWindows 8では、新規のデバイスクラスなどが追加されるとともに、USB 3.0がインボックスドライバー(Windowsのインストールパッケージに付属するドライバー。自動でインストールされる)となるのだ。

Windows 7までは制限付きだった
OSのUSB 3.0対応

 Windows 7でもUSB 3.0は対応している。しかし、2009年8月にRTM版を提供開始したWindows 7の場合、その時点ではUSB 3.0に対応しておらず、のちのアップデートにより対応した。実はWindows 7のUSB 3.0対応は、Windows 8でのUSB 3.0対応部分をWindows 7用に手直ししたものとも言える。このように、新しいバージョンに装備される機能を、古いバージョンのシステムへ持ってくることを「バックポート」という。

 ただしWindows 7のUSB 3.0対応では、本体が動作中に使われていないデバイスを休止させて消費電力を下げる「USBのセレクティブサスペンド」に一部の機能が対応していないなど、多少制限のあるものだった。

Windows XPからWindows 8までの各デバイスクラスドライバーの、セレクティブサスペンドの対応状況。Windows 7などでは表下側のデバイスが対応していない

 セレクティブサスペンドとは、稼働中にUSBデバイスを停止させて消費電力を削減する仕組みだ。しかしUSBハブもUSBデバイスの一種なので、あるポートから先のデバイスが、ハブを含めてすべて停止中という状態もありえる。このときに、そのデバイスのつながりの一番末端にあるマウスが動いて、通常状態に復帰する場合を考えると、ホスト側から途中の経路にあるデバイス全部を通常状態に戻す作業が必要だ。これはかなり複雑な動作となる。

 Windows Vistaで初めて導入されたセレクティブサスペンドは、電源オプションの設定項目として追加された。そしてマイクロソフトは段階的に、各USBデバイスクラスをセレクティブサスペンドに対応させてきた。Windows 8ではWindows 7では対応していなかった大容量ストレージ(デフォルトではオフ)や、ネットワークアダプター、そしてWindows 8で新規に対応した「USB Attached SCSI」(UAS)デバイスなどがセレクティブサスペンドに対応した。

USBの進化とWindowsによる対応の歴史

 WindowsのUSB 3.0対応を理解するためには、USB 2.0までのWindowsにおけるUSB対応の歴史を振り返る必要がある。PCのマザーボードに置かれたUSBを制御するホストコントローラーの、ソフトウェア側とのインターフェース(HCI、Host Controller Interface)は一定の仕様になっている。一定の仕様とすることでハードウェアの違い、例えばCPUの世代交代によるチップセットの変更などに依存せず、デバイスドライバーを利用できるようにするためだ。

 その反面、インターフェースの定義の際に将来の拡張を考慮しなければ、いつかはドライバーを書き換えなくてはならなくなる。だがPC関連の進歩は早く、数年先を予測することは困難だ。

 Windowsのドライバーは、共通機能を「クラスドライバー」としてまとめている。実際のデバイスでは、クラスとの違いを「ミニポートドライバー」として実装し、これらを組み合わせて使うようになっている。また、デバイスはPCIバスやその先のUSBホストコントローラーなどを介して接続されるため、ドライバーも階層構造を取る。

 USB 1.1の頃には、「UHCI」(Universal HCI)と「OHCI」(Open HCI)という、2種類のHCIが使われていた。どちらもUSB 1.1で定義される、Low Speed(LS、1.5Mbps)とFull Speed(FS、12Mbps)の通信をサポートしていた。

 UHCIはインテルのチップセット内蔵USBホストコントローラー向けの仕様であり、インテルとVIAが採用した。それ以外の企業は、NECのUSBホストコントローラーを採用して、OHCIを定義した。ちなみにこのときマイクロソフトは、OHCIの策定に関与している。こうした背景もあり、「Windows 95 OSR2」で正式にUSBがサポートされてからしばらくは、2つのUSBホストコントローラーを区別しなければならなかった。

前へ 1 2 3 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

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

ピックアップ

ASCII.jp RSS2.0 配信中

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