应用于存储器接口的眼图判断电路及其眼图判断方法与流程



1.本技术涉及存储器技术领域,尤其涉及一种应用于存储器接口的眼图判断电路及其眼图判断方法。


背景技术:



2.现有的存储器接口在链路训练的过程中,通常采用软件实现眼图判断以确定读写过程中的最佳参考电压和最佳dqs(bidirectional data strobe,数据选通信号)延时。但由于软件操作部分耗时长,将严重影响系统开机速度,大量的软件程序代码也将大大增加开发、调试、设计说明和驱动管理的难度,同时还会占用大量的存储空间。


技术实现要素:



3.本技术提供一种应用于存储器接口的眼图判断电路及其眼图判断方法,以用于解决现有技术采用软件实现眼图判断导致的系统开机速度慢,开发、调试、设计说明和驱动管理的难度高,以及占用大量存储空间的问题。
4.本技术提供一种应用于存储器接口的眼图判断电路,所述电路包括:
5.数据比较控制模块、训练计数模块、眼图判断模块、第一寄存器和第二寄存器;
6.所述数据比较控制模块用于比对各轮训练过程对应的读取数据和预期数据之间的差异,以得到各轮训练过程对应的读取数据的错误比特数,并在每轮比对结束后生成dqs延时值的增减控制信号;
7.所述训练计数模块用于基于所述dqs延时值的增减控制信号调节粗延迟和细延迟,并将更新的粗延迟和细延迟写入所述第一寄存器;
8.所述眼图判断模块用于基于各轮训练过程对应的读取数据的错误比特数以及dqs延时值确定左眼、中眼和右眼分别对应的dqs延时值,并将所述左眼、中眼和右眼分别对应的dqs延时值写入所述第二寄存器。
9.根据本技术提供的一种应用于存储器接口的眼图判断电路,所述眼图判断模块包括:
10.逻辑开关控制电路、正确次数加减逻辑电路、错误次数加减逻辑电路、眼图检测抓取逻辑电路和眼图双重过滤电路;
11.所述逻辑开关控制电路用于基于眼图判断开始信号和眼图判断结束信号使能所述正确次数加减逻辑电路、错误次数加减逻辑电路、眼图检测抓取逻辑电路;
12.所述正确次数加减逻辑电路用于确定训练过程中读取数据连续正确的次数,所述错误次数加减逻辑电路用于确定训练过程中读取数据连续错误的次数;
13.所述眼图检测抓取逻辑电路用于基于各轮训练过程对应的读取数据的错误比特数确定训练过程中读取数据的状态值,所述状态值包括正确状态对应的第一状态值和错误状态对应的第二状态值;
14.所述眼图双重过滤电路用于基于训练过程中读取数据连续正确的次数、读取数据
连续错误的次数、读取数据的状态值以及各轮训练过程对应的dqs延时值,过滤故障导致的异常状态值并确定左眼、中眼和右眼分别对应的dqs延时值。
15.根据本技术提供的一种应用于存储器接口的眼图判断电路,所述眼图判断电路还包括清零控制电路和累加控制电路;
16.所述清零控制电路用于基于眼图判断结束信号和各轮训练过程对应的读取数据的错误比特数分别对所述正确次数加减逻辑电路和所述错误次数加减逻辑电路对应的计数值进行清零控制;
17.所述累加控制电路用于基于各轮训练过程对应的读取数据的错误比特数分别对所述正确次数加减逻辑电路和所述错误次数加减逻辑电路对应的计数值进行累加控制。
18.根据本技术提供的一种应用于存储器接口的眼图判断电路,所述眼图判断模块还包括软件控制电路,所述软件控制电路用于确定训练过程中是否采用所述眼图判断模块进行眼图自动判断。
19.根据本技术提供的一种应用于存储器接口的眼图判断电路,所述第一寄存器为软硬件可读写寄存器,所述第二寄存器为软件可读写寄存器。
20.根据本技术提供的一种应用于存储器接口的眼图判断电路,各轮训练过程均包括一次写操作和一次读操作,相应的,所述预期数据为写操作对应的有效dq信号,所述读取数据为读操作对应的有效dq信号。
21.本技术还提供一种应用于存储器接口的眼图判断电路的眼图判断方法,所述方法包括:
22.设置训练次数、正确次数阈值和错误次数阈值,并基于所述训练次数开始训练;
23.数据比较控制模块比对各轮训练过程对应的读取数据和预期数据之间的差异,以得到各轮训练过程对应的读取数据的错误比特数并发送给眼图判断模块;
24.眼图判断模块基于各轮训练过程对应的读取数据的错误比特数以及dqs延时值、所述正确次数阈值和错误次数阈值,确定左眼、中眼和右眼分别对应的dqs延时值。
25.根据本技术提供的一种应用于存储器接口的眼图判断电路的眼图判断方法,所述眼图判断模块基于各轮训练过程对应的读取数据的错误比特数以及dqs延时值、所述正确次数阈值和错误次数阈值,确定左眼、中眼和右眼分别对应的dqs延时值,具体包括:
26.逻辑开关控制电路基于眼图判断开始信号和眼图判断结束信号使能所述正确次数加减逻辑电路、错误次数加减逻辑电路、眼图检测抓取逻辑电路;
27.所述正确次数加减逻辑电路确定训练过程中读取数据连续正确的次数,所述错误次数加减逻辑电路用于确定训练过程中读取数据连续错误的次数;
28.所述眼图检测抓取逻辑电路基于各轮训练过程对应的读取数据的错误比特数确定训练过程中读取数据的状态值;
29.眼图双重过滤电路基于训练过程中读取数据连续正确的次数、读取数据连续错误的次数、读取数据的状态值、各轮训练过程对应的dqs延时值以及所述正确次数阈值和错误次数阈值,过滤故障导致的异常状态值并确定左眼、中眼和右眼分别对应的dqs延时值。
30.根据本技术提供的一种应用于存储器接口的眼图判断电路的眼图判断方法,所述基于训练过程中读取数据连续正确的次数、读取数据连续错误的次数、读取数据的状态值、各轮训练过程对应的dqs延时值以及所述正确次数阈值和错误次数阈值,过滤故障导致的
异常状态值并确定左眼、中眼和右眼分别对应的dqs延时值,具体包括:
31.基于训练过程中读取数据连续正确的次数、读取数据连续错误的次数以及所述正确次数阈值和错误次数阈值,过滤读取数据的状态值中故障导致的异常状态值;
32.基于更新的读取数据的状态值以及各轮训练过程对应的dqs延时值,确定左眼、中眼和右眼分别对应的dqs延时值。
33.根据本技术提供的一种应用于存储器接口的眼图判断电路的眼图判断方法,所述基于更新的读取数据的状态值以及各轮训练过程对应的dqs延时值,确定左眼、中眼和右眼分别对应的dqs延时值,具体包括:
34.基于更新的读取数据的状态值以及各轮训练过程对应的dqs延时值确定左眼对应的dqs延时值和右眼对应的dqs延时值,并基于所述左眼对应的dqs延时值和右眼对应的dqs延时值的比对结果确定中间眼对应的的dqs延时值。
35.本技术提供的应用于存储器接口的眼图判断电路及其眼图判断方法,所述电路包括:数据比较控制模块、训练计数模块、眼图判断模块、第一寄存器和第二寄存器;所述数据比较控制模块用于比对各轮训练过程对应的读取数据和预期数据之间的差异,以得到各轮训练过程对应的读取数据的错误比特数,并在每轮比对结束后生成dqs延时值的增减控制信号;所述训练计数模块用于基于所述dqs延时值的增减控制信号调节粗延迟和细延迟,并将更新的粗延迟和细延迟写入所述第一寄存器;所述眼图判断模块用于基于各轮训练过程对应的读取数据的错误比特数以及dqs延时值确定左眼、中眼和右眼分别对应的dqs延时值,并将所述左眼、中眼和右眼分别对应的dqs延时值写入所述第二寄存器,能够避免采用软件实现眼图判断导致的系统开机速度慢,开发、调试、设计说明和驱动管理的难度高,以及占用大量存储空间的问题。
附图说明
36.为了更清楚地说明本技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
37.图1是本技术提供的应用于存储器接口的眼图判断电路的结构示意图;
38.图2是本技术提供的眼图判断模块的结构示意图;
39.图3是本技术提供的正常情形和异常情形的对比示意图;
40.图4是本技术提供的应用于存储器接口的眼图判断电路的眼图判断方法的流程示意图;
41.图5是本技术提供的电子设备的实体结构示意图。
具体实施方式
42.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术中的附图,对本技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
43.图1是本技术提供的应用于存储器接口的眼图判断电路的结构示意图,如图1所示,所述电路包括:
44.数据比较控制模块、训练计数模块、眼图判断模块、第一寄存器和第二寄存器;
45.所述数据比较控制模块用于比对各轮训练过程对应的读取数据和预期数据之间的差异,以得到各轮训练过程对应的读取数据的错误比特数,并在每轮比对结束后生成dqs延时值的增减控制信号;
46.所述训练计数模块用于基于所述dqs延时值的增减控制信号调节粗延迟和细延迟,并将更新的粗延迟和细延迟写入所述第一寄存器;
47.所述眼图判断模块用于基于各轮训练过程对应的读取数据的错误比特数以及dqs延时值确定左眼、中眼和右眼分别对应的dqs延时值,并将所述左眼、中眼和右眼分别对应的dqs延时值写入所述第二寄存器。
48.具体的,所述眼图判断电路可应用于ddr(double data rate sdram,双倍速率同步动态随机存储器)、lpddr(low power double data rate sdram,低功耗双倍速率同步动态随机存储器)等高速存储器接口,以在存储器接口的链路训练过程中确定最佳眼图。链路训练包括多轮训练过程,每轮训练均包括对应的参考电压值和dqs延时值。即,对于任一参考电压值,需要在不同的dqs延时值下训练以得到存储器的扫描结果。对于任一dqs延时值,需要在不同的参考电压下训练以得到存储器的扫描结果。得到不同参考电压值下不同dqs延时值对应的存储器扫描结果之后,即可生成完整的存储器眼图,进而确定读写过程中的最佳参考电压值和最佳dqs延时值。
49.对于某一轮次训练,其具体训练过程如下:
50.存储器控制器向存储器发送写操作指令,并基于当前轮次对应的dqs延时值向所述存储器发送数据信号dq及数据选通信号dqs。具体地,存储器控制器可基于所述预设的dqs延时值对待写入存储器的dqs信号进行相位调整后,与未进行相位调整的dq信号一起通过存储器接口发送至所述存储器。
51.存储器接收到存储器控制器发送的dq信号和dqs信号,实现数据写入。在完成数据写入后,存储器控制器再从存储器读取所写入的数据,即获取存储器发送的dq信号及dqs信号,进而利用当前训练轮次对应的参考电压值,得到存储器的读操作扫描结果。具体地,可以利用所获取的dqs信号对所获取的dq信号进行采样,得到采样结果信号,将所述采样结果信号的电压与当前训练轮次对应的参考电压值进行比较,得到存储器的读操作扫描结果。
52.基于上述链路训练过程,本技术实施例的应用于存储器接口的眼图判断电路能够准确确定存储器眼图及眼图中左眼(即眼图左边界)、中眼(即眼图中间位置)和右眼(即眼图右边界)对应的dqs延时值。具体的:
53.链路训练开始后,存储器控制器基于不同的参考电压值和dqs延时值组合对存储器进行不同轮次的写操作和读操作,在进行写操作时,存储器控制器会将写入存储器的数据(即写操作对应的有效dq信号,图1中用exp_data表示)发送给数据比较控制模块,以便数据比较控制模块将exp_data信号作为预期数据与读取数据进行比较,以确定当前轮次训练过程对应的读取数据的错误比特数。所述读取数据为读操作对应的有效dq信号,即前述采样结果信号。基于前述内容可知,所述读取数据是基于存储器发送的dq信号(即图1中rcv_data)和dqs信号(即图1中rx_valid)得到的。所述存储器发送的dq信号和dqs信号可由存储
器控制器转发给数据比较控制模块,也可由所述数据比较控制模块直接从存储器接收,本技术实施例对此不做具体限定。基于rcv_data和rx_valid信号确定读取数据之后,所述数据比较控制模块即可比对当前轮次训练过程对应的读取数据和预期数据之间的差异,以得到当前轮次训练过程对应的读取数据的错误比特数。通过重复上述比对过程,所述数据比较控制模块即可得到各轮训练过程对应的读取数据的错误比特数,并将读取数据的错误比特数信号(即图1中bad_cnt)发送给眼图判断模块。
54.在每轮比对结束后,所述数据比较控制模块还用于生成dqs延时值的增减控制信号(即图1中plus和minus)并发送给所述训练计数模块,所述训练计数模块用于基于所述dqs延时值的增减控制信号调节粗延迟和细延迟,并将更新的粗延迟(即图1中coarse_dly_i)和细延迟(即图1中fine_dly_i)写入所述第一寄存器,具体的写入过程为:依次向所述第一寄存器发送粗延迟写入使能信号(即图1中coarse_dly_i_en)和细延迟写入使能信号(即图1中fine_dly_i_en)以使能所述第一寄存器的粗延迟写入功能和细延迟写入功能,再向所述第一寄存器发送coarse_dly_i和fine_dly_i信号,即可将更新的粗延迟和细延迟写入所述第一寄存器。存储器控制器通过读取所述第一寄存器中更新的粗延迟和细延迟,即可确定下一轮训练对应的dqs延时值。可以理解的是,所述粗延迟用于对dqs延时值进行快速调节,所述细延迟用于对dqs延时值进行精细调节,基于所述粗延迟和细延迟,能够对各轮训练对应的dqs延时值进行准确控制。所述数据比较控制模块还可以输出存在错误的情况(即图1中err),以用于进一步调节粗延迟和细延迟,保证链路训练过程中dqs延时值的准确性。
55.所述眼图判断模块用于基于各轮训练过程对应的读取数据的错误比特数以及dqs延时值确定左眼、中眼和右眼分别对应的dqs延时值,基于前述内容可以理解的是,各轮训练过程对应的读取数据的错误比特数是由所述数据比较控制模块得到并发送给所述眼图判断模块,各轮训练过程对应的dqs延迟值,眼图判断模块可以通过读取所述第一寄存器中更新的粗延迟和细延迟确定。左眼、中眼和右眼分别对应的dqs延时值是基于同一参考电压值下不同dqs延时值对应的训练轮次得到的读取数据的错误比特数以及dqs延时值确定的。也就是说,对于不同的参考电压值,左眼、中眼和右眼分别对应的dqs延时值不同,即链路训练过程中会产生与参考电压值对应的多组dqs延时值,每组dqs延时值中均包括左眼、中眼和右眼分别对应的dqs延时值。基于此,能够准确确定读写过程中的最佳参考电压值和最佳dqs延时值。
56.基于各轮训练过程对应的读取数据的错误比特数以及dqs延时值确定左眼、中眼和右眼分别对应的dqs延时值之后,所述眼图判断模块进一步将所述左眼、中眼和右眼分别对应的dqs延时值写入所述第二寄存器,以便后续软件通过所述左眼、中眼和右眼分别对应的dqs延时值确定最佳参考电压值和最佳dqs延时值。
57.基于上述内容可知,所述第一寄存器需要同时支持软硬件读写操作,所述第一寄存器仅需支持软件读写操作,因此,所述第一寄存器采用软硬件可读写寄存器,所述第二寄存器采用软件可读写寄存器。
58.本技术实施例提供的应用于存储器接口的眼图判断电路,所述电路包括:数据比较控制模块、训练计数模块、眼图判断模块、第一寄存器和第二寄存器;所述数据比较控制模块用于比对各轮训练过程对应的读取数据和预期数据之间的差异,以得到各轮训练过程
对应的读取数据的错误比特数,并在每轮比对结束后生成dqs延时值的增减控制信号;所述训练计数模块用于基于所述dqs延时值的增减控制信号调节粗延迟和细延迟,并将更新的粗延迟和细延迟写入所述第一寄存器;所述眼图判断模块用于基于各轮训练过程对应的读取数据的错误比特数以及dqs延时值确定左眼、中眼和右眼分别对应的dqs延时值,并将所述左眼、中眼和右眼分别对应的dqs延时值写入所述第二寄存器,能够避免采用软件实现眼图判断导致的系统开机速度慢,开发、调试、设计说明和驱动管理的难度高,以及占用大量存储空间的问题。
59.基于上述任一实施例,图2是本技术提供的眼图判断模块的结构示意图,如图2所示,所述眼图判断模块包括:
60.逻辑开关控制电路、正确次数加减逻辑电路、错误次数加减逻辑电路、眼图检测抓取逻辑电路和眼图双重过滤电路;
61.所述逻辑开关控制电路用于基于眼图判断开始信号和眼图判断结束信号使能所述正确次数加减逻辑电路、错误次数加减逻辑电路、眼图检测抓取逻辑电路;
62.所述正确次数加减逻辑电路用于确定训练过程中读取数据连续正确的次数,所述错误次数加减逻辑电路用于确定训练过程中读取数据连续错误的次数;
63.所述眼图检测抓取逻辑电路用于基于各轮训练过程对应的读取数据的错误比特数确定训练过程中读取数据的状态值,所述状态值包括正确状态对应的第一状态值和错误状态对应的第二状态值;
64.所述眼图双重过滤电路用于基于训练过程中读取数据连续正确的次数、读取数据连续错误的次数、读取数据的状态值以及各轮训练过程对应的dqs延时值,过滤故障导致的异常状态值并确定左眼、中眼和右眼分别对应的dqs延时值。
65.具体的,眼图判断开始信号(即图2中eye_margin_judge_start)和眼图判断结束信号(即图2中eye_margin_judge_done)可基于链路训练的进度由软件或硬件生成,本技术实施例对此不作具体限定。所述逻辑开关控制电路可基于眼图判断开始信号和眼图判断结束信号确定执行眼图判断的时间区间并生成眼图判断使能信号(即图2中eye_margin_judge_en),进而使能所述正确次数加减逻辑电路、错误次数加减逻辑电路和眼图检测抓取逻辑电路。
66.所述正确次数加减逻辑电路用于确定训练过程中读取数据连续正确的次数,所述错误次数加减逻辑电路用于确定训练过程中读取数据连续错误的次数。所述正确次数加减逻辑电路可基于计数器实现正确次数的计数,如果识别到bad_cnt(即图2中rg_bad_cnt_dq 0/1/2/3/4/5/6/7/dmi_i[15:0],与图1中bad_cnt含义相同,均表示读取数据的错误比特数信号)为0时则认为此次训练结果反馈正确,这时所述正确次数加减逻辑电路的计数器进行加1的动作,直到遇到bad_cnt不为0,则将计数器清0。基于此即可以得到连续正确次数的值。类似的,所述错误次数加减逻辑电路同样可基于计数器实现错误次数的计数,如果识别到bad_cnt不为0时则认为此次训练结果反馈错误,这时所述错误次数加减逻辑电路的计数器进行加1的动作,直到遇到bad_cnt为0,则将计数器清0。基于此即可以得到连续错误次数的值。
[0067]
在链路训练的过程中可能会收到环境或电路故障等影响导致bad_cnt与真实情况不符的情形,例如当前dqs延时值对应的bad_cnt正确,但切换到下一个dqs延时值时可能由
于一些环境条件的影响,导致bad_cnt错误(即bad_cnt本应为0,但实际输出值不为0,或,bad_cnt本应不为0,但实际输出值为0),bad_cnt错误将直接导致眼图判断结果错误。图3是本技术提供的正常情形和异常情形的对比示意图,其中,正常情形指bad_cnt未出现错误的情形,异常情形指bad_cnt出现错误的情形。如图3所示,用x代表比对结果(即读取数据和预期数据的比对结果)不一致,用0代表比对结果一致,每一个x或0对应于一轮训练过程,基于收到的bad_cnt信号,正常情形(即图3中normal case)包括以下三种情况:1、左右边界都有;2、只有右边界;3、只有左边界。值得注意的是,上述正常情形1-3对应的眼图中,均只存在一个眼。但当出现bad_cnt错误时,如图3所示,可能会出现多个眼的异常情形(即图3中abnormal case,共包括3个眼),进而导致左眼、中眼和右眼无法判断或判断错误的情况。因此,在眼图判断模块的硬件设计中不光需要准确识别到normal case中的左中右边界,也需要识别到出现的abnormal case并过滤掉由故障或环境等因素导致的误报。基于此,本技术实施例会预先设置正确次数阈值(即图2中rg_training_eye_margin_gdcnt)和错误次数阈值(即图2中rg_training_eye_margin_badcnt),例如令rg_training_eye_margin_gdcnt=2,则代表读取数据连续正确2次以上才会被判定为正确,同时rg_training_eye_margin_badcnt=3,则代表读取数据连续错误3次以上才会被判定为错误。基于此,对于图3中的异常情形,可以排除掉左侧的两个由于异常导致的假眼,进而保证眼图判断的准确性。
[0068]
所述眼图检测抓取逻辑电路用于基于各轮训练过程对应的读取数据的错误比特数(即图2中rg_bad_cnt_dq 0/1/2/3/4/5/6/7/dmi_i[15:0])确定训练过程中读取数据的状态值,所述状态值包括正确状态对应的第一状态值(通常采用高电平表示,即为1)和错误状态对应的第二状态值(通常采用低电平表示,即为0)。如图2所示,good_bad_compared_cnt_en_dq0/1/2/3/4/5/6/7/dmi为使能信号,在使能信号的控制下,所述眼图检测抓取逻辑电路对输入的rg_bad_cnt_dq 0/1/2/3/4/5/6/7/dmi_i[15:0]信号进行或逻辑运算,生成dq_err信号,所述dq_err信号为1代表当前读取数据错误,为0代表当前读取数据正确,基于此,所述眼图双重过滤电路即可基于所述dq_err信号确定左眼、中眼和右眼。可以理解的是,当dq_err信号发生跳变时,即认为当前出现了左眼或右眼。
[0069]
在前述内容的基础上,所述眼图双重过滤电路可以基于训练过程中读取数据连续正确的次数(即图2中dq_good_cnt[15:0])、读取数据连续错误的次数(即图2中dq_bad_cnt[15:0])、读取数据的状态值(即图2中dq_err)以及各轮训练过程对应的dqs延时值(即图2中ctc_fine_dly_dq0/1/2/3/4/5/6/7/dmi_i[15:0]和ctc_coarse_dly_dq 0/1/2/3/4/5/6/7/dmi_i[15:0]),过滤故障导致的异常状态值并确定左眼、中眼和右眼分别对应的dqs延时值(即图2中rg_left_eye_dq 0/1/2/3/4/5/6/7/dmi_i[15:0]、rg_mid_eye_dq0/1/2/3/4/5/6/7/dmi_i[15:0]和rg_right_eye_dq 0/1/2/3/4/5/6/7/dmi_i[15:0])。具体的,眼图双重过滤电路首先基于训练过程中读取数据连续正确的次数、读取数据连续错误的次数以及所述正确次数阈值(即图2中rg_training_eye_margin_gdcnt[7:0])和错误次数阈值(即图2中rg_training_eye_margin_bdcnt[7:0]),过滤读取数据的状态值中故障导致的异常状态值,再基于更新的读取数据的状态值以及各轮训练过程对应的dqs延时值,确定左眼、中眼和右眼分别对应的dqs延时值。可以理解的是,所述过滤可以是直接删除对应的异常状态值,也可以是屏蔽所述异常状态值,即不采用所述异常状态值进行眼图判断。
[0070]
同时,所述眼图双重过滤电路中还设置有中眼的计算逻辑,仅当左眼对应的dqs延
时值小于右眼对应的dqs延时值时才会计算中眼对应的延时值。基于前述内容可知,当dq_err信号发生跳变时,即认为当前出现了左眼或右眼,而每一轮训练中都会有对应的粗延迟和细延迟,基于此,即可准确确定左眼、中眼和右眼对应的dqs延时值。可以理解的是,左眼对应的dqs延时值在眼图上一定是小于右眼对应的dqs延时值的,因此,如果判定出来右眼对应的dqs延时值不小于左眼对应的dqs延时值,则证明眼图识别错误,基于此,能够保证眼图判断逻辑的准确性。
[0071]
所述眼图双重过滤电路的输出信号还包括眼图判断结果的输出使能信号(即图2中的rg_left_eye_dq0/1/2/3/4/5/6/7/dmi_i_en、rg_right_eye_dq0/1/2/3/4/5/6/7/dmi_i_en和rg_mid_eye_dq 0/1/2/3/4/5/6/7/dmi_i_en),用于指示软件读取眼图判断结果并确定读写过程中的最佳参考电压值和最佳dqs延时值。
[0072]
本技术实施例提供的应用于存储器接口的眼图判断电路,所述眼图判断模块包括:逻辑开关控制电路、正确次数加减逻辑电路、错误次数加减逻辑电路、眼图检测抓取逻辑电路和眼图双重过滤电路;所述逻辑开关控制电路用于基于眼图判断开始信号和眼图判断结束信号使能所述正确次数加减逻辑电路、错误次数加减逻辑电路、眼图检测抓取逻辑电路;所述正确次数加减逻辑电路用于确定训练过程中读取数据连续正确的次数,所述错误次数加减逻辑电路用于确定训练过程中读取数据连续错误的次数;所述眼图检测抓取逻辑电路用于基于各轮训练过程对应的读取数据的错误比特数确定训练过程中读取数据的状态值,所述状态值包括正确状态对应的第一状态值和错误状态对应的第二状态值;所述眼图双重过滤电路用于基于训练过程中读取数据连续正确的次数、读取数据连续错误的次数、读取数据的状态值以及各轮训练过程对应的dqs延时值,过滤故障导致的异常状态值并确定左眼、中眼和右眼分别对应的dqs延时值,能够准确确定眼图中左眼、中眼和右眼分别对应的dqs延时值,以便准确确定读写过程中的最佳参考电压值和最佳dqs延时值。
[0073]
基于上述任一实施例,所述眼图判断电路还包括清零控制电路和累加控制电路;
[0074]
所述清零控制电路用于基于眼图判断结束信号和各轮训练过程对应的读取数据的错误比特数分别对所述正确次数加减逻辑电路和所述错误次数加减逻辑电路对应的计数值进行清零控制;
[0075]
所述累加控制电路用于基于各轮训练过程对应的读取数据的错误比特数分别对所述正确次数加减逻辑电路和所述错误次数加减逻辑电路对应的计数值进行累加控制。
[0076]
具体的,通过使能信号(即图2中good_bad_compared_cnt_en_dq0/1/2/3/4/5/6/7/dmi)的控制,所述清零控制电路能够基于眼图判断结束信号和各轮训练过程对应的读取数据的错误比特数分别对所述正确次数加减逻辑电路和所述错误次数加减逻辑电路对应的计数值进行清零控制,同时基于各轮训练过程对应的读取数据的错误比特数分别对所述正确次数加减逻辑电路和所述错误次数加减逻辑电路对应的计数值进行累加控制。
[0077]
本技术实施例提供的应用于存储器接口的眼图判断电路,所述眼图判断电路还包括清零控制电路和累加控制电路;所述清零控制电路用于基于眼图判断结束信号和各轮训练过程对应的读取数据的错误比特数分别对所述正确次数加减逻辑电路和所述错误次数加减逻辑电路对应的计数值进行清零控制;所述累加控制电路用于基于各轮训练过程对应的读取数据的错误比特数分别对所述正确次数加减逻辑电路和所述错误次数加减逻辑电路对应的计数值进行累加控制,能够准确对所述正确次数加减逻辑电路和所述错误次数加
减逻辑电路对应的计数值进行累加控制和清零操作,保证读取数据连续正确和错误次数的准确性。
[0078]
基于上述任一实施例,所述眼图判断模块还包括软件控制电路,所述软件控制电路用于确定训练过程中是否采用所述眼图判断模块进行眼图自动判断。
[0079]
具体的,所述眼图判断电路不但具备硬件判断眼图的功能,同样也具备软件控制功能,此功能适用于眼图的软件判断方法。更具体地,本技术实施例在眼图判断模块中设置软件控制电路,通过输入信号rg_sw_every_step_polling的值确定采用硬件或软件方式进行眼图判断,当rg_sw_every_step_polling=0时,采用硬件眼图自动判断逻辑;当rg_sw_every_step_polling=1时,采用软件读取bad_cnt的值并通过软件进行眼图判断,即不使用眼图判断模块。所述软件控制电路的输出信号(即图2中rg_sw_eye_margin_polling_i和rg_sw_eye_margin_polling_i_en)用于指示软件算法的介入时机。基于此,能够提高眼图判断的灵活性。
[0080]
图4是本技术提供的应用于存储器接口的眼图判断电路的眼图判断方法的流程示意图,如图4所示,所述方法包括:
[0081]
步骤101,设置训练次数、正确次数阈值和错误次数阈值,并基于所述训练次数开始训练;
[0082]
步骤102,数据比较控制模块比对各轮训练过程对应的读取数据和预期数据之间的差异,以得到各轮训练过程对应的读取数据的错误比特数并发送给眼图判断模块;
[0083]
步骤103,眼图判断模块基于各轮训练过程对应的读取数据的错误比特数以及dqs延时值、所述正确次数阈值和错误次数阈值,确定左眼、中眼和右眼分别对应的dqs延时值。
[0084]
具体的,所述训练次数指训练轮次,基于前述实施例可知,链路训练包括多轮训练过程,因此,通过预先设置训练次数即可确定链路训练的开始和终止条件。本技术实施例眼图判断方法的原理和效果在前述实施例已经进行了详细阐述,在此不再赘述。
[0085]
本技术实施例提供的方法,设置训练次数、正确次数阈值和错误次数阈值,并基于所述训练次数开始训练;数据比较控制模块比对各轮训练过程对应的读取数据和预期数据之间的差异,以得到各轮训练过程对应的读取数据的错误比特数并发送给眼图判断模块;眼图判断模块基于各轮训练过程对应的读取数据的错误比特数以及dqs延时值、所述正确次数阈值和错误次数阈值,确定左眼、中眼和右眼分别对应的dqs延时值,能够在保证眼图判断准确性的基础上,避免采用软件实现眼图判断导致的系统开机速度慢,开发、调试、设计说明和驱动管理的难度高,以及占用大量存储空间的问题。
[0086]
基于上述任一实施例,所述眼图判断模块基于各轮训练过程对应的读取数据的错误比特数以及dqs延时值、所述正确次数阈值和错误次数阈值,确定左眼、中眼和右眼分别对应的dqs延时值,具体包括:
[0087]
逻辑开关控制电路基于眼图判断开始信号和眼图判断结束信号使能所述正确次数加减逻辑电路、错误次数加减逻辑电路、眼图检测抓取逻辑电路;
[0088]
所述正确次数加减逻辑电路确定训练过程中读取数据连续正确的次数,所述错误次数加减逻辑电路用于确定训练过程中读取数据连续错误的次数;
[0089]
所述眼图检测抓取逻辑电路基于各轮训练过程对应的读取数据的错误比特数确定训练过程中读取数据的状态值;
[0090]
眼图双重过滤电路基于训练过程中读取数据连续正确的次数、读取数据连续错误的次数、读取数据的状态值、各轮训练过程对应的dqs延时值以及所述正确次数阈值和错误次数阈值,过滤故障导致的异常状态值并确定左眼、中眼和右眼分别对应的dqs延时值。
[0091]
基于上述任一实施例,所述基于训练过程中读取数据连续正确的次数、读取数据连续错误的次数、读取数据的状态值、各轮训练过程对应的dqs延时值以及所述正确次数阈值和错误次数阈值,过滤故障导致的异常状态值并确定左眼、中眼和右眼分别对应的dqs延时值,具体包括:
[0092]
基于训练过程中读取数据连续正确的次数、读取数据连续错误的次数以及所述正确次数阈值和错误次数阈值,过滤读取数据的状态值中故障导致的异常状态值;
[0093]
基于更新的读取数据的状态值以及各轮训练过程对应的dqs延时值,确定左眼、中眼和右眼分别对应的dqs延时值。
[0094]
基于上述任一实施例,所述基于更新的读取数据的状态值以及各轮训练过程对应的dqs延时值,确定左眼、中眼和右眼分别对应的dqs延时值,具体包括:
[0095]
基于更新的读取数据的状态值以及各轮训练过程对应的dqs延时值确定左眼对应的dqs延时值和右眼对应的dqs延时值,并基于所述左眼对应的dqs延时值和右眼对应的dqs延时值的比对结果确定中间眼对应的的dqs延时值。
[0096]
具体的,其原理和效果在前述实施例已经进行了详细阐述,在此不再赘述。
[0097]
图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备可以包括:处理器(processor)201、通信接口(communications interface)202、存储器(memory)203和通信总线204,其中,处理器201,通信接口202,存储器203通过通信总线204完成相互间的通信。处理器201可以调用存储器203中的逻辑指令,以执行上述各方法所提供的应用于存储器接口的眼图判断电路的眼图判断方法,所述方法包括:设置训练次数、正确次数阈值和错误次数阈值,并基于所述训练次数开始训练;数据比较控制模块比对各轮训练过程对应的读取数据和预期数据之间的差异,以得到各轮训练过程对应的读取数据的错误比特数并发送给眼图判断模块;眼图判断模块基于各轮训练过程对应的读取数据的错误比特数以及dqs延时值、所述正确次数阈值和错误次数阈值,确定左眼、中眼和右眼分别对应的dqs延时值。
[0098]
此外,上述的存储器203中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0099]
另一方面,本技术还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的应用于存储器接口的眼图判断电路的眼图判断方法,所述方法包括:设置训练次数、正确次数阈值和错误次数阈值,并基于所述训练次数开始训练;数据比较控制模块比对各轮训练过程对应的读取数据和预期数据之间的差异,以
得到各轮训练过程对应的读取数据的错误比特数并发送给眼图判断模块;眼图判断模块基于各轮训练过程对应的读取数据的错误比特数以及dqs延时值、所述正确次数阈值和错误次数阈值,确定左眼、中眼和右眼分别对应的dqs延时值。
[0100]
又一方面,本技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的应用于存储器接口的眼图判断电路的眼图判断方法,所述方法包括:设置训练次数、正确次数阈值和错误次数阈值,并基于所述训练次数开始训练;数据比较控制模块比对各轮训练过程对应的读取数据和预期数据之间的差异,以得到各轮训练过程对应的读取数据的错误比特数并发送给眼图判断模块;眼图判断模块基于各轮训练过程对应的读取数据的错误比特数以及dqs延时值、所述正确次数阈值和错误次数阈值,确定左眼、中眼和右眼分别对应的dqs延时值。
[0101]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0102]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0103]
最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。

技术特征:


1.一种应用于存储器接口的眼图判断电路,其特征在于,所述电路包括:数据比较控制模块、训练计数模块、眼图判断模块、第一寄存器和第二寄存器;所述数据比较控制模块用于比对各轮训练过程对应的读取数据和预期数据之间的差异,以得到各轮训练过程对应的读取数据的错误比特数,并在每轮比对结束后生成dqs延时值的增减控制信号;所述训练计数模块用于基于所述dqs延时值的增减控制信号调节粗延迟和细延迟,并将更新的粗延迟和细延迟写入所述第一寄存器;所述眼图判断模块用于基于各轮训练过程对应的读取数据的错误比特数以及dqs延时值确定左眼、中眼和右眼分别对应的dqs延时值,并将所述左眼、中眼和右眼分别对应的dqs延时值写入所述第二寄存器。2.根据权利要求1所述的应用于存储器接口的眼图判断电路,其特征在于,所述眼图判断模块包括:逻辑开关控制电路、正确次数加减逻辑电路、错误次数加减逻辑电路、眼图检测抓取逻辑电路和眼图双重过滤电路;所述逻辑开关控制电路用于基于眼图判断开始信号和眼图判断结束信号使能所述正确次数加减逻辑电路、错误次数加减逻辑电路、眼图检测抓取逻辑电路;所述正确次数加减逻辑电路用于确定训练过程中读取数据连续正确的次数,所述错误次数加减逻辑电路用于确定训练过程中读取数据连续错误的次数;所述眼图检测抓取逻辑电路用于基于各轮训练过程对应的读取数据的错误比特数确定训练过程中读取数据的状态值,所述状态值包括正确状态对应的第一状态值和错误状态对应的第二状态值;所述眼图双重过滤电路用于基于训练过程中读取数据连续正确的次数、读取数据连续错误的次数、读取数据的状态值以及各轮训练过程对应的dqs延时值,过滤故障导致的异常状态值并确定左眼、中眼和右眼分别对应的dqs延时值。3.根据权利要求2所述的应用于存储器接口的眼图判断电路,其特征在于,所述眼图判断电路还包括清零控制电路和累加控制电路;所述清零控制电路用于基于眼图判断结束信号和各轮训练过程对应的读取数据的错误比特数分别对所述正确次数加减逻辑电路和所述错误次数加减逻辑电路对应的计数值进行清零控制;所述累加控制电路用于基于各轮训练过程对应的读取数据的错误比特数分别对所述正确次数加减逻辑电路和所述错误次数加减逻辑电路对应的计数值进行累加控制。4.根据权利要求3所述的应用于存储器接口的眼图判断电路,其特征在于,所述眼图判断模块还包括软件控制电路,所述软件控制电路用于确定训练过程中是否采用所述眼图判断模块进行眼图自动判断。5.根据权利要求4所述的应用于存储器接口的眼图判断电路,其特征在于,所述第一寄存器为软硬件可读写寄存器,所述第二寄存器为软件可读写寄存器。6.根据权利要求5所述的应用于存储器接口的眼图判断电路,其特征在于,各轮训练过程均包括一次写操作和一次读操作,相应的,所述预期数据为写操作对应的有效dq信号,所述读取数据为读操作对应的有效dq信号。
7.一种基于权利要求6所述的应用于存储器接口的眼图判断电路的眼图判断方法,其特征在于,所述方法包括:设置训练次数、正确次数阈值和错误次数阈值,并基于所述训练次数开始训练;数据比较控制模块比对各轮训练过程对应的读取数据和预期数据之间的差异,以得到各轮训练过程对应的读取数据的错误比特数并发送给眼图判断模块;眼图判断模块基于各轮训练过程对应的读取数据的错误比特数以及dqs延时值、所述正确次数阈值和错误次数阈值,确定左眼、中眼和右眼分别对应的dqs延时值。8.根据权利要求7所述的应用于存储器接口的眼图判断电路的眼图判断方法,其特征在于,所述眼图判断模块基于各轮训练过程对应的读取数据的错误比特数以及dqs延时值、所述正确次数阈值和错误次数阈值,确定左眼、中眼和右眼分别对应的dqs延时值,具体包括:逻辑开关控制电路基于眼图判断开始信号和眼图判断结束信号使能所述正确次数加减逻辑电路、错误次数加减逻辑电路、眼图检测抓取逻辑电路;所述正确次数加减逻辑电路确定训练过程中读取数据连续正确的次数,所述错误次数加减逻辑电路用于确定训练过程中读取数据连续错误的次数;所述眼图检测抓取逻辑电路基于各轮训练过程对应的读取数据的错误比特数确定训练过程中读取数据的状态值;眼图双重过滤电路基于训练过程中读取数据连续正确的次数、读取数据连续错误的次数、读取数据的状态值、各轮训练过程对应的dqs延时值以及所述正确次数阈值和错误次数阈值,过滤故障导致的异常状态值并确定左眼、中眼和右眼分别对应的dqs延时值。9.根据权利要求8所述的应用于存储器接口的眼图判断电路的眼图判断方法,其特征在于,所述基于训练过程中读取数据连续正确的次数、读取数据连续错误的次数、读取数据的状态值、各轮训练过程对应的dqs延时值以及所述正确次数阈值和错误次数阈值,过滤故障导致的异常状态值并确定左眼、中眼和右眼分别对应的dqs延时值,具体包括:基于训练过程中读取数据连续正确的次数、读取数据连续错误的次数以及所述正确次数阈值和错误次数阈值,过滤读取数据的状态值中故障导致的异常状态值;基于更新的读取数据的状态值以及各轮训练过程对应的dqs延时值,确定左眼、中眼和右眼分别对应的dqs延时值。10.根据权利要求9所述的应用于存储器接口的眼图判断电路的眼图判断方法,其特征在于,所述基于更新的读取数据的状态值以及各轮训练过程对应的dqs延时值,确定左眼、中眼和右眼分别对应的dqs延时值,具体包括:基于更新的读取数据的状态值以及各轮训练过程对应的dqs延时值确定左眼对应的dqs延时值和右眼对应的dqs延时值,并基于所述左眼对应的dqs延时值和右眼对应的dqs延时值的比对结果确定中间眼对应的的dqs延时值。

技术总结


本申请提供一种应用于存储器接口的眼图判断电路及其眼图判断方法,所述电路包括:数据比较控制模块、训练计数模块、眼图判断模块、第一寄存器和第二寄存器;数据比较控制模块用于比对各轮训练对应的读取数据和预期数据以得到读取数据的错误比特数,并在每轮比对结束后生成DQS延时值的增减控制信号;训练计数模块用于基于增减控制信号调节粗延迟和细延迟,并将更新的粗延迟和细延迟写入第一寄存器;眼图判断模块用于基于各轮训练对应的读取数据的错误比特数以及DQS延时值确定左眼、中眼和右眼分别对应的DQS延时值并将其写入第二寄存器,能避免软件实现眼图判断导致的开机速度慢,开发、调试、驱动管理难度高,占用存储空间的问题。的问题。的问题。


技术研发人员:

陈愿 华庆明

受保护的技术使用者:

上海奎芯集成电路设计有限公司

技术研发日:

2022.11.21

技术公布日:

2023/3/7

本文发布于:2024-09-25 20:35:24,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/69956.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   数据   次数   电路
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议