プロが教える店舗&オフィスのセキュリティ対策術

Win8の入ったPCに内蔵で
1TBのSSDと8TBのHDDが入っています。

SSDの転送速度は450MB/s程度で
HDDの転送速度は140MB/s程度です。

SSDからHDDに大きなファイルをコピーした時
5TBのファイルをコピーしたとすると
最初の1~2TB程度は400MB/s程度とSSD上限くらいの高速に転送が行われ
その後は140MB/s程度とHDD上限くらいの速度で転送が行われます。

1TBのファイルをコピーした場合には
最後まで400MB/s程度の高速で転送が行われます。


一体、なぜ最初の1~2TB程度の時だけ
HDDの転送速度を上回る速度でファイルがコピーできるのでしょうか?
HDDのキャッシュが影響しているのではないかと思うのですが
これはHDDのキャッシュ→SSDのファイル転送速度が画面に表示されているため
表示上、高速に見えるだけであって
実際にはHDDのディスク→HDDのキャッシュ
の転送で時間がかかるため、
140MB/s程度で転送が行われているのでしょうか?

質問者からの補足コメント

  • 1GBの間違いです。
    1~5GBのファイルを1TB SSD→8TBの HDDにコピーです。
    HDDはWD80EFZXです。

    キャッシュ機能があるのは分かるのですが
    ディスクから読み出すのに400MB/sも速度が出ないと思うのですが。

    あとOSのキャッシュ機能というのはメインメモリにあるのでしょうか?
    ファイル転送時には1GBもデータを貯めておくのでしょうか?

    No.2の回答に寄せられた補足コメントです。 補足日時:2016/06/20 22:58

A 回答 (5件)

難しい質問だと思います。



一般的には、HDDとかSSDには、キャッシュメモリーが搭載されてあります。

ファイルコピーといえば、例えばIODATAのマッハコピーとかを利用されていらっしゃる人が多いと思います。

■参考資料:IODATAのフリーソフト、ファイルコピーマッハコピー
http://www.iodata.jp/ssp/soft/data/speed/machcop …

キャッシュメモリーと呼ばれるものがすでにHDDとかにあり、そのキャッシュメモリーをソフトなどがより大きく
割り当て直しているのではないでしょうか。

例えば、ノートPCがあり、そこにメインメモリーが8GB搭載しているという場合、1GBとかの容量を一時的に
HDDとかのキャッシュを増やすという役割に当てる。

メインメモリーというのは、SSDなんかとはけた違いに転送速度が速い特徴があります。単純に電気信号が溜まった
状態ですから。

例えば、HDDにキャッシュメモリーが搭載されていて、それがどのくらいの容量なのか詳しくはわかりませんが、
それ程大きくないので、140MB/sとなるのだと仮定しますと、キャッシュメモリーを1GBとかに一時的にソフトとかが
増やすと、1GBとかまではそれよりも早くコピーできるのではないでしょうか。

例えば、8GBのメモリを搭載したノートPCがある。システムがタスクマネジャーで確認すると4GBシステムが
使用している状態だとする。

あと4GB程余っているような状況なので、1GB程SSDのキャッシュに割り当てて、1GBをHDDのキャッシュに
割り当てると仮定する。

通常であれば、小さなキャッシュにデーターを入れたり出したりしているので、とても転送が遅くなるような感じが
あり、でもキャッシュを一時的に大きくすると、速度が読みこみとか書き込みだけをするということに専念できる
ように変わり、一時的に爆速化できる。

SSDに、「この1GBの容量の箱の中にひたすらコピー元を読み出しなさい」と命令した場合、ここから1GBまで一気に
読み出せとなります。

イメージとして、会社に行った時に、1つの課に10台くらいデスクが並んでいると思いますが、10台の机の上に
その読み込みした結果を置きなさいという感じです。

ひたすらキャッシュに読み込むだけなので、少し通常より早くなると思います。

