Pages

Jun 27, 2011

辛苦的對齊 (Align)

按照預設 Windows 2003 以前的版本, 包含 XP, 2000... 等, 並沒有對儲存裝置 (HDD or SSD) 的分割表作規劃, 因此第一個分割表會自動位移 63 sectors, 造就了 32256 bytes (31.5KB) 的偏移.

然而問題就出在這了, Windows Vista 之後的版本, 如 7, Windows 8... 等, 都最少需要 4KB 為邊界作每一次的 IOS 動作, 顯然 31.5KB 沒辦法被 4KB 整除, 因此當正好讀取在 31.5KB 無法整除的邊界時, 就必須要 2 次 IOS 動作.

現在主流的儲存裝置測試主要分兩類: 循序讀寫, 隨機讀寫. 前者沒什麼好說的, 通常可以測試該儲存裝置最大的效能, 然而 Windows 系統碟每秒鐘都會不斷的有資料讀寫, 而這些讀寫往往都是幾個 bytes 而已. 因此 4K 隨機讀寫就成了關鍵, 這項測試結果直接影響使用者對於電腦「反應速度」的「主觀經歷」, 而...4K 隨機讀寫正是 SSD 的特長. SSD 另一個決定性的關鍵是 track-to-track 反應時間, 趨近於 0ms. 而 HDD 受限於主軸馬達轉速與電磁機械磁臂的來回時間, 上述時間都有 8~18ms 之間.

主題拉回來, 那麼如果修改了分割表的位移量, 真的能「看見」改善的效能?