大容量儲存與磁碟排程

旋轉延遲(rotational latency)

想像餐桌上有個旋轉的轉盤,邊緣擺著一道道菜,而你只能在某道菜經過你正前方的位置時去拿它。即使你已經對準了正確的位置伸手,你仍得等你想要的那道菜轉過來。如果它剛剛經過,你要等將近一整圈;如果它快到了,幾乎不必等。硬碟上的旋轉延遲就是那段等待:在讀寫頭已位於正確磁軌之後,旋轉的磁片把想要的磁區轉到讀寫頭下方所花的時間。

具體來說,磁片以固定速度旋轉,所以這段等待只取決於目標磁區此刻相對於讀寫頭的位置。最壞情況是磁區剛剛經過,你要等將近一整圈;最好情況是它正要到達,你幾乎不必等。平均而言你要等半圈。你可以直接從轉速算出它:在 7200 RPM 下,磁片每 60 / 7200 秒轉一圈,約 8.33 毫秒,所以平均旋轉延遲是它的一半,約 4.17 毫秒。轉得更快的硬碟(較舊的企業級硬碟有 10000 或 15000 RPM)能縮短這段延遲。

為什麼重要:旋轉延遲是磁碟存取時間三個組成中的第二個,夾在搜尋時間與傳輸時間之間。它是純粹的等待——在資料轉來之前,硬碟除了旋轉什麼也做不了——而它替隨機存取速度設下了一道任何排程都無法完全抹去的硬底線(排程主要對付的是搜尋)。有些進階排程器確實也試圖按旋轉位置來排序請求,但這很精細。和搜尋時間一樣,旋轉延遲在 SSD 上根本不存在,因為沒有任何東西在旋轉。

在 7200 RPM 下,硬碟每 8.33 毫秒轉一圈。如果讀寫頭恰好在目標磁區剛溜過去時落到正確磁軌上,硬碟就要等將近完整的 8.33 毫秒;如果它恰好在磁區到來之前落定,則幾乎不必等。在許多次隨機讀取之中,平均約為 4.17 毫秒。

平均等待是半圈,由轉速固定決定。

旋轉延遲是無可避免的等待,而不是資料傳輸緩慢。人們常把它併入「搜尋時間」,但兩者不同:搜尋是移動臂,延遲是等待旋轉。總存取時間是搜尋、延遲與傳輸三者相加。

又稱
rotational delaylatency旋轉延時