次に、HDDのキャッシュに、「ここにある10台のデスクに広げたデーターをひたすら書き込みなさい」と命令する
ので、それは通常よりも早く書き込みができるようになる。

コピーする容量が1GBくらいであれば、何とか早くできるけれども、ファイル容量が大きくなるとキャッシュが足りなく
なるので、遅くなってしまう。

でも、CPU・SSD・HDDとか、それぞれ転送速度が違うので、バッファと呼ばれる機能で、メモリとかで調整して
いるので、次第に速度が落ちてしまう。

瞬間的に加速はさせることができるけれども、次第に元のスピードの上限になっていくという感じではないでしょうか。

人間でも、会社に朝向かう途中、交差点の信号機が青になったのが見える距離にいると、「走るか」とおじさんでも
短い距離であれば走れたりします。

でも、自宅から駅まで全力疾走しようとかは思わないものです。

今の時代、ノートPCのCore i5搭載のCPUでHDD搭載のノートPCを買った人が、SSDにクローンコピーさせてガチャポンと
入れ替えて使う傾向にあります。

これは、転送速度の速さという上限速度が速い為に、HDDを使うと転送速度で待たされる時間がもったいない・・・と
考えるからだと思います。

PCは、メモリの中で、その待つとかという調整を行っているだけなので、メモリ搭載量とかでも、8GBくらいを最低量と
いう風に考え、増設されている人は少なくないと思います。

>一体、なぜ最初の1~2GB程度の時だけ
>HDDの転送速度を上回る速度でファイルがコピーできるのでしょうか?

たぶん、メモリに余裕があったりして、一時的にキャッシュを増やしてあげることができ、その結果一時的に普段の性能より
早くなるという、瞬間芸のような調整がされるからだと思います。

女性がテレビショッピングとかでダイエット関連のグッズでも見た時に、「これでやせられるわ」と一念発起し、買い、
でも1カ月もしたら飽きてしまう。

それと同じようなもので、瞬間的に加速することはできても、CPUは温度センサーが搭載されていて、動画のエンコードとかを
するとファンがうなったりしますし、クロックダウンすることもあります。

HDDとかもフルアクセス状態となると結構熱くなりますが、一般的にはHDD温度60℃超えると逝ってしまいますので、
そこまでフルアクセス状態で限界点までの加速はしないと思います。

PCは半導体の塊のようなものなので、熱が1番苦手だったりします。

ファイルをコピーするときとかというシュチュエーションでは、1GBとかある程度の容量であれば、「このくらいまで爆速化しなさい」と
命令できる反面、ある線を超えるとPC全体の寿命にも影響するので、「このくらいにしなさい」みたいに調整もしていると
思います。
    • good
    • 1

SSD や HDD にはキャッシュが載っていますので、その範囲内ではキャッシュの速度で転送が行われますので、一時的に速度が速くなります。

これは、皆さんがおっしゃっています。

OS もメモリを使ってバッファを使ってコピーを行えば、そのメモリの容量分は転送速度が速くなります。それ以上の容量を転送している場合は、実質的な転送速度に落ち着きます。OS のコピー機能でどの程度のキャッシュを設定しているかは判りませんが、その容量は搭載しているメモリによって変化するでしょう。

下記のようなソフトでは、メインメモリをバッファに使う容量を設定できます。私も使っており、バッファに 512MB を割り当てています。これで、数百GBのコピーを良く行っています。
http://forest.watch.impress.co.jp/library/softwa … ← バッファサイズは 「設定」 から 「一般設定」 で設定可能。

その他、完了時間予約とエラー時継続、ベリファイにチェックを入れて実行すると、コピー終了までの時間を表示、エラーがあってもコピーを継続、ベリファイでコピーを確認するなど、機能が豊富です。また、既存のフォルダへのコピーを行う場合、同じファイルをチェックしてスキップする機能もありますので、バックアップ等にも使えます。大容量のコピーを行う場合は、必ず使っています。
http://osusume-freeware.blog.jp/archives/1014251 …

