CN101446841A - 确定存储器控制器时钟校准值的方法及系统 - Google Patents
确定存储器控制器时钟校准值的方法及系统 Download PDFInfo
- Publication number
- CN101446841A CN101446841A CNA2008101784665A CN200810178466A CN101446841A CN 101446841 A CN101446841 A CN 101446841A CN A2008101784665 A CNA2008101784665 A CN A2008101784665A CN 200810178466 A CN200810178466 A CN 200810178466A CN 101446841 A CN101446841 A CN 101446841A
- Authority
- CN
- China
- Prior art keywords
- calibration value
- calibration
- clock signal
- value
- clock
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明公开了一种确定存储器控制器时钟校准值的系统,由指定装置、读写装置、比较装置和确定装置相互配合,为第一时钟校准装置指定第一校准值,并利用第一时钟校准装置按照指定第一校准值输出的校准后时钟信号,读出写入存储器的预设检测数据,通过比较读出的检测数据与预设检测数据是否一致,判断按照指定第一校准值校准后的时钟信号是否能够保证正确的数据采样。不断重复执行上述过程,就可以获得保证正确数据采样的第一校准值范围,在该范围中取任意一个第一校准值作为第一时钟校准装置的最终校准值即可。本发明还公开了一种确定存储器控制器时钟校准值的方法。应用本发明,能够自主确定保证正确数据采样的时钟校准值,并且确定速度较快。
Description
技术领域
本发明涉及时钟校准技术,特别涉及确定存储器控制器时钟校准值的方法及系统。
背景技术
双数据速率同步动态随机存储器(DDR SDRAM,Double Data RateSynchronous Dynamic Random Access Memory)(以下简称DDR存储器)和单数据速率同步动态随机存储器(SDR SDRAM,Single Data RateSynchronous Dynamic Random Access Memory)(以下简称SDR存储器)都是常用的存储介质,使用DDR控制器可以访问DDR存储器实现数据写入和读出,使用SDR控制器可以访问SDR存储器实现数据写入和读出。
图1为DDR控制器与DDR存储器的接口连接示意图。DDR控制器中的第一时钟校准装置对DDR存储器发送的DQS信号校准后得到ck_dqs信号,DDR控制器在ck_dqs信号的上升沿和下降沿均可采样DDR存储器通过DQ信号发送的数据。DDR控制器中的第二时钟校准装置对内部时钟clk_dram进行校准后得到向DDR存储器发送的CK信号,DDR存储器在CK信号的上升沿采样DDR控制器通过COMMAND信号发送的读写命令。
图2为DDR控制器发送CK信号的时序图,可以看出DDR控制器的内部时钟clk_dram经过时钟校准后得到CK信号,CK信号相对于clk_dram延时了一段时间。
图3为DDR控制器的读操作时序图,DDR存储器发送的DQS信号经过时钟校准后即得到ck_dqs信号,ck_dqs信号相对于DQS信号延时了一段时间。
从图2和图3中可以看出,时钟校准实际上是按照时钟校准值(以下简称校准值)对输入时钟信号进行延时,校准值就是代表对时钟信号执行延时的具体时间长度的数值。
在实际应用中,DDR控制器和DDR存储器均可以使用专门的芯片实现、并以贴片的形式放置于印刷电路板(PCB,Printed Circuit Board)上,它们之间的连接线路均内建于PCB中。由于在读操作中,DDR存储器发送的DQS信号和DQ信号是同沿的,如图4所示,这两个同沿的信号在传输过程中将经过DDR存储器芯片管脚(Pin)上的延时、PCB走线延时和DDR控制器芯片管脚上的延时等多种不同的传输延时后,DQS信号和DQ信号到达第一时钟校准装置时的相位关系很难确定。如图5a和图5b所示,DQ信号可能超前也可能落后。而对于DDR控制器而言,要想准确的采样到数据,DQ信号的变化阶段在ck_dqs信号的中间部分最安全,因此需要确定第一时钟校准装置所使用的校准值,使得第一时钟校准装置对DQS信号进行校准后,得到的ck_dqs信号能够保证DDR控制器正确采样到数据。
以上仅以DDR控制器和DDR存储器为例,对于SDR控制器和SDR存储器来说同样存在类似的问题,只是在SDR控制器中,内部时钟clk-dram经时钟校准后形成供SDR存储器采样命令的CK信号,另外clk-dram还作为SDR控制器在读操作从SDR存储器中读数据的时钟信号,且只在上升沿采样数据。
在现有技术中,为了保证存储器控制器正确采样数据,通常先设置DDR控制器或SDR控制器中的第一时钟校准装置的校准值取值范围,再人为通过软件在该范围内选择一个校准值进行实际读数据操作,如果基于选择的校准值不能实现正确的数据采样,则人为通过软件在该范围内选择其他校准值,直到选择的校准值可以实现正确的数据采样为止。以多媒体播放器中的存储器控制器和存储器为例,可以人为通过软件选择一个校准值,然后以从存储器读取歌曲列表为实际的读数据操作验证该校准值是否能够保证正确采样数据,如果不能得到正确的歌曲列表,则人为通过软件选择另一个校准值。这种确定校准值的方法需要人为参与,增加了使用者的操作负担,而且需要使用实际的读数据操作来验证,速度较慢。
发明内容
本发明的第一个目的是提供一种确定存储器控制器时钟校准值的系统,该系统能够自主确定保证正确数据采样的时钟校准值,并且确定速度较快。
本发明的第二个目的是提供一种确定存储器控制器时钟校准值的方法,使用该方法能够自主确定保证正确数据采样的时钟校准值,并且确定速度较快。
本发明的技术方案是这样实现的:
一种确定存储器控制器时钟校准值的系统,所述校准值代表对时钟信号执行延时的具体时间长度的数值;关键在于,该系统包括:
指定装置,用于根据初始校准值和配置的校准范围确定当前校准区域,指定当前校准区域中的最小值作为初始第一校准值;并在比较装置每次触发后指定当前校准区域中新的第一校准值;
第一时钟校准装置,用于按照指定装置指定的第一校准值校准用于数据采样的时钟信号;
读写装置,用于在指定装置指定初始第一校准值后,向存储器写入预设检测数据;并按照第一时钟校准装置校准后的时钟信号从存储器中读出所述向存储器写入的预设检测数据;
比较装置,用于在读写装置每读出一次检测数据后,比较读出的检测数据和预设检测数据并触发指定装置,直至得到第一次比较结果一致后、再得到第一次比较结果不一致时停止;
确定装置,确定比较装置得到第一次比较结果一致时指定装置指定的第一校准值、和比较装置停止前得到最后一次比较结果一致时指定装置指定的第一校准值所限定的范围,选择该范围内的任意一个第一校准值作为第一时钟校准装置的最终校准值。
一种确定存储器控制器时钟校准值的方法,所述校准值代表对时钟信号执行延时的具体时间长度的数值;关键在于,该方法包括:
根据初始校准值和配置的校准范围确定当前校准区域;
向存储器写入预设检测数据;
指定当前校准区域中的最小值作为初始第一校准值;
按照指定的第一校准值校准用于数据采样的时钟信号;
按照校准后的用于数据采样的时钟信号从存储器中读出所述向存储器写入的检测数据;
比较读出的检测数据和预设检测数据,并指定当前校准区域中新的第一校准值、返回执行按照指定的第一校准值校准用于数据采样的时钟信号的步骤,直至得到第一次比较结果一致后、再得到第一次比较结果不一致时,确定得到第一次比较结果一致时指定的第一校准值、和停止前得到最后一次比较结果一致时指定的第一校准值所限定的范围,选择该范围内的任意一个第一校准值作为对用于数据采样的时钟信号的最终校准值。
可见,本发明确定存储器控制器时钟校准值的系统中,指定装置、读写装置、比较装置和确定装置相互配合,为第一时钟校准装置指定第一校准值,并利用第一时钟校准装置按照指定第一校准值输出的校准后时钟信号,读出写入存储器的预设检测数据,通过比较读出的检测数据与预设检测数据是否一致,判断按照指定校准值校准后的时钟信号是否能够保证正确的数据采样。不断重复执行上述过程,就可以获得保证正确数据采样的第一校准值范围,在该范围中取任意一个第一校准值作为第一时钟校准装置的最终校准值即可。上述指定装置、读写装置、比较装置和确定装置均执行无需人为参与的后台操作,并且确定校准值的过程并不涉及实际的读数据操作,而是使用检测数据的读写来验证,因此可以自主确定保证正确数据采样的时钟校准值,并且确定速度较快。
附图说明
图1为DDR控制器与DDR存储器的接口连接示意图;
图2为DDR控制器发送CK信号的时序图;
图3为DDR控制器的读操作时序图;
图4为DDR存储器发送的DQS信号和DQ信号传输延时的示意图;
图5a为DDR控制器接收DQS信号和DQ信号的第一种相位关系示意图;
图5b为DDR控制器接收DQS信号和DQ信号的第二种相位关系示意图;
图6为本发明实施例中确定存储器控制器时钟校准值的系统的结构示意图;
图7为第一时钟校准装置的一种内部结构示意图;
图8为确定最终校准值的校准坐标示意图;
图9为本发明确定存储器控制器时钟校准值的方法的一种实施流程图。
具体实施方式
为使本发明的目的和优点更加清楚,下面结合附图和实施例对本发明作进一步的详细说明。
首先介绍本发明确定存储器控制器时钟校准值的系统。
图6为本发明实施例中确定存储器控制器时钟校准值的系统的结构示意图,在本实施例中,存储器控制器可兼容控制DDR存储器和SDR存储器。下面结合图6,分别说明该系统中各个装置的功能及其之间的连接关系。
1)第一时钟校准装置。
第一时钟校准装置,用于按照指定装置输出的第一校准值校准选择装置输出的用于数据采样的时钟信号,并输出校准后的时钟信号。当存储器控制器控制DDR存储器时,选择装置输出的用于数据采样的时钟信号为DDR存储器发送的DQS信号,第一时钟校准装置输出的校准后时钟信号为ck_dqs信号;当存储器控制器控制SDR存储器时,选择装置输出的用于数据采样的时钟信号为存储器控制器的内部时钟信号clk_dram;第一时钟校准装置输出的校准后的时钟信号为ck_dqs信号。
图7为第一时钟校准装置的一种内部结构示意图,以存储器控制器控制DDR存储器为例。可以看出,第一时钟校准装置中包括64个选通单元702、串联的64级延时单元701和1个用于输出校准后时钟信号的非门703。一个选通单元对应一级延时单元。每一级延时单元的内部结构相同,均包括一个与非门和一个非门,其中与非门的输出作为非门的输入。
最高级延时单元中的与非门,一路输入恒定为高电平,可以通过将该路输入接到电源上实现恒定高电平,另一路输入为对应选通单元中的与非门的输出;除最高级延时单元外的其他级延时单元中的与非门,一路输入为前一级延时单元中非门的输出、另一路输入为对应选通单元中的与非门的输出。
每个选通单元中的与非门,都具有一个选通信号输入端ph_sel[n]和一个待校准时钟信号输入端,其中ph_sel[n]接收指定装置发送的选通信号,当某一级选通单元的ph_sel[n]接收到选通信号,该选通单元将接收的待校准时钟信号输入对应级别的延时单元中,因此基于第一时钟装置的这种内部结构,指定装置指定的第一校准值就相当于其发送选通信号所对应的延时单元的级别;待校准时钟信号输入端接收选择装置输出的DQS信号作为待校准信号。
在同一时刻,只会有一个选通单元接收到选通信号,因此该选通信号包括64位,哪一位置1,代表这一位对应的选通单元被选通。例如当ph_sel[0]置1时,ph_sel[1]~ph_sel[63]置0,代表当前对应第1级延时单元的选通单元被选通,第1级延时单元对DQS信号执行延时;当ph_sel[1]置1时,ph_sel[0]、ph_sel[2]~ph_sel[63]置0,代表当前对应第2级延时单元的选通单元被选通,由于第1级延时单元和第2级延时单元串联连接,DQS信号将依次由第1级和第2级延时单元执行延时。这样,选通不同的选通单元时,可以由不同的延时单元对待校准时钟信号执行不同的延时,即可以为第一时钟校准装置选择不同的延时时间。
用于输出校准后时钟信号的非门接收最低级延时单元中的非门的输出,反向后作为校准后的时钟信号输出。
如果存储器控制器为SDR控制器,区别在于待校准时钟信号输入端接收选择装置输出的ck_dram信号。
上述第一时钟校准装置的内部结构仅为一种具体的举例,只要能实现相同的功能,也可以使用其他的逻辑门实现。上述64级延时单元也仅为一种具体的举例,还存在设置为其他级的情况,设置的总原则可以概括如下:
①所有延时单元能实现的延时时间总和为一个时钟周期;
②确定每个延时单元能够实现的延时时间;
③使用一个时钟周期的时间除以每个延时单元能够实现的延时时间,即为需要设置的总级数。
2)第二时钟校准装置。
由于从存储器控制器发出的CK信号和COMMAND信号并非同沿,因此即使同样会经过传输过程中的多种延时,到达DDR存储器或SDR存储器时一般也不会出现相位错误,因此一般不会影响DDR存储器或SDR存储器采样命令。如果处在非常恶劣的环境中,本实施例中也可以确定第二时钟校准装置的校准值,但为了降低复杂性,本实施例中第二时钟校准装置按照现有软件配置的方式确定第二校准值。为配合软件配置的方式,存储器控制器中还包括一个控制装置,用于向使用者提供软件应用界面,通过该应用界面向使用者提供可选择的第二校准值,并利用使用者通过应用界面做出的选择结果为第二时钟校准装置配置第二校准值。
本实施例中,第二时钟校准装置采用与第一时钟校准装置完全相同的内部结构。默认情况下,控制装置将选通单元的ph_sel[0]端选通,当在此基础上第一时钟校准装置未确定出合适的最终校准值时,控制装置利用使用者做出的选择结果向选通单元的ph_sel[n]端发送选通信号。可见,默认情况下无需为第二时钟校准装置确定第二校准值,只有当第一时钟校准装置没有确定出合适的最终校准值时,才考虑有软件配置的方法确定第二时钟校准装置的第二校准值。当第二校准装置中的某一级选通单元的ph_sel[n]接收到选通信号,该选通单元将接收的待校准时钟信号输入对应级别的延时单元中,因此使用者指定的第二校准值也相当于其发送选通信号所对应的延时单元的级别;选通单元的待校准时钟信号输入的是clk_dram信号;用于输出校准后时钟信号的非门接收最低级延时单元中的非门,输出的是CK信号。
3)选择装置。
本实施例时钟校准系统中的选择装置,是为了使存储器控制器兼容控制DDR存储器和SDR存储器而设置的装置。该选择装置具有使能端、第一输入端、第二输入端和输出端。
上述第一输入端,用于接收所述存储器控制器的内部时钟信号clk_dram。
上述第二输入端,用于接收DDR存储器发送的DQS信号。
上述使能端,用于输入选通第一输入端或第二输入端的使能信号。
上述输出端,用于将选通的第一输入端接收的内部时钟信号clk_dram,输出给所述第一时钟校准装置;将选通的第二输入端接收的DQS信号,输出给所述第二时钟信号校准装置。
使用上述选择装置,只要通过使能端输入使能第一输入端或第二输入端的使能信号,就可以实现从DDR存储器或SDR存储器中读取数据。该选择装置使用通常的选择器就可以实现,关于其功能的具体实现原理,这里不再赘述。
4)指定装置和定时装置。
本发明系统中的指定装置,用于根据初始校准值和配置的校准范围确定当前校准区域,指定当前校准区域中的最小值作为初始第一校准值;在比较装置每次触发后指定新的第一校准值。
上述指定装置可以每隔一定的时间间隔就重复执行确定当前校准区域及指定第一校准值的操作,当前校准区域就是在当前操作中可以选择的第一校准值的区间,该区间具有两个端点和一定长度;初始校准值就是当前校准区域的端点或中间点;校准范围指当前校准区域的区间长度。
基于以上第一时钟校准装置的内部结构,指定装置指定第一校准值的过程,实际上就是选通不同级别的延时单元的过程,第一校准值就相当于延时单元的级别。在这种情况下,指定装置内部包括:第一指定执行单元和选通信号发送单元。
第一指定执行单元,用于将延时单元的最低级别作为初始校准值,以所述延时单元的最低级作为一个端点、以预设第一校准范围为区域长度确定当前校准区域,指定延时单元的最低级作为初始第一校准值;在比较装置每次触发后,指定当前校准区域中当前延时单元级别的高一级作为新的第一校准值。上述第一校准范围指第一时钟校准装置中的延时单元的最低级到最高级,即第0级到第63级。
选通信号发送单元,用于向第一指定执行单元指定级别的延时单元所对应的选通单元发送选通信号,即向该延时单元对应的选通单元的ph_sel[n]端发送选通信号。
由于温度和噪声等客观因素,用于数据采样的时钟信号和用于命令采样的时钟信号在传输过程中的延时时间也可能不断发生变化,因此可以每隔一定周期就应该重新确定一次第一时钟校准装置的第一校准值,这里的周期可以根据经验值确定。
由于在第一次确定第一校准值时,各种客观因素对时钟信号产生的延时还未知,加之PCB走线和存储器控制器内部连线间的延时更是不确定,所以需考虑的范围最大,即默认从第1级开始;一旦在第一次找到一个合适的第一校准值时,就对各种延时因素有了大致的把握,之后相隔一定周期重新确定第一校准值时,就没有必要从第1级开始,而是可以以上一次确定的结果为准进行微调,例如上一次确定的最终校准值为第20级,预设第二校准范围值是10,则本次重新确定第一校准值时可以从第10级开始、到第30级结束。上述第二校准范围可以根据需要设定,只要小于第一校准范围即可。
考虑上述多次确定校准值的情况,本实施例中的指定装置中还可以进一步包括记录单元和第二指定执行单元。
记录单元,用于记录确定装置确定出最终校准值的次数,如果所述次数为0,则触发第一指定执行单元指定初始第一校准值,如果所述次数大于0,则触发第二指定执行单元指定初始第一校准值。
第二指定执行单元,用于将上一次确定出的最终校准值(即某一级别)作为初始校准值,以上一次确定出的最终校准值为中间位置、以两倍的预设第二校准范围为区域长度确定当前校准区域,指定当前校准区域中延时单元的最低级作为初始第一校准值;在比较装置每次触发后,指定当前校准区域中当前延时单元级别的高一级作为新的第一校准值。
可见,如果当前为第一次确定最终校准值的操作,就通过第一指定执行单元指定第1级为初始第一校准值,如果当前不是第一次确定最终校准值的操作,就通过第二指定执行单元指定微调的级别作为初始第一校准值。
考虑上述多次确定校准值的情况,本实施例中的时钟校准系统内部进一步包括定时装置,用于每隔预设周期,触发所述记录单元,以实现每隔预设周期就重新确定一次第一校准值的目的。
5)读写装置。
本发明系统中的读写装置,用于在指定装置指定初始第一校准值后,向存储器写入预设检测数据;按照第一时钟校准装置输出的校准后时钟信号ck_dqs信号从存储器中读出向存储器写入的检测数据。该读写装置就是存储器控制器中进行正常读写操作的装置,因此图6中并未示出该读写装置向存储器中写检测数据的数据流向,这是因为写操作与通常情况下的并没有区别。
预设检测数据可以为两个,且这两个检测数据对应的每一位正好是从0到1或从1到0的翻转,以8比特位宽为例,这两个检测数据可以是0 x 5a和0 x a5。这是因为DDR存储器或SDR存储器在存储数据时采用二进制,即存储的数据非0即1,写入这两个正好翻转的检测数据将保证DDR存储器或SDR存储器无论对0或对1都能够正确的接收。
6)比较装置。
本发明系统中的比较装置,用于在读写装置每读出一次检测数据后,比较读写装置读出的检测数据和预设检测数据,并触发指定装置指定新的第一校准值,直至得到第一次比较结果一致后、再得到第一次比较结果不一致时停止。
在本实施例中,比较装置得到比较结果一致时,说明校准装置利用当前第一校准值得到ck_dqs信号后,读写装置按照该ck_dqs信号可以正确采样到存储器发送的数据,也就是说该ck_dqs信号与存储器发送的DQ信号的相位关系正确。
7)确定装置。
本发明系统中的确定装置,用于在比较装置输出第一次比较结果一致时指定装置指定的第一校准值、和停止前得到最后一次比较结果一致时指定装置指定的第一校准值所限定范围内,确定任意一个第一校准值作为第一时钟校准装置的最终校准值。
在本实施例中,确定装置首先将比较装置得到第一次比较结果一致时指定装置指定的第一校准值作为起始点,将比较装置停止前得到最后一次比较结果一致时指定装置指定的第一校准值作为结束点,确定出使得ck_dqs信号与DQ信号相位关系正确的第一校准值范围,由于在该范围内的任何一个第一校准值都可以保证正确采样数据,所以可以将该范围内的任一个第一校准值作为第一时钟校准装置的最终校准值。上述起始点和结束点可以是不同的第一校准值,即该范围中可能包括多个第一校准值,例如起始点为第5级、结束点为第10级,则第5级至第10级的任一级都可以作为最终校准值。同样地,起始点和结束点也可以是相同的第一校准值,这时该范围中就包括一个第一校准值,例如起始点和结束点均为第5级,在第5级就是最终校准值。
为了安全起见,在上述范围中包括多个第一校准值时,也可以将该范围的中间值作为最终校准值。图8为这种确定方式下的校准坐标。
可见,本发明确定存储器控制器时钟校准值的系统,由指定装置、读写装置、比较装置和确定装置相互配合,为第一时钟校准装置指定第一校准值,并利用第一时钟校准装置按照指定的第一校准值输出的校准后时钟信号,读出写入存储器的预设检测数据,通过比较读出的检测数据与预设检测数据是否一致,判断按照指定校准值校准后的时钟信号是否能够保证正确的数据采样。不断重复执行上述过程,就可以获得保证正确数据采样的第一校准值范围,在该范围中取任意一个第一校准值作为第一时钟校准装置的最终校准值即可。上述指定装置、读写装置、比较装置和确定装置均执行无需人为参与的后台操作,并且确定校准值的过程并不涉及实际的读数据操作,而是使用检测数据的读写来验证,因此可以自主确定保证正确数据采样的时钟校准值,并且确定速度较快。
其次,介绍本发明确定存储器控制器时钟校准值的方法。
图9为本发明确定存储器控制器时钟校准值的方法的一种实施流程图,该流程可以完全基于本发明实施例中的系统结构执行,该流程包括:
步骤901:根据初始校准值和配置的校准范围确定当前校准区域。
根据当前已确定出的最终校准值的次数不同,本步骤中的初始校准值和校准范围将取不同的值,具体与系统中所介绍的相同,这里不再赘述。
步骤902:向存储器写入预设检测数据。
写入的检测数据可以为0、1正好翻转的两个数据,以保证存储器能够正确接收。
步骤903:指定当前校准区域中的最小值作为初始第一校准值。
步骤904:按照指定的校准值校准用于数据采样的时钟信号。
步骤905:按照校准后的用于数据采样的时钟信号读出向存储器写入的检测数据。
步骤906:判断读出的检测数据和预设检测数据是否一致,如果是则继续执行步骤907,否则执行步骤909。
步骤907:记录当前所使用的第一校准值,并指定新的第一校准值。
基于实施例中的系统结构,指定新的第一校准值时可以是高于当前级别的下一级。
步骤908:判断指定的新的第一校准值是否大于最后一个第一校准值,如果是则执行步骤912,否则返回执行步骤904。
基于实施例中的系统结构,最后一个第一校准值为第一时钟校准装置中延时单元的最高级别。
步骤909:判断当前是否为得到第一次比较结果一致后、再得到的第一次比较结果不一致,如果是则执行步骤912,否则执行步骤910。
步骤910:指定新的第一校准值。
基于实施例中的系统结构,指定新的第一校准值时可以是高于当前级别的下一级。
步骤911:判断指定的新的第一校准值是否大于最后一个校准值,如果是则执行步骤912,否则返回执行步骤904。
步骤912:停止更新校准值。
步骤913:选择得到第一次比较结果一致时指定的第一校准值、和停止前得到的最后一次比较结果一致时指定的第一校准值所限定范围内的任意一个第一校准值,作为最终校准值。
上述步骤901~步骤913可以按照预设时间间隔周期执行。
如果处在恶劣的环境中,本实施例的方法中同样可以通过软件配置的方法确定校准用于命令采样的时钟信号的第二校准值。在这种情况下,在执行步骤901之前首先按照默认第二校准值校准存储器控制器的内部时钟信号,作为用于命令采样的时钟信号,基于本实施例中的系统结构,该默认第二校准值为第二时钟校准装置中延时单元的第1级;当未确定出校准用于数据采样的时钟信号的校准值时,在步骤913之后,使用软件配置的新的第二校准值校准用于命令采样的时钟信号,基于本实施例中的系统结构,软件配置的新的第二校准值为第二时钟校准装置中大于当前延时单元级别的下一级别。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (17)
1、一种确定存储器控制器时钟校准值的系统,所述校准值代表对时钟信号执行延时的具体时间长度的数值;其特征在于,该系统包括:
指定装置,用于根据初始校准值和配置的校准范围确定当前校准区域,指定当前校准区域中的最小值作为初始第一校准值;并在比较装置每次触发后指定当前校准区域中新的第一校准值;
第一时钟校准装置,用于按照指定装置指定的第一校准值校准用于数据采样的时钟信号;
读写装置,用于在指定装置指定初始第一校准值后,向存储器写入预设检测数据;并按照第一时钟校准装置校准后的时钟信号从存储器中读出所述向存储器写入的预设检测数据;
比较装置,用于在读写装置每读出一次检测数据后,比较读出的检测数据和预设检测数据并触发指定装置,直至得到第一次比较结果一致后、再得到第一次比较结果不一致时停止;
确定装置,确定比较装置得到第一次比较结果一致时指定装置指定的第一校准值、和比较装置停止前得到最后一次比较结果一致时指定装置指定的第一校准值所限定的范围,选择该范围内的任意一个第一校准值作为第一时钟校准装置的最终校准值。
2、如权利要求1所述的系统,其特征在于,所述存储器控制器控制DDR存储器或SDR存储器;该系统还包括选择装置,所述选择装置具有使能端、第一输入端、第二输入端和输出端;其中,
所述第一输入端,用于接收所述存储器控制器的内部时钟信号;
所述第二输入端,用于接收DDR存储器发送的数据采样时钟信号;
所述使能端,用于输入选通第一输入端或第二输入端的使能信号;
所述输出端,用于将选通的第一输入端接收的内部时钟信号,输出给所述第一时钟校准装置作为用于数据采样的时钟信号;将选通的第二输入端接收的数据采样时钟信号,输出给所述第一时钟校准装置作为用于数据采样的时钟信号。
3、如权利要求1所述的系统,其特征在于,所述第一时钟校准装置包括:
至少两级延时单元,各级延时单元按照级别高低顺序串联;
各级延时单元分别对应的选通单元,每个选通单元均具有待校准时钟信号输入端和选通信号输入端,当选通信号输入端接收到所述指定装置发送的选通信号后,将待校准的时钟信号输入对应级别的延时单元。
4、如权利要求3所述的系统,其特征在于,指定装置指定的第一校准值为延时单元的级别;所述指定装置包括:
第一指定执行单元,用于将延时单元的最低级作为初始校准值,以所述延时单元的最低级为一个端点、以预设第一校准范围为区域长度确定当前校准区域,指定延时单元的最低级作为初始第一校准值,所述第一校准范围为所述延时单元的最低级到最高级;在比较装置每次触发后,指定当前校准区域中高于当前延时单元级别的下一级作为新的第一校准值;
选通信号发送单元,用于向第一指定执行单元指定级别的延时单元所对应的选通单元发送选通信号。
5、如权利要求4所述的系统,其特征在于,所述指定装置进一步包括:
记录单元,用于记录确定装置确定出最终校准值的次数,如果所述次数为0,则触发第一指定执行单元指定初始第一校准值,如果所述次数大于0,则触发第二指定执行单元指定初始第一校准值;
第二指定执行单元,用于将上一次确定出的最终校准值作为初始校准值,以上一次确定出的最终校准值为中间位置、以两倍的预设第二校准范围为区域长度确定当前校准区域,指定当前校准区域中延时单元的最低级作为初始第一校准值,所述第二校准范围小于所述第一校准范围;在比较装置每次触发后,指定当前校准区域中高于当前延时单元级别的下一级别作为提供新的第一校准值;
所述选通信号发送单元,进一步用于向第二指定执行单元指定级别的延时单元所对应的选通单元发送选通信号。
6、如权利要求5所述的系统,其特征在于,该系统进一步包括定时装置,用于每隔预定时间,触发所述记录单元。
7、如权利要求1所述的系统,其特征在于,该系统还包括第二时钟校准装置和控制装置;
所述控制装置,用于在确定装置未确定出最终校准值时,为第二时钟校准装置配置新的第二校准值;
所述第二时钟校准装置,用于按照配置的默认第二校准值校准存储器控制器的内部时钟信号,作为用于命令采样的时钟信号;按照控制装置配置的新的第二校准值校准存储器控制器的内部时钟信号,作为用于命令采样的时钟信号。
8、如权利要求7所述的系统,其特征在于,所述第二时钟信号校准装置包括:
至少两级延时单元,各级延时单元按照级别高低顺序串联;
各级延时单元分别对应的选通单元,每个选通单元均具有待校准时钟信号输入端和选通信号输入端,当选通信号输入端接收到控制装置发送的选通信号后,将待校准的时钟信号输入对应级别的延时单元;
所述默认第二校准值为最低级延时单元的级别,所述控制装置配置的新的第二校准值为高于当前延时单元级别的下一级别。
9、如权利要求3或8所述的系统,其特征在于,每级延时单元中包括:一个与非门和一个非门,其中与非门的输出作为非门的输入;
最高级延时单元中的与非门将高电平作为一路固定输入,将对应选通单元的输出信号作为另一路输入;除最高级延时单元外的其他级延时单元,将上一级延时单元中非门的输出作为一路输入,将对应选通单元的输出作为另一路输入;
最低级延时单元中的非门的输出反向后,再通过用于输出校准后时钟信号的非门输出校准后的时钟信号。
10、一种确定存储器控制器时钟校准值的方法,所述校准值代表对时钟信号执行延时的具体时间长度的数值;其特征在于,该方法包括:
根据初始校准值和配置的校准范围确定当前校准区域;
向存储器写入预设检测数据;
指定当前校准区域中的最小值作为初始第一校准值;
按照指定的第一校准值校准用于数据采样的时钟信号;
按照校准后的用于数据采样的时钟信号从存储器中读出所述向存储器写入的预设检测数据;
比较读出的检测数据和预设检测数据,并指定当前校准区域中新的第一校准值、返回执行按照指定的第一校准值校准用于数据采样的时钟信号的步骤,直至得到第一次比较结果一致后、再得到第一次比较结果不一致时,确定得到第一次比较结果一致时指定的第一校准值、和停止前得到最后一次比较结果一致时指定的第一校准值所限定的范围,选择该范围内的任意一个第一校准值作为对用于数据采样的时钟信号的最终校准值。
11、如权利要求10所述的方法,其特征在于,当所述存储器控制器控制DDR存储器时,所述用于数据采样的时钟信号为DDR存储器发送;当所述存储器控制器控制SDR存储器时,所述用于数据采样的时钟信号为存储器控制器的内部时钟。
12、如权利要求10所述的方法,其特征在于,所述指定当前校准区域中新的第一校准值为:指定当前校准区域中大于当前第一校准值的下一个第一校准值作为新的第一校准值。
13、如权利要求10所述的方法,其特征在于,每隔预设时间间隔,开始执行所述根据初始校准值和配置的校准范围确定当前校准区域的步骤;
如果当前确定出用于数据采样的时钟信号的最终校准值的次数为0,则所述初始校准值为预设的最小第一校准值,所述配置的校准范围为从预设的最小第一校准值到预设的最大校准值的第一校准范围,所述当前校准区域为以所述最小的第一校准值作为一个端点、以所述第一校准范围作为区域长度的区域;
如果当前确定出用于数据采样的时钟信号的最终校准值的次数大于0,则所述初始校准值为上一次确定的最终校准值,所述配置的校准范围为小于所述第一校准范围的预设的第二校准范围,所述当前校准区域为以上一次确定的最终校准值作为中间位置、以两倍预设的第二校准范围作为区域长度的区域。
14、如权利要求13所述的方法,其特征在于,所述指定根据初始校准值和配置的校准范围确定当前校准区域之前进一步包括:按照配置的默认第二校准值校准存储器控制器的内部时钟信号,作为用于命令采样的时钟信号;
所述确定用于数据采样的时钟信号的最终校准值之后进一步包括:当未确定出最终校准值时,按照配置的新的第二校准值校准存储器控制器的内部时钟信号,作为用于命令采样的时钟信号。
15、如权利要求14所述的方法,其特征在于,配置的第二校准值由小到大排序,所述默认第二校准值为最小的第二校准值;所述新的第二校准值为大于当前第二校准值的下一个第二校准值。
16、如权利要求10所述的方法,其特征在于,所述选择所限定范围内的任意一个第一校准值,作为对用于数据采样的时钟信号的最终校准值为:
选择所限定范围的中间值作为最终校准值。
17、如权利要求10所述的方法,其特征在于,所述预设检测数据为对应数据位上0、1翻转的两个数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101784665A CN101446841B (zh) | 2008-12-01 | 2008-12-01 | 确定存储器控制器时钟校准值的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101784665A CN101446841B (zh) | 2008-12-01 | 2008-12-01 | 确定存储器控制器时钟校准值的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101446841A true CN101446841A (zh) | 2009-06-03 |
CN101446841B CN101446841B (zh) | 2011-05-04 |
Family
ID=40742545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101784665A Expired - Fee Related CN101446841B (zh) | 2008-12-01 | 2008-12-01 | 确定存储器控制器时钟校准值的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101446841B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101740138A (zh) * | 2009-12-02 | 2010-06-16 | 中兴通讯股份有限公司 | 一种测试存储器访问时延的方法及系统 |
CN102664039A (zh) * | 2012-05-07 | 2012-09-12 | 江苏中科梦兰电子科技有限公司 | 内存读操作数据选通使能时机的配置方法 |
CN103257309A (zh) * | 2012-02-17 | 2013-08-21 | 安凯(广州)微电子技术有限公司 | ddr系列pcb板时序补偿方法、系统及终端 |
CN106708167A (zh) * | 2015-11-13 | 2017-05-24 | 北京兆易创新科技股份有限公司 | 一种调整时钟的方法及控制器 |
CN107545926A (zh) * | 2016-06-29 | 2018-01-05 | 北京信威通信技术股份有限公司 | 一种时序参数扫描的方法及装置 |
CN108735255A (zh) * | 2017-04-21 | 2018-11-02 | 爱思开海力士有限公司 | 存储器系统 |
CN108874686A (zh) * | 2017-05-08 | 2018-11-23 | 龙芯中科技术有限公司 | 内存参数调节方法、装置及设备 |
CN110460505A (zh) * | 2019-07-19 | 2019-11-15 | 苏州浪潮智能科技有限公司 | 一种并行总线的时序校准方法、装置及接收端设备 |
CN112687321A (zh) * | 2020-12-30 | 2021-04-20 | 西安紫光国芯半导体有限公司 | 校准方法及装置 |
CN116665731A (zh) * | 2023-08-02 | 2023-08-29 | 成都智多晶科技有限公司 | 一种ddr存储器采样校准方法及ddr存储器 |
CN116955240A (zh) * | 2023-09-15 | 2023-10-27 | 西安智多晶微电子有限公司 | 一种ddr控制器中phy电路的延时校准系统及方法 |
-
2008
- 2008-12-01 CN CN2008101784665A patent/CN101446841B/zh not_active Expired - Fee Related
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011066758A1 (zh) * | 2009-12-02 | 2011-06-09 | 中兴通讯股份有限公司 | 测试存储器访问时延的方法及系统 |
CN101740138B (zh) * | 2009-12-02 | 2013-12-11 | 中兴通讯股份有限公司 | 一种测试存储器访问时延的方法及系统 |
CN101740138A (zh) * | 2009-12-02 | 2010-06-16 | 中兴通讯股份有限公司 | 一种测试存储器访问时延的方法及系统 |
CN103257309A (zh) * | 2012-02-17 | 2013-08-21 | 安凯(广州)微电子技术有限公司 | ddr系列pcb板时序补偿方法、系统及终端 |
CN103257309B (zh) * | 2012-02-17 | 2015-10-07 | 安凯(广州)微电子技术有限公司 | ddr系列pcb板时序补偿方法、系统及终端 |
CN102664039A (zh) * | 2012-05-07 | 2012-09-12 | 江苏中科梦兰电子科技有限公司 | 内存读操作数据选通使能时机的配置方法 |
CN102664039B (zh) * | 2012-05-07 | 2014-06-18 | 江苏中科梦兰电子科技有限公司 | 内存读操作数据选通使能时机的配置方法 |
CN106708167B (zh) * | 2015-11-13 | 2019-11-29 | 北京兆易创新科技股份有限公司 | 一种调整时钟的方法及控制器 |
CN106708167A (zh) * | 2015-11-13 | 2017-05-24 | 北京兆易创新科技股份有限公司 | 一种调整时钟的方法及控制器 |
CN107545926A (zh) * | 2016-06-29 | 2018-01-05 | 北京信威通信技术股份有限公司 | 一种时序参数扫描的方法及装置 |
CN108735255B (zh) * | 2017-04-21 | 2022-05-17 | 爱思开海力士有限公司 | 存储器系统 |
CN108735255A (zh) * | 2017-04-21 | 2018-11-02 | 爱思开海力士有限公司 | 存储器系统 |
CN108874686A (zh) * | 2017-05-08 | 2018-11-23 | 龙芯中科技术有限公司 | 内存参数调节方法、装置及设备 |
CN110460505A (zh) * | 2019-07-19 | 2019-11-15 | 苏州浪潮智能科技有限公司 | 一种并行总线的时序校准方法、装置及接收端设备 |
CN110460505B (zh) * | 2019-07-19 | 2021-09-17 | 苏州浪潮智能科技有限公司 | 一种并行总线的时序校准方法、装置及接收端设备 |
CN112687321A (zh) * | 2020-12-30 | 2021-04-20 | 西安紫光国芯半导体有限公司 | 校准方法及装置 |
CN112687321B (zh) * | 2020-12-30 | 2023-04-07 | 西安紫光国芯半导体有限公司 | 校准方法、装置及对应的延迟电路 |
CN116665731A (zh) * | 2023-08-02 | 2023-08-29 | 成都智多晶科技有限公司 | 一种ddr存储器采样校准方法及ddr存储器 |
CN116665731B (zh) * | 2023-08-02 | 2023-10-03 | 成都智多晶科技有限公司 | 一种ddr存储器采样校准方法及ddr存储器 |
CN116955240A (zh) * | 2023-09-15 | 2023-10-27 | 西安智多晶微电子有限公司 | 一种ddr控制器中phy电路的延时校准系统及方法 |
CN116955240B (zh) * | 2023-09-15 | 2023-12-22 | 西安智多晶微电子有限公司 | 一种ddr控制器中phy电路的延时校准系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101446841B (zh) | 2011-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101446841B (zh) | 确定存储器控制器时钟校准值的方法及系统 | |
CN102422360B (zh) | 校准存储器系统中的写平整的起始值的方法 | |
US6980479B2 (en) | Semiconductor device for domain crossing | |
US8589654B2 (en) | Memory device, memory system, and access timing adjusting method in memory system | |
US20100182855A1 (en) | Semiconductor memory device, method of controlling read preamble signal thereof, and data transmission system | |
KR20170046067A (ko) | 커맨드 버스 트레이닝을 지원하는 메모리 장치와 시스템, 그리고 그것들의 동작 방법 | |
CN108038068B (zh) | 一种基于ddr读数据同步方法及系统 | |
CN100444282C (zh) | 减少动态随机存取内存dram电力消耗的方法和电路 | |
CN107844439B (zh) | 支持命令总线训练的存储设备和系统及其操作方法 | |
US7644324B2 (en) | Semiconductor memory tester | |
CN108009372B (zh) | 一种ddr内存虚拟写电平校准响应的方法 | |
CN103065677A (zh) | 基于延迟单元的自校准系统 | |
CN104282325A (zh) | 具有读取定时信息的多数据速率存储器 | |
US7796465B2 (en) | Write leveling of memory units designed to receive access requests in a sequential chained topology | |
CN103514963A (zh) | 存储器及其测试方法 | |
CN101645301A (zh) | 一种用于读数据采样的温度自适应调整方法及装置 | |
CN104216462B (zh) | 一种基于fpga的大动态高精度可编程延时装置 | |
CN101465632A (zh) | 采样电路与采样方法 | |
US8610471B2 (en) | Delay locked loop | |
CN102751966B (zh) | 延迟电路和存储器的潜伏时间控制电路及其信号延迟方法 | |
CN106297889A (zh) | 存储器测试系统及其测试方法 | |
KR101455253B1 (ko) | 메모리 컨트롤러 | |
KR20210040707A (ko) | 메모리 장치 및 이를 포함하는 메모리 시스템 | |
CN102981781B (zh) | 数据储存装置、储存介质控制器与控制方法 | |
US6634002B1 (en) | Test circuit of semiconductor memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110504 Termination date: 20171201 |
|
CF01 | Termination of patent right due to non-payment of annual fee |