CN109815161A - Nvdimm和实现nvdimm ddr4控制器的方法 - Google Patents
Nvdimm和实现nvdimm ddr4控制器的方法 Download PDFInfo
- 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
Links
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 title claims abstract description 84
- 238000000034 method Methods 0.000 title claims abstract description 33
- 239000003990 capacitor Substances 0.000 claims description 23
- 230000004913 activation Effects 0.000 claims description 16
- 238000012795 verification Methods 0.000 claims description 6
- 238000013507 mapping Methods 0.000 abstract description 5
- 238000012827 research and development Methods 0.000 abstract description 4
- 102100020800 DNA damage-regulated autophagy modulator protein 1 Human genes 0.000 description 65
- 101000931929 Homo sapiens DNA damage-regulated autophagy modulator protein 1 Proteins 0.000 description 65
- 230000006870 function Effects 0.000 description 5
- 101001038535 Pelodiscus sinensis Lysozyme C Proteins 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000012356 Product development Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- CXOXHMZGEKVPMT-UHFFFAOYSA-N clobazam Chemical compound O=C1CC(=O)N(C)C2=CC=C(Cl)C=C2N1C1=CC=CC=C1 CXOXHMZGEKVPMT-UHFFFAOYSA-N 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 229940044442 onfi Drugs 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003827 upregulation Effects 0.000 description 1
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和使用仅支持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]管脚。
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)
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 |
-
2018
- 2018-12-29 CN CN201811643716.8A patent/CN109815161B/zh active Active
Patent Citations (7)
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)
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 |