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

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

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

NVDIMM的幾種實(shí)現(xiàn)方式, NVDIMM-P的性能所做的硬件上的優(yōu)化和支持

SSDFans ? 來(lái)源:lp ? 2019-03-18 15:04 ? 次閱讀

隨著存儲(chǔ)技術(shù)的發(fā)展, 對(duì)存儲(chǔ)性能的不懈追求, 高性能存儲(chǔ)開(kāi)始探索向內(nèi)存通道的遷移。 在這樣的情況下, NVDIMM 技術(shù)便應(yīng)運(yùn)而生了。

NVDIMM (Non-Volatile Dual In-line Memory Module) 是一種可以隨機(jī)訪問(wèn)的, 非易失性內(nèi)存。非易失性內(nèi)存指的是即使在不通電的情況下, 數(shù)據(jù)也不會(huì)消失。因此可以在計(jì)算機(jī)掉電 (unexpected power loss), 系統(tǒng)崩潰和正常關(guān)機(jī)的情況下, 依然保持?jǐn)?shù)據(jù)。 NVDIMM 同時(shí)表明它使用的是 DIMM 封裝, 與標(biāo)準(zhǔn)DIMM 插槽兼容, 并且通過(guò)標(biāo)準(zhǔn)的 DDR總線進(jìn)行通信。考慮到它的非易失性, 并且兼容傳統(tǒng)DRAM接口, 又被稱(chēng)作Persistent Memory。

01

種類(lèi)

目前, 根據(jù) JEDEC 標(biāo)準(zhǔn)化組織的定義, 有三種NVDIMM 的實(shí)現(xiàn)。分別是:

NVDIMM-N

指在一個(gè)模塊上同時(shí)放入傳統(tǒng) DRAM 和 flash 閃存。 計(jì)算機(jī)可以直接訪問(wèn)傳統(tǒng) DRAM。 支持按字節(jié)尋址, 也支持塊尋址。通過(guò)使用一個(gè)小的后備電源,為在掉電時(shí), 數(shù)據(jù)從DRAM 拷貝到閃存中提供足夠的電能。當(dāng)電力恢復(fù)時(shí), 再重新加載到DRAM 中。

圖1 NVDIMM-N示意圖

NVDIMM-N 的主要工作方式其實(shí)和傳統(tǒng) DRAM是一樣的。因此它的延遲也在10的1次方納秒級(jí)。 而且它的容量, 受限于體積, 相比傳統(tǒng)的 DRAM 也不會(huì)有什么提升。

同時(shí)它的工作方式?jīng)Q定了它的 flash 部分是不可尋址的。而且同時(shí)使用兩種介質(zhì)的作法使成本急劇增加。 但是, NVDIMM-N 為業(yè)界提供了持久性內(nèi)存的新概念。目前市面上已經(jīng)有很多基于NVIMM-N的產(chǎn)品

NVDIMM-F

指使用了 DRAM 的DDR3或者 DDR4 總線的flash閃存。我們知道由 NAND flash 作為介質(zhì)的 SSD, 一般使用SATA, SAS 或者PCIe 總線。使用 DDR 總線可以提高最大帶寬, 一定程度上減少協(xié)議帶來(lái)的延遲和開(kāi)銷(xiāo)。 不過(guò)只支持塊尋址。

NVDIMM-F 的主要工作方式本質(zhì)上和SSD是一樣的。因此它的延遲在 10的1次方微秒級(jí)。它的容量也可以輕松達(dá)到 TB 以上。

NVDIMM-P

這是一個(gè)目前還沒(méi)有發(fā)布的標(biāo)準(zhǔn) (Under Development)。預(yù)計(jì)將與DDR5 標(biāo)準(zhǔn)一同發(fā)布。按照計(jì)劃,DDR5將比DDR4提供雙倍的帶寬,并提高信道效率。這些改進(jìn),以及服務(wù)器和客戶端平臺(tái)的用戶友好界面,將在各種應(yīng)用程序中支持高性能和改進(jìn)的電源管理

NVDIMM-P 實(shí)際上是真正 DRAM 和 flash 的混合。它既支持塊尋址, 也支持類(lèi)似傳統(tǒng) DRAM 的按字節(jié)尋址。 它既可以在容量上達(dá)到類(lèi)似 NAND flash 的TB以上, 又能把延遲保持在10的2次方納秒級(jí)。

通過(guò)將數(shù)據(jù)介質(zhì)直接連接至內(nèi)存總線, CPU 可以直接訪問(wèn)數(shù)據(jù), 無(wú)需任何驅(qū)動(dòng)程序或 PCIe 開(kāi)銷(xiāo)。而且由于內(nèi)存訪問(wèn)是通過(guò)64 字節(jié)的 cache line, CPU 只需要訪問(wèn)它需要的數(shù)據(jù), 而不是像普通塊設(shè)備那樣每次要按塊訪問(wèn)。

Intel 公司在2018年5月發(fā)布了基于3D XPoint? 技術(shù)的Intel? Optane? DC Persistent Memory??梢哉J(rèn)為是NVDIMM-P 的一種實(shí)現(xiàn)。

圖2 Intel? Optane? DC Persistent Memory

02

硬件支持

應(yīng)用程序可以直接訪問(wèn)NVDIMM-P, 就像對(duì)于傳統(tǒng) DRAM那樣。這也消除了在傳統(tǒng)塊設(shè)備和內(nèi)存之間頁(yè)交換的需要。但是, 向持久性內(nèi)存里寫(xiě)數(shù)據(jù)是和向普通DRAM里寫(xiě)數(shù)據(jù)共享計(jì)算機(jī)資源的。包括處理器緩沖區(qū), L1/L2緩存等。

需要注意的是, 要使數(shù)據(jù)持久, 一定要保證數(shù)據(jù)寫(xiě)入了持久性內(nèi)存設(shè)備, 或者寫(xiě)入了帶有掉電保護(hù)的buffer。軟件如果要充分利用持久性內(nèi)存的特性, 指令集架構(gòu)上至少需要以下支持:

寫(xiě)的原子性

表示對(duì)于持久性內(nèi)存里任意大小的寫(xiě)都要保證是原子性的, 以防系統(tǒng)崩潰或者突然掉電。IA-32 和 IA-64 處理器保證了對(duì)緩存數(shù)據(jù)最大64位的數(shù)據(jù)訪問(wèn) (對(duì)齊或者非對(duì)齊) 的寫(xiě)原子性。 因此, 軟件可以安全地在持久性內(nèi)存上更新數(shù)據(jù)。這樣也帶來(lái)了性能上的提升, 因?yàn)橄薱opy-on-write 或者 write-ahead-logging 這種保證寫(xiě)原子性的開(kāi)銷(xiāo)。

高效的緩存刷新(flushing)

出于性能的考慮, 持久性內(nèi)存的數(shù)據(jù)也要先放入處理器的緩存(cache)才能被訪問(wèn)。經(jīng)過(guò)優(yōu)化的緩存刷新指令減少了由于刷新 (CLFLUSH) 造成的性能影響。

a. CLFLUSHOPT 提供了更加高效的緩存刷新指令

b. CLWB (Cache Line Write Back) 指令把cache line上改變的數(shù)據(jù)寫(xiě)回內(nèi)存 (類(lèi)似CLFLUSHOPT), 但是無(wú)需讓這條 cache line 轉(zhuǎn)變成無(wú)效狀態(tài)(invalid, MESI protocol), 而是轉(zhuǎn)換成未改變的獨(dú)占狀態(tài)(Exclusive)。CLWB 指令實(shí)際上是在試圖減少由于某條cache line刷新所造成的下次訪問(wèn)必然的cache miss。

提交至持久性內(nèi)存

(Committing to Persistence)

在現(xiàn)代計(jì)算機(jī)架構(gòu)下, 緩存刷新的完成表明修改的數(shù)據(jù)已經(jīng)被回寫(xiě)至內(nèi)存子系統(tǒng)的寫(xiě)緩沖區(qū)。 但是此時(shí)數(shù)據(jù)并不具有持久性。為了確保數(shù)據(jù)寫(xiě)入持久性內(nèi)存, 軟件需要刷新易失性的寫(xiě)緩沖區(qū)或者在內(nèi)存子系統(tǒng)的其他緩存。 新的用于持久性寫(xiě)的提交指令 PCOMMIT 可以把內(nèi)存子系統(tǒng)寫(xiě)隊(duì)列中的數(shù)據(jù)提交至持久性內(nèi)存。

非暫時(shí)store操作的優(yōu)化

(Non-temporal Store Optimization)

當(dāng)軟件需要拷貝大量數(shù)據(jù)從普通內(nèi)存到持久性內(nèi)存中時(shí)(或在持久性內(nèi)存之間拷貝), 可以使用弱順序, 非暫時(shí)的store操作 (比如使用MOVNTI 指令)。 因?yàn)镹on-temporal store指令可以隱式地使要回寫(xiě)的那條cache line 失效, 軟件就不需要明確地flush cache line了(see Section 10.4.6.2. of Intel? 64 and IA-32 Architectures Software Developer’s Manual, Volume 1)。

03

