固態(tài)硬盤(pán)里的HMB主機(jī)內(nèi)存緩沖區(qū)是什么? NAND Flash介紹
科技進(jìn)步的背后有一條真理:發(fā)明者和工程師們首先理解并實(shí)現(xiàn)新技術(shù)的基礎(chǔ)原理,接著才去考慮如何在性能和成本上做進(jìn)一步優(yōu)化。這個(gè)原則在 SSD 固態(tài)存儲(chǔ)領(lǐng)域同樣適用,也就是人們常說(shuō)的從實(shí)驗(yàn)室到量產(chǎn)階段。

接下來(lái),我們將介紹一項(xiàng)近年來(lái)固態(tài)硬盤(pán)技術(shù)的重要進(jìn)展——主機(jī)內(nèi)存緩沖區(qū) (Host Memory Buffer,HMB),它利用主機(jī)內(nèi)存來(lái)提升存儲(chǔ)設(shè)備性能,推動(dòng)了固態(tài)硬盤(pán)技術(shù)的進(jìn)一步發(fā)展。
SSD 緩存設(shè)計(jì)的權(quán)衡因素
在固態(tài)硬盤(pán) (SSD) 設(shè)計(jì)中,增加 NAND Flash 存儲(chǔ)單元(閃存顆粒)可以提升容量和性能。然而,正如所有產(chǎn)品設(shè)計(jì)一樣,工程師需要在資源和成本之間找到平衡。
目前,有兩種主要方式可以提升存儲(chǔ)單元的現(xiàn)有性能:一是提升 NAND Flash 密度,二是增加額外的閃存顆粒,但這會(huì)占用更多物理空間。由于硬盤(pán)的 PCB 空間都有限,增加閃存顆粒通常意味著就要減少其他元件。
有緩方案(DRAM)
DRAM 代表動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器,該閃存模塊安裝在固態(tài)硬盤(pán)的印刷電路板 (PCB) 上,用于存儲(chǔ)數(shù)據(jù)映射表,這些表記錄了所有的邏輯塊及其物理位置。簡(jiǎn)單來(lái)說(shuō),DRAM 讓固態(tài)硬盤(pán)能夠更快處理隨機(jī)數(shù)據(jù)請(qǐng)求,還用于緩存寫(xiě)入數(shù)據(jù),提高寫(xiě)入性能。但 DRAM 會(huì)顯著提高 SSD 的成本,它的成本可能是普通 NAND Flash 的數(shù)倍。
無(wú)緩方案(沒(méi)有 DRAM)
為了降低成本,目前,許多廠商選擇移除快速但昂貴的 DRAM,也就是人們常說(shuō)的「無(wú)緩方案」。然而,DRAM 是一種高速的易失性存儲(chǔ)器,并不能被輕易取消。沒(méi)有 DRAM 的設(shè)計(jì)在數(shù)據(jù)傳輸,尤其是處理高容量隨機(jī)讀取時(shí),會(huì)面臨性能下降和信號(hào)完整性的挑戰(zhàn)。DRAM 的存在能讓數(shù)據(jù)訪(fǎng)問(wèn)更快,缺少它可能會(huì)顯著影響硬盤(pán)的整體性能。
什么是 HMB 主機(jī)內(nèi)存緩沖區(qū)
那么,工程師要如何解決無(wú)緩 SSD 的性能問(wèn)題呢?簡(jiǎn)單來(lái)說(shuō),就是使用 HMB(主機(jī)內(nèi)存緩沖區(qū))技術(shù)。HMB 允許 SSD 利用主機(jī)的內(nèi)存資源,主動(dòng)提升性能。

