ではUSB 3.0は? というと、これはEHCIのスーパーセットとも言える実装になっている。実際、Host Controllerは図2の様な形で実装されることが現在想定されている。USB 1.1での接続はUHCI/OHCIで、USB 2.0での接続はEHICで引き続き行い、USB 3.0での接続を新たに追加するXHCIが担うという構図だ。少なくとも、デバイスドライバから見えるコントローラは、図2の様になると見込まれている。
ただし実装がどうなるか? というのはまた別の話だ。後述するプロトコルの変更を吸収するためには、XHCIと一緒にEHICやUHCI/OHCIの改造も必要になるようで、結果的に大幅に異なる実装に進化しそうである。あくまでドライバからみれば図2の様に見えるが、内部的にはこれが一体化したような構造になるかもしれないとの事だ。
さて、ではなぜそうなるか? であるが、これはUSB 3.0で色々なものを大きく変更してしまったことに起因する。そもそもUSB 3.0が生まれた要因は、既存のUSB 2.0でももはや十分に早くない、というところに来てしまったからだ。
USB 2.0は、カタログスペックでは480Mbps=60MB/secということになるが、実質的な転送速度は概ね30MB/sec程度、フルチューンしたケースでやっと40MB/secといった程度でしかない。以前はこれでも十分な速度だったが、最近の周辺機器の高速化、特にNAND Flashを使ったストレージの高速化には十分とは言えなくなった。
これと卵と鶏の関係にあるのが大容量化。以前ならば128MBだの256MBのストレージが「大容量」といわれてきたが、昨今では16GBだの32GBだのといったストレージも比較的低価格だし、2GBだの4GBだのに至っては千円しないほどで投売りされている状況である。ところが、例えばデジカメにしても以前は200万画素だの300万画素だのという話だったのが昨今は1000万画素が最低ラインというところまで高画素化が進んでおり、こうしたNAND Flashの大容量化をそのまま使い切らんばかりの勢いである。こうなると、以前なら写真300枚をコピーするのに例えば10分掛からなかったのが、今では30分とか40分掛かると言う事になってしまう。容量に比べて転送速度が遅くなりすぎてしまった、ということだ。
こうした問題を解決するには要するに転送速度を早めてやればいいわけだが、ここで問題になるのがUSBは低価格のソリューションだという事だ。速ければコストが掛かっても何でもいいというのなら、FiberChannelなりInfiniBandなりといった高速なインターフェースは一杯存在するが、そんなものを1台数万円のデジタルカメラに採用できるわけがない。現在のUSB 2.0 I/FのBOM(Bill of Material:原価)は数百円まで落ちており(ものによっては100円を切っている)、それがゆえにコンシューマ機器に広く受け入れられる様になった。したがってUSB 3.0にしても、短期的には多少高くなるとしても長期的にはBOMが1000円を切る事を狙っているし、そうした規格でなければ普及できないとUSB-IFは理解している。
だからといって、USB 2.0の信号線のまま高速化するのは性能的に無理がある。速度を倍にするのですら難しいだろうし、その程度の高速化ではせいぜいが1~2年寿命を引き伸ばす効果しかない。だからといって互換性を捨てるわけにはいかないし(既に膨大な数のUSB 1.1/2.0機器が世の中には存在する。これとの互換性を取らなかったら、マーケットが成立しないだろう)、コストを下げつつ使い勝手を損なわないためには、Parallel Busは採用できない。コネクタやケーブルの値段が上がるし、使いにくいからだ。なのでSerial Busの延長で考えるしかない。
そんな形でリサーチしていった中でUSB-IFがたどり着いた結論が、PCIeの流用である。USB 3.0の審議を始めたとき、まだPCI Express Cablesは公式にはGen1(つまり2.5GT/sec)のみのサポートであったが、PCIe CableのWG(Working Group)は、Gen1の時点でPCIe CableはGen2(つまり5GT/sec)の転送を行う事を念頭において仕様策定を行っていた。このPCIeの物理層を流用する形で新しくUSB 3.0を構築しようとしたわけだ。Gen2ならx1レーンでも5GT/sec、実効転送速度は8B/10Bエンコードのため4Gbps=500MB/secとなるが、60MB/sec→500MB/secならばほぼ1桁近いスピードアップとなるから、性能的には十分なヘッドルームがある。また、PCIe Gen2のPHYは多くの会社が手がけており、今は割高であっても長期的には十分低価格になる事が期待できる。数量が出れば量産効果でコストが下がる事が期待できるから、コンシューマ向けでも採用は難しくない。
ただ問題は互換性である。PCIeは信号形式こそDifferential、つまり差動式を使っているが、あくまでも単方向の転送(なのでx1でも信号線は送信と受信で各1対づつ、つまり4本必要となる)から、既存のUSB 2.0とは全く互換性が無い。大体信号の電圧レベルからして異なっているので、新規に作るデバイスはまだしも、既存のUSB 1.1/2.0デバイスにそのままPCIeの信号を受け止めさせるのは無理である。そうした事を考慮して、USB 3.0では1.1/2.0互換の信号と3.0の独自信号を分離する、という力技の解決となった。
(続く)