今年6月,NVMe標準更新定義了一個軟件接口,以幫助SSD和NAND閃存實際工作時讀寫到硬盤的方式。
區別于模仿從硬盤和早期存儲技術繼承的傳統塊設備模型,新的NVMe ZNS (NVMe Zoned Namespaces)可選特性允許SSD在閃存上實現不同的存儲抽象。這與SAS和SATA為適應SMR硬盤而添加的擴展非常相似,還有一些為SSD做的額外擴展。帶有這個新特性的“分區”SSD可以提供比普通SSD更好的性能,同時需要的配置更加精簡,所需DRAM更少。缺點是應用程序和操作系統必須更新以支持分區存儲,目前這項工作正在順利進行。
NVMe ZNS規范構建在當前的NVMe 1.4規范之上,為NVMe2.0做準備,已經作為一項技術提案得到批準和發布。即將到來的NVMe 2.0規范將包含所有獲批準的技術提議,ZNS的標準化為NVMe 2.0更廣泛的商業化和應用掃清了道路,目前NVMe 2.0一直受到特定于供應商的分區存儲接口和有限硬件選擇的阻礙。
分區存儲概述
使用閃存作為固態硬盤的根本挑戰是:我們所有的計算機都是圍繞著硬盤如何工作的概念構建的,而閃存的行為與硬盤不同。閃存的組織方式與機械硬盤非常不同,為了提升閃存的性能,對計算機進行優化變成一項值得投入的工作。
機械硬盤是一種類似的存儲介質,沒有固有的結構來規定扇區大小等特性。長期選擇512字節扇區標準只是為了方便,現在當我們達到多TB范圍的硬盤容量時,企業硬盤支持4K字節扇區。相比之下,閃存芯片的設計中包含了好幾層結構,最重要的指標是頁面大小和擦除塊大小。可以使用頁大小粒度(通常是幾個KB)讀取數據、寫入空頁,擦除操作可以清除整個塊(多MB)。讀/程序操作和擦除操作之間的實際大小不匹配是一個普通機械硬盤不必處理的復雜問題。閃存有限的編程/擦除周期也增加了挑戰,因為寫入次數越少,壽命就越長。
如今,幾乎所有的SSD都是作為具有512字節或4kB扇區的簡單類HDD塊存儲設備的抽象呈現給軟件的。這隱藏了SSD的所有復雜性,如頁面和擦除塊大小、磨損均衡和垃圾回收等。這種抽象也是SSD控制器和固件比硬盤控制器更大、更復雜(更容易出錯)的部分原因。大多數情況下,塊設備抽象仍然是最優的折衷方法,它允許軟件無需修改就可以享受閃存的大部分性能優勢,而對于寫入擴展等缺點也在可管理范圍內。
多年來,存儲行業一直在探索塊存儲抽象的替代方法。有幾個關于Open Channel SSD的建議,它們將閃存的許多細節直接暴露給主機系統,將SSD固件的許多職責轉移到運行在主機CPU上的軟件上。已經推廣的各種Open Channel SSD標準在各個領域取得了不同的平衡(在具有完全驅動管理的FTL(flash translation layer)的典型SSD和完全軟件管理的解決方案之間平衡)。業界一致認為,最早的一些標準,如LightNVM 1.x規范,暴露了太多的細節,需要軟件處理不同供應商閃存之間的差異,或SLC, MLC, TLC等之間的差異。較新的標準尋求更好的平衡和抽象級別,以便更容易大規模推廣應用,同時允許軟件繞過典型SSD的低效率特性。
為了從另一個方向解決這個問題,NVMe標準已經獲得了一些特性,允許SSD與主機共享更多關于數據訪問和布局的最佳模式信息。在很大程度上,這些都是軟件可以利用的可選特性,沒有意識到這些特性的軟件仍然可以正常工作。NVMe規范的過去幾次修訂中添加了指令和流、NVM集、可預測的延遲模式等,以使軟件和SSD能夠更好地協作。
最近,受硬盤市場的影響,第三種方法的勢頭正在增強。SMR是一種技術,部分重疊的軌道機械硬盤盤片可以增加存儲密度。這種方法的缺點是,直接修改任意字節的數據而不破壞相鄰重疊的磁道是不可能的,因此SMR硬盤將磁道分組到區域中,只允許在區域內順序寫操作。這對包括隨機寫操作的工作負載具有嚴重的性能影響,也是SMR硬盤在市場上受到褒貶不一的部分原因。然而,在服務器存儲市場中,主機管理的SMR也是一個可行的選擇:它要求操作系統、文件系統和應用程序軟件能夠直接感知區域,但在使用環境受控時,進行必要的軟件更改并不是不可克服的挑戰。
用于SMR硬盤的分區存儲模型也非常適合與FLASH一起使用,它是NVMe ZNS的前身。SMR硬盤的類區域結構反映了SSD的頁和擦除塊結構。對寫的限制不是完全匹配的,但已經足夠接近了。
后面我們將介紹什么是NVMe ZNS,以及它的重要性。
-
SSD
+關注
關注
21文章
2883瀏覽量
117675 -
應用程序
+關注
關注
38文章
3292瀏覽量
57827 -
nvme
+關注
關注
0文章
222瀏覽量
22695
原文標題:為什么NVMe SSD需要分區存儲?
文章出處:【微信號:SSDFans,微信公眾號:SSDFans】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論