字節(jié)模擬的可行讀序列

在寫入上”過程更為復(fù)雜一些,特別是主機(jī)嘗試寫入的數(shù)據(jù)為4K物理扇區(qū)的子集時(shí)。這時(shí),硬盤必須首先讀取 包含主機(jī)寫入請(qǐng)求目標(biāo)位置的整個(gè)4K扇區(qū),合并現(xiàn)有數(shù)據(jù)與新數(shù)據(jù),然后重新寫入整個(gè)4K扇區(qū)。在此情況下,硬盤必須執(zhí)行額外的機(jī)械步驟:讀取4K扇區(qū)數(shù) 據(jù)、修改其內(nèi)容,然后重新寫入數(shù)據(jù)。此過程稱為 “讀取-修改-寫入 “(read-modify-write)循環(huán),但這個(gè)過程不夠理想,因?yàn)樗鼤?huì)對(duì)硬盤性能造成負(fù)面影響。”

字節(jié)模擬的可行寫序列

上面所提到的負(fù)面影響產(chǎn)生的原因之一,就是邏輯塊和物理塊的對(duì)齊問題。前面我們說過,每個(gè)512字節(jié)扇區(qū)都分配了唯一的LBA,根據(jù)硬盤大小,數(shù)字可以是從0到所需的數(shù)字。主機(jī)會(huì)使用分配的LBA來請(qǐng)求特定的數(shù)據(jù)塊。主機(jī)請(qǐng)求寫入數(shù)據(jù)時(shí),會(huì)在寫入結(jié)束時(shí)會(huì)返回一個(gè)LBA地址,告知主機(jī)數(shù)據(jù)的位置。

當(dāng)LBA 0與4K物理扇區(qū)中的第一個(gè)512字節(jié)虛擬塊對(duì)齊時(shí),512字節(jié)模擬的邏輯塊到物理塊對(duì)齊情況稱為Alignment 0。另一種可能出現(xiàn)的對(duì)齊情況是,LBA 0與4K物理扇區(qū)中第二個(gè)512字節(jié)虛擬塊對(duì)齊。這種情況稱為Alignment 1。類似的這種分區(qū)不對(duì)齊情況,就會(huì)引起"讀取-修改-寫入"事件,影響系統(tǒng)性能,這也就是對(duì)齊問題。

對(duì)齊問題

目前,硬盤廠商的解決方案是,通過Firmware或者系統(tǒng)程序來進(jìn)行人工對(duì)齊。另外,通過Windows7、部分Linux等在內(nèi)的操作系統(tǒng)進(jìn)行格式化操作,也可以避免這種情況。

重整山河待后生

盡管支持4KB格式的產(chǎn)品已經(jīng)開始出現(xiàn),不過,在企業(yè)級(jí)市場(chǎng)上硬盤供應(yīng)商依然還是處于觀望狀態(tài)。一方面,企業(yè)級(jí)應(yīng)用對(duì)于數(shù)據(jù)可用性的要求非常苛刻,新技術(shù)在這一領(lǐng)域的發(fā)展并沒有消費(fèi)級(jí)市場(chǎng)那么快,特別是在頻繁寫入上其還需要經(jīng)受一些考驗(yàn);另一方面,企業(yè)級(jí)應(yīng)用的環(huán)境更為復(fù)雜,除了硬盤和操作系統(tǒng)支持外,包括RAID控制器等在內(nèi)的其它組件也需要提供足夠的響應(yīng),而目前這種支持還并不到位。希捷翟光寶認(rèn)為,在企業(yè)級(jí)市場(chǎng)上,未來一段時(shí)間將有可能會(huì)出現(xiàn)兩種技術(shù)并存的情況。

硬盤容量的提升大戰(zhàn)還會(huì)繼續(xù)進(jìn)行。套用一句常見的話,To be continued……  

分享到

lixuyang

相關(guān)推薦