CN109582508B - 用于nvdimm的数据备份和恢复方法、nvdimm控制器以及nvdimm - Google Patents

用于nvdimm的数据备份和恢复方法、nvdimm控制器以及nvdimm Download PDF

Info

Publication number
CN109582508B
CN109582508B CN201811643227.2A CN201811643227A CN109582508B CN 109582508 B CN109582508 B CN 109582508B CN 201811643227 A CN201811643227 A CN 201811643227A CN 109582508 B CN109582508 B CN 109582508B
Authority
CN
China
Prior art keywords
bit
bits
edq
controller
nvdimm
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
Application number
CN201811643227.2A
Other languages
English (en)
Other versions
CN109582508A (zh
Inventor
周小锋
江喜平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xi'an Ziguang Guoxin Semiconductor Co ltd
Original Assignee
Xi'an Ziguang Guoxin Semiconductor Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xi'an Ziguang Guoxin Semiconductor Co ltd filed Critical Xi'an Ziguang Guoxin Semiconductor Co ltd
Priority to CN201811643227.2A priority Critical patent/CN109582508B/zh
Publication of CN109582508A publication Critical patent/CN109582508A/zh
Priority to US17/419,518 priority patent/US11914484B2/en
Priority to PCT/CN2019/127880 priority patent/WO2020135411A1/zh
Application granted granted Critical
Publication of CN109582508B publication Critical patent/CN109582508B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提供用于NVDIMM的数据备份和恢复方法、NVDIMM控制器以及NVDIMM。NVDIMM(200)包括DRAM(201)、NAND闪存(202)和NVDIMM控制器(100),NVDIMM控制器控制NVDIMM并包括DDR控制器(101)、NAND闪存控制器(102)、数据备份模块(103)和数据恢复模块(104),DDR控制器采用并使能DBI。其中备份方法包括:DDR控制器从DRAM读取N位DQ和1位DBI并将其发送至数据备份模块;数据备份模块根据N位DQ和1位DBI的值将其编码成N位EDQ并将N位EDQ发送至NAND闪存控制器;NAND闪存控制器接收N位EDQ并将其写入NAND闪存。

Description

用于NVDIMM的数据备份和恢复方法、NVDIMM控制器以及 NVDIMM
技术领域
本发明涉及非易失性内存领域,更具体地涉及一种低功耗的用于NVDIMM的数据备份方法、数据恢复方法、NVDIMM控制器以及NVDIMM。
背景技术
NVDIMM是一种非易失性内存,包括DRAM、NAND闪存(NAND Flash)和NVDIMM控制器。在主板/CPU异常或掉电时,通过中断或消息通知NVDIMM控制器,NVDIMM控制器会将DRAM中的数据备份到NAND闪存。之后在主板/CPU重新上电时,主板/CPU会通知NVDIMM控制器将备份在NAND闪存中的数据恢复到DRAM,并给超级电容充电。NVDIMM在数据备份时由超级电容供电,但超级电容供电能力有限,且随服役时间和工作温度升高有较大衰减。对于NVDIMM而言,数据备份的功耗和数据备份/恢复的时间是两个重要的产品性能指标,决定了超级电容的容量、可靠性和产品的成本。数据备份功耗增加势必需要提升超级电容容量,而超级电容容量增加会带来成本增加和可靠性降低;数据备份/恢复时间决定了数据备份过程中的功耗及用户体验。因此,低功耗的NVDIMM数据快速备份和恢复方法可明显提高产品的竞争力。
为了降低接口功耗,在DDR4中引入了数据总线反相(Data Bus Inversion;DBI)机制。对于JEDEC规范(JESD245A/B)的NVDIMM控制器,在数据备份和恢复时都需要操作DDRx和NAND闪存接口。DDR4使用1.2V接口电压和POD(Pseudo Open Drain)技术,结合DBI可降低25-40%接口的功耗。虽然现有NVDIMM产品在DDR(DDR4)侧采用DBI机制可明显降低DRAM操作功耗,但是在备份数据时需要将待备份的数据和DBI指示一起写入NAND闪存,以便在恢复数据给出DBI指示信号使DRAM得到正确的数据。备份DBI会给NVDIMM备份数据带来额外的存储开销,同时提高了备份的功耗。以16GB NVDIMM DDR4 x8为例,备份DBI需要增加2GB的存储空间,这将使得备份和恢复时间加长1/8,也将增加约1/8的备份功耗。
中国专利公开CN108255428A公开了一种数据处理方法、装置及电子设备。该数据处理方法包括:接收数据传输请求,数据传输请求指示将NVDIMM存储的数据传输至块设备,数据传输请求携带有数据块的标识;根据数据传输请求确定目标数据在NVDIMM中的存储位置信息,其中,目标数据为与数据传输请求对应的待传输数据;以字节访问的方式将NVDIMM中由存储位置信息所指示的目标数据直接传输至块设备。但是该方法在主板/CPU使用NVDIMM层面来降低数据传输时间,需要保存在NVDIMM中的数据具有一定的特点,并没有从NVDIMM的设计角度出发,因此,不具有通用意义的低功耗NVDIMM快速数据备份和恢复特性。
发明内容
对于使用了DBI机制的NVDIMM控制器,DDR接口的功耗可明显降低,但存储DBI信息增加了存储空间和数据备份时NAND闪存接口的功耗,同时使数据备份和恢复时间增加。因此,本发明的目的是解决以下问题:
(1)引入DBI后如何存储DBI信息来降低NVDIMM的数据备份功耗;
(2)引入DBI后如何存储DBI信息来降低NVDIMM的数据备份和恢复时间。
本发明通过以下方面解决上述技术问题。
根据本发明的第一方面,提供一种用于NVDIMM的数据备份方法,所述NVDIMM包括DRAM、NAND闪存和NVDIMM控制器,所述NVDIMM由NVDIMM控制器所控制,所述NVDIMM控制器包括DDR控制器、NAND闪存控制器和数据备份模块,其中所述DDR控制器采用并使能DBI,所述数据备份方法包括:
所述DDR控制器从所述DRAM读取N位DQ和1位DBI,并将所述N位DQ和1位DBI发送至所述数据备份模块;
根据所述N位DQ和1位DBI的值,所述数据备份模块将所述N位DQ和1位DBI编码成N位EDQ,并将所述N位EDQ发送至所述NAND闪存控制器;
所述NAND闪存控制器接收所述N位EDQ,并将所述N位EDQ写入所述NAND闪存。
根据本发明第一方面的一个优选实施方案,其中,当所述N位DQ中含有N/2个“1”时,将所述N位DQ编码成与之相同的N位EDQ;当所述N位DQ中的“1”的数目不是N/2个时,将所述N位DQ索引映射到N位EDQ中的N-1位,将1位DBI写入N位EDQ中的剩余1位,并且N位EDQ中的“1”的位数不为N/2。
根据本发明第一方面的一个优选实施方案,其中,所述DRAM是DDR4。
根据本发明第一方面的一个优选实施方案,其中,所述DRAM是DDR4×8或DDR4×16。
根据本发明第一方面的一个优选实施方案,其中,当所述DRAM是DDR4×8时,所述N位DQ为8位DQ,当8位DQ中含有4个“1”时,将所述8位DQ编码成与之相同的8位EDQ;当8位DQ中含有5-8个“1”时,将8位DQ索引映射到8位EDQ中的7位,将1位DBI写入8位EDQ中的剩余1位,并且8位EDQ中的“1”的位数不为4。
根据本发明的第二方面,提供一种用于NVDIMM的数据恢复方法,所述NVDIMM包括DRAM、NAND闪存和NVDIMM控制器,所述NVDIMM由NVDIMM控制器所控制,所述NVDIMM控制器包括DDR控制器、NAND闪存控制器和数据恢复模块,其中所述DDR控制器采用并使能DBI,所述数据恢复方法包括:
所述NAND闪存控制器从所述NAND闪存读取N位EDQ数据,并将所述N位EDQ数据发送至所述数据恢复模块;
所述数据恢复模块接收所述N位EDQ数据,将所述N位EDQ数据解码成N位DQ和1位DBI,并将所述N位DQ和1位DBI发送至所述DDR控制器;
所述DDR控制器根据所述1位DBI的值拉低或拉高所述DDR控制器的接口的DBI,并将所述N位DQ写入所述DRAM。
根据本发明第二方面的一个优选实施方案,其中,当所述N位EDQ中含有N/2个“1”时,所述N位DQ与所述N位EDQ相同;当所述N位EDQ中的“1”的数目不是N/2个时,则将所述N位EDQ逆映射为N位DQ和1位DBI。
根据本发明第二方面的一个优选实施方案,其中,所述DRAM是DDR4。
根据本发明第二方面的一个优选实施方案,其中,所述DRAM是DDR4×8或DDR4×16。
根据本发明第二方面的一个优选实施方案,其中,当所述DRAM是DDR4×8时,所述EDQ为8位EDQ,当8位EDQ中含有4个“1”时,所述DQ与所述EDQ相同;当8位EDQ中含有非4个“1”时,将所述8位EDQ逆映射为8位DQ和1位DBI。
根据本发明的第三方面,提供一种NVDIMM控制器,所述NVDIMM控制器包括DDR控制器和NAND闪存控制器,所述NVDIMM控制器用于控制NVDIMM,所述NVDIMM包括DRAM和NAND闪存,其中所述DDR控制器采用并使能DBI,其特征在于,
所述NVDIMM控制器还包括:
数据备份模块,用于将所述DDR控制器从所述DRAM读取的N位DQ和1位DBI编码成N位EDQ,并将N位EDQ发送至所述NAND闪存控制器;以及
数据恢复模块,用于将所述NAND闪存控制器从所述NAND闪存读取的N位EDQ解码成N位DQ和1位DBI,并将N位DQ和1位DBI发送至所述DDR控制器。
根据本发明第三方面的一个优选实施方案,其中,所述数据备份模块用于在所述N位DQ中含有N/2个“1”时将所述N位EDQ编码成与所述N位DQ相同,并且用于在所述N位DQ中的“1”的数目不是N/2个时将所述N位DQ索引映射到N位EDQ中的N-1位以及将1位DBI写入N位EDQ中的剩余1位,其中N位EDQ中的“1”的位数不为N/2。
根据本发明第三方面的一个优选实施方案,其中,所述数据恢复模块用于在所述N位EDQ中含有N/2个“1”时将所述N位EDQ解码成与之相同的N位DQ,并且用于在所述N位EDQ中的“1”的数目不是N/2个时将所述N位EDQ逆映射为N位DQ和1位DBI。
根据本发明第三方面的一个优选实施方案,其中,所述DRAM是DDR4。
根据本发明第三方面的一个优选实施方案,其中,所述DDR4是DDR4×8或DDR4×16。
根据本发明第三方面的一个优选实施方案,其中,当所述DDR4是DDR4×8时,所述EDQ为8位EDQ,所述数据备份模块用于在8位EDQ中含有4个“1”时将所述8位DQ编码成与之相同的8位EDQ,并且用于在8位EDQ中含有5-8个“1”时将8位DQ索引映射到8位EDQ中的7位以及将1位DBI写入8位EDQ中的剩余1位,其中8位EDQ中的“1”的位数不为4。
根据本发明第三方面的一个优选实施方案,其中,所述数据恢复模块用于在8位EDQ中含有4个“1”时使得所述DQ与所述EDQ相同,并且用于在8位EDQ中含有非4个“1”时将所述8位EDQ逆映射为8位DQ和1位DBI。
根据本发明的第四方面,提供一种NVDIMM,包括上述第三方面所述的NVDIMM控制器。
本发明的NVDIMM控制器针对使用了DBI机制的DDR,其中1)在数据备份时,DDR侧的DBI机制使能,从DDR接口读取要备份的数据和DBI指示,根据数据的特点,将DBI编码到数据中,通过减少要写入的NAND数据的数目来降低操作NAND接口的功耗和数据备份时间;2)在数据恢复时,从NAND闪存中读取带有DBI编码的备份数据,并从备份数据中解码得到DBI指示和要恢复到DRAM中的数据,数据恢复写入DRAM时,同样使用DBI机制来降低DDR接口的操作功耗。与在使用NVDIMM时根据数据特点来降低功耗的方法相比,本发明从NVDIMM设计层面出发,降低写入NAND闪存的数据量来降低功耗和数据备份时间,对主机的应用没有任何约束和要求。
附图说明
通过下文结合附图的详细说明,将更好地理解本发明。应理解,这些附图仅出于示例目的,且未必按比例绘制。在附图中:
图1是根据本发明一个实施方案的NVDIMM控制器的系统框图。
图2是根据本发明一个实施方案的NVDIMM的示意图。
具体实施方式
根据本发明,NVDIMM控制器实现非易失性功能主要由DDR控制器、NAND闪存控制器及数据备份/恢复模块三部分完成,这三部分是使用FPGA或ASIC实现的。DDR控制器用于控制DRAM,NAND闪存控制器用于控制NAND闪存。本发明针对使用了DBI功能的DDR,其中在数据备份/恢复环节数据备份/恢复模块对DQ和DBI二者进行编解码处理以实现接口低功耗,同时提高了数据备份/恢复速度。下文中所描述的DDR指的是DDR4,但应理解,本发明不限于DDR4,本发明同样适用于其他支持DBI的现有DDR版本和未来DDR版本。
图1也示出了根据本发明一个实施方案的数据备份方法和数据恢复方法。以DDR4x8为例,与DDR控制器相关的接口信号是8比特DQ和1比特DBI,与NAND闪存控制器相关的接口信号是经编码的DQ(EDQ)。
下面将具体描述NVDIMM控制器的数据备份方法。
DDR控制器从DRAM读取数据,由于DBI的作用,DQ中‘1’的个数和DBI指示有9种可能,如表1所示,DBI为‘0’说明DQ数据有翻转,反之,DQ没有翻转。
DQ[7:0] DBI 说明
DQ中4个1 1 DQ没有翻转
DQ中5个1 1 DQ没有翻转
DQ中5个1 0 DQ翻转
DQ中6个1 1 DQ没有翻转
DQ中6个1 0 DQ翻转
DQ中7个1 1 DQ没有翻转
DQ中7个1 0 DQ翻转
DQ中8个1 1 DQ没有翻转
DQ中8个1 0 DQ翻转
表1:DQ和DBI的数值以及关系
从表1可知,当DBI为1时,实际存储在DRAM中的数据与DDR控制器读取的DQ相同;当DBI为0时,实际存储在DRAM中的数据与DDR控制器读取的DQ相反。
根据DQ的特点,即8比特数据中只有4/5/6/7/8个‘1’的情况。本发明的数据备份方法依据这种特点,创新性地将DQ和DBI二者共同进行编码,生成8比特的EDQ,如表2所示,数据备份模块通过编码将8比特DQ和1比特DBI用8比特EDQ来表示,EDQ通过NAND闪存控制器写入NAND闪存,完成数据备份。
表2 DQ、DBI和EDQ编码关系表
对于DQ中存在5/6/7/8个‘1’的情况,为了与DQ中存在4个‘1’的情况进行区分,当DBI=1时,表示93个可能DQ值的索引映射的7位EDQ中不含有3位‘1’;当DBI=0时,表示93个可能DQ值的索引映射的7位EDQ中不含有4位‘1’。
例如,在一个实施方案中,当DBI=1时,EDQ[7]=DBI,EDQ[6:0]表示93个可能DQ值的索引映射,其中EDQ[6:0]中不含有3位‘1’;当DBI=0时,EDQ[7]=DBI,EDQ[6:0]表示93个可能DQ值的索引映射,其中EDQ[6:0]中不含有4位‘1’。
上文的实施方案将DBI信息放置在EDQ的高位,但应理解,DBI信息可以放置在EDQ中任何位置。
当NVDIMM控制器恢复数据时,步骤包括:(1)NAND闪存控制器从NAND闪存读取备份时写入的EDQ数据;(2)数据恢复模块对读取的EDQ数据进行解码,获得DQ和DBI,并将解码后的DQ和DBI发送至所述DDR控制器,所述解码过程是表2的逆过程,如果EDQ中有4位“1”,则不需要解码,否则,将8位EDQ逆映射到8位DQ和1位DBI;(3)DDR控制器根据DBI拉低/拉高DDR控制器的接口的DBI信号,并将DQ发送至DRAM,DRAM根据DBI的值决定是否翻转DQ,从而完成数据恢复。
上文中以DDR4 x8为例进行了说明,但应理解,本发明同样适用于DDR4x16。
图2是根据本发明一个实施方案的NVDIMM的示意图。如图2所示,NVDIMM控制器100包括DDR控制器101、NAND闪存控制器102、数据备份模块103和数据恢复模块104。NVDIMM控制器控制包括DRAM 201和NAND闪存202的NVDIMM200,数据恢复/备份模块实现上文关于图1描述的数据备份方法和数据恢复方法。所述DDR控制器与所述DRAM相连接,所述NAND闪存控制器与所述NAND闪存相连接,所述数据备份模块与所述DDR控制器和所述NAND闪存控制器相连接,且所述数据恢复模块与所述DDR控制器和所述NAND闪存控制器相连接。
应理解,这些实施例仅出于示例目的,本领域技术人员可以做出许多变体,而本发明的范围由权利要求限定。

Claims (15)

1.一种用于NVDIMM的数据备份方法,所述NVDIMM包括DRAM、NAND闪存和NVDIMM控制器,所述NVDIMM由NVDIMM控制器所控制,所述NVDIMM控制器包括DDR控制器、NAND闪存控制器和数据备份模块,其中所述DDR控制器采用并使能DBI,所述数据备份方法包括:
所述DDR控制器从所述DRAM读取N位DQ和1位DBI,并将所述N位DQ和1位DBI发送至所述数据备份模块;
根据所述N位DQ和1位DBI的值,所述数据备份模块将所述N位DQ和1位DBI编码成N位EDQ,并将所述N位EDQ发送至所述NAND闪存控制器;
所述NAND闪存控制器接收所述N位EDQ,并将所述N位EDQ写入所述NAND闪存;
其中,当所述N位DQ中含有N/2个“1”时,将所述N位DQ编码成与之相同的N位EDQ;当所述N位DQ中的“1”的数目不是N/2个时,将所述N位DQ索引映射到N位EDQ中的N-1位以及将1位DBI写入N位EDQ中的剩余1位,并且N位EDQ中的“1”的位数不为N/2。
2.根据权利要求1所述的数据备份方法,其中,所述DRAM是DDR4。
3.根据权利要求2所述的数据备份方法,其中,所述DRAM是DDR4×8或DDR4×16。
4.根据权利要求3所述的数据备份方法,其中,当所述DRAM是DDR4×8时,所述N位DQ为8位DQ,当8位DQ中含有4个“1”时,将所述8位DQ编码成与之相同的8位EDQ;当8位DQ中含有5-8个“1”时,将8位DQ索引映射到8位EDQ中的7位以及将1位DBI写入8位EDQ中的剩余1位,并且8位EDQ中的“1”的位数不为4。
5.一种用于NVDIMM的数据恢复方法,所述NVDIMM包括DRAM、NAND闪存和NVDIMM控制器,所述NVDIMM由NVDIMM控制器所控制,所述NVDIMM控制器包括DDR控制器、NAND闪存控制器和数据恢复模块,其中所述DDR控制器采用并使能DBI,所述数据恢复方法包括:
所述NAND闪存控制器从所述NAND闪存读取N位EDQ数据,并将所述N位EDQ数据发送至所述数据恢复模块;
所述数据恢复模块接收所述N位EDQ数据,将所述N位EDQ数据解码成N位DQ和1位DBI,并将所述N位DQ和1位DBI发送至所述DDR控制器;
所述DDR控制器根据所述1位DBI的值拉低或拉高所述DDR控制器的接口的DBI,并将所述N位DQ发送至所述DRAM;
其中,当所述N位EDQ中含有N/2个“1”时,所述N位DQ与所述N位EDQ相同;当所述N位EDQ中的“1”的数目不是N/2个时,则将所述N位EDQ逆映射为N位DQ和1位DBI。
6.根据权利要求5所述的数据恢复方法,其中,所述DRAM是DDR4。
7.根据权利要求6所述的数据恢复方法,其中,所述DRAM是DDR4×8或DDR4×16。
8.根据权利要求7所述的数据恢复方法,其中,当所述DRAM是DDR4×8时,所述EDQ为8位EDQ,当8位EDQ中含有4个“1”时,所述DQ与所述EDQ相同;当8位EDQ中含有非4个“1”时,将所述8位EDQ逆映射为8位DQ和1位DBI。
9.一种NVDIMM控制器,所述NVDIMM控制器包括DDR控制器和NAND闪存控制器,所述NVDIMM控制器用于控制NVDIMM,所述NVDIMM包括DRAM和NAND闪存,其中所述DDR控制器采用并使能DBI,其特征在于,
所述NVDIMM控制器还包括:
数据备份模块,用于将所述DDR控制器从所述DRAM读取的N位DQ和1位DBI编码成N位EDQ,并将N位EDQ发送至所述NAND闪存控制器;以及
数据恢复模块,用于将所述NAND闪存控制器从所述NAND闪存读取的N位EDQ解码成N位DQ和1位DBI,并将N位DQ和1位DBI发送至所述DDR控制器;
其中,所述数据备份模块用于在所述N位DQ中含有N/2个“1”时将所述N位EDQ编码成与所述N位DQ相同,并且用于在所述N位DQ中的“1”的数目不是N/2个时将所述N位DQ索引映射到N位EDQ中的N-1位以及将1位DBI写入N位EDQ中的剩余1位,其中N位EDQ中的“1”的位数不为N/2。
10.根据权利要求9所述的NVDIMM控制器,其中,所述数据恢复模块用于在所述N位EDQ中含有N/2个“1”时将所述N位EDQ解码成与之相同的N位DQ,并且用于在所述N位EDQ中的“1”的数目不是N/2个时将所述N位EDQ逆映射为N位DQ和1位DBI。
11.根据权利要求9所述的NVDIMM控制器,其中,所述DRAM是DDR4。
12.根据权利要求11所述的NVDIMM控制器,其中,所述DDR4是DDR4×8或DDR4×16。
13.根据权利要求12所述的NVDIMM控制器,其中,当所述DDR4是DDR4×8时,所述EDQ为8位EDQ,所述数据备份模块用于在8位EDQ中含有4个“1”时将所述8位DQ编码成与之相同的8位EDQ,并且用于在8位EDQ中含有5-8个“1”时将8位DQ索引映射到8位EDQ中的7位以及将1位DBI写入8位EDQ中的剩余1位,其中8位EDQ中的“1”的位数不为4。
14.根据权利要求13所述的NVDIMM控制器,其中,所述数据恢复模块用于在8位EDQ中含有4个“1”时使得所述DQ与所述EDQ相同,并且用于在8位EDQ中含有非4个“1”时将所述8位EDQ逆映射为8位DQ和1位DBI。
15.一种NVDIMM,包括如权利要求9-14任一项所述的NVDIMM控制器。
CN201811643227.2A 2018-12-29 2018-12-29 用于nvdimm的数据备份和恢复方法、nvdimm控制器以及nvdimm Active CN109582508B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201811643227.2A CN109582508B (zh) 2018-12-29 2018-12-29 用于nvdimm的数据备份和恢复方法、nvdimm控制器以及nvdimm
US17/419,518 US11914484B2 (en) 2018-12-29 2019-12-24 Data backup and recovery method for NVDIMM, NVDIMM controller and NVDIMM
PCT/CN2019/127880 WO2020135411A1 (zh) 2018-12-29 2019-12-24 用于nvdimm的数据备份和恢复方法、nvdimm控制器以及nvdimm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811643227.2A CN109582508B (zh) 2018-12-29 2018-12-29 用于nvdimm的数据备份和恢复方法、nvdimm控制器以及nvdimm

