在寫入上”過程更為復(fù)雜一些,特別是主機(jī)嘗試寫入的數(shù)據(jù)為4K物理扇區(qū)的子集時。這時,硬盤必須首先讀取 包含主機(jī)寫入請求目標(biāo)位置的整個4K扇區(qū),合并現(xiàn)有數(shù)據(jù)與新數(shù)據(jù),然后重新寫入整個4K扇區(qū)。在此情況下,硬盤必須執(zhí)行額外的機(jī)械步驟:讀取4K扇區(qū)數(shù) 據(jù)、修改其內(nèi)容,然后重新寫入數(shù)據(jù)。此過程稱為 “讀取-修改-寫入 “(read-modify-write)循環(huán),但這個過程不夠理想,因為它會對硬盤性能造成負(fù)面影響。”
上面所提到的負(fù)面影響產(chǎn)生的原因之一,就是邏輯塊和物理塊的對齊問題。前面我們說過,每個512字節(jié)扇區(qū)都分配了唯一的LBA,根據(jù)硬盤大小,數(shù)字可以是從0到所需的數(shù)字。主機(jī)會使用分配的LBA來請求特定的數(shù)據(jù)塊。主機(jī)請求寫入數(shù)據(jù)時,會在寫入結(jié)束時會返回一個LBA地址,告知主機(jī)數(shù)據(jù)的位置。
當(dāng)LBA 0與4K物理扇區(qū)中的第一個512字節(jié)虛擬塊對齊時,512字節(jié)模擬的邏輯塊到物理塊對齊情況稱為Alignment 0。另一種可能出現(xiàn)的對齊情況是,LBA 0與4K物理扇區(qū)中第二個512字節(jié)虛擬塊對齊。這種情況稱為Alignment 1。類似的這種分區(qū)不對齊情況,就會引起"讀取-修改-寫入"事件,影響系統(tǒng)性能,這也就是對齊問題。
目前,硬盤廠商的解決方案是,通過Firmware或者系統(tǒng)程序來進(jìn)行人工對齊。另外,通過Windows7、部分Linux等在內(nèi)的操作系統(tǒng)進(jìn)行格式化操作,也可以避免這種情況。
重整山河待后生
盡管支持4KB格式的產(chǎn)品已經(jīng)開始出現(xiàn),不過,在企業(yè)級市場上硬盤供應(yīng)商依然還是處于觀望狀態(tài)。一方面,企業(yè)級應(yīng)用對于數(shù)據(jù)可用性的要求非??量?,新技術(shù)在這一領(lǐng)域的發(fā)展并沒有消費(fèi)級市場那么快,特別是在頻繁寫入上其還需要經(jīng)受一些考驗;另一方面,企業(yè)級應(yīng)用的環(huán)境更為復(fù)雜,除了硬盤和操作系統(tǒng)支持外,包括RAID控制器等在內(nèi)的其它組件也需要提供足夠的響應(yīng),而目前這種支持還并不到位。希捷翟光寶認(rèn)為,在企業(yè)級市場上,未來一段時間將有可能會出現(xiàn)兩種技術(shù)并存的情況。
硬盤容量的提升大戰(zhàn)還會繼續(xù)進(jìn)行。套用一句常見的話,To be continued……