大容量ストレージを使いやすくするUSB 3.0 ――使い慣れたUSBの転送速度が5Gbpsに向上

石井 潤一郎

3) 物理層

 USB 3.0の物理層では最大3メートルまでのケーブル長に対応しています.物理層のアーキテクチャはPCI ExpressとSerial ATAの高速シリアル・バスを混在させた信号方式を採用しています.この信号線は,二つの差動信号線が二つ単信方式にて動作します.また,「Low Frequency Periodic Signaling(LFPS)」というPCI Expressのwake/beaconに似た機能が搭載されます.これにより,追加の信号線を用意することなくサイドバンド機能(たとえばresetやwake)を維持できます.


 USB 2.0の特徴の一つである「ホットプラグ」機能もそのまま維持されます.受信部のターミネーションが接続・接続断の検出に使用されます.

4) SuperSpeedリンク層

 SuperSpeedリンク層はプロトコル層と物理層の間を取り持つとても重要な役目をするレイヤです.そのために「強固な信頼性」の維持を実現するべく重複性,および高度なエンコード技術と再試行の機能を備えています.また,リンク・コマンドに対する未検出エラー・レートは10-20以上です.


 効果的な省電力管理を行うため,4種類の異なる電力状態が定義されています.どれか一つのポートがリンク・パワー・ステート・チェンジを実行することができ,LFPSにも対応しています.以下に四つの電力状態を示します.

  • U0:通常動作モード

  • U1:すばやく省電力モードから通常モードへ遷移できるリンク・アイドル・モード(ローカルPLLは動作)

  • U2:ゆっくり省電力モードから通常モードへ遷移できるリンク・アイドル・モード(ローカルPLLはおそらく非動作)

  • U3:一時停止モード


 リンク・コマンドはリンク・フロー・コントロールとリンク・パワー・ステート・チェンジに対してそれぞれコマンドを提供します.パケットは,「ヘッダ・パケット」と「データ・パケット」に区別されます.

 ヘッダ・パケットは,蓄積され送り出され,信頼性を保証するためにリンク・レベルで再試行されます.また,リンクやホストやデバイスで使われる情報が含まれます.

 一方,データ・パケットは,ヘッダに加えてデータ・ペイロードが含まれる混合パケットです.

5) SuperSpeedプロトコル層

 SuperSpeed USBのプロトコル層では,ほかのレイヤと同じく下位互換を保ちながら新しい機能も追加で装備されています.従来までのソフトウェア・スタックはそのまま維持されます.すなわちUSB 2.0の転送タイプである「bulk」,「control」,「interrupt」,「isochronous」が存在します.また,バルクの能力をさらに高めるため,「Streams」という機能が追加されています.Streamsにより,一つのパイプに対して複数のコマンドを実行できるようになります.またアウト・オブ・コンプレッションを装備しています.


 このほか,省電力管理の効果の均一化を図るために,決まったルートを経て送られるパケット・アーキテクチャやUSB 2.0で採用されていた「ポーリング」は,USB 3.0では非同期通知(Asynchronous Notification)に置き換えられています.帯域幅の有効利用を実現するため,INトークンとOUTトークンを同時に実行できるように構成されています.

6) SuperSpeed USBハブ

 USB 2.0のときがそうであったように,USB 3.0でもハブの役目は重要であり,かつ動作がとても複雑な仕様として定義されています.その役割上,USB 3.0とUSB 2.0の機能を同時に持たなければならないため,2倍の難しさと複雑さが生じることと思います.


 当初はUSB 2.0とUSB 3.0の機能を併せ持つ複合機器を製品化することは難しいでしょうが,いずれハブそのものの小型化が要求されることと思われます.何年か後には,USB 2.0とUSB 3.0の機能が一つのシリコンにマウントされたハブ・コントローラLSIが出現するかもしれません.

 SuperSpeed USBバス・トポロジにおけるハブは,ポート・エキスパンダ以上の動作と役目を担っており,またSuperSpeed USBにおける省電力管理の中枢の役目を果たします.すなわち,SuperSpeed USBハブには以下の機能があります.

  • ダウンストリーム側のリンク状態に応じて,アップストリームのリンク状態を調整する

  • 特定のポートにダウンストリーム・フロー・パケットのみを決まったルートを経て送り出す

  • アクティブ・ステートでないリンクのポートへのパケット送信を延期できる

  • そのハブのダウンストリーム・ポートのプログラマブルな無稼動タイマを有する

  • アクティブ・ステートであるリンクのダウンストリーム・ポートへは,マルチキャスト・タイムスタンプ・パケットを送り出すことしかできない

  • 遅延が生じているパケットに対してタイムスタンプをマーキングする


 USB 3.0仕様書は入手可能なので,エンジニアの方々は内容を確認されることをお勧めします.また関連資料やPIPE Specificationも入手可能ですので,ぜひ一読してみてください.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日