ということで、やっとProtocol Layerの話も終了である。最後にこのProtocol Layerをカバーするフレームワークについて簡単に触れておく。基本的にはUSB 3.0はUSB 2.0との下位互換性を保ってはいるが、これだけ機能が追加されると同じというわけには行かない。大雑把に言うと、

Device Status USB 2.0と同じハンドリング
Request Set Feature/Clear Feature/Get Statusに関しては若干手直しが必要。またSet Isochronous Delay, Set System Exit Latencyのハンドリングが新規に追加
Descriptor Device/Device Qualifier/Configuration/Endpointに関しては手直しが必要。またBOS/USB 3.0 Device Capability/Endpoint Companionのハンドリングが新規に追加
Device Notification 全て新規に追加

といった具合になっている。

実のところ、これだけ機能が違うとUSB 2.0対応Deviceを3.0に修正するのは結構手間が掛かるというか、多分USB 3.0対応Deviceとして作り直した上で、そのサブセットとしてUSB 2.0をインプリメントしたほうが早いだろう。

そもそも転送速度が10倍だから、当然Protocol Layerで処理すべき能力も10倍必要ということになる。勿論、無理に10倍の転送速度を発揮させる必要はなく、端的に言えば(一部のレスポンスさえ規定時間内に返せれば)USB 2.0と同じ転送速度でも一向に構わないのだが、そうなると今度はUSB 3.0 Deviceとする意味が皆無になる。性能を上げるためにUSB 3.0への対応を行っている以上、Protocolの処理性能は当然引き上げる必要がある。Specification のChapter 9にはDevice FrameworkとしてUSB 3.0のHost/DeviceがサポートすべきDevice Status/Request/Descriptorの詳細が列挙されているが、Device State Diagramは基本的に同じながら、細かいところで変更がかなり多く、更にUSB 1.1/2.0の時と3.0の時で振る舞いが変わる場合があることを考えると、現実問題としてはUSB 2.0のコアはそのままにして、新たにUSB 3.0のコアを追加するという形のインプリメントが一番現実的に思える。

もっとも実際には、どの位のベンダーがUSB 3.0のDevice今すぐを自社で開発するのかはちょっと疑問である。以前はPLDAからしか提供されなかったUSB 3.0のDevice IPだが、今ではASICS World Services, LTD/Arasan Chip Systems Inc/GDA Technologies/Inno-Logic/Inventure/Evatronix SA/CAST, Inc/VinChip Systems Inc/Astrumtek Consulting/Manthan Semiconductorsといったベンダーが提供を行っており、入手性は急激に改善している。これらのIPを使う形でDeviceをインプリメントする限りは、USB 2.0と3.0の違いにあれこれ悩まなくても済むだろうし、逆にここまでIPが出揃い始めると、自社でインプリメントする理由もあまりなくなってきていると言える。

勿論長期的にみれば、USB 3.0をサポートしているという形で差別化が可能な時期はせいぜい1~2年(勿論これは業界による。PC向けの場合、今年は「USB 3.0対応」というだけで多少高値をつけても許されるだろうが、来年は難しそうだ。が、32bit MCUの場合は2012年あたりまで待たないとUSB 3.0対応が始まらない模様なので、大分先までプレミアが付けられるだろう。その下の16bitとか8bit MCUに至っては、未だにUSB 2.0に対応したことが話題になるほどだし、しかもUSB 2.0の帯域をフルに使うほどの性能が出ていない。このマーケットにUSB 3.0が降りてくるのは、相当先ではないかと思う)で、その後は「対応していて当然」となるから、そうなるとIPのライセンス料を価格に転嫁しにくくなる。これを避けるために、当面はUSB 3.0のIPを外部調達で使いつつ、並行して自社でもUSB 3.0のIPを開発して、どこかで切り替えるといった形になるのではないかと思う。で、その頃には「既存のUSB 2.0のコアを流用してUSB 3.0対応にする」なんて話は消えているのではないか、と思う。

さて、これで一応USB 3.0について上から下まで説明は終わった形になるが、もう少し関連する話をしたいと思う。最初に触れたいのはUSB 3.0のHubである。今のところUSB 3.0 Hubの話は出てきていないが、恐らく2012年あたりには必要になると思われるからだ。最初の用途は、マザーボードのサウスブリッジへの組み込みである。

(続く)