當前位置:
首頁 > 科技 > 詳解疊瓦式磁記錄SMR盤基礎知識

詳解疊瓦式磁記錄SMR盤基礎知識

SMR(Shingled Magnetic Recording)疊瓦式磁記錄盤是一種採用新型磁存儲技術的高容量磁碟。SMR盤將碟片上的數據磁軌部分重疊,就像屋頂上的瓦片一樣,這種技術被稱為疊瓦式磁記錄技術。該技術在製造工藝方面的變動非常微小,但卻可以大幅提高磁碟存儲密度。

在數據量飛速增長的當今世界,SMR技術可以有效降低單位容量的磁碟存儲成本,是未來高密度磁碟存儲技術的發展潮流。

儘管SMR盤的讀行為和普通磁碟相同,但它的寫行為有了巨大的變化:不再支持隨機寫和原地更新寫。這是由於SMR盤上新寫入的磁軌會覆蓋與之重疊的所有磁軌,從而摧毀其上的數據。換言之,相較傳統磁碟而言,SMR盤不再支持隨機寫,只能進行順序追加寫。寫入方式的限制給欲使用SMR盤的存儲系統帶來了巨大的挑戰。

SMR盤的技術原理

大數據時代的數據量呈指數級增長,預計每兩年就會翻一番。硬碟作為一種經濟高效的存儲介質,在當今的存儲數字世界中依然起著中流砥柱的作用。

硬碟驅動器的存儲面密度(每單位面積存儲的位數)受到物理定律的限制,目前硬碟使用的PMR垂直磁記錄(Perpendicular Magnetic Recording)技術即將達到其存儲密度極限。業界迫切希望引入新的技術來克服限制,繼續穩步提升容量。

SMR盤是領先的下一代磁碟技術。 SMR盤在製造工藝方面的變動非常微小,因為它保持現有磁頭和介質技術不變,它通過將磁軌像屋頂上的瓦片那樣重疊在一起來實現其存儲面密度的增長。

具體來說,硬碟碟片被劃分為同心圓狀的磁軌,磁軌與磁軌之間具有一定間隔,起到保護作用。硬碟的磁頭位於碟片記錄介質的上方,包含用於寫入的寫磁頭和用於讀取的讀磁頭,二者是獨立的部件。在磁碟上想要寫入數據,需要寫磁頭施加較強的磁場來改變碟片上的記錄,這就進一步要求寫磁頭足夠大以產生所需的寫入磁場強度。因此,如果磁軌沒有任何重疊,磁碟上每英寸能容納的磁軌數量由寫磁頭的寬度所決定。

傳統硬碟與SMR盤磁記錄方式的對比示意圖

疊瓦式寫入則利用了磁碟讀取所需要的磁場強度低於寫入所需要的磁場強度的事實。換言之,磁碟讀取所需的磁軌寬度可以小於寫入所需的軌道寬度,讀磁頭的寬度可以小於寫磁頭寬度。SMR盤上數據的寫入是通過部分重疊前一條磁軌寫入的,同時留出了足夠的空間給較窄的讀磁頭讀取前一條磁軌的數據。疊瓦式寫入的結果就是留給讀用的窄磁軌,以及最後用於寫入的較寬的寫磁軌,寫入將會覆蓋若干個讀磁軌的寬度。

和傳統磁碟相比,SMR盤通過疊瓦式寫入在相同的面積內容納了更多的磁軌,從而提高了存儲面密度,進而降低了磁碟單位存儲容量的成本。

SMR磁碟將磁軌劃分為若干個帶(Band),即由連續磁軌所構成的可連續寫入區域,每個區域構成一個需要順序寫入的基本單元。Band是SMR盤上的物理概念,其對應的邏輯概念是「區域」(zone),是上層軟體所能看到的SMR盤的順序寫區域。一個zone的大小通常在256 MB量級。由於SMR盤仍然確保可以從磁軌的未重疊部分讀取數據,zone內的數據讀取依舊可以隨機進行。

SMR盤在生產製造時就劃分好了分區,通過在zone之間出留出較大的間隔來標識zone的起始位置。此外,硬碟廠商在SMR盤上一小塊區域內,通過採用傳統硬碟非重疊的磁軌組織方式,犧牲了部分存儲密度以換取在這些zone內隨機寫入的能力。這部分zone被稱為「傳統區」(Conventional Zone),為上層應用的隨機寫提供了一個落腳點。

在傳統硬碟上,存儲在磁碟上的用戶數據由文件系統來管理,文件系統假定磁碟提供的塊介面中,塊是獨立可更新的單元。但是,由於疊瓦式寫入導致隨機寫和原地更新寫不再受支持,SMR盤需要全新的數據管理解決方案。尋找一種方法來高效地存儲、檢索和管理SMR盤中這些大塊順序寫區域中的數據,而不會導致太多空間浪費是非常具有挑戰性的。


SMR盤的分類

SMR盤採用疊瓦式記錄通過將一個zone內的磁軌按序部分重疊,獲得了更高的存儲面密度、更大的磁碟容量、更低的單位容量價格。在獲得這一好處的同時,SMR盤也對上層應用提出了一些限制,包括SMR盤在zone內只能順序寫,不支持隨機寫,SMR盤的空間回收以一個Zone的大小(例如256MB)為粒度。

SMR盤對寫入的約束可在硬體側由硬碟本身來管理,亦可在主機側由軟體來進行。前者被稱為「驅動器自管理的SMR盤」(Drive Managed SMR disk),以下簡稱DM SMR盤。後者則將SMR內部的組織結構通過新增介面向上層軟體暴露。

制定SCSI協議的T10國際組織和制定ATA協議的T13國際組織都針對SMR盤對SCSI和ATA協議進行了相應的拓展。

T10組織引入了ZBC(Zoned Block Commands),定義了SMR盤相關的術語和行為,成為SAS介面SMR盤所必須遵守的規範。

T13組織引入了ZAC(Zoned-device ATA Commands),與ZBC類似,是SATA介面SMR盤所必須遵守的標準。

ZBC和ZAC標準將SMR盤抽象成為一組Zone的集合,其中的Zone由一段連續的LBA構成。ZBC與ZAC標準中均定義了SMR盤中可以存在的三種類型的Zone:

傳統Zone(Conventional Zone簡寫為C-Zone)

首選順序寫入Zone(Sequential-Preferred Zone簡寫為SP-Zone)

強制順序寫入Zone(Sequential-Required Zone簡寫為SR-Zone)

對C-Zone而言,和傳統硬碟一樣,它具有完全的隨機寫能力,對其中寫入IO的邏輯塊地址(LBA)的順序不做任何限制。C-Zone所佔的大小一般不超過SMR盤容量的1%。

SP-Zone也不對寫入順序做強制性限制,但是,和C-Zone不同的是,SP-Zone位於SMR盤的順序寫入區域,最適合順序寫。SP-Zone引入了寫指針(Write Pointer,以下簡稱WP)的概念,該指針等於該Zone內的最大LBA,應用程序應該首選在SP-Zone內的寫指針處寫入數據。儘管該硬碟本身在也能夠處理非寫指針處的寫入(隨機寫),但這是有代價的,會引起後續的數據遷移、垃圾回收等。

對於每個Zone,SR-Zone也暴露了寫指針WP的位置,但硬碟設備將拒絕寫入除寫指針指向的LBA以外的任何位置,也就是SR-Zone內必須以寫指針當前所在位置為起點,進行順序追加寫。

當SR-Zone寫滿之後,則需通過Reset Write Pointer操作將該WP重置到該Zone開頭,即清空該Zone以回收空間,從頭開始寫入。SP-Zone和SR-Zone被統稱為寫指針區(Write Pointer Zone)。

如前所述,如果一塊硬碟採用了疊瓦式寫入技術,但是對外不暴露Zone和WP,由硬碟固件本身來管理寫入的順序性約束,我們稱之為Drive Managed SMR。

如果一塊硬碟採用了疊瓦式寫入技術,對外暴露了Zone和WP,並且所包含的Zone類型僅僅含有C-Zone和SR-Zone,那麼我們稱之為Host Managed SMR(主機管理的SMR盤)。

如果一塊硬碟採用了疊瓦式寫入技術,對外也暴露了Zone和WP,並且所包含的Zone類型由C-Zone和SP-Zone組成,那麼我們稱之為Host Aware SMR(主機感知的SMR盤)。

HA SMR盤可以視為DM SMR盤和HM SMR盤的折中類型。

上表總結了三種SMR盤的特點。雖然DM SMR盤採用和傳統硬碟相同的介面,在內部實現一個疊瓦轉換層STL(Shingle Translation Layer)對外隱藏了順序寫入的限制,但它也有一個主要缺點:

在某些帶有隨機寫的工作負載下,DM SMR盤內順序寫入區域需要進行數據遷移、垃圾回收等背景操作,DM SMR盤的性能可能受到不可預測的影響,性能波動巨大。

相比之下,HM SMR盤不將自身偽裝為傳統磁碟,而是根據ZBC/ZAC標準對外暴露了zone和WP的抽象結構,允許上層軟體來完全管理SMR盤的順序寫入約束,對不符合順序寫規則的IO請求則直接返錯。通過向上暴露新介面,HM SMR盤的IO行為完全受軟體控制,因而其性能是可控的,能最大化發揮SMR盤的優勢。

但劣勢是上層的軟體必須進行修改才能使用HM SMR盤。HA SMR盤提供了和HM SMR盤一樣的新介面,但是當其收到不符合順序寫原則的IO是,HA SMR盤將允許其寫入而非報錯,具有一定的靈活性。

無論採用哪一種類型的SMR盤,我們都需要將上層應用的IO行為特點與SMR盤順序寫的內在特點相匹配,否則就無法使SMR盤工作在最佳狀態。

熱文閱讀

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 架構師技術聯盟 的精彩文章:

白話智能合約與區塊鏈技術
埃森哲全球「技術展望2018」報告解析

TAG:架構師技術聯盟 |