[USB-COLUMN]: USB 2.0 (Hi-Speed USB) が 480Mbps の速度が出ない理由について
<Home> → <[USB]: USB 総合窓口> → <[USB-COLUMN]: USB 2.0 (Hi-Speed USB) が 480Mbps の速度が出ない理由について>
はじめに
Hi-Speed USB のデータ転送速度は、480Mbps (60MB(!)/sec) と定義されていますが、殆どの機器ではこれより低い(10MB/sec
位?)データ転送速度であることが多いです。
一般的に言われている 480Mbps の根拠とは、電気的なデータ転送速度にあります。確かに電気信号としては
480Mbps の速度を出せる性能は持っています。しかし、様々な要因で制約により、実際には下回るデータ転送速度になっています。
この page では USB 2.0 (Hi-Speed USB) が 480Mbps の速度が出ない理由について考察したいと考えています。
要因1:USB 仕様
- bus の占有率は 80-90%
全ての USB 機器の PnP や制御を均一に行う control 転送のために、常に bus
の 10%(Low/Full)、もしくは 20%(Hi-Speed) を取っておかなければなりません。大量のデータ転送を行う場合、bulk
転送を用いることが多いため、常に bus は一つの機器に占有されること無く 10%
の空きが生じます。
- ひとかたまりのデータに付加されるパケット
USB の仕様では、ひとたまり(Endpipe の最大数によって大きさは異なる)のデータに対し、絶えず正しく送られているか確認を行うためにデータの前後に制御パケットが付加されます。小さなデータを送信したつもりでもそれを届けるには多くの制御パケットが付加されますので、その分、転送速度は落ちます。
- 余剰な Class 仕様
データ転送速度でよく取り上げられる HDD は、多くの場合、Storage Class (Bulk-only
Transfer, BOT) により制御しています。Storage Class は単純にデータを転送するのではなく
SCSI 転送を真似た制御を行うためにデータ以外の制御用データも付加されます。Storage
機器として統一した互換型もたれる反面、その分、転送速度は落ちます。
- 転送方式による最大データ転送速度の違い
USB 2.0 Specification の「Chapter 5 USB Data Flow Model」に定義されています。転送速度は転送方式によって大きく異なります。以下の表は書籍「USB
コンプリート」の「第4章 目的別転送形態」より引用したものです。
Hi-Speed USB の速度を生かす USB 機器として HDD, Scanner, Printer 等がありますが、これらの機器の多くは
bulk 転送によるデータ転送を行っています。
エンドポイント当たりの最大データ転送速度(キロバイト/秒) |
転送形態 |
Low Speed |
Full Speed |
High Speed |
コントロール転送 |
48 |
832 |
15,872 |
インタラプト転送 |
0.8 |
64 |
24,576 |
バルク転送 |
不許可 |
1216 |
53,248 |
アイソクロナス転送 |
不許可 |
1023 |
24,576 |
要因2:USB 機器要因
USB 機器の多くは、USB 専用機器として開発が行われていません。殆どが既存の仕様
(SCSI, Parallel, ...) や既存の
- Bridge チップのマージン
HDD/CD-R/MO 等の USB Storage 機器の多くは、USB Bus のために開発されておらず、既存の
ATA/ATAPI インターフェースから USB Storage Class へ変換する変換チップ (ATA/ATAPI-USB
Bridge) を介して USB 機器として動作しています。
この変換チップの能力でデータ転送速度に大きな差があります。性能の高い変換チップは
ATA/ATAPI 転送部分を Ultra DMA 転送で動作するチップもあります。
- USB HUB を仲介させた場合
間に調停が入る分、データ転送速度は落ちます。データ転送効率を重視するのであるならば
PC 直結をお勧めします。
原因3:USB Host 要因
USB Host は、USB 機器の制御を一手に行います。USB Host の性能や仕様によって大きくパフォーマンスに現れてくるケースがあります。
- USB Host の性能向上
例えば、NEC の USB Host チップである「μPD720100A」とその後継である「μPD720101」ではパフォーマンスで
30% 程度の向上が見込まれるそうです。具体的には、Frame 間のデータ転送マネージメントの反応が良くなったとの記事を読んだことがあります。
USB Host も 480Mbps の速度を余すことなく使用しているわけではないことを示している現象だと私は考えています。
原因4:物理的要因
USB 1.1 より高速な通信速度である Hi-Speed USB の場合、外部からのノイズや信号の減衰等の物理的な要因が顕著になるケースが多くなります。
- USB ケーブルの品質による信号劣化
最低限、Hi-Speed USB 認証をパスしたケーブルを使用することをお勧めします。
USB 2.0 対応ケーブルと従来の USB 1.1ケーブルは、ケーブル仕様としては同じで、USB
1.1 の時に使用していたケーブルをそのまま Hi-Speed USB 対応デバイスに使用することが出来ます。
しかし、市場で出回っている USB ケーブルは、品質面で非常にバラツキがあり、より高速転送を求められる
Hi-Speed USB (480Mbps) で問題が顕著になることが多いです。中には USB 1.1
の仕様にも満たない USB ケーブルも存在していたらしいのですが、USB 1.1 (12Mbps)
の時には問題が顕著に現れなかったようです。
粗悪なケーブルについては、USB 2.0 立ち上げ時に既に懸念されていました。USB-IF
は USB ケーブルに対し、、ケーブルの品質を認証する認証プログラムを設けました。認証プログラムで認証された
USB ケーブルは、厳しいチェック項目をパスする必要があり、品質を高い状態に保つことを義務付けられています。
認証プログラムをパスした USB ケーブルには USB-IF の認証ロゴを表示する権利が認められています。購入時に参考にしてください。
(Large Image)
<[USB]: USB ロゴと認証プログラム> より USB-IF の認証ロゴ
- USB ケーブル長による信号劣化
短めなケーブルを使用することをお勧めします。
USB 仕様では、最大 5m までケーブル長が保障されています。しかし、様々な理由により現実には認証プログラムをパスした機器でも
5m での安定動作は難しいようです。私の経験則上、2m 位までならば問題になる
USB 機器は少ないように感じました。ケーブル長を伸ばすために USB リピーターなる製品も存在しますが、私の経験則上、あまり良い成績ではなかったように感じています。
どうしてもケーブル長を伸ばしたいのであれば USB HUB を介入させるのが良い選択ではないかと、私は考えています。
ということで =)
無線 LAN もそうなんですが、ハードウェア仕様のみを鵜呑みにした記事が多いのが気になります。マトモに考えばユーザーは、電気的なデータ転送仕様よりも、実際のデータ転送やその仕組みについて説明すべきです。仕組みを理解すれば、文面上の
480Mbps が出ていないことが理解することが出来、どうすればデータ転送を向上させるか見当も付くはずです。
そのような記事は少ないのが現状のようです。悲しいことですが。
Resource
- [http://itpro.nikkeibp.co.jp/free/ITPro/OPINION/20050319/157710/] (05.03.22)
IT Pro の記事「USBインタフェースのギガイーサ対応LANアダプタは意味がない?」。ギガイーサ自身だってそんなに早く転送できないのに、と突っ込みを入れつつ最後まで読むと今月号の日経
NETWORK に色々考察してあるとのこと。こりゃ宣伝か。
理論ばかり垂れられてもベンチマーク結果がないと納得できんぞ。
- [ZDNN:「USB 2.0=480Mbps」は必ずしも真ならず(ZDNet JAPAN)] (03.10.03)
この記事はむちゃくちゃだ。信用するに値しない。
まずロゴだが、ガイドラインに提示してある認証試験をクリアしなければ付けてはならないことになっている。認証試験は毎年更新され、そこそこの技術が無いとクリアできない。この記者は
USB 1.0 時代のロゴと「USB Certified」ロゴをごっちゃにして考えているらしい。「USB
Certified」ロゴは勝手に使うと契約違反となり、認証を取り消す権限を USB-IF
は有している。市場には怪しい機器があるが、大手メーカーはそこまでリスクを負わないだろう。だからこそ、そこそこの安心感があのロゴにはあるのだ。
次に 480Mbps だ。これは USB-IF にも責任がある。USB 2.0 とは Hi-Speed(480Mbps)、Full
Speed(12Mbps)、Low Speed (1.5Mbps) の全てを統括した規格だ。よって Full
Speed でも USB 2.0 に適合しているといってもなんら問題は無い。現に MS の
Keyboard は LS の癖して USB 2.0 を返却してくるほどだ。もちろん間違っていない。むしろ正しい。USB
2.0 FS は市場を混乱させることになり、USB-IF は途中から Hi-Speed に対応した
USB 機器は「Hi-Speed USB」と名乗りなさい、と通告する。だがこれも結局混乱の種にしかならなかった。今もこれは続いている。
それから実際には 480Mbps の速度が出ない、という話だが当たり前だ。あの 480Mbps
というのは電気レベルの話だからだ。同じネタでは 802.11b の 11Mbps 辺りもそれに近いのではないだろうか。ではなぜ
480Mbps の速度が出ないのか。それは USB コネクションと Hardware と OS とで絶妙のやり取りが原因だ。これはほぼ
USB の仕様で、この仕様のお陰で複数の機器が同時に接続でき、Hardware も互換が取りやすく設計されていると認識してくれるとありがたい。個別に説明してもイイのだが。
<Home> → <[USB]: USB 総合窓口> → <[USB-COLUMN]: USB 2.0 (Hi-Speed USB) が 480Mbps の速度が出ない理由について>
Copyright (c) 2005 Makoto NARA (Mc.N), All rights reserved.
<Terms of Use>