存储器的校验管脚处理方法、装置、设备和存储介质与流程

文档序号:31656625发布日期:2022-09-27 22:23阅读:257来源:国知局
存储器的校验管脚处理方法、装置、设备和存储介质与流程

1.本技术涉及计算机技术领域,特别是涉及一种存储器的校验管脚处理方法、装置、设备和存储介质。


背景技术:

2.高带宽存储器(high bandwidth memory,hbm)是一种高速高带宽的新型内存存储器,主要应用于人工智能芯片的领域。hbm的读数据信号的传输线路容易受到芯片工艺、工作电压、环境温度以及信号间串扰的影响而发生故障,导致所传输的读数据信号出现错误,因此需要对读数据信号是否发送错误进行检测。
3.传统的检测方法主要将读数据信号与读数据信号的奇偶校验par(parity check,奇偶校验)信号、读数据信号的采样脉冲信号一起传输,以便接收方基于采样脉冲信号采样奇偶校验信号得到校验信息,进而基于校验信息来校验读数据信号是否传输错误。
4.然而奇偶校验信号也会受到芯片工艺、工作电压、环境温度以及信号间串扰的影响,使得奇偶校验信号和采样脉冲信号出现偏移,接收方在基于采样脉冲信号采样奇偶校验信号时采样错误导致得到错误的校验信息,进而导致对数据信号的校验结果错误的情况。


技术实现要素:

