0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文匯總PMR的基礎(chǔ)知識(shí)

SSDFans ? 來源:搜狐網(wǎng) ? 作者:搜狐網(wǎng) ? 2020-09-07 11:36 ? 次閱讀

NVM Express在2019年完成了NVMe 1.4規(guī)范的制定,新的NVMe協(xié)議帶來了大量的全新特性,尤其在糾錯(cuò)、強(qiáng)化性能以及針對(duì)特殊領(lǐng)域和企業(yè)級(jí)領(lǐng)域的優(yōu)化等方面更是令人關(guān)注,其中就包含了NVMe 1.4為高端企業(yè)級(jí)固態(tài)硬盤提供的一種新能力PMR。

圖1NVMe Feature Roadmap

所謂的PMR即為一塊存儲(chǔ)區(qū),使用此功能將創(chuàng)建并控制一個(gè)稱為持久性內(nèi)存區(qū)域(PMR)的存儲(chǔ)區(qū)域,該存儲(chǔ)區(qū)可以映射到PCI Express總線上的地址空間上面,并且可被主機(jī)和其他設(shè)備訪問。

PMR的主要特點(diǎn)是,在電源斷電(power cycle),控制器復(fù)位以及PMR啟用/禁用切換之后,寫入PMR的數(shù)據(jù)也會(huì)保留。換句話說,此功能使SSD除了提供通過邏輯塊地址(LBA)訪問的存儲(chǔ)區(qū)域外,還提供了另一個(gè)非易失性存儲(chǔ)區(qū)域,并且這塊存儲(chǔ)區(qū)域假定的訪問方法是內(nèi)存訪問而不是塊訪問。PMR對(duì)性能的要求很高,例如,穩(wěn)定狀態(tài)下的寫帶寬要比PCIe的寫帶寬度大得多,如果無法做到,協(xié)議上記載會(huì)有彈性緩沖區(qū)等可選項(xiàng)來填補(bǔ)帶寬的間隙。

總的來說,PMR空間可以提供一種內(nèi)存級(jí)讀寫速度、斷電后數(shù)據(jù)不會(huì)丟失的存儲(chǔ)區(qū)域。PMR功能上與NVDIMM相似,雖然PMR的性能和容量遠(yuǎn)比不上NVDIMM,但PMR有著與NVDIMM一樣的優(yōu)勢,比起通過NVMe IO命令去讀寫一筆數(shù)據(jù),并等待命令完成,讀寫PMR的操作就簡單快捷多了。PMR具有非易失性、較低延遲、可Bytes尋址等特性,使數(shù)據(jù)管理具有更大的靈活性。它非常適合需要頻繁訪問復(fù)雜數(shù)據(jù)集的環(huán)境,以及因電源故障或系統(tǒng)崩潰導(dǎo)致停機(jī)的敏感環(huán)境。

PMR主要的優(yōu)點(diǎn)包括:

1.訪問延遲小于NAND閃存的訪問延遲,接近于DRAM

2.與NAND閃存相比,吞吐量大大增加。

3.比DRAM便宜。

4.可Bytes尋址,實(shí)時(shí)訪問數(shù)據(jù),允許超快速訪問大型數(shù)據(jù)集。

5.斷電后數(shù)據(jù)仍保留在內(nèi)存中(就像使用閃存一樣)。

那么,究竟如何才能實(shí)現(xiàn)這一強(qiáng)大的功能呢?隨著PCIe Gen4的問世,PCIe的帶寬迅速增長,常見的非易失性存儲(chǔ)器件NAND閃存很難滿足PMR要求的高速性能,而且原本NAND閃存就更適合用來塊訪問,不適合用于PMR指向的內(nèi)存,因此,SSD不會(huì)直接使用NAND閃存來作為實(shí)現(xiàn)PMR的存儲(chǔ)器件。

實(shí)際上在NVMe協(xié)議中并沒有記載PMR的具體實(shí)現(xiàn)方法,但是從已有信息來看,可以使用所謂的新型內(nèi)存SCM(Storage Class Memory)來實(shí)現(xiàn)PMR,例如利用Intel的Optane存儲(chǔ)器。還有一種比較主流的實(shí)現(xiàn)PMR的思路是,將SSD內(nèi)DRAM(的一部分)分配給這個(gè)區(qū)域,一般企業(yè)級(jí)NVMe固態(tài)硬盤自帶有大容量的DRAM緩存,并且整個(gè)固態(tài)硬盤處于斷電保護(hù)設(shè)計(jì)的保護(hù)之下,結(jié)合這兩個(gè)特點(diǎn),外加一定數(shù)量的常規(guī)NAND閃存,PMR就可以實(shí)現(xiàn)。

圖2 使用部分DRAM用作PMR

NVMe一直在積極探索固態(tài)硬盤內(nèi)DRAM的其他用途,PMR就是一個(gè)潛在的應(yīng)用。絕大多數(shù)企業(yè)級(jí)固態(tài)硬盤都帶有一定數(shù)量的DRAM內(nèi)存,用來當(dāng)做存放FTL表項(xiàng)的cache buffer,固態(tài)硬盤可以通過這些FTL表項(xiàng)來映射邏輯地址和閃存物理地址。此外,NVMe 1.2協(xié)議就定義了控制器內(nèi)緩存CMB(Controller Memory Buffer)這一特性,旨在使部分SSD內(nèi)的DRAM空間可以直接通過PCI地址空間被訪問,這一特性使得NVMe傳輸IO命令所需的SQ,CQ可以直接駐存在SSD的DRAM內(nèi)存里,而不是放在host的內(nèi)存里,可以減少命令交互的延遲,并可以消除NVMe over Fabrics情況下SSD端對(duì)端之間DMA傳輸中的不必要的復(fù)制操作,使得傳輸?shù)臄?shù)據(jù)完全繞過host的DRAM。

圖3 NVMe Controller中的CMB與PMR

NVMe 1.4的特性PMR的運(yùn)作方式與CMB類似,host系統(tǒng)可以使用基礎(chǔ)的PCIe傳輸直接讀寫此內(nèi)存區(qū)域,而無需任何命令隊(duì)列的開銷。在實(shí)踐中,通常希望將CMB用于支持正常的NVMe操作(如放置SQ/CQ/PRP等),作為一塊DRAM buffer使用,但是PMR則不同,雖然PMR也是SSD內(nèi)部的一段DRAM區(qū)域,但它主要是作為一大塊通用的非易失存儲(chǔ)供主機(jī)使用,典型的企業(yè)級(jí)SSD具有專門的斷電保護(hù)電容器,這些電容器可以使PMR中的數(shù)據(jù)在發(fā)生意外斷電時(shí)得以安全刷新到閃存中。在SSD斷電時(shí),PMR的內(nèi)容將自動(dòng)寫入閃存,當(dāng)host系統(tǒng)恢復(fù)上電時(shí),host可以要求SSD重新加載PMR的內(nèi)容。

用這種方法實(shí)現(xiàn)的PMR功能的典型應(yīng)用場景是,接收大量(覆蓋性)寫入的場景,這種場景下PMR不會(huì)消耗任何除PMR容量大小之外的閃存,因?yàn)橹挥性跀嚯姷那闆r下,SSD才會(huì)去下刷保存PMR的數(shù)據(jù),因此這非常適合用于記錄數(shù)據(jù)庫或系統(tǒng)的日志,因?yàn)槿罩緯?huì)不斷大量寫入,而且寫日志的操作很容易成為系統(tǒng)內(nèi)的性能瓶頸,造成堵塞,而PMR恰恰是可以提供DRAM級(jí)別的讀寫速度,以及DRAM可覆蓋寫的特性。還有一種潛在的應(yīng)用場景是就地執(zhí)行技術(shù)XIP(execute-in-place),這種被人們津津樂道的能夠大幅提高應(yīng)用程序性能的技術(shù)可能會(huì)因?yàn)镻MR的出現(xiàn)變得流行起來。

目前PMR在協(xié)議方面則較為簡單,NVME 1.4規(guī)范只定義了一些控制PMR的寄存器,包括穩(wěn)定狀態(tài)下的寫入帶寬、彈性緩沖區(qū)的大小、PMR的狀態(tài)、主機(jī)應(yīng)等待PMR ready的超時(shí)時(shí)間等詳細(xì)的設(shè)定項(xiàng)目。因此,想要有效地使用PMR,設(shè)備(驅(qū)動(dòng)器)側(cè)和主機(jī)(OS和庫)側(cè)對(duì)應(yīng)的驅(qū)動(dòng)程序都是必不可少的,目前Linux的相關(guān)驅(qū)動(dòng)還處于規(guī)劃階段,未來對(duì)PMR驅(qū)動(dòng)軟件上的支持還有很長一段路要走。

NVMe 1.4在去年才剛剛發(fā)布,業(yè)界內(nèi)對(duì)于PMR的應(yīng)用也主要集中在企業(yè)級(jí)存儲(chǔ)領(lǐng)域,并且大多仍處于研究、探討階段,因此有關(guān)于PMR這一新特性的可操作空間其實(shí)還很大,其應(yīng)用潛力、前景有望進(jìn)一步被發(fā)掘。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • PMR
    PMR
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    14606
  • nvme
    +關(guān)注

    關(guān)注

    0

    文章

    213

    瀏覽量

    22564

原文標(biāo)題:太強(qiáng)大了!NVMe SSD變身內(nèi)存!

