固態(tài)硬盤里的HMB主機內(nèi)存緩沖區(qū)是什么? NAND Flash介紹

科技進步的背后有一條真理:發(fā)明者和工程師們首先理解并實現(xiàn)新技術的基礎原理,接著才去考慮如何在性能和成本上做進一步優(yōu)化。這個原則在 SSD 固態(tài)存儲領域同樣適用,也就是人們常說的從實驗室到量產(chǎn)階段。
接下來,我們將介紹一項近年來固態(tài)硬盤技術的重要進展——主機內(nèi)存緩沖區(qū) (Host Memory Buffer,HMB),它利用主機內(nèi)存來提升存儲設備性能,推動了固態(tài)硬盤技術的進一步發(fā)展。
SSD 緩存設計的權衡因素
在固態(tài)硬盤 (SSD) 設計中,增加 NAND Flash 存儲單元(閃存顆粒)可以提升容量和性能。然而,正如所有產(chǎn)品設計一樣,工程師需要在資源和成本之間找到平衡。
目前,有兩種主要方式可以提升存儲單元的現(xiàn)有性能:一是提升 NAND Flash 密度,二是增加額外的閃存顆粒,但這會占用更多物理空間。由于硬盤的 PCB 空間都有限,增加閃存顆粒通常意味著就要減少其他元件。
有緩方案(DRAM)
DRAM 代表動態(tài)隨機存取存儲器,該閃存模塊安裝在固態(tài)硬盤的印刷電路板 (PCB) 上,用于存儲數(shù)據(jù)映射表,這些表記錄了所有的邏輯塊及其物理位置。簡單來說,DRAM 讓固態(tài)硬盤能夠更快處理隨機數(shù)據(jù)請求,還用于緩存寫入數(shù)據(jù),提高寫入性能。但 DRAM 會顯著提高 SSD 的成本,它的成本可能是普通 NAND Flash 的數(shù)倍。
無緩方案(沒有 DRAM)
為了降低成本,目前,許多廠商選擇移除快速但昂貴的 DRAM,也就是人們常說的「無緩方案」。然而,DRAM 是一種高速的易失性存儲器,并不能被輕易取消。沒有 DRAM 的設計在數(shù)據(jù)傳輸,尤其是處理高容量隨機讀取時,會面臨性能下降和信號完整性的挑戰(zhàn)。DRAM 的存在能讓數(shù)據(jù)訪問更快,缺少它可能會顯著影響硬盤的整體性能。
什么是 HMB 主機內(nèi)存緩沖區(qū)
那么,工程師要如何解決無緩 SSD 的性能問題呢?簡單來說,就是使用 HMB(主機內(nèi)存緩沖區(qū))技術。HMB 允許 SSD 利用主機的內(nèi)存資源,主動提升性能。
為 SSD 分配主機內(nèi)存
NVMe 1.2 規(guī)范首次引入了 HMB 功能,規(guī)定了 HMB 如何將主機內(nèi)存分配給 SSD 使用:
- NVMe (NVM Express) 是一個開放標準,用于定義如何訪問非易失性存儲設備,如 NAND Flash。
- NVMe 1.2 規(guī)范規(guī)定了 HMB 如何將主機內(nèi)存分配給 SSD 使用。經(jīng)過適當配置的 SSD 可以與主機通信,申請指定的最小緩沖區(qū) (Buffer) 大小。
- NVMe 1.2 還設置了各種條件和限制,以確保在 SSD 意外斷開連接時,數(shù)據(jù)不會丟失或損壞。
- 要使用 HMB,還需要 SSD 和操作系統(tǒng)都必須同時支持。比如,從 2017 年發(fā)布的 Windows 10 1703 版本開始,Windows 系統(tǒng)就已經(jīng)支持 HMB 技術;Linux 內(nèi)核從 4.14 版本開始也全面支持HMB。
HMB 通常用于存儲 FTL(Flash Translation Layer)映射表,而不是直接存儲用戶數(shù)據(jù)。
為什么選擇 HMB?從有緩到無緩 SSD
早期的 SSD 設計中,同時使用了非易失性閃存和易失性 RAM 來提高數(shù)據(jù)處理效率。具體來說,DRAM 設備被用作緩沖區(qū),主要有兩個原因:
- DRAM 是易失性的,斷電后數(shù)據(jù)會丟失,因此不適合長期數(shù)據(jù)存儲。
- RAM 設備的讀寫速度比閃存設備更快。這個特性讓 RAM 能夠作為「中繼站」,在數(shù)據(jù)傳輸時提供臨時存儲,為持續(xù)處理任務的 NAND Flash 提供緩解。
緩存中最關鍵的信息是邏輯地址到物理存儲位置的映射,即 L2P(邏輯到物理)表。該表會隨著 SSD 的讀寫頻繁更新:
- 關機時,L2P 表會存儲在 NAND Flash 中,防止在斷電時丟失。
- 開機后,這些表會被加載到 DRAM 中,由控制器繼續(xù)實時更新。
DRAM 緩存空間越大,通常意味著更靈活的數(shù)據(jù)管理和更快的響應速度,特別是在處理「隨機讀取」任務時。
SSD 有 DRAM 緩存運行機制
然而,DRAM 是一種按密度計算的昂貴資源,價格通常是 NAND Flash 的數(shù)倍左右,而且短期內(nèi)也不會改變。因此,盡管 DRAM 具備顯著優(yōu)勢,但過去十來年,無 DRAM 的 SSD 也逐漸開始流行。這些 SSD 體積小、成本低,但因緩存空間受限,對 SSD 性能也會有所影響。
無緩 SSD 也將 L2P 表保存在 NAND Flash 中,當控制器需要訪問 L2P 表時,會將表加載到控制器的內(nèi)部 SRAM 中進行更新,然后再次存儲在 NAND Flash 中。
無 DRAM 和無 HMB 的 SSD 緩存操作機制
然而,SRAM 的成本更高,容量也較小,典型的 Flash 控制器也只有幾兆字節(jié)的 SRAM,因此無緩 SSD 的性能通常不如有緩設計。
無 DRAM 和有 HMB 的 SSD 緩存操作機制
這也正是 HMB 技術誕生的根本原因。HMB 允許 SSD 將 L2P 表從 NAND Flash 加載到主機內(nèi)存中,并通過主機不斷刷新緩存,這種「神操作」跟 DRAM 的方法十分相似。
啟用了 HMB 的 SSD 在處理隨機工作負載時,性能損失并不明顯。接下來,我們將展示一些實際測試數(shù)據(jù),看看 HMB 對 SSD 性能的影響。
有無 HMB 性能提升對比
在啟用 HMB 后,SSD 在「隨機讀取」操作時的性能會得到顯著提升。然而,HMB 的性能提升也會因為工作負載的不同而有所變化。這是因為:主機不總能提供足夠的內(nèi)存空間給 NAND Flash 控制器來使用。
「隨機讀取」指的是控制器根據(jù)主機請求,從 NAND Flash 中不規(guī)則的位置提取特定大小的數(shù)據(jù)。
以下圖表展示了在不同工作負載下,使用 HMB 后,數(shù)據(jù)處理從 1 GB 到 32 GB 時的性能非線性提升:
1GB 數(shù)據(jù)隨機讀取
8GB 數(shù)據(jù)隨機讀取
32GB 數(shù)據(jù)隨機讀取
- 出現(xiàn)這種非線性是由于 HMB 的緩存容量有限,在處理 L2P 表和大量中間數(shù)據(jù)時,性能提升會逐漸減緩。
- 比如,在處理 32 GB 數(shù)據(jù)時,IOPS 的增幅相比 8 GB 數(shù)據(jù)并不太明顯,這突顯了 HMB 的性能提升存在一定的上限。
- 即便如此,在處理 32 GB 數(shù)據(jù)時,HMB 仍能帶來超過 100000 IOPS 的額外提升,這個提升非常顯著。要知道,即使是通過精細的固件優(yōu)化,也很難實現(xiàn)如此大幅度的性能增長。
IOPS(每秒輸入/輸出操作)是衡量存儲設備性能的關鍵指標,直接反映了設備處理數(shù)據(jù)請求的速度。
如何在 Windows 中使用 HMB
如前所述,要使用 HMB 功能,需要你使用的 SSD 和操作系統(tǒng)同時支持。通常情況下:
- 在 SSD 的固件中,通常會預設 HMB 的最小和最大內(nèi)存占用值。
- 在 Windows 10 1703 及更高版本 Windows 系統(tǒng)中,默認支持 HMB 緩存功能。
如果你安裝了 SSD 廠商的官方硬盤驅動或管理程序,通??梢钥吹绞欠裰С植⒂?HMB 功能,這個需要你自己去探索使用;如果你沒有安裝 SSD 廠商的應用,Windows 會使用系統(tǒng)自帶的 StorNVMe 存儲控制器驅動程序,該驅動的 HMB 容量上限默認為 64MB。
你可以通過更改注冊表,來調(diào)整 HMB 容量:
1、使用Windows + R
快捷鍵打開「運行」對話框,執(zhí)行regedit
打開注冊表編輯器。
2、導航到以下路徑:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorPort
3、新建一個名為HmbAllocationPolicy
的 DWORD (32 位) 值 ,并將其值設置為:
0
:禁用 HMB 功能。1
:啟用 HMB,并嘗試分配 SSD 固件允許的最小值。2
:啟用 HMB,并嘗試分配 SSD 固件的首選值。3
:基于設備使用情況,由 SSD 固件控制緩沖區(qū)大小。
設置 HmbAllocationPolicy 注冊表值
相關文章
2488次重啟的驚人實力! 長江存儲PC41Q 1TB固態(tài)硬盤評測
最近,長江存儲推出了PC41Q商用消費級固態(tài)硬盤,這款產(chǎn)品引起了廣泛關注,其最大亮點在于,使用QLC顆粒的同時,依然能提供媲美TLC顆粒的性能,而且穩(wěn)定性也得到了極大的保2024-10-17價格相差不到130 2TB版佰維NV7200和佰維NV7400固態(tài)硬盤怎么選?
佰維NV7400和佰維NV7200在2TB容量下,價格相差130元,這兩款該怎么選擇呢?下面我們就來看看全面測評2024-10-16讀寫超過2000MB/s 可作蘋果手機外置存儲:影馳PSD01 1TB移動固態(tài)硬盤評
影馳宣布推出其首款磁吸移動固態(tài)硬盤PSD01,這一產(chǎn)品的亮相,令人眼前一亮,率先發(fā)布的1TB版本可謂是個開胃菜,未來還將推出500GB和2TB的不同版本,今天我們就來做詳細測評2024-10-16- SSD性能不佳可能有幾個原因:驅動器上的存儲空間不足,錯誤的Windows設置干擾,或者可能只需要調(diào)整SSD的設置,下面我們就來看看榨取SSD固態(tài)硬盤的最后一點性能的技巧2024-10-10
完全分不清固態(tài)硬盤和機械硬盤怎么辦? 一文詳述兩者區(qū)別
如今,我們常見的硬盤主要分為兩大類:機械硬盤(HDD)和固態(tài)硬盤(SSD),下面我們從幾個緯度來分析:工作方式、各自優(yōu)勢、適用場景,詳細請看下文介紹2024-10-09創(chuàng)作與AI應用利器! 西部數(shù)據(jù) WD BLUE SN5000 SSD固態(tài)硬盤測評
知名的存儲廠商西部數(shù)據(jù),針對用戶的這些需求,擴展了旗下的WD Blue系列,推出全新性能更高且容量更大的產(chǎn)品,WD Blue SN5000就是其中的一個系列,下面我們就來看看詳細測2024-10-01新買的固態(tài)硬盤首次如何使用? 新SSD到手后一定要先做這幾件事!
固態(tài)硬盤是電腦中很重要的設備,新入手的固態(tài)硬盤ssd到手后該怎么做呢?下面我們就來看看新固態(tài)硬盤到手需要做的幾件事2024-09-30突破2100MB/s! 致態(tài)靈·先鋒版移動固態(tài)硬盤首發(fā)測評
致態(tài)木星10上市3年半后,長江存儲推出了容量更大、速度更快的移動固態(tài)硬盤新品:致態(tài)靈·先鋒版,突破2100MB/s、能拍超高碼率視頻、可連各種設備,下面我們就來看看致態(tài)靈2024-09-27開啟trim數(shù)據(jù)還能恢復嗎? SSD固態(tài)硬盤是否支持trim功能的查看技巧
固態(tài)硬盤Trim,是提升SSD性能的關鍵技術,它并非直接刪除操作,而是通過微軟與SSD廠商合作的Ata8-Acs2規(guī)范中的 Trim 指令,解決SSD使用后可能出現(xiàn)的性能下降問題2024-09-20固態(tài)硬盤什么牌子好 性價比高的固態(tài)硬盤推薦
市場上固態(tài)硬盤品牌眾多,性價比與型號更相關,推薦性價比高的品牌有西部數(shù)據(jù)、Solidigm、三星等一線品牌,以及鎧俠、致鈦等二線品牌,西部數(shù)據(jù)產(chǎn)品性能高,價格合理,售后良好,S2024-09-14