USB2.0が480Mbpsに到達しない理由

Zap2さん;「今のちゃちいケーブルとコネクターでは安く公称速度まで出す制御ICは作れないのかな?」

ケーブルとコネクターは大丈夫なんですよ、意外と。通信不良とかで480Mbpsモードで接続できなかったら、次は12Mbpsモード、それでもダメなら1.5Mbpsモードで通信するしか、規格上は存在しないので。

いまのUSB2.0が規格理論上の480Mbpsに到達しないのは、私が回路設計やってた頃の印象だと、以下の通りです。

1.USBの先のデバイスそのもの(たとえばBD-Rドライブ)を動かすコマンド(ATAコマンド)やデータ(書き込むデータ)をUSB2.0の規格のコマンドで「くるむ」ので、USB2.0のコマンドのバイト数分だけオーバーヘッドが発生する。

2.よく使われるUSBの通信手順ではデバイス側(たとえばBD-Rドライブ)から定期的に応答(ack)を返す必要があるので、その分だけオーバーヘッドが発生する。

3.デバイス側の問題。BD-Rドライブやフラッシュメモリそのものの動作速度が遅く、USB2.0の480Mbpsの通信速度に付いてこられない。

こんなところだったような。もちろん、上記は私の稚拙な経験に基づくものなので、他の点で苦労されている回路やさんに訊けばもっと深い理由も出てくるかも知れません。

個人的には、「USB2.0は480Mbps」って言ってしまったUSBの規格屋が悪いと思いますよ。食べ物で言えば「可食部重量」と「総重量」を意識せずに公表しちゃったようなものですからね。

I/O DATA BRD-UXP8(USB2.0&SATA対応外付型)

コメント

  1. MacBS より:

    以下のサイトに良くまとめられていると思います。
    ttp://mcn.oops.jp/usb/spec/480mbps.htm

    昔はUSB Hostの性能がそもそも低かった、
    というのを見た気がします。
    今はどうだか分かりませんけれど。

    あと、FireWireに比べ、USBではCPU負荷が
    多くなる傾向にあるというのも体感上感じます。

  2. Kumadigital より:

    ありがとうございます。
    確かによくまとまってますね-。

    CPU負荷は…規格がintel主導だからでしょうか。

タイトルとURLをコピーしました