質問: ssd→外付hddの転送速度が1mb/sしか出ない win7/メモリ4g/cpuインテル core i5-4570 cドライブのssd(samsung 120gb (840 evo))にある4gb程度のデータを 外付けhdd(hd-lbv3.0tu3/n/usb3.0)にコピーしようとしたら 速度が1mb/s程度しか出ません。 ssdもusb3.0も初めて扱うのですが、これで正常な速度なのでしょうか? ひょっとして細かいファイルが多いせいでしょうか? 因みに同じデータをusb2.0の外付けhddからssdへ移動する時は 20mb/sくらいから始まり徐々に遅くなり最終的には5mb/s程度で終わりました。
回答: hddの機構は、小さいデータほど効率が低くなるんですよ。 ベンチマークで4kという項目があるのは、これは一般的にwindowsで使われている ntfsというファイルシステムの、管理単位が4k(4kb)だからです。 hddの内部としては、4kbの管理単位よりも小さいファイルは4kbの領域を専有します。 (クラスタギャップという容量計算上の誤差の原因が生じます) また、必然的に、1bの小さなファイルを書いても、4kb-1b分の空間を通り過ぎて 次の領域に別のファイルを書き込んでいく事になります。 内部の動きとしては、それほどシンプルではありませんが ともかく、小さいファイルを扱うことによって、ファイルを扱っていない 無駄に動いている時間がどんどん増えていくわけです。 また、これはhddコントローラーとos側のデバイスドライバーやファイルシステムドライバーにおいて それだけ、多くの手数をかける結果になっています。 100回の書き込み命令で1kbのファイルを100個書き込む作業は 1回の書き込みで、100kbのファイルを一つ書き込むよりも、手数が多くなります。 こういったソフトウェア的な要因と、ハードウェア的な要因、両方が速度低下の原因になります。 ですから、場合によっては小さいファイルを一旦アーカイブにまとめた上で 外付けhddなどにバックアップするほうが、効率が高くなる場合もあります。 特に、更新を伴わない過去のデータなどであれば、これは効率的な管理方法になる場合があります。 fddの時代には、本当にディスク圧縮ツールを介したほうが fddにそのまま保存するより高速になったりしていたんですよね。 usb2.0でもそういう効果は高いはずです。 usb3.0やesataは、現状hddの性能が規格上限にぶつかっていないので 圧縮の効果は、それほど大きなものにはならない場合もあり 圧縮の使いどころは、判断が難しいかもしれません。 まぁ、圧縮していないほうが、検索や部分的なリストア時に柔軟ですしね。