2002年8月20日

USB 1.1 vs USB 2.0 Benchmark

 

「USB 1.1 vs USB 2.0 Benchmark 〜 Storage deviceの場合 〜」

http://his.luky.org/doc/usb-bench.html

Ver0.3 2002-08-20 Copyright(C) 2002, Hisaaki Shibata/柴田 尚明@福岡市
shibata@luky.org

LinuxでUSBインタフェースを利用して外付HDDを接続してみました。 外付HDDそのものは「USB 2.0対応」と明記されていたので、 手元のノートPC内蔵のUSB 1.1と PC card の USB 2.0 インタフェースに 接続して非常に簡単な性能比較を行なってみました。

ご意見は、柴田までメールでお願いします。
尚、本ドキュメントは全文丸ごとであればどこへでも転載可能/リンク可能です(^^)


目次

0 .来歴・トピックス
1 .経緯
2 .関連情報/参考文献
3 .用意したhardware
4 .用意したsoftware
5 .性能測定
6 .いくつかの問題点
7 .TODO
8 .謝辞


0.来歴・トピックス

[次へ][目次へ]

2002-08-20 Ver. 0.3

  • CardBus USB2.0インタフェースカードのチップ記述追加
  • PCI USB2.0インタフェースカード経由の性能測定結果追記
2002-08-17 Ver. 0.2
  • 写真やリンク追加
2002-08-16 Ver. 0.1
  • 新規作成


1.経緯

[次へ][前へ][目次へ]

「ディスクが足りない。」この問題は、いつまでたっても付きまといます。 たとえノートPCの内蔵ディスク容量が1年毎に倍になったとしても、 何故か足りません。
私がメインで業務に利用しているノートPC Hitachi FLORA 220FX も 内蔵ディスク容量が20GBと一昔前では考えられないほどの容量になっても、 気がつくと使用率が90%を超しています。
これでは日々降り注ぐ添付ファイル付のメール豪雨を乗り切る事は出来ません(^^;

と、言う理由でUSB接続の外付HDDを購入する事にしました(^^;;
外付ケースにはどれも一長一短あったのですが、ドライブベイタイプとしても使えるものが比較的安く、しかも USB 2.0とあったので、購入してみました。

ついでと言っては何なのですが、ノートPC内蔵インタフェースであるUSB 1.1経由と、CardBusのUSB 2.0アダプタ経由で性能比較を行なってみました。


2.関連情報/参考文献

[次へ][前へ][目次へ]


3.用意したhardware

[次へ][前へ][目次へ]

性能を計った事もあり、ある程度正確にモデル名を示すようにします。

  • ノートPC 日立FLORA 220FX NP2のPentium III 750MHzモデル
  • 2.5インチハードディスクケース Century CDC25U2/35I左側が上蓋で、右側がHDDを内蔵したケースです。
    尚、このカードのUSBコントロールチップは、lspciの結果NEC製らしい事がわかりました。
    hong:/home/shibata# lspci 
    00:00.0 Host bridge: Intel Corp. 440BX/ZX - 82443BX/ZX Host bridge (rev 03)
    中略
    00:0a.0 CardBus bridge: Texas Instruments PCI1410 PC card Cardbus Controller (rev 02)
    中略
    02:00.0 USB Controller: NEC Corporation USB (rev 41)
    02:00.1 USB Controller: NEC Corporation USB (rev 41)
    02:00.2 USB Controller: NEC Corporation: Unknown device 00e0 (rev 01)
      
  • 2.5inch HDD IBM Travelstar 40GN(IC25N040ATCS04) 40GB 4200rpm
  • USB2.0 CardBus PC Card RatocREX-CBU2

FLORA 220FX NP2は USB1.1インタフェースを内蔵しているのですが、USB2.0は非対応であるため、 CardBusのUSB2.0インタフェース REX-CBU2 を利用しました。

CDC25U2/35Iへの給電は、USBのバスパワーが基本なのですが、足りない場合に備えてPS/2インタフェースから5Vを取り出すケーブルが添付されています。今回もこのケーブルを利用しました。

尚、 CDC25U2/35I の中にはHDDのATAインタフェースに接続する小さな基板 が入っているだけのシンプルなものです。
その基板上には in-system と書かれたインタフェース変換らしいチップが載っていました。
探してみたところ、CypressのISD300A1のようです。


4.用意したsoftware

[次へ][前へ][目次へ]

4.1 Linux ディストリビューション

どのようなディストリビューションでもいいと思います。
今回はDebian GNU/Linux 3.0(woody)で行ないました。

4.2 linux-2.4.19.tar.bz2 or later

2.4.19からUSB2.0(ehci)が正式サポートされた事もあり、 ソースからmakeしたカーネルを利用しました。


5.性能測定

[次へ][前へ][目次へ]

5.1 ls -lR

USB経由でfsck,mke2fsを行なった外付HDD上に数万個以上のファイルをコピーし ました。ノートPCにmountした上でmountしたトップディレクトリから


# time ls -lR|tail
を実行した結果を示します。
multi user modeで動作させたままでしたが、 他には特段重たいプログラムは動かしていない状態での測定です。

USB 1.1 USB 2.0
real 14m49.500s
user 1m10.140s
sys 0m19.560s
real 9m11.731s
user 1m10.800s
sys 0m20.150s
このテストでは、USB2.0の場合はUSB1.1に比べて約1.6倍高速化されました。

5.2 find and cat

同じく100kbytes程度の数千個以上のファイルがある外付HDD上の ディレクトリ上で


# time find . -type f -exec cat {} \; > /dev/null
を実行した結果を示します。
multi user modeで動作させたままでしたが、 他には特段重たいプログラムは動かしていない状態での測定です。

USB 1.1 USB 2.0
real 24m52.944s
user 1m52.160s
sys 0m22.390s
real 4m7.810s
user 1m52.460s
sys 0m23.360s
このテストでは、USB2.0の場合はUSB1.1に比べて約6.0倍高速化されました。

尚、それぞれのテストはUSB1.1→USB2.0の順番で実施しましたが、 USB1.1のテスト終了後に外付ドライブは一度unmountし、別のmount pointに マウントした後に測定しています。
また、find & catでのusb2.0でのテストの後にもう一度usb1.1でテストを 行ないましたが、real で3秒程度の差しかなく、ファイルバッファの影響は 排除できているのではないかと判断します。

ディスクを同じくIBMの Travelstar シリーズの IC25N020A に変更し、Pentium III 673MHz x 2の自作SMPマシンに GIGABYTEのUSB2.0インタフェースカードである GC-USB20N に変更して同じファイル群での性能測定も行ないました
ドライブそのものは一世代前のものなので、性能は低くなるかと 思ったのですが、まずはその結果を以下に示します。

USB 2.0
real 2m7.539s
user 0m8.080s
sys 0m14.160s
CPUパワーがあるのが効いたのか、PCIバスのUSB2.0インタフェースカードが 効いたのか、Note PCにCardBusインタフェースの更に2倍程度の性能に なっています。


6.いくつかの問題点

[次へ][前へ][目次へ]

CardBusのUSB2.0インタフェースカードは、以前のカーネルではきちんと認識してくれなかったのですが、linux-2.4.19ではすんなり認識しehci-hcdモジュールが組み込まれたのですが、USB2.0インタフェースを利用した後にCardBusを抜去すると、カーネルごと固まってしまいます(^^;
手動でehci-hcdモジュールをrmmodした後に抜去すると問題ありません。
もう少し調査してみようと思います。


7. TODO

[次へ][前へ][目次へ]

7.1 必ずやる

(1)bonnie++などの ベンチマークソフトウエアを用いて、内蔵HDDも含めた比較を行ないます。
(2)ファイルサイズを変えてみてテストを行なう。

7.2 気が向いたら...

(1)その他のマシンでも測定してみる。 (2)ファイルサイズ別のアクセス結果をグラフの形でまとめる。

7.3 お金があったら...

(1)IEEE1394インタフェースの外付HDD箱との比較をしてみたいが、 箱を買うお金が...

8.謝辞

[次へ][前へ][目次へ]

私がLinuxを使えるようにしてくださったすべての方に感謝いたします。
また、この文書作成にあたっては、JFをはじめとする多くのドキュメントを参考にさせて頂いています。ありがとうございますm(_|_)m

以上
[玄関へ] [総本店へ]
Last modified: Tue Aug 20 02:43:15 JST 2002