為 SSD 分配主機(jī)內(nèi)存
NVMe 1.2 規(guī)范首次引入了 HMB 功能,規(guī)定了 HMB 如何將主機(jī)內(nèi)存分配給 SSD 使用:
- NVMe (NVM Express) 是一個(gè)開(kāi)放標(biāo)準(zhǔn),用于定義如何訪(fǎng)問(wèn)非易失性存儲(chǔ)設(shè)備,如 NAND Flash。
- NVMe 1.2 規(guī)范規(guī)定了 HMB 如何將主機(jī)內(nèi)存分配給 SSD 使用。經(jīng)過(guò)適當(dāng)配置的 SSD 可以與主機(jī)通信,申請(qǐng)指定的最小緩沖區(qū) (Buffer) 大小。
- NVMe 1.2 還設(shè)置了各種條件和限制,以確保在 SSD 意外斷開(kāi)連接時(shí),數(shù)據(jù)不會(huì)丟失或損壞。
- 要使用 HMB,還需要 SSD 和操作系統(tǒng)都必須同時(shí)支持。比如,從 2017 年發(fā)布的 Windows 10 1703 版本開(kāi)始,Windows 系統(tǒng)就已經(jīng)支持 HMB 技術(shù);Linux 內(nèi)核從 4.14 版本開(kāi)始也全面支持HMB。
HMB 通常用于存儲(chǔ) FTL(Flash Translation Layer)映射表,而不是直接存儲(chǔ)用戶(hù)數(shù)據(jù)。
為什么選擇 HMB?從有緩到無(wú)緩 SSD
早期的 SSD 設(shè)計(jì)中,同時(shí)使用了非易失性閃存和易失性 RAM 來(lái)提高數(shù)據(jù)處理效率。具體來(lái)說(shuō),DRAM 設(shè)備被用作緩沖區(qū),主要有兩個(gè)原因:
- DRAM 是易失性的,斷電后數(shù)據(jù)會(huì)丟失,因此不適合長(zhǎng)期數(shù)據(jù)存儲(chǔ)。
- RAM 設(shè)備的讀寫(xiě)速度比閃存設(shè)備更快。這個(gè)特性讓 RAM 能夠作為「中繼站」,在數(shù)據(jù)傳輸時(shí)提供臨時(shí)存儲(chǔ),為持續(xù)處理任務(wù)的 NAND Flash 提供緩解。
緩存中最關(guān)鍵的信息是邏輯地址到物理存儲(chǔ)位置的映射,即 L2P(邏輯到物理)表。該表會(huì)隨著 SSD 的讀寫(xiě)頻繁更新:
- 關(guān)機(jī)時(shí),L2P 表會(huì)存儲(chǔ)在 NAND Flash 中,防止在斷電時(shí)丟失。
- 開(kāi)機(jī)后,這些表會(huì)被加載到 DRAM 中,由控制器繼續(xù)實(shí)時(shí)更新。
DRAM 緩存空間越大,通常意味著更靈活的數(shù)據(jù)管理和更快的響應(yīng)速度,特別是在處理「隨機(jī)讀取」任務(wù)時(shí)。

SSD 有 DRAM 緩存運(yùn)行機(jī)制
然而,DRAM 是一種按密度計(jì)算的昂貴資源,價(jià)格通常是 NAND Flash 的數(shù)倍左右,而且短期內(nèi)也不會(huì)改變。因此,盡管 DRAM 具備顯著優(yōu)勢(shì),但過(guò)去十來(lái)年,無(wú) DRAM 的 SSD 也逐漸開(kāi)始流行。這些 SSD 體積小、成本低,但因緩存空間受限,對(duì) SSD 性能也會(huì)有所影響。
無(wú)緩 SSD 也將 L2P 表保存在 NAND Flash 中,當(dāng)控制器需要訪(fǎng)問(wèn) L2P 表時(shí),會(huì)將表加載到控制器的內(nèi)部 SRAM 中進(jìn)行更新,然后再次存儲(chǔ)在 NAND Flash 中。

無(wú) DRAM 和無(wú) HMB 的 SSD 緩存操作機(jī)制
然而,SRAM 的成本更高,容量也較小,典型的 Flash 控制器也只有幾兆字節(jié)的 SRAM,因此無(wú)緩 SSD 的性能通常不如有緩設(shè)計(jì)。

無(wú) DRAM 和有 HMB 的 SSD 緩存操作機(jī)制
這也正是 HMB 技術(shù)誕生的根本原因。HMB 允許 SSD 將 L2P 表從 NAND Flash 加載到主機(jī)內(nèi)存中,并通過(guò)主機(jī)不斷刷新緩存,這種「神操作」跟 DRAM 的方法十分相似。
啟用了 HMB 的 SSD 在處理隨機(jī)工作負(fù)載時(shí),性能損失并不明顯。接下來(lái),我們將展示一些實(shí)際測(cè)試數(shù)據(jù),看看 HMB 對(duì) SSD 性能的影響。
有無(wú) HMB 性能提升對(duì)比
在啟用 HMB 后,SSD 在「隨機(jī)讀取」操作時(shí)的性能會(huì)得到顯著提升。然而,HMB 的性能提升也會(huì)因?yàn)楣ぷ髫?fù)載的不同而有所變化。這是因?yàn)椋褐鳈C(jī)不總能提供足夠的內(nèi)存空間給 NAND Flash 控制器來(lái)使用。
「隨機(jī)讀取」指的是控制器根據(jù)主機(jī)請(qǐng)求,從 NAND Flash 中不規(guī)則的位置提取特定大小的數(shù)據(jù)。
以下圖表展示了在不同工作負(fù)載下,使用 HMB 后,數(shù)據(jù)處理從 1 GB 到 32 GB 時(shí)的性能非線(xiàn)性提升:

1GB 數(shù)據(jù)隨機(jī)讀取

8GB 數(shù)據(jù)隨機(jī)讀取

32GB 數(shù)據(jù)隨機(jī)讀取
- 出現(xiàn)這種非線(xiàn)性是由于 HMB 的緩存容量有限,在處理 L2P 表和大量中間數(shù)據(jù)時(shí),性能提升會(huì)逐漸減緩。
- 比如,在處理 32 GB 數(shù)據(jù)時(shí),IOPS 的增幅相比 8 GB 數(shù)據(jù)并不太明顯,這突顯了 HMB 的性能提升存在一定的上限。
- 即便如此,在處理 32 GB 數(shù)據(jù)時(shí),HMB 仍能帶來(lái)超過(guò) 100000 IOPS 的額外提升,這個(gè)提升非常顯著。要知道,即使是通過(guò)精細(xì)的固件優(yōu)化,也很難實(shí)現(xiàn)如此大幅度的性能增長(zhǎng)。
IOPS(每秒輸入/輸出操作)是衡量存儲(chǔ)設(shè)備性能的關(guān)鍵指標(biāo),直接反映了設(shè)備處理數(shù)據(jù)請(qǐng)求的速度。
如何在 Windows 中使用 HMB
如前所述,要使用 HMB 功能,需要你使用的 SSD 和操作系統(tǒng)同時(shí)支持。通常情況下:
- 在 SSD 的固件中,通常會(huì)預(yù)設(shè) HMB 的最小和最大內(nèi)存占用值。
- 在 Windows 10 1703 及更高版本 Windows 系統(tǒng)中,默認(rèn)支持 HMB 緩存功能。
如果你安裝了 SSD 廠商的官方硬盤(pán)驅(qū)動(dòng)或管理程序,通??梢钥吹绞欠裰С植⒂?HMB 功能,這個(gè)需要你自己去探索使用;如果你沒(méi)有安裝 SSD 廠商的應(yīng)用,Windows 會(huì)使用系統(tǒng)自帶的 StorNVMe 存儲(chǔ)控制器驅(qū)動(dòng)程序,該驅(qū)動(dòng)的 HMB 容量上限默認(rèn)為 64MB。
你可以通過(guò)更改注冊(cè)表,來(lái)調(diào)整 HMB 容量:
1、使用Windows + R快捷鍵打開(kāi)「運(yùn)行」對(duì)話(huà)框,執(zhí)行regedit打開(kāi)注冊(cè)表編輯器。
2、導(dǎo)航到以下路徑:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorPort
3、新建一個(gè)名為HmbAllocationPolicy的 DWORD (32 位) 值 ,并將其值設(shè)置為:
0:禁用 HMB 功能。1:?jiǎn)⒂?HMB,并嘗試分配 SSD 固件允許的最小值。2:?jiǎn)⒂?HMB,并嘗試分配 SSD 固件的首選值。3:基于設(shè)備使用情況,由 SSD 固件控制緩沖區(qū)大小。

設(shè)置 HmbAllocationPolicy 注冊(cè)表值
相關(guān)文章

