专利名称:用于确定实际写等待时间和准确对准存储器设备上数据捕获的开始和数据到达的方法和装置的制作方法
背景技术:
1.发明领域本发明总体上涉及高速同步存储器系统,更具体而言,涉及用于确定存储器设备的实际写等待时间和准确对准存储器设备上数据捕获的开始和数据到达的方法和装置。
2.相关技术描述在典型的计算机系统中,处理器与存储器设备通过总线接口,典型地通过存储器控制器接口。当控制器向存储器设备提交读(READ)请求时,来自存储器设备的响应可以在称为读“等待时间”的一段延迟时间之后,由控制器从总线上读取。如果控制器提交写(WRITE)请求,则存储器系统中的存储器设备就可以从总线上接收数据,并在某个写“等待时间”之后开始捕获该数据以用于存储。
等待时间量会随设备的类型而变化。等待时间量还会随请求的类型而变化。例如,存储器设备可能需要10-15纳秒来响应读请求,但是仅需要5-10纳秒来响应写请求。
在发出存储器请求之前,存储器控制器典型地为每种类型的请求和每种类型的设备存储指定的等待时间值。因此,当发出请求时,控制器可以确定在将数据提供给总线或从总线接收数据之前其必须等待的时间段。
图1中描述了示例性的计算机系统。该计算机系统包括处理器50、存储器子系统10和扩展总线控制器52。存储器子系统10和扩展总线控制器52经由本地总线54耦合到处理器50。扩展总线控制器52还耦合到至少一个扩展总线56,各种外围设备57-59,诸如大容量存储器设备、键盘、鼠标、图形适配器和多媒体适配器可以附接至该扩展总线56。
存储器子系统10包括经由多个信号线41a-41d、42、43、44、45a-45d、46a-46d耦合到多个存储器模块30-32的存储器控制器40。所述多个数据信号线41a-41d由存储器控制器40和存储器模块30、32使用来交换数据。在多个地址信号线43上发出地址ADDR的信号,而在多个命令信号线42上发出命令CMD的信号。存储器模块30、32分别包括多个存储器设备11-14和15-18,以及各自的寄存器21、22。每个存储器设备11-18是高速同步存储器设备。尽管图1中只示出了两个存储器模块30、32以及相关联的信号线41a-41d、42、43、44、45a-45d、46a-46d,但应当注意,可以使用任意数目的存储器模块。此外,尽管每个存储器模块只示出了四个存储器设备,但可以在每个模块上提供更少或更多的存储器设备。
将存储器模块30、32耦合到存储器控制器40的多个信号线41a-41d、42、43、44、45a-45d、46a-46d称为存储器总线15。存储器总线15可以具有本领域公知的附加信号线,例如芯片选择线,这里为了简明起见没有将其示出。跨越存储器总线15的存储器设备11-14、15-18的每一列称为存储器的等级。通常,单面存储器模块,例如,诸如图1示出的SIMM(单列直插式存储器模块),包括单一的存储器等级。然而,也可以利用包含两个存储器等级的双面存储器模块,例如DIMM(双列直插式存储器模块)。
多个数据信号线41a-41d将存储器设备11-18耦合到存储器控制器40。读数据被与读时钟信号RCLK同步地串行输出,所述读时钟信号RCLK被横跨多个读时钟信号线45a-45d驱动。读时钟信号RCLK由读时钟发生器41产生,该读时钟信号RCLK被施加于存储器模块32、30的存储器设备11-18以及被施加于存储器控制器40。
尽管为了描述目的,读时钟发生器41与存储器模块30、32相独立地示出,但读时钟发生器41通常被提供在存储器设备11-18自身之内,且读时钟信号可以来源于施加于存储器设备的其他时钟信号。
写数据被与写时钟信号WCLK同步地串行输入,所述写时钟信号WCLK由存储器控制器40横跨多个写时钟信号线46a-46d驱动。使用命令时钟信号CCLK来同步命令和地址,命令时钟信号CCLK由存储器控制器横跨存储器模块30、32的寄存器21、22驱动至终端器48。命令、地址和命令时钟信号线42-44直接耦合到存储器模块30、32的寄存器21、22。寄存器21、22在这些信号被分配到存储器模块30、32的存储器设备11-18之前将这些信号缓冲。因此,存储器子系统10在三时钟域下工作,即,由读时钟RCLK控制的读时钟域,由写时钟WCLK控制的写时钟域,以及由命令时钟CCLK控制的命令时钟域。在两时钟域中,第三时钟域CCLK不存在,写时钟WCLK用作写数据捕获和命令/地址捕获的双重目的。
当存储器设备11-18接收读命令时,直到经过了由命令时钟CCLK确定的某一时间量后,才在存储总线15上输出与该读命令相关联的数据。这个时间称为设备读等待时间CL。存储器设备11-18通常可以被编程,用以采用多个设备读等待时间中的任意一个操作,范围从最小设备读等待时间(其随设备而变化)到最大读等待时间。
因此,相对于上述三时钟域中的命令时钟(CCLK)来测量每个设备的读等待时间CL,或者相对于上述两时钟域中的写时钟WCLK来进行测量,这是由于在两时钟域中,写时钟WCLK用作写数据捕获和命令/地址捕获的双重目的。对于两时钟域的当前规格要求CL-1的写等待时间,即小于读等待时间一个时钟周期,或CL-2,即小于读等待时间的两个时钟周期。然而,因为读时钟信号RCLK典型地由锁延迟环电路以系统的输出模型补偿,所以相对于写时钟WCLK的真实的读等待时间CL是未知的。因此,相对于读等待时间指定写等待时间可能不能准确地预测设备上的数据相对于写时钟的到达。
此外,每个设备的写等待时间只是由存储器控制器40看见的写等待时间的一部分。由存储器控制器看见的这个总等待时间,称为系统等待时间,是设备写等待时间和由在存储器设备11-18和存储器控制器40之间的信号传播时间的影响引起的等待时间之和。如果在每个存储器设备11-18和存储器控制器40之间的信号传播是相同的,则由信号传播时间引起的等待时间会是常数,并对每个存储器设备11-18有相同的影响。然而,如图1所示,命令CMD、地址ADDR和命令时钟CCLK在其被分配到存储器设备11-18之前最初被发送至寄存器21、22。存储器模块30、32上的每个存储器设备11-14,15-18处于离寄存器21、22不同距离的位置。因此每个存储器设备11-14将接收由存储器控制器40在不同时期发出的命令和/或数据。此外,还存在存储器控制器40和两个存储器模块30、32的寄存器21、22之间的距离上的差异。(存储器模块30上的)寄存器21更靠近存储器控制器40,因此将在(存储器模块32上的)寄存器22之前接收命令、地址和命令时钟。因此,存储器子系统10的每个存储器设备11-18具有用于其命令CMD、地址ADDR和命令时钟CCLK信号的到存储器控制器的不同信号路径长度,并且将以变化的时间接收由存储器控制器发出的命令和/或数据。
由于每个存储器设备11-18的最小设备写等待时间上的差异和它们的命令CMD、地址ADDR和命令时钟CCLK信号传播上的差异,每个存储器设备11-18可以具有不同的系统等待时间。这进一步妨碍了关于何时数据相对于写时钟WCLK到达特定存储器设备11-18的离散时钟周期上的准确预测。
因此,存在对于准确确定实际写等待时间,即数据相对于写时钟到达存储器设备,以及对准与写命令相关联的数据捕获的开始以及数据到达的方法和装置的需要。
发明内容
本发明提供了一种方法和装置,用于准确确定存储器设备上的数据到达,以及对准与写命令相关联的数据捕获的开始和数据的到达。
根据本发明,数据到达存储器设备的输入的实际时间是在校准时段期间、通过将背对背写命令连同预定数据模式一起发送至存储器设备来确定的。数据模式存储在寄存器中,数据到达的预测时间和数据到达的实际时间之间的任何差异由逻辑电路来确定。任何确定的差异可以通过利用计数器从写命令的接收延迟存储器设备上数据捕获的开始来进行补偿,由此准确对准存储器设备上数据捕获的开始和数据的到达。
从下述本发明的详细说明连同提供附图,本发明的这些以及其他优点和特征将变得显而易见。
图1示出了传统计算机系统的框图;图2示出了根据本发明,用于确定实际写等待时间和对准存储器设备上写命令到达和数据到达的电路;图3A-3D示出了根据本发明,图2的电路中数据寄存器;图4示出了根据本发明,图2的电路中选中信号的时序图;以及图5示出了根据本发明,图2的电路中选中信号的另一个时序图。
优选实施方式详述将在图2-5中示出的示例性实施例中对本发明进行描述。可以利用其他实施例,也可以进行结构或逻辑改变而不背离本发明的精神或范围。类似的项由相同的参考数字表示。
根据本发明,数据到达存储器设备的输入的实际时间被确定,预测的到达时间和实际的到达时间之间任何确定的差异可以通过延迟存储器设备上数据捕获的开始来进行补偿,由此准确对准存储器设备上数据捕获的开始和数据的到达。
图2示出了根据本发明,用于确定数据的实际到达时间和对准存储器设备上数据捕获的开始和数据到达的电路100的框图。电路100可以提供在图1的每个存储器设备11-18中。
尽管图2中只示出了一个电路100,应当理解,可以在每个存储器设备11-18使用多个电路100,以使用多位数据总线的多个数据路径辅助数据捕获。或者,可以在每个存储器设备11-18倍增电路100的确定部分,而电路100的其他确定部分可以在多个数据路径之间共享,以便节省集成电路管芯上的面积。
电路100包括用于确定来自存储器控制器40的数据的准确到达时间的寄存器102。如图2所示的寄存器102是16位寄存器。存储器控制器40将经由CMD线42把命令信号发送到一个或多个DRAM 11-18,以指示DRAM 11-18将进入校准(训练)模式。控制器40然后将背对背WRITE命令发送到处于校准模式下的DRAM 11-18。控制器40然后按照对应请求类型和设备类型的指定的写等待时间来发送与背对背WRITE命令相关联的数据,诸如例如前述的CL-1或CL-2,接着,按照由WRITE命令信号所请求的那样,DRAM 11-18将开始在输入盘(pad)120和数据捕获锁存器122处捕获数据。
但是,如上所述,该指定的写等待时间可能不会准确预测DRAM11-18上数据的实际到达,因此由DRAM 11-18进行的数据捕获可能不和数据到达在同一时间开始。根据本发明,为了确定与写命令相关联的由DRAM 11-18的数据捕获的开始时间和数据接收之间的差异,与背对背写命令相关的数据是预先确定的训练数据模式(pattern)。优选地,训练数据是一对8位字,即16位,其中第一位为“0”,所有后续位为“1”。应当注意,优选使用一对数据字以提供更大的位数,以这些位数来确定数据实际上何时到达DRAM 11-18,这是由于对于DRAM 11-18的最大指定等待时间典型地等于8个时钟周期,因此需要一个两字节的训练数据模式,这将在下文中进一步描述。
来自控制器40的训练数据到达输入盘120,并被锁存在数据捕获锁存器122中。训练数据通过解串行器124和x8寄存器126、128,并被存储在寄存器102中。如果DRAM 11-18中数据捕获的开始(例如,在数据捕获锁存器122和解串行器124中)和训练数据的到达被准确对准,则训练数据的第一数据位,即具有“0”值的位就将被存储在图3A所示的寄存器102的第一位置中,即位置0a。因此,由于数据捕获的开始和数据到达被准确对准,则不需要调整数据捕获的开始。
但是,如果数据捕获的开始和训练数据的到达未被准确对准,则第一数据位,即具有“0”值的位将不被存储在寄存器102的第一位置中,而是取而代之地存储在后续的位置中。应当理解,与时钟信号WCLK的每个上升沿和下降沿同步地发送数据,并且数据捕获将仅在时钟信号的上升沿开始。因此,训练数据的第一数据位仅被存储在对应于时钟上升沿的位置中。因此,数据的第一位将仅被存储在寄存器102的偶数位置,即0a、2a、4a、6a、0b、2b、4b或6b。
例如,如果数据晚于指定写等待时间一个时钟周期到达,则第一数据位就将被存储在图3B所示的寄存器102的位置2a中。如果数据晚于指定写等待时间两个时钟周期到达,则第一数据位就将被存储在图3C所示的寄存器102的位置4a中。如果数据晚于指定写等待时间四个时钟周期到达,则第一数据位就将被存储在图3D所示的寄存器102的位置0b中。应当理解,在数据晚于期望时间到达的这些示例中,例如像在图3B、3C和3D中,将先于实际接收训练数据之时被存储在寄存器位置中,即图3B中的位置0a、1a,图3C中的位置0a、1a、2a和3a,以及图3D中的位置0a、1a、2a、3a、4a、5a、6a和7a的数据将具有值“1”,这是由于数据驱动器仅在“1”值存在时下拉(pull-down),除非控制器激活数据驱动器以将值下拉为“0”。因此,如果没有数据存在,则存储在寄存器102中的值将缺省为“1”值。或者,控制器可以驱动具有“1”值的数据直到训练数据开始,以确保存储在寄存器中的值在接收到训练数据的第一位之前具有“1”值。
一旦训练数据已被输入到寄存器102,则与时钟的每个上升沿相关的数据,即,存储在寄存器102的偶数位置(位置0a、2a、4a、6a、0b、2b、4b和6b)中的数据被输入到编码器104。只有来自寄存器102的偶数位置的数据是必要的,这是因为训练数据的第一位将总是出现在时钟信号的上升沿,因此其位于偶数位置中。编码器104基于其中存储训练数据的第一位(值“0”)的寄存器102的位置,将8位输入,即寄存器102的偶数位置编码为三个二进制数字。这个位置表示数据捕获应当被延迟以便与数据达到正确同步的时钟周期数目。
例如,如果如图3A所示,数据捕获的开始和数据到达被准确地对准,则从寄存器102到编码器104的输入将是01111111,表示训练数据的第一位存储在寄存器102的位置0a中。编码器104将输出二进制数000,其代表寄存器102的位置0a并表示数据捕获的开始和数据到达发生在相同的时钟周期。如果如图3B所示,数据捕获的开始提早了一个时钟周期,则输入到编码器104的将是10111111。编码器104将输出二进制数001,其代表寄存器102的位置2a并表示数据捕获的开始提早了一个时钟周期发生。如果如图3C所示,数据捕获的开始提早了两个时钟周期,则输入到编码104的将是11011111。编码器104将输出二进制数010,其代表寄存器102的位置4a并表示数据捕获的开始提早了两个时钟周期发生。如果如图3D所示,数据捕获的开始提早了四个时钟周期,则输入到编码104的将是11110111。编码器104将输出二进制数100,其代表寄存器102的位置0b并表示数据捕获的开始提早了四个时钟周期发生。
在训练数据已在寄存器102中被接收并在编码器104中被编码之后的适当时间,初始化逻辑150将把锁存信号输出到锁存器106。锁存器106将以从编码器104输出的三位二进制数的形式锁存编码器104的输出。如上所述,编码器104的输出表明在数据实际到达之前,数据捕获提早开始的时钟周期数目。当锁存器106接收锁存信号时,锁存器106将来自编码器104的存储值锁存,以供在计数器108a、108b中使用。每个计数器108a、108b是将来自锁存器106的值用作为开始点的递减计数器,递减计数至0,并重置为非零值(例如,二进制数“111”或十进制数“7”)。
如图2所示,两个计数器108a、108b可以用于允许背对背写命令被接收并适当地定时到正确的等待时间。如上所述,可能需要两个计数器108a、108b,这是因为对于DRAM 11-18的最大指定等待时间典型可以等于8个时钟周期,且对于8位的WRITE脉冲串长度(4个时钟周期),背对背WRITE操作的适当定时可能要求重叠递减计数,并因此需要两个独立的计数器。
每当触发电路114通过命令译码器/序列发生器140从控制器40接收写捕获信号时,触发电路114交替地选择第一计数器,例如计数器108a,然后选择第二计数器,例如计数器108b。第一和第二计数器108a、108b连接到启动/加载逻辑电路116的第一和第二输出,所述启动/加载逻辑电路116使用触发电路114的输出选择计数器108a、108b中的哪一个接收下一个启动/加载信号以开始递减计数。当计数器108a、108b接收启动/加载信号时,计数器从由锁存器106提供的值开始,与写时钟WCLK同步地开始递减计数至0。在到达0之后,每个计数器108a、108b重置为其非零值(例如,二进制数“111”或十进制数“7”)。每个计数器108a、108b在到达值7(111)时或在接收另一个启动/加载信号时停止计数。
每个计数器108a、108b的输出被输入到相应的零检测器110a、110b。零检测器110a、110b的输出耦合到至少一个或门112,当计数器108a、108b其中任一个的值到达0时,或门112输出开始捕获信号。所述开始捕获信号由解串行器124接收,此时解串行器开始捕获从数据捕获锁存器122中接收的数据。
尽管在图2中描述了两个108a、108b,应当理解,这并非是必需的,而可以根据本发明使用任意数目的计数器,例如单一计数器。
通常在DRAM 11-18接收一个两字节训练模式之后完成校准。进一步的校准可能导致锁存器106中存储不正确的值。但是,如果需要的话可以执行冗余的校准操作,只要锁存器106中存储的值在每次校准操作之前重置为零(“0”)。
一旦完成了训练模式,即,锁存器106存储了计数器108a、108b的启动值,则电路100就能准确对准存储器设备上数据捕获的开始和输入数据的到达。因此,例如,如果如图3B所示,数据捕获的开始提早了一个时钟周期,则从锁存器106输入到计数器108a、108b的值将是001。该值将作为计数器108a、108b的开始点来进行递减计数直到每个计数器到达0。对于图3B中示出的示例,在计数器108a、108b激活之后的一个时钟周期,计数器到达0,相应的零检测器110a、110b将把零检测信号输出至或门112,或门112将发出开始捕获信号。因此,数据捕获的开始将延迟一个WCLK时钟周期,并因此与输入数据的实际到达准确对准。如果如图3A所示,数据捕获的开始与输入数据的到达适当对准,则从锁存器106输入到计数器108a、108b的值就将是000,因此数据捕获的开始将不被延迟,由于其已经与输入数据的实际到达对准。
在训练模式完成之后,按如下方式将数据输入到存储器设备11-18。例如,假设数据将被输入到DRAM 12,其在训练模式期间确定了如图3B所示的数据捕获的开始提早了一个周期发生。由此,用于DRAM12且存储在锁存器106中的值将为001。控制器40将发出写命令并在对应DRAM 12的指定写等待时间之后发送相关的输入数据。命令译码器/序列发生器140将把写捕获信号发送给触发电路114、开始/加载逻辑电路116和初始化逻辑电路150。初始化逻辑电路150用于控制被发送到锁存器106和触发电路114的锁存信号。初始化逻辑电路150将确定相对于有效的写捕获信号接收到16位数据的时间,然后将锁存信号发送到锁存器106和触发电路114。由初始化逻辑150进行的确定可以例如用计数时钟周期的3位计数器来进行。锁存器106将存储的值输出到计数器108a、108b,其响应于由开始/加载逻辑电路116交替置有效的开始/加载信号,将从锁存器106中接收的值开始递减计数。
给每个计数器108a、108b提供从开始/加载逻辑116中接收开始/加载信号的开始/加载输入。输入到每个计数器108a、108b的开始/加载输入的信号是根据触发电路114的输出来确定的,其在计数器108a、108b之间选择以允许由命令译码器/序列发生器140接收的背对背写命令的正确时序。如果在数据输入期间接收到背对背写命令,则第一计数器,例如计数器108a,递减计数以同步第一写命令,第二计数器,例如计数器108b,递减计数以同步第二写命令。由此,控制器40可以发出与前一个写命令间隔一个脉冲串长度的写命令,引起零检测电路110a、110b以数据脉冲串长度的最小时间间隔(例如,8滴答(tick)或4个时钟周期)启动(fire)。零检测电路110a、110b通过或门112耦合,以检测零检测电路110a、110b其中之一何时变高。每个零检测电路110a、110b仅在启动之后保持一个时钟周期为高,因为正如所述的,计数器108a、108b的输出或是被复位,或是在值7(二进制111)停止计数。
与写命令相关的输入数据被发送到DRAM 12的盘120,其发送输入数据至数据捕获锁存器122。如上述示例所述,输入数据的接收可以落后数据捕获的开始一个时钟周期。数据捕获锁存器122将输入数据-数据QP驱动至解串行器124,其将在从或门112接收开始捕获信号时被使能。因此,在本示例中,解串行器124在相对于数据已预期到达才启动,并因此与输入数据的实际接收准确对准的时间经过了一个时钟周期之后才将被使能。解串行器124将输入数据-数据QP解串行为8位字,并提供8位字给第一x8寄存器126,该寄存器提供输入数据给第二x8寄存器128。提供第二x8寄存器128以允许DRAM 12背对背地捕获两个8位字。输入数据然后被发送到DRAM 12的阵列,和/或在训练模式下被发送到寄存器102,如上所述。
图4和5示出了对于其中数据捕获的开始已经被确定为提早了三个时钟周期的示例的示例性时序图。参照图4,锁存器106(锁存器X3)的输出已经预先确定为3(二进制011),开始/加载信号(开始/加载0)变高时,选中的计数器(计数器0)开始与写时钟(WCLK)同步地从3向0递减计数。当写捕获(写捕获)信号变高时,对于选中的计数器,开始/加载信号(开始/加载0)变高,其还引起触发(触发)信号切换状态。如图4所示,在每次出现写捕获信号的下降沿时,触发信号从高切换至低或从低切换至高。
当选中计数器(计数器0)的输出到达0时,它引起或门112(或门)的输出信号变高一个时钟周期。如图4中虚线所示,当或门112(或门)的输出变高时,解串行器124开始从数据捕获锁存器122捕获输入数据。因为或门112(或门)的输出从接收写捕获信号(写捕获)开始被延迟了若干(例如,3个)时钟周期,所以在解串行器124上数据捕获的开始可以有利地与存储器设备上(例如,DRAM 12)正确输入数据的到达对准。
参考图5,在写时钟(WCLK)的上升沿,在数据捕获锁存器122上捕获输入数据(输入数据),但是在写时钟(WCLK)的下降沿,在数据捕获锁存器122的输出(数据QP)上驱动所述输入数据。解串行器124中的第一数据位在写时钟(WCLK)的下一个上升沿或或门112(图4中的或门)的输出信号的上升沿上被捕获,而无论哪一个上升沿是后出现的。以这种方式,当写时钟(WCLK)和或门112的输出信号两者均为高时,解串行器124开始捕获输入数据。
因此,根据本发明,确定了指定写等待时间和存储器设备的输入上输入数据到达的实际时间之间的差异。任意确定的差异通过利用计数器来延迟存储器设备上数据捕获的开始而被补偿,由此准确对准了存储器设备上数据捕获的开始和数据的到达。
尽管如上已经描述了本发明的优选实施例,应当理解,这些都是本发明的示例,而不被认为是限制。可以进行增加、删除、替换和其他修改而不背离本发明的精神或范围。因此,本发明不被看作是由上述说明书所限制的,而只是由附属权利要求的范围所限制。
权利要求
1.一种用于确定存储器设备的写等待时间的电路,包括具有多个位置的寄存器,所述寄存器接收并存储至少一部分预定数据模式;耦合到所述寄存器的编码器,所述编码器具有被耦合用于接收存储在所述多个位置至少一部分中的数据的输入,所述编码器提供表示所述预定数据模式的实际接收时间和所述预定数据模式的期望接收时间之间的差异的输出。
2.根据权利要求1所述的电路,其中所述寄存器具有16个位置。
3.根据权利要求2所述的电路,其中所述多个位置的所述部分包括8个位置。
4.根据权利要求3所述的电路,其中所述8个位置为所述寄存器的偶数位置。
5.根据权利要求3所述的电路,其中所述8个位置为所述寄存器的奇数位置。
6.根据权利要求3所述的电路,其中所述编码器将存储在所述8个位置中的数据编码为数字,所述数字表示所述多个位置中存储所述预定数据模式的第一位的位置,所述存储所述预定数据模式的第一位的位置表示所述预定数据模式的所述实际接收时间和所述预定数据模式的所述期望接收时间之间相对于时钟信号的差异。
7.根据权利要求6所述的电路,其中所述数字是二进制数字。
8.根据权利要求6所述的电路,进一步包括耦合到所述编码器的锁存器,用以接收并存储所述数字。
9.根据权利要求1所述的电路,其中所述预定数据模式是16位长。
10.根据权利要求9所述的电路,其中所述预定数据模式包括具有第一值的第一位和具有第二值的所有其余位。
11.根据权利要求1所述的电路,其中所述预定数据模式的所述实际接收时间和所述预定数据模式的所述期望接收时间之间的所述差异是通过时钟信号的周期进行测量的。
12.一种用于对准捕获输入数据的开始时间和所述输入数据的实际接收的电路,包括第一电路,用于确定所述输入数据的实际到达时间和所述输入数据的期望到达时间之间的时间差异;耦合到所述第一电路的延迟电路,所述延迟电路根据所述输入数据的所述实际到达时间和所述输入数据的所述期望到达时间之间的所述确定的差异,延迟捕获所述输入数据的开始时间。
13.根据权利要求12所述的电路,其中所述第一电路进一步包括具有多个位置的寄存器,所述寄存器用于接收并存储预定数据模式的至少一部分;耦合到所述寄存器的编码器,所述编码器具有用于接收存储在所述多个位置至少一部分中的数据的输入,所述编码器提供表示所述预定数据模式的实际到达时间和所述预定数据模式的期望到达时间之间的差异的输出。
14.根据权利要求13所述的电路,其中所述编码器将存储在所述多个位置的所述至少一部分中的所述数据编码为数字,所述数字表示所述多个位置中存储所述预定数据模式的第一位的位置,所述存储所述预定数据的所述第一位的位置表示所述预定数据模式的所述实际到达时间和所述预定数据模式的所述期望到达时间之间的差异。
15.根据权利要求13所述的电路,进一步包括耦合到所述编码器的锁存器,用以接收并存储所述数字。
16.根据权利要求15所述的电路,其中所述延迟电路进一步包括耦合到所述锁存器的至少一个计数器,用以接收所述数字,所述至少一个计数器将所述数字用作为开始点进行计数;以及耦合到所述至少一个计数器的检测电路,以确定在所述计数期间所述至少一个计数器到达预定数字的时间,当到达所述预定数字时,所述检测电路提供输出信号以开始所述输入数据的所述捕获。
17.根据权利要求16所述的电路,其中所述至少一个计数器包括耦合到所述锁存器的第一和第二计数器,所述第一计数器独立于所述第二计数器接收所述数字并进行计数。
18.根据权利要求16所述的电路,其中所述至少一个计数器是递减计数器,且所述预定数字是0。
19.根据权利要求18所述的电路,其中所述检测电路包括至少一个零检测电路。
20.根据权利要求19所述的电路,其中所述检测电路包括耦合到每一个所述至少一个零检测电路的输出的至少一个或门。
21.根据权利要求16所述的电路,其中所述至少一个计数器包括至少一个相应的复位输入,用以接收至少一个相应的复位信号来复位所述至少一个计数器。
22.根据权利要求16所述的电路,进一步包括解串行器,具有耦合的第一输入,用于从所述检测电路中接收所述输出信号,以及具有耦合的第二输入,用于接收所述输入数据,其中所述输入数据的捕获被延迟到接收了来自所述检测电路的所述输出信号为止。
23.一种存储器设备,包括第一电路,用于确定所述存储器设备上测试数据的实际到达时间和所述测试数据的期望到达时间之间的时间差异,所述时间差异是通过时钟信号的周期进行测量的;以及耦合到所述第一电路的延迟电路,所述延迟电路根据所述确定的差异来延迟捕获到所述存储器设备的输入数据的开始时间,以便对准所述存储器设备上所述输入数据捕获的所述开始时间和所述输入数据的实际到达时间。
24.根据权利要求23所述的存储器设备,其中所述第一电路进一步包括具有多个位置的寄存器,所述寄存器用于接收和存储至少一部分测试数据;耦合到所述寄存器的编码器,所述编码器具有用于接收存储在所述多个位置至少一部分中的数据的输入,所述编码器提供表示所述存储器设备上测试数据的所述实际到达时间和所述测试数据的所述期望到达时间之间的差异的输出。
25.根据权利要求24所述的存储器设备,其中所述寄存器具有16个位置。
26.根据权利要求25所述的存储器设备,其中所述多个位置的所述至少一部分包括8个位置。
27.根据权利要求26所述的存储器设备,其中所述8个位置为所述寄存器的偶数位置。
28.根据权利要求26所述的存储器设备,其中所述8个位置为所述寄存器的奇数位置。
29.根据权利要求26所述的存储器设备,其中所述编码器将存储在所述8个位置中的数据编码为数字,所述数字表示所述多个位置中存储所述测试数据的第一位的位置,所述存储所述测试数据的所述第一位的位置表示所述存储器设备上测试数据的所述实际到达时间和所述测试数据的所述期望到达时间之间的所述差异。
30.根据权利要求29所述的存储器设备,其中所述数字是二进制数字。
31.根据权利要求29所述的存储器设备,进一步包括耦合到所述编码器的锁存器,用以接收并存储所述数字。
32.根据权利要求31所述的存储器设备,其中所述延迟电路进一步包括耦合到所述锁存器的至少一个计数器,用以接收所述数字,所述至少一个计数器将所述数字用作为开始点进行计数;以及耦合到所述至少一个计数器的检测电路,用以确定在所述计数期间所述至少一个计数器到达预定数字的时间,当到达所述预定数字时,所述检测电路提供输出信号以开始捕获所述输入数据。
33.根据权利要求32所述的存储器设备,其中所述至少一个计数器包括耦合到所述锁存器的第一和第二计数器,所述第一计数器独立于所述第二计数器接收所述数字并进行计数。
34.根据权利要求32所述的存储器设备,其中所述至少一个计数器是递减计数器,且所述预定数字是0。
35.根据权利要求34所述的存储器设备,其中所述检测电路包括至少一个零检测电路。
36.根据权利要求35所述的存储器设备,其中所述检测电路包括耦合到每一个所述至少一个零检测电路的输出的至少一个或门。
37.根据权利要求32所述的存储器设备,其中所述至少一个计数器包括至少一个相应的复位输入,用以接收至少一个相应的复位信号来复位所述至少一个计数器。
38.根据权利要求32所述的存储器设备,进一步包括解串行器,具有耦合的第一输入,用于从所述检测电路中接收所述输出信号,以及具有耦合的第二输入,用于接收所述输入数据,其中所述输入数据的捕获被延迟到接收了来自所述检测电路的所述输出信号为止。
39.根据权利要求24所述的存储器设备,其中所述测试数据是16位长。
40.根据权利要求39所述的存储器设备,其中所述测试数据包括具有第一值的第一位和具有第二值的所有其余位。
41.一种存储器设备,包括输入盘,用于接收输入数据;解串行器,具有耦合到所述输入盘的第一输入;以及延迟电路,具有耦合到所述解串行器的第二输入的输出,所述延迟电路将输出信号提供给所述解串行器,所述解串行器响应所述输出信号开始捕获所述输入数据,其中所述延迟电路延迟捕获所述输入数据的开始时间,以便对准所述存储器设备上的所述开始时间和所述输入数据的到达。
42.根据权利要求41所述的存储器设备,其中所述延迟电路进一步包括至少一个计数器,具有耦合的输入,用于接收预定数字,所述至少一个计数器将所述数字用作为开始点进行计数;以及耦合到所述至少一个计数器的检测电路,用以确定在所述计数期间所述至少一个计数器到达预定数字的时间,当到达所述预定数字时,所述检测电路提供输出信号以开始捕获所述输入数据。
43.根据权利要求42所述的存储器设备,其中所述至少一个计数器包括耦合到所述锁存器的第一和第二计数器,所述第一计数器独立于所述第二计数器接收所述数字并进行计数。
44.根据权利要求42所述的存储器设备,其中所述至少一个计数器是递减计数器,且所述预定数字是0。
45.一种处理器系统,包括处理单元;以及连接到所述处理单元的存储器设备,所示存储器设备包括第一电路,用于确定所述存储器设备上测试数据的实际到达时间和所述测试数据的期望到达时间之间的差异;以及耦合到所述第一电路的延迟电路,所述延迟电路根据所述确定的差异延迟捕获到所述存储器设备的输入数据的开始时间,以便对准所述存储器设备上捕获所述输入数据的开始时间和所述输入数据的实际到达时间。
46.根据权利要求45所述的处理器系统,其中所述第一电路进一步包括具有多个位置的寄存器,所述寄存器用于接收并存储至少一部分测试数据;耦合到所述寄存器的编码器,所述编码器具有用于接收存储在所述多个位置至少一部分中的数据的输入,所述编码器提供表示所述存储器设备上测试数据的所述实际到达时间和所述测试数据的所述期望到达时间之间的所述差异的输出。
47.根据权利要求46所述的处理器系统,其中所述寄存器具有16个位置。
48.根据权利要求47所述的处理器系统,其中所述多个位置的所述部分包括8个位置。
49.根据权利要求48所述的处理器系统,其中所述8个位置为所述寄存器的偶数位置。
50.根据权利要求48所述的处理器系统,其中所述8个位置为所述寄存器的奇数位置。
51.根据权利要求48所述的处理器系统,其中所述编码器将存储在所述8个位置中的数据编码为数字,所述数字表示所述多个位置中存储所述测试数据的第一位的位置,所述存储所述测试数据的所述第一位的位置表示所述存储器设备上测试数据的所述实际到达时间和所述测试数据的所述期望到达时间之间的所述差异。
52.根据权利要求51所述的处理器系统,其中所述数字是二进制数字。
53.根据权利要求51所述的处理器系统,进一步包括耦合到所述编码器的锁存器,用以接收并存储所述数字。
54.根据权利要求53所述的处理器系统,其中所述延迟电路进一步包括耦合到所述锁存器的至少一个计数器,用以接收所述数字,所述至少一个计数器将所述数字用作为开始点进行计数;以及耦合到所述至少一个计数器的检测电路,用以确定在所述计数期间所述至少一个计数器到达预定数字的时间,当到达所述预定数字时,所述检测电路提供输出信号以开始捕获所述输入数据。
55.根据权利要求54所述的处理器系统,其中所述至少一个计数器包括耦合到所述锁存器的第一和第二计数器,所述第一计数器独立于所述第二计数器接收所述数字并进行计数。
56.根据权利要求54所述的处理器系统,其中所述至少一个计数器是递减计数器,且所述预定数字是0。
57.根据权利要求56所述的处理器系统,其中所述检测电路包括至少一个零检测电路。
58.根据权利要求57所述的处理器系统,其中所述检测电路包括耦合到每一个所述至少一个零检测电路的输出的至少一个或门。
59.根据权利要求54所述的处理器系统,其中所述至少一个计数器包括至少一个相应的复位输入,用于接收至少一个相应的复位信号来复位所述至少一个计数器。
60.根据权利要求54所述的处理器系统,其中所述存储器设备进一步包括解串行器,具有耦合的第一输入,用于从所述检测电路中接收所述输出信号,以及具有耦合的第二输入,用于接收所述输入数据,其中所述输入数据的捕获被延迟到接收了来自所述检测电路的所述输出信号为止。
61.根据权利要求45所述的处理器系统,其中所述处理单元和所述存储器设备在同一芯片上。
62.一种处理器系统,包括处理单元;以及连接到所述处理单元的存储器设备,所示存储器设备包括输入盘,用于接收输入数据;解串行器,具有耦合到所述输入盘的第一输入;以及延迟电路,具有耦合到所述解串行器的第二输入的输出,所述延迟电路将输出信号提供给所述解串行器,所述解串行器响应所述输出信号开始捕获所述输入数据,其中所述延迟电路延迟捕获所述输入数据的开始时间,以便对准所述存储器设备上的所述开始时间和所述输入数据的到达。
63.根据权利要求62所述的处理器系统,其中所述延迟电路进一步包括至少一个计数器,具有耦合的输入,用于接收预定数字,所述至少一个计数器将所述数字用作为开始点进行计数;以及耦合到所述至少一个计数器的检测电路,用以确定在所述计数期间所述至少一个计数器到达预定数字的时间,当到达所述预定数字时,所述检测电路提供输出信号以开始捕获所述输入数据。
64.根据权利要求63所述的处理器系统,其中所述至少一个计数器包括耦合到所述锁存器的第一和第二计数器,所述第一计数器独立于所述第二计数器接收所述数字并进行计数。
65.根据权利要求63所述的处理器系统,其中所述至少一个计数器是递减计数器,且所述预定数字是0。
66.根据权利要求62所述的处理器系统,其中所述处理单元和所述存储器设备在同一芯片上。
67.一种用于将输入数据写到存储器设备的方法,包括以下步骤确定由所述存储器设备对测试数据的实际接收时间和由所述存储器设备对所述测试数据的期望接收时间之间的差异;接收写命令以将所述输入数据写到所述存储器设备;以及根据所述确定的差异延迟捕获所述输入数据的开始时间,以对准捕获所述输入数据的开始时间和所述输入数据的接收时间。
68.根据权利要求67所述的方法,其中所述确定步骤进一步包括将测试数据模式发送给所述存储器设备;以及比较所述测试数据模式的实际接收时间和所述测试数据模式的期望接收时间。
69.根据权利要求68所述的方法,其中所述比较步骤进一步包括在具有多个位置的寄存器中存储所述测试数据模式;以及确定所述多个位置中存储所述测试数据模式的第一位的位置,所述位置表示所述测试数据模式的所述实际接收时间和所述测试数据模式的所述期望接收时间之间相对于时钟信号的差异。
70.根据权利要求69所述的方法,其中所述确定步骤进一步包括根据所述位置确定一个值;以及存储所述值。
71.根据权利要求70所述的方法,其中所述延迟步骤进一步包括将所述确定的值用作为开始值,计数到预定值;当到达所述预定值时进行检测;以及当到达所述预定值时,提供信号以开始捕获所述输入数据。
72.根据权利要求71所述的方法,其中所述预定值是零,且所述计数步骤进一步包括从所述确定的值递减计数至0。
73.一种用于将输入数据写到存储器设备的方法,包括以下步骤将写命令发送给所述存储器设备;在等待指定时间量之后,将所述数据发送给所述存储器设备,所述指定时间量基于所述存储器设备的指定的写等待时间;以及将捕获所述数据的开始延迟一个预定的时间量,所述预定的时间量基于所述存储器设备的实际写等待时间,以对准由所述存储器设备对所述数据捕获的所述开始和对所述数据的接收。
74.根据权利要求73所述的方法,其中所述延迟步骤进一步包括将所述的捕获开始延迟预定数目的时钟周期。
全文摘要
公开了一种用于准确确定存储器设备上相对于写时钟数据的实际到达,以便准确对准存储器设备上数据捕获的开始和数据到达的方法和装置。在存储器设备的输入上数据到达的实际时间是通过将背对背写命令连同预定数据模式一起发送给存储器设备来确定的。数据模式存储在寄存器中,预测的数据到达时间和实际的数据到达时间之间的差异通过逻辑电路来确定。任何确定的差异皆可以通过延迟存储器设备上数据捕获的开始来补偿,由此准确对准存储器设备上数据捕获的开始和数据的到达。
文档编号G11C7/10GK1636196SQ02815365
公开日2005年7月6日 申请日期2002年6月6日 优先权日2001年6月6日
发明者B·约翰逊, B·凯斯, T·A·曼宁 申请人:微米技术有限公司