意外と便利な機能は、「全削除」 です。指定したフォルダの内容を削除します(笑)。
    • good
    • 2

それなりの速度でファイルが壊れずにコピーできているのならそんなに気にする必要もないと思いますけどね……。



「WD80EFZX データシート」で検索すると該当製品のスペックが書かれたPDFが見つかるかと。
内部転送速度が175MB/sとのこと。
HDDのコントロール基板上にあるキャッシュを使い果たした場合はこれより速くはならない…と思われます。
ただし、上記の内部転送速度がどの辺りの部分のことを言っているのかは不明です。
読み込み速度なのか、書き込み速度なのか、内周のセクタでの速度なのか外周のセクタでの速度なのか…平均値なのか最速の速度なのか……

>ディスクから読み出すのに400MB/sも速度が出ないと思うのですが。

上記の通り、キャッシュを使い果たした(データがキャッシュに載っていない)場合は内部転送速度を超えることはないでしょう。
が、結果として内部転送速度よりデータ転送が大きい。というふように見せかける方法はあるでしょう。
ファイルシステムの圧縮機能などを利用している場合は実際のメディアとの読み書き量と必要としているバイト列としてのデータ量が異なることもあります。
圧縮/展開はメモリ上で行われるでしょうからメディアの転送速度は関係ありませんし。
# 単純なランレングス圧縮だったとしても特定の値で4G埋められていたとして5バイト読み込めば4Gのデータになります。
# 0x00が4Gバイト分という記録の仕方になりますから。まぁ、実際にはメディアのセクタサイズ分はまとめて読み書きすることになりますけど。
コントローラ次第ではあるでしょうがSSDへの書き込みも場合によっては遅いんじゃないでしょうかね…。

ある程度の期間の速度が表示されているだけで、リアルタイムにその瞬間の速度が表示されているワケでもない。
と思っていた方がいいんじゃないでしょうか?
どのみち「目安」程度に表示していいるものですし。

>あとOSのキャッシュ機能というのはメインメモリにあるのでしょうか?
>ファイル転送時には1GBもデータを貯めておくのでしょうか?

普通はメインメモリ上です。
CPUのキャッシュには乗らないでしょう。(アクセス時にデータキャッシュとかに乗ることはあるかも知れませんが、意味はないですな)
どの程度ディスクキャッシュに割り振られるかは搭載メモリとかの関係もあるかと。
# ファイルがメディアのどの場所にあるのか…とかの管理情報程度ならほぼ丸ごとキャッシュに乗っているんじゃないですかね。
# ファイルの中身…だと、過去に読み書きしていなければそれほど乗っていないでしょう。(ファイルにアクセス開始した時に先読みしてキャッシュに乗ることはあるでしょうけど)
    • good
    • 0

質問、1TBのSSDから、どのように2TBのファイルを転送するのですか?


2TB以上のSSDですか?

HDDのキャッシュ以外にOSにもキャッシュ機能がありますよ
1GB程度なら、HDDなりOSのキャッシュ機能が動作している可能性あり

HDDでも、まさかST8000AS0002ではないですよね?
これは、特殊ですから、動作も特殊のくせ者。200MB/s程度は出たはずかと
この回答への補足あり
    • good
    • 0

1TBのSSDとはリッチですなぁ


で、ファイルが5TB?こりゃまたでかいですなぁ

ところで、1TBしかないSSDにどうすれば5TBのファイルが納まるんでしょうか?
何か魔法のような裏技があるんでしょうか?

で、後半になるとSSDからHDDの筈が
矢印がHDDからSSDの方に向かっていたりするんですが
いったい何がどうなっているのでしょうか?

この辺の単位とか手順とか条件なんかを、丁寧に正確に記述して貰えないと
見当違いの方向に話が進むことにもなりかねません

どういう環境で、どういう手順で何をしたらどうなったのか?
再度確認してくれないかな
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています