火爆業界的明星,下一代存儲技術的先行: NVDIMM 你瞭解嗎?
文章推薦指數: 80 %
NVDIMM (Non-Volatile Dual In-line Memory Module) 是一種可以隨機訪問的, 非易失性內存。
非易失性內存指的是即使在不通電的情況下, 數據也不會消失。
請輸入正確的登錄賬號或密碼
註冊
忘記密碼
首頁
未分類
正文
火爆業界的明星,下一代存儲技術的先行:NVDIMM你瞭解嗎?
原創
Linuxer_
2019-07-0603:15
作者介紹惠春陽,Intel軟件工程師,主要從事SPDK開發和存儲軟件性能優化的工作。
隨着存儲技術的發展,對存儲性能的不懈追求,高性能存儲開始探索向內存通道的遷移。
在這樣的情況下,NVDIMM技術便應運而生了。
NVDIMM(Non-VolatileDualIn-lineMemoryModule)是一種可以隨機訪問的,非易失性內存。
非易失性內存指的是即使在不通電的情況下,數據也不會消失。
因此可以在計算機掉電(unexpectedpowerloss),系統崩潰和正常關機的情況下,依然保持數據。
NVDIMM同時表明它使用的是DIMM封裝,與標準DIMM插槽兼容,並且通過標準的DDR總線進行通信。
考慮到它的非易失性,並且兼容傳統DRAM接口,又被稱作PersistentMemory。
01種類目前,根據JEDEC標準化組織的定義,有三種NVDIMM的實現。
分別是:NVDIMM-N指在一個模塊上同時放入傳統DRAM和flash閃存。
計算機可以直接訪問傳統DRAM。
支持按字節尋址,也支持塊尋址。
通過使用一個小的後備電源,爲在掉電時, 數據從DRAM拷貝到閃存中提供足夠的電能。
當電力恢復時,再重新加載到DRAM中。
圖1NVDIMM-N示意圖NVDIMM-N的主要工作方式其實和傳統DRAM是一樣的。
因此它的延遲也在10的1次方納秒級。
而且它的容量,受限於體積,相比傳統的DRAM也不會有什麼提升。
同時它的工作方式決定了它的flash部分是不可尋址的。
而且同時使用兩種介質的做法使成本急劇增加。
但是,NVDIMM-N爲業界提供了持久性內存的新概念。
目前市面上已經有很多基於NVIMM-N的產品。
NVDIMM-F指使用了DRAM的DDR3或者DDR4總線的flash閃存。
我們知道由NANDflash作爲介質的SSD,一般使用SATA,SAS或者PCIe總線。
使用DDR總線可以提高最大帶寬,一定程度上減少協議帶來的延遲和開銷。
不過只支持塊尋址。
NVDIMM-F的主要工作方式本質上和SSD是一樣的。
因此它的延遲在10的1次方微秒級。
它的容量也可以輕鬆達到TB以上。
NVDIMM-P這是一個目前還沒有發佈的標準(UnderDevelopment)。
預計將與DDR5標準一同發佈。
按照計劃,DDR5將比DDR4提供雙倍的帶寬,並提高信道效率。
這些改進,以及服務器和客戶端平臺的用戶友好界面,將在各種應用程序中支持高性能和改進的電源管理。
NVDIMM-P實際上是真正DRAM和flash的混合。
它既支持塊尋址,也支持類似傳統DRAM的按字節尋址。
它既可以在容量上達到類似NANDflash的TB以上,又能把延遲保持在10的2次方納秒級。
通過將數據介質直接連接至內存總線,CPU可以直接訪問數據,無需任何驅動程序或PCIe開銷。
而且由於內存訪問是通過64字節的cacheline,CPU只需要訪問它需要的數據,而不是像普通塊設備那樣每次要按塊訪問。
Intel公司在2018年5月發佈了基於3DXPoint™技術的Intel®Optane™DCPersistentMemory。
可以認爲是NVDIMM-P的一種實現。
圖2 Intel®Optane™DCPersistentMemory02硬件支持應用程序可以直接訪問NVDIMM-P,就像對於傳統DRAM那樣。
這也消除了在傳統塊設備和內存之間頁交換的需要。
但是,向持久性內存裏寫數據是和向普通DRAM裏寫數據共享計算機資源的。
包括處理器緩衝區,L1/L2緩存等。
需要注意的是,要使數據持久,一定要保證數據寫入了持久性內存設備,或者寫入了帶有掉電保護的buffer。
軟件如果要充分利用持久性內存的特性,指令集架構上至少需要以下支持:寫的原子性表示對於持久性內存裏任意大小的寫都要保證是原子性的,以防系統崩潰或者突然掉電。
IA-32和IA-64處理器保證了對緩存數據最大64位的數據訪問(對齊或者非對齊)的寫原子性。
因此,軟件可以安全地在持久性內存上更新數據。
這樣也帶來了性能上的提升,因爲消除了copy-on-write或者write-ahead-logging這種保證寫原子性的開銷。
高效的緩存刷新(flushing)出於性能的考慮,持久性內存的數據也要先放入處理器的緩存(cache)才能被訪問。
經過優化的緩存刷新指令減少了由於刷新(CLFLUSH)造成的性能影響。
a.CLFLUSHOPT提供了更加高效的緩存刷新指令b.CLWB(CacheLineWriteBack)指令把cacheline上改變的數據寫回內存(類似CLFLUSHOPT),但是無需讓這條cacheline轉變成無效狀態(invalid,MESIprotocol),而是轉換成未改變的獨佔狀態(Exclusive)。
CLWB指令實際上是在試圖減少由於某條cacheline刷新所造成的下次訪問必然的cachemiss。
提交至持久性內存(CommittingtoPersistence)在現代計算機架構下,緩存刷新的完成表明修改的數據已經被回寫至內存子系統的寫緩衝區。
但是此時數據並不具有持久性。
爲了確保數據寫入持久性內存,軟件需要刷新易失性的寫緩衝區或者在內存子系統的其他緩存。
新的用於持久性寫的提交指令PCOMMIT可以把內存子系統寫隊列中的數據提交至持久性內存。
非暫時store操作的優化(Non-temporalStoreOptimization)當軟件需要拷貝大量數據從普通內存到持久性內存中時(或在持久性內存之間拷貝),可以使用弱順序,非暫時的store操作(比如使用MOVNTI指令)。
因爲Non-temporalstore指令可以隱式地使要回寫的那條cacheline失效,軟件就不需要明確地flushcacheline了(seeSection10.4.6.2.ofIntel®64andIA-32ArchitecturesSoftwareDeveloper’sManual,Volume1)。
03總結本期我們介紹了NVDIMM的幾種實現方式,以及爲了發揮NVDIMM-P的性能所做的硬件上的優化和支持。
後面我們會繼續介紹軟件方面的支持,包括編程模型,編程庫,SPDK方面的支持等。
敬請期待。
參考文獻[1]Intel®ArchitectureInstructionSetExtensionsProgrammingReference[2]JEDEC https://www.jedec.org/category/technology-focus-area/main-memory-ddr3-ddr4-sdram [2]TheSSDGuy https://thessdguy.com/[3]Wikipedia https://www.wikipedia.org/本文轉載自DPDK與SPDK開源社區查看我們精華技術文章請移步:Linux閱碼場原創精華文章彙總掃描下方二維碼關注"Linux閱碼場"感謝您的耐心閱讀,請隨手點個“在看”吧~
發表評論
登录
所有評論
還沒有人評論,想成為第一個評論的人麼?請在上方評論欄輸入並且點擊發布.
相關文章
剖析虛幻渲染體系(17)-實時光線追蹤
[TOC]
17.1本篇概述
17.1.1本篇內容
UE的光線追蹤一直是童鞋們呼籲比較高的一篇,雖然多年前博主已經在探究光線追蹤技術及UE4的實現闡述過,但內容較基礎和片面。
那麼,此篇就針對UE的實時光線追蹤進行更加系統、全面、深入
0嚮往0
2022-09-1314:33:08
salesforce零基礎學習(一百一十七)salesforce部署方式及適用場景
本篇參考:https://architect.salesforce.com/decision-guides/migrate-change
https://developer.salesforce.com/docs/atlas.en-us.s
zero.zhang
2022-09-1314:29:37
Real-TimePhysically-BasedMaterials
(surfacemodels)
PBRandPBRMaterials:基於物理的渲染,PBR分佈在物體表面或者體積中。
BRDF回顧:Fresnel term(菲涅爾項),從一點看去,有多少能量反射。
grazingangle:入射(camera看的方向)
撈的不談
2022-09-1314:29:27
postgresql/lightdb數據文件丟失和損壞恢復--系統表
文件刪除
rm-rf1255 #pg_proc
select*frompg_class[orderbyoid]; ##不報錯
select*frompg_classwhereoid=1255;##
zhjh256
2022-09-1314:29:07
Java八股文純享版——篇②:併發編程
注:
1.筆記爲個人歸納整理,盡力保證準確性,如有錯誤,懇請指正
2.寫文不易,轉載請註明出處
3.本文首發地址https://blog.leapmie.com/archives/c02a6ed1/
4.本系列文章目錄詳見《Java八
eapMie
2022-09-1314:28:17
【Shashlik.EventBus】.NET事件總線,分佈式事務最終一致性
【Shashlik.EventBus】.NET事件總線,分佈式事務最終一致性
簡介
githubhttps://github.com/dotnet-shashlik/shashlik.eventbus
各位爺高興了給個star唄。
分佈
穀草`
2022-09-1314:27:57
LyScript計算片段Hash並寫出Excel
本案例將學習運用LyScript計算特定程序中特定某些片段的Hash特徵值,並通過xlsxwriter這個第三方模塊將計算到的hash值存儲成一個excel表格,本例中的知識點可以說已經具備了簡單的表格輸出能力,如果時間充裕完全可以實現自動
yshark
2022-09-1314:25:16
.Net之接口小知識
目的
通過一個簡單的項目,在原來的文章基礎上完善一下常用的幾種WebApi編寫方式以及請求方式,一方面是用於給我一個前端朋友用來學習調用接口,另一方面讓我測試HttpClient的一些效果。
本文示例代碼環境:vs2022、net6
準備
Azrng
2022-09-1314:24:16
老項目轉maven依賴
將文件夾下的jar包轉爲標籤,有問題的標籤再訪問阿里雲倉庫手動修改https://developer.aliyun.com/mvn/search
publicstaticStringdoGet(Stringhttpurl){
tonghaolang
2022-09-1314:24:06
Docker安裝Redis並使用AnotherRedisDesktopManager連接
Redis簡單介紹
Redis全稱是RemoteDIctionaryService,即遠程字典服務。
Redis是一個使用C語言編寫的、開源的(遵守BSD協議)、高性能的、支持網絡、可基於內存亦可持久化的日誌型、Key-Value
追逐時光
2022-09-1314:22:36
第二節:老楊集成事件框架Zack.EventBus的使用和基於源碼的剖析、改造、升級
1
Yaopengfei
2022-09-1314:22:06
互聯網最值得加入的173家國企彙總,真心強!!
來源:www.zhihu.com/question/285730093/answer/2506491786
最近招人,拿的簡歷一沓一沓。
今年的就業形勢,實在是嚴峻。
社招都這樣,更別說應屆生。
除過常見的互聯網,以及今年熱門的新能源。
其實如果
Java技術棧
2022-09-1314:22:06
動手實現深度學習(9):第四篇:optimization的實現
傳送門: https://www.cnblogs.com/greentomlee/p/12314064.html
github:Leezhen2014: https://github.com/Leezhen2014/python
修雨軒陳
2022-09-1314:17:55
動手實現深度學習(11):BatchNormalization
傳送門: https://www.cnblogs.com/greentomlee/p/12314064.html
github:Leezhen2014: https://github.com/Leezhen2014/python
修雨軒陳
2022-09-1314:17:50
動手實現深度學習(5):計算圖的實現
第三篇:基於計算圖的神經網絡的設計與實現
傳送門: https://www.cnblogs.com/greentomlee/p/12314064.html
github:Leezhen2014: https://github.com/
修雨軒陳
2022-09-1314:17:50
L
Linuxer_
24小時熱門文章
最新文章
Linux文件/磁盤統計df與du命令輸出結果不同的原因研究
熊大微評微內核|華爲“鴻蒙”所涉及的微內核究竟是什麼?
被神話的Linux,一文帶你看清Linux在多核可擴展性設計上的不足
Docker容器最初的2小時(Docker從入門到入門)
漲薪必看-博覽衆號增長知識的廣度,推薦幾個優質技術公衆號
最新評論文章
大台灣橘子小妖精加賴:kk2384學生處女奶水爆乳無套肛交約妹看片www.fb742.com
[2022]TopRatedCheckPoint156-315.80ExamQuestions
QualifiedWritingServiceinAustraliacanallowstudentstoachievebettergrades
Takeassignmenthelpertoresolvethepaperquerieseasily
UpdatedCompTIADA0-001ExamQuestions(2022)
美國黑金效果和其它速效藥的不同之處
MicrosoftDP-500PDFQuestion[2022]-SecretToPassExamInFirstAttempt-[PremiumDumps]
延伸文章資訊
- 1NVDIMM_百度百科
非易失性雙列直插式內存模塊(英語:non-volatile dual in-line memory module,縮寫NVDIMM)是一種用於計算機的隨機存取存儲器。非易失性存儲器是即使斷電也能...
- 2NVDIMM介紹與應用 - w3c學習教程
NVDIMM介紹與應用,nvdimm 是在一種整合了dram 非易失性記憶體晶片的記憶體條規格,能夠在完全斷電的時候依然儲存完整記憶體資料,這次釋出agiga8.
- 3原創:一文詳解NVDIMM,這到底是個什麼「神仙」技術?
下面逐一介紹各種NVDIMM技術。 01. NVDIMM-N:混合了DRAM與NAND. 如圖2所示,NVDIMM-N是一種基於DRAM和NAND Flash的混合RDIMM(Registere...
- 4火爆業界的明星,下一代存儲技術的先行: NVDIMM 你瞭解嗎?
NVDIMM (Non-Volatile Dual In-line Memory Module) 是一種可以隨機訪問的, 非易失性內存。非易失性內存指的是即使在不通電的情況下, 數據也不會消失。
- 5兼顧DRAM耐用及Flash持續儲存,HPE發布NVDIMM記憶體
針對伺服器環境的應用,HPE推出8GB容量的NVDIMM持續儲存記憶體, ... 這是HPE 8GB NVDIMM背面的模樣,由於快速查詢規格文件並未介紹,我們只好根據HPE ...