CN1332869A - 平衡用于存储器子***中的存储器装置的信道的传送延迟 - Google Patents
平衡用于存储器子***中的存储器装置的信道的传送延迟 Download PDFInfo
- Publication number
- CN1332869A CN1332869A CN99815140A CN99815140A CN1332869A CN 1332869 A CN1332869 A CN 1332869A CN 99815140 A CN99815140 A CN 99815140A CN 99815140 A CN99815140 A CN 99815140A CN 1332869 A CN1332869 A CN 1332869A
- Authority
- CN
- China
- Prior art keywords
- delay
- length
- controller
- storage arrangement
- storage
- 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
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/84—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability
- G11C29/842—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability by introducing a delay in a signal path
Landscapes
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
一种用于平衡装置的信道的传送延迟的方法与设备。公开的一种方法通过使用用于多个存储器装置的至少一个的所有可得到的延迟的子集反复测试存储器传送来确定最大传送等待时间值而确定控制器延迟值(100)。另外,通过使用用于多个存储器装置的每一个的至少一个延迟值测试存储器传送来确定用于多个存储器装置的每一个的存储器装置延迟值(120)。
Description
相关申请
该申请与序列号为_(文档No.P6627)的题目为“用于配置和初始化存储器装置和存储器信道的方法与设备”的申请、序列号为_(文档No.P6628)的题目为“使用配置空间寄存器配置存储器装置和存储器信道的方法与设备”的申请以及序列号为_(文档No.P6639)的题目为“离开低功率状态时恢复存储器装置信道的方法与设备”的申请相关。所有这些均为当前已提出申请的。
背景
1.发明领域
本发明涉及数据处理***领域。尤其本发明涉及平衡用于诸如在存储器信道中配置的存储器装置的多个数据传送装置的传送延迟。
2.相关技术描述
在一些数据传送***中,需要平衡一套***装置与总线控制器之间的数据传送延迟,这意味着调整数据传送延迟来使得数据传送延迟与传播延迟的总量等于用于总线上所有装置的总线循环的相同数目。用平衡的延迟,总线控制器可以以均匀方式响应于整套***装置。这种平衡通常在***启动处或在对该套装置的数据传送按另一种方式被暂停时的另一个初始化周期执行。用于平衡延迟有效的方法可有利地降低初始化周期的长度,从而允许更快地恢复或开始***处理功效。
很多已有技术的存储器子***要求整套存储器装置在一个总线循环期间响应。尽管响应时间可预先设计为不同值或通过***等待状态而延长,但希望所有数据在同一时钟循环内到达存储器控制器。所有装置在一个时钟循环期间响应的***不要求延迟平衡,但这种设计要求昂贵的印刷电路板并且受限于可实现的带宽。
另一方面,一些***包括沿着相对长的总线或“信道”定位的装置,使得***不试图在一个总线时钟循环期间沿着总线完成数据传输。实际上,用于总线的时钟速率可足够高,使得在远离总线控制器的总线一端上的装置可具有几个总线时钟循环传播延迟才到总线控制器。组合(compounding)传播延迟问题,沿着信道的各种装置可具有不同的交易响应时间。
Rambus(TM)Direct Rambus Dynamic Random Access Memory(Direct RDRAM)总线是沿着信道利用存储器装置的总线的一个例子。已知希望Direct RDRAM存储器控制器(RMC)在特定的总线循环期间沿着信道从所有装置接收数据。实际上,在加利福尼亚的Rambus Corporation of Mountain View的“Direct RMC.di DataSheet”中描述的控制器提供控制器延迟寄存器来帮助平衡延迟。
另外,一个或多个延迟寄存器还可提供在各个RDRAM装置内(例如在Rambus“Direct RDRAM64/72-Mbit”Data Sheet第36页讨论的TRDLY寄存器)。可将值存储在这些寄存器中,以沿着信道均衡各个装置之间的延迟。通常,控制器延迟值首先被初始化,接着用于各个存储器装置的延迟值被调整。
已有技术可不提供降低在初始化期间执行的循环的数目的机制。一般地,已有技术不指定特定的方式来仅测试可延迟的值的总数的子集。已有技术也不指定选择用于某延迟测试迭代的初始值、用于测试延迟值的有效顺序的方法,也可以不指定执行每一测试的方法或在到达某值时取消延迟测试和废止装置的方式。从而,已有技术没有提供用于沿着装置的信道平衡延迟的充足的方法。
概述
公开了一种用于平衡装置的一个信道的传送延迟的方法与设备。公开的一个方法通过使用用于多个存储器装置的至少一个的所有可得到的延迟的子集反复测试存储器传送来确定最大传送等待时间值而确定控制器延迟值。另外,通过使用用于多个存储器装置的每一个的至少一个延迟值测试存储器传送来确定用于多个存储器装置的每一个的存储器装置延迟值。
图的简要说明
本发明以举例方式图示出并且不限制于附图。
图1表示平衡用于存储器装置的延迟的***的一个实施例的流程图;
图2表示平衡用于存储器装置的延迟的***的一个实施例;
图3表示确定控制器延迟值的延迟平衡的第一阶段的一个实施例;
图4表示对每一个启动的装置确定各个装置延迟的延迟平衡的第二阶段的一个实施例。
详细说明
下面的说明提供一种方法和设备,用于平衡诸如存储器子***中的存储器装置的装置的通道所用的传送延迟。在下面的说明中,很多特定细节,如寄存器名称、存储器类型、总线协议、组件的特定类型、逻辑分割和集成选择都被提出,以提供对本发明更全面的理解。但应理解对熟悉本领域的技术人员而言,在没有这些特定细节的情况下仍可实施本发明。在其他例子中,控制结构和门级电路没有具体示出,为的是不混淆本发明。普通技术人员以包括的说明不需要额外的试验就能够实施必要的逻辑电路。
公开的方法可提供有效的初始化处理,以平衡控制器与一套装置之间的延迟。初始化处理是有效的,因为仅可延迟值的总数的子集需要被测试。例如,通过对于某延迟测试重复选择特定的初始值和/或在到达某值时取消延迟测试,通过使用用于测试延迟值的有效顺序可避免彻底的延迟测试。利用公开的方法的结果是可更快开始或再开始其他处理,从而允许提高的***吞吐量。
存储器子***的有效初始化由于在初始化期间缺少用于变量的存储器而尤其困难。由于存储器自身被初始化,它不可能用于暂时值的存储。另外,通常执行初始化的基本输入/输出***(BI0S)程序常常具有很小或没有其中暂时存储值的存储器。这样,初始化例行程序具有有限的资源可来用于支持最佳初始化流。
公开的两个阶段方法的一些实施例通过首先测试最大等待时间来设置控制器延迟值并且接着循环过每个存储器装置来设置装置延迟值而可以避免对大量存储器的需要。通过智能地切去处理的两个阶段中的不必要的重复而维持效率。
图1表示用于和控制器经总线交换数据的一套装置或装置的一个信道的延迟平衡的一般流程图。这个方法的阶段1包括根据最大装置等待时间对控制器延迟值编程。在阶段1确定的控制器延迟值是总线上装置的最大传送等待时间值的函数。根据使用的特定传送开始和/或数据接收硬件控制器延迟值可等于或从最大传送等待时间值得到。
一个可能的找到控制器延迟的方法是通过重复测试确定。但是如块100所示,控制器延迟值可通过仅测试可得到的延迟值的子集来确定。换言之,控制器可具有N个可用于沿着总线补偿各个装置的延迟的可能的内部延迟值,并且在某条件下在至少一些存储器装置上运行小于N的测试。例如通过在发现某最大控制器延迟值时取消测试阶段或通过在对前面的装置确定的最终的值处开始新的重复,可完成子集延迟值的这个测试。
在块110中,控制器延迟值被存储在控制器中,以允许控制器来成功地在总线上对于最慢的装置执行传送。在一个实施例中,控制器把确定的数目的延迟***到从装置接收数据的采样电路(例如锁存器)的时钟路径中。对采样电路的延迟的时钟补偿从装置到控制器的传播延迟,使得控制器可成功地在由装置驱动的数据中进行锁存。
由于控制器延迟值是基于最大等待时间值的,控制器仅能够成功地在阶段1的末端从在相同时域内的装置(即其数据在同一时钟循环内到达控制器的装置)接收数据。这样,在阶段1的末端(在块100和110后),进一步的配置适合于使控制器从所有的装置接收数据。
在阶段2中,总线上所有启动的装置被配置成把数据在同一循环内返回控制器。如块120所示,用于各个装置的延迟值通过测试各个装置的一个或多个延迟值来确定。接近控制器的装置需要***若干延迟循环来得到适当的数据到达时间,而在总线远端的装置需要一个或0个附加的延迟循环。而且,带有最大可接受的等待时间(在阶段1确定)的装置不应需要任何附加的延迟循环,因为控制器中的延迟与那一装置匹配。
图2表示在存储器控制器和一系列的存储器装置沿着存储器总线或存储器信道放置的环境中利用延迟平衡方法的一个***。在一个实施例中,信道可以是Rambus Direct RDRAM信道。另一个实施例可利用其他总线结构或设置,其没有这种平衡也将根据实际放置存储器装置所引起的传播延迟在不同的总线循环期间(或在不同时域中)将数据返回。
图2的***包括经总线207连接于存储器控制器200的处理器205。存储器控制器200包括控制器读出延迟寄存器字域(fie1d)(TDR)222、可变延迟电路210和锁存器226,以允许从以离开存储器控制器200的变化的距离(并从而改变传播延迟)放置的存储器装置捕获读出数据。控制器寄存器222可以是一组控制寄存器220中的一种,如可通过基本输入/输出***(BIOS)写入的外设部件互联(PCI)结构空间寄存器。
可变延迟电路210的图示实施例包括由控制器延迟寄存器222控制的多路复用器214。4个延迟元件216,217,218和219每一个把锁存器226的锁存延迟一个总线时钟,提供4个输入到多路复用器214。多路复用器214通过根据控制器延迟寄存器222中的值选择4个延迟之一提供时钟信号到锁存器226。在另一个实施例中,可使用其他数目的延迟元件,允许更大或更小的数目来用于最大控制器延迟,在这种情况下为4个。另外,可使用任何类型的已知或另外可利用的可变延迟电路。
存储器控制器200还包括串行控制逻辑224。串行控制逻辑可实现来自Rambus的可用的“RIMMTM Serial Presence DetectApplication Note”中描述的串行存在检测(SPD)传输协议。在另一个实施例中,串行控制逻辑224可用实施另一协议,串行或其他的控制逻辑替代,这可允许寄存器的编程诸如在存储器控制器200与其通信的各种装置中的延迟和识别寄存器。
存储器控制器200经串行总线236、时钟总线232(CK)和数据总线234(D)连接于3个存储器模块。各个存储器模块可包括变化数目的存储器装置。第一存储器模块240图示出第一存储器装置241、第二存储器装置250和最后一个存储器装置252。存储器装置250的几个内部特征在下面表示和讨论。
串行总线236是通过各个装置的分段式总线。串行总线236的第二段236a从存储器装置241延伸到存储器装置250。同样,第三段236b从存储器装置250延伸到下一个存储器装置(未示出)。另一方面,时钟总线232和数据总线234连续经例如存储器装置241和252通过如虚线所示的所有的信道。
第二存储器模块260和第三存储器模块270类似地配置。第二存储器模块260包括第一存储器装置262、第二存储器装置264和最后一个存储器装置266。第三存储器模块270包括第一存储器装置272、第二存储器装置274和最后一个存储器装置276。时钟总线232和数据总线234通过第二和第三存储器模块并连接到各个存储器装置。串行总线在各个装置之间继续以分段方式存在。
在第三存储器模块270的末端后,数据和时钟总线结束。数据总线终止于终端阻抗238以降低信号反射。时钟发生器280连接于时钟总线232的端部。在一个实施例中,时钟总线包括用于总线时钟的4个信号线。在这个实施例中,第一时钟发生器(未示出)把“来自主板的时钟”(CFM)时钟和它的补数(complement)分配到来自时钟总线232的存储器控制器端的两条线上,并且时钟发生器280把“到主板的时钟”(CTM)时钟和它的补数分配到来自时钟总线232的相对端的另外两条信号线上。
存储器装置250表示出各种组件,其还可包括在其他示出的存储器装置中。数据可由包括各个存储器单元和相关的控制逻辑电路的芯部243写入到数据总线234或从那里接收。驱动器电路242连接于芯部243来从芯部243向数据总线234驱动数据。驱动器242由来自可变延迟电路244的输出启动或选通,该电路再由延迟寄存器249控制。延迟寄存器249连接于串行控制逻辑电路248,从而可用BIOS确定的装置延迟值来编程,并被存储器控制器200经串行控制逻辑电路224和串行总线236来传送。
另外,一个或多个识别寄存器(ID)247可包含两个ID、分组装置ID和串行装置ID。分组装置ID(也称为“装置ID”)在使用数据总线234和/或其他控制线(未示出)执行数据或命令交易时定出特定存储器装置的地址。串行装置ID和装置ID通常不同,因为装置ID可被选择来优化性能,而串行ID严格基于存储器装置的实际定位来确定。
可变延迟电路244包括一组延迟块246a-246n,其可从一个装置到一个装置或一个模块到一个模块地变换序号。通常,可经串行总线236存取的非易失性存储器包含代表可用于存储器模块的各个存储器装置的最大数目的延迟的信息。多路复用器245从时钟总线232选择时钟信号,其被延迟了由存储在延迟寄存器249中的值确定的若干总线时钟循环。随后,存储器装置如需要可***延迟循环,以确保数据在特定总线时钟循环期间到达存储器控制器200。对于诸如装置276的处于总线末端的存储器装置,延迟值可以是0。对于靠近存储器控制器200的诸如装置241的装置,可***数据从装置276传播到装置241所需要的那样多个总线循环来平衡这两个存储器装置的延迟。
图2的***还包括连接于存储器控制器200的总线209。总线209可以是直接连接于存储器控制器200的总线或通过一个或多个桥路间接连接于存储器控制器200的总线。包含BIOS码的非易失性存储器280(例如快速存储器)和输入装置290连接于总线209。或者,这些装置可连接于独立的总线或者另外配置成使得它们可访问***。
输入装置290可从计算机存储装置292(例如光或磁盘或其他存储器件)或从网络或通信接口294接收程序指令。引起***实施公开的方法的BIOS码(即计算机指令)可用几种方式被编程到非易失性存储器280中。BIOS可在***制造时被编程或者在后面通过输入设备290经计算机可读媒体被分配。
在BIOS在后面被分配的情况下,指令可经计算机可读媒体被分配。以适当的接口装置290,电信号或真实的载波(carrier)是计算机可读媒体。例如,计算机存储装置292在一个实施例中是计算机可读媒体。承载计算机指令的载波296在另一个实施例中是计算机可读媒体。载波296可被调制或控制来包含可由输入装置290使用已知或另外可利用的通信方法解码的指令。在另外的情况下,计算机指令可经计算机可读媒体被分配。
图2的***的一个实施例的操作在分别表示阶段1和阶段2操作的图3和4的流程图中表示。在图3的块300中,阶段1开始。在块305中,把一些变量初始化。存储器控制器延迟值被初始化为代表在确定最终的控制器延迟值中存储器控制器首先测试的延迟循环数目的初始值。在一个实施例中,把0选择为初始值,以确保控制器延迟值不比所必须的大。
另外,串行ID计数器被初始化来表示块305中的串行信道链中的最后一个装置。在一个实施例中,指定串行ID,以使得串行链中最后一个装置具有最高串行ID序号。但是最高串行ID可以不具有到控制器的最长的跟踪距离。串行总线236可以在各个存储器模块上以固定方向(例如在图21中示为左向右)行进,同时数据总线234以不同方向横穿过不同模块。这样,以最高串行ID号开始是有利的,因为尽管最高串行ID号不代表离开控制器最远的存储器装置,但它可能至少在最远的存储器模块上。
接着,如块310所示,控制器延迟值被存储在存储器控制器寄存器222中。在控制器延迟被存储在控制器寄存器222中之后,如块315所使执行测试传送。例如,在一个实施例中,被测试的存储器装置中的特定存储器位置可被写入并且然后被读回。这个传送的成功在块320中测试。如果读回的数据值与写入的数据不匹配,那么传送不成功。这样,如果读回的数据早于存储器控制器所期望的,则它不能被正确地捕获并且传送不成功。
如果传送不成功,存储器控制器延迟如块325所示被增加,以给数据提供更多的时间来到达存储器控制器。是否存储器控制器延迟超出控制器支持的最大延迟值(例如,在图2的实施例中为4),如块350中测试所示。如果是这样,控制器不能***足够的延迟来从装置读出数据,并且因为串行ID在块340中被降低,在那一装置上不进行进一步的测试。在一个实施例中,最大延迟值是4。
另一方面,如果延迟小于存储器控制器支持的最大延迟值,存储器控制器200可以另一个循环从可变延迟210将时钟信号延迟并且再次尝试捕获数据。这样,如果控制器延迟不大于控制器支持的最大延迟,则过程返回块315,如块350中所示。
一旦在块320中检测到成功传送,对于那一特定存储器装置确定适当的控制器延迟,如块330中所示。如果延迟是控制器支持的最大延迟,如块335所示,完成阶段1,如块355所示。阶段1完成是因为控制器必须对这个存储器装置利用其最大延迟值,并且从而不需要再测试另一存储器装置。这样,可取消消耗性的控制器延迟测试以节省初始化时间。
如果控制器延迟值不是最大延迟值,那么检查其他存储器装置来确定它们的延迟值。如块340所示,串行ID计数器降低来选择下一个存储器装置。在块345中,确定是否有更多的存储器装置要被测试。如果没有,阶段1结束,如块355所示。在最高ID序号是首先选择的并且随后的装置通过降低ID序号来选择的一个实施例中,确定是否有任何更多的存储器装置要被测试可通过测试ID序号是否小于0来进行。或者,可将测试用于不同的ID标号和/或测试排序。
如果有任何更多的存储器装置要被测试,过程返回到块310。确定为足以用于前面的存储器装置的控制器延迟值是下一个重复的开始点。即使新的存储器装置把数据更快的返回,存储器控制器仍受到较慢的前面的装置的限制并且不可能降低控制器延迟值。因此,通过以前面确定的控制器延迟值开始,测试循环的数目可被降低并且初始化过程缩短。
而且,由于阶段1可首先测试实际上最远的存储器模块中的装置,最大延迟可能出现在存储器装置第一组中。因此,更近的装置可能把数据传送回到第一测试传送上的控制器。这样,通过在块305中选择最高串行ID序号作为开始点,低传播延迟装置的若干测试被跳过。
阶段2在图4的块400开始。再次初始化变量,如步骤405所示。串行ID计数器被初始化为信道上的最后一个装置的串行ID,使得最后一个装置作为选择的要被测试的装置。选择的装置的装置延迟被设置为初始值。在一个实施例中,把0用作初始值,因为一些装置以没有附加延迟来正确操作。
如块410所示,进行存储器传送来测试选择的存储器装置。如果在块410中尝试的传送不成功,如块412中的测试所示,测试的装置延迟值与最大装置延迟值相比,如块415所示。如果测试的装置延迟值是最大延迟值,那么尽管向其数据输出添加最大延迟,该装置不能准确地把数据传送到存储器控制器。在这种情况下,存储器装置被中止,如块425所示。装置可通过制定存储器控制器不使用的装置ID来中止,使得中止的装置与控制器之间的数据传送不会发生。之后,当串行ID计数器被提前时,其他装置可被测试,并且过程以块425继续下去。
在另一方面,如果在块410尝试的传送成功了,如块412测试所示,在选择的装置中当前编程的装置延迟足以准确地把数据传送到存储器控制器,并且可测试其他装置。因此,串行ID计数器被降低,如块430所示。
然后确定是否有一些装置保留下来要被测试。如块435所示,这可在一个实施例中通过测试串行ID计数器是否小于0来完成。如果装置保留下来要被测试,以降低的串行ID计数器表示的下一个装置是过程返回块410时要测试的下一个装置。如果没有未被测试的装置保留下来,完成阶段2,如块440所示。在这一点上所有装置或是中止或具有编程的正确的装置延迟值,使得信道中的各个装置响应于特定循环在相同数目的总线循环后把数据返回控制器。
这样,公开了用于平衡诸如存储器子***中的存储器装置的装置的信道所用的传送延迟的方法和设备。尽管在附图中描述和表示了某些例示的实施例,但应理解这种实施例仅是为了图示,并不对广义的发明作限制,因为对于熟悉本领域的技术人员而言在研究了本公开的情况下可作各种修改,因此本发明并不限制于所示和所描述的特定结构和设置。
Claims (21)
1.一种方法,包括:
通过使用用于多个存储器装置的至少一个的所有可得到的延迟的子集反复测试存储器传送来确定最大传送等待时间值而确定控制器延迟值;和
通过使用用于多个存储器装置的每一个的至少一个延迟值测试存储器传送来确定用于多个存储器装置的每一个的存储器装置延迟值。
2.根据权利要求1的方法,还包括:
在控制器中的控制器存储单元存储控制器延迟值以设置允许控制器以多个存储器装置的最慢的一个执行交易的信道延迟;和
在多个存储器装置的每一个的一个或多个延迟存储单元存储各个存储器装置延迟值以***平衡用于控制器与多个存储器装置之间的数据交易的循环计数的延迟。
3.根据权利要求1的方法,其中确定存储器装置延迟值还包括:
如果小于装置延迟循环的最大数目致使数据传送成功,那么确定引起数据传送成功的延迟循环数目;和
如果要求大于装置延迟循环的最大数目引起数据传送成功,那么当超出装置延迟循环的最大数目时停止。
4.根据权利要求1的方法,其中确定控制器延迟值包括:
通过从初始延迟值反复提高第一延迟值确定第一存储器装置的第一延迟值,第一延迟值是直到由控制器从已选择的存储器装置接收到数据时循环延迟数目;
以第一延迟值开始确定下一个存储器装置的下一个延迟值;和
选择第一延迟值和下一个延迟值中较大的一个作为控制器延迟值。
5.根据权利要求4的方法,还包括:
对于从多个存储器装置选择出的再下一个存储器装置反复确定下一个延迟值;
选择控制器延迟值和下一个延迟值中较大的一个作为控制器延迟值。
6.根据权利要求5的方法,其中第一存储器装置具有多个存储器装置的最后的序列标识值,并且该方法还包括:
通过以在选择的存储器装置之前的序列标识值选择的存储器装置选择下一个存储器装置。
7.根据权利要求1的方法,其中确定控制器延迟值包括:
初始化控制器延迟值到初始延迟值;
测试对已选择的存储器装置的交易是否成功;
如果对已选择的存储器装置的交易失败,那么
提高控制器延迟值;和
返回到测试对已选择的存储器装置的交易是否成功。
8.根据权利要求7的方法,还包括:
如果对存储器装置的交易成功,那么在从多个存储器装置选择新的存储器装置作为已选择的存储器装置后,返回到使用用于对成功的存储器装置的交易的控制器延迟值,测试对已选择的存储器装置的交易是否成功。
9.根据权利要求7的方法,还包括:
如果对存储器装置的交易成功,那么
测试控制器延迟值是否为最大控制器延迟值;
如果控制器延迟值小于最大控制器延迟值,那么在选择新的存储器装置作为已选择的存储器装置后,返回测试对已选择的存储器装置的交易是否成功;
如果控制器延迟值是最大控制器延迟值,那么
把最大控制器延迟值存储作为控制器延迟值;和
停止确定控制器延迟值的反复测试。
10.根据权利要求1的方法,其中确定控制器延迟值还包括:
如果控制器延迟值小于最大控制器延迟值,那么
除非已经对所有的多个存储器装置测试了控制器延迟值,否则选择新的存储器装置作为已选择的存储器装置。
11.根据权利要求1的方法,还包括:
把对于多个启动的存储器装置的每一个的存储器装置延迟值编程到用于各个存储器装置的控制区域中以平衡从多个存储器装置每一个到控制器的延迟。
12.根据权利要求11的方法,其中编程多个存储器装置中多个存储器装置延迟值还包括:
测试存储器装置的装置延迟值是否小于最大装置延迟值;和
如果装置延迟值大于最大装置延迟值,则中止存储器装置。
13.根据权利要求12的方法,其中中止存储器装置包括中止存储器装置的序列标识值。
14.一种方法包括:
通过从初始延迟值反复提高第一延迟值确定第一存储器装置的第一延迟值,第一延迟值是直到由控制器从已选择的存储器装置接收到数据时循环延迟数目;
以第一延迟值开始确定下一个存储器装置的下一个延迟值;
选择第一延迟值和下一个延迟值中较大的一个作为控制器延迟值;
测试控制器延迟值是否为最大控制器延迟值;和
如果控制器延迟值是最大控制器延迟值,那么
把最大控制器延迟值存储为控制器延迟值;和
停止确定控制器延迟值的反复测试。
15.根据权利要求14的方法,还包括:
如果控制器延迟值小于最大控制器延迟值,那么在选择新的存储器装置作为已选择的存储器装置后,返回测试对已选择的存储器装置的交易是否成功。
16.一种方法,包括:
对于多个存储器装置的每一个确定各个存储器延迟值,各个存储器延迟值是直到平衡多个存储器装置的读出延迟的最大延迟值的延迟数目;和
测试存储器装置的装置延迟值是否小于最大装置延迟值;
如果装置延迟值大于最大装置延迟值,则通过指定未使用的装置标识序号中止存储器装置。
17.一种***,包括:
处理器;
连接于处理器的存储器控制器;
连接于存储器控制器的多个存储器装置;和
具有存储其上的多个指令的独立的存储器装置,这些指令如果由***执行,导致***执行:
通过使用用于多个存储器装置的至少一个的所有可得到的延迟的子集反复测试存储器传送来确定最大传送等待时间值而确定控制器延迟值;和
通过使用用于多个存储器装置的每一个的至少一个延迟值测试存储器传送来确定用于多个存储器装置的每一个的存储器装置延迟值。
18.根据权利要求17的***,其中独立的存储器装置是非易失性可预编程存储器装置,其中多个指令是基本输入/输出***(BIS0)程序的子集。
19.一种包括可机读媒体的制品,该媒体具有存储其上的多个指令,如果机器执行这些指令,导致机器执行:
通过使用用于多个存储器装置的至少一个的所有可得到的延迟的子集反复测试存储器传送来确定最大传送等待时间值而确定控制器延迟值;和
通过使用用于多个存储器装置的每一个的至少一个延迟值测试存储器传送来确定用于多个存储器装置的每一个的存储器装置延迟值。
20.根据权利要求19的制品,其中计算机可读媒体是存储装置。
21.根据权利要求19的制品,其中计算机可读媒体是载波。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/186,042 US6173345B1 (en) | 1998-11-03 | 1998-11-03 | Method and apparatus for levelizing transfer delays for a channel of devices such as memory devices in a memory subsystem |
US09/186,042 | 1998-11-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1332869A true CN1332869A (zh) | 2002-01-23 |
CN1165845C CN1165845C (zh) | 2004-09-08 |
Family
ID=22683418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB998151408A Expired - Fee Related CN1165845C (zh) | 1998-11-03 | 1999-10-22 | 对用于存储器子***中的存储器装置的信道的传送延迟进行平衡的方法和装置 |
Country Status (9)
Country | Link |
---|---|
US (1) | US6173345B1 (zh) |
EP (1) | EP1131718B1 (zh) |
CN (1) | CN1165845C (zh) |
AU (1) | AU1221200A (zh) |
BR (1) | BR9915826B1 (zh) |
DE (1) | DE69922835T2 (zh) |
HK (1) | HK1036854A1 (zh) |
TW (1) | TW538341B (zh) |
WO (1) | WO2000026789A1 (zh) |
Families Citing this family (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6285962B1 (en) * | 1998-08-26 | 2001-09-04 | Tanisys Technology, Inc. | Method and system for testing rambus memory modules |
US6438670B1 (en) * | 1998-10-02 | 2002-08-20 | International Business Machines Corporation | Memory controller with programmable delay counter for tuning performance based on timing parameter of controlled memory storage device |
US6519716B1 (en) | 1999-09-22 | 2003-02-11 | International Business Machines Corporation | Electronic device initialization with dynamic selection of access time for non-volatile memory |
US6886105B2 (en) * | 2000-02-14 | 2005-04-26 | Intel Corporation | Method and apparatus for resuming memory operations from a low latency wake-up low power state |
US6615307B1 (en) * | 2000-05-10 | 2003-09-02 | Micron Technology, Inc. | Flash with consistent latency for read operations |
US7517975B2 (en) * | 2000-09-26 | 2009-04-14 | Pioneer Hi-Bred International, Inc. | Nucleotide sequences mediating male fertility and method of using same |
US7158592B2 (en) * | 2000-10-31 | 2007-01-02 | Agere Systems, Inc. | Method and apparatus for synchronizing data transfer |
US7302410B1 (en) * | 2000-12-22 | 2007-11-27 | Demandtec, Inc. | Econometric optimization engine |
US7660734B1 (en) | 2000-12-20 | 2010-02-09 | Demandtec, Inc. | System for creating optimized promotion event calendar |
US7899691B1 (en) | 2000-12-20 | 2011-03-01 | Demandtec, Inc. | Econometric engine |
US7877286B1 (en) | 2000-12-20 | 2011-01-25 | Demandtec, Inc. | Subset optimization system |
US10204349B2 (en) | 2000-12-20 | 2019-02-12 | International Business Machines Corporation | Analyzing customer segments |
US7657470B1 (en) | 2000-12-20 | 2010-02-02 | Demandtec, Inc. | Financial model engine |
US7062447B1 (en) | 2000-12-20 | 2006-06-13 | Demandtec, Inc. | Imputed variable generator |
US20100010870A1 (en) * | 2000-12-20 | 2010-01-14 | Karl Millar | System and Method for Tuning Demand Coefficients |
US7617119B1 (en) | 2000-12-20 | 2009-11-10 | Demandtec, Inc. | Price optimization with rule relaxation |
US9165270B2 (en) * | 2000-12-20 | 2015-10-20 | International Business Machines Corporation | Predicting likelihood of customer attrition and retention measures |
US10496938B2 (en) | 2000-12-20 | 2019-12-03 | Acoustic, L.P. | Generating product decisions |
US9785953B2 (en) * | 2000-12-20 | 2017-10-10 | International Business Machines Corporation | System and method for generating demand groups |
US9773250B2 (en) * | 2000-12-20 | 2017-09-26 | International Business Machines Corporation | Product role analysis |
US7523047B1 (en) | 2000-12-20 | 2009-04-21 | Demandtec, Inc. | Price optimization system |
US8010404B1 (en) | 2000-12-22 | 2011-08-30 | Demandtec, Inc. | Systems and methods for price and promotion response analysis |
US6553352B2 (en) * | 2001-05-04 | 2003-04-22 | Demand Tec Inc. | Interface for merchandise price optimization |
US7092896B2 (en) * | 2001-05-04 | 2006-08-15 | Demandtec, Inc. | Interface for merchandise promotion optimization |
US20040210541A1 (en) * | 2001-05-04 | 2004-10-21 | Jeremy Epstien | User interface for a rules engine and methods therefor |
US7130811B1 (en) | 2001-05-05 | 2006-10-31 | Demandtec, Inc. | Apparatus for merchandise promotion optimization |
US6785793B2 (en) | 2001-09-27 | 2004-08-31 | Intel Corporation | Method and apparatus for memory access scheduling to reduce memory access latency |
US20030084315A1 (en) * | 2001-10-30 | 2003-05-01 | Krawetz Neal A. | System and method for controlled access |
AU2002346402A1 (en) * | 2001-11-30 | 2003-06-17 | Demandtec, Inc. | Rule relaxation and subset optimization system |
US7249032B1 (en) | 2001-11-30 | 2007-07-24 | Demandtec Inc. | Selective merchandise price optimization mechanism |
US7809581B1 (en) * | 2001-11-30 | 2010-10-05 | Demandtec, Inc. | Rule relaxation and subset optimization system |
US7249033B1 (en) | 2001-11-30 | 2007-07-24 | Demandtec Inc. | Apparatus and method for selective merchandise price optimization |
US7386519B1 (en) * | 2001-11-30 | 2008-06-10 | Demandtec, Inc. | Intelligent clustering system |
US7133882B1 (en) | 2002-08-05 | 2006-11-07 | Demandtec, Inc. | Method and apparatus for creating and using a master catalog |
US6851604B2 (en) * | 2002-10-02 | 2005-02-08 | Demand Tec Inc. | Method and apparatus for providing price updates |
US7270973B2 (en) * | 2003-12-23 | 2007-09-18 | The United States Of America As Represented By The Secretary Of The Navy | Catalytic enzyme-modified textiles for active protection from toxins |
US7158536B2 (en) * | 2004-01-28 | 2007-01-02 | Rambus Inc. | Adaptive-allocation of I/O bandwidth using a configurable interconnect topology |
US7400670B2 (en) | 2004-01-28 | 2008-07-15 | Rambus, Inc. | Periodic calibration for communication channels by drift tracking |
US8422568B2 (en) | 2004-01-28 | 2013-04-16 | Rambus Inc. | Communication channel calibration for drift conditions |
US7095789B2 (en) * | 2004-01-28 | 2006-08-22 | Rambus, Inc. | Communication channel calibration for drift conditions |
US6961862B2 (en) * | 2004-03-17 | 2005-11-01 | Rambus, Inc. | Drift tracking feedback for communication channels |
US7177205B2 (en) * | 2004-04-27 | 2007-02-13 | Intel Corporation | Distributed loop components |
US7978754B2 (en) * | 2004-05-28 | 2011-07-12 | Rambus Inc. | Communication channel calibration with nonvolatile parameter store for recovery |
US7516029B2 (en) | 2004-06-09 | 2009-04-07 | Rambus, Inc. | Communication channel calibration using feedback |
US7535958B2 (en) * | 2004-06-14 | 2009-05-19 | Rambus, Inc. | Hybrid wired and wireless chip-to-chip communications |
US7669027B2 (en) * | 2004-08-19 | 2010-02-23 | Micron Technology, Inc. | Memory command delay balancing in a daisy-chained memory topology |
US7489739B2 (en) * | 2004-09-17 | 2009-02-10 | Rambus, Inc. | Method and apparatus for data recovery |
US9858579B1 (en) | 2006-02-28 | 2018-01-02 | International Business Machines Corporation | Plan tuning engine |
US9785951B1 (en) | 2006-02-28 | 2017-10-10 | International Business Machines Corporation | Scalable tuning engine |
US7660942B2 (en) * | 2006-07-26 | 2010-02-09 | International Business Machines Corporation | Daisy chainable self timed memory chip |
US7545664B2 (en) * | 2006-07-26 | 2009-06-09 | International Business Machines Corporation | Memory system having self timed daisy chained memory chips |
US7546410B2 (en) * | 2006-07-26 | 2009-06-09 | International Business Machines Corporation | Self timed memory chip having an apportionable data bus |
US7577811B2 (en) * | 2006-07-26 | 2009-08-18 | International Business Machines Corporation | Memory controller for daisy chained self timed memory chips |
US7660940B2 (en) * | 2006-07-26 | 2010-02-09 | International Business Machines Corporation | Carrier having daisy chain of self timed memory chips |
JP2011081732A (ja) * | 2009-10-09 | 2011-04-21 | Elpida Memory Inc | 半導体装置及びその調整方法並びにデータ処理システム |
CN101740138B (zh) * | 2009-12-02 | 2013-12-11 | 中兴通讯股份有限公司 | 一种测试存储器访问时延的方法及*** |
JP6459820B2 (ja) * | 2015-07-23 | 2019-01-30 | 富士通株式会社 | 記憶制御装置、情報処理装置、および制御方法 |
US10243276B2 (en) * | 2015-10-12 | 2019-03-26 | The Boeing Company | Phased array antenna system including a modular control and monitoring architecture |
EP3244325B1 (de) * | 2016-05-10 | 2021-07-07 | dSPACE digital signal processing and control engineering GmbH | Verfahren zur zeitlich synchronisierten ausgabe und/oder zeitlich synchronisierten verarbeitung von signalen |
US10411719B1 (en) * | 2018-06-05 | 2019-09-10 | Western Digital Technologies, Inc. | Direct measurement delay calibration method and apparatus |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE756420A (fr) * | 1969-11-10 | 1971-03-01 | Ibm | Dispositif de transfert d'enregistrements |
US4263651A (en) * | 1979-05-21 | 1981-04-21 | International Business Machines Corporation | Method for determining the characteristics of a logic block graph diagram to provide an indication of path delays between the blocks |
US5081575A (en) * | 1987-11-06 | 1992-01-14 | Oryx Corporation | Highly parallel computer architecture employing crossbar switch with selectable pipeline delay |
JPH0713905A (ja) * | 1993-06-23 | 1995-01-17 | Hitachi Ltd | 記憶装置システム及びその制御方法 |
KR960013858B1 (ko) * | 1994-02-03 | 1996-10-10 | 현대전자산업 주식회사 | 데이타 출력버퍼 제어회로 |
US5623638A (en) * | 1994-11-22 | 1997-04-22 | Advanced Micro Devices, Inc. | Memory control unit with programmable edge generator to minimize delay periods for critical DRAM timing parameters |
US5892981A (en) * | 1996-10-10 | 1999-04-06 | Hewlett-Packard Company | Memory system and device |
-
1998
- 1998-11-03 US US09/186,042 patent/US6173345B1/en not_active Expired - Lifetime
-
1999
- 1999-10-22 BR BRPI9915826-4A patent/BR9915826B1/pt not_active IP Right Cessation
- 1999-10-22 EP EP99971540A patent/EP1131718B1/en not_active Expired - Lifetime
- 1999-10-22 CN CNB998151408A patent/CN1165845C/zh not_active Expired - Fee Related
- 1999-10-22 DE DE69922835T patent/DE69922835T2/de not_active Expired - Lifetime
- 1999-10-22 AU AU12212/00A patent/AU1221200A/en not_active Abandoned
- 1999-10-22 WO PCT/US1999/024753 patent/WO2000026789A1/en active IP Right Grant
- 1999-11-20 TW TW088119146A patent/TW538341B/zh not_active IP Right Cessation
-
2001
- 2001-09-29 HK HK01106919A patent/HK1036854A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP1131718A1 (en) | 2001-09-12 |
BR9915826B1 (pt) | 2012-02-07 |
HK1036854A1 (en) | 2002-01-18 |
BR9915826A (pt) | 2001-08-14 |
US6173345B1 (en) | 2001-01-09 |
TW538341B (en) | 2003-06-21 |
AU1221200A (en) | 2000-05-22 |
DE69922835D1 (de) | 2005-01-27 |
WO2000026789A1 (en) | 2000-05-11 |
DE69922835T2 (de) | 2005-12-15 |
EP1131718A4 (en) | 2003-08-06 |
CN1165845C (zh) | 2004-09-08 |
EP1131718B1 (en) | 2004-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1165845C (zh) | 对用于存储器子***中的存储器装置的信道的传送延迟进行平衡的方法和装置 | |
JP5249926B2 (ja) | 低減されたアクセス粒度を備えたメモリモジュール | |
US7823024B2 (en) | Memory hub tester interface and method for use thereof | |
US20130094271A1 (en) | Connection of multiple semiconductor memory devices with chip enable function | |
CN1732450A (zh) | 在检测到的静态循环中对总线信号终端进行补偿的装置和方法 | |
CN101036129A (zh) | 用于存储器***性能监视的存储器集线器和方法 | |
CN1437731A (zh) | 用于检测通信信道上时域的方法和装置 | |
US5872992A (en) | System and method for avoiding bus contention on a multiplexed bus by providing a time period subsequent to a read operation | |
CN102203717A (zh) | 固态驱动器优化器 | |
CN112463243B (zh) | 基于边界扫描的在线级联加载固件***及其方法 | |
WO2007081449A1 (en) | Managing serial attached small computer systems interface communications | |
US20020049578A1 (en) | Hardware-assisted disign verification system using a packet-based protocol logic synthesized for efficient data loading and unloading | |
US6810515B2 (en) | Process of restructuring logics in ICs for setup and hold time optimization | |
US5687371A (en) | Selection from a plurality of bus operating speeds for a processor bus interface during processor reset | |
CN116414767B (zh) | 一种对基于axi协议乱序响应的重排序方法及*** | |
US7945806B2 (en) | Data processing apparatus and method for controlling a transfer of payload data over a communication channel | |
US20030126346A1 (en) | Dynamic load balancing in a multi-bus computer system | |
US7735032B2 (en) | Early HSS Rx data sampling | |
US5671370A (en) | Alternating data valid control signals for high performance data transfer | |
WO2015105250A1 (en) | Method for processing data in storage device and storage device | |
CN117785289B (zh) | 保留站电路的控制方法、装置、保留站电路及存储介质 | |
CN113468840B (zh) | 时序模型的建立方法 | |
KR100927310B1 (ko) | 스케일러블 버스 구조 | |
US7430214B2 (en) | Circuit, method and program for data queue control | |
US7136944B2 (en) | Method and apparatus for using address traps to pace writes to peripheral devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
C10 | Entry into substantive examination | ||
PB01 | Publication | ||
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: 20040908 Termination date: 20151022 |
|
EXPY | Termination of patent right or utility model |