CN209746537U - 一种兼容nvdimm-p功能的nvdimm-n - Google Patents
一种兼容nvdimm-p功能的nvdimm-n Download PDFInfo
- Publication number
- CN209746537U CN209746537U CN201822268393.0U CN201822268393U CN209746537U CN 209746537 U CN209746537 U CN 209746537U CN 201822268393 U CN201822268393 U CN 201822268393U CN 209746537 U CN209746537 U CN 209746537U
- Authority
- CN
- China
- Prior art keywords
- nvdimm
- nand flash
- cpu
- dram
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本实用新型提供了兼容NVDIMM‑P功能的NVDIMM‑N。根据本实用新型,实现了CPU在正常工作时访问NAND Flash的技术,提高了NAND Flash的利用率。
Description
技术领域
本实用新型涉及存储器领域。更具体地,本实用新型涉及一种NVDIMM(Non-Volatile Dual Inline Memory Module)-N,尤其涉及兼容NVDIMM-P功能的NVDIMM-N。
背景技术
NVDIMM是一种非易失性双列直插内存模块。当CPU/Host异常或掉电时,NVDIMM控制器会将内存诸如DRAM中的数据备份到NAND Flash。之后在CPU新上电时,NANDFlash中所备份的数据会被恢复到内存。
NVDIMM主要存在如下两种:NVDIMM-N和NVDIMM-P。
NVDIMM-N主要由DRAM、NVDIMM控制器、NANDFlash和超级电容组成。NVDIMM控制器实现了NVDIMM-N的非易失性,可用FPGA或ASIC实现,目前以FPGA实现为主。在CPU正常工作时,NVDIMM-N可作为普通的RDIMM被CPU访问。在CPU异常或掉电时,NVDIMM控制器会将DRAM中的数据备份到NANDFlash中。此时,NVDIMM-N板级由超级电容供电。在CPU重新上电时,NVDIMM控制器将备份在NANDFlash中的数据恢复到DRAM中,同时给超级电容充电。
图1示出了JEDEC规范中的NVDIMM-N的框图,相对于普通的RDIMM,NVDIMM-N的288个引脚中多了4个引脚,其中两个引脚(1,145)是12V以给单板供电,一个SAVE_N引脚(230)是在系统异常掉电时其被CPU拉低来通知控制器进行数据备份,另一个EVENT_N引脚(78)是控制器通知CPU一些重要事件的中断。
按照JEDEC规范对NVDIMM-N的定义,NANDFlash仅在备份/恢复内存数据时由NVDIMM-N控制器访问和操作。CPU在正常工作时,NAND Flash处于空闲状态。因此,在NVDIMM-N中,NANDFlash的利用率不高。
NVDIMM-P在NVDIMM-N的基础上,通过增加接口或复用访问接口通道,使CPU能够在正常工作时通过NVDIMM控制器访问NAND Flash。NVDIMM-P不仅在备份/恢复内存数据时会操作NAND Flash,而且在CPU正常工作时,也会将NAND Flash作为硬盘进行读写。因此,在NVDIMM-P中,NAND Flash的利用率大大提升。
鉴于此,亟需改善常规的NVDIMM-N以克服产品规格限制,提高NAND Flash的利用率。
实用新型内容
本实用新型的目的在于提供一种改进的NVDIMM-N,实现CPU在正常工作时访问NAND Flash的技术,提高NAND Flash的利用率。
根据本实用新型的第一方面,提供了一种兼容NVDIMM-P功能的NVDIMM-N,所述NVDIMM-N包括:
NVDIMM控制器,
DRAM,所述DRAM通过DDR接口与所述NVDIMM控制器连接;
NAND Flash,所述NAND Flash通过ONFI接口与所述NVDIMM控制器连接,CPU正常工作时能够发送写命令至所述NAND Flash。
根据本实用新型的NVDIMM-N的一个优选实施方案,所述DRAM中存储有待写入NANDFlash的数据,且所述NAND Flash中具有与待写入的数据大小相对应的缓存空间。
根据本实用新型的NVDIMM-N的一个优选实施方案,所述NVDIMM控制器经由SMBus/I2C接口接收待写入的数据的DRAM地址以及所开辟出的缓存空间的NAND Flash目标地址。
根据本实用新型的NVDIMM-N的一个优选实施方案,在所述待写入的数据、所述DRAM地址以及所述NAND Flash目标地址都正确时,通过CPU将SAVE_n信号拉低。
根据本实用新型的NVDIMM-N的一个优选实施方案,通过所述NVDIMM控制器接收拉低的SAVE_n信号且检查是否存在写NAND Flash命令;在所述NVDIMM控制器检测到写NANDFlash命令时,通过所述NVDIMM控制器将DRAM控制权从CPU切换过来。
根据本实用新型的NVDIMM-N的一个优选实施方案,所述NVDIMM控制器通过DDR接口从所述DRAM地址中读取所述待写入的数据,且通过ONFI接口将所述待写入的数据写入所述NAND Flash目标地址。
根据本实用新型的NVDIMM-N的一个优选实施方案,在写操作完成之后,通过所述NVDIMM控制器根据CPU的指示将DRAM控制权切回至CPU,且在NVDIMM控制器内通过寄存器来标识此次写操作是否成功。
根据本实用新型的第二方面,提供了一种兼容NVDIMM-P功能的NVDIMM-N,所述NVDIMM-N包括:
NVDIMM控制器,
DRAM,所述DRAM通过DDR接口与所述NVDIMM控制器连接;
NAND Flash,所述NAND Flash通过ONFI接口与所述NVDIMM控制器连接,CPU正常工作时能够发送读命令至所述NAND Flash。
根据本实用新型的NVDIMM-N的一个优选实施方案,所述NAND Flash中存储有待读取的数据,且在所述DRAM中具有与待读取的数据大小相对应的缓存空间。
根据本实用新型的NVDIMM-N的一个优选实施方案,所述NVDIMM控制器通过SMBus/I2C接口接收所述待读取的数据的NAND Flash存储地址和缓存空间的DRAM目标地址。
根据本实用新型的NVDIMM-N的一个优选实施方案,在待读取的数据、所述NANDFlash存储地址以及所述DRAM目标地址都正确时,通过CPU将SAVE_n信号拉低。
根据本实用新型的NVDIMM-N的一个优选实施方案,通过所述NVDIMM控制器接收到拉低的SAVE_n信号且检查CPU是否已经发出读NAND Flash命令;在检测到CPU发出了读NANDFlash命令时,通过NVDIMM控制器将DRAM控制权从CPU切换过来。
根据本实用新型的NVDIMM-N的一个优选实施方案,所述NVDIMM控制器通过ONFI接口从所述NAND Flash存储地址读取所述待读取的数据,且通过DDR接口将所述待读取的数据写入至所述DRAM目标地址。
根据本实用新型的NVDIMM-N的一个优选实施方案,在读取操作完成之后,通过NVDIMM控制器在CPU的指示下将DRAM控制权切回至CPU,在NVDIMM控制器内通过寄存器来标识此次读操作是否成功。
因此,本实用新型的技术优势为:以NVDIMM-N产品规格为基础,实现了NVDIMM-N在CPU正常工作时可访问NAND Flash,对NAND Flash进行写和读操作。这样,使NVDIMM-N具有NVDIMM-P的访问NAND Flash作为硬盘的功能。
附图说明
通过下文结合对附图的说明,将更容易理解本实用新型,在附图中:
图1为现有技术中根据JEDEC规范定义的NVDIMM-N的框图。
图2为根据本实用新型的一个实施方案的系统框图。
具体实施方式
下面结合附图对本实用新型进行详细描述。
NVDIMM控制器实现非易失性功能主要由DRAM、NAND(ONFI)控制器及数据备份/恢复部分(即,NAND Flash部分)这三部分完成,用FPGA实现NVDIMM控制器时这三部分是数字逻辑电路。CPU通过SMBus/I2C接口与NVDIMM控制器进行通信。SAVE_n是CPU向NVDIMM控制器发出中断信号,正常情况下,拉低表示CPU出现异常需要进行数据备份。
本实用新型通过扩展接口含义和协议命令实现CPU可访问NAND的功能。
图2为根据本实用新型的一个实施方案的系统框图。
当CPU正常工作时,对NAND Flash进行写操作的流程如下:
首先,CPU将待写入NAND Flash的数据Data待写入存储在DRAM中,并且在NAND Flash中开辟出与待写入的数据大小相对应的缓存空间。
然后,CPU获取待写入的数据在DRAM中的地址A写DRAM,以及NAND Flash中所开辟出的缓存空间的目标地址A写NAND Flash,并且将所述地址A写DRAM和目标地址A写NAND Flash通过SMBus/I2C接口发送给NVDIMM控制器。
之后,CPU确认数据Data待写入、地址A写DRAM以及目标地址A写NAND Flash是否正确。如果这些信息都正确,则CPU将SAVE_n信号拉低。如果这些信息中的任何一个不正确,则CPU不执行任何操作且自身检测错误原因。
之后,NVDIMM控制器接收到拉低的SAVE_n信号之后,检查CPU是否已经发出写NANDFlash命令。
如果检测到CPU未发出写NAND Flash命令,则代表CPU经历了异常或掉电,此时进行正常的数据备份流程。
如果检测到CPU发出了写NAND Flash命令,则NVDIMM控制器将DRAM控制权从CPU切换过来。即,在切换之前,CPU操作DRAM控制权;在切换之后,NVDIMM控制器操作DRAM控制权。
之后,NVDIMM控制器通过DDR接口从DRAM的地址A写DRAM中读取数据Data待写入,并且将数据Data待写入写入NAND Flash中的目标地址A写NAND Flash。
当写入操作完成之后,NVDIMM控制器在CPU的指示下将DRAM控制权切回至CPU。同时,在NVDIMM控制器内通过寄存器来标识此次写操作是否成功。例如,标识符“1”代表成功,标识符“0”代表失败。这样,CPU通过SMBus/I2C接口查询可知此次写操作的状态。
在CPU正常工作时,对NAND Flash进行读操作的流程如下:
首先,CPU获取待读取的数据Data待读取在NAND Flash中的存储地址A读NAND Flash,并且在DRAM中开辟出与待读取的数据Data待读取大小相对应的缓存空间。
然后,CPU获取DRAM中所开辟出的缓存空间的目标地址A读DRAM,并且将所述地址A读NAND Flash和目标地址A读DRAM通过SMBus/I2C接口发送给NVDIMM控制器。
之后,CPU确认待读取的数据Data待读取、地址A读NAND Flash以及目标地址A读DRAM是否正确。如果这些信息都正确,则CPU将SAVE_n信号拉低。如果这些信息中的任何一个不正确,则CPU不执行任何操作且自身检测错误原因。
之后,NVDIMM控制器接收到拉低的SAVE_n信号之后,检查CPU是否已经发出读NANDFlash命令。
如果检测到CPU未发出读NAND Flash命令,则代表CPU经历了异常或掉电,此时进行正常的数据备份流程。
如果检测到CPU发出了读NAND Flash命令,则NVDIMM控制器将DRAM控制权从CPU切换过来。即,在切换之前,CPU操作DRAM控制权;在切换之后,NVDIMM控制器操作DRAM控制权。
之后,NVDIMM控制器从NAND Flash中的地址A读NAND Flash读取数据Data待读取,并且通过DDR接口将Data待读取写入至DRAM中的目标地址A读DRAM。
当读取操作完成之后,NVDIMM控制器在CPU的指示下将DRAM控制权切回至CPU。同时,在NVDIMM控制器内通过寄存器来标识此次读操作是否成功。例如,标识符“1”代表成功,标识符“0”代表失败。这样,CPU通过SMBus/I2C接口查询可知此次读操作的状态。
本实用新型在NVDIMM-N的产品体系框架内,以NVDIMM-N的协议为基础,增加相应的读写NAND Flash操作,使NVDIMM-N具有了NVDIMM-P的读写NAND Flash作为硬盘存储的功能。
应理解,本文中的实施方案和实施例仅出于示例目的,本领域技术人员可以在不背离本实用新型的范围的前提下做出许多变体。
Claims (10)
1.一种兼容NVDIMM-P功能的NVDIMM-N,其特征在于,所述NVDIMM-N包括:
NVDIMM控制器,
DRAM,所述DRAM通过DDR接口与所述NVDIMM控制器连接;
NAND Flash,所述NAND Flash通过ONFI接口与所述NVDIMM控制器连接,CPU正常工作时能够发送写命令至所述NAND Flash,
所述NVDIMM控制器经由SMBus/I2C接口接收待写入NAND Flash的数据的DRAM地址以及所开辟出的与待写入的数据大小相对应的缓存空间的NAND Flash目标地址。
2.根据权利要求1所述的NVDIMM-N,其特征在于,在所述待写入的数据、所述DRAM地址以及所述NAND Flash目标地址都正确时,通过CPU将SAVE_n信号拉低。
3.根据权利要求2所述的NVDIMM-N,其特征在于,通过所述NVDIMM控制器接收拉低的SAVE_n信号且检查是否存在写NAND Flash命令;在所述NVDIMM控制器检测到写NAND Flash命令时,通过所述NVDIMM控制器将DRAM控制权从CPU切换过来。
4.根据权利要求3所述的NVDIMM-N,其特征在于,所述NVDIMM控制器通过DDR接口从所述DRAM地址中读取所述待写入的数据,且通过ONFI接口将所述待写入的数据写入所述NANDFlash目标地址。
5.根据权利要求4所述的NVDIMM-N,其特征在于,在写操作完成之后,通过所述NVDIMM控制器根据CPU的指示将DRAM控制权切回至CPU,且在NVDIMM控制器内通过寄存器来标识此次写操作是否成功。
6.一种兼容NVDIMM-P功能的NVDIMM-N,其特征在于,所述NVDIMM-N包括:
NVDIMM控制器,
DRAM,所述DRAM通过DDR接口与所述NVDIMM控制器连接;
NAND Flash,所述NAND Flash通过ONFI接口与所述NVDIMM控制器连接,CPU正常工作时能够发送读命令至所述NAND Flash,
所述NVDIMM控制器通过SMBus/I2C接口接收待读取的数据的NAND Flash存储地址和与待读取的数据大小相对应的缓存空间的DRAM 目标地址。
7.根据权利要求6所述的NVDIMM-N,其特征在于,在待读取的数据、所述NAND Flash存储地址以及所述DRAM目标地址都正确时,通过CPU将SAVE_n信号拉低。
8.根据权利要求7所述的NVDIMM-N,其特征在于,通过所述NVDIMM控制器接收到拉低的SAVE_n信号且检查CPU是否已经发出读NAND Flash命令;在检测到CPU发出了读NAND Flash命令时,通过NVDIMM控制器将DRAM控制权从CPU切换过来。
9.根据权利要求8所述的NVDIMM-N,其特征在于,所述NVDIMM控制器通过ONFI接口从所述NAND Flash存储地址读取所述待读取的数据,且通过DDR接口将所述待读取的数据写入至所述DRAM目标地址。
10.根据权利要求9所述的NVDIMM-N,其特征在于,在读取操作完成之后,通过NVDIMM控制器在CPU的指示下将DRAM控制权切回至CPU,在NVDIMM控制器内通过寄存器来标识此次读操作是否成功。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201822268393.0U CN209746537U (zh) | 2018-12-29 | 2018-12-29 | 一种兼容nvdimm-p功能的nvdimm-n |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201822268393.0U CN209746537U (zh) | 2018-12-29 | 2018-12-29 | 一种兼容nvdimm-p功能的nvdimm-n |
Publications (1)
Publication Number | Publication Date |
---|---|
CN209746537U true CN209746537U (zh) | 2019-12-06 |
Family
ID=68704611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201822268393.0U Active CN209746537U (zh) | 2018-12-29 | 2018-12-29 | 一种兼容nvdimm-p功能的nvdimm-n |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN209746537U (zh) |
-
2018
- 2018-12-29 CN CN201822268393.0U patent/CN209746537U/zh active Active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10896099B2 (en) | Memory module with non-volatile backup storage | |
TWI553650B (zh) | 以記憶體控制器來處理資料錯誤事件之方法、設備及系統 | |
TWI662410B (zh) | 資料儲存裝置與記憶體裝置之資料處理方法 | |
TWI602115B (zh) | 資料儲存裝置之資料儲存方法 | |
CN107240420B (zh) | 数据存储装置及其操作方法 | |
TWI498902B (zh) | 資料管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
JP2012128643A (ja) | メモリシステム | |
KR20190117117A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US9384125B2 (en) | Method for accessing flash memory having pages used for data backup and associated memory device | |
US10831657B2 (en) | Debug data recovery after PLI event | |
CN111819549A (zh) | 从易失性到非易失性存储器的备份操作 | |
CN111324290A (zh) | 一种存储器 | |
CN110781029A (zh) | 断电保护方法及系统 | |
CN106469119B (zh) | 一种基于nvdimm的数据写缓存方法及其装置 | |
CN112835514B (zh) | 存储器系统 | |
CN209746537U (zh) | 一种兼容nvdimm-p功能的nvdimm-n | |
US20230289059A1 (en) | Memory system and operating method thereof | |
CN110134322B (zh) | 运用dram的储存装置及其相关数据处理方法 | |
US9836359B2 (en) | Storage and control method of the same | |
CN113168363A (zh) | 延迟写入失败记录 | |
US20230035137A1 (en) | Idle power mode for external storage device | |
US11734184B2 (en) | Effective avoidance of line cache misses | |
US11822793B2 (en) | Complete and fast protection against CID conflict | |
US11379362B2 (en) | Memory system and operating method thereof | |
TWI740268B (zh) | 自我調整識別快閃記憶體類型方法及裝置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GR01 | Patent grant | ||
GR01 | Patent grant |