NVDIMM介紹與應用 - w3c學習教程

文章推薦指數: 80 %
投票人數:10人

NVDIMM介紹與應用,nvdimm 是在一種整合了dram 非易失性記憶體晶片的記憶體條規格,能夠在完全斷電的時候依然儲存完整記憶體資料,這次釋出agiga8. NVDIMM介紹與應用 2021-07-2514:54:00字數3277閱讀6441 nvdimm是在一種整合了dram+非易失性 記憶體晶片的 記憶體條規格,能夠在完全斷電的時候依然儲存完整記憶體資料,這次釋出agiga860採用了nand  快閃記憶體作為記憶體條的非易失性儲存晶片,而dram部分則是ddr3-1600,記憶體條上沒有采用電池,而是ssd上常見的 非易失性記憶體,nvdimm已逐步進入主流伺服器市場, micron,viking,agiga等國外記憶體廠商皆以推出自己的nvdimm。

國內廠商雲動科技也推出了自己的nvdimm產品,並給出了基於nvdimm的 全系統保護演示示例。

外文名 nvdimm 磁碟快取 減少cpu透過 i/o讀寫磁碟的次數 本    質 記憶體條規格 集    成 dram+非易失性記憶體晶片 1歷史2應用 ▪資料保護 ▪磁碟快取 ▪儲存鏈 3相關技術發展 ▪snianvmexpress ▪linuxkernel ▪cpu 編輯nvdimm由 bbu(batterybackedup)  dimm演變而來。

bbu採用含有重金屬的 後備電池以維持普通揮發性記憶體中的內容幾小時之久,但不符合綠色能源的要求。

由 超級電容作為動力源的nvdimm應運而生。

並且nvdimm使用非揮發性的flash儲存介質來儲存資料,資料能夠儲存的時間更長。

編輯 計算機系統的計算結果和服務資訊皆臨時儲存在記憶體中,這些資料在系統掉電後將丟失,甚至能引起整個系統的崩潰。

nvdimm可以解決系統異常掉電情況下,記憶體資料的儲存工作,並且能夠在系統恢復正常執行後,繼續之前的工作。

全系統保護 [1]是nvdimm的一個典型應用場景。

在系統異常掉電後,該系統能在短時間內將整個計算機系統當前的工作狀態(包括cpu,橋接晶片,網絡卡等硬體裝置以及系統中所有的程序)儲存至nvdimm。

在系統重新上電執行後,立即恢復至之前的執行狀態,彷彿系統只是“打了個盹”。

雲技術發展日新月異的今天,虛擬化技術作為雲的核心技術,得到了廣泛的關注與創新。

與此同時,作為雲服務執行的底層載體, 虛擬機器的 資料安全與完整是目前急需解決的重要課題。

虛擬機器實質為軟體模擬的具有完整硬體系統功能的、執行在一個完全隔離環境中的完整計算機系統,也就意味著虛擬機器的所有執行狀態都在記憶體中。

nvdimm可以利用虛擬機器本身的快照功能,在系統異常情況下,迅速保護儲存在記憶體中的臨時快照,達到保護整個虛擬機器的目的。

磁碟快取是為了減少 cpu透過 i/o讀寫磁碟的次數,提升磁碟i/o的效率,用一部分記憶體來儲存訪問較頻繁的磁碟內容。

磁碟快取的存在對於資料訪問的一致性帶來了問題,尤其是採用write-back策略的寫快取導致異常掉電情況下記憶體中更新的資料未能及時寫入磁碟而丟失。

nvdimm是寫快取的最佳儲存介質。

它的隨機訪問性質能讓cpu和作業系統直接訪問管理,並且非易失性保證資料在異常掉電情況下得以保護。

[2]目前,針對 raid控制器的寫快取nvdimm已逐漸被接受。

對於帶有板級 raid控制晶片或者採用 軟體raid方案的計算機,缺乏寫快取,nvdimm可以直接用做系統主存,配合作業系統,完成寫快取任務。

