構造は同じだが、USB 1.1から3.0までを
xHCIでサポートするWindows 8
USBに関する基本的な構造は、Windows 8も同様である。デバイスのクラスドライバーとミニポートドライバーの組み合わせにより、個々のUSBデバイスに対応する。またWindows 8でも、ルートハブやUSB 3.0ハブから先のドライバー構成は基本的に変わっていない。
USBは世界中で大量のデバイスが使われており、マイクロソフトであっても全体の検証は困難だ。ホストコントローラーやハブ、デバイスだけでも、膨大な組み合わせが存在する。新規のUSBデバイスは毎日のように発表されており、逆に古いデバイスにはテストしたくても入手困難なものがある。
マイクロソフトの調査によるとUSBデバイスの利用には偏りが見られ、「人気の高い」デバイスがある反面、ほとんど使われていないデバイスもあるという。また製品としては別々であっても同じ制御チップを使っているために、同類と見なすことができるデバイスも存在する。メーカーが違っても、デバイスとしての構成は同じになるOEM製品もある。
またマイクロソフトへの「障害レポート」では、USBデバイスに対するものは少ないという。逆に言えば、「障害レポート」が表示されるようなUSBデバイスは、今後も要注意だと言える。USBデバイスに関連した障害のうち、Windows側で対応可能なもの(Windowsが原因だったもの)に関しては、Windows 8では正しく動くべきであり、検証の対象に含めたという。重複などを考慮し、マイクロソフトではWindows 8の検証の対象とするUSBデバイスを、1000種類程度に抑えたそうだ。
大容量ストレージ向けの新クラス「UAS」
USB 3.0対応HDDが速くなる?
Windows 8では新たなデバイスクラスとして、高速大容量のストレージデバイスの接続に利用される「UAS」(USB Attached SCSI)が追加された。USBには今でも、HDDなどを接続するための「大容量ストレージデバイス」というクラスがある。ここで定義されている「BOT」(Bulk Only Transport)は、USB 1.1のときに作られたもので、USB 2.0でも改良されることはなかった。登場当時はフロッピーディスクやCD-ROMなどが対象であったし、その後登場したUSBメモリーもさほど高速ではないために、転送効率が要求されることはあまりなかったからである。
しかしUSB 3.0では、大量のデータを効率良く転送するための「ストリーム」転送プロトコルが追加されている。これを使って大容量ストレージを接続するためのプロトコルとして、「USB Attached SCSI Protocol」(UASP)が作られた。簡単に言えば、USB経由でSCSIコマンドをやりとりして、外部記憶デバイスを制御するプロトコルだ。そのためのデバイスクラスがUASクラスである。なお、UASPはUSB 3.0専用というわけではなく、USB 2.0でも利用できる。プロトコルのオーバーヘッドを小さくして、効率的な転送ができる。また、USB 3.0では全二重転送であるため、さらに効率良く通信できる。
USB大容量ストレージのプロトコル上の問題として、コマンド実行後に次のコマンドがホストから来るまで、デバイスが待ったままになってしまう点がある。例えばひとつのコマンドがUSBデバイスクラスドライバーから発せられると、コマンドはUSBスタックを通って、コントローラー経由でデバイスに届く。その応答は逆のルートを通って、デバイスクラスにまで戻る。ところが応答が戻るまでデバイスクラスドライバーは次の指示を出すことができず、この間デバイスは待されてしまうのだ。
そこでUASPでは、コマンドやデータ(イン/アウト)、ステータスのそれぞれに別のパイプ(通信路)を割り当てて、これらを続けて送信し、デバイスはこれに順次対応する方式を採用した。これによりコマンドの「キューイング」が可能となり、デバイス側に不要な待ち時間が発生しなくなる。
Windows 8が出荷されると、UASデバイスも簡単に利用できるようになる。対応機器の普及が期待される。特に外付けのRAIDデバイスのような高速なデバイスでも、USBで簡単に接続できるようになる。バックアップのような従来時間がかかっていた処理でも、作業時間を短縮できるようになるだろう。
この連載の記事
-
第34回
PC
Windows 8の狙いは、UIの変化よりもAPIの変化が本質 -
第33回
PC
Windows 8が動作しなくなった? 新しくなった修復機能 -
第32回
PC
Windows 8でIMEに求められる新しい要素とはなにか? -
第31回
PC
Windows 8の無線LANをコマンドラインで細かく制御 -
第30回
PC
Windows 8をマウスで使いやすくするレジストリの小技 -
第29回
PC
周辺機器・アプリがWindows 8/RTで動くか確認する方法 -
第28回
PC
Windows 8のキーボードショートカットを全公開 -
第27回
PC
Windows 8が使いにくい? マウスを変えると印象も変わる -
第26回
PC
実はNFCに対応しているWindows 8 ただしアプリは不足 -
第25回
PC
実は扱いがまったく異なるWindows 8でのタッチパネル -
第24回
PC
Surfaceから見えるWindows RTの実像と、将来PCへの影響 - この連載の一覧へ