Publications (2)

Publication Number Publication Date
CN109582508A CN109582508A (zh) 2019-04-05
CN109582508B true CN109582508B (zh) 2023-12-26

Family

ID=65932879

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811643227.2A Active CN109582508B (zh) 2018-12-29 2018-12-29 用于nvdimm的数据备份和恢复方法、nvdimm控制器以及nvdimm

Country Status (3)

Country Link
US (1) US11914484B2 (zh)
CN (1) CN109582508B (zh)
WO (1) WO2020135411A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582508B (zh) 2018-12-29 2023-12-26 西安紫光国芯半导体股份有限公司 用于nvdimm的数据备份和恢复方法、nvdimm控制器以及nvdimm
CN111324306B (zh) * 2020-02-16 2021-04-20 西安奥卡云数据科技有限公司 一种基于nvdimm的数据分类缓存分配方法
US11061818B1 (en) 2020-03-16 2021-07-13 International Business Machines Corporation Recovering from write cache failures in servers
CN111309646A (zh) * 2020-03-27 2020-06-19 西安紫光国芯半导体有限公司 存储装置及其数据写入、读取、备份和恢复方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9274710B1 (en) * 2014-03-31 2016-03-01 Amazon Technologies, Inc. Offset-based congestion control in storage systems
CN106126447A (zh) * 2015-05-07 2016-11-16 三星电子株式会社 控制存储装置的方法、存储器模块和存储系统
CN107239366A (zh) * 2016-03-28 2017-10-10 爱思开海力士有限公司 非易失性双列直插式存储器系统的掉电中断
CN107533509A (zh) * 2015-05-29 2018-01-02 英特尔公司 存储器设备特定的自刷新进入和退出
CN108255428A (zh) * 2018-01-10 2018-07-06 联想(北京)有限公司 一种数据处理方法、装置及电子设备
CN209803776U (zh) * 2018-12-29 2019-12-17 西安紫光国芯半导体有限公司 Nvdimm控制器以及nvdimm

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8606982B2 (en) 2008-03-10 2013-12-10 Qimonda Ag Derivative logical output
US8918597B2 (en) * 2008-08-29 2014-12-23 Infineon Technologies Ag Digital data inversion flag generator circuit
CN102378971B (zh) 2011-08-05 2014-03-12 华为技术有限公司 数据读取的方法和存储器控制器
WO2014193574A1 (en) * 2013-05-13 2014-12-04 Rambus Inc. Buffer circuit with data bit inversion
US9922686B2 (en) * 2016-05-19 2018-03-20 Micron Technology, Inc. Apparatuses and methods for performing intra-module databus inversion operations
US10127100B2 (en) * 2016-06-03 2018-11-13 International Business Machines Corporation Correcting a data storage error caused by a broken conductor using bit inversion
KR102649318B1 (ko) 2016-12-29 2024-03-20 삼성전자주식회사 상태 회로를 포함하는 메모리 장치와 그것의 동작 방법
US10146719B2 (en) * 2017-03-24 2018-12-04 Micron Technology, Inc. Semiconductor layered device with data bus
CN109582508B (zh) 2018-12-29 2023-12-26 西安紫光国芯半导体股份有限公司 用于nvdimm的数据备份和恢复方法、nvdimm控制器以及nvdimm
KR20210136203A (ko) * 2020-05-06 2021-11-17 삼성전자주식회사 저장 장치 및 그것의 리트레이닝 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9274710B1 (en) * 2014-03-31 2016-03-01 Amazon Technologies, Inc. Offset-based congestion control in storage systems
CN106126447A (zh) * 2015-05-07 2016-11-16 三星电子株式会社 控制存储装置的方法、存储器模块和存储系统
CN107533509A (zh) * 2015-05-29 2018-01-02 英特尔公司 存储器设备特定的自刷新进入和退出
CN107239366A (zh) * 2016-03-28 2017-10-10 爱思开海力士有限公司 非易失性双列直插式存储器系统的掉电中断
CN108255428A (zh) * 2018-01-10 2018-07-06 联想(北京)有限公司 一种数据处理方法、装置及电子设备
CN209803776U (zh) * 2018-12-29 2019-12-17 西安紫光国芯半导体有限公司 Nvdimm控制器以及nvdimm