文章出處:【微信號(hào):SSDFans,微信公眾號(hào):SSDFans】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    品質(zhì)管理基礎(chǔ)知識(shí)

    品質(zhì)管理基礎(chǔ)知識(shí)
    的頭像 發(fā)表于 11-01 11:08 ?257次閱讀
    品質(zhì)管理<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    Verilog HDL的基礎(chǔ)知識(shí)

    本文繼續(xù)介紹Verilog HDL基礎(chǔ)知識(shí),重點(diǎn)介紹賦值語句、阻塞與非阻塞、循環(huán)語句、同步與異步、函數(shù)與任務(wù)語法知識(shí)。
    的頭像 發(fā)表于 10-24 15:00 ?138次閱讀
    Verilog HDL的<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    負(fù)載開關(guān)基礎(chǔ)知識(shí)

    電子發(fā)燒友網(wǎng)站提供《負(fù)載開關(guān)基礎(chǔ)知識(shí).pdf》資料免費(fèi)下載
    發(fā)表于 10-08 09:56 ?1次下載
    負(fù)載開關(guān)<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    C++語言基礎(chǔ)知識(shí)

    電子發(fā)燒友網(wǎng)站提供《C++語言基礎(chǔ)知識(shí).pdf》資料免費(fèi)下載
    發(fā)表于 07-19 10:58 ?6次下載

    手把手教學(xué)!HLK-LD2410B/C新手必看攻略!測試教程、模塊調(diào)參詳解~

    HLK-LD2410B/C接線教程、參數(shù)解析、APP調(diào)參教程、上位機(jī)調(diào)參教程、常見異常情況自檢等等內(nèi)容,文匯總。 不管是萌新小白還是資深玩家,都可以快速入門。
    的頭像 發(fā)表于 05-31 14:48 ?4275次閱讀
    手把手教學(xué)!HLK-LD2410B/C新手必看攻略!測試教程、模塊調(diào)參<b class='flag-5'>一</b><b class='flag-5'>文</b>詳解~

    FPGA基礎(chǔ)知識(shí)介紹

    電子發(fā)燒友網(wǎng)站提供《FPGA基礎(chǔ)知識(shí)介紹.pdf》資料免費(fèi)下載
    發(fā)表于 02-23 09:45 ?29次下載

    鴻蒙開發(fā)【設(shè)備開發(fā)基礎(chǔ)知識(shí)

    鴻蒙開發(fā)基礎(chǔ)知識(shí)講解
    的頭像 發(fā)表于 01-29 18:44 ?924次閱讀
    鴻蒙開發(fā)【設(shè)備開發(fā)<b class='flag-5'>基礎(chǔ)知識(shí)</b>】

    射頻與微波基礎(chǔ)知識(shí)

    射頻與微波基礎(chǔ)知識(shí)
    的頭像 發(fā)表于 01-16 10:05 ?787次閱讀
    射頻與微波<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    電氣技術(shù)基礎(chǔ)知識(shí)

    電氣技術(shù)基礎(chǔ)知識(shí)
    的頭像 發(fā)表于 12-14 09:11 ?1465次閱讀
    電氣技術(shù)<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    電子元器件的基礎(chǔ)知識(shí)

    電子元器件的基礎(chǔ)知識(shí)
    的頭像 發(fā)表于 12-04 10:42 ?4873次閱讀
    電子元器件的<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    端接電阻基礎(chǔ)知識(shí)

    電子發(fā)燒友網(wǎng)站提供《端接電阻基礎(chǔ)知識(shí).doc》資料免費(fèi)下載
    發(fā)表于 11-21 09:31 ?0次下載
    端接電阻<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    功放電路的基礎(chǔ)知識(shí)

    電子發(fā)燒友網(wǎng)站提供《功放電路的基礎(chǔ)知識(shí).rar》資料免費(fèi)下載
    發(fā)表于 11-20 10:41 ?10次下載
    功放電路的<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    電工培訓(xùn)的常用基礎(chǔ)知識(shí)

    電子發(fā)燒友網(wǎng)站提供《電工培訓(xùn)的常用基礎(chǔ)知識(shí).pdf》資料免費(fèi)下載
    發(fā)表于 11-18 09:27 ?20次下載
    電工培訓(xùn)的常用<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    SPI協(xié)議基礎(chǔ)知識(shí)

    電子發(fā)燒友網(wǎng)站提供《SPI協(xié)議基礎(chǔ)知識(shí).pdf》資料免費(fèi)下載
    發(fā)表于 11-16 10:32 ?1次下載
    SPI協(xié)議<b class='flag-5'>基礎(chǔ)知識(shí)</b>

    電池的基礎(chǔ)知識(shí)

    電子發(fā)燒友網(wǎng)站提供《電池的基礎(chǔ)知識(shí).doc》資料免費(fèi)下載
    發(fā)表于 11-15 11:29 ?1次下載
    電池的<b class='flag-5'>基礎(chǔ)知識(shí)</b>