CN107526697B - 用于选择读取时钟信号的存储器控制器 - Google Patents

用于选择读取时钟信号的存储器控制器 Download PDF

Info

Publication number
CN107526697B
CN107526697B CN201610450837.5A CN201610450837A CN107526697B CN 107526697 B CN107526697 B CN 107526697B CN 201610450837 A CN201610450837 A CN 201610450837A CN 107526697 B CN107526697 B CN 107526697B
Authority
CN
China
Prior art keywords
clock signal
delay
sampled
read
signal
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.)
Active
Application number
CN201610450837.5A
Other languages
English (en)
Other versions
CN107526697A (zh
Inventor
王少虎
李斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NXP USA Inc
Original Assignee
NXP USA Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NXP USA Inc filed Critical NXP USA Inc
Priority to CN201610450837.5A priority Critical patent/CN107526697B/zh
Priority to US15/364,274 priority patent/US10276258B2/en
Publication of CN107526697A publication Critical patent/CN107526697A/zh
Application granted granted Critical
Publication of CN107526697B publication Critical patent/CN107526697B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/36Data generation devices, e.g. data inverters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/12015Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising clock generation or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50012Marginal testing, e.g. race, voltage or current testing of timing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • G11C7/1012Data reordering during input/output, e.g. crossbars, layers of multiplexers, shifting or rotating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/36Data generation devices, e.g. data inverters
    • G11C2029/3602Pattern generator
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device

Abstract

本发明涉及用于选择读取时钟信号的存储器控制器,包含时钟延迟发生器、一组触发器和控制电路,并且与处理器和存储器连接。时钟延迟发生器接收来自处理器的时钟信号,使时钟信号延迟一组延迟时间间隔,并且生成一组延迟的时钟信号。触发器接收来自存储器的测试图案和读取数据,基于延迟的时钟信号来采样测试图案和读取数据,并且生成一组采样的测试图案和一组采样的读取数据。控制电路识别出与测试图案相等的所采样的测试图案并且将相应的延迟的时钟信号识别为读取时钟信号,并且输出与(延迟的)读取时钟信号对应的所采样的读取数据。

Description

用于选择读取时钟信号的存储器控制器
技术领域
本发明一般涉及集成电路(IC),并且更具体地涉及存储器控制器。
背景技术
许多IC都包含处理器、存储器控制器和存储器。处理器生成时钟信号和数据。然后,在写入事务期间,处理器借助于存储器控制器将数据存储于存储器内。在读取事务期间,处理器借助于存储器控制器从存储器中读取数据。
半导体技术的改进已经引起了处理器的处理速度(即,高频时钟信号到处理器的速度)的增加。常规的存储器控制器按照基于时钟信号的上升沿和下降沿的至少之一的采样率来采样数据。但是,在读取事务期间,当存储器控制器接收数据时,数据在一段时间内是不稳定的,这段时间被称为数据偏斜时间间隔。在经过了数据偏斜时间之后,存储器控制器接收数据,该数据现在应当是稳定的且不具有任何错误。
当数据稳定时,存储器控制器在它能够精确地采样数据之前等待经过设置的时间间隔。预定的时间间隔等于数据偏斜时间与所设置的时间之和。如果存储器控制器在经过了预定的时间间隔之前对所读取的数据进行采样,则数据可能不会包含错误。因此,在读取事务期间的数据采样率取决于时钟信号的频率以及预定的时间间隔。
采样周期的时间段等于时钟周期的时间段与预定的时间间隔之和。采样率等于采样周期的时间段的倒数。采样周期的时间段大于时钟周期的时间段。因此,采样率小于时钟信号的频率,即,存储器控制器按照比处理器操作的速率慢的速率来读取数据。因而,延迟被引入处理器的操作中。
在用于避免上述问题的一种已知技术中,存储器控制器包含用于分别生成第一频率的第一读取时钟信号以及至少一个数据训练包(training packet)的时钟发生器和控制电路,其中第一频率大于由处理器生成的时钟信号的频率。存储器控制器生成数据训练包以确定数据偏斜时间间隔,并且将训练包存储于存储器内。当处理器生成读取事务时,存储器控制器接收训练包并使用第一读取时钟信号来采样训练包。存储器控制器检测训练包的最早和最晚转换。因而,存储器控制器基于该最早和最晚转换来确定所采样的数据不准确期间的时间间隔,即,存储器控制器确定数据偏斜时间间隔。存储器控制器基于数据偏斜时间间隔以第二频率生成第二读取时钟信号。第二读取时钟信号的时间段大于或等于数据偏斜时间间隔。然后,存储器控制器使用第二读取时钟信号来采样训练包并且生成所采样的训练包。存储器控制器通过将训练包与已采样的训练包进行比较来检查该训练包是否已经被精确地采样。如果训练包已经被精确地采样,则存储器控制器知道它能够使用第二读取时钟信号从存储器中采样读取数据。但是,如果训练包还没有被精确地采样,则存储器控制器重新确定数据偏斜时间间隔。这个过程被重复直到所使用的读取时钟信号能够精确地采样训练包。由于读取时钟信号的时间段仅基于数据偏斜时间间隔,而不基于时钟信号的时间段与数据偏斜时间之和,因而该存储器控制器采样读取数据的速率大于常规的存储器控制器采样读取数据的速率。但是,存储器控制器可能需要多次反复来确定合适的读取时钟信号。因而,存储器控制器在读取事务的执行中引入了延迟,并且因此在处理器的操作中也引入了延迟。而且,时钟发生器增加了存储器控制器的复杂度和功耗。
具有以下特性的存储器控制器将是有利的:生成读取时钟信号来采样存储于存储器内的数据,在不导致存储器控制器的复杂度显著增加的情况下确保数据被高频率地精确采样,并且不增加存储器控制器的功耗。
附图说明
下面关于本发明的优选实施例的详细描述在结合附图来阅读时将会更好理解。本发明借助于示例来说明,但并不限定于附图,在附图中相同的附图标记指示相似的要素。
图1是包含根据本发明的实施例的存储器控制器的集成电路(IC)的示意性框图;
图2是根据本发明的实施例的图1的存储器控制器的时钟延迟发生器的示意性框图;以及
图3是示出图1的存储器控制器的各种信号随时间变化的图表。
具体实施方式
关于附图的详细描述旨在作为本发明的当前优选实施例的描述,并且并非旨在代表可以实施本发明的唯一形式。应当理解,同样的或等效的功能可以通过旨在包含于本发明的精神和范围之内的不同实施例来实现。
在本发明的实施例中,提供了一种用于处理读取事务请求的存储器控制器。该存储器控制器与处理器连接,用于接收读取事务请求和时钟信号,并且与存储器连接,用于接收与读取事务请求对应的读取数据。该存储器控制器对所读取的数据进行采样并且将所采样的读取数据输出到处理器。该存储器控制器包含时钟延迟发生器、触发器组和控制电路。时钟延迟发生器与处理器连接并接收时钟信号。时钟延迟发生器使时钟信号延迟一组延迟时间间隔并且生成相应的延迟的时钟信号组。触发器组与时钟延迟发生器和存储器连接,分别用于接收延迟的时钟信号组和读取信号。触发器组还接收测试图案,使用每个延迟的时钟信号对测试图案和读取数据进行采样,并且生成与延迟的时钟信号组对应的一组采样的测试图案以及与延迟的时钟信号组对应的一组采样的读取数据。控制电路与触发器组连接,用于接收采样的测试图案组和采样的读取数据组,并且与时钟延迟发生器连接,用于接收延迟的时钟信号组。控制电路接收测试图案并将其与每个采样的测试图案进行比较,并然后基于比较结果选择一个延迟的时钟信号作为读取时钟信号。当相应的采样的测试图案与该测试图案相等时,控制电路选择所述一个延迟的时钟信号作为读取时钟信号。控制电路输出与读取时钟信号对应的采样的读取数据。
在另一个实施例中,本发明包括包含处理器、存储器控制器和存储器的集成电路(IC)。处理器生成读取事务请求和时钟信号。存储器控制器与处理器连接,用于接收读取事务请求和时钟信号。存储器与存储器控制器连接并且存储读取数据和测试图案。存储器控制器接收读取数据和测试图案,并且生成用于采样读取数据的读取时钟信号。存储器控制器将采样的读取数据输出到处理器。存储器控制器包含时钟延迟发生器、触发器组和控制电路。时钟延迟发生器与处理器连接并接收时钟信号。时钟延迟发生器使时钟信号延迟一组延迟时间间隔,并且基于相应的延迟时间间隔组来生成一组延迟的时钟信号。触发器组与时钟延迟发生器和存储器连接,分别用于接收延迟的时钟信号组和读取信号。触发器组还接收测试图案,使用每个延迟的时钟信号对测试图案和读取数据进行采样,并且生成与延迟的时钟信号组对应的一组采样的测试图案以及与延迟的时钟信号组对应的一组采样的读取数据。控制电路与触发器组连接,用于接收采样的测试图案和采样的读取数据,并且与时钟延迟发生器连接,用于接收延迟的时钟信号组。控制电路接收测试图案并将其与采样的测试图案组中的每个采样的测试图案进行比较,并且基于测试图案与采样的测试图案组的比较结果而选择延迟的时钟信号组中的一个延迟的时钟信号作为读取时钟信号。当相应的采样的测试图案与该测试图案相等时,控制电路选择所述一个延迟的时钟信号作为读取时钟信号。控制电路然后输出与读取时钟信号对应的采样的读取数据。
本发明的各种实施例包含与处理器和存储器连接的存储器控制器。存储器控制器包含时钟延迟发生器、触发器组和控制电路。时钟延迟发生器接收来自处理器的时钟信号,使时钟信号延迟一组延迟时间间隔,并且生成一组延迟的时钟信号。触发器接收来自存储器的测试图案和读取数据,使用每个延迟的时钟信号来采样测试图案和读取数据,并且生成一组采样的测试图案和一组采样的读取数据。控制电路识别与测试图案匹配的采样的测试图案,并且选择相应的延迟的时钟信号作为读取时钟信号。控制电路将与读取时钟信号对应的采样的读取数据输出给处理器。
每个延迟的时钟信号都具有与时钟信号的频率相等的频率。因此,存储器控制器在与处理器相同的频率下操作。这与常规的存储器控制器相比不会导致存储器控制器的复杂度的显著增加,并且会降低存储器控制器的功耗。存储器控制器选择延迟的时钟信号组中的延迟的时钟信号作为读取时钟信号。存储器控制器在经过了预定的时间间隔之后使用读取时钟信号对所读取的数据进行采样。因而,存储器控制器确保读取数据被精确地采样。读取数据的采样频率取决于读取时钟信号的频率,而不取决于预定的时间间隔和读取时钟信号的频率二者。因而,存储器控制器将读取数据的采样频率与由处理器提供的时钟信号的频率进行匹配。
现在参照图1,图中示出了根据本发明的实施例的集成电路(IC)100的示意性框图。IC 100包含处理器102、存储器控制器104和存储器106。存储器控制器104包含时钟延迟发生器108、一组触发器110(图中示出了两个触发器——第一触发器110a和第二触发器110b)、一组寄存器112(图中示出了两个寄存器——第一寄存器112a和第二寄存器112b),以及控制电路114。存储器106可以是NAND闪存或NOR闪存。
存储器106存储读取数据RD_DATA和测试图案TEST_PATTERN。处理器102生成读取事务READ_TXN,用于借助于存储器控制器104来读出读取数据RD_DATA。处理器102还生成时钟信号CLK。存储器控制器104确定读取时钟信号,以精确地采样读取数据RD_DATA。
时钟延迟发生器108与处理器102连接并接收时钟信号CLK。时钟延迟发生器108是时钟信号CLK延迟一组延迟时间间隔TDELAY,并且生成相应的一组延迟的时钟信号CLK_DELAY,图中示出了两个延迟的时钟信号——第一延迟的时钟信号CLK_DELAY1和第二延迟的时钟信号CLK_DELAY2。第一及第二延迟的时钟信号CLK_DELAY1和CLK_DELAY2分别延迟第一及第二延迟时间间隔TDELAY1和TDELAY2
延迟的时钟信号组CLK_DELAY的延迟的时钟信号数量基于时钟信号CLK的时钟周期的时间段以及预定的时间间隔,该预定的时间间隔是数据偏斜时间间隔TDATA_SKEW与设置的时间间隔TSETUP之和。数据偏斜时间间隔TDATA_SKEW是测试图案TEST_PATTERN和读取数据READ_DATA不稳定期间的持续时间。在经过了数据偏斜时间间隔TDATA_SKEW之后,测试图案TEST_PATTERN和读取数据READ_DATA是稳定的。设置的时间间隔TSETUP是测试图案TEST_PATTERN和读取数据READ_DATA稳定的持续时间。而且,在经过了设置的时间间隔TSETUP之后,测试图案TEST_PATTERN和读取数据READ_DATA被精确地采样。连续的延迟时间间隔TDELAY之间的时间差大于或等于预定的时间间隔。
在实施例中,连续的延迟时间间隔TDELAY之间的时间差是相等的。因此,延迟时间间隔TDELAY的值是第一延迟时间间隔TDELAY1的值的连续倍数,即,第二延迟时间间隔TDELAY2的值等于第一延迟时间间隔TDELAY1的值的两倍。例如,时钟信号CLK的时钟周期的时间段是5毫秒(ms),并且预定的时间间隔是1ms。因此,连续的延迟时间间隔TDELAY之间的时间差至少等于1ms,并且延迟的时钟信号的数量为5。
第一及第二触发器110a和110b与存储器106连接,并且接收测试图案TEST_PATTERN和读取数据RD_DATA。而且,第一及第二触发器110a和110b与时钟延迟发生器108连接,并且分别接收第一及第二延迟的时钟信号CLK_DELAY1和CLK_DELAY2。在实施例中,第一触发器110a在第一延迟的时钟信号CLK_DELAY1的第一及第二时钟周期内接收并采样测试图案TEST_PATTERN和读取数据RD_DATA。第二触发器110b在第二延迟的时钟信号CLK_DELAY2的第一及第二时钟周期内接收并采样测试图案TEST_PATTERN和读取数据RD_DATA。第一触发器110a在经过了至少预定的时间间隔之后精确地采样读取数据RD_DATA和测试图案TEST_PATTERN。
在一个实施例中,第一触发器110a在第一延迟的时钟信号CLK_DELAY1的上升沿采样测试图案TEST_PATTERN和读取数据RD_DATA。在另一个实施例中,第一触发器110a在第一延迟的时钟信号CLK_DELAY1的下降沿采样测试图案TEST_PATTERN和读取数据RD_DATA。在又一个实施例中,第一触发器110a在第一延迟的时钟信号CLK_DELAY1的上升沿和下降沿都采样测试图案TEST_PATTERN和读取数据RD_DATA。
当第一触发器110a分别在第一及第二时钟周期内接收测试图案TEST_PATTERN和读取数据RD_DATA时,第一触发器110a生成第一采样的测试图案SAMPL_TEST_PATTERN1和第一采样的读取数据SAMPL_RD_DATA1。第一采样的测试图案SAMPL_TEST_PATTERN1和第一采样的读取数据SAMPL_RD_DATA1被共同称为第一采样数据SAMPL1。第二触发器110b在结构和功能上与第一触发器110a类似,并且生成第二采样的测试图案SAMPL_TEST_PATTERN2和第二采样的读取数据SAMPL_RD_DATA1中的至少一个。第二采样的测试图案SAMPL_TEST_PATTERN2和第二采样的读取数据SAMPL_RD_DATA2被共同称为第二采样数据SAMPL2。
在一个实施例中,触发器组110的触发器数量比延迟的时钟信号组CLK_DELAY的延迟的时钟信号数量多一个。触发器组110还包含用于没有延迟地接收时钟信号CLK的第三触发器(未示出)。在另一个实施例中,触发器组110的触发器数量等于延迟的时钟信号组CLK_DELAY的延迟的时钟信号数量。
寄存器组112与时钟延迟发生器108连接并接收相应的延迟的时钟信号组CLK_DELAY。第一寄存器112a和第二寄存器112b分别接收第一延迟的时钟信号CLK_DELAY1和第二延迟的时钟信号CLK_DELAY2。第一寄存器112a与第一触发器110a连接,并且分别在第一及第二时钟周期内接收第一采样的测试图案SAMPL_TEST_PATTERN1和第一采样的读取数据SAMPL_RD_DATA1。类似地,第二寄存器112b与第二触发器110b连接,并且分别在第一及第二时钟周期内接收第二采样的测试图案SAMPL_TEST_PATTERN2和第二采样的读取数据SAMPL_RD_DATA2。
第一寄存器112a存储第一采样的测试图案SAMPL_TEST_PATTERN1,并将其作为第一存储的测试图案STORED_TEST_PATTERN1输出。第一寄存器112a存储第一采样的读取数据SAMPL_RD_DATA1,并将其作为第一存储的读取数据STORED_RD_DATA1输出。类似地,第二寄存器112b存储第二采样的测试图案SAMPL_TEST_PATTERN2,并将其作为第二存储的测试图案STORED_TEST_PATTERN2输出。第二寄存器112b存储第二采样的读取数据SAMPL_RD_DATA2,并将其作为第二存储的读取数据STORED_RD_DATA2输出。第一存储的测试图案STORED_TEST_PATTERN1和第一存储的读取数据STORED_RD_DATA1被共同称为第一存储数据STORED1。第二存储的测试图案STORED_TEST_PATTERN2和第二存储的读取数据STORED_RD_DATA2被共同称为第二存储数据STORED2。
控制电路114与处理器102连接,用于接收读取事务READ_TXN,并且与存储器106连接,用于接收测试图案TEST_PATTERN和读取数据RD_DATA。控制电路114同样与寄存器组112连接,用于接收第一及第二存储数据STORED1和STORED2,并且与时钟延迟发生器108连接,用于接收第一及第二延迟的时钟信号CLK_DELAY1和CLK_DELAY2。控制电路114将第一及第二存储的测试图案STORED_TEST_PATTERN1和STORED_TEST_PATTERN2中的每一个与测试图案TEST_PATTERN进行比较。
当第一存储的测试图案STORED_TEST_PATTERN1与测试图案TEST_PATTERN相等时,控制电路114确定第一延迟的时钟信号CLK_DELAY1作为读取时钟信号。类似地,当第二存储的测试图案STORED_TEST_PATTERN2与测试图案TEST_PATTERN相等时,控制电路114确定第二延迟的时钟信号CLK_DELAY2作为读取时钟信号。因而,控制电路114输出与读取时钟信号对应的第一或第二存储的读取数据STORED_RD_DATA1或STORED_RD_DATA2中的任一个。
在实施例中,延迟的时钟信号组CLK_DELAY包含第一至第八延迟的时钟信号CLK_DELAY1-CLK_DELAY8(未示出),延迟时间间隔组TDELAY包含第一至第八延迟时间间隔TDELAY1-TDELAY8,触发器组110包含第一至第八触发器110a-110h(未示出),并且寄存器组112包含第一至第八寄存器112a-112h(未示出)。在一个示例中,第二、第三及第四存储的测试图案STORED_TEST_PATTERN2、STORED_TEST_PATTERN3和STORED_TEST_PATTERN4与测试图案TEST_PATTERN相等。因此,控制电路114选择第三延迟的时钟信号CLK_DELAY3作为读取时钟信号。对第三延迟的时钟信号CLK_DELAY3的选择确保已经经过了预定的时间间隔以及第三及第二延迟时间间隔TDELAY3和TDELAY2之间的时间差。因而,存储器控制器104可精确地采样读取数据RD_DATA。
在另一个示例中,第一及第二存储的测试图案STORED_TEST_PATTERN1和STORED_TEST_PATTERN2与测试图案TEST_PATTERN匹配。第三存储图案STORED_TEST_PATTERN3没有与测试图案TEST_PATTERN匹配。因此,控制电路114选择第一延迟的时钟信号CLK_DELAY1作为读取时钟信号。在又一个示例中,第七及第八存储的测试图案STORED_TEST_PATTERN7和STORED_TEST_PATTERN8与测试图案TEST_PATTERN匹配。第六存储图案STORED_TEST_PATTERN6不与测试图案TEST_PATTERN匹配。因此,控制电路114选择第八延迟的时钟信号CLK_DELAY8作为读取时钟信号。
现在参照图2,图中示出了根据本发明的实施例的时钟延迟发生器108的示意性框图。时钟延迟发生器108包含一组延迟电路202,图中示出两个延迟电路202——第一及第二延迟电路202a和202b。延迟电路组202中的每个延迟电路包含一组延迟单元。第一延迟电路202a包含第一延迟电路组204,图中示出了两个延迟电路——第一及第二延迟单元204a和204b,并且第二延迟电路202b包含第二延迟单元组206,图中示出了两个延迟单元——第三及第四延迟单元206a和206b。
第一延迟单元204a与处理器102连接,用于接收时钟信号CLK,并且与第二延迟单元204b连接,用于接收第一中间时钟信号INT_CLK1。第一延迟单元204a生成第二中间时钟信号INT_CLK2和第一延迟的时钟信号CLK_DELAY1。第二延迟单元204b与第一延迟单元204a连接,并且接收第二中间时钟信号INT_CLK2和第三中间时钟信号INT_CLK3。第二延迟单元204b生成第一中间时钟信号INT_CLK1和第三中间时钟信号INT_CLK3。
第二中间时钟信号INT_CLK2是时钟信号CLK的延迟版本。第三中间时钟信号INT_CLK3是第二中间时钟信号INT_CLK2的延迟版本。第一中间时钟信号INT_CLK1是第三中间时钟信号INT_CLK3的延迟版本。第一延迟的时钟信号CLK_DELAY1是第一中间时钟信号INT_CLK1的延迟版本。第一及第二延迟单元204a和204b在时钟信号CLK内引入与第一延迟时间间隔TDELAY1相等的延迟。
第一延迟单元至第四延迟单元204a、204b、206a和206b的每个延迟单元都包含两个多路复用器208和210(或者复用器208和210)以及两个反相器212和214。在一个实施例中,两个复用器208和210是2:1多路复用器。每个复用器208都具有用于接收时钟信号CLK、第二中间时钟信号INT_CLK2、第一延迟的时钟信号CLK_DELAY1和第五中间时钟信号INT_CLK5之一的第一输入端子,用于接收输入信号IN的第二输入端子,用于接收选择信号SEL的选择端子以及输出端子,该输出端子用于输出时钟信号CLK和输入信号IN之一作为第一中间信号INT1,输出第二中间时钟信号INT_CLK2和输入信号IN之一作为第二中间信号INT2,输出第一延迟的时钟信号CLK_DELAY1和输入信号IN之一作为第三中间信号INT3以及输出第五中间时钟信号INT_CLK5和输入信号IN之一作为第四中间信号INT4。
每个复用器210具有用于接收第一中间时钟信号INT_CLK1、第三中间时钟信号INT_CLK3、第四中间时钟信号INT_CLK4和第六中间时钟信号INT_CLK6之一的第一输入端子。每个复用器210具有用于接收第二中间时钟信号INT_CLK2、第三中间时钟信号INT_CLK3、第五中间时钟信号INT_CLK5和第六中间时钟信号INT_CLK6之一的第二输入端子,以及用于接收选择信号SEL的选择端子。每个复用器210均输出第一及第二中间时钟信号INT_CLK1和INT_CLK2之一作为第五中间信号INT5,输出第三中间时钟信号INT_CLK3作为第六中间信号INT6,输出第四及第五中间时钟信号INT_CLK4和INT_CLK5之一作为第七中间信号INT7,以及输出第六中间时钟信号INT_CLK6作为第八中间信号INT8。
第一延迟单元204a包含第一及第二复用器208a和210a以及第一及第二反相器212a和214a。第二延迟单元204b包含第三及第四复用器208b和210b以及第三及第四反相器212b和214b。第三延迟单元206a包含第五及第六复用器208c和210c以及第五及第六反相器212c和214c。第四延迟单元206b包含第七及第八复用器208d和210d以及第七及第八反相器212d和214d。
第一复用器208a具有与处理器102连接以接收时钟信号CLK的第一输入端子。第一复用器208a具有接收输入信号IN的第二输入端子。在一个实施例中,输入信号IN具有预定的值,即,它被设定于第一逻辑状态。第一复用器208a具有接收选择信号SEL的选择端子。如果SEL为高,则第一复用器208a输出时钟信号CLK作为第一中间信号INT1。第一反相器212a与第一复用器208a的输出端子连接,并接收第一中间信号INT1。第一反相器212a输出第二中间时钟信号INT_CLK2,该第二中间时钟信号INT_CLK2是时钟信号CLK的反相版本。
第二复用器210a具有接收第一中间时钟信号INT_CLK1的第一输入端子。第二复用器210a具有与第一反相器212a连接的第二输入端子,并接收第二中间时钟信号INT_CLK2。第二复用器210a具有接收选择信号SEL的选择端子。当选择信号SEL为高时,则第二复用器210a输出第一中间时钟信号INT_CLK1作为第五中间信号INT5。第二反相器214a与第二复用器210a的输出端子连接,并接收第五中间信号INT5。第二反相器214a输出第一延迟的时钟信号CLK_DELAY1。
第三复用器208b具有与第一反相器212a连接以接收第二中间时钟信号INT_CLK2的第一输入端子。第三复用器208b具有接收输入信号IN的第二输入端子。在一个实施例中,输入信号IN被绑定为高或低,因此它具有预定的值。第三复用器208b具有接收选择信号SEL的选择端子。如果选择信号SEL为高,则第三复用器208b输出第二中间时钟信号INT_CLK2作为第二中间信号INT2。第三反相器212b与第三多路复用器208b的输出端子连接并接收第二中间信号INT2。第三反相器212b输出第三中间时钟信号INT_CLK3,该第三中间时钟信号INT_CLK3是第二中间时钟信号INT_CLK2的反相版本。
第四复用器210b具有与第三反相器212b连接的第一输入端子,并接收第三中间时钟信号INT_CLK3。第四复用器210b具有与第三反相器212b连接的第二输入端子,并接收第三中间时钟信号INT_CLK3。第四复用器210b具有接收选择信号SEL的选择端子。如果选择信号SEL为高,则第四复用器210b将输出第三中间时钟信号INT_CLK3作为第六中间信号INT6。第四反相器214b与第四复用器210b的输出端子连接,并接收第六中间信号INT6。第四反相器214b输出第一中间时钟信号INT_CLK1。
第五复用器208c具有与第二反相器214a连接以接收第一延迟的时钟信号CLK_DELAY1的第一输入端子,以及接收输入信号IN的第二输入端子。在一个实施例中,输入信号IN被绑定为高或低,因此它具有预定的值。第五复用器208c具有接收选择信号SEL的选择端子。如果选择信号SEL为高,则第五复用器208c将输出第一延迟的时钟信号CLK_DELAY1作为第三中间信号INT3。第五反相器212c与第五多路复用器208c的输出端子连接,并接收第三中间信号INT3。第五反相器212c输出第五中间时钟信号INT_CLK5,该第五中间时钟信号INT_CLK5是第一延迟的时钟信号CLK_DELAY1的反相版本。
第六复用器210c具有接收第四中间时钟信号INT_CLK4的第一输入端子以及与第五反相器212c连接的第二输入端子,并且接收第五中间时钟信号INT_CLK5。第六复用器210c具有用于接收选择信号SEL的选择端子。如果选择信号SEL为高,则第六复用器210c输出第四中间时钟信号INT_CLK4作为第七中间信号INT7。第六反相器214c与第六多路复用器210c的输出端子连接,并接收第七中间信号INT7。第六反相器214c输出第二延迟的时钟信号CLK_DELAY2。
第七复用器208d具有与第五反相器212c连接以接收第五中间时钟信号INT_CLK5的第一输入端子,以及接收输入信号IN的第二输入端子。在一个实施例中,输入信号IN被绑定为高或低,因此它具有预定的值。第七复用器208d具有接收选择信号SEL的选择端子。如果选择信号SEL为高,则第七复用器208d输出第五中间时钟信号INT_CLK5作为第四中间信号INT4。第七反相器212d与第七多路复用器208d的输出端子连接,并且接收第四中间信号INT4。第七反相器212d输出第六中间时钟信号INT_CLK6,该第六中间时钟信号INT_CLK6是第五中间时钟信号INT_CLK5的反相版本。
第八复用器210d具有与第七反相器212d连接的第一输入端子并接收第六中间时钟信号INT_CLK6,以及具有与第七反相器212d连接的第二输入端子并接收第六中间时钟信号INT_CLK6。第八复用器210d具有接收选择信号SEL的选择端子。如果选择信号SEL为高,则第八复用器210d输出第六中间时钟信号INT_CLK6作为第八中间信号INT8。第八反相器214d与第八复用器210d的输出端子连接,并接收第八中间信号INT8。第八反相器214d输出第四中间时钟信号INT_CLK4。第八复用器210d具有与第七反相器212d连接的第一输入端子。
在第一及第二延迟单元组204和206中的每个延迟单元组内的延迟单元的数量取决于第一及第二延迟时间间隔TDELAY1和TDELAY2以及由每个延迟单元引入的延迟。例如,第一及第二延迟时间间隔TDELAY1和TDELAY2分别等于1ms和2ms,并且由每个延迟单元引入的延迟为0.5ms。因此,第一及第二延迟单元组每个都包含两个延迟单元,以在时钟信号CLK和第一延迟的时钟信号CLK_DELAY1内引入1ms的延迟。
第二延迟电路202b与第一延迟单元204a连接并接收第一延迟的时钟信号CLK_DELAY1。第二延迟电路202b在结构和功能上与第一延迟电路202a类似。第二延迟电路202b在第一延迟的时钟信号CLK_DELAY1内引入等于第一延迟时间间隔TDELAY1的延迟。换言之,第二延迟电路202b在时钟信号CLK内引入两倍于第一延迟时间间隔TDELAY1的第二延迟时间间隔TDELAY2。因而,第二延迟电路202b生成第二延迟的时钟信号CLK_DELAY2。
图3示出了IC 100的存储器控制器104的时钟信号CLK、测试图案TEST_PATTERN、延迟的时钟信号组CLK_DELAY(图中示出了两个延迟的时钟信号——第一延迟的时钟信号CLK_DELAY1和第二延迟的时钟信号CLK_DELAY2)的时序图。在目前优选的实施例中,触发器组110中的每个触发器均在延迟的时钟信号组CLK_DELAY的相应的延迟的时钟信号的上升沿采样测试图案TEST_PATTERN和读取数据RD_DATA。
存储器控制器104在时间t0接收时钟信号CLK的上升沿。时钟延迟发生器108使时钟信号CLK分别延迟第一及第二延迟时间间隔TDELAY1和TDELAY2并生成第一及第二延迟的时钟信号CLK_DELAY1和CLK_DELAY2。存储器控制器104在时间t1以上升沿来生成第一延迟的时钟信号CLK_DELAY1。触发器组110在时间t3接收测试图案TEST_PATTERN。测试图案TEST_PATTERN从时间t3到时间t7是不稳定的,即,数据偏斜时间间隔TDATA_SKEW的范围从时间t3到时间t7(表示为“t3-t7”)。存储器控制器104在时间t4以上升沿来生成第二延迟的时钟信号CLK_DELAY2。第一延迟的时钟信号CLK_DELAY1在时间t8具有上升沿。设置的时间间隔TSETUP在第一延迟的时钟信号CLK_DELAY1的上升沿之前被测得。在一个实施例中,设置的时间间隔TSETUP的范围从时间t6到时间t8(表示为“t6-t8”)。测试图案TEST_PATTERN在设置的时间间隔TSETUP t6-t8期间是不稳定的。因此,第一触发器110a在时间t8于第一延迟的时钟信号CLK_DELAY1的上升沿处不精确地采样测试图案TEST_PATTERN。
第二延迟的时钟信号CLK_DELAY2在时间t11具有上升沿。设置的时间间隔TSETUP在第二延迟的时钟信号CLK_DELAY2的上升沿之前被测得。在一个实施例中,设置的时间间隔TSETUP的范围从时间t9到时间t11(表示为“t9-t11”)。测试图案TEST_PATTERN在设置的时间间隔TSETUP t9-t11期间是稳定的。因此,第二触发器110b在第二延迟的时钟信号CLK_DELAY2的上升沿处精确地采样测试图案TEST_PATTERN。
第一及第二触发器110a和110b分别生成第一及第二采样的测试图案SAMPL_TEST_PATTERN1和SAMPL_TEST_PATTERN2。第一及第二寄存器112a和112b接收并存储第一及第二采样的测试图案SAMPL_TEST_PATTERN1和SAMPL_TEST_PATTERN2。控制电路114接收第一及第二采样的测试图案SAMPL_TEST_PATTERN1和SAMPL_TEST_PATTERN2,分别作为第一及第二存储的测试图案STORED_TEST_PATTERN1和STORED_TEST_PATTERN2。而且,控制电路114将第一及第二存储的测试图案STORED_TEST_PATTERN1和STORED_TEST_PATTERN2中的每一个与测试图案TEST_PATTERN进行比较。控制电路114确定第二存储的测试图案STORED_TEST_PATTERN2与测试图案TEST_PATTERN相等。因此,控制电路114将第二延迟的时钟信号CLK_DELAY2确定为读取时钟信号。
第一及第二触发器110a和110b接收读取数据RD_DATA,并分别生成第一及第二采样的读取数据SAMPL_RD_DATA1和SAMPL_RD_DATA2。第一及第二寄存器112a和112b分别接收并存储第一及第二采样的读取数据SAMPL_RD_DATA1和SAMPL_RD_DATA2。第一及第二寄存器112a和112b分别输出第一及第二存储的读取数据STORED_RD_DATA1和STORED_RD_DATA2。由于第二存储的读取数据STORED_RD_DATA2对应于读取时钟信号,因而控制电路114将第二存储的读取数据STORED_RD_DATA2输出给处理器102。
存储器控制器104选择延迟的时钟信号组中的一个延迟的时钟信号CLK_DELAY作为读取时钟信号RD_CLK。存储器控制器104在经过了预定的时间间隔之后使用读取时钟信号来采样读取数据RD_DATA。这确保了读取数据RD_DATA被精确地采样。读取数据的采样频率RD_DATA取决于读取时钟信号的频率,而不是取决于预定的时间间隔。因而,存储器控制器104将读取数据RD_DATA的采样频率与由处理器102提供的时钟信号的频率CLK匹配。每个延迟的时钟信号都具有与时钟信号CLK的频率相等的频率。因此,存储器控制器104以与处理器102的频率相同的频率操作。存储器控制器104没有在读取事务的执行中引入延迟。因此,处理器102没有延迟地执行其操作。而且,存储器控制器104的功耗被降低。
虽然上文已经例示并描述了本发明的各种实施例,但是应当清楚,本发明并不仅限于这些实施例。众多修改、变更、变型、替代和等效形式对于本领域技术人员将是清楚的,而不脱离权利要求书所描述的本发明的精神和范围。

Claims (10)

1.一种用于处理读取事务请求的存储器控制器,其中所述存储器控制器与处理器连接以接收所述读取事务请求和时钟信号,并且与存储器连接以接收对应于所述读取事务请求的读取数据,所述存储器控制器包含:
与所述处理器连接的时钟延迟发生器,其中所述时钟延迟发生器接收所述时钟信号并且使用一组延迟时间间隔来生成一组延迟的时钟信号;
接收测试图案的一组触发器,其中所述一组触发器与所述时钟延迟发生器和所述存储器连接以分别接收所述一组延迟的时钟信号和所述读取数据,并且其中所述一组触发器使用所述一组延迟的时钟信号中的每个延迟的时钟信号来采样所述触发器所接收的测试图案和所述读取数据,并且生成与所述一组延迟的时钟信号对应的一组采样的测试图案以及与所述一组延迟的时钟信号对应的一组采样的读取数据;以及
控制电路,所述控制电路与所述一组触发器连接以接收所述一组采样的测试图案和所述一组采样的读取数据并且与所述时钟延迟发生器连接以接收所述一组延迟的时钟信号,其中所述控制电路将所述一组采样的测试图案中的每个采样的测试图案与所述所接收的测试图案进行比较,基于所述所接收的测试图案与所述一组采样的测试图案的比较选择所述一组延迟的时钟信号中的一个延迟的时钟信号作为读取时钟信号,并且将所述一组采样的读取数据中与所述读取时钟信号对应的所述采样的读取数据输出到所述处理器,其中当相应的采样的测试图案与所述所接收的测试图案相等时,所述控制电路选择所述延迟的时钟信号中的所述一个延迟的时钟信号作为所述读取时钟信号。
2.根据权利要求1所述的存储器控制器,其中所述测试图案被存储于所述存储器内。
3.根据权利要求1所述的存储器控制器,其中:
所述控制电路与所述处理器连接以接收所述读取事务请求,并且
所述控制电路和所述一组触发器在所述控制电路接收所述读取事务请求时接收所述测试图案。
4.根据权利要求3所述的存储器控制器,其中所述时钟延迟发生器包含用于生成所述一组延迟的时钟信号的一组延迟电路,并且其中所述一组延迟电路包含:
与所述处理器连接以接收所述时钟信号并生成第一延迟的时钟信号的第一延迟电路;以及
与所述第一延迟电路连接以接收所述第一延迟的时钟信号并生成第二延迟的时钟信号的第二延迟电路。
5.根据权利要求4所述的存储器控制器,其中所述第一延迟电路和所述第二延迟电路分别包含第一延迟单元组和第二延迟单元组,其中所述第一延迟单元组包含:
接收所述时钟信号和第一中间时钟信号并生成第二中间时钟信号和所述第一延迟的时钟信号的第一延迟单元;以及
与所述第一延迟单元连接以接收所述第二中间时钟信号并生成第三中间时钟信号和所述第一中间时钟信号的第二延迟单元,并且
其中所述第二延迟单元组包含:
接收所述第一延迟的时钟信号和第四中间时钟信号并生成第五中间时钟信号和所述第二延迟的时钟信号的第三延迟单元;以及
与所述第三延迟单元连接以接收所述第五中间时钟信号并生成第六中间时钟信号和所述第四中间时钟信号的第四延迟单元。
6.根据权利要求5所述的存储器控制器,其中所述第一延迟单元至第四延迟单元中的每个都包含:
第一多路复用器,具有用于接收所述时钟信号、所述第二中间时钟信号、所述第一延迟的时钟信号和所述第五中间时钟信号中的一个的第一输入端子,用于接收预定的输入信号的第二输入端子,用于接收选择信号的选择端子以及输出端子,所述输出端子用于输出所述时钟信号和所述预定的输入信号中的一个作为第一中间信号,输出所述第二中间时钟信号和所述预定的输入信号中的一个作为第二中间信号,输出所述第一延迟的时钟信号和所述预定的输入信号中的一个作为第三中间信号,以及输出所述第五中间时钟信号和所述预定的输入信号中的一个作为第四中间信号;
第一反相器,与所述第一多路复用器连接以接收所述第一中间信号至第四中间信号中的一个中间信号并且基于所述第一中间信号至所述第四中间信号中的所述一个中间信号来生成所述第二中间时钟信号、所述第三中间时钟信号、所述第五中间时钟信号和所述第六中间时钟信号中的一个;
第二多路复用器,具有与所述第一反相器连接以接收所述第二中间时钟信号、所述第三中间时钟信号、所述第五中间时钟信号和所述第六中间时钟信号中的一个中间时钟信号的第一输入端子,用于接收所述第一中间时钟信号、所述第三中间时钟信号、所述第四中间时钟信号和所述第六中间时钟信号中的一个的第二输入端子,用于接收所述选择信号的选择端子以及输出端子,所述输出端子用于输出所述第二中间时钟信号和所述第一中间时钟信号中的一个作为第五中间信号,输出所述第三中间时钟信号作为第六中间信号,输出所述第五中间时钟信号和所述第四中间时钟信号中的至少一个作为第七中间信号,以及输出所述第六中间时钟信号作为第八中间信号;以及
第二反相器,与所述第二多路复用器连接以接收所述第五中间信号至所述第八中间信号中的至少一个中间信号并基于所述第五中间信号至所述第八中间信号中的所述至少一个中间信号来生成所述第一延迟的时钟信号、所述第一中间时钟信号、所述第二延迟的时钟信号和所述第四中间时钟信号中的至少一个。
7.根据权利要求5所述的存储器控制器,其中在所述一组延迟电路中的延迟电路的数量基于预定的时间间隔和所述时钟信号。
8.根据权利要求7所述的存储器控制器,其中在每个延迟电路中的延迟单元的数量基于所述预定的时间间隔。
9.根据权利要求1所述的存储器控制器,还包含:
与所述控制电路连接的一组寄存器,
其中所述时钟延迟发生器接收所述一组延迟的时钟信号,并且所述一组触发器接收所述一组采样的测试图案和所述一组采样的读取数据,并且
其中所述寄存器组存储所述一组采样的测试图案和所述一组采样的读取数据,并且基于相应的所述一组延迟的时钟信号而输出所述一组采样的测试图案以及所述一组采样的读取数据作为一组存储数据,其中所述一组触发器借助于相应的所述一组寄存器与所述控制电路连接。
10.一组集成电路(IC),包含:
用于生成读取事务请求和时钟信号的处理器;
用于存储读取数据和测试图案的存储器;以及
连接于所述处理器和所述存储器之间的存储器控制器,用于接收来自所述存储器的所述读取数据和所述测试图案以及来自所述处理器的所述读取事务请求和所述时钟信号,其中所述存储器控制器生成用于采样所述读取数据的读取时钟信号并且输出采样的读取数据,其中所述存储器控制器包含:
与所述处理器连接的时钟延迟发生器,用于接收所述时钟信号,使所述时钟信号延迟一组延迟时间间隔,并且基于所述一组延迟时间间隔来生成一组延迟的时钟信号;
一组触发器,接收来自所述存储器的所述测试图案和所述读取数据以及来自所述时钟延迟发生器的所述一组延迟的时钟信号,使用所述一组延迟的时钟信号中的每个所述延迟的时钟信号来采样所述触发器所接收的测试图案和所述读取数据,并且生成与所述一组延迟的时钟信号对应的一组采样的测试图案以及与所述一组延迟的时钟信号对应的一组采样的读取数据;以及
控制电路,所述控制电路与所述一组触发器连接以接收所述一组采样的测试图案和所述一组采样的读取数据并且与所述时钟延迟发生器连接以接收所述一组延迟的时钟信号,其中所述控制电路将所述一组采样的测试图案中的每个采样的测试图案与所述所接收的测试图案进行比较,并且基于所述所接收的测试图案与所述一组采样的测试图案的比较选择所述一组延迟的时钟信号中的一个延迟的时钟信号作为读取时钟信号,并且输出所述一组采样的读取数据中与所述读取时钟信号对应的所述采样的读取数据,其中当相应的采样的测试图案与所述所接收的测试图案相等时,所述控制电路将所述一个延迟的时钟信号确定为所述读取时钟信号。
CN201610450837.5A 2016-06-21 2016-06-21 用于选择读取时钟信号的存储器控制器 Active CN107526697B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610450837.5A CN107526697B (zh) 2016-06-21 2016-06-21 用于选择读取时钟信号的存储器控制器
US15/364,274 US10276258B2 (en) 2016-06-21 2016-11-30 Memory controller for selecting read clock signal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610450837.5A CN107526697B (zh) 2016-06-21 2016-06-21 用于选择读取时钟信号的存储器控制器

Publications (2)

Publication Number Publication Date
CN107526697A CN107526697A (zh) 2017-12-29
CN107526697B true CN107526697B (zh) 2023-08-22

Family

ID=60659745

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610450837.5A Active CN107526697B (zh) 2016-06-21 2016-06-21 用于选择读取时钟信号的存储器控制器

Country Status (2)

Country Link
US (1) US10276258B2 (zh)
CN (1) CN107526697B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11619964B2 (en) * 2021-07-26 2023-04-04 Micron Technology, Inc. Methods for improving timing in memory devices, and related devices and systems
CN116879725B (zh) * 2023-09-06 2023-12-08 西安紫光国芯半导体股份有限公司 一种采样电路、自测试电路以及芯片

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5058142A (en) * 1989-03-31 1991-10-15 Kabushiki Kaisha Toshiba Clock extracting circuit in digital-line signal receiver
US5577236A (en) * 1994-12-30 1996-11-19 International Business Machines Corporation Memory controller for reading data from synchronous RAM
CN101276642A (zh) * 2007-02-08 2008-10-01 三星电子株式会社 用于控制高速存储器的读取等待时间的方法和装置
CN102347813A (zh) * 2011-09-26 2012-02-08 华为技术有限公司 一种选取采样时钟信号的方法和设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11191610A (ja) * 1997-12-26 1999-07-13 Hitachi Ltd 半導体集積回路装置
US6625702B2 (en) * 2001-04-07 2003-09-23 Hewlett-Packard Development Company, L.P. Memory controller with support for memory modules comprised of non-homogeneous data width RAM devices
JP2003134096A (ja) * 2001-10-29 2003-05-09 Toshiba Corp データ抽出回路
US7298667B2 (en) * 2002-07-10 2007-11-20 Samsung Electronic Co., Ltd. Latency control circuit and method of latency control
KR20050061123A (ko) * 2003-12-18 2005-06-22 삼성전자주식회사 Ddr sdram 콘트롤러의 데이터 제어회로
US7366862B2 (en) * 2004-11-12 2008-04-29 Lsi Logic Corporation Method and apparatus for self-adjusting input delay in DDR-based memory systems
US20060248305A1 (en) * 2005-04-13 2006-11-02 Wayne Fang Memory device having width-dependent output latency
US7984351B2 (en) * 2008-04-10 2011-07-19 Advanced Micro Devices, Inc. Data transfer device and method thereof
US8589717B1 (en) 2010-04-16 2013-11-19 Tabula, Inc. Serial peripheral interface

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5058142A (en) * 1989-03-31 1991-10-15 Kabushiki Kaisha Toshiba Clock extracting circuit in digital-line signal receiver
US5577236A (en) * 1994-12-30 1996-11-19 International Business Machines Corporation Memory controller for reading data from synchronous RAM
CN101276642A (zh) * 2007-02-08 2008-10-01 三星电子株式会社 用于控制高速存储器的读取等待时间的方法和装置
CN102347813A (zh) * 2011-09-26 2012-02-08 华为技术有限公司 一种选取采样时钟信号的方法和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
On-chip Jitter and Oscilloscope Circuits Using an Asynchronous Sample Clock;J. D. Schaub et al.;《IEEE Xplore》;20081118;全文 *

Also Published As

Publication number Publication date
US20170365355A1 (en) 2017-12-21
CN107526697A (zh) 2017-12-29
US10276258B2 (en) 2019-04-30

Similar Documents

Publication Publication Date Title
US11150686B2 (en) Apparatuses for reducing clock path power consumption in low power dynamic random access memory
US20070089076A1 (en) Application of consistent cycle context for related setup and hold tests for static timing analysis
CN104868885B (zh) 具有可变延迟线单元的延迟线电路
WO2002063313A2 (en) Method for scan testing of digital circuit, digital circuit and program product
US9524759B2 (en) Apparatuses and methods for capturing data using a divided clock
US20050005056A1 (en) Method and apparatus for controlling a read valid window of a synchronous memory device
JP5787990B2 (ja) ソース同期情報転送のための装置および関連方法
JP4745782B2 (ja) 半導体記憶装置
JP5675035B2 (ja) Zqキャリブレーション回路
CN107526697B (zh) 用于选择读取时钟信号的存储器控制器
JP4119581B2 (ja) データ伝送装置、データ出力装置、データ伝送方法
US9478270B2 (en) Data paths using a first signal to capture data and a second signal to output data and methods for providing data
US7984351B2 (en) Data transfer device and method thereof
KR101912905B1 (ko) 카스 레이턴시 설정 회로 및 이를 포함하는 반도체 메모리 장치
US8489943B2 (en) Protocol sequence generator
JP5450112B2 (ja) メモリインターフェース回路
EP1864379B1 (en) Method for race prevention and a device having race prevention capabilities
RU2806240C1 (ru) Схема обнаружения и способ обнаружения
TWI837222B (zh) 時脈產生電路以及包含時脈產生電路的記憶體裝置
WO2001096893A1 (en) Apparatus for controlling semiconductor chip characteristics
CN112910451A (zh) 一种异步行波状态机
JP2001168849A (ja) 調歩式データ・インターフェイス回路
CN116418320A (zh) 一种自动调整多路分频器延迟相等的方法及电路
JP2006177827A (ja) 半導体集積回路のテスト装置及びテスト方法
JP2007121063A (ja) 周波数測定回路

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
GR01 Patent grant
GR01 Patent grant