還有一類pcie介面的 raid控制卡,它們採用普通的帶電池後備的 記憶體條作為快取使用,nvdimm可以直接替代這些記憶體條。

儲存鏈是將整個儲存系統中的資料按照安全度,效能要求以及使用頻率 分層儲存在不同的非易失儲存介質中。

[1] storagetier 如圖所示為一典型的儲存鏈例項。

io效能要求較高的資料被儲存在ssd上,而要求較低的資料放入各種型別的磁碟陣列以及 nas。

nvdimm可作為儲存鏈的最前端,它的速度比ssd更快,並且能夠提供直接隨機訪問的特性。

cpu的記憶體柵障與重新整理cache指令能夠保證nvdimm資料的原子寫與一致性。

所以,nvdimm非常適合用作檔案系統或者 資料庫後設資料與日誌的儲存介質。

編輯 snia在2013年底相繼發表的nvm(non-volatilememory)的硬體介面規範和程式設計模型規範。

定義了nvm的範圍為pcie介面的 flash儲存器,控制卡以及nvdimm,pcm等可以隨機訪問的非易失性儲存器。

snia提出了blockvolume和persistentmemory兩種模型,並給出了每種模型能夠處理的命令集以及能完成的功能。

blockvolume即傳統的塊裝置模型,以塊為單位進行資料傳輸,採用與現有的ata,scsi,fc等協議具有相同的程式設計方式,比如pciessd,pcieraidcontroller就是此類模型。

persistentmemory是具有直接隨機訪問與非易失性雙重特性的程式設計模型,可以採用傳統 虛擬記憶體管理介面,為檔案系統或者資料庫提供新的儲存行為。

nvdimm即採用此類程式設計模型,同樣pcie卡如果將其儲存空間對映至pcie儲存域,並且能夠遮蔽底層的flash特性,亦能採用此類模型。

作業系統方面,ricwheeler在2013linuxfoundationcollaborationsummit提出了在linux系統中支援nvm的想法,並且snia組織也已經給出了nvme裝置的 linux驅動。

在ric的討論中,在相容老式程式設計模型的api的基礎上,定義新的適合nvm裝置的api,讓檔案系統和資料庫都能更好地利用nvm的特性。

intel最新的家用機晶片 haswell-e cpu開始支援288pin的 ddr4 記憶體條。

在jedec最新的ddr4規範中 [3],有4個pin為nvdimm的電源與 控制訊號。

可見 主流cpu與主機板已經開始將nvdimm加入商業化的儲存系統。

非同步dram自重新整理(adr)技術是 intel在 凌動s12x9家族處理器上推出的新技術,可保證在異常掉電時,cpu沖刷cache,寫回cache的 髒資料,然後將dram設定進入自重新整理狀態。

nvdimm就是在dram處於自重新整理狀態時將控制權由cpu移交給nvdimm本身,adr技術就是為nvdimm量身定製。

另外,adr技術能夠有選擇的在計算機熱啟動時,不對特定通道的dram進行重新初始化,從而保留dram中的資料。

包括macrosan、dahua、accusys、qsan和qnap等資料中心製造商已經宣佈開始支援s12x9處理器家族。

參考資料 相關推薦 Android中的Button 程式設計題從單向連結串列中刪除指定值的節點 Android實現一個登入頁面 NVDIMM介紹與應用 複雜的ListView,多條目載入 相關推薦 Android中的Button 程式設計題從單向連結串列中刪除指定值的節點 Android實現一個登入頁面 NVDIMM介紹與應用 複雜的ListView,多條目載入 相關閱讀 Android中的Button 程式設計題從單向連結串列中刪除指定值的節點 Android實現一個登入頁面 NVDIMM介紹與應用 複雜的ListView,多條目載入 連續合數探求 topic 科技 教育 C python linux r 社會 數碼 遊戲 java mysql c++ 健康 文化 演算法 資料庫 汽車 娛樂 財經 科學 php 職場 sql C語言 資料結構 oracle git 體育 c#



請為這篇文章評分?