
在傳統格式中,每個(gè)扇區大小為 512 byte,在扇區的數據之間,需要間隔一個(gè)同步/分隔(Sync/DAM)區域和一個(gè)ECC 錯誤校驗區域 (40 byte)。而在“先進(jìn)格式化”模式下,每 4K byte 為一個(gè)扇區,相當于把之前的 8 個(gè)扇區合而為一,只需要一個(gè)同步/分隔區域和一個(gè)容量稍大的 ECC 校驗區 (100 byte)。下圖是傳統格式和先進(jìn)格式扇區的對比,從中可以看到,存儲同樣的 4K byte 數據,先進(jìn)格式占用的面積明顯更小,能夠節省 200 byte 的磁道空間。4K byte 扇區對于磁道的利用率高達 97%,遠遠高于傳統格式的 88%。

傳統格式和先進(jìn)格式扇區的對比
先進(jìn)格式化技術(shù)更有效地利用了磁盤(pán)盤(pán)片上寶貴的存儲面積,預計能夠將硬盤(pán)的可用容量提升 7% 到 11%。以 1TB 硬盤(pán)為例,原本分區容量為 930GB 左右,使用新模式后可能將達到 1000GB 以上。因此,這種新技術(shù)的推出或許還能有一個(gè)附加效果,即讓很多人對硬盤(pán)容量縮水的質(zhì)疑迎刃而解。
雖然先進(jìn)格式化技術(shù)更有優(yōu)勢,但是現有的操作系統大部分都還不支持 4K byte 扇區格式,為了過(guò)渡和兼容,硬盤(pán)廠(chǎng)商為新出的 4K byte 扇區硬盤(pán)準備了一種 512e (Emulation) 的硬盤(pán)固件,利用固件來(lái)把傳統的對于 512 byte 扇區的邏輯訪(fǎng)問(wèn)轉換為對于 4K byte 扇區的物理訪(fǎng)問(wèn);當然,新硬盤(pán)還有另一種固件直接支持 4K byte 扇區的訪(fǎng)問(wèn),這種硬盤(pán)稱(chēng)之為 4Kn (Native);傳統格式的硬盤(pán)被稱(chēng)之為 512n (Native),原生就是 512 byte 的扇區。
硬盤(pán)格式 | 邏輯扇區大小 | 物理扇區大小 |
512e | 512 | 512 |
512n | 512 | 4096 |
4Kn | 4096 | 4096 |
硬盤(pán)扇區的邏輯地址一般用邏輯區塊地址 LBA (Logical Block Address) 來(lái)表示。針對 512e 硬盤(pán)而言,操作系統中讀寫(xiě)的扇區大小還是 512 字節,使用 512 字節的邏輯扇區地址來(lái)標注寫(xiě)入地址。例如:下圖中待寫(xiě)入的數據塊 LBA 是 1002,當真正寫(xiě)入數據時(shí),512e 硬盤(pán)的固件會(huì )把它映射到物理地址 125 (編號為 125 的數據塊,起始編號為 0) 的扇區。在這個(gè)例子中,可以看到待寫(xiě)入的數據塊是 512 字節,遠小于物理扇區大小,所以需要把物理地址為 125 的 4K 字節整個(gè)讀出來(lái),再改寫(xiě)邏輯地址 1002 數據塊對應的位置,然后才能把整個(gè)扇區真正寫(xiě)入物理扇區,這會(huì )造成一定的性能損失。

512e 硬盤(pán)中邏輯地址到物理地址的映射
當我們將大于 4K 的數據塊寫(xiě)入 512e 硬盤(pán)時(shí),由于一次寫(xiě)入的扇區大小就是 4K,所以寫(xiě)操作的性能會(huì )有較大提升。但是如果寫(xiě)入 512e 硬盤(pán)的數據塊小于 4K 時(shí),操作系統就必需經(jīng)過(guò)讀取→修改→寫(xiě)入的復雜過(guò)程,這會(huì )造成比較明顯的性能下降。一些傳統應用(如數據庫系統)的I/O操作最小單位仍小于 4KB,使用原生 512 byte 扇區硬盤(pán)可以保證最好的性能,采用 512e 硬盤(pán)容易產(chǎn)生性能影響。
vSphere 6.5 對于 512e 先進(jìn)格式硬盤(pán)的支持,使用戶(hù)能夠使用最新的大容量硬盤(pán)(如 6TB 硬盤(pán)),并且提高硬盤(pán)空間的利用率,從而幫助用戶(hù)更好地降低存儲成本。