CN115080469A - 一种存储器传输时延校准方法及装置 - Google Patents
一种存储器传输时延校准方法及装置 Download PDFInfo
- Publication number
- CN115080469A CN115080469A CN202210519089.7A CN202210519089A CN115080469A CN 115080469 A CN115080469 A CN 115080469A CN 202210519089 A CN202210519089 A CN 202210519089A CN 115080469 A CN115080469 A CN 115080469A
- Authority
- CN
- China
- Prior art keywords
- signal line
- command
- signal
- boundary
- delay 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 181
- 230000005540 biological transmission Effects 0.000 title claims abstract description 71
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000012937 correction Methods 0.000 claims abstract description 22
- 230000001965 increasing effect Effects 0.000 claims abstract description 16
- 230000009471 action Effects 0.000 claims description 36
- 230000004913 activation Effects 0.000 claims description 23
- 239000008187 granular material Substances 0.000 claims description 13
- 230000003213 activating effect Effects 0.000 claims description 12
- 239000002245 particle Substances 0.000 claims description 12
- 230000007306 turnover Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000005070 sampling Methods 0.000 abstract description 13
- 238000012360 testing method Methods 0.000 abstract description 8
- 230000009286 beneficial effect Effects 0.000 abstract description 5
- 230000002708 enhancing effect Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 8
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 6
- 230000006978 adaptation Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Pulse Circuits (AREA)
Abstract
本发明公开了一种存储器传输时延校准方法及装置,该方法包括:确定目标存储器中需校正传输时延的至少两根信号线;针对每根信号线,基于该信号线匹配的命令组合,确定该信号线的输出信号相对于目标存储器的时钟信号的时延值,作为该信号线的边界时延值;校正每根信号线的边界时延值,以使所有信号线中任意两根信号线的边界时延值相等或任意两根信号线的边界时延值之间的差值小于预先设定的时延差值。可见,实施本发明能够利用命令组合自动训练、测试得到任意信号线的边界时延值,并校正信号线的边界时延值,有利于提高传输时延校正的效率和兼容性,增大存储器的采样裕度,提高存储器的稳定性以及增强存储器的工作性能。
Description
技术领域
本发明涉及存储器技术领域,尤其涉及一种存储器传输时延校准方法及装置。
背景技术
当前所使用的存储器中,其存储控制器与存储颗粒之间通常使用基板、PCB(Printed Circuit Board,印制电路板)走线等来连接,以使信号经由不同信号线从发送端传输至接收端。然而,由于现有工艺中基板面积、PCB层数、产品成本等因素的限制,存储器的不同信号线之间存在一定的长度差异,导致信号经由不同信号线从发送端传输至接收端的传输时延不相等,从而减低了存储器的采样裕度,进而降低了存储器的存储性能和稳定性。
当前,为了增大存储器的采样裕度,可以通过仿真或查看存储器的硬件电路确定每根信号线的传输时延,然后在存储器的软件驱动中根据每根信号线的传输时延设置该信号线的补偿时延,以校正所有信号线的传输时延,但是上述方法无法应用于存储器的所有实际连接通路,并且一旦更换不同拓扑结构的存储器,需重新通过仿真或查看存储器的硬件电路确定每根信号线的传输时延和补偿时延,可见,上述通过仿真或查看硬件电路来校正传输时延方法的兼容性和效率较低。
可见,如何提高存储器传输时延校准的效率和兼容性,进而有效增大存储器的采样裕度显得尤为重要。
发明内容
本发明所要解决的技术问题在于,提供一种存储器传输时延校准方法及装置,能够提高存储器传输时延校准的效率和兼容性,进而增大存储器的采样裕度。
为了解决上述技术问题,本发明第一方面公开了一种存储器传输时延校准方法,所述方法包括:
确定目标存储器中需校正传输时延的至少两根信号线;
针对每根所述信号线,基于该信号线匹配的命令组合,确定该信号线的输出信号相对于所述目标存储器的时钟信号的时延值,作为该信号线的边界时延值;
校正每根所述信号线的边界时延值,以使所有所述信号线中任意两根所述信号线的边界时延值相等或任意两根所述信号线的边界时延值之间的差值小于预先设定的时延差值。
作为一种可选的实施方式,在本发明第一方面中,所述方法还包括:
根据预先确定出的每根所述信号线的信号线类型和预先确定出的命令集合中每个命令对应的命令作用,确定该信号线在无命令作用下的初始信号和该信号线在每个所述命令的命令作用下的输出信号;
根据每根所述信号线在无命令作用下的初始信号和该信号线在每个所述命令的命令作用下的输出信号,确定该信号线匹配的命令组合,其中,每根所述信号线在该信号线匹配的命令组合的命令作用下的输出信号的信号状态为高低平翻转状态。
作为一种可选的实施方式,在本发明第一方面中,针对每根所述信号线,所述基于该信号线匹配的命令组合,确定该信号线的输出信号相对于所述目标存储器的时钟信号的时延值,作为该信号线的边界时延值,包括:
将该信号线匹配的基础时延值设置为该信号线当前的时延值;
基于该信号线当前的时延值,执行该信号线匹配的命令组合对应的命令操作,得到该信号线匹配的命令组合对应的访问结果;
判断该信号线匹配的命令组合的访问结果是否正确;
当该信号线匹配的命令组合的访问结果正确时,基于预先确定出的该信号线对应的时延步长,增大该信号线当前的时延值,并重复执行所述的基于该信号线当前的时延值,执行该命令线匹配的命令组合对应的命令操作,得到该信号线匹配的命令组合对应的访问结果的操作,以及所述的判断该信号线匹配的命令组合的访问结果是否正确的操作;
当该信号线匹配的命令组合的访问结果不正确时,将该信号线当前的时延值确定为该信号线的输出信号相对于所述目标存储器的时钟信号的时延值,作为该信号线的边界时延值。
作为一种可选的实施方式,在本发明第一方面中,每根所述信号线匹配的命令组合至少包括写入命令、激活命令、读取命令、对比命令;
其中,所述基于该信号线当前的时延值,执行该信号线匹配的命令组合对应的命令操作,得到该信号线匹配的命令组合对应的访问结果,包括:
基于所述激活命令,激活预先确定出的该信号线在所述目标存储器的存储颗粒中对应的数据单元,得到该信号线对应的目标数据单元,其中,所述数据单元包括数据行和/或数据列,所述数据单元的数据内容包括基于所述写入命令预先写入的已知数据;
基于所述读取命令和该信号线当前的时延值,读取该信号线对应的目标数据单元的数据,作为该信号线对应的读取数据;
基于所述对比命令,对该信号线对应的读取数据和已知数据进行对比,得到该信号线对应的对比结果;
根据该信号线对应的对比结果,确定该信号线匹配的命令组合对应的访问结果。
作为一种可选的实施方式,在本发明第一方面中,每根所述信号线包括控制线或地址线,每根所述地址线包括数据库地址线或数据单元地址线,当该信号线为所述控制线时,该信号线匹配的命令组合还包括模式寄存器设置命令,当该信号线为所述数据单元地址线时,该信号线匹配的命令组合还包括激活关闭命令。
作为一种可选的实施方式,在本发明第一方面中,针对每根所述信号线,当该信号线为所述控制线时,在所述基于所述激活命令,激活该信号线对应的存储地址中该信号线对应的写入数据的数据行,得到该信号线对应的目标数据单元之前,所述方法还包括:
基于所述模式寄存器设置命令,将预设错误值设置为所述存储颗粒的数据存取的时延值;
以及,在所述基于所述对比命令,对该信号线对应的读取数据和已知数据进行对比,得到该信号线对应的对比结果之前,所述方法还包括:
基于所述对比命令和所述预设错误值,对该信号线对应的读取数据和已知数据进行目标对比操作,得到该信号线对应的目标对比结果;
当该信号线对应的目标对比结果表示所述目标对比操作对比失败时,基于所述模式寄存器设置命令,将预设正确值设置为所述数据存取的时延值,并重新执行所述的基于所述读取命令和该信号线当前的时延值,读取该信号线对应的目标数据单元的数据,作为该信号线对应的读取数据的操作,以及触发执行所述的基于所述对比命令,对该信号线对应的读取数据和已知数据进行对比,得到该信号线对应的对比结果的操作。
作为一种可选的实施方式,在本发明第一方面中,针对每根所述信号线,当该信号线为所述数据单元地址线时,在所述基于所述对比命令,对该信号线对应的读取数据和已知数据进行对比,得到该信号线对应的对比结果之后,所述方法还包括:
基于所述激活关闭命令,关闭由所述激活命令激活的该信号线对应的目标数据单元,以便后续激活所有所述信号线中除该信号线之外的其他所述信号线对应的目标数据单元。
作为一种可选的实施方式,在本发明第一方面中,在所述校正每根所述信号线的边界时延值,以使所有所述信号线中任意两根所述信号线的边界时延值相等或任意两根所述信号线的边界时延值之间的差值小于预先设定的时延差值之前,所述方法还包括:
根据所有所述信号线的边界时延值,计算每根所述信号线对应的补偿时延值;
其中,所述校正每根所述信号线的边界时延值,以使所有所述信号线中任意两根所述信号线的边界时延值相等或任意两根所述信号线的边界时延值之间的差值小于预先设定的时延差值,包括:
根据每根所述信号线对应的补偿时延值,校正该信号线的边界时延值,直至该信号线的边界时延值与确定出的参考信号线的边界时延值相匹配,以使所有所述信号线中任意两根所述信号线的边界时延值相等或任意两根所述信号线的边界时延值之间的差值小于预先设定的时延差值;
以及,所述根据所有所述信号线的边界时延值,计算每根所述信号线对应的补偿时延值,包括:
将所有所述信号线中边界时延值最大的信号线确定为参考信号线,并将所有所述信号线中除所述参考信号线之外的其他所述信号线确定为待校正信号线;
计算每根所述待校正信号线的边界时延值与所述参考信号线的边界时延值的差值,作为该待校正信号线对应的补偿时延值,并确定所述参考信号线对应的补偿时延值为零。
本发明第二方面公开了一种存储器传输时延校准装置,所述装置包括:
确定模块,用于确定目标存储器中需校正传输时延的至少两根信号线;并针对每根所述信号线,基于该信号线匹配的命令组合,确定该信号线的输出信号相对于所述目标存储器的时钟信号的时延值,作为该信号线的边界时延值;
校正模块,用于校正每根所述信号线的边界时延值,以使所有所述信号线中任意两根所述信号线的边界时延值相等或任意两根所述信号线的边界时延值之间的差值小于预先设定的时延差值。
作为一种可选的实施方式,在本发明第二方面中,所述确定模块,还用于根据预先确定出的每根所述信号线的信号线类型和预先确定出的命令集合中每个命令对应的命令作用,确定该信号线在无命令作用下的初始信号和该信号线在每个所述命令的命令作用下的输出信号;并根据每根所述信号线在无命令作用下的初始信号和该信号线在每个所述命令的命令作用下的输出信号,确定该信号线匹配的命令组合,其中,每根所述信号线在该信号线匹配的命令组合的命令作用下的输出信号的信号状态为高低平翻转状态。
作为一种可选的实施方式,在本发明第二方面中,针对每根所述信号线,所述确定模块基于该信号线匹配的命令组合,确定该信号线的输出信号相对于所述目标存储器的时钟信号的时延值,作为该信号线的边界时延值的具体方式包括:
将该信号线匹配的基础时延值设置为该信号线当前的时延值;
基于该信号线当前的时延值,执行该信号线匹配的命令组合对应的命令操作,得到该信号线匹配的命令组合对应的访问结果;
判断该信号线匹配的命令组合的访问结果是否正确;
当该信号线匹配的命令组合的访问结果正确时,基于预先确定出的该信号线对应的时延步长,增大该信号线当前的时延值,并重复执行所述的基于该信号线当前的时延值,执行该命令线匹配的命令组合对应的命令操作,得到该信号线匹配的命令组合对应的访问结果的操作,以及所述的判断该信号线匹配的命令组合的访问结果是否正确的操作;
当该信号线匹配的命令组合的访问结果不正确时,将该信号线当前的时延值确定为该信号线的输出信号相对于所述目标存储器的时钟信号的时延值,作为该信号线的边界时延值。
作为一种可选的实施方式,在本发明第二方面中,每根所述信号线匹配的命令组合至少包括写入命令、激活命令、读取命令、对比命令;
其中,所述确定模块基于该信号线当前的时延值,执行该信号线匹配的命令组合对应的命令操作,得到该信号线匹配的命令组合对应的访问结果的具体方式包括:
基于所述激活命令,激活预先确定出的该信号线在所述目标存储器的存储颗粒中对应的数据单元,得到该信号线对应的目标数据单元,其中,所述数据单元包括数据行和/或数据列,所述数据单元的数据内容包括基于所述写入命令预先写入的已知数据;
基于所述读取命令和该信号线当前的时延值,读取该信号线对应的目标数据单元的数据,作为该信号线对应的读取数据;
基于所述对比命令,对该信号线对应的读取数据和已知数据进行对比,得到该信号线对应的对比结果;
根据该信号线对应的对比结果,确定该信号线匹配的命令组合对应的访问结果。
作为一种可选的实施方式,在本发明第二方面中,每根所述信号线包括控制线或地址线,每根所述地址线包括数据库地址线或数据单元地址线,当该信号线为所述控制线时,该信号线匹配的命令组合还包括模式寄存器设置命令,当该信号线为所述数据单元地址线时,该信号线匹配的命令组合还包括激活关闭命令。
作为一种可选的实施方式,在本发明第二方面中,所述确定模块,还用于针对每根所述信号线,当该信号线为所述控制线时,在基于所述激活命令,激活该信号线对应的存储地址中该信号线对应的写入数据的数据行,得到该信号线对应的目标数据单元之前,基于所述模式寄存器设置命令,将预设错误值设置为所述存储颗粒的数据存取的时延值,以及,在基于所述对比命令,对该信号线对应的读取数据和已知数据进行对比,得到该信号线对应的对比结果之前,基于所述对比命令和所述预设错误值,对该信号线对应的读取数据和已知数据进行目标对比操作,得到该信号线对应的目标对比结果,当该信号线对应的目标对比结果表示所述目标对比操作对比失败时,基于所述模式寄存器设置命令,将预设正确值设置为所述数据存取的时延值,并重新执行所述的基于所述读取命令和该信号线当前的时延值,读取该信号线对应的目标数据单元的数据,作为该信号线对应的读取数据的操作,以及触发执行所述的基于所述对比命令,对该信号线对应的读取数据和已知数据进行对比,得到该信号线对应的对比结果的操作。
作为一种可选的实施方式,在本发明第二方面中,所述确定模块,还用于针对每根所述信号线,当该信号线为所述数据单元地址线时,在基于所述对比命令,对该信号线对应的读取数据和已知数据进行对比,得到该信号线对应的对比结果之后,基于所述激活关闭命令,关闭由所述激活命令激活的该信号线对应的目标数据单元,以便后续激活所有所述信号线中除该信号线之外的其他所述信号线对应的目标数据单元。
作为一种可选的实施方式,在本发明第二方面中,所述装置还包括:
计算模块,用于在所述校正模块校正每根所述信号线的边界时延值,以使所有所述信号线中任意两根所述信号线的边界时延值相等或任意两根所述信号线的边界时延值之间的差值小于预先设定的时延差值之前,根据所有所述信号线的边界时延值,计算每根所述信号线对应的补偿时延值;
其中,所述校正模块每根所述信号线的边界时延值,以使所有所述信号线中任意两根所述信号线的边界时延值相等或任意两根所述信号线的边界时延值之间的差值小于预先设定的时延差值的具体方式包括:
根据每根所述信号线对应的补偿时延值,校正该信号线的边界时延值,直至该信号线的边界时延值与确定出的参考信号线的边界时延值相匹配,以使所有所述信号线中任意两根所述信号线的边界时延值相等或任意两根所述信号线的边界时延值之间的差值小于预先设定的时延差值;
以及,所述计算模块根据所有所述信号线的边界时延值,计算每根所述信号线对应的补偿时延值的具体方式包括:
将所有所述信号线中边界时延值最大的信号线确定为参考信号线,并将所有所述信号线中除所述参考信号线之外的其他所述信号线确定为待校正信号线;
计算每根所述待校正信号线的边界时延值与所述参考信号线的边界时延值的差值,作为该待校正信号线对应的补偿时延值,并确定所述参考信号线对应的补偿时延值为零。
本发明第三方面公开了另一种存储器传输时延校准装置,所述装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的存储器传输时延校准方法。
本发明第四方面公开了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的存储器传输时延校准方法。
与现有技术相比,本发明实施例具有以下有益效果:
本发明实施例中,确定目标存储器中需校正传输时延的至少两根信号线;针对每根信号线,基于该信号线匹配的命令组合,确定该信号线的输出信号相对于目标存储器的时钟信号的时延值,作为该信号线的边界时延值;校正每根信号线的边界时延值,以使所有信号线中任意两根信号线的边界时延值相等或任意两根信号线的边界时延值之间的差值小于预先设定的时延差值。可见,实施本发明能够利用命令组合自动训练、测试得到任意信号线的边界时延值,并校正信号线的边界时延值,提高了测试出的边界时延值与实际边界时延值的匹配程度,进而有利于提高传输时延值校正的准确性和可靠性,并且能够提高传输时延校正的效率和兼容性,从而增大存储器的采样裕度,进而提高存储器的稳定性以及增强存储器的工作性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种存储器传输时延校准方法的流程示意图;
图2是本发明实施例公开的另一种存储器传输时延校准方法的流程示意图;
图3是本发明实施例公开的一种存储器传输时延校准装置的结构示意图;
图4是本发明实施例公开的另一种存储器传输时延校准装置的结构示意图;
图5是本发明实施例公开的又一种存储器传输时延校准装置的结构示意图;
图6是本发明实施例公开的一种存储器传输时延校正前后对比图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或端没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或端固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明公开了一种存储器传输时延校准方法及装置,能够利用命令组合自动训练、测试得到任意信号线的边界时延值,并校正信号线的边界时延值,提高了测试出的边界时延值与实际边界时延值的匹配程度,进而有利于提高传输时延值校正的准确性和可靠性,并且能够提高传输时延校正的效率和兼容性,从而增大存储器的采样裕度,进而提高存储器的稳定性以及增强存储器的工作性能。以下分别进行详细说明。
实施例一
请参阅图1,图1是本发明实施例公开的一种存储器传输时延校准方法的流程示意图。其中,图1所描述的存储器传输时延校准方法可以应用于任意需使用包含多根信号线的存储器的电子设备上,包括但不限于个人电脑、迷你计算机、平板电脑、手机、机顶盒、物联网终端等设备,其中,图1所描述的存储器传输时延校准方法可以通过上述电子设备的硬件电路或软件语言实现,本发明实施例不做限定。如图1所示,该存储器传输时延校准方法可以包括以下操作:
101、确定目标存储器中需校正传输时延的至少两根信号线。
本发明实施例中,可选的,目标存储器可以为DDR存储器(Double Data Rate,双倍速率同步动态随机存储器),例如DDR3存储器、DDR4存储器。
本发明实施例中,可选的,目标存储器的结构可以包括存储控制器、存储颗粒(如DDR存储器的DRAM颗粒)以及存储控制器与存储颗粒之间的信号线(如DDR存储器的C/A线)。进一步可选的,每根信号线可以包括控制线或地址线,每根地址线可以包括数据库地址线或数据单元地址线,以DDR存储器为例,控制线可以包括CS信号线、ACT信号线、RAS信号线、CAS信号线、WE信号线,数据库地址线可以包括BA信号线,数据单元地址线可以包括RA信号线(A0信号线-A17信号线),当该DDR存储器为DDR4存储器时,数据地址线还可以包括BG信号线。又进一步可选的,存储颗粒内部可以包括一个或多个数据库,每个数据库可以包括一个或多个数据单元,每根数据库地址线对应一个数据库,每根数据单元地址线对应其中一个数据库中的其中一个数据单元,以DDR4存储器为例,存储颗粒内部包括多个Bank Group(数据库),每个Bank Group内部包括多个Bank(子数据库),每个Bank内部包括多个Row(数据单元),DDR4存储器的每根BG信号线对应一个Bank Group,每根BA信号线对应一个Bank,每根RA信号线对应一个Row。
本发明实施例中,可选的,针对每根信号线,当该信号线为数据单元地址线时,该信号线的第一地址标识和该信号线对应的数据单元的第二地址标识相匹配,以DDR4存储器为例,A9信号线对应的第一地址标识A9和A9信号线对应的数据单元Row-9的第二地址标识R9相匹配。
102、针对每根信号线,基于该信号线匹配的命令组合,确定该信号线的输出信号相对于目标存储器的时钟信号的时延值,作为该信号线的边界时延值。
本发明实施例中,可选的,每根信号线匹配的命令组合至少包括写入命令(initdata命令)、激活命令(Bank Activate命令)、读取命令(read命令)、对比命令(CMP,Compare命令),当该信号线为控制线时,该信号线匹配的命令组合还可以包括模式寄存器设置命令(MRS,Mode Register Setting命令),当该信号线为数据单元地址线时,该信号线匹配的命令组合还可以包括激活关闭命令(Precharge命令)。每个信号线匹配的命令组合用于使该信号线在其命令作用下交替访问不同地址进而读取不同数据,以使该信号线的输出信号的信号状态为高低平翻转状态。可见,这样能够针对不同类型的信号线采用不同的命令组合,进一步提高命令组合与信号线的适配程度,并且能够提高每根信号线匹配的命令组合的多样性和灵活性。
需要说明的是,每根信号线匹配的命令组合并不是唯一或固定的,在其他实施例中,每根信号线匹配的命令组合也可以为除上述命令组合之外的其他命令组合,只要该信号线匹配的命令组合的命令作用能够使该信号线输出信号的信号状态变成高低平翻转状态即可。
作为一种可选的实施方式,针对每根信号线,基于该信号线匹配的命令组合,确定该信号线的输出信号相对于目标存储器的时钟信号的时延值,作为该信号线的边界时延值,可以包括:
将该信号线匹配的基础时延值设置为该信号线当前的时延值;
基于该信号线当前的时延值,执行该信号线匹配的命令组合对应的命令操作,得到该信号线匹配的命令组合对应的访问结果;
判断该信号线匹配的命令组合的访问结果是否正确;
当该信号线匹配的命令组合的访问结果正确时,基于预先确定出的该信号线对应的时延步长,增大该信号线当前的时延值,并重复执行上述的基于该信号线当前的时延值,执行该命令线匹配的命令组合对应的命令操作,得到该信号线匹配的命令组合对应的访问结果的操作,以及上述的判断该信号线匹配的命令组合的访问结果是否正确的操作;
当该信号线匹配的命令组合的访问结果不正确时,将该信号线当前的时延值确定为该信号线的输出信号相对于目标存储器的时钟信号的时延值,作为该信号线的边界时延值。
可见,实施该可选的实施方式能够根据信号线匹配的命令组合在线性增长的不同时延值下的访问结果,逐步确定信号线的边界时延值,提高了确定信号线的边界时延值的精确性,进而有利于提高传输时延校正的准确性和可靠性。
在该可选的实施方式中,可选的,基于该信号线当前的时延值,执行该信号线匹配的命令组合对应的命令操作,得到该信号线匹配的命令组合对应的访问结果,可以包括:
基于激活命令,激活预先确定出的该信号线在目标存储器的存储颗粒中对应的数据单元,得到该信号线对应的目标数据单元,其中,数据单元包括数据行和/或数据列,数据单元的数据内容包括基于写入命令预先写入的已知数据;
基于读取命令和该信号线当前的时延值,读取该信号线对应的目标数据单元的数据,作为该信号线对应的读取数据;
基于对比命令,对该信号线对应的读取数据和已知数据进行对比,得到该信号线对应的对比结果;
根据该信号线对应的对比结果,确定该信号线匹配的命令组合对应的访问结果。
可见,实施该可选的实施方式还能够根据每根信号线在其当前时延值下读取到的读取数据和已知数据的对比结果来判断命令组合对应的访问结果是否出错,降低了边界时延值的测试难度,从而提高传输时延校正的效率和兼容性。
在该可选的实施方式中,可选的,基于激活命令,激活预先确定出的该信号线在目标存储器的存储颗粒中对应的数据单元,得到该信号线对应的目标数据单元,可以包括:
当该信号线在目标存储器的存储颗粒中对应多个数据单元时,基于激活命令,激活该信号线对应的任意一个包括已知数据的数据单元,得到该信号线对应的目标数据单元;
当该信号线在目标存储器的存储颗粒中只对应一个数据单元时,基于激活命令,激活该信号线对应的该数据单元,得到该信号线对应的目标数据单元。
以DDR4存储器为例,针对BG信号线,可以激活其对应的Bank Group中的已知数据的任意一个Row,作为该信号线对应的目标数据单元,针对RA信号线,可以激活已知数据中与该RA信号线的地址标识相匹配的Row,作为该RA信号线对应的目标数据单元,例如针对A7信号线,可以激活A7信号线对应的Row-7(R7)。
在该可选的实施方式中,已知数据的数据内容与目标存储器中其他数据内容不重叠,优选的,已知数据为低频数据。可选的,已知数据可以包括高平数据(如“1”)和低平数据(如“0”),针对每根信号线,高平数据和低平数据分别用于写入至该信号线对应的存储地址中的不同子存储地址,以使信号线通过访问不同存储子地址读取到的输出信号的信号状态为高低平翻转状态。以DDR3存储器为例,A0信号线在DDR3存储器的存储颗粒中对应的存储地址为bit15,相应的目标数据单元为Row-0(R0),通过交替访问R0为1和R0为0的地址,即可使A0信号线的输出信号的信号状态为高低平翻转状态。
103、校正每根信号线的边界时延值,以使所有信号线中任意两根信号线的边界时延值相等或任意两根信号线的边界时延值之间的差值小于预先设定的时延差值。
如图6所示,每根信号线的输出信号左边界相对于时钟信号的时延值即为边界时延值,在未校正每根信号线的边界时延值之前,由于每根信号线的输出信号的左边界不对齐,导致所有信号线叠加之后的叠加眼图的眼图宽度小于所有信号线中最小的眼图宽度(信号线4的眼图宽度),而在校正每根信号线的边界时延值之后,由于每根信号线的输出信号的左边界对齐,增大了叠加眼图的眼图宽度,且叠加眼图的眼图宽度刚好等于所有信号线中最小的眼图宽度,从而提高了存储器的采样裕度。
可见,实施本发明实施例能够利用命令组合自动训练、测试得到任意信号线的边界时延值,并校正信号线的边界时延值,提高了测试出的边界时延值与实际边界时延值的匹配程度,进而有利于提高传输时延值校正的准确性和可靠性,并且能够提高传输时延校正的效率和兼容性,从而增大存储器的采样裕度,进而提高存储器的稳定性以及增强存储器的工作性能。
在一个可选的实施例中,针对每根信号线,当该信号线为控制线时,在基于激活命令,激活该信号线对应的存储地址中该信号线对应的写入数据的数据行,得到该信号线对应的目标数据单元之前,该方法还可以包括:
基于模式寄存器设置命令,将预设错误值设置为存储颗粒的数据存取的时延值;
以及,在基于对比命令,对该信号线对应的读取数据和已知数据进行对比,得到该信号线对应的对比结果之前,该方法还可以包括:
基于对比命令和预设错误值,对该信号线对应的读取数据和已知数据进行目标对比操作,得到该信号线对应的目标对比结果;
当该信号线对应的目标对比结果表示目标对比操作对比失败时,基于模式寄存器设置命令,将预设正确值设置为数据存取的时延值,并重新执行上述的基于读取命令和该信号线当前的时延值,读取该信号线对应的目标数据单元的数据,作为该信号线对应的读取数据的操作,以及触发执行上述的基于对比命令,对该信号线对应的读取数据和已知数据进行对比,得到该信号线对应的对比结果的操作。
可见,实施该可选的实施例能够基于模式寄存器设置命令先后设置存储颗粒的数据存取时延值为错误值和正确值,以便通过两种时延值下命令执行结果的差异确保命令组合的命令操作成功执行,提高了控制线匹配的命令组合的命令操作执行的可靠性。
在另一个可选的实施例中,针对每根信号线,当该信号线为数据单元地址线时,在基于对比命令,对该信号线对应的读取数据和已知数据进行对比,得到该信号线对应的对比结果之后,该方法还可以包括:
基于激活关闭命令,关闭由激活命令激活的该信号线对应的目标数据单元,以便后续激活所有信号线中除该信号线之外的其他信号线对应的目标数据单元。
可见,实施该可选的实施例能够在确定出数据单元地址线的边界时延值之后,关闭已激活的该数据单元地址线对应的目标数据单元,从而减少由于处于激活状态的数据单元的数量大于1而导致其他地址线无法准确读取数据单元中数据的情况发生,提高数据读取的准确性和可靠性。
在又一个可选的实施例中,该方法还可以包括:
基于写入命令,将已知数据写入预先确定出的每根信号线在目标存储器的存储颗粒中对应的存储地址;
其中,针对每根信号线,当该信号线为数据库地址线时,该信号线对应的存储地址包括该信号线对应的数据库,当该信号为数据单元地址线时,该信号线对应的存储地址包括该信号线对应的数据单元。
可见,实施该可选的实施例能够统一写入预设数据,不仅能够提高数据写入的效率,还能够提高所有信号线的边界时延值的参考标准的统一性,进而提高确定信号线边界时延值的准确性。
在该可选的实施例中,作为一种可选的实施方式,在基于写入命令,将已知数据写入预先确定出的每根信号线在目标存储器的存储颗粒中对应的存储地址之前,该方法还可以包括:
检测目标存储器是否满足数据读写条件,当检测结果为是时,触发执行上述的将已知数据写入预先确定出的每根信号线在目标存储器的存储颗粒中对应的存储地址的操作;
其中,检测目标存储器是否满足数据读写条件,可以包括:
检测目标存储器的存储通路的读写状态是否处于正常状态,当检测结果为是时,确定目标存储器满足数据读写条件。
可见,实施该可选的实施方式还能够在将已知数据写入存储颗粒之前,检测存储器的存储通路的读写状态是否正常,从而有利于提高数据读写的成功率。
在又一个可选的实施例中,在校正每根信号线的边界时延值,以使所有信号线中任意两根信号线的边界时延值相等或任意两根信号线的边界时延值之间的差值小于预先设定的时延差值之前,该方法还可以包括:
根据所有信号线的边界时延值,计算每根信号线对应的补偿时延值;
其中,校正每根信号线的边界时延值,以使所有信号线中任意两根信号线的边界时延值相等或任意两根信号线的边界时延值之间的差值小于预先设定的时延差值,可以包括:
根据每根信号线对应的补偿时延值,校正该信号线的边界时延值,直至该信号线的边界时延值与确定出的参考信号线的边界时延值相匹配,以使所有信号线中任意两根信号线的边界时延值相等或任意两根信号线的边界时延值之间的差值小于预先设定的时延差值;
可见,实施该可选的实施例能够根据计算出的每根信号线的补偿时延值,对每根信号线的边界时延值进行补偿校正,提高了传输时延校正的准确性和可靠性。
在该可选的实施例中,作为一种可选的实施方式,根据所有信号线的边界时延值,计算每根信号线对应的补偿时延值,可以包括:
将所有信号线中边界时延值最大的信号线确定为参考信号线,并将所有信号线中除参考信号线之外的其他信号线确定为待校正信号线;
计算每根待校正信号线的边界时延值与参考信号线的边界时延值的差值,作为该待校正信号线对应的补偿时延值,并确定参考信号线对应的补偿时延值为零。
需要说明的是,在其他实施例中,也可以确定参考信号线对应的补偿时延值为预设补偿时延值,则每根待校正信号线的对应的补偿时延值等于该待校正信号线的边界时延值与参考信号线的边界时延值的差值与预设补偿时延值之和。
可见,实施该可选的实施方式能够通过将边界时延值最大的信号线确定为其他信号线的传输时延校正的参考信号线,从而最大限度地提高所有信号线的叠加眼图的眼图宽度,进而最大限度地提高存储器的采样裕度。
实施例二
请参阅图2,图2是本发明实施例公开的另一种存储器传输时延校准方法的流程示意图。其中,图2所描述的存储器传输时延校准方法可以应用于任意需使用包含多根信号线的存储器的电子设备上,包括但不限于个人电脑、迷你计算机、平板电脑、手机、机顶盒、物联网终端等设备,其中,图2所描述的存储器传输时延校准方法可以通过上述电子设备的硬件电路或软件语言实现,本发明实施例不做限定。如图2所示,该存储器传输时延校准方法可以包括以下操作:
201、确定目标存储器中需校正传输时延的至少两根信号线。
202、根据预先确定出的每根信号线的信号线类型和预先确定出的命令集合中每个命令对应的命令作用,确定该信号线在无命令作用下的初始信号和该信号线在每个命令的命令作用下的输出信号。
本发明实施例中,可选的,可以通过输入一个预设信号采集信号线在无命令作用下的初始信号和该信号线在每个命令的命令作用下的输出信号,也可以通过预先获取的信号线与命令之间的命令作用对应关系(如用于表示多个信号线在不同命令的命令作用下的输出情况的关系对应查找表)确定该信号线在无命令作用下的初始信号和该信号线在每个命令的命令作用下的输出信号,本发明实施例不做限定。
203、根据每根信号线在无命令作用下的初始信号和该信号线在每个命令的命令作用下的输出信号,确定该信号线匹配的命令组合。
本发明实施例中,每根信号线在该信号线匹配的命令组合的命令作用下的输出信号的信号状态为高低平翻转状态。
204、针对每根信号线,基于该信号线匹配的命令组合,确定该信号线的输出信号相对于目标存储器的时钟信号的时延值,作为该信号线的边界时延值。
205、校正每根信号线的边界时延值,以使所有信号线中任意两根信号线的边界时延值相等或任意两根信号线的边界时延值之间的差值小于预先设定的时延差值。
可见,实施本发明实施例能够利用命令组合自动训练、测试得到任意信号线的边界时延值,并校正信号线的边界时延值,提高了测试出的边界时延值与实际边界时延值的匹配程度,进而有利于提高传输时延值校正的准确性和可靠性,并且能够提高传输时延校正的效率和兼容性,从而增大存储器的采样裕度,进而提高存储器的稳定性以及增强存储器的工作性能,此外,还能够根据信号线在无命令作用下的初始信号和在每个命令的命令作用下的输出信号确定信号线匹配的命令组合,从而提高命令组合与信号线的适配程度,并且能够提高每根信号线匹配的命令组合的多样性和灵活性。
实施例三
请参阅图3,图3是本发明实施例公开的一种存储器传输时延校准装置的结构示意图。其中,图3所描述的存储器传输时延校准装置可以应用于任意需使用包含多根信号线的存储器的电子设备上,包括但不限于个人电脑、迷你计算机、平板电脑、手机、机顶盒、物联网终端等设备,本发明实施例不做限定。如图3所示,该存储器传输时延校准装置可以包括:
确定模块301,用于确定目标存储器中需校正传输时延的至少两根信号线;并针对每根信号线,基于该信号线匹配的命令组合,确定该信号线的输出信号相对于目标存储器的时钟信号的时延值,作为该信号线的边界时延值;
校正模块302,用于校正每根信号线的边界时延值,以使所有信号线中任意两根信号线的边界时延值相等或任意两根信号线的边界时延值之间的差值小于预先设定的时延差值。
可见,实施图3所描述的装置能够利用命令组合自动训练、测试得到任意信号线的边界时延值,并校正信号线的边界时延值,提高了测试出的边界时延值与实际边界时延值的匹配程度,进而有利于提高传输时延值校正的准确性和可靠性,并且能够提高传输时延校正的效率和兼容性,从而增大存储器的采样裕度,进而提高存储器的稳定性以及增强存储器的工作性能。
在一个可选的实施例中,如图3所示,确定模块301,还用于根据预先确定出的每根信号线的信号线类型和预先确定出的命令集合中每个命令对应的命令作用,确定该信号线在无命令作用下的初始信号和该信号线在每个命令的命令作用下的输出信号;并根据每根信号线在无命令作用下的初始信号和该信号线在每个命令的命令作用下的输出信号,确定该信号线匹配的命令组合,其中,每根信号线在该信号线匹配的命令组合的命令作用下的输出信号的信号状态为高低平翻转状态。
可见,实施图3所描述的装置还能够根据信号线在无命令作用下的初始信号和在每个命令的命令作用下的输出信号确定信号线匹配的命令组合,从而提高命令组合与信号线的适配程度,并且能够提高每根信号线匹配的命令组合的多样性和灵活性。
在另一个可选的实施例中,如图3所示,针对每根信号线,确定模块301基于该信号线匹配的命令组合,确定该信号线的输出信号相对于目标存储器的时钟信号的时延值,作为该信号线的边界时延值的具体方式可以包括:
将该信号线匹配的基础时延值设置为该信号线当前的时延值;
基于该信号线当前的时延值,执行该信号线匹配的命令组合对应的命令操作,得到该信号线匹配的命令组合对应的访问结果;
判断该信号线匹配的命令组合的访问结果是否正确;
当该信号线匹配的命令组合的访问结果正确时,基于预先确定出的该信号线对应的时延步长,增大该信号线当前的时延值,并重复执行上述的基于该信号线当前的时延值,执行该命令线匹配的命令组合对应的命令操作,得到该信号线匹配的命令组合对应的访问结果的操作,以及上述的判断该信号线匹配的命令组合的访问结果是否正确的操作;
当该信号线匹配的命令组合的访问结果不正确时,将该信号线当前的时延值确定为该信号线的输出信号相对于目标存储器的时钟信号的时延值,作为该信号线的边界时延值。
可见,实施图3所描述的装置还能够根据信号线匹配的命令组合在线性增长的时延值下的访问结果,逐步确定信号线的边界时延值,提高了确定信号线的边界时延值的精确性,进而有利于提高传输时延校正的准确性和可靠性。
在又一个可选的实施例中,如图3所示,每根信号线匹配的命令组合至少可以包括写入命令、激活命令、读取命令、对比命令;
其中,确定模块301基于该信号线当前的时延值,执行该信号线匹配的命令组合对应的命令操作,得到该信号线匹配的命令组合对应的访问结果的具体方式可以包括:
基于激活命令,激活预先确定出的该信号线在目标存储器的存储颗粒中对应的数据单元,得到该信号线对应的目标数据单元,其中,数据单元包括数据行和/或数据列,数据单元的数据内容包括基于写入命令预先写入的已知数据;
基于读取命令和该信号线当前的时延值,读取该信号线对应的目标数据单元的数据,作为该信号线对应的读取数据;
基于对比命令,对该信号线对应的读取数据和已知数据进行对比,得到该信号线对应的对比结果;
根据该信号线对应的对比结果,确定该信号线匹配的命令组合对应的访问结果。
可见,实施图3所描述的装置还能够根据每根信号线在其当前时延值下读取到的读取数据和已知数据的对比结果来判断命令组合对应的访问结果是否出错,降低了边界时延值的测试难度,从而提高传输时延校正的效率和兼容性。
在又一个可选的实施例中,如图3所示,每根信号线可以包括控制线或地址线,每根地址线可以包括数据库地址线或数据单元地址线,当该信号线为控制线时,该信号线匹配的命令组合还可以包括模式寄存器设置命令,当该信号线为数据单元地址线时,该信号线匹配的命令组合还可以包括激活关闭命令。
可见,实施图3所描述的装置还能够针对不同类型的信号线采用不同的命令组合,进一步提高命令组合与信号线的适配程度,并且能够提高每根信号线匹配的命令组合的多样性和灵活性。
在又一个可选的实施例中,如图3所示,确定模块301,还用于针对每根信号线,当该信号线为控制线时,在基于激活命令,激活该信号线对应的存储地址中该信号线对应的写入数据的数据行,得到该信号线对应的目标数据单元之前,基于模式寄存器设置命令,将预设错误值设置为存储颗粒的数据存取的时延值,以及,在基于对比命令,对该信号线对应的读取数据和已知数据进行对比,得到该信号线对应的对比结果之前,基于对比命令和预设错误值,对该信号线对应的读取数据和已知数据进行目标对比操作,得到该信号线对应的目标对比结果,当该信号线对应的目标对比结果表示目标对比操作对比失败时,基于模式寄存器设置命令,将预设正确值设置为数据存取的时延值,并重新执行上述的基于读取命令和该信号线当前的时延值,读取该信号线对应的目标数据单元的数据,作为该信号线对应的读取数据的操作,以及触发执行上述的基于对比命令,对该信号线对应的读取数据和已知数据进行对比,得到该信号线对应的对比结果的操作。
可见,实施图3所描述的装置还能够基于模式寄存器设置命令先后设置存储颗粒的数据存取的时延值为错误值和正确值,以便通过两种时延值下命令执行结果的差异确保命令组合的命令操作成功执行,提高了控制线匹配的命令组合的命令操作执行的可靠性。
在又一个可选的实施例中,如图3所示,确定模块301,还用于针对每根信号线,当该信号线为数据单元地址线时,在基于对比命令,对该信号线对应的读取数据和已知数据进行对比,得到该信号线对应的对比结果之后,基于激活关闭命令,关闭由激活命令激活的该信号线对应的目标数据单元,以便后续激活所有信号线中除该信号线之外的其他信号线对应的目标数据单元。
可见,实施图3所描述的装置还能够在确定出数据单元地址线的边界时延值之后,关闭已激活的该数据单元地址线对应的目标数据单元,从而减少由于处于激活状态的数据单元的数量大于1而导致其他地址线无法准确读取数据单元中数据的情况发生,提高数据读取的准确性和可靠性。
在又一个可选的实施例中,如图4所示,该装置还可以包括:
计算模块303,用于在校正模块302校正每根信号线的边界时延值,以使所有信号线中任意两根信号线的边界时延值相等或任意两根信号线的边界时延值之间的差值小于预先设定的时延差值之前,根据所有信号线的边界时延值,计算每根信号线对应的补偿时延值;
其中,校正模块302每根信号线的边界时延值,以使所有信号线中任意两根信号线的边界时延值相等或任意两根信号线的边界时延值之间的差值小于预先设定的时延差值的具体方式可以包括:
根据每根信号线对应的补偿时延值,校正该信号线的边界时延值,直至该信号线的边界时延值与确定出的参考信号线的边界时延值相匹配,以使所有信号线中任意两根信号线的边界时延值相等或任意两根信号线的边界时延值之间的差值小于预先设定的时延差值;
以及,计算模块303根据所有信号线的边界时延值,计算每根信号线对应的补偿时延值的具体方式可以包括:
将所有信号线中边界时延值最大的信号线确定为参考信号线,并将所有信号线中除参考信号线之外的其他信号线确定为待校正信号线;
计算每根待校正信号线的边界时延值与参考信号线的边界时延值的差值,作为该待校正信号线对应的补偿时延值,并确定参考信号线对应的补偿时延值为零。
可见,实施图4所描述的装置能够根据计算出的每根信号线的补偿时延值,对每根信号线的边界时延值进行补偿校正,提高了传输时延校正的准确性和可靠性,此外,通过将边界时延值最大的信号线确定为其他信号线的传输时延校正的参考信号线,能够最大限度地提高所有信号线的叠加眼图的眼图宽度,进而最大限度地提高存储器的采样裕度。
实施例四
请参阅图5,图5是本发明实施例公开的又一种存储器传输时延校准装置的结构示意图。如图5所示,该存储器传输时延校准装置可以包括:
存储有可执行程序代码的存储器401;
与存储器401耦合的处理器402;
处理器402调用存储器401中存储的可执行程序代码,执行本发明实施例一或本发明实施例二所描述的存储器传输时延校准方法中的步骤。
实施例五
本发明实施例公开了一种计算机存储介质,该计算机存储介质存储有计算机指令,该计算机指令被调用时,用于执行本发明实施例一或本发明实施例二所描述的存储器传输时延校准方法中的步骤。
实施例六
本发明实施例公开了一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可操作来使计算机执行实施例一或实施例二中所描述的存储器传输时延校准方法中的步骤。
以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
最后应说明的是:本发明实施例公开的一种存储器传输时延校准方法及装置所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。
Claims (10)
1.一种存储器传输时延校准方法,其特征在于,所述方法包括:
确定目标存储器中需校正传输时延的至少两根信号线;
针对每根所述信号线,基于该信号线匹配的命令组合,确定该信号线的输出信号相对于所述目标存储器的时钟信号的时延值,作为该信号线的边界时延值;
校正每根所述信号线的边界时延值,以使所有所述信号线中任意两根所述信号线的边界时延值相等或任意两根所述信号线的边界时延值之间的差值小于预先设定的时延差值。
2.根据权利要求1所述的存储器传输时延校准方法,其特征在于,所述方法还包括:
根据预先确定出的每根所述信号线的信号线类型和预先确定出的命令集合中每个命令对应的命令作用,确定该信号线在无命令作用下的初始信号和该信号线在每个所述命令的命令作用下的输出信号;
根据每根所述信号线在无命令作用下的初始信号和该信号线在每个所述命令的命令作用下的输出信号,确定该信号线匹配的命令组合,其中,每根所述信号线在该信号线匹配的命令组合的命令作用下的输出信号的信号状态为高低平翻转状态。
3.根据权利要求1或2所述的存储器传输时延校准方法,其特征在于,针对每根所述信号线,所述基于该信号线匹配的命令组合,确定该信号线的输出信号相对于所述目标存储器的时钟信号的时延值,作为该信号线的边界时延值,包括:
将该信号线匹配的基础时延值设置为该信号线当前的时延值;
基于该信号线当前的时延值,执行该信号线匹配的命令组合对应的命令操作,得到该信号线匹配的命令组合对应的访问结果;
判断该信号线匹配的命令组合的访问结果是否正确;
当该信号线匹配的命令组合的访问结果正确时,基于预先确定出的该信号线对应的时延步长,增大该信号线当前的时延值,并重复执行所述的基于该信号线当前的时延值,执行该命令线匹配的命令组合对应的命令操作,得到该信号线匹配的命令组合对应的访问结果的操作,以及所述的判断该信号线匹配的命令组合的访问结果是否正确的操作;
当该信号线匹配的命令组合的访问结果不正确时,将该信号线当前的时延值确定为该信号线的输出信号相对于所述目标存储器的时钟信号的时延值,作为该信号线的边界时延值。
4.根据权利要求3所述的存储器传输时延校准方法,其特征在于,每根所述信号线匹配的命令组合至少包括写入命令、激活命令、读取命令、对比命令;
其中,所述基于该信号线当前的时延值,执行该信号线匹配的命令组合对应的命令操作,得到该信号线匹配的命令组合对应的访问结果,包括:
基于所述激活命令,激活预先确定出的该信号线在所述目标存储器的存储颗粒中对应的数据单元,得到该信号线对应的目标数据单元,其中,所述数据单元包括数据行和/或数据列,所述数据单元的数据内容包括基于所述写入命令预先写入的已知数据;
基于所述读取命令和该信号线当前的时延值,读取该信号线对应的目标数据单元的数据,作为该信号线对应的读取数据;
基于所述对比命令,对该信号线对应的读取数据和已知数据进行对比,得到该信号线对应的对比结果;
根据该信号线对应的对比结果,确定该信号线匹配的命令组合对应的访问结果。
5.根据权利要求4所述的存储器传输时延校准方法,其特征在于,每根所述信号线包括控制线或地址线,每根所述地址线包括数据库地址线或数据单元地址线,当该信号线为所述控制线时,该信号线匹配的命令组合还包括模式寄存器设置命令,当该信号线为所述数据单元地址线时,该信号线匹配的命令组合还包括激活关闭命令。
6.根据权利要求5所述的存储器传输时延校准方法,其特征在于,针对每根所述信号线,当该信号线为所述控制线时,在所述基于所述激活命令,激活该信号线对应的存储地址中该信号线对应的写入数据的数据行,得到该信号线对应的目标数据单元之前,所述方法还包括:
基于所述模式寄存器设置命令,将预设错误值设置为所述存储颗粒的数据存取的时延值;
以及,在所述基于所述对比命令,对该信号线对应的读取数据和已知数据进行对比,得到该信号线对应的对比结果之前,所述方法还包括:
基于所述对比命令和所述预设错误值,对该信号线对应的读取数据和已知数据进行目标对比操作,得到该信号线对应的目标对比结果;
当该信号线对应的目标对比结果表示所述目标对比操作对比失败时,基于所述模式寄存器设置命令,将预设正确值设置为所述数据存取的时延值,并重新执行所述的基于所述读取命令和该信号线当前的时延值,读取该信号线对应的目标数据单元的数据,作为该信号线对应的读取数据的操作,以及触发执行所述的基于所述对比命令,对该信号线对应的读取数据和已知数据进行对比,得到该信号线对应的对比结果的操作。
7.根据权利要求5或6所述的存储器传输时延校准方法,其特征在于,针对每根所述信号线,当该信号线为所述数据单元地址线时,在所述基于所述对比命令,对该信号线对应的读取数据和已知数据进行对比,得到该信号线对应的对比结果之后,所述方法还包括:
基于所述激活关闭命令,关闭由所述激活命令激活的该信号线对应的目标数据单元,以便后续激活所有所述信号线中除该信号线之外的其他所述信号线对应的目标数据单元。
8.根据权利要求3所述的存储器传输时延校准方法,其特征在于,在所述校正每根所述信号线的边界时延值,以使所有所述信号线中任意两根所述信号线的边界时延值相等或任意两根所述信号线的边界时延值之间的差值小于预先设定的时延差值之前,所述方法还包括:
根据所有所述信号线的边界时延值,计算每根所述信号线对应的补偿时延值;
其中,所述校正每根所述信号线的边界时延值,以使所有所述信号线中任意两根所述信号线的边界时延值相等或任意两根所述信号线的边界时延值之间的差值小于预先设定的时延差值,包括:
根据每根所述信号线对应的补偿时延值,校正该信号线的边界时延值,直至该信号线的边界时延值与确定出的参考信号线的边界时延值相匹配,以使所有所述信号线中任意两根所述信号线的边界时延值相等或任意两根所述信号线的边界时延值之间的差值小于预先设定的时延差值;
以及,所述根据所有所述信号线的边界时延值,计算每根所述信号线对应的补偿时延值,包括:
将所有所述信号线中边界时延值最大的信号线确定为参考信号线,并将所有所述信号线中除所述参考信号线之外的其他所述信号线确定为待校正信号线;
计算每根所述待校正信号线的边界时延值与所述参考信号线的边界时延值的差值,作为该待校正信号线对应的补偿时延值,并确定所述参考信号线对应的补偿时延值为零。
9.一种存储器传输时延校准装置,其特征在于,所述装置包括:
确定模块,用于确定目标存储器中需校正传输时延的至少两根信号线;并针对每根所述信号线,基于该信号线匹配的命令组合,确定该信号线的输出信号相对于所述目标存储器的时钟信号的时延值,作为该信号线的边界时延值;
校正模块,用于校正每根所述信号线的边界时延值,以使所有所述信号线中任意两根所述信号线的边界时延值相等或任意两根所述信号线的边界时延值之间的差值小于预先设定的时延差值。
10.一种存储器传输时延校准装置,其特征在于,所述装置包括:
存储有可执行程序代码的存储器;
与所述存储器耦合的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行如权利要求1-8任一项所述的存储器传输时延校准方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210519089.7A CN115080469A (zh) | 2022-05-13 | 2022-05-13 | 一种存储器传输时延校准方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210519089.7A CN115080469A (zh) | 2022-05-13 | 2022-05-13 | 一种存储器传输时延校准方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115080469A true CN115080469A (zh) | 2022-09-20 |
Family
ID=83247497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210519089.7A Pending CN115080469A (zh) | 2022-05-13 | 2022-05-13 | 一种存储器传输时延校准方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115080469A (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR950013161A (ko) * | 1993-10-19 | 1995-05-17 | 이헌조 | 경계 방향 검출기를 이용한 주사선 보간 장치 |
CN1503974A (zh) * | 2001-02-23 | 2004-06-09 | 高速存储系统中同步读出定时的方法 | |
CN1507629A (zh) * | 2001-03-13 | 2004-06-23 | 用于读取数据的系统延迟均衡法 | |
US20040213051A1 (en) * | 2003-04-28 | 2004-10-28 | Feng Lin | Method and apparatus for improving stability and lock time for synchronous circuits |
CN1770312A (zh) * | 2004-09-30 | 2006-05-10 | 三星电子株式会社 | 可检测在电源故障期间发生写入错误的存储器件及其方法 |
US20100104048A1 (en) * | 2007-03-30 | 2010-04-29 | Mitsubishi Electric Corporation | Time delay measurement |
CN102740314A (zh) * | 2011-04-06 | 2012-10-17 | 上海华为技术有限公司 | 接收通道延时校正方法、装置及具有该装置的基站 |
US20170110169A1 (en) * | 2015-10-20 | 2017-04-20 | Samsung Electronics Co., Ltd. | Memory device and system supporting command bus training, and operating method thereof |
CN107911178A (zh) * | 2017-11-14 | 2018-04-13 | 京信通信系统(中国)有限公司 | 一种通道校准的方法及装置 |
CN110286711A (zh) * | 2019-06-28 | 2019-09-27 | 联想(北京)有限公司 | 信息处理方法、信息处理装置、存储装置和电子设备 |
CN110286860A (zh) * | 2019-06-28 | 2019-09-27 | 联想(北京)有限公司 | 信息处理方法、信息处理系统和电子设备 |
US20200075069A1 (en) * | 2018-09-04 | 2020-03-05 | Micron Technology, Inc. | System-level timing budget improvements |
CN113178223A (zh) * | 2021-04-27 | 2021-07-27 | 珠海全志科技股份有限公司 | 存储器的数据训练方法、计算机装置及计算机可读存储介质 |
CN113450852A (zh) * | 2020-03-25 | 2021-09-28 | 长鑫存储技术有限公司 | 半导体存储器的训练方法及相关设备 |
CN113626352A (zh) * | 2021-07-01 | 2021-11-09 | 珠海全志科技股份有限公司 | 内存控制器的读取校准方法、计算机装置和可读存储介质 |
-
2022
- 2022-05-13 CN CN202210519089.7A patent/CN115080469A/zh active Pending
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR950013161A (ko) * | 1993-10-19 | 1995-05-17 | 이헌조 | 경계 방향 검출기를 이용한 주사선 보간 장치 |
CN1503974A (zh) * | 2001-02-23 | 2004-06-09 | 高速存储系统中同步读出定时的方法 | |
CN1507629A (zh) * | 2001-03-13 | 2004-06-23 | 用于读取数据的系统延迟均衡法 | |
CN101159163A (zh) * | 2001-03-13 | 2008-04-09 | 微米技术有限公司 | 用于均衡多个存储器件上的读延迟和操作存储器件的方法 |
US20040213051A1 (en) * | 2003-04-28 | 2004-10-28 | Feng Lin | Method and apparatus for improving stability and lock time for synchronous circuits |
CN1770312A (zh) * | 2004-09-30 | 2006-05-10 | 三星电子株式会社 | 可检测在电源故障期间发生写入错误的存储器件及其方法 |
US20100104048A1 (en) * | 2007-03-30 | 2010-04-29 | Mitsubishi Electric Corporation | Time delay measurement |
CN102740314A (zh) * | 2011-04-06 | 2012-10-17 | 上海华为技术有限公司 | 接收通道延时校正方法、装置及具有该装置的基站 |
US20170110169A1 (en) * | 2015-10-20 | 2017-04-20 | Samsung Electronics Co., Ltd. | Memory device and system supporting command bus training, and operating method thereof |
CN107911178A (zh) * | 2017-11-14 | 2018-04-13 | 京信通信系统(中国)有限公司 | 一种通道校准的方法及装置 |
US20200075069A1 (en) * | 2018-09-04 | 2020-03-05 | Micron Technology, Inc. | System-level timing budget improvements |
CN110880341A (zh) * | 2018-09-04 | 2020-03-13 | 美光科技公司 | 系统级时序预算改进 |
CN110286711A (zh) * | 2019-06-28 | 2019-09-27 | 联想(北京)有限公司 | 信息处理方法、信息处理装置、存储装置和电子设备 |
CN110286860A (zh) * | 2019-06-28 | 2019-09-27 | 联想(北京)有限公司 | 信息处理方法、信息处理系统和电子设备 |
CN113450852A (zh) * | 2020-03-25 | 2021-09-28 | 长鑫存储技术有限公司 | 半导体存储器的训练方法及相关设备 |
CN113178223A (zh) * | 2021-04-27 | 2021-07-27 | 珠海全志科技股份有限公司 | 存储器的数据训练方法、计算机装置及计算机可读存储介质 |
CN113626352A (zh) * | 2021-07-01 | 2021-11-09 | 珠海全志科技股份有限公司 | 内存控制器的读取校准方法、计算机装置和可读存储介质 |
Non-Patent Citations (2)
Title |
---|
何心怡, 蒋兴舟, 李启虎: "时延估计与双线阵左右舷分辨", 应用声学, no. 05, 30 October 2004 (2004-10-30) * |
陆辰鸿;胡越黎;周俊;: "基于训练方式的存储器时钟信号的自适应同步", 上海大学学报(自然科学版), no. 04 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4535455A (en) | Correction and monitoring of transient errors in a memory system | |
US7506226B2 (en) | System and method for more efficiently using error correction codes to facilitate memory device testing | |
US8161356B2 (en) | Systems, methods, and apparatuses to save memory self-refresh power | |
US5875195A (en) | Method and apparatus for error injection techniques | |
JP5222099B2 (ja) | トランスペアレントeccメモリシステム | |
US7272757B2 (en) | Method for testing a memory chip and test arrangement | |
US7808849B2 (en) | Read leveling of memory units designed to receive access requests in a sequential chained topology | |
US20060282755A1 (en) | Random access memory having ECC | |
US10546649B2 (en) | Post package repair for mapping to a memory failure pattern | |
US7487413B2 (en) | Memory module testing apparatus and method of testing memory modules | |
US20100082967A1 (en) | Method for detecting memory training result and computer system using such method | |
US5109382A (en) | Method and apparatus for testing a memory | |
US20170103797A1 (en) | Calibration method and device for dynamic random access memory | |
CN115080469A (zh) | 一种存储器传输时延校准方法及装置 | |
CN108664362B (zh) | 内存镜像的处理方法、内存控制器及用户设备 | |
US11176988B2 (en) | Control method for memory and non-transitory computer-readable media | |
CN111710354B (zh) | 一种ddr3的cmd延时补偿方法、装置、设备及介质 | |
KR102306585B1 (ko) | 거래 식별 | |
US20030182611A1 (en) | Method for verifying error correction code function of a computer system | |
US20080270834A1 (en) | Control method for read operation of memory | |
US11955989B2 (en) | Memory device and test method thereof | |
US20230307078A1 (en) | Method and device for checking data, electronic device, and storage medium | |
CN115934441A (zh) | Psram时序校准系统、方法、电子设备及存储介质 | |
US11545200B1 (en) | Data control circuit for increasing maximum and minimum tolerance values of skew between DQS signal and clock signal during write operation and associated memory device | |
US10599364B2 (en) | Command processing method and storage controller |
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 |