Also Published As

Publication number Publication date
CN109582508A (zh) 2019-04-05
US20220083435A1 (en) 2022-03-17
US11914484B2 (en) 2024-02-27
WO2020135411A1 (zh) 2020-07-02

Similar Documents

Publication Publication Date Title
CN109582508B (zh) 用于nvdimm的数据备份和恢复方法、nvdimm控制器以及nvdimm
US8135903B1 (en) Non-volatile semiconductor memory compressing data to improve performance
US8862967B2 (en) Statistical distribution based variable-bit error correction coding
KR101602939B1 (ko) 불휘발성 메모리 시스템 및 그것의 데이터 관리 방법
US20120272123A1 (en) Data writing method, memory controller and memory storage apparatus
US9336081B2 (en) Data writing and reading method, and memory controller and memory storage apparatus using the same for improving reliability of data access
US10180794B2 (en) Soft decoding scheduling
US9304907B2 (en) Data management method, memory control circuit unit and memory storage apparatus
US20210081118A1 (en) Memory addressing methods and associated controller, memory device and host
US10319462B2 (en) Semiconductor device and semiconductor system
US9384125B2 (en) Method for accessing flash memory having pages used for data backup and associated memory device
US11966298B2 (en) Data backup method and data recovery method for NVDIMM, NVDIMM controller, and NVDIMM
US20180181510A1 (en) Memory channel selection control
US11176033B2 (en) Data storage devices and data processing methods
US11675498B2 (en) Scheduling media management operations based on provided host system usage requirements
KR20170086840A (ko) 데이터 저장 장치 및 그것의 동작 방법
CN209803776U (zh) Nvdimm控制器以及nvdimm
US20190278703A1 (en) Memory system, operating method thereof and electronic device
CN116048380A (zh) 藉助于预定命令来进行存储器装置的数据存取控制的方法及设备
US10963178B2 (en) Repetitive data processing method for solid state drive
CN209803777U (zh) Nvdimm控制器以及nvdimm
US11507302B2 (en) Scheduling media management operations based on determined host system usage requirements
US20240329845A1 (en) Memory device with compressed soft information and associated control method
US11023316B2 (en) DRAM-based storage device and associated data processing method
US20200371952A1 (en) Data storage devices and data processing methods

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 710003, 4th Floor, Block A, No. 38 Gaoxin 6th Road, Zhangba Street Office, Gaoxin District, Xi'an City, Shaanxi Province

Applicant after: Xi'an Ziguang Guoxin Semiconductor Co.,Ltd.

Address before: No.606, West District, national e-commerce demonstration base, No.528, tianguba Road, software new town, Xi'an hi tech Zone, Shaanxi 710003

Applicant before: XI''AN UNIIC SEMICONDUCTORS Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant