CN115116489A - 高带宽存储器的derr管脚的训练方法和相关装置 - Google Patents
高带宽存储器的derr管脚的训练方法和相关装置 Download PDFInfo
- Publication number
- CN115116489A CN115116489A CN202210762703.2A CN202210762703A CN115116489A CN 115116489 A CN115116489 A CN 115116489A CN 202210762703 A CN202210762703 A CN 202210762703A CN 115116489 A CN115116489 A CN 115116489A
- Authority
- CN
- China
- Prior art keywords
- signal
- circuit delay
- derr
- delay
- circuit
- 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
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请公开一种高带宽存储器的DERR管脚的训练方法和相关装置,将带有校验错误的数据字模式向动态随机存取存储器发送,当确定校验错误后,可以通过DERR管脚向主机反馈DERR信号。将DERR信号包括的每个比特信号分别作为目标比特信号,确定目标比特信号在传输路径上、使目标比特信号与采样时钟信号之间满足采样对齐的第一电路延迟,在第一电路延迟下对多个比特信号与采样时钟信号采样对齐的时钟脉冲进行校验,根据校验结果确定每个比特信号在传输路径上、使多个比特信号与采样时钟信号的同一时钟脉冲满足采样对齐的第二电路延迟,至此完训练。利用训练后的DERR管脚可以将偏移调整回来,重新实现采样对齐,降低采样错误的可能性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种高带宽存储器的DERR管脚的训练方法和相关装置。
背景技术
随着数据中心对人工智能和机器学习的利用率越来越高,大量数据不断被产生和消耗,这给数据中心快速而高效地存储、移动和分析数据提出了巨大挑战。数据中心服务器迫切需要更大的内存带宽和容量,为此,高带宽存储器(High-Bandwidth Memory,HBM)应运而生,以更好地支持人工智能和机器学习的持续发展。
在数据字(Data Word,DWORD)存储或读取的过程中,由于DWORD从HBM主控(Host)至HBM动态随机存取存储器(Dynamic Random Access Memory,DRAM)的传输容易受环境变化,以及信号间串扰的影响,从而导致DWORD的数据信号和采样时钟信号出现偏移,出现DWORD采样错误的情况。为此,HBM上设置有数据字错误(DWORD Error,DERR)管脚,当HBMDRAM确定出现DWORD采样错误时,会通过DERR管脚及时反馈持续1个时钟周期的DERR信号至HBM Host,从而HBM Host可以及时的判断到有DWORD出现传输错误的情况,从而实现重发或线路诊断等措施以保证DWORD传输的正确性。
但是,DERR信号通过DERR管脚的传输同样也可能受环境变化,以及信号间串扰的影响,导致DERR信号和采样时钟信号出现偏移,导致DERR信号采样出现错误。当DERR信号采样错误发生时,很有可能造成错采和漏采DERR信号的问题。进而导致由HBM DRAM反馈至HBMHost的DERR信号将无法及时得到响应,严重时会导致HBM DRAM存储数据或读取数据的错误。
发明内容
为了解决上述技术问题,本申请提供了一种高带宽存储器的DERR管脚的训练方法和相关装置,可以计算出在DERR管脚所表示的传输路径上设置何种大小的电路延迟才可以校正DERR信号的采样偏移,以便基于此次训练得到的电路延迟(例如第二电路延迟)设置传输路径上的延迟电路,从而保证在实际使用该DERR管脚时,通过该延迟电路将DERR信号与采样时钟信号之间的偏移调整回来,重新实现采样对齐,降低DERR信号采样错误的可能性,进而保证HBM的主机及时的察觉到校验错误,及时的进行重传或其他处理,降低出现HBMDRAM存储数据或读取数据的错误的可能性。
本申请实施例公开了如下技术方案:
一方面,本申请实施例提供一种高带宽存储器的DERR管脚的训练方法,所述方法包括:
产生带有校验错误的数据字模式;
向动态随机存取存储器发送所述数据字模式;
通过所述DERR管脚传输所述动态随机存取存储器反馈的数据字错误DERR信号,所述DERR信号包括多个比特信号;
将所述多个比特信号中每个比特信号分别作为目标比特信号,确定所述目标比特信号在所述DERR管脚所表示的传输路径上的第一电路延迟,所述第一电路延迟使所述目标比特信号与采样时钟信号之间满足采样对齐;
在所述第一电路延迟下,对所述多个比特信号与所述采样时钟信号采样对齐的时钟脉冲进行校验;
根据校验结果确定所述每个比特信号在所述传输路径上的第二电路延迟,以完成所述DERR管脚的训练,所述第二电路延迟使所述多个比特信号分别与所述采样时钟信号的同一时钟脉冲满足采样对齐。
一方面,本申请实施例提供一种高带宽存储器的DERR管脚的训练装置,所述装置包括产生单元、发送单元、传输单元、确定单元和校验单元:
所述产生单元,用于产生带有校验错误的数据字模式;
所述发送单元,用于向动态随机存取存储器发送所述数据字模式;
所述接收单元,用于通过所述DERR管脚传输所述动态随机存取存储器反馈的数据字错误DERR信号,所述DERR信号包括多个比特信号;
所述确定单元,用于将所述多个比特信号中每个比特信号分别作为目标比特信号,确定所述目标比特信号在所述DERR管脚所表示的传输路径上的第一电路延迟,所述第一电路延迟使所述目标比特信号与采样时钟信号之间满足采样对齐;
所述校验单元,用于在所述第一电路延迟下,对所述多个比特信号与所述采样时钟信号采样对齐的时钟脉冲进行校验;
所述确定单元,还用于根据校验结果确定所述每个比特信号在所述传输路径上的第二电路延迟,以完成所述DERR管脚的训练,所述第二电路延迟使所述多个比特信号分别与所述采样时钟信号的同一时钟脉冲满足采样对齐。
一方面,本申请实施例提供一种电子设备,所述电子设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行前述任一方面所述的方法。
一方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行前述任一方面所述的方法。
一方面,本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现前述任一方面所述的方法。
由上述技术方案可以看出,本申请提供一种HBM的DERR管脚的训练方法,该训练过程可以是产生带有校验错误的数据字模式,向动态随机存取存储器发送数据字模式,当动态随机存取存储器校验数据字模式确定校验错误后,可以通过DERR管脚向HBM的主机反馈数据字错误DERR信号。由于该DERR信号可能出现采样偏移的情况,故可以计算在DERR管脚所表示的传输路径上如何设置电路延迟才可以校正采样偏移,实现采样对齐。同时由于DERR信号包括多个比特信号,故在计算如何设置电路延迟时,可以将多个比特信号中每个比特信号分别作为目标比特信号,确定目标比特信号在DERR管脚所表示的传输路径上的第一电路延迟,第一电路延迟使目标比特信号与采样时钟信号之间满足采样对齐。然后在第一电路延迟下,对多个比特信号与采样时钟信号采样对齐的时钟脉冲进行校验,进而根据校验结果确定每个比特信号在传输路径上的第二电路延迟,第二电路延迟使多个比特信号分别与采样时钟信号的同一时钟脉冲满足采样对齐,至此完成DERR管脚的训练。该训练过程计算出在DERR管脚所表示的传输路径上设置第二电路延迟才可以校正DERR信号的采样偏移,实现采样对齐,而传输DERR信号所使用的DERR管脚所表示的传输路径是固定的,故可以基于此次训练得到的第二电路延迟设置传输路径上的延迟电路,从而保证在实际使用该DERR管脚时,通过该延迟电路将DERR信号与采样时钟信号之间的偏移调整回来,重新实现采样对齐,降低DERR信号采样错误的可能性,进而保证HBM的主机及时的察觉到校验错误,及时的进行重传或其他处理,降低出现HBM DRAM存储数据或读取数据的错误的可能性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术成员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1a、图1b、图1c依次为相关技术提供的1个DERR信号、2个DERR信号和3个连续DERR信号出现的情形示例图;
图2为本申请实施例提供的一种DERR信号与采样时钟信号的关系示例图;
图3为本申请实施例提供的一种高带宽存储器的DERR管脚的训练方法的应用场景架构图;
图4为本申请实施例提供的一种高带宽存储器的DERR管脚的训练方法的流程图;
图5为本申请实施例提供的一种DERR管脚训练的电路的基本结构图;
图6a、图6b依次为本申请实施例提供的BL为2和BL为4的写数据操作(即写入数据字模式)需要遵循的时序示例图;
图7为本申请实施例提供的一种在初始电路延迟的基础上增加电路延迟或减少电路延迟的示例图;
图8为本申请实施例提供的一种延迟电路的示例图;
图9为本申请实施例提供的另一种延迟电路的示例图;
图10为本申请实施例提供的一种高带宽存储器的DERR管脚的训练装置的结构图;
图11为本申请实施例提供的一种终端的结构图;
图12为本申请实施例提供的一种服务器的结构图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
在DWORD存储或读取的过程中,若出现DWORD采样错误时,会通过DERR管脚及时反馈持续1个时钟周期的DERR信号至HBM Host。参见图1a-图1c所示,图1a-图1c分别列举出了1个DERR信号、2个DERR信号和3个连续DERR信号出现的情形示例图。DERR信号会在HBM DRAM采样到校验错误后的数据字校验错误的输出延迟时间(DQ parity error output delay,tPARDQ)后返回DERR信号,在图1a-图1c中的tPARDQ将以2个采样时钟信号(2个采样时钟信号可以表示为CK_c和CK_t)的时钟周期为例,其中,对数据字校验的方式可以是奇偶性校验,故所采用的校验数据可以是奇偶性校验数据(Parity data,PAR)。
在图1a中,WDQS_c和WDQS_t表示传输数据字的时钟信号,DATA表示传输的数据字,此处传输的数据字可以用Da、Da+1、Db、Db+1、Dc、Dc+1表示,校验数据可以用Pa、Pa+1、Pb、Pb+1、Pc、Pc+1。T0、T1、T2、T3、T4、T5表示不同的时刻。DERR表示返回的DERR信号。从图1a中可以看出,在T0时刻发送的Da数据字(包括Da、Da+1)和Pa校验数据(包括Pa、Pa+1)存在校验错误,则经过tPARDQ的2个时钟周期的延迟后,T2时刻返回了1个时钟周期的DERR信号。
在图1b中,T0时刻发送的Da数据和Pa校验数据存在校验错误,则经过tPARDQ的2个时钟周期的延迟后,T2时刻返回了1个时钟周期的DERR信号。T2时刻发送的Dc数据(包括Dc、Dc+1)和Pc校验数据(包括Pc、Pc+1)存在校验错误,则经过tPARDQ的2个时钟周期的延迟后,T4时刻返回了1个时钟周期的DERR信号。
在图1c中,T0时刻发送的Da数据和Pa校验数据存在校验错误,则经过tPARDQ的2个时钟周期的延迟后,T2时刻返回了1个时钟周期的DERR信号。T1时刻发送的Db数据(包括Db、Db+1)和Pb校验数据(包括Pb、Pb+1)存在校验错误,则经过tPARDQ的2个时钟周期的延迟后,T3时刻返回了1个时钟周期的DERR信号。T2时刻发送的Dc数据和Pc校验数据存在校验错误,则经过tPARDQ的2个时钟周期的延迟后,T4时刻返回了1个时钟周期的DERR信号。
当HBM DRAM返回DERR信号时,HBM Host将采用CK_t时钟的上升沿采样返回的DERR信号。为保证高速信号的采样正确和稳定,在一般情况下,DERR信号需要与采样时钟信号满足采样对齐,这里的采样对齐例如可以是指CK_t上升沿(CK_c下降沿)需对齐至DERR信号的中心位置。
但是,当下列情况出现时,将导致DERR信号和采样时钟信号出现偏移:
(a)HBM由于后端时序不收敛导致DERR信号传输路径延迟的偏移;
(b)HBM的生产故障导致DERR信号传输路径延迟的偏移;
(c)HBM在工作过程中,由于环境信息例如工艺、电压和温度(Process,Voltageand Temperature,PVT)的变化,导致DERR信号的传输路径延迟的偏移;
(d)HBM在工作过程中,由于信号间串扰的影响导致DERR信号和采样时钟信号出现偏移。
如图2所示,图2中(1)所标识的图形为一般正常工作情形下,DERR信号与采样时钟信号满足采样对齐,即采样时钟信号(图中CLK所标识的信号)的上升沿和DERR信号(图中Data所标识的信号)的中心位置为对齐。
当上述(a)-(d)所示的情况出现时,DERR信号和采样时钟信号将出现图2中(2)和(3)的情形。在(2)所标识的图中,采样时钟信号的上升沿将漂移出DERR信号的数据窗口;在(3)所标识的图中,采样时钟信号的上升沿虽然未漂移出DERR信号的数据窗口,但是由于采样时钟信号的上升沿和DERR信号的数据建立(上升)或数据撤销(下降)边沿距离过近,导致本次采样出现建立时间(setup timing)或保持时间(hold timing)的时序违例。以上两种情况均会导致DERR信号的采样错误,从而导致HBM DRAM存储数据的丢失。
为此,本申请实施例提供一种DERR管脚的训练(training)方法,该方法可以计算出在DERR管脚所表示的传输路径上设置何种大小的电路延迟才可以校正DERR信号的采样偏移,以便基于此次训练得到的电路延迟(例如第二电路延迟)设置传输路径上的延迟电路,从而保证在实际使用该DERR管脚时,通过该延迟电路将DERR信号与采样时钟信号之间的偏移调整回来,重新实现采样对齐,降低DERR信号采样错误的可能性,进而保证HBM的主机及时的察觉到校验错误,及时的进行重传或其他处理,降低出现HBM DRAM存储数据或读取数据的错误的可能性。
需要说明的是,本申请实施例提供的DERR管脚的训练方法主要是用于计算出在DERR管脚所表示的传输路径上设置何种大小的电路延迟才可以校正DERR信号的采样偏移,以便在使用HBM进行DWORD存储或读取的过程中,可以通过训练好的DERR管脚传输DERR信号,从而将DERR信号与采样时钟信号之间的偏移调整回来,重新实现采样对齐,降低DERR信号采样错误的可能性。而HBM是为了支持人工智能而产生的,HBM主要可以应用在人工智能领域,故本申请实施例提供的方法可以涉及人工智能。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。通过本申请实施例提供的方法对DERR管脚进行训练,可以得到能够更好支持人工智能的HBM。
可以理解的是,HBM可以运行在电子设备上,本申请实施例中使用的电子设备可以是服务器,也可以是终端。服务器可以是提供各种基于人工智能服务的服务器,服务器可以是独立的服务器,也可以是集群中的服务器;终端包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。
如图3所示,图3示出了一种高带宽存储器的DERR管脚的训练方法的应用场景架构图。该应用场景中可以包括电子设备,电子设备上具有高带宽存储器,在本申请实施例中以电子设备是服务器100为例,服务器100上运行有高带宽存储器101。高带宽存储器101上可以包括主机1011和动态随机存取存储器1012,该训练过程可以是通过主机1011产生带有校验错误的数据字模式,通过主机1011向动态随机存取存储器1012发送数据字模式,当动态随机存取存储器校验数据字模式确定校验错误后,可以通过DERR管脚向主机1011反馈数据字错误DERR信号。
由于该DERR信号可能出现采样偏移的情况,故可以计算在DERR管脚所表示的传输路径上如何设置电路延迟才可以校正采样偏移,实现采样对齐。同时由于DERR信号包括多个比特信号,故在计算如何设置电路延迟时,可以将多个比特信号中每个比特信号分别作为目标比特信号,确定目标比特信号在DERR管脚所表示的传输路径上的第一电路延迟,第一电路延迟使目标比特信号与采样时钟信号之间满足采样对齐。然后在第一电路延迟下,对多个比特信号与采样时钟信号采样对齐的时钟脉冲进行校验,进而根据校验结果确定每个比特信号在传输路径上的第二电路延迟,第二电路延迟使多个比特信号分别与采样时钟信号的同一时钟脉冲满足采样对齐,至此完成DERR管脚的训练。这样,通过训练后的DERR管脚可以对传输的DERR信号进行偏移调整,使得主机1011接收到采样对齐的DERR信号。
接下来,将结合附图对本申请实施例提供的高带宽存储器的DERR管脚的训练方法进行详细介绍。参见图4,图4示出了一种高带宽存储器的DERR管脚的训练方法的流程图,所述方法包括:
S401、产生带有校验错误的数据字模式。
为了对DERR管脚进行训练,计算出在DERR管脚所表示的传输路径上设置何种大小的电路延迟才可以校正DERR信号的采样偏移,可以通过HBM Host产生带有校验错误的数据字模式(DWORD Pattern),来模拟DWORD的传输,以便在确定校验错误时,发送DERR信号,训练得到合适大小的电路延迟来校正DERR信号的采样偏移。
下面对DWORD的数据组合以及数据校验的基本知识进行介绍。通常情况下,DWORD的数据主要包含表1所示的相关接口:
表1
功能 | 数据位宽 | 功能描述 |
DQ | 128位 | HBM DRAM写数据总线 |
DM | 16位 | Data Mask,写数据mask信号 |
DBI | 16位 | Data Bus Inversion,数据总线翻转 |
PAR | 4位 | Parity data,校验数据 |
从表1可以看出,HBM的DWORD在写方向上共包含3组信号,分别为数据(DQ)、数据掩码(Data Mask,DM)信号和数据总线翻转(Data Bus Inversion,DBI)信号。其中,DQ为128位的写数据信号;DM信号为16位的数据掩码信号,DM信号可以由寄存器(Mode Register)配置为错误纠正编码(Error Correcting Code,ECC)信号,此时DM信号的功能将不再支持,改为向HBM内写入ECC数据,用于纠错和检测;DBI信号为数据的数据总线翻转信号。DM信号、DBI信号和数据的对应关系可以如表2所示:
表2
由表2可以看出,数据(DQ)的数据位宽可以划分为多段,每段包括8位,例如表2中DQ[7:0]、DQ[15:8]、DQ[23:16]、……DQ[127:120],每段数据分别具有对应的DBI和DM。在表2中,Even Byte表示偶数字节。
HBM DRAM支持的DWORD校验的功能如表3所示,该表仅列出了DQ 0~31位,DBI 0~3位,DM、ECC 0~3位的对应关系,其余的DQ以每32bit对应DBI/DM/ECC的多个比特信号,有类似的校验关系。
表3
从表3中可以看出,若ECC的使用情况为禁能,当DQ[31:0]、DBI[3:0]和DM[3:0]的全部位异或结果为偶数(Even)时,若PAR为低(低可以用L表示),则DERR输出为0;若PAR为高(高可以用H表示),则DERR输出为1。
若ECC的使用情况为禁能,ECC数据不参与数据校验,当DQ[31:0]、DBI[3:0]的全部位异或结果为偶数,若PAR为低,则DERR输出为0;若PAR为高,则DERR输出为1。
此外,若DBI的使用情况为禁能,则DBI信号不参与数据校验。若ECC的使用情况为使能或DM的使用情况为禁能,则DM信号不参与数据校验。
由上述介绍可以知,DWORD包括数据、数据掩码信号和数据总线翻转信号,而数据字模式是产生的模拟DWORD,故数据字模式中可以包括数据、数据掩码信号、数据总线翻转信号。另外,进行数据校验后是否发生校验错误与数据、数据掩码信号、数据总线翻转信号的使用情况有关,而数据、数据掩码信号、数据总线翻转信号的使用情况可以通过数据字配置信息来体现,在这种情况下,产生带有校验错误的数据字模式的实现方式可以是获取数据字配置信息,数据字配置信息用于指示数据、数据掩码信号和数据总线翻转信号的使用情况,进而根据数据、数据掩码信号和数据总线翻转信号的使用情况,产生带有校验错误的数据字模式。其中,数据字配置信息可以通过寄存器设置。
由于本申请实施例的目的是产生带有校验错误的数据字模式,而校验错误的发生需要在数据、数据掩码信号和数据总线翻转信号的某些使用情况下。由于HBM的DQ、DM信号和DBI信号采用偶校验的方式完成,则需除了PAR比特之外的其余数据字模式的比特异或的结果与PAR比特异或后产生的结果为1,此时将产生带有校验错误的数据字模式。基于对上述表3所示的校验关系的总结,在一种可能的实现方式中,产生带有校验错误的数据字模式所依据的使用情况可以包括以下任意一种:
数据、数据掩码信号和数据总线翻转信号均使能;
数据和数据总线翻转信号均使能,且数据掩码信号禁能;
数据使能,且数据掩码信号和数据总线翻转信号均禁能。
本实施例以校验错误是PAR校验错误为例,分别对上述三种使用情况进行介绍。当DQ、DM信号和DBI信号均使能时,且PAR校验错误:
在本数据字模式中,DQ、DM信号、DBI信号均使能且采用采样时钟信号,即101010的pattern。则DQ为0xAAAA_AAAA,DM信号为0xA,DBI信号为0xA,PAR为1。此时DWORD的异或结果为0,PAR为1,则该数据字模式带有校验错误,会返回DERR为1。
当DQ、DBI信号均使能,且DM信号禁能,且PAR校验错误:
在本数据字模式中,DQ、DBI信号均使能且采用采样时钟信号,即101010的pattern。则DQ为0xAAAA_AAAA,DBI信号为0xA,PAR为1。此时DWORD的异或结果为0,PAR为1,则该数据字模式带有校验错误,会返回DERR为1。
当DQ使能,DM信号和DBI信号均禁能,且PAR校验错误:
在本数据字模式中,DQ使能且采用采样时钟信号,即101010的pattern。则DQ为0xAAAA_AAAA。此时DWORD的异或结果为0,PAR为1,则该数据字模式带有校验错误,会返回DERR为1。
需要说明的是,在本申请实施例中,上述三种使用情况均可产生带有校验错误的数据字模式来进行训练,具体使用第几种,可通过寄存器的数据字配置信息进行配置,进而根据软件可访问的寄存器的数据字配置信息,产生对应的数据字模式来完成DERR管脚的training过程。在一种可能的实现方式中,数据字配置信息中配置的使用情况默认为第一种。
需要说明的是,本申请实施例提供的方法可以基于DERR管脚训练的电路实现,DERR管脚训练的电路的基本结构图可以参见图5所示,可以包括主机501和动态随机存取存储器502,主机501可以包括模式产生模块5011、数据发送模块5012、延迟控制电路5013和DERR接收单元5014,动态随机存取存储器502可以包括数据接收模块5021、模式解析模块5022、校验错误检测模块5023和DERR发送单元5024。其中,图5仅是一种电路的基本结构图的示例,并不构成对本申请的限定。在基于图5所示的DERR管脚训练的电路实现本方法式,S401可以通过模式产生模块5011产生。
S402、向动态随机存取存储器发送所述数据字模式。
S403、通过所述DERR管脚传输所述动态随机存取存储器反馈的数据字错误DERR信号,所述DERR信号包括多个比特信号。
在通过HBM Host产生带有校验错误的数据字模式后,可以将向动态随机存取存储器(HBM DRAM)发送该数据字模式。其中,S402可以通过图5所示的数据发送模块5012执行。在一种可能的情况下,数据发送模块5012可以自动检测当前要发送的数据字模式的突发长度(burst length,BL),从而在符合时序的情况下将数据字模式发送出去。参见图6a和图6b,图6a和图6b分别描述了BL为2和BL为4的写数据操作(即写入数据字模式)需要遵循的时序。图6a和图6b中只包含了DATA即DQ,若包含DBI信号和DM信号,则DBI信号和DM信号与DQ遵守相同的时序要求。
在图6a中,WDQS_c和WDQS_t表示传输数据字的时钟信号,DATA表示传输的数据字(即S401中产生的数据字模式),此处传输的数据字可以用Da、Da+1表示。T0、T1、T2、T3、T4、T5、T6、T7表示不同的时刻。命令栏用于提供数据操作指令,在图6a中,命令栏提供的数据操作指令是“WRITE”,即写数据操作的指令;地址栏用于提供地址指令,用于指示数据操作所针对的HBM中的地址,当数据操作指令是“WRITE”、地址指令是“BAx CAa”和“CAa”时,表示向“BAx CAa”和“CAa”所标识的空间写入数据字模式;WL表示写延迟,图6a中WL=4。图6a表示BL为2的写数据操作,可以看到DATA只持续了Da和Da+1两笔。图6b表示BL为4的写数据操作,可以看到DATA只持续了Da、Da+1、Da+2和Da+3四笔。
HBM DRAM在接收到数据字模式后,可以解析该数据字模式,并基于解析得到的数据字和校验数据进行数据校验,若校验正确则返回DERR为0,若校验错误则返回DERR为1。
在一种可能的实现方式中,可以通过图5中的数据接收模块5021接收带有校验错误的数据字模式,通过模式解析模块5022解析该数据字模式,并利用校验错误检测模块5023对数据字和校验数据进行校验,确定校验错误。
在确定校验错误后,可以生成DERR信号,DERR信号可以包括多个比特(bit)信号。多个比特信号例如可以是2个,也可以是4个等。
多个比特信号可以是根据数据位宽进行划分的,以DERR信号包括4个bit信号为例,DERR信号可以参见表4所示:
表4
功能 | 数据位宽 | 功能描述 |
DERR | 4位 | DWORD Error,数据错误信号 |
在表4中,该DERR信号的数据位宽为4位,则该DERR信号可以包括4个比特信号。当校验错误时,DERR的相应位将输出1。此时,DERR与数据的对应关系分别为:
DQ[31:0]、DBI[3:0]、DM[3:0]对应DERR0;
DQ[63:32]、DBI[7:4]、DM[7:4]对应DERR1;
DQ[95:64]、DBI[11:8]、DM[11:8]对应DERR2;
DQ[127:96]、DBI[15:12]、DM[15:12]对应DERR3。
在得到DERR信号后,可以通过DERR管脚向HBM Host反馈DERR信号,以便HBM Host接收该DERR信号。在一种可能的实现方式中,HBM DRAM可以通过DERR发送单元5024向HBMHost反馈DERR信号。
S404、将所述多个比特信号中每个比特信号分别作为目标比特信号,确定所述目标比特信号在所述DERR管脚所表示的传输路径上的第一电路延迟,所述第一电路延迟使所述目标比特信号与采样时钟信号之间满足采样对齐。
由于该DERR信号可能出现采样偏移的情况,故可以计算在DERR管脚所表示的传输路径上如何设置电路延迟才可以校正采样偏移,实现采样对齐。同时由于DERR信号包括多个比特信号,故在计算如何设置电路延迟时,可以将多个比特信号中每个比特信号分别作为目标比特信号,确定目标比特信号在DERR管脚所表示的传输路径上的第一电路延迟,第一电路延迟使目标比特信号与采样时钟信号之间满足采样对齐。
在一种可能的实现方式中,目标比特信号与采样时钟信号之间满足采样对齐,说明采样时钟信号的上升沿(下降沿)与目标比特信号的中心位置对齐,为此,可以找到采样时钟信号的上升沿(下降沿)与目标比特信号的上升沿、下降沿之间的电路延迟,从而确定如何设置电路延迟可以使得采样时钟信号的上升沿(下降沿)与目标比特信号的中心位置对齐。在这种情况下,确定目标比特信号在DERR管脚所表示的传输路径上的第一电路延迟的方式可以是获取目标比特信号在所述传输路径上的初始电路延迟,在初始电路延迟的基础上增加电路延迟,直至采集到的目标比特信号的数值为0,得到第三电路延迟。并在初始电路延迟的基础上降低电路延迟,直至采集到的目标比特信号的数值为0,得到第四电路延迟。然后,对第三电路延迟和第四电路延迟求平均,得到第一电路延迟。
在DERR管脚的training阶段,如图7所示。DERR信号的最初状态为phase 0,此时,对应的电路延迟为初始电路延迟,采样到的目标比特信号的数值应为1。在初始电路延迟的基础上增加电路延迟,最终,会达到读回的该目标比特信号的数值应为0,得到第三电路延迟,记录为R_CNT,此时目标比特信号的状态为Phase1。
此后,置位Phase1至Phase0的初始状态,在初始电路延迟的基础上降低电路延迟,最终,会达到读回的该目标比特信号的数值应为0,得到第四电路延迟,记录为L_CNT,此时目标比特信号的状态为Phase2。
然后可以对第三电路延迟和第四电路延迟求平均,计算得出该目标比特信号的第二电路延迟为(R_CNT+L_CNT)/2时,该目标比特信号与采样时钟信号达到采样对齐。接下来,继续按照上述步骤对每个比特信号的电路延迟均进行调整和计算。
需要说明的是,上述实现的电路延迟(例如第一电路延迟、第三电路延迟、第四电路延迟)可以通过延迟电路来实现,故在本申请实施例中,可以在DERR管脚所表示的传输路径上设置有目标比特信号对应的延迟电路,即DERR信号所包括的每个比特信号都具有对应的延迟电路。该延迟电路可以包括多个延迟单元。参见图8所示,图8以DERR信号包括4个比特信号(分别是DERR 0、DERR 1、DERR 2和DERR 3)为例,对延迟电路进行介绍。从图8中可以看出,针对DERR 0、DERR 1、DERR 2和DERR 3分别对应的传输路径设置了延迟电路,每个延迟电路包括多个延迟单元(Delay Element,DE)。每个延迟单元可以包含4个反相器(inverter)电路。
另外,每个延迟单元之后具有对应的抽头接口,延迟电路由步进计数器(StepCounter)控制,步进计数器用于控制目标比特信号从目标抽头接口接出,目标比特信号从目标抽头接口接出之后,在目标抽头之前目标比特信号所经过的延迟单元的数量决定目标比特信号在传输路径上电路延迟的大小。因此,通过步进计数器控制目标比特信号从某个抽头接口接出,可以达到对DERR信号的电路延迟进行调整的目的。
参见图9所示,每个DE后存在一个抽头接口,抽头接口可以参见图9中虚线框内的斜线箭头所示。若步进计数器控制目标比特信号从图9中第3个DE对应的抽头接口接出,则表示目标比特信号在传输路径上电路延迟的大小为3个延迟单元所形成的电路延迟。
基于上述设置的延迟电路,在初始电路延迟的基础上增加电路延迟,直至采集到的目标比特信号的数值为0,得到第三电路延迟的方式可以是在初始电路延迟的基础上,通过调整步进计数器的值来增加电路延迟,直至采集到的目标比特信号的数值变为0,得到第三电路延迟。在一种可能的实现方式中,步进计数器的值表示在目标抽头之前目标比特信号所经过的延迟单元的数量,故第三电路延迟为目标比特信号所经过的延迟单元的第一数量。以前述第三电路延迟记录为R_CNT为例,则步进计数器的值可以记为R_CNT。
相应的,在初始电路延迟的基础上降低电路延迟,直至采集到的目标比特信号的数值为0,得到第四电路延迟的方式可以是在初始电路延迟的基础上,通过调整步进计数器的值来降低电路延迟,直至采集到的目标比特信号的数值变为0,得到第四电路延迟。在一种可能的实现方式中,步进计数器的值表示在目标抽头之前目标比特信号所经过的延迟单元的数量,故第四电路延迟为目标比特信号所经过的延迟单元的第二数量。以前述第四电路延迟记录为L_CNT为例,则步进计数器的值可以记为L_CNT。
在这种情况下,对第三电路延迟和第四电路延迟求平均,得到第一电路延迟的方式可以是对第一数量和第二数量求平均,得到第二电路延迟。
需要注意的是,若DERR管脚的传输路径在极端情况下初始电路延迟较大,造成最初状态不是Phase 0,而是图2中(2)所示的采样情况,此时DERR信号最初则无法采样到1,这样则无法进行偏移调整。在这种情况下,为了采样到有效的DERR信号,从而便于进行偏移调整,获取目标比特信号在传输路径上的初始电路延迟的方式可以是获取目标比特信号在所述传输路径上的初始子电路延迟,将初始子电路延迟与预设电路延迟阈值比对,若比对结果为初始子电路延迟大于预设电路延迟阈值,则说明DERR管脚的传输路径的初始子电路延迟较大,可能造成最初状态不是Phase 0,为此可以降低产生数据字模式的主机的工作频率,直至调整后的初始子电路延迟小于或等于预设电路延迟阈值,并将调整后的初始子电路延迟确定为初始电路延迟。
通常情况下,可支持时钟锁相环电路对主机的工作频率进行调整,调整范围为100MHz~1800MHz之间,根据实际情况,通常情况下,最差将工作频率降低至300MHz,可以采样到DERR为1的值。
通过降低主机的工作频率可拉宽DERR信号持续为高电平的时间,从而保证可以采集到DERR信号为1的值,从而采样到有效的DERR信号,便于进行偏移调整。
S405、在所述第一电路延迟下,对所述多个比特信号与所述采样时钟信号采样对齐的时钟脉冲进行校验。
S406、根据校验结果确定所述每个比特信号在所述传输路径上的第二电路延迟,以完成所述DERR管脚的训练,所述第二电路延迟使所述多个比特信号分别与所述采样时钟信号的同一时钟脉冲满足采样对齐。
由于DERR信号包括多个比特信号,通过S401-S404可以使得每个比特信号与采样时钟信号满足采样对齐,当并不表示多个比特信号与采样时钟信号的同一时钟脉冲对齐,故需要在第一电路延迟下,对多个比特信号与采样时钟信号采样对齐的时钟脉冲进行校验。进而根据校验结果确定每个比特信号在传输路径上的第二电路延迟,使得多个比特信号与同一时钟脉冲对齐,从而实现整个DERR信号与采样时钟信号的采样对齐,完成DERR管脚的训练。
本申请实施例可在HBM的初始工作前,对DERR管脚进行训练,则可以保证HBM初始工作时,若出现后端时序不收敛以及HBM的生产故障造成DWORD的采样错误的话,Host可通过采样DERR信号检测到这种错误,及时采取重传、置位或对DWORD线路进行调整。
通常情况下,在第一电路延迟下,对多个比特信号与采样时钟信号采样对齐的时钟脉冲进行校验实际是校验多个比特信号与采样时钟信号采样对齐的时钟脉冲是否相同。若校验结果指示多个比特信号与采样时钟信号采样对齐的时钟脉冲不相同,则对第一电路延迟进行进一步调整直到多个比特信号分别与采样时钟信号的同一时钟脉冲满足采样对齐,得到第二电路延迟。若校验结果指示多个比特信号与采样时钟信号采样对齐的时钟脉冲相同,将第一电路延迟确定为对应的比特信号的第二电路延迟。
通过上述方式,可以使得DERR信号包括的多个比特信号与同一时钟脉冲对齐,从而实现整个DERR信号与采样时钟信号的采样对齐,提高DERR管脚训练的准确性。
需要说明的是,S404-S406的训练过程主要涉及对传输路径上的电路延迟进行调整,从而通过增加或减少传输路径上的电路延迟确定最终的第二电路延迟。图5中的延迟控制电路5013可支持对传输路径上的电路延迟进行动态的调整。
在本申请实施例中,除了使用硬件延迟电路实现的自动方式之外,DERR管脚的training的整个过程可以使用软件配置寄存器的方式来完成,即使用软件配置的寄存器可以手动配置Step counter的值,且可以配置HBM Host发送的数据字模式,对HBM DRAM接收到的数据字模式进行读取和数据校验。因此,软件可以独立的发起对DERR管脚进行单步的training的每个步骤。
本申请实施例提供的方法可在HBM检测到PVT有明显漂移时,软件配置HBM对DERR管脚进行训练,保证HBM不会因PVT的漂移造成HBM的DERR信号采样错误。
另外,由于本申请实施例支持软件配置的单步的training,因此也可以由软件单独配置完成对整个HBM进行DERR管脚的training。由于软件可以在HBM不忙时完成该动作,则可以在保证DERR管脚不会出现采样错误的基础上,同时保证整个HBM的效率。
由上述技术方案可以看出,本申请提供一种HBM的DERR管脚的训练方法,该训练过程可以是产生带有校验错误的数据字模式,向动态随机存取存储器发送数据字模式,当动态随机存取存储器校验数据字模式确定校验错误后,可以通过DERR管脚向HBM的主机反馈数据字错误DERR信号。由于该DERR信号可能出现采样偏移的情况,故可以计算在DERR管脚所表示的传输路径上如何设置电路延迟才可以校正采样偏移,实现采样对齐。同时由于DERR信号包括多个比特信号,故在计算如何设置电路延迟时,可以将多个比特信号中每个比特信号分别作为目标比特信号,确定目标比特信号在DERR管脚所表示的传输路径上的第一电路延迟,第一电路延迟使目标比特信号与采样时钟信号之间满足采样对齐。然后在第一电路延迟下,对多个比特信号与采样时钟信号采样对齐的时钟脉冲进行校验,进而根据校验结果确定每个比特信号在传输路径上的第二电路延迟,第二电路延迟使多个比特信号分别与采样时钟信号的同一时钟脉冲满足采样对齐,至此完成DERR管脚的训练。该训练过程计算出在DERR管脚所表示的传输路径上设置第二电路延迟才可以校正DERR信号的采样偏移,实现采样对齐,而传输DERR信号所使用的DERR管脚所表示的传输路径是固定的,故可以基于此次训练得到的第二电路延迟设置传输路径上的延迟电路,从而保证在实际使用该DERR管脚时,通过该延迟电路将DERR信号与采样时钟信号之间的偏移调整回来,重新实现采样对齐,降低DERR信号采样错误的可能性,进而保证HBM的主机及时的察觉到校验错误,及时的进行重传或其他处理,降低出现HBM DRAM存储数据或读取数据的错误的可能性。
在完成DERR管脚的训练后,可以按照每个比特信号在对应传输路径上的第二电路延迟,配置对应传输路径上的目标延迟电路,以便在实际DWORD传输后,当产生目标DERR信号并反馈至HBM Host时,可以通过目标延迟电路,对传输的目标DERR信号中的比特信号进行偏移调整,使得HBM Host接收到的是采样对齐的DERR信号。由此可以降低目标DERR信号采样错误的可能性,进而保证HBM的主机及时的察觉到校验错误,及时的进行重传或其他处理,降低出现HBM DRAM存储数据或读取数据的错误的可能性。
在本申请实施例中,可以通过图5中的DERR接收单元5014接收目标DERR信号,接收到的目标DERR信号是已经经过延迟电路调整、实现采样对齐的信号。
若传输路径上设置有图8、图9所示的延迟电路,第二电路延迟为比特信号所经过的延迟单元的数量,则按照每个比特信号在对应传输路径上的第二电路延迟,配置对应传输路径上的目标延迟电路的方式可以是将目标延迟电路中步进计数器的值调整为比特信号所经过的延迟单元的数量。通过这种方式,可以降低目标延迟电路的配置难度,配置便捷、灵活。
可以理解的是,在完成一次DERR管脚的训练后,可以根据训练得到的第二电路延迟配置目标延迟电路,以便在实际使用DERR管脚时,可以利用目标延迟电路对传输的DERR信号进行偏移调整,实现采样对齐。然而,由于各种因素(例如环境信息、信号间串扰)的影响,并且各种因素可能是不固定的、变化的,因此为了避免基于当前训练得到的第二电路延迟配置得到的目标延迟电路难以适应各种因素的变化,故本申请实施例可以在DERR管脚使用的整个生命周期,多个训练DERR管脚,以更新目标延迟电路,使得目标延迟电路可以在不同时间能够具有较好的偏移调整效果,进一步降低DERR信号采样错误的可能性。
在本申请实施例中,可以通过不同的方式触发DERR管脚的训练,例如按照预设周期对DERR管脚进行训练,即按照预设周期产生带有校验错误的数据字模式,以进行DERR管脚的训练。又如,当确定环境信息的变化程度超出预设变化阈值时,此时可以说明环境信息发生比较大的变化,当前的目标延迟电路可能无法保证DERR信号与采样时钟信号满足采样对齐,则可以触发对DERR管脚进行训练,即当确定环境信息的变化程度超出预设变化阈值时产生带有校验错误的数据字模式,以进行DERR管脚的训练。
本申请实施例提供的方法可使用硬件中包含的定期训练的机制,定期的对HBM进行DERR管脚的训练,保证HBM不会在工作过程中出现DERR信号的偏移造成的采样错误。
需要说明的是,本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
基于图4对应实施例提供的高带宽存储器的DERR管脚的训练方法,本申请实施例还提供一种高带宽存储器的DERR管脚的训练装置1000。参见图10,所述高带宽存储器的DERR管脚的训练装置1000包括产生单元1001、发送单元1002、传输单元1003、确定单元1004和校验单元1005:
所述产生单元1001,用于产生带有校验错误的数据字模式;
所述发送单元1002,用于向动态随机存取存储器发送所述数据字模式;
所述传输单元1003,用于通过所述DERR管脚传输所述动态随机存取存储器反馈的数据字错误DERR信号,所述DERR信号包括多个比特信号;
所述确定单元1004,用于将所述多个比特信号中每个比特信号分别作为目标比特信号,确定所述目标比特信号在所述DERR管脚所表示的传输路径上的第一电路延迟,所述第一电路延迟使所述目标比特信号与采样时钟信号之间满足采样对齐;
所述校验单元1005,用于在所述第一电路延迟下,对所述多个比特信号与所述采样时钟信号采样对齐的时钟脉冲进行校验;
所述确定单元1004,还用于根据校验结果确定所述每个比特信号在所述传输路径上的第二电路延迟,以完成所述DERR管脚的训练,所述第二电路延迟使所述多个比特信号分别与所述采样时钟信号的同一时钟脉冲满足采样对齐。
在一种可能的实现方式中,所述确定单元1004,具体用于:
获取所述目标比特信号在所述传输路径上的初始电路延迟;
在所述初始电路延迟的基础上增加电路延迟,直至采集到的所述目标比特信号的数值为0,得到第三电路延迟;
在所述初始电路延迟的基础上降低电路延迟,直至采集到的所述目标比特信号的数值为0,得到第四电路延迟;
对所述第三电路延迟和所述第四电路延迟求平均,得到所述第一电路延迟。
在一种可能的实现方式中,所述传输路径上设置有所述目标比特信号对应的延迟电路,所述延迟电路包括多个延迟单元,每个延迟单元之后具有对应的抽头接口,所述延迟电路由步进计数器控制,所述步进计数器用于控制所述目标比特信号从目标抽头接口接出,所述目标比特信号从所述目标抽头接口接出之后,在所述目标抽头之前所述目标比特信号所经过的延迟单元的数量决定所述目标比特信号在所述传输路径上电路延迟的大小。
在一种可能的实现方式中,所述确定单元1004,具体用于:
在所述初始电路延迟的基础上,通过调整所述步进计数器的值来增加电路延迟,直至采集到的所述目标比特信号的数值变为0,得到所述第三电路延迟,所述步进计数器的值表示在所述目标抽头之前所述目标比特信号所经过的延迟单元的数量,所述第三电路延迟为所述目标比特信号所经过的延迟单元的第一数量;
在所述初始电路延迟的基础上,通过调整所述步进计数器的值来降低电路延迟,直至采集到的所述目标比特信号的数值变为0,得到所述第四电路延迟,所述第四电路延迟为所述目标比特信号所经过的延迟单元的第二数量;
对所述第一数量和所述第二数量求平均,得到所述第一电路延迟。
在一种可能的实现方式中,所述确定单元1004,具体用于:
获取所述目标比特信号在所述传输路径上的初始子电路延迟;
将所述初始子电路延迟与预设电路延迟阈值比对;
若比对结果为所述初始子电路延迟大于所述预设电路延迟阈值,降低产生所述数据字模式的主机的工作频率,直至调整后的所述初始子电路延迟小于或等于所述预设电路延迟阈值,并将调整后的所述初始子电路延迟确定为所述初始电路延迟。
在一种可能的实现方式中,所述校验单元1005,具体用于:
校验所述多个比特信号与所述采样时钟信号采样对齐的时钟脉冲是否相同;
所述确定单元1004,具体用于:
若所述校验结果指示所述多个比特信号与所述采样时钟信号采样对齐的时钟脉冲不相同,对所述第一电路延迟进行调整直到所述多个比特信号分别与所述采样时钟信号的同一时钟脉冲满足采样对齐,得到所述第二电路延迟;
若所述校验结果指示所述多个比特信号与所述采样时钟信号采样对齐的时钟脉冲相同,将所述第一电路延迟确定为对应的比特信号的所述第二电路延迟。
在一种可能的实现方式中,所述装置还包括配置单元和调整单元:
所述配置单元,用于按照所述每个比特信号在对应传输路径上的第二电路延迟,配置对应传输路径上的目标延迟电路;
所述调整单元,用于通过所述目标延迟电路,对传输的目标DERR信号中的比特信号进行偏移调整。
在一种可能的实现方式中,若所述第二电路延迟为比特信号所经过的延迟单元的数量,所述配置单元,具体用于:
将所述目标延迟电路中步进计数器的值调整为所述比特信号所经过的延迟单元的数量。
在一种可能的实现方式中,所述产生单元1001,具体用于:
按照预设周期产生带有校验错误的数据字模式;
或者,若确定环境信息的变化程度超出预设变化阈值,产生带有校验错误的数据字模式。
在一种可能的实现方式中,所述数据字模式中包括数据、数据掩码信号、数据总线翻转信号,所述产生单元1001,具体用于:
获取数据字配置信息,所述数据字配置信息用于指示所述数据、所述数据掩码信号和所述数据总线翻转信号的使用情况;
根据所述数据、所述数据掩码信号和所述数据总线翻转信号的使用情况,产生带有校验错误的数据字模式。
在一种可能的实现方式中,所述使用情况包括以下任意一种:
所述数据、所述数据掩码信号和所述数据总线翻转信号均使能;
所述数据和所述数据总线翻转信号均使能,且所述数据掩码信号禁能;
所述数据使能,且所述数据掩码信号和所述数据总线翻转信号均禁能。
由上述技术方案可以看出,本申请提供一种HBM的DERR管脚的训练方法,该训练过程可以是产生带有校验错误的数据字模式,向动态随机存取存储器发送数据字模式,当动态随机存取存储器校验数据字模式确定校验错误后,可以通过DERR管脚向HBM的主机反馈数据字错误DERR信号。由于该DERR信号可能出现采样偏移的情况,故可以计算在DERR管脚所表示的传输路径上如何设置电路延迟才可以校正采样偏移,实现采样对齐。同时由于DERR信号包括多个比特信号,故在计算如何设置电路延迟时,可以将多个比特信号中每个比特信号分别作为目标比特信号,确定目标比特信号在DERR管脚所表示的传输路径上的第一电路延迟,第一电路延迟使目标比特信号与采样时钟信号之间满足采样对齐。然后在第一电路延迟下,对多个比特信号与采样时钟信号采样对齐的时钟脉冲进行校验,进而根据校验结果确定每个比特信号在传输路径上的第二电路延迟,第二电路延迟使多个比特信号分别与采样时钟信号的同一时钟脉冲满足采样对齐,至此完成DERR管脚的训练。该训练过程计算出在DERR管脚所表示的传输路径上设置第二电路延迟才可以校正DERR信号的采样偏移,实现采样对齐,而传输DERR信号所使用的DERR管脚所表示的传输路径是固定的,故可以基于此次训练得到的第二电路延迟设置传输路径上的延迟电路,从而保证在实际使用该DERR管脚时,通过该延迟电路将DERR信号与采样时钟信号之间的偏移调整回来,重新实现采样对齐,降低DERR信号采样错误的可能性,进而保证HBM的主机及时的察觉到校验错误,及时的进行重传或其他处理,降低出现HBM DRAM存储数据或读取数据的错误的可能性。
本申请实施例还提供了一种电子设备,该电子设备可以执行高带宽存储器的DERR管脚的训练方法。该电子设备例如可以是终端,以终端为智能手机为例:
图11示出的是与本申请实施例提供的智能手机的部分结构的框图。参考图11,智能手机包括:射频(英文全称:Radio Frequency,英文缩写:RF)电路1110、存储器1120、输入单元1130、显示单元1140、传感器1150、音频电路1160、无线保真(英文缩写:WiFi)模块1170、处理器1180、以及电源1190等部件。输入单元1130可包括触控面板1131以及其他输入设备1132,显示单元1140可包括显示面板1141,音频电路1160可以包括扬声器1161和传声器1162。可以理解的是,图11中示出的智能手机结构并不构成对智能手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储器1120可用于存储软件程序以及模块,处理器1180通过运行存储在存储器1120的软件程序以及模块,从而执行智能手机的各种功能应用以及数据处理。存储器1120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据智能手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器1180是智能手机的控制中心,利用各种接口和线路连接整个智能手机的各个部分,通过运行或执行存储在存储器1120内的软件程序和/或模块,以及调用存储在存储器1120内的数据,执行智能手机的各种功能和处理数据。可选的,处理器1180可包括一个或多个处理单元;优选的,处理器1180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1180中。
在本实施例中,智能手机中的处理器1180可以执行以下步骤:
产生带有校验错误的数据字模式;
向动态随机存取存储器发送所述数据字模式;
通过所述DERR管脚传输所述动态随机存取存储器反馈的数据字错误DERR信号,所述DERR信号包括多个比特信号;
将所述多个比特信号中每个比特信号分别作为目标比特信号,确定所述目标比特信号在所述DERR管脚所表示的传输路径上的第一电路延迟,所述第一电路延迟使所述目标比特信号与采样时钟信号之间满足采样对齐;
在所述第一电路延迟下,对所述多个比特信号与所述采样时钟信号采样对齐的时钟脉冲进行校验;
根据校验结果确定所述每个比特信号在所述传输路径上的第二电路延迟,以完成所述DERR管脚的训练,所述第二电路延迟使所述多个比特信号分别与所述采样时钟信号的同一时钟脉冲满足采样对齐。
本申请实施例提供的电子设备还可以是服务器,请参见图12所示,图12为本申请实施例提供的服务器1200的结构图,服务器1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,简称CPU)1222(例如,一个或一个以上处理器)和存储器1232,一个或一个以上存储应用程序1242或数据1244的存储介质1230(例如一个或一个以上海量存储设备)。其中,存储器1232和存储介质1230可以是短暂存储或持久存储。存储在存储介质1230的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1222可以设置为与存储介质1230通信,在服务器1200上执行存储介质1230中的一系列指令操作。
服务器1200还可以包括一个或一个以上电源1226,一个或一个以上有线或无线网络接口1250,一个或一个以上输入输出接口1258,和/或,一个或一个以上操作系统1241,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
在本实施例中,服务器1200中的中央处理器1222可以执行以下步骤:
产生带有校验错误的数据字模式;
向动态随机存取存储器发送所述数据字模式;
通过所述DERR管脚传输所述动态随机存取存储器反馈的数据字错误DERR信号,所述DERR信号包括多个比特信号;
将所述多个比特信号中每个比特信号分别作为目标比特信号,确定所述目标比特信号在所述DERR管脚所表示的传输路径上的第一电路延迟,所述第一电路延迟使所述目标比特信号与采样时钟信号之间满足采样对齐;
在所述第一电路延迟下,对所述多个比特信号与所述采样时钟信号采样对齐的时钟脉冲进行校验;
根据校验结果确定所述每个比特信号在所述传输路径上的第二电路延迟,以完成所述DERR管脚的训练,所述第二电路延迟使所述多个比特信号分别与所述采样时钟信号的同一时钟脉冲满足采样对齐。
根据本申请的一个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行前述各个实施例所述的高带宽存储器的DERR管脚的训练方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述实施例各种可选实现方式中提供的方法。
上述各个附图对应的流程或结构的描述各有侧重,某个流程或结构中没有详述的部分,可以参见其他流程或结构的相关描述。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术成员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (15)
1.一种高带宽存储器的DERR管脚的训练方法,其特征在于,所述方法包括:
产生带有校验错误的数据字模式;
向动态随机存取存储器发送所述数据字模式;
通过所述DERR管脚传输所述动态随机存取存储器反馈的数据字错误DERR信号,所述DERR信号包括多个比特信号;
将所述多个比特信号中每个比特信号分别作为目标比特信号,确定所述目标比特信号在所述DERR管脚所表示的传输路径上的第一电路延迟,所述第一电路延迟使所述目标比特信号与采样时钟信号之间满足采样对齐;
在所述第一电路延迟下,对所述多个比特信号与所述采样时钟信号采样对齐的时钟脉冲进行校验;
根据校验结果确定所述每个比特信号在所述传输路径上的第二电路延迟,以完成所述DERR管脚的训练,所述第二电路延迟使所述多个比特信号分别与所述采样时钟信号的同一时钟脉冲满足采样对齐。
2.根据权利要求1所述的方法,其特征在于,所述确定所述目标比特信号在所述DERR管脚所表示的传输路径上的第一电路延迟,包括:
获取所述目标比特信号在所述传输路径上的初始电路延迟;
在所述初始电路延迟的基础上增加电路延迟,直至采集到的所述目标比特信号的数值为0,得到第三电路延迟;
在所述初始电路延迟的基础上降低电路延迟,直至采集到的所述目标比特信号的数值为0,得到第四电路延迟;
对所述第三电路延迟和所述第四电路延迟求平均,得到所述第一电路延迟。
3.根据权利要求2所述的方法,其特征在于,所述传输路径上设置有所述目标比特信号对应的延迟电路,所述延迟电路包括多个延迟单元,每个延迟单元之后具有对应的抽头接口,所述延迟电路由步进计数器控制,所述步进计数器用于控制所述目标比特信号从目标抽头接口接出,所述目标比特信号从所述目标抽头接口接出之后,在所述目标抽头之前所述目标比特信号所经过的延迟单元的数量决定所述目标比特信号在所述传输路径上电路延迟的大小。
4.根据权利要求3所述的方法,其特征在于,所述在所述初始电路延迟的基础上增加电路延迟,直至采集到的所述目标比特信号的数值为0,得到第三电路延迟,包括:
在所述初始电路延迟的基础上,通过调整所述步进计数器的值来增加电路延迟,直至采集到的所述目标比特信号的数值变为0,得到所述第三电路延迟,所述步进计数器的值表示在所述目标抽头之前所述目标比特信号所经过的延迟单元的数量,所述第三电路延迟为所述目标比特信号所经过的延迟单元的第一数量;
所述在所述初始电路延迟的基础上降低电路延迟,直至采集到的所述目标比特信号的数值为0,得到第四电路延迟,包括:
在所述初始电路延迟的基础上,通过调整所述步进计数器的值来降低电路延迟,直至采集到的所述目标比特信号的数值变为0,得到所述第四电路延迟,所述第四电路延迟为所述目标比特信号所经过的延迟单元的第二数量;
所述对所述第三电路延迟和所述第四电路延迟求平均,得到所述第一电路延迟,包括:
对所述第一数量和所述第二数量求平均,得到所述第一电路延迟。
5.根据权利要求2-4任一项所述的方法,其特征在于,所述获取所述目标比特信号在所述传输路径上的初始电路延迟,包括:
获取所述目标比特信号在所述传输路径上的初始子电路延迟;
将所述初始子电路延迟与预设电路延迟阈值比对;
若比对结果为所述初始子电路延迟大于所述预设电路延迟阈值,降低产生所述数据字模式的主机的工作频率,直至调整后的所述初始子电路延迟小于或等于所述预设电路延迟阈值,并将调整后的所述初始子电路延迟确定为所述初始电路延迟。
6.根据权利要求1所述的方法,其特征在于,所述在所述第一电路延迟下,对所述多个比特信号与所述采样时钟信号采样对齐的时钟脉冲进行校验,包括:
校验所述多个比特信号与所述采样时钟信号采样对齐的时钟脉冲是否相同;
所述根据校验结果确定所述每个比特信号在所述传输路径上的第二电路延迟,包括:
若所述校验结果指示所述多个比特信号与所述采样时钟信号采样对齐的时钟脉冲不相同,对所述第一电路延迟进行调整直到所述多个比特信号分别与所述采样时钟信号的同一时钟脉冲满足采样对齐,得到所述第二电路延迟;
若所述校验结果指示所述多个比特信号与所述采样时钟信号采样对齐的时钟脉冲相同,将所述第一电路延迟确定为对应的比特信号的所述第二电路延迟。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
按照所述每个比特信号在对应传输路径上的第二电路延迟,配置对应传输路径上的目标延迟电路;
通过所述目标延迟电路,对传输的目标DERR信号中的比特信号进行偏移调整。
8.根据权利要求7所述的方法,其特征在于,若所述第二电路延迟为比特信号所经过的延迟单元的数量,所述按照所述每个比特信号在对应传输路径上的第二电路延迟,配置对应传输路径上的目标延迟电路,包括:
将所述目标延迟电路中步进计数器的值调整为所述比特信号所经过的延迟单元的数量。
9.根据权利要求1-4任一项所述的方法,其特征在于,所述产生带有校验错误的数据字模式,包括:
按照预设周期产生带有校验错误的数据字模式;
或者,若确定环境信息的变化程度超出预设变化阈值,产生带有校验错误的数据字模式。
10.根据权利要求1-4任一项所述的方法,其特征在于,所述数据字模式中包括数据、数据掩码信号、数据总线翻转信号,所述产生带有校验错误的数据字模式,包括:
获取数据字配置信息,所述数据字配置信息用于指示所述数据、所述数据掩码信号和所述数据总线翻转信号的使用情况;
根据所述数据、所述数据掩码信号和所述数据总线翻转信号的使用情况,产生带有校验错误的数据字模式。
11.根据权利要求10所述的方法,其特征在于,所述使用情况包括以下任意一种:
所述数据、所述数据掩码信号和所述数据总线翻转信号均使能;
所述数据和所述数据总线翻转信号均使能,且所述数据掩码信号禁能;
所述数据使能,且所述数据掩码信号和所述数据总线翻转信号均禁能。
12.一种高带宽存储器的DERR管脚的训练装置,其特征在于,所述装置包括产生单元、发送单元、传输单元、确定单元和校验单元:
所述产生单元,用于产生带有校验错误的数据字模式;
所述发送单元,用于向动态随机存取存储器发送所述数据字模式;
所述传输单元,用于通过所述DERR管脚传输所述动态随机存取存储器反馈的数据字错误DERR信号,所述DERR信号包括多个比特信号;
所述确定单元,用于将所述多个比特信号中每个比特信号分别作为目标比特信号,确定所述目标比特信号在所述DERR管脚所表示的传输路径上的第一电路延迟,所述第一电路延迟使所述目标比特信号与采样时钟信号之间满足采样对齐;
所述校验单元,用于在所述第一电路延迟下,对所述多个比特信号与所述采样时钟信号采样对齐的时钟脉冲进行校验;
所述确定单元,还用于根据校验结果确定所述每个比特信号在所述传输路径上的第二电路延迟,以完成所述DERR管脚的训练,所述第二电路延迟使所述多个比特信号分别与所述采样时钟信号的同一时钟脉冲满足采样对齐。
13.一种电子设备,其特征在于,所述电子设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-11任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码当被处理器执行时使所述处理器执行权利要求1-11任一项所述的方法。
15.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210762703.2A CN115116489A (zh) | 2022-06-30 | 2022-06-30 | 高带宽存储器的derr管脚的训练方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210762703.2A CN115116489A (zh) | 2022-06-30 | 2022-06-30 | 高带宽存储器的derr管脚的训练方法和相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115116489A true CN115116489A (zh) | 2022-09-27 |
Family
ID=83330028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210762703.2A Pending CN115116489A (zh) | 2022-06-30 | 2022-06-30 | 高带宽存储器的derr管脚的训练方法和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115116489A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115881183A (zh) * | 2022-12-29 | 2023-03-31 | 中茵微电子(南京)有限公司 | 训练触发方法、装置、设备及存储介质 |
CN116879725A (zh) * | 2023-09-06 | 2023-10-13 | 西安紫光国芯半导体股份有限公司 | 一种采样电路、自测试电路以及芯片 |
-
2022
- 2022-06-30 CN CN202210762703.2A patent/CN115116489A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115881183A (zh) * | 2022-12-29 | 2023-03-31 | 中茵微电子(南京)有限公司 | 训练触发方法、装置、设备及存储介质 |
CN115881183B (zh) * | 2022-12-29 | 2023-10-10 | 中茵微电子(南京)有限公司 | 训练触发方法、装置、设备及存储介质 |
CN116879725A (zh) * | 2023-09-06 | 2023-10-13 | 西安紫光国芯半导体股份有限公司 | 一种采样电路、自测试电路以及芯片 |
CN116879725B (zh) * | 2023-09-06 | 2023-12-08 | 西安紫光国芯半导体股份有限公司 | 一种采样电路、自测试电路以及芯片 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115116489A (zh) | 高带宽存储器的derr管脚的训练方法和相关装置 | |
CN100452064C (zh) | 模拟异步接口的行为的方法和系统 | |
CN203457123U (zh) | 用于时钟布置的装置和系统 | |
US9760525B2 (en) | Sideband signal consolidation fanout using a clock generator chip | |
CN110347529B (zh) | 用于执行错误侦测协议的存储器装置及方法 | |
US10347347B1 (en) | Link training mechanism by controlling delay in data path | |
CN113568848B (zh) | 处理器、信号调整方法及计算机系统 | |
JP7065255B2 (ja) | 高速ハードウェア送信等化 | |
US8589717B1 (en) | Serial peripheral interface | |
US10175296B2 (en) | Testing a board assembly using test cards | |
US20240095436A1 (en) | Method and device for automatic verification of pin multiplexing | |
CN111651395A (zh) | 一种地址配置方法、装置、设备及机器可读存储介质 | |
CN109901664B (zh) | 提供时钟信号的方法、装置、系统、设备及可读存储介质 | |
US8391162B2 (en) | Apparatus and method for testing SMNP cards | |
US10769038B2 (en) | Counter circuitry and methods including a master counter providing initialization data and fault detection data and wherein a threshold count difference of a fault detection count is dependent upon the fault detection data | |
EP2942714B1 (en) | Monitoring method, monitoring apparatus, and electronic device | |
US10942884B2 (en) | Dual-edge triggered ring buffer and communication system | |
CN113177388B (zh) | 用于ip核测试与验证的装置、系统及方法 | |
CN115113926A (zh) | 指令字处理电路、芯片及方法 | |
CN114610549A (zh) | 一种串口闪存芯片测试系统和测试方法 | |
US8489943B2 (en) | Protocol sequence generator | |
JP6725692B2 (ja) | 非同期フィードバックトレーニング | |
CN112534414A (zh) | 软件跟踪消息接收器外围设备 | |
US20140129909A1 (en) | Switchable per-lane bit error count | |
US20230141802A1 (en) | Method and interconnect interface for built-in self-test |
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 |