CN109815161A - Nvdimm和实现nvdimm ddr4控制器的方法 - Google Patents

Nvdimm和实现nvdimm ddr4控制器的方法 Download PDF

Info

Publication number
CN109815161A
CN109815161A CN201811643716.8A CN201811643716A CN109815161A CN 109815161 A CN109815161 A CN 109815161A CN 201811643716 A CN201811643716 A CN 201811643716A CN 109815161 A CN109815161 A CN 109815161A
Authority
CN
China
Prior art keywords
pin
fpga
dram
address
value
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.)
Granted
Application number
CN201811643716.8A
Other languages
English (en)
Other versions
CN109815161B (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.)
Xian Unilc Semiconductors Co Ltd
Original Assignee
Xian Unilc Semiconductors 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 Xian Unilc Semiconductors Co Ltd filed Critical Xian Unilc Semiconductors Co Ltd
Priority to CN201811643716.8A priority Critical patent/CN109815161B/zh
Publication of CN109815161A publication Critical patent/CN109815161A/zh
Application granted granted Critical
Publication of CN109815161B publication Critical patent/CN109815161B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Dram (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

本发明涉及一种实现NVDIMM DDR4控制器的方法,该实现NVDIMM DDR4控制器的方法通过使用仅支持DDR3的FPGA来实现,该仅支持DDR3的FPGA能够控制支持DDR4的DRAM。本发明还涉及一种这样的NVDIMM。本发明通过寻优参考电压、增加匹配电路和少量修改DDR3控制器的映射关系,通过使用仅支持DDR3的FPGA实现了NVDIMM DDR4控制器。与开发全新的控制器相比,本发明可加快产品研发进度,降低研发成本。

Description

NVDIMM和实现NVDIMM DDR4控制器的方法
技术领域
本发明涉及存储器领域,且涉及一种NVDIMM和实现NVDIMM DDR4 控制器的方法。更具体地,本发明涉及一种NVDIMM和使用仅支持DDR3 的FPGA实现NVDIMM DDR4控制器的方法。
背景技术
NVDIMM(Non-Volatile Dual Inline Memory Module,非易失性双列直插内存模块)是一种非易失性的新型内存,它主要由DRAM、NVDIMM控制器、NAND Flash和超级电容组成。NVDIMM控制器可通过 FPGA或ASIC实现,目前以FPGA实现为主。当Host/CPU正常工作时,NVDIMM控制器可作为普通的RDIMM被Host/CPU访问。而当Host/CPU 出现异常或掉电时,NVDIMM控制器会将DRAM中的数据备份到NAND Flash中,此时,NVDIMM由超级电容供电。当Host/CPU重新上电时, NVDIMM控制器将备份在NAND Flash中的数据恢复到DRAM中,同时给超级电容充电。
在使用FPGA实现NVDIMM控制器时,需要考虑FPGA的接口属性和尺寸。以DDR4的NVDIMM为例,FPGA需要支持SSTL12接口属性,以与DRAM进行匹配。FPGA尺寸不宜过大,按照标准DIMM条评估,应当不超过25*25,否则会影响板级布局布线。在接口属性和尺寸的约束下,在Xilinx和Altera的产品中都无法选择合适的器件,因为支持DDR4的FPGA尺寸都较大,且价格昂贵,这给NVDIMM控制器的成本带来了压力。
现有技术中的一些NVDIMM控制器也采用了仅支持DDR3的FPGA实现DDR4控制器,但控制器重新开发和采用开关内置的特殊DRAM颗粒使得产品的开发周期和成本升高,同时NVDIMM控制器也不具有通用性。
现有技术中存在的缺陷主要在于:使用开关内置的特殊DRAM颗粒实现NVDIMM使得器件选型受限和产品成本上升;在仅支持DDR3的FPGA上全新设计DDR4控制器导致产品开发周期加长。
鉴于此,亟需解决上述技术问题的方法和装置。
发明内容
本发明的发明人使用仅支持DDR3的FPGA实现了NVDIMM的DDR4 控制器。本发明的总体构思为:在仅支持DDR3的FPGA控制器源码的基础上,修改逻辑代码和IO映射,以实现DDR4控制器功能;向FPGA/DRAM 供电1.2V,通过外部寻优的参考电压,以实现接口电平匹配;在DQS_p 上靠近FPGA侧并联一个nF数量级的电容器以及一个Nh数量级的电容器接地,降低差分信号DQS回沟叠加的影响。本发明快速实现了DDR4 控制器的开发,降低了产品成本。
根据本发明的第一方面,提供了一种实现NVDIMM DDR4控制器的方法,该方法通过使用仅支持DDR3的FPGA来实现,该仅支持DDR3 的FPGA能够控制支持DDR4的DRAM,该方法包括如下步骤:
将FPGA的第一存储库地址BA[0]管脚连接至DRAM的第一存储库地址BA[0]管脚,将FPGA的第二存储库地址BA[1]管脚连接至DRAM 的第二存储库地址BA[1]管脚,将FPGA的第三存储库地址BA[2]管脚连接至DRAM的第一存储库组BG[0]管脚,将FPGA的列选通CAS_n管脚连接至DRAM的第二存储库组BG[1]管脚,将FPGA的行选通RAS_n 管脚连接至DRAM的激活命令ACT_n管脚,将FPGA的写使能WE_n管脚连接至DRAM的校验Parity管脚,将FPGA的第十六位至第十四位地址 A[16:14]管脚分别连接至DRAM的第十六位至第十四位地址A[16:14]管脚,将FPGA的另外的管脚与DRAM的另外的管脚一一对应连接;
仅当FPGA内的行选通RAS_n管脚、列选通CAS_n管脚、写使能 WE_n管脚的值分别为逻辑低L、逻辑高H、逻辑高H时,通过FPGA的行选通RAS_n管脚向DRAM的激活命令ACT_n管脚输出逻辑低L;当FPGA 的行选通RAS_n管脚、列选通CAS_n管脚、写使能WE_n管脚为另外的值时,通过FPGA的行选通RAS_n管脚向DRAM的激活命令ACT_n管脚输出逻辑高H,且将FPGA的行选通RAS_n管脚、列选通CAS_n管脚、写使能WE_n管脚的值分别复用到FPGA的第十六位至第十四位地址 A[16:14]管脚并且将复用后的值通过FPGA的第十六位至第十四位地址A[16:14]管脚输出至DRAM的第十六位至第十四位地址A[16:14] 管脚;
将FPGA中的第三存储库地址BA[2]管脚的值进行第一次修改,且将第一次修改后的第三存储库地址BA[2]管脚的值通过FPGA中的第三存储库地址BA[2]管脚输出至DRAM的BG[0]管脚;将第一次修改后的第三存储库地址BA[2]管脚的值进行第二次修改得到更新的第三存储库地址BA[2]管脚的值,该更新的第三存储库地址BA[2]管脚的值通过FPGA的列选通CAS_n管脚输出至DRAM的第二存储库组BG[1] 管脚。
根据本发明实现NVDIMM DDR4控制器的方法的一个优选实施方案,当利用所述仅支持DDR3的FPGA对支持DDR4的DRAM进行读操作时,将FPGA侧的外部参考电压调整至最优外部参考电压,使得FPGA能够正确识别读数据电平。
根据本发明实现NVDIMM DDR4控制器的方法的一个优选实施方案,将FPGA侧的外部参考电压调整至最优参考电压的方法为:选择一个电压值作为参考电压的中心点,选择一个步进值,得出FPGA能够正确识别读数据电平的电压阈值范围,取该电压阈值范围的中间电压作为最优外部参考电压。
根据本发明实现NVDIMM DDR4控制器的方法的一个优选实施方案,该电压值为0.5V,该步进值为0.05V。
根据本发明实现NVDIMM DDR4控制器的方法的一个优选实施方案, FPGA的内部参考电压等于所述最优外部参考电压。
根据本发明实现NVDIMM DDR4控制器的方法的一个优选实施方案,在印刷电路板上的数据选通DQS_p管脚靠近FPGA侧并联一个nF数量级的电容器以及一个nH数量级的电容器接地。
根据本发明实现NVDIMM DDR4控制器的方法的一个优选实施方案,在印刷电路板上的数据选通DQS_p管脚靠近FPGA侧并联一个47nF电容器和一个68nH电感器接地。
根据本发明实现NVDIMM DDR4控制器的方法的一个优选实施方案,依据DDR4协议对FPGA中的第三存储库地址BA[2]管脚的值进行第一次修改。
根据本发明实现NVDIMM DDR4控制器的方法的一个优选实施方案,依据DDR4协议对第一次修改后的第三存储库地址BA[2]管脚的值进行第二次修改。
根据本发明的第二方面,提供了一种NVDIMM,该NVDIMM包括 NVDIMM DDR4控制器、NAND Flash以及支持DDR4的DRAM,该NVDIMM DDR4 控制器通过使用仅支持DDR3的FPGA来实现,该仅支持DDR3的FPGA 能够控制支持DDR4的DRAM,
其中FPGA的第一存储库地址BA[0]管脚与DRAM的第一存储库地址BA[0]管脚连接,FPGA的第二存储库地址BA[1]管脚与DRAM的第二存储库地址BA[1]管脚连接,FPGA的第三存储库地址BA[2]管脚与DRAM 的第一存储库组BG[0]管脚连接,FPGA的列选通CAS_n管脚与DRAM 的第二存储库组BG[1]管脚连接,FPGA的行选通RAS_n管脚与DRAM 的激活命令ACT_n管脚连接,FPGA的写使能WE_n管脚与DRAM的校验 Parity管脚连接,FPGA的第十六位至第十四位地址A[16:14]管脚分别与DRAM的第十六位至第十四位地址A[16:14]管脚连接,FPGA的另外的管脚与DRAM的另外的管脚一一对应连接;
其中仅当FPGA内的行选通RAS_n管脚、列选通CAS_n管脚、写使能WE_n管脚的值分别为逻辑低L、逻辑高H、逻辑高H时,FPGA的行选通RAS_n管脚输出逻辑低L至DRAM的激活命令ACT_n管脚;当FPGA 的行选通RAS_n管脚、列选通CAS_n管脚、写使能WE_n管脚为另外的值时,FPGA的行选通RAS_n管脚输出逻辑高H至DRAM的激活命令 ACT_n管脚,且FPGA的行选通RAS_n管脚、列选通CAS_n管脚、写使能WE_n管脚的值分别被复用到FPGA的第十六位至第十四位地址 A[16:14]管脚并且复用后的值通过FPGA的第十六位至第十四位地址 A[16:14]管脚被输出至DRAM的第十六位至第十四位地址A[16:14]管脚;以及
对FPGA中的第三存储库地址BA[2]管脚的值进行第一次修改,且将第一次修改后的第三存储库地址BA[2]管脚的值通过FPGA中的第三存储库地址BA[2]管脚输出至DRAM的BG[0]管脚;对第一次修改后的第三存储库地址BA[2]管脚的值进行第二次修改得到更新的第三存储库地址BA[2]管脚的值,该更新的第三存储库地址BA[2]管脚的值通过FPGA的列选通CAS_n管脚输出至DRAM的第二存储库组BG[1] 管脚。
根据本发明的NVDIMM的一个优选实施方案,当利用所述仅支持 DDR3的FPGA对支持DDR4的DRAM进行读操作时,将FPGA侧的外部参考电压调整至最优外部参考电压,使得FPGA能够正确识别读数据电平。
根据本发明的NVDIMM的一个优选实施方案,将FPGA侧的外部参考电压调整至最优参考电压的方法为:选择一个电压值作为参考电压的中心点,选择一个步进值,得出FPGA能够正确识别读数据电平的电压阈值范围,取该电压阈值范围的中间电压作为最优外部参考电压。
根据本发明的NVDIMM的一个优选实施方案,该电压值为0.5V,该步进值为0.05V。
根据本发明的NVDIMM的一个优选实施方案,FPGA的内部参考电压等于所述最优外部参考电压。
根据本发明的NVDIMM的一个优选实施方案,在印刷电路板上的数据选通DQS_p管脚靠近FPGA侧并联一个nF数量级的电容器以及一个 nH数量级的电容器接地。
根据本发明的NVDIMM的一个优选实施方案,在印刷电路板上的数据选通DQS_p管脚靠近FPGA侧并联一个47nF电容器和一个68nH电感器接地。
根据本发明的NVDIMM的一个优选实施方案,依据DDR4协议对 FPGA中的第三存储库地址BA[2]管脚的值进行第一次修改。
根据本发明的NVDIMM的一个优选实施方案,依据DDR4协议对第一次修改后的第三存储库地址BA[2]管脚的值进行第二次修改。
本发明通过寻优参考电压、增加匹配电路和少量修改DDR3控制器的映射关系,通过使用仅支持DDR3的FPGA实现了NVDIMM DDR4控制器。与开发全新的控制器相比,本发明可加快产品研发进度,降低研发成本。
附图说明
通过下文结合对附图的说明,将更容易理解本发明,在附图中:
图1为现有技术中DDR3的SSTL接口和DDR4的POD接口的示意图。
图2示出了根据本发明的在仅支持DDR3的FPGA上实现DDR4控制器的示意图。
为便于参考,仅支持DDR3的FPGA和支持DDR4的DRAM的接口命名列表如下(下面仅列举了本发明中所涉及到的部分管脚):
BA[0]:第一存储库地址(Bank Adress);
BA[1]:第二存储库地址;
BA[2]:第三存储库地址;
BG[0]:第一存储库组(Bank Group);
BG[1]:第二存储库组;
CAS_n:列选通;
RAS_n:行选通;
WE_n:写使能;
ACT_n:激活命令;
Parity:校验;
A[16:14]:第十六位至第十四位地址。
具体实施方式
下面结合附图对本发明进行详细描述。
本发明的发明人意识到,使用仅支持DDR3的FPGA来实现NVDIMM DDR4控制器将给板级设计和成本带来一些优势,因为能够使用现有的仅支持DDR3的FPGA实现DDR4的NVDIMM控制器。与之相对比,如果自行开发DDR4控制器,这就使得产品开发周期加长。
本发明的发明人意识到,为了实现此目的,首先要考虑的是DDR3 的SSTL15/135和DDR4的POD12接口匹配问题,其次要考虑的是控制器的开发。
关于接口匹配问题,DDR3/4接口属性不一致需要有针对的处理机制。要在仅支持DDR3的FPGA上实现DDR4控制器,首先要解决的是 DDR3/4的接口电气特性不匹配问题。图1给出了DDR3的SSTL接口和 DDR4的POD接口比较。DDR3采用了SSTL15/135的接口,这种接口采用了上下拉的方式。DDR4为了降低接口功耗,采用了POD12接口。DDR4 的POD是一种伪开漏的输出,由于接口存在上拉,在接口上驱动‘1’时功耗几乎为0。使用FPGA上的SSTL15/135的接口和DRAM的POD对接,FPGA和DRAM关联接口采用1.2V供电。对于FPGA的写操作,DRAM 有Training(训练)功能,可保证写的数据被正确识别;而对于FPGA 的读操作,需要合适的参考电压才能保证DQ信号(数据信号)和DQS 信号(数据选通信号)被FPGA识别。
关于控制器的开发,要在DDR3控制器基础上,以读写功能正确为首要任务,通过修改逻辑和IO映射实现DDR4控制器。在控制方面,需将DDR3的RAS_n、CAS_n、WE_n复用到DDR4的A[16:14],同时需要根据RAS_n、CAS_n、WE_n信号的状态构造出DDR4的ACT_n。在地址方面,需将DDR3的BA0、BA1、BA2根据DDR4的变化更新为BA0、 BA1和BG0,对DDR4的BG1重新定义。本发明在利用FPGA实现NVDIMM 时,采用仅支持DDR3的FPGA和FPGA自带的控制器源码,通过寻优的参考电压和对控制器修改,实现了DDR4的控制器。
NVDIMM控制器实现非易失性功能主要由DDR控制器、NAND(ONFI) 控制器及数据备份/恢复部分(NAND Flash部分)这三部分完成,用 FPGA实现NVDIMM控制器时这三部分是数字逻辑电路。本发明实现了如何使用仅支持DDR3的FPGA(例如Xilinx的28nm器件)实现DDR4控制器。本发明的技术方案的要点包括DDR3控制器代码修改、参考电压寻优和DQS+的匹配电路。
图2示出了根据本发明的在仅支持DDR3的FPGA上实现DDR4控制器的示意图。本发明以Xilinx的28nm器件为例,开发工具为 VIVADO2017.4,DDR3控制器为MIG。
针对在仅支持DDR3的FPGA上实现DDR4控制器,需要至少在如下几方面进行修改:
-DDR3控制器修改。
仅支持DDR3的FPGA与支持DDR4的DRAM的连接关系如下:
将FPGA的第一存储库地址BA[0]管脚连接至DRAM的第一存储库地址BA[0]管脚,将FPGA的第二存储库地址BA[1]管脚连接至DRAM 的第二存储库地址BA[1]管脚,将FPGA的第三存储库地址BA[2]管脚连接至DRAM的第一存储库组BG[0]管脚,将FPGA的列选通CAS_n管脚连接至DRAM的第二存储库组BG[1]管脚,将FPGA的行选通RAS_n 管脚连接至DRAM的激活命令ACT_n管脚,将FPGA的写使能WE_n管脚连接至DRAM的校验Parity管脚,将FPGA的第十六位至第十四位地址A[16:14]管脚分别连接至DRAM的第十六位至第十四位地址A[16:14] 管脚,将FPGA的另外的管脚与DRAM的另外的管脚一一对应连接;
仅当FPGA内的行选通RAS_n管脚、列选通CAS_n管脚、写使能 WE_n管脚的值分别为逻辑低L、逻辑高H、逻辑高H时,通过FPGA 的行选通RAS_n管脚向DRAM的激活命令ACT_n管脚输出逻辑低L。此时,DRAM的第十六位至第十四位地址A[16:14]管脚表示地址。当FPGA 的行选通RAS_n管脚、列选通CAS_n管脚、写使能WE_n管脚为另外的值(FPGA的行选通RAS_n管脚、列选通CAS_n管脚、写使能WE_n 管脚的值为非逻辑低L、逻辑高H、逻辑高H组合)时,通过FPGA的行选通RAS_n管脚向DRAM的激活命令ACT_n管脚输出逻辑高H,且将 FPGA的行选通RAS_n管脚、列选通CAS_n管脚、写使能WE_n管脚的值分别复用到FPGA的第十六位至第十四位地址A[16:14]管脚并且将复用后的值通过FPGA的第十六位至第十四位地址A[16:14]管脚输出至DRAM的第十六位至第十四位地址A[16:14]管脚。此时,DRAM的第十六位至第十四位地址A[16:14]管脚表示命令。
将FPGA中的第三存储库地址BA[2]管脚的值按照DDR4协议进行修改,且将修改后的第三存储库地址BA[2]管脚的值通过FPGA中的第三存储库地址BA[2]管脚输出至DRAM的BG[0]管脚;修改后的第三存储库地址BA[2]管脚的值按照DDR4协议进一步修改得到更新的第三存储库地址BA[2]管脚的值,该更新的第三存储库地址BA[2]管脚的值通过FPGA的列选通CAS_n管脚输出至DRAM的第二存储库组BG[1] 管脚。
-Vrefdq寻优
当利用仅支持DDR3的FPGA修改成的DDR4控制器对DDR4 DRAM 进行写操作时,使用1.2V的工作电压,DRAM内部的Training功能可保证正确识别到数据的电平,保证写操作功能正确。
当利用仅支持DDR3的FPGA修改成的DDR4控制器对DDR4 DRAM 进行读操作时,则需要调整FPGA侧的外部参考电压,使得控制器能正确识别数据的电平。
FPGA的外部参考电压管脚定义为Vrefdq。考虑到仅支持DDR3的 FPGA侧的SSTL是上下拉,而DDR4 DRAM侧是上拉,并且结合板级常规的50欧姆特征阻抗,选择Vrefdq以0.5V为中心点,以0.05V为步进,通过调整可调分压电阻来实现Vrefdq的上调或下调,直到FPGA不能正确识别读数据电平。此时,得出Vrefdq的电压阈值窗口,取该电压阈值窗口的中间电压作为最优的Vrefdq。该最优的Vrefdq作为硬件PCB设计最终的Vrefdq值。
-DQS_p匹配
考虑到NVDIMM控制器在数据备份/恢复时速率瓶颈在NAND接口上,DDR接口的速率可以运行DDR3的400MHz。为了提高FPGA识别支持DDR4的DRAM输出DQS/DQ信号的质量,需要关闭仅支持DDR3的FPGA 侧的ODT(On-Die Termination)。然而,关闭ODT后信号会存在反射,具体表现为DQS/DQ上信号会有回沟。为了降低差分信号DQS回沟叠加的影响,在印刷电路板(PCB)上的DQS_p靠近FPGA侧并联一个 nF数量级的电容器以及一个Nh数量级的电容器接地,以此来消除FPGA 内DQS信号差分/单端时回沟的消极影响。优选地,在DQS_p上靠近FPGA侧并联一个47nF电容器和一个68nH电感器接地。此47nF电容器和68nH电感器为实测所得的数值。
总之,本发明的使用仅支持DDR3的FPGA实现NVDIMM DDR4控制器的改进在如下几方面:
(1)向FPGA和DRAM相关IO供电1.2V,根据SSTL和POD上/下方式和PCB走线的特征阻抗,计算得参考电压以0.5V为中心,以0.05V 为步进调整外部参考电压,寻找控制器可正常工作的参考电压阈值窗,中心电压为最优外部参考电压。
(2)在FPGA侧的DQS_p信号线上添加nF数量级的电容器以及 Nh数量级的电容器,以此来匹配控制器采样时序,实现控制器正确读 DRAM操作。
(3)依据DDR3/4协议,利用DDR3控制器的RAS_n/CAS_n/WE_n 状态构造ACT_n,并将RAS_n/CAS_n/WE_n复用到A[16:14],修改控制器IO映射,实现DDR3控制器到DDR4控制器的升级。
此外,也可将本发明中所提及的外部参考电压寻优结果设置为 FPGA的内部参考电压。
应理解,本文中的实施方案和实施例仅出于示例目的,本领域技术人员可以在不背离本发明的范围的前提下做出许多变体。

Claims (10)

1.一种实现NVDIMM DDR4控制器的方法,其特征在于,该方法通过使用仅支持DDR3的FPGA来实现,该仅支持DDR3的FPGA能够控制支持DDR4的DRAM,该方法包括如下步骤:
将FPGA的第一存储库地址BA[0]管脚连接至DRAM的第一存储库地址BA[0]管脚,将FPGA的第二存储库地址BA[1]管脚连接至DRAM的第二存储库地址BA[1]管脚,将FPGA的第三存储库地址BA[2]管脚连接至DRAM的第一存储库组BG[0]管脚,将FPGA的列选通CAS_n管脚连接至DRAM的第二存储库组BG[1]管脚,将FPGA的行选通RAS_n管脚连接至DRAM的激活命令ACT_n管脚,将FPGA的写使能WE_n管脚连接至DRAM的校验Parity管脚,将FPGA的第十六位至第十四位地址A[16:14]管脚分别连接至DRAM的第十六位至第十四位地址A[16:14]管脚,将FPGA的另外的管脚与DRAM的另外的管脚一一对应连接;
仅当FPGA内的行选通RAS_n管脚、列选通CAS_n管脚、写使能WE_n管脚的值分别为逻辑低L、逻辑高H、逻辑高H时,通过FPGA的行选通RAS_n管脚向DRAM的激活命令ACT_n管脚输出逻辑低L;当FPGA的行选通RAS_n管脚、列选通CAS_n管脚、写使能WE_n管脚为另外的值时,通过FPGA的行选通RAS_n管脚向DRAM的激活命令ACT_n管脚输出逻辑高H,且将FPGA的行选通RAS_n管脚、列选通CAS_n管脚、写使能WE_n管脚的值分别复用到FPGA的第十六位至第十四位地址A[16:14]管脚并且将复用后的值通过FPGA的第十六位至第十四位地址A[16:14]管脚输出至DRAM的第十六位至第十四位地址A[16:14]管脚;
将FPGA中的第三存储库地址BA[2]管脚的值进行第一次修改,且将第一次修改后的第三存储库地址BA[2]管脚的值通过FPGA中的第三存储库地址BA[2]管脚输出至DRAM的BG[0]管脚;将第一次修改后的第三存储库地址BA[2]管脚的值进行第二次修改得到更新的第三存储库地址BA[2]管脚的值,该更新的第三存储库地址BA[2]管脚的值通过FPGA的列选通CAS_n管脚输出至DRAM的第二存储库组BG[1]管脚。
2.根据权利要求1所述的实现NVDIMM DDR4控制器的方法,其特征在于,当利用所述仅支持DDR3的FPGA对支持DDR4的DRAM进行读操作时,将FPGA侧的外部参考电压调整至最优外部参考电压,使得FPGA能够正确识别读数据电平。
3.根据权利要求2所述的实现NVDIMM DDR4控制器的方法,其特征在于,将FPGA侧的外部参考电压调整至最优参考电压的方法为:选择一个电压值作为参考电压的中心点,选择一个步进值,得出FPGA能够正确识别读数据电平的电压阈值范围,取该电压阈值范围的中间电压作为最优外部参考电压。
4.根据权利要求3所述的实现NVDIMM DDR4控制器的方法,其特征在于,该电压值为0.5V,该步进值为0.05V。
5.根据权利要求2-4中的任一项所述的实现NVDIMM DDR4控制器的方法,其特征在于,FPGA的内部参考电压等于所述最优外部参考电压。
6.根据权利要求1-4中任一项所述的实现NVDIMM DDR4控制器的方法,其特征在于,在印刷电路板上的数据选通DQS_p管脚靠近FPGA侧并联连接一个nF数量级的电容器以及一个nH数量级的电容器,且将所述nF数量级的电容器以及所述nH数量级的电容器接地。
7.根据权利要求1-4中任一项所述的实现NVDIMM DDR4控制器的方法,其特征在于,在印刷电路板上的数据选通DQS_p管脚靠近FPGA侧并联连接一个47nF电容器和一个68nH电感器,且将所述47nF电容器和所述68nH电感器接地。
8.根据权利要求1-4中任一项所述的实现NVDIMM DDR4控制器的方法,其特征在于,依据DDR4协议对FPGA中的第三存储库地址BA[2]管脚的值进行第一次修改。
9.根据权利要求1-4中任一项所述的实现NVDIMM DDR4控制器的方法,其特征在于,依据DDR4协议对第一次修改后的第三存储库地址BA[2]管脚的值进行第二次修改。
10.一种NVDIMM,该NVDIMM包括NVDIMM DDR4控制器、NAND Flash以及支持DDR4的DRAM,其特征在于,该NVDIMM DDR4控制器通过使用仅支持DDR3的FPGA来实现,该仅支持DDR3的FPGA能够控制支持DDR4的DRAM,
其中FPGA的第一存储库地址BA[0]管脚与DRAM的第一存储库地址BA[0]管脚连接,FPGA的第二存储库地址BA[1]管脚与DRAM的第二存储库地址BA[1]管脚连接,FPGA的第三存储库地址BA[2]管脚与DRAM的第一存储库组BG[0]管脚连接,FPGA的列选通CAS_n管脚与DRAM的第二存储库组BG[1]管脚连接,FPGA的行选通RAS_n管脚与DRAM的激活命令ACT_n管脚连接,FPGA的写使能WE_n管脚与DRAM的校验Parity管脚连接,FPGA的第十六位至第十四位地址A[16:14]管脚分别与DRAM的第十六位至第十四位地址A[16:14]管脚连接,FPGA的另外的管脚与DRAM的另外的管脚一一对应连接;
其中仅当FPGA内的行选通RAS_n管脚、列选通CAS_n管脚、写使能WE_n管脚的值分别为逻辑低L、逻辑高H、逻辑高H时,FPGA的行选通RAS_n管脚输出逻辑低L至DRAM的激活命令ACT_n管脚;当FPGA的行选通RAS_n管脚、列选通CAS_n管脚、写使能WE_n管脚为另外的值时,FPGA的行选通RAS_n管脚输出逻辑高H至DRAM的激活命令ACT_n管脚,且FPGA的行选通RAS_n管脚、列选通CAS_n管脚、写使能WE_n管脚的值分别被复用到FPGA的第十六位至第十四位地址A[16:14]管脚并且复用后的值通过FPGA的第十六位至第十四位地址A[16:14]管脚被输出至DRAM的第十六位至第十四位地址A[16:14]管脚;以及
对FPGA中的第三存储库地址BA[2]管脚的值进行第一次修改,且将第一次修改后的第三存储库地址BA[2]管脚的值通过FPGA中的第三存储库地址BA[2]管脚输出至DRAM的BG[0]管脚;对第一次修改后的第三存储库地址BA[2]管脚的值进行第二次修改得到更新的第三存储库地址BA[2]管脚的值,该更新的第三存储库地址BA[2]管脚的值通过FPGA的列选通CAS_n管脚输出至DRAM的第二存储库组BG[1]管脚。
CN201811643716.8A 2018-12-29 2018-12-29 Nvdimm和实现nvdimm ddr4控制器的方法 Active CN109815161B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811643716.8A CN109815161B (zh) 2018-12-29 2018-12-29 Nvdimm和实现nvdimm ddr4控制器的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811643716.8A CN109815161B (zh) 2018-12-29 2018-12-29 Nvdimm和实现nvdimm ddr4控制器的方法

Publications (2)

Publication Number Publication Date
CN109815161A true CN109815161A (zh) 2019-05-28
CN109815161B CN109815161B (zh) 2024-03-15

Family

ID=66603062

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811643716.8A Active CN109815161B (zh) 2018-12-29 2018-12-29 Nvdimm和实现nvdimm ddr4控制器的方法

Country Status (1)

Country Link
CN (1) CN109815161B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101477831A (zh) * 2009-01-22 2009-07-08 上海广电(集团)有限公司中央研究院 一种基于fpga器件的dram控制器
CN102411982A (zh) * 2010-09-25 2012-04-11 杭州华三通信技术有限公司 内存控制器及命令控制方法
US20130067156A1 (en) * 2011-09-12 2013-03-14 Byungcheol Cho Double data rate controller having shared address and separate data error correction
US20150254003A1 (en) * 2014-03-10 2015-09-10 Futurewei Technologies, Inc. Rdma-ssd dual-port unified memory and network controller
CN107636601A (zh) * 2015-06-24 2018-01-26 英特尔公司 使用标准dram和整合储存器的处理器与平台辅助的nvdimm解决方案
CN108874684A (zh) * 2018-05-31 2018-11-23 北京赫芯斯信息技术有限公司 拆分cache缓存的nvdimm接口数据读写装置
CN209357048U (zh) * 2018-12-29 2019-09-06 西安紫光国芯半导体有限公司 一种nvdimm

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101477831A (zh) * 2009-01-22 2009-07-08 上海广电(集团)有限公司中央研究院 一种基于fpga器件的dram控制器
CN102411982A (zh) * 2010-09-25 2012-04-11 杭州华三通信技术有限公司 内存控制器及命令控制方法
US20130067156A1 (en) * 2011-09-12 2013-03-14 Byungcheol Cho Double data rate controller having shared address and separate data error correction
US20150254003A1 (en) * 2014-03-10 2015-09-10 Futurewei Technologies, Inc. Rdma-ssd dual-port unified memory and network controller
CN107636601A (zh) * 2015-06-24 2018-01-26 英特尔公司 使用标准dram和整合储存器的处理器与平台辅助的nvdimm解决方案
CN108874684A (zh) * 2018-05-31 2018-11-23 北京赫芯斯信息技术有限公司 拆分cache缓存的nvdimm接口数据读写装置
CN209357048U (zh) * 2018-12-29 2019-09-06 西安紫光国芯半导体有限公司 一种nvdimm

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HENRY F. HUANG 等: "Design and implementation of flash based NVDIMM", 《2014 IEEE NON-VOLATILE MEMORY SYSTEMS AND APPLICATIONS SYMPOSIUM (NVMSA)》, pages 1 - 6 *
韩进 等: "基于FPGA的DDR3 SDRAM控制器设计及实现", 《大众科技》, vol. 18, no. 10, pages 1 - 4 *

Also Published As

Publication number Publication date
CN109815161B (zh) 2024-03-15

Similar Documents

Publication Publication Date Title
US8732533B2 (en) Devices, methods, and apparatuses for detection, sensing, and reporting functionality for semiconductor memory
CN106575517A (zh) 用于基于存储器数据确定比较信息的装置、系统和方法
CN110176263A (zh) 基于外部电压确定操作模式的存储器装置及其操作方法
US20210349730A1 (en) Booting method of computing system including memory module with processing device mounted
CN109416916A (zh) 电压产生电路
CN110955387A (zh) 自适应识别闪存类型方法及计算机可读取存储介质及装置
US9659618B1 (en) Memory interface, memory control circuit unit, memory storage device and clock generation method
KR20220020710A (ko) 테스트 회로, 메모리 장치, 저장 장치 및 그 동작 방법
CN209357048U (zh) 一种nvdimm
CN103377155B (zh) 存储器储存装置及其存储器控制器与电源控制方法
US20210210155A1 (en) Memory sub-system self-testing operations
TWI689816B (zh) 區塊管理方法、記憶體控制電路單元與記憶體儲存裝置
CN107516536A (zh) 存储器接口、控制电路单元、存储装置及时脉产生方法
CN109815161A (zh) Nvdimm和实现nvdimm ddr4控制器的方法
US11663124B2 (en) Apparatuses and methods for interfacing on-memory pattern matching
TWI536392B (zh) 非揮發性記憶體儲存裝置、記憶體控制器與資料儲存方法
US7759958B2 (en) Apparatus, system, and method for integrated component testing
TWI521538B (zh) 非揮發性記憶體儲存裝置、記憶體控制器與資料儲存方法
US11145366B1 (en) Techniques to mitigate error during a read operation to a memory array
CN211207228U (zh) 一种自适应匹配lpddr4内存条和ddr4内存条的装置
CN108628774B (zh) 存储器控制电路单元、存储器存储装置及信号接收方法
TW201525866A (zh) 休眠模式啓動方法、記憶體控制電路單元及儲存裝置
CN109243516A (zh) 一种擦除方法、装置及计算机可读存储介质
KR20190002360A (ko) 시리얼라이저 및 이를 포함하는 메모리 디바이스
Rahmati et al. Approximate flash storage: A feasibility study

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
GR01 Patent grant
GR01 Patent grant