總結(jié)

本期我們介紹了NVDIMM 的幾種實(shí)現(xiàn)方式, 以及為了發(fā)揮NVDIMM-P 的性能所做的硬件上的優(yōu)化和支持。后面我們會(huì)繼續(xù)介紹軟件方面的支持, 包括編程模型, 編程庫(kù), SPDK方面的支持等。敬請(qǐng)期待。

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

    關(guān)注

    40

    文章

    2301

    瀏覽量

    183221
  • 存儲(chǔ)技術(shù)
    +關(guān)注

    關(guān)注

    5

    文章

    731

    瀏覽量

    45769
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    2982

    瀏覽量

    73826

原文標(biāo)題:內(nèi)存之后,下一代存儲(chǔ)技術(shù)是什么?

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    NVDIMM-P內(nèi)存最新技術(shù),能夠在意外斷電時(shí)保留原有數(shù)據(jù)

    內(nèi)存的靈活方法所驅(qū)動(dòng)的。NVDIMM-P 內(nèi)存能夠在意外斷電時(shí)保留原有數(shù)據(jù),與英特爾傲騰(Optane)內(nèi)存芯片比較類(lèi)似。 ? JEDEC混合DIMM任務(wù)組標(biāo)準(zhǔn)化NVDIMM主席Jonathan
    的頭像 發(fā)表于 03-17 17:03 ?5207次閱讀

    定點(diǎn)算法實(shí)現(xiàn)優(yōu)化

    發(fā)揮出來(lái)。3.3 循環(huán)展開(kāi)優(yōu)化 循環(huán)展開(kāi)是另一種優(yōu)化程序的方法。為了充分利用芯片內(nèi)的硬件資源,使盡可能多的指令同時(shí)并行執(zhí)行,可以采用將小循環(huán)展開(kāi)的方式,使片內(nèi)資源的
    發(fā)表于 04-18 10:54

    HBase性能優(yōu)化方法總結(jié)

    HBase是Hadoop生態(tài)系統(tǒng)中的一個(gè)組件,是一個(gè)分布式、面向列的開(kāi)源數(shù)據(jù)庫(kù),可以支持數(shù)百萬(wàn)列、超過(guò)10億行的數(shù)據(jù)存儲(chǔ),因此,對(duì)HBase性能提出了一定的要求,那么如何進(jìn)行HBase性能優(yōu)化
    發(fā)表于 04-20 17:16

    如何采用VHDL硬件實(shí)現(xiàn)DDS的優(yōu)化設(shè)計(jì)與實(shí)現(xiàn)

    直接數(shù)字頻率合成器DDS具有哪些特點(diǎn)?DDS基本原理及工作過(guò)程解析采用VHDL硬件實(shí)現(xiàn)DDS的優(yōu)化設(shè)計(jì)與實(shí)現(xiàn)
    發(fā)表于 04-12 06:28

    優(yōu)化的關(guān)鍵,RISC-V中的性能監(jiān)控

    定制或廠商特定的方案,而缺少通用性能監(jiān)控軟件工具的完整支持。Perf對(duì)RISC-V的支持系統(tǒng)級(jí)的性能優(yōu)化往往是靠
    發(fā)表于 12-27 08:00

    Camellia加密算法基于硬件實(shí)現(xiàn)優(yōu)化

    分別從整體和局部的角度,提出Camellia 算法幾種基于硬件編程實(shí)現(xiàn)優(yōu)化方法。在整體角度,以輪循環(huán)和模塊復(fù)用方式
    發(fā)表于 01-15 15:49 ?13次下載

    快速改變?yōu)V波器中心頻率的幾種實(shí)現(xiàn)方式

    快速改變?yōu)V波器中心頻率的幾種實(shí)現(xiàn)方式,下來(lái)看看
    發(fā)表于 01-07 21:24 ?12次下載

    IDT 公布業(yè)界首款 DDR4 NVDIMM 電源管理集成電路

    NVDIMM 應(yīng)用開(kāi)發(fā)的電源管理集成電路(PMIC)。IDT? P8800 提供完全集成、可通過(guò)軟件編程的解決方案——該方案能夠管理所有 DIMM 的電壓保護(hù)、電源切換和過(guò)流過(guò)壓保護(hù)—— 籍此使各個(gè)
    發(fā)表于 02-08 15:36 ?1567次閱讀

    新思科技推出業(yè)內(nèi)首個(gè)DDR5 NVDIMM-P驗(yàn)證IP 加速驗(yàn)證工作完成

    新思科技(Synopsys,Inc.納斯達(dá)克股票代碼:SNPS)近日宣布為DDR5/4非易失性雙列直插式內(nèi)存模塊(NVDIMM-P),推出業(yè)內(nèi)首個(gè)驗(yàn)證IP (VIP)。NVDIMM-P是新一代存儲(chǔ)
    的頭像 發(fā)表于 05-17 09:43 ?3342次閱讀

    ASIC設(shè)計(jì)方案提供商燦芯半導(dǎo)體為NVDIMM OEM提供控制器芯片方案

    芯片解決方案。 非易失性雙列直插式內(nèi)存模塊(NVDIMM)是計(jì)算機(jī)的一種隨機(jī)存取存儲(chǔ)器,即使在遇到供電不穩(wěn)、系統(tǒng)崩潰或正常關(guān)機(jī)等斷電情況時(shí)仍保留其內(nèi)容。NVDIMM可快速恢復(fù)現(xiàn)場(chǎng),提高應(yīng)用程序性能,數(shù)據(jù)安全性和系統(tǒng)崩潰修復(fù)時(shí)間,
    發(fā)表于 10-28 16:20 ?1147次閱讀

    NVDIMM-P非易失內(nèi)存標(biāo)準(zhǔn)公布:斷電不丟數(shù)據(jù)、兼容DDR4

    ,和普通用戶無(wú)關(guān)。 現(xiàn)在,JEDEC固態(tài)技術(shù)標(biāo)準(zhǔn)協(xié)會(huì)發(fā)布了DDR4 NVDIMM-P非易失內(nèi)存標(biāo)準(zhǔn)規(guī)范,序列編號(hào)JESD304-4.01,也可以在斷電后不丟失數(shù)據(jù),而且完全兼容DDR4內(nèi)存標(biāo)準(zhǔn)。 根據(jù)規(guī)范,這種新內(nèi)存兼容普通的DIMM內(nèi)存標(biāo)準(zhǔn)、固件,可以最大程度減少對(duì)于現(xiàn)有設(shè)備、平臺(tái)的更改,同
    的頭像 發(fā)表于 02-19 10:04 ?1794次閱讀

    NVDIMM-P非易失內(nèi)存標(biāo)準(zhǔn)正式公布

    我們知道,傳統(tǒng)的DDR DIMM內(nèi)存是易失性的,也就是必須維持通電才能保持?jǐn)?shù)據(jù),一旦斷電就都沒(méi)了。
    的頭像 發(fā)表于 02-19 10:18 ?1702次閱讀
    <b class='flag-5'>NVDIMM-P</b>非易失內(nèi)存標(biāo)準(zhǔn)正式公布

    NVDIMM – 內(nèi)存和存儲(chǔ)的完美結(jié)合

    與 DDR-DIMM 相比,SSD/HDD 提供對(duì)服務(wù)器的訪問(wèn)速度要慢得多,并且會(huì)造成性能差距。為了克服固態(tài)硬盤(pán)/硬盤(pán)和 DDR-DIMM 之間的這種性能差距,市場(chǎng)上正在發(fā)展一種稱(chēng)為 NVDIMM 的新技術(shù)。這項(xiàng)新技術(shù)可以在SS
    的頭像 發(fā)表于 05-26 10:34 ?3226次閱讀
    <b class='flag-5'>NVDIMM</b> – 內(nèi)存和存儲(chǔ)的完美結(jié)合

    下一代內(nèi)存技術(shù):準(zhǔn)備好迎接驗(yàn)證挑戰(zhàn)了嗎

    NVDIMM:又名非易失性雙列直插式內(nèi)存模塊。這是一個(gè)RAM DIMM,在電源關(guān)閉時(shí)不會(huì)丟失其數(shù)據(jù)。這兩種強(qiáng)大技術(shù)的結(jié)合為提高應(yīng)用程序性能、數(shù)據(jù)安全性和系統(tǒng)崩潰恢復(fù)時(shí)間提供了一系列好處。Synopsys 正在與內(nèi)存供應(yīng)商密切合作,以捕獲要包含在
    的頭像 發(fā)表于 05-26 15:21 ?780次閱讀
    下一代內(nèi)存技術(shù):準(zhǔn)備好迎接驗(yàn)證挑戰(zhàn)了嗎

    java實(shí)現(xiàn)多線程的幾種方式

    Java實(shí)現(xiàn)多線程的幾種方式 多線程是指程序中包含了兩個(gè)或以上的線程,每個(gè)線程都可以并行執(zhí)行不同的任務(wù)或操作。Java中的多線程可以提高程序的效率和性能,使得程序可以同時(shí)處理多個(gè)任務(wù)。
    的頭像 發(fā)表于 03-14 16:55 ?552次閱讀