目的のデータを読み書きするのにかかる時間(データ量÷転送速度)
データ転送時間とは、目的のデータが置かれた場所にヘッド(=磁気ディスクの読み書き装置)が到達したあと、実際にそのデータを読み書きするのにかかる時間のことです。HDD(=ハードディスク、磁気を使った補助記憶装置)はデータを「セクタ」という小さな区画に分けて記録しており、ヘッドはセクタを順番に読み取っていきます。
身近な例で考えると、水道の蛇口でバケツに水をためる場面に似ています。バケツの容量が「データ量」、蛇口から出る水の勢いが「転送速度」です。容量が大きいほど時間がかかり、水の勢いが強いほど早く満たせます。これがデータ転送時間の感覚です。
上のツールでデータ量と転送速度のスライダーを動かすと、データ転送時間がリアルタイムで計算されます。「▶ 読み取りをアニメーションで見る」を押すと、ヘッドがセクタを1つずつ読み取っていく様子が見られます。
データ転送時間は、転送したいデータ量を転送速度で割るだけで求められます。
データ転送時間 = データ量 ÷ 転送速度
計算するときは単位をそろえることが大切です。
・データ量:MB(メガバイト)や KB(キロバイト)で表す
・転送速度:MB/秒(1秒あたりに送れるデータ量)で表す
・結果:割り算の答えが「秒」になり、1000倍すると「ミリ秒(ms)」になる
計算例: 4MBのデータを100MB/秒で転送する
データ量 = 4 MB
転送速度 = 100 MB/秒
──────────────────
転送時間 = 4 ÷ 100 = 0.04 秒
= 0.04 × 1000 = 40 ms
このように、同じ転送速度ならデータ量に比例して時間が増え、同じデータ量なら転送速度が速いほど時間は短くなるという、シンプルな反比例の関係になっています。
HDDが1回データにアクセスするときの合計時間(アクセス時間)は、3つの時間の足し算でできています。データ転送時間はそのうちの1要素です。
・シーク時間:ヘッドを目的のトラックまで移動させる時間
・回転待ち時間:目的のセクタがヘッドの下に回ってくるのを待つ時間
・データ転送時間:到達したデータを実際に読み書きする時間
アクセス時間 = シーク時間 + 回転待ち時間 + データ転送時間
少量のデータを読むとき、データ転送時間は全体のごく一部にすぎません。たとえば代表的な構成では、シーク時間が約8ms、回転待ち時間が約4msに対し、小さなデータの転送時間は1msにも満たないことがあります。つまり「データを探して位置を合わせる時間」のほうが「読む時間」より長いのがHDDの特徴です。
身近な例で言うと、図書館で本を1ページだけコピーする場面に似ています。目的の書架まで歩いて本を探す時間(シーク・回転待ち)が大半を占め、実際にコピー機にかける時間(転送)は一瞬です。一方で大量のデータを連続で読むほど、転送時間の割合が大きくなっていきます。上のツールでデータ量を増やすと、帯グラフの転送部分(赤)が伸びる様子を確認できます。