歡迎光臨
每天分享高質量文章

詳解疊瓦式磁記錄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盤工作在最佳狀態。

     點擊原文鏈接獲取已整理成文的<傳統企業儲存知識完全解析>電子書。


熱文閱讀



溫馨提示:

請搜索“ICT_Architect”“掃一掃”二維碼關註公眾號,點擊原文鏈接獲取更多技術資料

Stay hungry Stay foolish

赞(0)

分享創造快樂