5.基于此,有必要针对上述技术问题,提供一种能够提高对奇偶校验信号采样正确率的存储器的校验管脚处理方法、装置、设备和存储介质。
6.第一方面,本技术提供了一种存储器的校验管脚处理方法。所述方法包括:
7.向目标存储器发送第一数据读取指令;
8.接收所述目标存储器中各校验管脚返回的第一数据信号和采样脉冲信号;
9.通过延时电路分别对各所述第一数据信号进行时移,以使时移后各所述第一数据信号中的目标电平值与所述采样脉冲信号对齐,得到第一时延参数;
10.当接收到所述目标存储器中各所述校验管脚返回的第二数据信号时,通过所述延时电路分别对各所述第二数据信号中目标数据信号进行时移,以使时移后各所述第二数据信号中的目标电平值对齐,得到第二时延参数;
11.基于所述第一时延参数和所述第二时延参数,确定所述校验管脚的采样时延参数。
12.第二方面,本技术还提供了一种存储器的校验管脚处理装置。所述装置包括:
13.指令发送模块,用于向目标存储器发送第一数据读取指令;
14.信号接收模块,用于接收所述目标存储器中各校验管脚返回的第一数据信号和采样脉冲信号;
15.信号时移模块,用于通过延时电路分别对各所述第一数据信号进行时移,以使时移后各所述第一数据信号中的目标电平值与所述采样脉冲信号对齐,得到第一时延参数;
当接收到所述目标存储器中各所述校验管脚返回的第二数据信号时,通过所述延时电路分别对各所述第二数据信号中目标数据信号进行时移,以使时移后各所述第二数据信号中的目标电平值对齐,得到第二时延参数;
16.时延确定模块,基于所述第一时延参数和所述第二时延参数,确定所述校验管脚的采样时延参数。
17.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
18.向目标存储器发送第一数据读取指令;
19.接收所述目标存储器中各校验管脚返回的第一数据信号和采样脉冲信号;
20.通过延时电路分别对各所述第一数据信号进行时移,以使时移后各所述第一数据信号中的目标电平值与所述采样脉冲信号对齐,得到第一时延参数;
21.当接收到所述目标存储器中各所述校验管脚返回的第二数据信号时,通过所述延时电路分别对各所述第二数据信号中目标数据信号进行时移,以使时移后各所述第二数据信号中的目标电平值对齐,得到第二时延参数;
22.基于所述第一时延参数和所述第二时延参数,确定所述校验管脚的采样时延参数。
23.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
24.向目标存储器发送第一数据读取指令;
25.接收所述目标存储器中各校验管脚返回的第一数据信号和采样脉冲信号;
26.通过延时电路分别对各所述第一数据信号进行时移,以使时移后各所述第一数据信号中的目标电平值与所述采样脉冲信号对齐,得到第一时延参数;
27.当接收到所述目标存储器中各所述校验管脚返回的第二数据信号时,通过所述延时电路分别对各所述第二数据信号中目标数据信号进行时移,以使时移后各所述第二数据信号中的目标电平值对齐,得到第二时延参数;
28.基于所述第一时延参数和所述第二时延参数,确定所述校验管脚的采样时延参数。
29.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
30.向目标存储器发送第一数据读取指令;
31.接收所述目标存储器中各校验管脚返回的第一数据信号和采样脉冲信号;
32.通过延时电路分别对各所述第一数据信号进行时移,以使时移后各所述第一数据信号中的目标电平值与所述采样脉冲信号对齐,得到第一时延参数;
33.当接收到所述目标存储器中各所述校验管脚返回的第二数据信号时,通过所述延时电路分别对各所述第二数据信号中目标数据信号进行时移,以使时移后各所述第二数据信号中的目标电平值对齐,得到第二时延参数;
34.基于所述第一时延参数和所述第二时延参数,确定所述校验管脚的采样时延参数。
35.上述存储器的校验管脚处理方法、装置、计算机设备、存储介质和计算机程序产
品,通过向目标存储器发送第一数据读取指令;接收目标存储器中各校验管脚返回的第一数据信号和采样脉冲信号;通过延时电路分别对各第一数据信号进行时移,以使时移后各第一数据信号中的目标电平值与采样脉冲信号对齐,得到第一时延参数;当接收到目标存储器中各校验管脚返回的第二数据信号时,通过延时电路分别对各第二数据信号中目标数据信号进行时移,以使时移后各第二数据信号中的目标电平值对齐,得到第二时延参数;基于第一时延参数和第二时延参数,确定校验管脚的采样时延参数,从而在后续接收到各校验管脚返回的数据信号后,也即收到奇偶校验信号后,可以按照所确定的采样时延参数对奇偶校验信号进行时移,以使时移后的奇偶校验信号与采样脉冲信号对齐,确保了基于采样脉冲信号采样奇偶校验信号时的正确性。
附图说明
36.图1为一个实施例中存储器的校验管脚处理方法的应用环境图;
37.图2为一个实施例中读指令的示意图;
38.图3为一个实施例中读数据的示意图;
39.图4为另一个实施例中读数据的示意图;
40.图5另一个实施例中读数据的示意图;
41.图6另一个实施例中读数据的示意图;
42.图7为一个实施例中数据信号和采样脉冲信号示意图;
43.图8为一个实施例中存储器的校验管脚处理方法的流程示意图;
44.图9为一个实施例中模式寄存器位mr7的功能示意图;
45.图10为一个实施例中misr电路示意图;
46.图11为一个实施例中模式寄存器位mr0的功能示意图;
47.图12为一个实施例中读数据结构示意图;
48.图13为一个实施例中延时电路的示意图;
49.图14为另一个实施例中延时电路的示意图;
50.图15为一个实施例中数信号时移效果示意图;
51.图16为另一个实施例中数信号时移效果示意图;
52.图17为一个实施例中存储器的校验管脚处理系统的架构图;
53.图18为一个实施例中存储器的校验管脚处理装置的结构框图;
54.图19为另一个实施例中存储器的校验管脚处理装置的结构框图;
55.图20为一个实施例中计算机设备的内部结构图;
56.图21为另一个实施例中计算机设备的内部结构图。
具体实施方式
57.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
58.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理
论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
59.随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的人工智能芯片(artificial intelligence,ai)、智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
60.本技术实施例提供的存储器的校验管脚处理方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。该存储器的校验管脚处理方法可由终端102或服务器104执行,或者由终端102和服务器104协同执行。在一些实施例中,终端102和服务器104上设置有存储器控制器,该存储器的校验管脚处理方法具体可以由存储器控制器来执行。若存储器的校验管脚处理方法由终端102执行,该终端102通过向目标存储器发送第一数据读取指令;接收目标存储器中各校验管脚返回的第一数据信号和采样脉冲信号;通过延时电路分别对各第一数据信号进行时移,以使时移后各第一数据信号中的目标电平值与采样脉冲信号对齐,得到第一时延参数;当接收到目标存储器中各校验管脚返回的第二数据信号时,通过延时电路分别对各第二数据信号中目标数据信号进行时移,以使时移后各第二数据信号中的目标电平值对齐,得到第二时延参数;基于第一时延参数和第二时延参数,确定校验管脚的采样时延参数。
61.其中,终端102可以是集成了ai芯片的智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能语音交互设备、智能家电和车载终端等,但并不局限于此。该ai芯片可以是组合ai处理器和存储器(如高带宽存储器)的芯片。该存储器可以包括数据存储区和控制器,或者控制器可以以独立形式存在,并对该存储器进行控制。
62.服务器104可以是集成了ai芯片的独立的物理服务器,或是区块链系统中的服务节点,该区块链系统中的各服务节点之间形成组成点对点(p2p,peer to peer)网络,p2p协议是一个运行在传输控制协议(tcp,transmission control protocol)协议之上的应用层协议。
63.此外,服务器104还可以是集成了ai芯片的多个物理服务器构成的服务器集群,可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
64.终端102与服务器104之间可以通过蓝牙、usb(universal serial bus,通用串行总线)或者网络等通讯连接方式进行连接,本技术在此不做限制。
65.在对本技术实施例提供的存储器的校验管脚处理方法进行说明之前,先对传统方案中存储器数据读取过程进行说明。
66.传统方案中,计算机设备向目标存储器发送一次突发数据读取指令后,目标存储器基于所接收的读指令读取读数据,并将读数据返回给计算机设备,如图2所示为传统方案中发送的一次read(读)指令的示意图,其中突发产长度可以是2或4,图3为基于该read(读)指令所返回的读数据(dq)的示意图,图中包含的相关时序参数如下所示:tdqsck(min/max)是指rdqs_c上升沿(或rdqs_t下降沿)与ck_c上升沿(或ck_t下降沿)之间最小和最大的时
间范围;tdqsck描述了rdqs上升沿与ck上升沿之间的时间延迟;tqsh:描述了rdqs信号持续为高电平的时间延迟;tqsl描述了rdqs信号持续为低电平的时间延迟;tlz(min/max)描述了读数据持续高阻态到低阻抗状态的最小和最大的时间范围;thz(min/max)描述了读数据持续低阻抗状态到高阻态的最小和最大的时间范围;tdqsq描述了rdqs_t上升沿(或rdqs_c下降沿)到读出dq、dm和dbi数据之间的时间延迟;tqh描述了rdqs_t上升沿(或rdqs_c下降沿)到读出dq、dm和dbi数据保持稳定的时间延迟;rdqs(read dq strobe)为读数据选取脉冲,也可以称为采样脉冲信号,dq为读数据总线,也可以称为读数据;dm(data mask)为数据掩码;dbi(data bus inversion)为数据总线翻转。其中,突发(burst)是指在目标存储器的同一行中相邻的存储单元连续进行数据传输的方式,连续传输的周期数就是突发长度(burst lengths,简称bl)。
67.需要说明的是,传统方案中,计算机设备向目标存储器发送一次突发数据读取指令后,目标存储器基于所接收的读指令除了将读数据返回给计算机设备之外,还会将读数据的奇偶校验数据一同返回给计算机设备,其中奇偶校验数据对应的奇偶校验信号,可以与读数据的读数据信号同时进行传输,也可以迟于读数据的读数据信号进行传输,通常用pl(parity latency,奇偶校验延迟)参数来描述奇偶校验信号相对于读数据信号的延迟周期数,pl参数具体可以配置为0至3个时钟周期,pl参数的配置由hbm的模式寄存器位mr4(mode register4)控制完成,具体如下表所示:
68.表1
[0069][0070]
举例对pl参数的作用进行说明,如图4所示,该图所对应的读bl(read burst length)=2,pl=0,rl(read latency)=7,则读数据信号会在t7时刻的时钟上升沿到达,由于pl=0,则奇偶校验信号同样会在t7时刻的时钟上升沿到达;参考图5,该图所对应的rl(read burst length)=2,pl=1,rl(read latency)=6,则读数据信号会在t6时刻的时钟上升沿到达,由于pl=1,则奇偶校验信号同样会在t7时刻的时钟上升沿到达。
[0071]
由以上说明可知,当计算机设备向目标存储器发送一次数据读取指令时,如图6所示,目标存储器会向计算机设备返回读数据信号(dq)、读数据信号的奇偶校验信号(par)和相应的采样脉冲信号(raqs),计算机设备通过采用rdqs作为采样信号,对读数据信号和奇偶校验信号进行采样,从而得到读数据和奇偶校验数据,因此只有在采样脉冲信号与奇偶校验信号的眼图中心对齐时,采样的准确率是最高的。其中,act为一次行激活指令,pre为一次预充电指令。
[0072]
以下对采样准确率进行举例说明,如图7所示,图中使用clk采样data,在hbm读校验数据场景中,clk为hbm dram返回的rdqs信号,data包含了hbm dram返回的par数据,在图
7a中,clk的上升沿(即采样沿)位于data的数据中心位置,此时,采样的准确率最高;在图7b和图7c中,出现了data的数据中心位置和clk的上升沿未对齐的情况,图7b中clk的上升沿漂移出data的数据窗口;在图7c中,clk的上升沿虽然未漂移出data的数据窗口,但是由于采样沿和数据的建立(或撤销)边沿距离过近,导致本次采样出现setup timing(或hold timing)的时序违例,图7b和图7c所示的这两种情况均会导致读数据的采样错误。
[0073]
在一个实施例中,如图8所示,提供了一种存储器的校验管脚处理方法,以该方法应用于图1中的计算机设备(终端或服务器)为例进行说明,包括以下步骤:
[0074]
s802,向目标存储器发送第一数据读取指令。
[0075]
其中,目标存储器可以是高带宽内存(high bandwidth memory,hbm);具体可以是hbm dram(dynamic random access memory,动态的随机存取存储器)。第一数据读取指令用于从目标存储器中读取数据。
[0076]
需要说明的是,本技术实施例中,向目标存储器发送一个第一数据读取指令,即为向目标存储器发起一次读操作,本技术实施例中的读操作一般为突发读操作,突发(burst)是指在目标存储器的同一行中相邻的存储单元连续进行数据传输的方式,连续传输的周期数就是突发长度(burst lengths,简称bl)。
[0077]
具体的,计算机设备生成第一数据读取指令,并将第一数据读取指令发送至处于目标模式下的目标存储器,目标模式下的目标存储器基于所接收的数据读取指令,从目标寄存器的寄存器单元中读取出读数据。图2为本技术实施例中第一数据读取指令的示意图。
[0078]
其中,目标模式为存储器的操作模式中的一种,存储器的操作模式具体可以通过模式寄存器来进行设置,模式寄存器用于定义hbm的特定操作模式。该定义包括突发长度、突发类型、cas延迟、操作模式和写突发模式的选择。本技术实施例中的操作模式具体通过模式寄存器位mr7来进行设置。具体可参考图9所示的模式寄存器位mr7的功能描述信息。
[0079]
在一个实施例中,计算机设备在将目标存储器发送第一数据读取指令之前,还需要对目标存储器的操作模式进行配置,对目标存储器的操作模式进行配置的过程具体包括以下步骤:向目标存储器发送操作模式配置指令,以使目标存储器基于操作模式配置指令配置操作模式为目标模式;当目标存储器处于目标模式时,向处于目标模式的目标存储器发送第一数据读取指令。
[0080]
其中,目标模式为数据字(data word,dword)读线性反馈移位寄存器(linear feedback shift register,lfsr)模式。
[0081]
具体的,计算机设备在将目标存储器配置为数据字读线性反馈移位寄存器(dword lfsr)模式之后,向处于数据字读线性反馈移位寄存器模式的目标存储器发送第一数据读取指令,处于数据字读线性反馈移位寄存器模式的目标存储器可以基于接收到的第一数据读取指令读取读数据,并将读数据存储到目标存储器的寄存器单元,以使计算机设备可以获取寄存器单元中所存储的读数据。
[0082]
上述实施例中,计算机设备通过向目标存储器发送操作模式配置指令,以使目标存储器基于操作模式配置指令配置操作模式为目标模式,使得处于目标模式的存储器可以通过各校验管脚返回第一数据信号和采样脉冲信号,以便进一步确定校验管脚的采样时延参数。
[0083]
在一个实施例中,目标寄存器基于操作模式配置指令配置操作模式为目标模式的
过程包括以下步骤:对目标存储器的读指令处理电路进行初始化;基于操作模式配置指令,配置读指令处理电路的操作模式为目标模式。
[0084]
其中,操作模式配置指令包含8个比特数据位,通过改变不同比特数据位的值生成不同的指令。指令处理电路可以是多输入移位寄存器(misr)电路。
[0085]
需要说明的是多输入移位寄存器(misr)电路可以包括彼此交替地串联耦接的多个触发器与多个输入选择器,多个输入选择器可以分别对应于多个触发器。如图10所示,为一个实施例中的misr电路示意图,该图中示出了4个触发器与4个输入选择器以储存并输出4个比特数据位,参考图10,当输入控制信号m0和m1均为1时,即当输入控制信号m0和m1均以逻辑高电平输入时,misr电路对应于多输入移位寄存器模式(misr mode),即misr电路可以执行多输入移位寄存器的功能;当输入控制信号m0位为0、m1为1时,即输入控制信号m0以逻辑低电平输入、m1以逻辑高电平输入时,misr电路对应于简单的寄存器模式(register mode),即misr电路可以执行简单的寄存器(register)功能;当输入控制信号m0位为1、m1为0时,即输入控制信号m0以逻辑高电平输入、m1以逻辑低电平输入时,misr电路对应于线性反馈移位寄存器模式(lfsr mode),即misr电路可以执行线性反馈移位寄存器(lfsr)功能。
[0086]
可以理解的是,当指令处理电路支持20个比特数据位时,对应的misr电路可包含20个触发器与20个输入选择器以储存并输出20个比特数据位,该20位的misr电路可以用以下多项式从数学上进行描述:
[0087]
f(x)=x
20
+x
17
+1
[0088]
当指令处理电路支持4个比特数据位时,对应的misr电路可包含4个触发器与4个输入选择器以储存并输出4个比特数据位,该4位的misr电路可以用以下多项式从数学上进行描述:
[0089]
f(x)=x4+x3+1
[0090]
具体的,计算机设备生成初始化指令,并将初始化指令发送至目标存储器,目标存储器在接收到初始化指令后,基于初始化指令对读指令处理电路进行初始化,之后计算机设备向目标存储器发送操作模式配置指令,初始化后的目标存储器基于操作模式配置指令,配置目标存储器的读指令处理电路的操作模式为目标模式。
[0091]
例如,hbm配置dword misr电路为dword读lfsr模式,具体通过配置hbm的模式寄存器mr7来完成,配置hbm为dword读lfsr模式的步骤具体为:首先配置mr7的指令值为8’b00000001,参考图9其中op0为1,表示使能dword loopback模式,op[5:3]为3’b000,表示将dword寄存器中的默认值复位为0xaaaaah,其余位均为默认值,从而基于该mr7的指令对读指令处理电路进行初始化;然后配置mr7的指令值为8’b00001011,其中op0为1,表示使能dword loopback模式,op[2:1]为2’b01,表示读取misr寄存器中的值,由于初始化过程中对该值做了复位,因此读取出的该值为0xaaaaah;op[5:3]为3’b001,将dword寄存器配置为读lfsr模式,其余位均为默认值,从而基于该mr7的指令对配置目标存储器的读指令处理电路的操作模式为dword读lfsr模式。
[0092]
上述实施例中,通过对目标存储器的读指令处理电路进行初始化;基于操作模式配置指令,配置读指令处理电路的操作模式为目标模式,使得处于目标模式的目标存储器可以通过各校验管脚返回第一数据信号和采样脉冲信号,以便进一步确定校验管脚的采样时延参数。
[0093]
s804,接收目标存储器中各校验管脚返回的第一数据信号和采样脉冲信号。
[0094]
其中,第一数据信号是基于读数据中的目标数据位而生成的,读数据是目标存储器基于第一数据读取指令从目标存储器的寄存器中所读取出的数据。
[0095]
需要说明的是,目标存储器所处的操作模式为目标模式,目标模式下各校验管脚所输出的数据不再表示读数据的校验数据,而是将各管脚距离较近的读数据中的目标数据位的值返回至相应校验管脚内。
[0096]
具体的,目标存储器在接收到第一数据读取指令,基于第一数据读取指令执行读操作得到读数据,并将读数据中的目标数据位的值返回给对应的校验管脚,通过校验管脚将目标数据位的值作为第一数据信号进行输出。
[0097]
例如,hbm dram的单通道的读数据以及奇偶校验管脚包含以下相关接口:
[0098]
表2
[0099]
功能数据位宽功能描述dq128位hbm dram读数据总线dbi16位data bus inversion,数据总线翻转par4位读parity校验数据
[0100]
例如,需要说明的是,在dword读lfsr模式下,校验管脚返回的数据不再真正的表示读数据的校验数据的内容,同时也不会受到mr0中dq总线读奇偶校验相应设置的影响。其中模式寄存器位mr0的功能描述信息如图11所示。在dword读lfsr模式下,hbm dram将会将各校验管脚距离较近的读数据(dq)中的目标数据位返回至相应校验管脚内。如下表所示为各个校验(par)管脚所实际对应返回的读数据的数据位:
[0101]
表3
[0102]
par管脚位相关的dq数据位par[0]dq[2]par[1]dq[34]par[2]dq[66]par[3]dq[98]
[0103]
在读lfsr模式下,par[0]不再表示dq[31:0]这32位数据的奇偶校验数据,而仅仅是将dq[2]的值返回至par[0]。同理,将dq[34]的值返回至par[1],将dq[66]的值返回至par[2],将dq[98]的值返回至par[3]。同时,pl的配置内容也不再起作用,par与dq将会同时到达,即pl=0时的返回延迟。
[0104]
参考图12所示的读数据结构示意图,本技术实施例中一个完整的数据字(dword)可分为dword0、dword1、dword2和dword3四组,其中每个dword又分为byte0、byte1、byte2和byte3共4个数据单元,也就是说128位的读数据(dq)分布在16个byte中,每个byte中包含8bit的dq,如图12所示,每个byte中从第19bit到第0bit分别为dbi的下降沿数据字和dbi的上升沿数据字、8bit dq中每个bit的下降沿数据字和上升沿数据字、dm的下降沿数据字和dbi的上升沿数据字,也就是说,每个byte包含20bit的数值,当dword寄存器被复位后,该值将变为0xaaaaah,因此,各校验管脚的初始值如下表所示:
[0105]
表4
[0106]
par管脚位相关的dq数据位par初始数值par[0]dq[2]1’b0par[1]dq[34]1’b0par[2]dq[66]1’b0par[3]dq[98]1’b0
[0107]
可以理解的是,校验管脚的数量与第一数据信号的数量是相同的,例如当校验管脚为4个时,对应的第一数据信号相应也有4个,例如校验管脚分别为par[0]、par[1]、par[2]和par[3]时,读数据为data1、data2、data3、data4,由par[0]所返回的第一数据信号则是分别基于data1、data2、data3、data4中的dq[2]数据位的值所生成的,由par[1]所返回的第一数据信号则是分别基于data1、data2、data3、data4中的dq[34]数据位的值所生成的,由par[2]所返回的第一数据信号则是分别基于data1、data2、data3、data4中的dq[66]数据位的值所生成的,由par[3]所返回的第一数据信号则是分别基于data1、data2、data3、data4的dq[98]数据位的值所生成的。
[0108]
s806,通过延时电路分别对各第一数据信号进行时移,以使时移后各第一数据信号中的目标电平值与采样脉冲信号对齐,得到第一时延参数。
[0109]
其中,每个校验管脚分别对应有相应的延时电路,延时电路用于对相应校验管脚所返回的数据信号进行时移,时移是指对数据信号在时间上进行移动,具体可以通过调整每个数据信号对应传输路径上的时间延迟来对数据信号进行时移。时移的方向具体包括第一方向和第二方向,其中第一方向是指时间推迟的方向,第二方向是指时间提前的方向。
[0110]
目标电平值是可以是第一数据信号的第一个高电平,目标电平值与采样脉冲信号对齐是指第一数据信号的第一个高电平和采样脉冲信号的上升沿对齐。第一数据信号的第一个高电平和采样脉冲信号的上升沿对齐具体可以是第一数据信号的第一个高电平的上升沿和采样脉冲信号的上升沿对齐、第一数据信号的第一个高电平的下降沿和采样脉冲信号的上升沿对齐和第一数据信号的第一个高电平的眼图中心和采样脉冲信号的上升沿对齐中的至少一种。
[0111]
第一延时参数是使得时移后第一数据信号中的第一个高电平的眼图中心与采样脉冲信号对齐的延时时间,也就是说,当对第一数据信号按照该第一延时参数进行时移时,时移后的第一数据信号中的第一个高电平的眼图中心与采样脉冲信号的上升沿对齐。
[0112]
参考图7,假设图7c中的data为某个校验管脚接收到的第一数据信号,该第一数据信号的第一个高电平的眼图中心在采样脉冲信号(clk)上升沿的左侧,则通过该校验管脚所对应的延时电路,按照第一时延参数将第一数据信号在第一方向上进行时移,从而可以达到图7a所示的时移后的第一数据信号的第一个高电平的眼图中心与采样脉冲信号(clk)上升沿对齐。
[0113]
如图13所示,为一个实施例中延时电路的示意图,其中每个校验管脚所对应的延时电路均包含多个延时元件(delay element,de),每个延时元件包含了4个反相器(inverter)电路,每个de后均包含了抽头接口,如图14所示,通过步进计数器(step counter)可以控制数据信号从某一个抽头出口中接出,从而达到对数据信号进行时移的目的,其中相邻的两个抽头出口之间的时间差为1个时移步长。例如,初始状态下某个校验管脚的第一数据信号从延时电路的第i个抽头出口中接出,也就是说在默认状态下计算机设
备从延时电路的第i个抽头出口接收第一数据信号,当需要对第一数据信号进行第一方向的时移时,可以从第i+1以后的抽头出口接收第一数据信号,从而达到对第一数据信号进行第一方向时移的目的;当需要对第一数据信号进行第二方向的时移时,可以从第i-1以后的抽头出口接收第一数据信号,从而达到对第一数据信号进行第二方向时移的目的。
[0114]
在一个实施例中,s806具体包括以下步骤:通过延时电路分别对各第一数据信号沿第一方向进行时移,以使时移后各第一数据信号中目标电平值的上升沿与采样脉冲信号的上升沿对齐,得到第一时移参数;通过延时电路分别对各第一数据信号沿第二方向进行时移,以使时移后各第一数据信号中目标电平值的下降沿与采样脉冲信号的上升沿对齐,得到第二时移参数;第一方向与第二方向是相反的方向;基于第一时移参数和第二时移参数,确定各校验管脚对应的第一时延参数。
[0115]
关于对各第一数据信号沿第一方向进行时移,具体过程如下,计算机设备在得到第一数据信号之后,设置各个校验管脚相应的时移长度,并返回执行向目标存储器发送第一数据读取指令的步骤,在接收到各校验管脚重新返回的第一数据信号之后,按照所设置的时移长度对第一数据信号进行时移,并判断时移后第一数据信号中的目标电平值的上升沿是否与采样脉冲信号对齐,若各个校验管脚对应的第一数据信号中的目标电平值的上升沿与采样脉冲信号对齐,则将所设置的各个校验管脚相应的时移长度和第一方向,确定为各个管脚所对应的第一时移参数;若各个校验管脚中至少一个校验管脚,对应的第一数据信号中的目标电平值的上升沿与采样脉冲信号未对齐,则重新设置该至少校验管脚相应的时移长度,并返回执行向目标存储器发送第一数据读取指令的步骤,直至各个校验管脚对应的第一数据信号中的目标电平值的上升沿与采样脉冲信号对齐,并将对齐时各个校验管脚所对应的时移长度和第一方向,确定为相应校验管脚的第一时移参数。
[0116]
以其中一个校验管脚进行举例说明,参考图15,其中phase 0对应的数据信号为计算机设备通过延时电路的第i个(初始默认的)抽头出口所接收到的第一数据信号,也就是说phase 0对应的数据信号为未进行时移的第一数据信号,计算机设备在接收到该第一数据信号之后,通过图14所示的延时电路,设置该校验管脚时移方向为第一方向,时移长度为n个时移步长,也就是说将通过第i+n个抽头出口接收第一数据信号,其中n是指时移的次数,并返回执行向目标存储器发送第一数据读取指令的步骤,在接收到各校验管脚重新返回的第一数据信号之后,通过第i+n个抽头出口接收第一数据信号,得到时移后第一数据信号,并判断该时移后第一数据信号的目标电平值的上升沿与采样脉冲信号对齐,并将对齐时该校验管脚所对应的时移长度和第一方向,确定为该校验管脚的第一时移参数,如图15所示,phase 1对应的数据信号为经过若干次的时移,所得到的时移后第一数据信号。
[0117]
关于对各第一数据信号沿第二方向进行时移,具体过程如下,计算机设备在得到第一数据信号之后,设置各个校验管脚相应的时移长度,并返回执行向目标存储器发送第一数据读取指令的步骤,在接收到各校验管脚重新返回的第一数据信号之后,按照所设置的时移长度对第一数据信号进行时移,并判断时移后第一数据信号中的目标电平值的下降沿是否与采样脉冲信号对齐,若各个校验管脚对应的第一数据信号中的目标电平值的下降沿与采样脉冲信号对齐,则将所设置的各个校验管脚相应的时移长度和第二方向,确定为各个管脚所对应的第二时移参数;若各个校验管脚中至少一个校验管脚,对应的第一数据信号中的目标电平值的下降沿与采样脉冲信号未对齐,则重新设置该至少校验管脚相应的
时移长度,并返回执行向目标存储器发送第一数据读取指令的步骤,直至各个校验管脚对应的第一数据信号中的目标电平值的下降沿与采样脉冲信号对齐,并将对齐时各个校验管脚所对应的时移长度和第二方向,确定为相应校验管脚的第二时移参数。
[0118]
以其中一个校验管脚进行举例说明,参考图15,其中phase 0对应的数据信号为计算机设备通过延时电路的第i个(初始默认的)抽头出口所接收到的第一数据信号,也就是说phase 0对应的数据信号为未进行时移的第一数据信号,计算机设备在接收到该第一数据信号之后,通过图14所示的延时电路,设置该校验管脚时移方向为第二方向,时移长度为n个时移步长,也就是说将通过第i-n个抽头出口接收第一数据信号,其中n是指时移的次数,并返回执行向目标存储器发送第一数据读取指令的步骤,在接收到各校验管脚重新返回的第一数据信号之后,通过第i-n个抽头出口接收第一数据信号,得到时移后第一数据信号,并判断该时移后第一数据信号的目标电平值的下降沿与采样脉冲信号对齐,并将对齐时该校验管脚所对应的时移长度,确定为该校验管脚的第二时移参数,如图15所示,phase 2对应的数据信号为经过若干次的时移,所得到的时移后第一数据信号。
[0119]
在一个实施例中,计算机设备在得到任一校验管脚的第一时移参数和第二时移参数之后,将该第一时移参数和第二时移参数输入以下公式,从而确定出该校验管脚的第一时延参数:
[0120][0121]
其中,v
cnt
表示第一时延参数,r
cnt
表示第一时移参数,l
cnt
表示第二时移参数。
[0122]
上述实施例中,计算机设备通过延时电路分别对各第一数据信号沿第一方向进行时移,以使时移后各第一数据信号中目标电平值的上升沿与采样脉冲信号的上升沿对齐,得到第一时移参数;通过延时电路分别对各第一数据信号沿第二方向进行时移,以使时移后各第一数据信号中目标电平值的下降沿与采样脉冲信号的上升沿对齐,得到第二时移参数;第一方向与第二方向是相反的方向;基于第一时移参数和第二时移参数,确定各校验管脚对应的第一时延参数,从而在后续接收到各校验管脚返回的数据信号后,也即收到奇偶校验信号后,可以按照所确定的第一时延参数对奇偶校验信号进行时移,以使时移后的奇偶校验信号与采样脉冲信号的上升沿对齐,以进一步确定第二时延参数。
[0123]
s808,当接收到目标存储器中各校验管脚返回的第二数据信号时,通过延时电路分别对各第二数据信号中目标数据信号进行时移,以使时移后各第二数据信号中的目标电平值对齐,得到第二时延参数。
[0124]
在一个实施例中,计算机设备在通过延时电路分别对各第一数据信号进行时移,以使时移后各第一数据信号中的目标电平值与采样脉冲信号对齐之后,还可以向目标存储器发送第二数据读取指令;接收目标存储器中各校验管脚返回的第二数据信号和采样脉冲信号。
[0125]
其中,第二数据读取指令可以与第一数据读取指令相同,也可以与第二数据读取指令不同。第二数据信号是基于读数据中的目标数据位而生成的,读数据是目标存储器基于第二数据读取指令从目标存储器的寄存器中所读取出的数据。
[0126]
需要说明的是,目标存储器所处的操作模式为目标模式,目标模式下各校验管脚所输出的数据不再表示读数据的校验数据,而是将各管脚距离较近的读数据中的目标数据
位的值返回至相应校验管脚内。
[0127]
具体的,目标存储器在接收到第二数据读取指令,基于第二数据读取指令执行读操作得到读数据,并将读数据中的目标数据位的值返回给对应的校验管脚,通过校验管脚将目标数据位的值作为第二数据信号进行输出。
[0128]
在一个实施例中,计算机设备在得到第二数据信号之后,还可以按照采样脉冲信号采样基于第一时延参数进行时移后的第二数据信号,得到第四采样数据,计算机设备通过延时电路分别对第二数据信号中目标数据信号进行时移,以使时移后各第二数据信号中的目标电平值对齐,得到第二时延参数的过程具体包括以下步骤:若各第四采样数据中的目标采样数据的目标数据位,与其他第四采样数据的目标数据位不相同,确定第二数据信号中目标数据信号与其他第二数据信号中的目标电平值未对齐;通过延时电路分别对第二数据信号中目标数据信号进行时移,以使时移后各第二数据信号中的目标电平值对齐,得到第二时延参数。
[0129]
具体的,计算机设备在得到第二数据信号之后,通过延时电路对第二数据信号按照第一时延参数进行初始时移,得到初始时移后第二数据信号,并按照采样脉冲信号对初始时移后第二数据信号进行采样,得到第四采样数据,并查找各第四采样数据中目标数据位与其他第四采样数据的目标数据位不相同的目标采样数据,确定目标采样数据所对应的初始时移后第二数据信号与其他初始数据信号中的第二数据信号未对齐,通过延时电路对初始时移后第二数据信号中的目标数据信号进行修正时移,以使时移后各第二数据信号中的目标电平值对齐;将目标数据信号在修正时移过程中的时移长度确定为第二时延参数。
[0130]
需要说明的是,计算机设备对通过延时电路对各校验管脚对应的第二数据信号按照第一时延参数进行初始时移后,所得到的初始时移后第二数据信号的目标电平值的眼图中心与采样脉冲信号的上升沿对应,但是所对应的采样脉冲信号的上升沿可以是同一个时钟周期内的上升沿,也可以是不同周期内的上升沿,如图16a所示,为par[0]至par[3]四个par管脚分别所对应的第二数据信号,按照各par管脚分别所对应的第一时延参数对第二数据信号进行初始时移后,得到图16b所示的结果,从图16b可以看出,par[0]、par[1]和par[3]的初始时移后第二数据信号的目标电平值的眼图中心与第2个时钟周期的上升沿对齐,par[2]的初始时移后第二数据信号的目标电平值的眼图中心与第3个时钟周期的上升沿对齐,对各个par[0]、par[1]和par[3]的初始时移后第二数据信号进行采样得到第四采样数据后,par[0]、par[1]和par[3]的目标数据位均为第1bit位,par[2]的第四采样数据的目标数据位为第2bit,则确定par[2]的第四采样数据为目标采样数据,确定par[2]的第四采样数据所对应的初始时移后第二数据信号为目标第二数据信号,则通过延时电路对par[2]的初始时移后第二数据信号进行修正时移,直至所得到的par[2]的修正时移后第二数据信号中的目标电平值,与par[0]、par[1]和par[3]的初始时移后第二数据信号的目标电平值对齐(如图16c所示),并将对齐时par[2]的修正时移后第二数据信号所对应的修正时移的时移长度和方向确定为par[2]的第二时延参数。而对于未进行修正时移的par[0]、par[1]和par[3]可以将其第二时延参数确定为0。
[0131]
在一个实施例中,计算机设备在得到第二数据信号之后,通过延时电路对第二数据信号按照第一时延参数进行初始时移,得到初始时移后第二数据信号,并按照采样脉冲信号对初始时移后第二数据信号进行采样,得到第四采样数据,若各个第四采样数据的目
标数据位均相同,确定各第四采样数据所对应的初始时移后第二数据信号的目标电平值对齐,则确定各校验管脚所对应的第二时延参数为0。
[0132]
上述实施例中,计算机设备通过按照采样脉冲信号采样基于第一时延参数进行时移后的各第二数据信号,得到第四采样数据;并在第四采样数据中的目标采样数据的目标数据位,与其他第四采样数据的目标数据位不相同,确定第二数据信号中目标数据信号与其他第二数据信号中的目标电平值未对齐;通过延时电路分别对第二数据信号中目标数据信号进行时移,以使时移后各第二数据信号中的目标电平值对齐,得到第二时延参数,从而可以基于第二时延参数确定出各校验管脚的采样时延参数,从而在后续接收到各校验管脚返回的数据信号后,也即收到奇偶校验信号后,可以按照所确定的采样时延参数对奇偶校验信号进行时移,以使时移后的奇偶校验信号与采样脉冲信号对齐,确保了基于采样脉冲信号采样奇偶校验信号时的正确性。
[0133]
s810,基于第一时延参数和第二时延参数,确定校验管脚的采样时延参数。
[0134]
具体的,计算机设备在得到各校验管脚所对应的第一时延参数和第二时延参数之后,计算相应第一时延参数和第二时延参数的和值,并将所得到的和值确定为相应校验管脚的采样时延参数,从而在后续接收到各校验管脚返回的数据信号后,也即收到奇偶校验信号后,可以按照所确定的采样时延参数对奇偶校验信号进行时移,以使时移后的奇偶校验信号与采样脉冲信号对齐,确保了基于采样脉冲信号采样奇偶校验信号时的正确性。
[0135]
上述实施例中,计算机设备通过向目标存储器发送第一数据读取指令;接收目标存储器中各校验管脚返回的第一数据信号和采样脉冲信号;通过延时电路分别对各第一数据信号进行时移,以使时移后各第一数据信号中的目标电平值与采样脉冲信号对齐,得到第一时延参数;当接收到目标存储器中各校验管脚返回的第二数据信号时,通过延时电路分别对各第二数据信号中目标数据信号进行时移,以使时移后各第二数据信号中的目标电平值对齐,得到第二时延参数;基于第一时延参数和第二时延参数,确定校验管脚的采样时延参数,从而在后续接收到各校验管脚返回的数据信号后,也即收到奇偶校验信号后,可以按照所确定的采样时延参数对奇偶校验信号进行时移,以使时移后的奇偶校验信号与采样脉冲信号对齐,确保了基于采样脉冲信号采样奇偶校验信号时的正确性。
[0136]
在一个实施例中,计算机设备在得到第一数据信号之后,按照采样脉冲信号采样第一数据信号,得到第一采样数据,计算机设备通过延时电路分别对各第一数据信号沿第一方向进行时移,以使时移后各第一数据信号中目标电平值的上升沿与采样脉冲信号的上升沿对齐,得到第一时移参数的过程具体包括以下步骤:通过延时电路分别对各第一数据信号沿第一方向进行时移;按照采样脉冲信号对沿第一方向时移的第一数据信号进行采样,得到第二采样数据;当各第二采样数据中目标数据位的值,与第一采样数据中目标数据位所对应的目标值相同时,确定时移后各第一数据信号中目标电平值的上升沿与采样脉冲信号的上升沿对齐;将各第二采样数据对应的时移长度确定为第一时移参数。
[0137]
需要说明的是,计算机设备在得到第一数据信号之后,按照采样脉冲信号采样第一数据信号,得到第一采样数据,所得到的第一采样数据中第一数据信号的目标电平值所对应数据位的值应当为1,当时移后各第一数据信号中目标电平值的上升沿与采样脉冲信号的上升沿对齐时,也即当时移后各第一数据信号中第一个高电平的上升沿与采样脉冲信号的上升沿对齐时,基于采样脉冲信号对时移后第一数据信号进行采样所得到的对应比特
数据位的值应当为0,如图15所示,phase 0对应的数据信号为未进行时移的第一数据信号,按照采样脉冲信号采样该第一数据信号,所得到的第一采样数据中第1bit数据位的值应当为1;phase1对应的数据信号为进行时移后第一数据信号,按照采样脉冲信号采样该时移后第一数据信号,所得到的第一采样数据中第1bit数据位的值应当为0。
[0138]
基于此,本技术实施例中,将第一采样数据中第一数据信号的目标电平值所对应数据位确定为目标数据位,将第一采样数据中目标数据位所对应的目标值设定为0。
[0139]
具体的,计算机设备在得到各第一数据信号之后,在采样脉冲信号的上升沿采样第一数据信号,得到各第一采样数据,并返回执行向目标存储器发送第一数据读取指令的步骤,通过延时电路分别对各第一数据信号沿第一方向进行时移,得到各时移后第一数据信号,并在采样脉冲信号的上升沿采样各时移后第一数据信号,得到各第二采样数据,并判断各第二采样数据中的目标数据位的值与相应的第一采样数据中目标数据位所对应的目标值是否相同,当第二采样数据中的目标数据位的值,与相应的第一采样数据中目标数据位所对应的目标值相同时,确定时移后各第一数据信号中目标电平值的上升沿与采样脉冲信号的上升沿对齐,并将第二采样数据所对应的时移后第一数据信号的时移长度和第一方向确定为第一时移参数。
[0140]
例如,对某个校验管脚的第一数据信号采样所得到的第一采样数据中目标数据为第2bit数据位,该第2bit数据位的值为1,对应的目标值为0,则在对沿第一方向时移所得到的时移后第一数据信号进行采样得到第二采样数据后,获取该第二采样数据中第2bit数据位的值,若第二采样数据中第2bit数据位的值为0,则确定沿第一方向时移所得到的时移后第一数据信号的目标电平值的上升沿与采样脉冲信号的上升沿对齐,并将时移后第一数据信号沿第一方向时移的时移长度和第一方向确定为第一时移参数。
[0141]
上述实施例中,计算机设备通过按照采样脉冲信号采样第一数据信号,得到第一采样数据;通过延时电路分别对各第一数据信号沿第一方向进行时移;按照采样脉冲信号对沿第一方向时移的第一数据信号进行采样,得到第二采样数据;当各第二采样数据中目标数据位的值,与第一采样数据中目标数据位所对应的目标值相同时,确定时移后各第一数据信号中目标电平值的上升沿与采样脉冲信号的上升沿对齐;将各第二采样数据对应的时移长度确定为第一时移参数,进而可以基于第一时移参数,确定校验管脚的采样时延参数,从而在后续接收到各校验管脚返回的数据信号后,也即收到奇偶校验信号后,可以按照所确定的采样时延参数对奇偶校验信号进行时移,以使时移后的奇偶校验信号与采样脉冲信号对齐,确保了基于采样脉冲信号采样奇偶校验信号时的正确性。
[0142]
在一个实施例中,当存在目标数据位的值与第一采样数据中目标数据位所对应的目标值不相同的第二采样数据时,返回执行向目标存储器发送第一数据读取指令的步骤,直至所得的时移后各第一数据信号中目标电平值的上升沿与采样脉冲信号的上升沿对齐;将各第二采样数据对应的时移长度确定为第一时移参数。
[0143]
具体的,计算机设备在采样脉冲信号的上升沿采样各沿第一方向的时移后第一数据信号,得到各第二采样数据,并判断各第二采样数据中的目标数据位的值与相应的第一采样数据中目标数据位所对应的目标值是否相同,当至少一个第二采样数据中的目标数据位的值,与相应的第一采样数据中目标数据位所对应的目标值不相同时,确定该至少一个第二采样数据所对应的时移后各第一数据信号中目标电平值的上升沿与采样脉冲信号的
上升沿未对齐,返回执行向目标存储器发送第一数据读取指令的步骤,直至所得的时移后各第一数据信号中目标电平值的上升沿与采样脉冲信号的上升沿对齐,将对齐时各时移后各第一数据信号对应的时移长度和第一方向确定为第一时移参数。
[0144]
例如,对某个校验管脚的第一数据信号采样所得到的第一采样数据中目标数据为第2bit数据位,该第2bit数据位的值为1,对应的目标值为0,则在对沿第一方向时移所得到的时移后第一数据信号进行采样得到第二采样数据后,获取该第二采样数据中第2bit数据位的值,若第二采样数据中第2bit数据位的值为1,即第二采样数据中第2bit数据位的值1与目标值0不相同,则确定沿第一方向时移所得到的时移后第一数据信号的目标电平值的上升沿与采样脉冲信号的上升沿未对齐,返回执行向目标存储器发送第一数据读取指令的步骤,直至所得的时移后各第一数据信号中目标电平值的上升沿与采样脉冲信号的上升沿对齐,将对齐时各时移后各第一数据信号对应的时移长度和第一方向确定为第一时移参数。
[0145]
上述实施例中,计算机设备当存在目标数据位的值与第一采样数据中目标数据位所对应的目标值不相同的第二采样数据时,返回执行向目标存储器发送第一数据读取指令的步骤,直至所得的时移后各第一数据信号中目标电平值的上升沿与采样脉冲信号的上升沿对齐;将各第二采样数据对应的时移长度确定为第一时移参数,进而可以基于第一时移参数,确定校验管脚的采样时延参数,从而在后续接收到各校验管脚返回的数据信号后,也即收到奇偶校验信号后,可以按照所确定的采样时延参数对奇偶校验信号进行时移,以使时移后的奇偶校验信号与采样脉冲信号对齐,确保了基于采样脉冲信号采样奇偶校验信号时的正确性。
[0146]
在一个实施例中,计算机设备在得到第一数据信号之后,按照采样脉冲信号采样第一数据信号,得到第一采样数据,计算机设备通过所述延时电路分别对各所述第一数据信号沿第二方向进行时移,以使时移后各所述第一数据信号中目标电平值的下降沿与所述采样脉冲信号的上升沿对齐,得到第二时移参数的过程具体包括以下步骤:通过延时电路分别对各第一数据信号沿第二方向进行时移;按照采样脉冲信号对沿第二方向的第一数据信号进行采样,得到第三采样数据;当各第三采样数据中目标数据位的值,与第一采样数据中目标数据位所对应的目标值相同时,确定时移后各第一数据信号中目标电平值的下降沿与采样脉冲信号的上升沿对齐;将各第三采样数据对应的时移长度确定为第二时移参数。
[0147]
需要说明的是,计算机设备在得到第一数据信号之后,按照采样脉冲信号采样第一数据信号,得到第一采样数据,所得到的第一采样数据中第一数据信号的目标电平值所对应数据位的值应当为1,当时移后各第一数据信号中目标电平值的下降沿与采样脉冲信号的上升沿对齐时,也即当时移后各第一数据信号中第一个高电平下降沿与采样脉冲信号的上升沿对齐时,基于采样脉冲信号对时移后第一数据信号进行采样所得到的对应比特数据位的值应当为0,如图15所示,phase 0对应的数据信号为未进行时移的第一数据信号,按照采样脉冲信号采样该第一数据信号,所得到的第一采样数据中第1bit数据位的值应当为1;phase2对应的数据信号为进行时移后第一数据信号,按照采样脉冲信号采样该时移后第一数据信号,所得到的第一采样数据中第1bit数据位的值应当为0。
[0148]
基于此,本技术实施例中,将第一采样数据中第一数据信号的目标电平值所对应数据位确定为目标数据位,将第一采样数据中目标数据位所对应的目标值设定为0。
[0149]
具体的,计算机设备在得到各第一数据信号之后,在采样脉冲信号的上升沿采样第一数据信号,得到各第一采样数据,并返回执行向目标存储器发送第一数据读取指令的步骤,通过延时电路分别对各第一数据信号沿第二方向进行时移,得到各时移后第一数据信号,并在采样脉冲信号的上升沿采样各时移后第一数据信号,得到各第三采样数据,当第三采样数据中的目标数据位的值,与相应的第一采样数据中目标数据位所对应的目标值相同时,确定时移后各第一数据信号中目标电平值的上升沿与采样脉冲信号的上升沿对齐,并将第三采样数据所对应的时移后第一数据信号的时移长度和第二方向确定为第二时移参数。
[0150]
例如,对某个校验管脚的第一数据信号采样所得到的第一采样数据中目标数据为第2bit数据位,该第2bit数据位的值为1,对应的目标值为0,则在对沿第二方向时移所得到的时移后第一数据信号进行采样得到第三采样数据后,获取该第三采样数据中第2bit数据位的值,若第三采样数据中第2bit数据位的值为0,则确定沿第二方向时移所得到的时移后第一数据信号的目标电平值的下降沿与采样脉冲信号的上升沿对齐,并将时移后第一数据信号沿第二方向时移的时移长度和第二方向确定为第二时移参数。
[0151]
上述实施例中,计算机设备通过按照采样脉冲信号采样第一数据信号,得到第一采样数据;通过延时电路分别对各第一数据信号沿第二方向进行时移;按照采样脉冲信号对沿第二方向的第一数据信号进行采样,得到第三采样数据;当各第三采样数据中目标数据位的值,与第一采样数据中目标数据位所对应的目标值相同时,确定时移后各第一数据信号中目标电平值的下降沿与采样脉冲信号的上升沿对齐;将各第三采样数据对应的时移长度确定为第二时移参数,进而可以基于第二时移参数,确定校验管脚的采样时延参数,从而在后续接收到各校验管脚返回的数据信号后,也即收到奇偶校验信号后,可以按照所确定的采样时延参数对奇偶校验信号进行时移,以使时移后的奇偶校验信号与采样脉冲信号对齐,确保了基于采样脉冲信号采样奇偶校验信号时的正确性。
[0152]
在一个实施例中,当存在目标数据位的值与第一采样数据中目标数据位所对应的目标值不相同的第三采样数据时,返回执行向目标存储器发送第一数据读取指令的步骤,直至所得的时移后各第一数据信号中目标电平值的下降沿与采样脉冲信号的上升沿对齐;将各第三采样数据对应的时移长度确定为第二时移参数。
[0153]
具体的,计算机设备基于采样脉冲信号的上升沿采样各沿第二方向的时移后第一数据信号,得到各第三采样数据,并判断各第三采样数据中的目标数据位的值与相应的第一采样数据中目标数据位所对应的目标值是否相同,当至少一个第三采样数据中的目标数据位的值,与相应的第一采样数据中目标数据位所对应的目标值不相同时,确定该至少一个第三采样数据所对应的时移后各第一数据信号中目标电平值的下降沿与采样脉冲信号的上升沿未对齐,返回执行向目标存储器发送第一数据读取指令的步骤,直至所得的时移后各第一数据信号中目标电平值的下降沿与采样脉冲信号的上升沿对齐,将对齐时各时移后各第一数据信号对应的时移长度和第一方向确定为第二时移参数。
[0154]
例如,对某个校验管脚的第一数据信号采样所得到的第一采样数据中目标数据为第2bit数据位,该第2bit数据位的值为1,对应的目标值为0,则在对沿第一方向时移所得到的时移后第一数据信号进行采样得到第三采样数据后,获取该第三采样数据中第2bit数据位的值,若第三采样数据中第2bit数据位的值为1,即第三采样数据中第2bit数据位的值1
与目标值0不相同,则确定沿第一方向时移所得到的时移后第一数据信号的目标电平值的下降沿与采样脉冲信号的上升沿未对齐,返回执行向目标存储器发送第一数据读取指令的步骤,直至所得的时移后各第一数据信号中目标电平值的下降沿与采样脉冲信号的上升沿对齐,将对齐时各时移后各第一数据信号对应的时移长度和第一方向确定为第二时移参数。
[0155]
上述实施例中,计算机设备通过当存在目标数据位的值与第一采样数据中目标数据位所对应的目标值不相同的第三采样数据时,返回执行向目标存储器发送第一数据读取指令的步骤,直至所得的时移后各第一数据信号中目标电平值的下降沿与采样脉冲信号的上升沿对齐;将各第三采样数据对应的时移长度确定为第二时移参数,进而可以基于第二时移参数,确定校验管脚的采样时延参数,从而在后续接收到各校验管脚返回的数据信号后,也即收到奇偶校验信号后,可以按照所确定的采样时延参数对奇偶校验信号进行时移,以使时移后的奇偶校验信号与采样脉冲信号对齐,确保了基于采样脉冲信号采样奇偶校验信号时的正确性。
[0156]
本技术还提供一种应用场景,该应用场景应用存储器的校验管脚处理方法。具体的,结合图17所示的系统架构图,该存储器的校验管脚处理方法在该应用场景的应用如下:
[0157]
步骤一、设置hbm dram的操作模式为目标模式。
[0158]
具体的,通过hbm host的模式配置单元向hbm dram发送操作模式配置指令,以使hbm dram基于操作模式配置指令,配置hbm dram为dword读lfsr模式。
[0159]
步骤二、向hbm dram发送读指令
[0160]
具体的,hbm host通过指令发送单元向hbm dram发送读指令,hbm dram对所接收的读指令进行解析,并将解析结果输入dword misr电路,通过dword misr电路输出读数据,并将读数据中的目标数据位通过读par发送单元返回给hbm host。
[0161]
步骤三、接收各par管脚回返回的读par数据
[0162]
具体的,分别接收各个par管脚所返回的读par数据信号和采样脉冲信号(rdqs)。
[0163]
步骤四、per par training阶段
[0164]
具体的,读par训练单元确定各par数据信号的第一个高电平的眼图中心是否与采样脉冲信号(rdqs)的上升沿对齐,若均已对齐则执行步骤五;若存在至少一个读par数据信号的第一个高电平的眼图中心与采样脉冲信号(rdqs)的上升沿未对齐,则通过读par路径延迟控制电路调整该至少一个读par数据信号对应的par路径上的延迟,并返回执行步骤二和步骤三,在接收到各读par数据信号之后,按照所确定的延迟对相应的读par数据信号进行时移,确定各时移后的各par数据信号的第一个高电平的眼图中心是否与采样脉冲信号(rdqs)的上升沿对齐,若均已对齐则执行步骤五,若存在至少一个时移后的par数据信号的第一个高电平的眼图中心与采样脉冲信号(rdqs)的上升沿未对齐,则通过读par路径延迟控制电路调整该至少一个时移后的par数据信号对应的par路径上的延迟,并返回执行步骤二和步骤三,直至所有时移后的par数据信号的第一个高电平的眼图中心与采样脉冲信号(rdqs)的上升沿对齐。将对齐时各par管脚所对应的延迟确定为第一时延参数。
[0165]
例如15所示,某个par管脚的数据信号的最初状态为phase 0,基于脉冲信号对该phase 0状态下的读par的数据信号进行采样,得到采样数据中第2bit数据为位的值为1。
[0166]
通过step counter不断增加该par管脚对应的电路延迟,最终,par管脚的数据信
号会达到phase1的状态,对该phase 1状态下的读par的数据信号进行采样,得到采样数据中第2bit数据为位的值为0,此时记录该step counter的值为r_cnt,r_cnt即为该par管脚的第一时延参数。
[0167]
通过调整step counter不断降低该par管脚对应的电路延迟,最终,par管脚的数据信号会达到phase2的状态,对该phase 2状态下的读par的数据信号进行采样,得到采样数据中第2bit数据为位的值为0,此时记录该step counter的值为l_cnt,l_cnt即为该par管脚的第二时延参数。
[0168]
然后,得出当该par管脚的电路延迟为(r_cnt+l_cnt)/2时,该par管脚的延迟电路所输出的par数据信号可以达到与采样脉冲时钟上升沿对齐的目的。
[0169]
步骤五、per slice training阶段
[0170]
返回执行步骤二和步骤三,按照步骤四中所确定的第一时延参数对各par管脚返回的读par数据信号进行初始时移,得到初始时移后的读par数据信号,读par训练单元确定各初始时移后的读par数据信号的第一个高电平是否对齐,若存在至少一个初始时移后的读par数据信号的第一个高电平,与其他初始时移后的读par数据信号的第一个高电平未对齐,则通过读par路径延迟控制电路调整该至少一个读par数据信号对应的par路径上的延迟,并返回执行步骤二和步骤三,在接收到各读par数据信号之后,按照所确定的第一时延参数和延迟相应的读par数据信号进行时移,按照所确定的第一时延参数对其他的读par数据信号进行时移,确定各时移后的读par数据信号的第一个高电平是否对齐,若存在至少一个时移后的读par数据信号的第一个高电平,与其他时移后的读par数据信号的第一个高电平未对齐,则通过读par路径延迟控制电路调整该至少一个读par数据信号对应的par路径上的延迟,并返回执行步骤二和步骤三,直至各时移后的读par数据信号的第一个高电平对齐,并将对齐时各时移后的读par数据信号在该阶段中所确定的延迟确定为第二时延参数。
[0171]
例如,在该阶段通过各par管脚的延迟电路接收到初始时移后的读par数据信号之后,按照采样脉冲对各初始时移后的读par数据信号进行采样,得到各采样数据,若各采样数据中第一个“1”的数据位均相同,则确定各初始时移后的读par数据信号的第一个高电平已经对齐;若存在至少一个采样数据中第一个“1”的数据位,与其他采样数据中第一个“1”的数据位不相同(如图16b所示),则确定存在至少一个初始时移后的读par数据信号的第一个高电平,与其他初始时移后的读par数据信号的第一个高电平未对齐,则通过读par路径延迟控制电路调整该至少一个读par数据信号对应的par路径上的延迟,并返回执行步骤二和步骤三,直至各时移后的读par数据信号的第一个高电平对齐(如图16c所示),并将对齐时各时移后的读par数据信号在该阶段中所确定的延迟确定为第二时延参数。
[0172]
通过上述存储器的校验管脚处理方法,可以达到以下技术效果:
[0173]
1.可在hbm芯片bring up初始工作前,采用本技术的机制对读par管脚进行训练,则可以保证hbm芯片初始工作时,若出现后端时序不收敛以及hbm芯片的生产故障造成芯片读par通路的采样错误,保证芯片初始工作时,hbm dram返回的par数据的准确,从而保证hbm host在对读数据进行校验的过程中,不会出现错误;
[0174]
2.可在hbm芯片检测到pvt(process,voltage and temperature,工艺、电压和温度)有明显漂移时,软件配置芯片对读par管脚进行训练,保证芯片不会因pvt的漂移造成芯片读par通路的传输数据错误;
[0175]
3.可使用硬件中包含的定期读par训练的机制,定期的对hbm芯片进行读par训练,保证芯片不会在工作过程中出现读par的采样错误;
[0176]
4.由于本技术支持软件配置的单步读par训练,因此也可以由软件单独配置完成对整个芯片进行读par训练。由于软件可以在系统不忙时完成该动作,则可以在保证读par管脚不会出现采样错误的基础上,同时保证整个系统的效率。
[0177]
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0178]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的存储器的校验管脚处理方法的存储器的校验管脚处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个存储器的校验管脚处理装置实施例中的具体限定可以参见上文中对于存储器的校验管脚处理方法的限定,在此不再赘述。
[0179]
在一个实施例中,如图18所示,提供了一种存储器的校验管脚处理装置,包括:指令发送模块1802、信号接收模块1804、信号时移模块1806和时延确定模块1808,其中:
[0180]
指令发送模块1802,用于向目标存储器发送第一数据读取指令。
[0181]
信号接收模块1804,用于接收目标存储器中各校验管脚返回的第一数据信号和采样脉冲信号。
[0182]
信号时移模块1806,用于通过延时电路分别对各第一数据信号进行时移,以使时移后各第一数据信号中的目标电平值与采样脉冲信号对齐,得到第一时延参数;当接收到目标存储器中各校验管脚返回的第二数据信号时,通过延时电路分别对各第二数据信号中目标数据信号进行时移,以使时移后各第二数据信号中的目标电平值对齐,得到第二时延参数。
[0183]
时延确定模块1808,基于第一时延参数和第二时延参数,确定校验管脚的采样时延参数。
[0184]
上述实施例中,通过向目标存储器发送第一数据读取指令;接收目标存储器中各校验管脚返回的第一数据信号和采样脉冲信号;通过延时电路分别对各第一数据信号进行时移,以使时移后各第一数据信号中的目标电平值与采样脉冲信号对齐,得到第一时延参数;当接收到目标存储器中各校验管脚返回的第二数据信号时,通过延时电路分别对各第二数据信号中目标数据信号进行时移,以使时移后各第二数据信号中的目标电平值对齐,得到第二时延参数;基于第一时延参数和第二时延参数,确定校验管脚的采样时延参数,从而在后续接收到各校验管脚返回的数据信号后,也即收到奇偶校验信号后,可以按照所确定的采样时延参数对奇偶校验信号进行时移,以使时移后的奇偶校验信号与采样脉冲信号对齐,确保了基于采样脉冲信号采样奇偶校验信号时的正确性。
[0185]
在一个实施例中,如图19所示,该装置还包括:模式配置模块1810,其中:模式配置
模块1810,用于向目标存储器发送操作模式配置指令,以使目标存储器基于操作模式配置指令配置操作模式为目标模式;指令发送模块1802,还用于:向处于目标模式的目标存储器发送第一数据读取指令。
[0186]
在一个实施例中,模式配置模块1810,还用于:对目标存储器的读指令处理电路进行初始化;基于操作模式配置指令,配置读指令处理电路的操作模式为目标模式。
[0187]
在一个实施例中,第一数据信号是基于读数据中的目标数据位而生成的;读数据是目标存储器基于第一数据读取指令从目标存储器的寄存器中所读取出的数据。
[0188]
在一个实施例中,信号时移模块1806,还用于:通过延时电路分别对各第一数据信号沿第一方向进行时移,以使时移后各第一数据信号中目标电平值的上升沿与采样脉冲信号的上升沿对齐,得到第一时移参数;通过延时电路分别对各第一数据信号沿第二方向进行时移,以使时移后各第一数据信号中目标电平值的下降沿与采样脉冲信号的上升沿对齐,得到第二时移参数;第一方向与第二方向是相反的方向;基于第一时移参数和第二时移参数,确定各校验管脚对应的第一时延参数。
[0189]
在一个实施例中,信号时移模块1806,还用于:按照采样脉冲信号采样第一数据信号,得到第一采样数据;通过延时电路分别对各第一数据信号沿第一方向进行时移;按照采样脉冲信号对沿第一方向时移的第一数据信号进行采样,得到第二采样数据;当各第二采样数据中目标数据位的值,与第一采样数据中目标数据位所对应的目标值相同时,确定时移后各第一数据信号中目标电平值的上升沿与采样脉冲信号的上升沿对齐;将各第二采样数据对应的时移长度确定为第一时移参数。
[0190]
在一个实施例中,信号时移模块1806,还用于:当存在目标数据位的值与第一采样数据中目标数据位所对应的目标值不相同的第二采样数据时,返回通过指令发送模块1802执行向目标存储器发送第一数据读取指令的步骤,直至所得的时移后各第一数据信号中目标电平值的上升沿与采样脉冲信号的上升沿对齐;将各第二采样数据对应的时移长度确定为第一时移参数。
[0191]
在一个实施例中,信号时移模块1806,还用于:按照采样脉冲信号采样第一数据信号,得到第一采样数据;通过延时电路分别对各第一数据信号沿第二方向进行时移;按照采样脉冲信号对沿第二方向的第一数据信号进行采样,得到第三采样数据;当各第三采样数据中目标数据位的值,与第一采样数据中目标数据位所对应的目标值相同时,确定时移后各第一数据信号中目标电平值的下降沿与采样脉冲信号的上升沿对齐;将各第三采样数据对应的时移长度确定为第二时移参数。
[0192]
在一个实施例中,信号时移模块1806,还用于:当存在目标数据位的值与第一采样数据中目标数据位所对应的目标值不相同的第三采样数据时,返回通过指令发送模块1802执行向目标存储器发送第一数据读取指令的步骤,直至所得的时移后各第一数据信号中目标电平值的下降沿与采样脉冲信号的上升沿对齐;将各第三采样数据对应的时移长度确定为第二时移参数。
[0193]
在一个实施例中,通过延时电路分别对各第一数据信号进行时移,以使时移后各第一数据信号中的目标电平值与采样脉冲信号对齐之后,指令发送模块1802,还用于:向目标存储器发送第二数据读取指令;信号接收模块1804,还用于:接收目标存储器中各校验管脚返回的第二数据信号和采样脉冲信号。
[0194]
在一个实施例中,信号时移模块1806,还用于:按照采样脉冲信号采样基于第一时延参数进行时移后的各第二数据信号,得到第四采样数据;若各第四采样数据中的目标采样数据的目标数据位,与其他第四采样数据的目标数据位不相同,确定第二数据信号中目标数据信号与其他第二数据信号中的目标电平值未对齐;通过延时电路分别对第二数据信号中目标数据信号进行时移,以使时移后各第二数据信号中的目标电平值对齐,得到第二时延参数。
[0195]
上述存储器的校验管脚处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0196]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图20所示。该计算机设备包括处理器、存储器、输入/输出接口(input/output,简称i/o)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储奇偶校验数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种存储器的校验管脚处理方法。
[0197]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图21所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种存储器的校验管脚处理方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0198]
本领域技术人员可以理解,图20或图21中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0199]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0200]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0201]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0202]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0203]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0204]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0205]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1