ファイルコピーとセクタコピーの性能テスト

Blog6

ファイルコピーとセクタコピーの性能テスト

以前のブログにUSB3.0ハブ3つでUSBコピー機を作成する過程を紹介しました。今回は前回作成したコピー機を使用してUSB Copyプログラムでファイルコピーの時間とセクタコピーの時間を比較してみたいと思います。

まずはファイルコピーとセクタコピーについて説明します。

ファイルコピー方式

エクスプローラで行うコピーと同じです。ソースとなる位置にあるファイル1つをターゲットとなる位置にコピーして次のファイルを読み、再度コピーするというのを繰り返す方法です。

セクタコピー方式

ディスクは物理的に円盤でできておりこの円盤は論理的にトラックとそのトラックを分けるセクタで成り立っています。セクタはデータが保存されている部屋だと考えると簡単です。セクタコピーはソースとなるディスクでセクタを読み、ターゲットとなるディスクと同じ位置のセクタにコピーする方式です。コピーしなければならないセクタにどのようなファイルがあるのかはセクタコピー方式では重要ではありません。ソースとなるディスクの円盤をターゲットとなるディスクの円盤にそのまま写し出すと考えていただければ結構です。

テスト環境

テストは以下の環境で行います。

テスト環境
テストUSBメモリ Zyrus Nextik-PRO USB 2.0 4GB(4,001,337,344Byte)
テストPC
CPU : Intel Core i5-2500 3.30GHz
Memory : 16GB
OS : Windows 8 Enterprise K 64Bit
Main Board : Gigabyte GA-H67A-UD3H-B3
HDD : SamSung 830 Series 128G SSD
USB Type : Renesas USB 3.0 eXtensible Host Coltroller 2EA(4 Port)
USB 3.0 HUB ORICO USB 3.0 HUB 3EA
テストFile Image File 28,680個(3,188,002,248 Byte(2.96GByte)

ファイルコピーのテスト結果

テストはUSB1個、11個、22個のUSBにファイルコピーでコピーした場合の時間と1秒当たりの送信量を測定しました。

USB個数 データ総量 ファイルコピー総所要時間 ファイルコピー速度
1個 25,504,017,984bit 2,460秒(41分) 10Mbps
11個 280,544,197,824bit 2,820秒(47分) 95Mbps
22個 561,088,395,648bit 2,880秒(48分) 186Mbps

* ファイルコピーのデータ総量はテスト用イメージファイルの全体容量にコピーしなければならないUSB個数をかけた値です。

セクタコピーテストの結果

テストはUSB1個、11個、22個のUSBにセクタコピーで作業した際の時間と1秒当たりの送信量を測定しました。

USB個数 データ総量 ファイルコピー総所要時間 ファイルコピー速度
1個 32,010,698,752bit 600秒(10分) 51Mbps
11個 352,117,686,272bit 1,320秒(22分) 254Mbps
22個 704,235,372,544bit 1,440秒(24分) 466Mbps

* セクタコピーのデータ総量はテストUSB用メモリの全容量とコピーしなければならないUSB個数をかけた値です。

テストに使用したファイルの個数が多く容量が小さいファイルコピーより、セクタコピーが2倍ほど速くコピーできることがわかります。ファイルコピーはファイル1つをコピーするためにファイルの位置を探して送信し、次のファイルの位置を探すのにリソースを多く使用するためです。セクタコピーはそのような必要がないためファイルコピーに比べ速度が速くなります。

テストに使用したUSBメモリはUSB2.0タイプであり、22個のメモリに対しセクタコピー方式でテストするとUSB2.0の1秒当たりの最大送信量である480Mbpsの97%まで到達するのを確認できます。

機会があればUSB3.0タイプのメモリについてもテスト結果をご紹介いたします。