2488次重啟的驚人實(shí)力! 長(zhǎng)江存儲(chǔ)PC41Q 1TB固態(tài)硬盤(pán)評(píng)測(cè)
最近,長(zhǎng)江存儲(chǔ)推出了PC41Q商用消費(fèi)級(jí)固態(tài)硬盤(pán),這款產(chǎn)品引起了廣泛關(guān)注,其最大亮點(diǎn)在于,使用QLC顆粒的同時(shí),依然能提供媲美TLC顆粒的性能,而且穩(wěn)定性也得到了極大的保2024-10-17
價(jià)格相差不到130 2TB版佰維NV7200和佰維NV7400固態(tài)硬盤(pán)怎么選?
佰維NV7400和佰維NV7200在2TB容量下,價(jià)格相差130元,這兩款該怎么選擇呢?下面我們就來(lái)看看全面測(cè)評(píng)2024-10-16
讀寫(xiě)超過(guò)2000MB/s 可作蘋(píng)果手機(jī)外置存儲(chǔ):影馳PSD01 1TB移動(dòng)固態(tài)硬盤(pán)評(píng)
影馳宣布推出其首款磁吸移動(dòng)固態(tài)硬盤(pán)PSD01,這一產(chǎn)品的亮相,令人眼前一亮,率先發(fā)布的1TB版本可謂是個(gè)開(kāi)胃菜,未來(lái)還將推出500GB和2TB的不同版本,今天我們就來(lái)做詳細(xì)測(cè)評(píng)2024-10-16
教你榨干SSD固態(tài)硬盤(pán)的最后一點(diǎn)性能的5個(gè)技巧
SSD性能不佳可能有幾個(gè)原因:驅(qū)動(dòng)器上的存儲(chǔ)空間不足,錯(cuò)誤的Windows設(shè)置干擾,或者可能只需要調(diào)整SSD的設(shè)置,下面我們就來(lái)看看榨取SSD固態(tài)硬盤(pán)的最后一點(diǎn)性能的技巧2024-10-10
完全分不清固態(tài)硬盤(pán)和機(jī)械硬盤(pán)怎么辦? 一文詳述兩者區(qū)別
如今,我們常見(jiàn)的硬盤(pán)主要分為兩大類(lèi):機(jī)械硬盤(pán)(HDD)和固態(tài)硬盤(pán)(SSD),下面我們從幾個(gè)緯度來(lái)分析:工作方式、各自?xún)?yōu)勢(shì)、適用場(chǎng)景,詳細(xì)請(qǐng)看下文介紹2024-10-09
創(chuàng)作與AI應(yīng)用利器! 西部數(shù)據(jù) WD BLUE SN5000 SSD固態(tài)硬盤(pán)測(cè)評(píng)
知名的存儲(chǔ)廠商西部數(shù)據(jù),針對(duì)用戶(hù)的這些需求,擴(kuò)展了旗下的WD Blue系列,推出全新性能更高且容量更大的產(chǎn)品,WD Blue SN5000就是其中的一個(gè)系列,下面我們就來(lái)看看詳細(xì)測(cè)2024-10-01
新買(mǎi)的固態(tài)硬盤(pán)首次如何使用? 新SSD到手后一定要先做這幾件事!
固態(tài)硬盤(pán)是電腦中很重要的設(shè)備,新入手的固態(tài)硬盤(pán)ssd到手后該怎么做呢?下面我們就來(lái)看看新固態(tài)硬盤(pán)到手需要做的幾件事2024-09-30
突破2100MB/s! 致態(tài)靈·先鋒版移動(dòng)固態(tài)硬盤(pán)首發(fā)測(cè)評(píng)
致態(tài)木星10上市3年半后,長(zhǎng)江存儲(chǔ)推出了容量更大、速度更快的移動(dòng)固態(tài)硬盤(pán)新品:致態(tài)靈·先鋒版,突破2100MB/s、能拍超高碼率視頻、可連各種設(shè)備,下面我們就來(lái)看看致態(tài)靈2024-09-27
開(kāi)啟trim數(shù)據(jù)還能恢復(fù)嗎? SSD固態(tài)硬盤(pán)是否支持trim功能的查看技巧
固態(tài)硬盤(pán)Trim,是提升SSD性能的關(guān)鍵技術(shù),它并非直接刪除操作,而是通過(guò)微軟與SSD廠商合作的Ata8-Acs2規(guī)范中的 Trim 指令,解決SSD使用后可能出現(xiàn)的性能下降問(wèn)題2024-09-20
固態(tài)硬盤(pán)什么牌子好 性?xún)r(jià)比高的固態(tài)硬盤(pán)推薦
市場(chǎng)上固態(tài)硬盤(pán)品牌眾多,性?xún)r(jià)比與型號(hào)更相關(guān),推薦性?xún)r(jià)比高的品牌有西部數(shù)據(jù)、Solidigm、三星等一線(xiàn)品牌,以及鎧俠、致鈦等二線(xiàn)品牌,西部數(shù)據(jù)產(chǎn)品性能高,價(jià)格合理,售后良好,S2024-09-14










