CN105679355B - 使用可配置个体时间延迟对数据总线信号的最佳采样 - Google Patents
使用可配置个体时间延迟对数据总线信号的最佳采样 Download PDFInfo
- Publication number
- CN105679355B CN105679355B CN201510891706.6A CN201510891706A CN105679355B CN 105679355 B CN105679355 B CN 105679355B CN 201510891706 A CN201510891706 A CN 201510891706A CN 105679355 B CN105679355 B CN 105679355B
- Authority
- CN
- China
- Prior art keywords
- timing
- logic signals
- time delays
- individual time
- common
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/3625—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/4031—Coupling between buses using bus bridges with arbitration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/405—Coupling between buses using bus bridges where the bridge performs a synchronising function
- G06F13/4054—Coupling between buses using bus bridges where the bridge performs a synchronising function where the function is bus cycle extension, e.g. to meet the timing requirements of the target bus
-
- 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/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/022—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
-
- 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/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/023—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
-
- 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/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1093—Input synchronization
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
Abstract
本公开的各实施例总体上涉及使用可配置个体时间延迟对数据总线信号的最佳采样。具体地,方法包括接收要以共同采样时序采样的逻辑信号的组。针对组中的相应逻辑信号选择个体时间延迟,个体时间延迟单独地将逻辑信号中的每个逻辑信号对准到共同采样时序。逻辑信号中的每个逻辑信号被延迟所选择的相应个体时间延迟,并且以共同采样时序对经延迟的逻辑信号的整个组进行采样。
Description
相关申请的交叉引用
本申请要求2014年12月5日提交的美国临时专利申请62/088,033、2014年12月8日提交的美国临时专利申请62/088,860、2014年12月8日提交的美国临时专利申请62/088,876、2014年12月8日提交的美国临时专利申请62/088,891、以及2014年12月8日提交的美国临时专利申请62/088,911的权益,它们的公开内容通过引用并入于此。
技术领域
本公开总体上涉及总线接口,并且具体涉及用于补偿总线接口信号中的时序偏斜的方法和设备。
背景技术
数据总线接口用于在诸如处理器和存储器设备之类的各种各样的电子设备中交换数据。例如,同步动态随机存取存储器(SDRAM)设备使用具有(除其它信号外)数据(DQ)和数据选通(DQS)信号的并行数据总线。各种类型的SDRAM设备和相应总线接口普遍使用。例如,JEDEC固态技术协会已在2013年11月按照JEDEC标准JESD79-4A指定了称为“DDR4SDRAM”的第四代双数据速率(DDR4)SDRAM设备,通过引用将其引入于此。
上面的描述作为对这一领域中的相关技术的一般概述给出,并且不应被解释为承认其包含的任何信息构成抵触本专利申请的现有技术。
发明内容
本文中描述的实施例提供包括接收要以共同采样时序采样的逻辑信号的组的方法。针对组中的相应逻辑信号选择个体时间延迟,个体时间延迟单独地将逻辑信号中的每个逻辑信号对准到共同采样时序。逻辑信号中的每个逻辑信号被延迟所选择的相应个体时间延迟,并且以共同采样时序对经延迟的逻辑信号的整个组进行采样。
在一些实施例中,选择个体时间延迟包括针对每个逻辑信号标识其中逻辑信号有效的相应时序窗口,并且基于针对逻辑信号标识的时序窗口而选择个体时间延迟。在示例实施例中,选择个体时间延迟包括将时序窗口中的每个时序窗口居中于共同采样时序。
在公开的实施例中,选择个体时间延迟包括响应于检测到不可能将所有时序窗口居中于共同采样时序,选择共同采样时序和个体时间延迟,使得(i)时序窗口与共同采样时序重叠,并且(ii)共同采样时序与时序窗口的边缘分开至少预定义时间余量。在实施例中,选择个体时间延迟包括选择共同采样时序和个体时间延迟使得时序窗口与共同采样时序重叠。
在一些实施例中,将逻辑信号延迟由具有有限延迟范围的可配置延迟元件来执行,并且选择个体时间延迟包括探明个体时间延迟全部都在有限延迟范围内。在实施例中,选择个体时间延迟包括:针对可能供应电压的集,标识其中至少预定义数目的逻辑信号有效的相应时序窗口;以及设置个体时间延迟以便将共同采样时序定位在由时序窗口在电压-时序平面中形成的二维区域的形心。
在实施例中,接收逻辑信号包括接收来自存储器设备的数据(DQ)信号。在实施例中,接收逻辑信号包括接收来自存储器设备的至少一个数据选通(DQS)信号。
依照本文中描述的实施例,附加地提供包括校准器和采样器的装置。校准器被配置为接收要以共同采样时序采样的逻辑信号的组,被配置为针对组中的逻辑信号选择单独地将逻辑信号中的每个逻辑信号对准到共同采样时序的相应个体时间延迟,并且被配置为将逻辑信号中的每个逻辑信号延迟所选择的相应个体时间延迟。采样器被配置为以共同采样时序对经延迟的逻辑信号的整个组进行采样。
附图说明
结合附图考虑,根据下面对其实施例的详细描述,将会更充分地理解本公开,其中:
图1是示意性地图示依照本文中描述的实施例的动态随机存取存储器(DRAM)控制器的框图;
图2是示出依照本文中描述的实施例的在应用个体时间延迟之前和之后的多个数据总线信号的时序的图;
图3是示意性地图示依照本文中描述的实施例的用于使用个体时间延迟来设置针对多个数据总线信号的最佳采样点的方法的流程图;
图4是图示依照本文中描述的实施例的找到针对总线信号的有效时序窗口的中心的可能位置范围的处理的图;
图5是图示依照本文中描述的实施例的将多个数据总线信号的有效时序窗口居中于单个采样点的处理的图;
图6是图示依照本文中描述的实施例的找到针对总线信号的有效时序窗口的可能位置的处理的图;以及
图7是图示依照本文中描述的实施例的补偿数据总线信号组中的时序有效性窗口的电压相关偏移的处理的图。
具体实施方式
在一些电子设备中,总线的多个信号以样本采样时序被共同采样。例如,DDR4存储器设备的数据总线被分成称为八位元组的八个信号的组,并且每个八位元组的信号使用单个采样器通过相同位时序进行采样。
然而在实践中,例如由于设备封装内部或者印刷电路板(PCB)迹线上的不同路由,由于设备或PCB制造中的处理变化,由于电压或温度变化,或者出于任何其它原因,不同总线信号在时序偏斜方面可以彼此不同。原则上可能通过相同采样时序对这样的信号进行采样,但是以劣化的信号完整性和/或对PCB布局的严格限制为代价。
本文中描述的实施例提供用于对总线信号进行采样同时补偿因信号的不同而不同的个体时序偏斜的方法和设备。在一些实施例中,DRAM控制器通过如上所述的被分成八位元组的数据总线与DDR4存储器设备进行通信。DRAM控制器包括总线校准模块,总线校准模块被配置为将给定八位元组中的信号延迟按信号独立选择的相应个体延迟。
在实施例中,总线校准模块包括多个可配置延迟元件(每个可配置延迟元件针对每个信号)以及延迟控制模块,延迟控制模块计算用于每个信号的适当延迟,并且据此配置延迟元件。延迟控制模块通常设置延迟以便将每个八位元组的信号对准到单个共同采样时序。然后使用单个采样器以延迟控制模块设置的共同采样时序对八位元组进行采样。当总线包括多个八位元组时,每个八位元组如上所述进行处理并且使用单个相应采样器进行采样。
本文中描述了用于找到优选共同采样时序的各种方法。在示例方法中,延迟控制模块找到八位元组中的每个信号的“有效时序窗口”,即信号将被正确采样的延迟范围。延迟控制模块首先尝试找到将会将所有八个有效时序窗口居中于相同采样点的延迟集。这一准则称为“居中准则”。
由于可配置延迟元件的延迟的有限范围,以这种方式将所有八个有效时序窗口居中并不总是可能的。如果发现不可能将时序窗口居中,延迟控制模块尝试找到至少使八个信号与单个采样点重叠的延迟集。这一准则称为“重叠准则”。如果不能满足重叠准则,延迟控制模块推断不可能将所有八个信号对准到单个采样点,并且宣告故障。
在一些实施例中,在回复到重叠准则之前,延迟控制模块尝试满足“宽松居中准则”,其中八个信号与单个采样点重叠,并且单个采样点与所有有效时序窗口的边缘分开至少某个时间余量。
在一些实施例中,延迟控制模块还考虑由供应电压中的(例如采样器的基准电压中的)变化造成的有效时序窗口的位置变化。在示例实施例中,延迟控制模块计算按电压的如上所述的个体延迟的相应集。然后延迟控制模块标识其中整个八位元组被正确采样的电压-时序组合。这些电压-时序组合限定电压-时序平面内的二维(2-D)区域(例如,多边形)。延迟控制模块计算这一区域的形心(“质心”),并且使用形心的时序作为优选共同采样点。
总之,本文中描述的方法和设备补偿因数据总线信号的不同而不同的个体时序偏斜。于是经延迟补偿的信号可以利用单个采样时序进行采样,而不损害信号完整性。因为采样不再对时序偏斜的个体变化敏感,所公开的技术放松了施加在封装设计和电路布局上的时序约束。
图1是示意性地图示依照本文中描述的实施例的动态随机存取存储器(DRAM)控制器20的框图。在本示例中,DRAM控制器20控制第四代双数据速率(DDR4)DRAM存储器设备(图中未示出)。除其它任务外,DRAM控制器经由具有传达相应逻辑信号的多个线路24的数据总线22将数据写到存储器设备并且从存储器设备读数据。
在实施例中,逻辑信号包括例如数据(DQ)信号和/或数据选通(DQS)信号。在下面的描述中,术语“信号线路”(指的是总线的物理线路)和“逻辑信号”(指的是由信号线路传达的电信号)可互换使用。通常虽然不一定,DQ信号是单端信号,并且DQS信号是差分信号。
虽然本文中描述的实施例主要指的是DDR4数据总线,所公开的技术适用于其用于连接任何其它适合电子设备的任何其它适合类型的总线接口。为了清楚起见,图1示出用于控制单个存储器设备的单个数据总线。通常,DRAM控制器20可以控制多个存储器设备和/或包括多个数据总线。
当DRAM控制器20在主系统中操作时,总线22的逻辑信号通常受到时序偏斜。偏斜可以是静态的和/或动态的。术语“静态偏斜”指的是影响整个信号集并且因产品的不同而改变但不会在信号之间改变的信号时序变化。术语“动态偏斜”(还称为抖动)指的是总线22的不同信号之间的信号时序差异,并且例如由于电压或温度变化,可以随时间变化或者可以不随时间变化。例如,偏斜可以受到在DRAM控制器和存储器设备之间的互连(例如,板电路迹线)中或者DRAM控制器或存储器设备的封装中的信号传播时间或者任何其它因素的影响。
依照DDR4规范,总线22的信号24被分成称为八位元组的八个信号的组。图1的示例示出包括两个八位元组的16位数据总线。在备选实施例中,总线22可以包括例如具有单个八位元组的8位总线、具有四个八位元组的32位总线、或者具有任何其它适合总线宽度的总线。
每个八位元组的八个信号由单个相应采样器28采样。向给定采样器提供的八个信号通过相同采样时序同时进行采样。然而由于静态和动态偏斜的组合,在去向给定采样器28的输入处的八个信号24通常将相对于彼此以及相对于采样器的采样时序偏斜。除非考虑偏斜,否则采样器28的任何单个采样时序可能不适合于信号中的至少一些信号。本文中描述的实施例提供用于按信号单独补偿时序偏斜的技术,以便找到针对整个八位元组的单个最佳采样点。
在一些实施例中,DRAM控制器20包括总线校准模块32(本文中还称为校准电路或校准器),其使用下面详细描述的技术来补偿信号偏斜。总线校准模块32包括多个可配置延迟元件36。每个延迟元件36将其相应信号24延迟可配置时间延迟。延迟元件36可单独配置,即每个延迟元件36可以被配置为独立于其它延迟元件36的延迟的不同延迟。
在一些实施例中,延迟控制模块40估算针对每个延迟元件36的适当延迟,并且据此配置延迟元件。在一些实施例中,总线校准模块32进一步包括自适应延迟锁定环(ADLL)44,其提供用于测量DRAM控制器20中的偏斜和时间延迟的基准时基。
在示例实施例中,ADLL 44以时钟周期除以64的间隔提供时序脉冲(还被称为ADLL轻敲或滴答)的序列。每个延迟元件36可配置为32个延迟值,每个延迟值具有8-20pS的延迟。因此,延迟控制模块40能够在256-640pS的范围内修改每个延迟元件36的延迟。仅通过示例的方式描绘上面的数字值,并且在备选实施例中可以使用任何其它适合值。
通常,延迟控制模块40评估采样器28的输出处的采样信号,并能够针对每个信号24决定信号是否是通过有效时序采样的。换句话说,延迟控制模块40能够针对每个信号24决定对应延迟元件36的哪些时间延迟将使得信号逻辑电平有效和可靠。在实施例中,出于这一目的,延迟控制模块40使用任何适合的技术。基于这一评定,延迟控制模块40配置延迟元件36以向每个信号24应用适当延迟,以便单独补偿每个信号的时序偏斜。
图1所示的DRAM控制器20的配置是仅为了概念清楚而描绘的简化示例配置。在备选实施例中,可以使用任何其它适合配置。例如,将总线校准模块32分割成模块可以以任何其它适合的方式来执行。为清楚起见,对应理解所公开的技术非强制性的一些DRAM控制器元件已从图中省略。
DRAM控制器20的不同元件可以使用专用硬件或固件来实现。备选地,诸如延迟控制模块40之类的一些元件可以使用可编程硬件上执行的软件或者使用硬件和软件元件的组合来实现。当以可编程处理器上的软件来实现所公开的技术中的一些或所有时,例如,软件可以通过网络以电子形式下载到处理器,或者备选地或附加地,它可以被提供和/或存储在诸如磁、光或电子存储器之类的非瞬态有形介质上。
同样为了清楚,本文中描述的实施例主要涉及从存储器设备发送到DRAM控制器的数据信号。所公开的技术以相似的方式适用于在DRAM控制器中生成并且被发送到存储器设备的数据信号。附加地或备选地,所公开的技术可以实现在总线的存储器设备侧,即在存储器设备中而不一定在DRAM控制器中。
图2是示出依照本文中描述的实施例的在应用个体时间延迟之前和之后的表示为DQ0…DQ7的数据(DQ)信号24的八位元组的时序的图。图的顶部示出在延迟控制模块40补偿时序偏斜之前的八位元组的八个信号的时序。图的底部示出补偿之后的信号时序。
在图的两部分中,每行表示相应DQ信号(DQ0…DQ7)。水平轴是以ADLL滴答为单位的时间延迟轴。“0”值指示在该特定时间延迟下DQ信号被正确采样,即采样时序针对这一信号有效。“1”值指示在该特定时间延迟下该DQ信号的采样时序无效。换言之,“0”和“1”值分别是“通过”和“失败”值。
如在图中可以看到的,八位元组中的每个DQ信号具有其中它被正确采样的延迟值范围。这一范围在本文中称为“有效时序窗口”,并且在图中被示出为“0”值的序列。有效时序窗口的大小和位置可以因信号的不同而不同。
在图的顶部(补偿之前),依赖于不同信号的不同时序偏斜,有效时序窗口以任意延迟定位。
在补偿处理中,延迟控制模块40配置延迟元件36以将有效时序窗口相对于彼此移位。如在图的底部(补偿之后)可以看到的,所有八个有效时序窗口居中于单个采样时间46。换言之,如果采样器28在时间46对整个八位元组采样,尽管它们之间的初始时序偏斜,所有八个信号将会大余量地有效和可靠。
图2的情境假设所有八个信号的有效时序窗口可以居中于单个采样点。由于由元件36提供的端到端延迟范围是有限的,这类居中不总是可能的。在一些情况下,信号之间的相对偏斜不会使得延迟控制模块40能够将所有八个有效时序窗口居中于单个延迟,即单个有效采样点。在一些实施例中,延迟控制模块40也标识并且缓和这样的情境。
图3是示意性地图示依照本文中描述的实施例的用于使用个体时间延迟来设置针对数据总线信号24的八位元组的最佳采样点的方法的流程图。在实施例中,方法在DRAM控制器20的初始化(例如上电)期间执行。然而,通常,方法可以在任何适合时间和/或响应于任何适合事件执行。
图3的方法开始于在窗口标识操作50,延迟控制模块40标识八位元组中的各个信号24的有效时序窗口。针对八个信号中的每个信号,延迟控制模块40通常标识如果应用于信号将导致有效可靠采样的延迟范围(“窗口”)。延迟范围(或等效地,用于配置延迟元件36的值的范围)被视为信号的有效时序窗口。
在居中检查操作54,延迟控制模块40检查是否可能将所有八个有效时序窗口的中心对准到相同延迟。这一准则称为居中准则。在示例实施例中,针对八位元组中的每个信号24,延迟控制模块40标识信号的有效时序窗口的中心可以定位在的ADLL滴答的范围(考虑元件36的延迟的有限范围)。
如果ADLL滴答的八个范围在至少一个共同ADLL滴答重叠,延迟控制模块40推断可能将所有有效时序窗口居中于相同采样点。换句话说,延迟控制模块40找到当应用于相应延迟元件36时将会将所有八个信号的有效时序窗口居中于相同采样点的八个延迟的集。
在许多情况下,ADLL滴答的八个范围将具有共同的多个ADLL滴答。在居中设置操作58,延迟控制模块40从而限定其中居中准则适用的(一个或多个)ADLL滴答的集。
如果其中居中准则适用的ADLL滴答的集包括多个ADLL滴答,通常优选选择具有最小延迟的配置,以最小化总线校准模块32的总延迟。因此,在最小兼容延迟选择操作62,延迟控制模块40选择仍然实现居中的最小延迟。
在设置操作64,延迟控制模块40用适当延迟(将所有八个信号的有效时序窗口居中于相同采样点的最小延迟)配置延迟元件36。此时方法终止,并且DRAM控制器20能够以高的信号完整性对信号24的八位元组进行采样。
另一方面,如果操作54推断不可能将所有有效时序窗口居中,则延迟控制模块40回复到较宽松的要求,其中它尝试标识当应用于延迟元件36时将会使得所有八个信号的有效时序窗口与单个采样点重叠的延迟集。这一准则本文中还称为“重叠准则”(与“居中准则”相对)。
重叠准则要求八个有效时序窗口与单个采样点重叠(但不一定居中于单个采样点)。在重叠检查操作66,延迟控制模块40针对这一准则进行检查。如果不能满足重叠准则,延迟控制模块40推断元件36的延迟的有限范围不会使得能够实现针对八位元组中的所有八个信号有效的单个采样点。在这样的情况下,在故障终止操作76,延迟控制模块40宣告故障,并且方法终止。
如果在操作66处满足重叠准则,延迟控制模块40在宽松居中检查操作68处针对“宽松居中准则”进行检查。如果可能标识当应用于延迟元件36时将使得所有八个信号的有效时序窗口重叠在单个采样点同时保持在单个采样点和有效时序窗口的边缘之间的某个时间余量的延迟集,则满足宽松居中准则。
如果满足宽松居中准则,则延迟控制模块40在宽松居中设置操作70处限定其中准则适用的(一个或多个)ADLL滴答的集。如果不满足宽松居中准则,则延迟控制模块40在重叠设置操作72处限定其中仅重叠准则适用的(一个或多个)ADLL滴答的集。在任一情况下,延迟控制模块40在操作62处选择仍然满足准则的延迟的最小集,并且在操作64处设置所选择的延迟。
以下描述给出上述解决方案的形式数学表示,并且还更详细地描述了图3的步骤中的一些步骤。用D表示单个ADLL滴答的持续时间,并且用d表示元件36的延迟分辨率(延迟增量)。用λ表示两个延迟之间的比值,λ=D/d。针对表示为DQX,X=0,1,…,7的每个信号24,用于配置元件36的初始延迟索引被表示为aX,aX=0,1,…,31,并且元件36的延迟因此是aX·d。信号DQX的有效时序窗口位于ADLL滴答LX和HX之间,即位于延迟D·LX和D·HX之间。信号DQX的有效时序窗口的持续时间是VWX=(HX-LX)·D。在本示例中,ADLL滴答的范围是-16<LX<HX<48.
信号DQX的有效时序窗口居中在ADLL滴答CX=(HX+LX)/2附近。其中有效时序窗口的中心CX可以定位的ADLL滴答的范围(本文中称为“中心区”)由下式给出:
方程1:
图4是图示依照本文中描述的实施例的找到其中信号DQX的有效时序窗口的中心CX可以定位的ADLL滴答范围的处理的图。
图的水平轴表示ADLL滴答。第一(顶部)行示出当信号DQX的延迟元件36被设置到某一标称中间延迟时有效时序窗口的位置。信号采样有效的ADLL滴答被标记为通过(“P”)。信号采样无效的ADLL滴答被标记为失败(“F”)。有效时序窗口的中心被标记为“C”。
第二行示出在延迟元件36被设置到其最小延迟的情况下有效时序窗口的位置。第三行示出在延迟元件36被设置到其最大延迟的情况下有效时序窗口的位置。第四(底部)行示出中心区,即其中可能通过控制延迟元件36将有效时序窗口居中的ADLL滴答的范围。
图5是图示依照本文中描述的实施例的将八个信号DQ0…DQ7的有效时序窗口居中于单个采样点的处理的图。图5的水平轴表示ADLL滴答。八个行示出信号DQ0…DQ7的八个中心区。每个中心区由延迟控制模块40使用上面的方程1来确定。
为了将所有八个有效时序窗口居中于单个采样点,应该存在其中所有八个中心区重叠的至少一个ADLL滴答。在本示例中,存在八个这样的ADLL滴答(从滴答13到滴答20)。这些滴答中的任何滴答可以用作针对八位元组的单个采样点。通常,延迟控制模块40将选择最左边的ADLL滴答,因为它具有最小延迟。备选地,可以选择在重叠的ADLL滴答之中的其它适合ADLL滴答。
形式上,延迟控制模块40评估以验证可能将所有有效时序窗口居中于单个采样点的准则为:
方程2:
在一些实施例中,通过(i)使用图4的处理找到八个信号DQ0…DQ7的八个中心区,并且使用方程2检查中心区是否在至少一个ADLL滴答重叠,延迟控制模块40执行图3的操作54。如果居中可能,用于定位有效时序窗口的中心的最佳ADLL滴答由下式给出:
方程3:
并且要针对信号DQY的延迟元件36设置的时间延迟为
如上面解释的,如果不可能将所有信号的有效时序窗口居中于相同采样点,则延迟控制模块40尝试满足重叠准则,即尝试找到与所有有效时序窗口重叠的单个采样点(或等效地,单个ADLL滴答)。下面的方程4给出针对这一目的评估的数学准则。
图6是图示依照本文中描述的实施例的找到信号DQX的有效时序窗口的可能位置的处理的图。
图的水平轴表示ADLL滴答。第一(顶部)行示出当信号DQX的延迟元件36被设置到某一标称中间延迟时有效时序窗口的位置。信号采样有效的ADLL滴答被标记为“P”,信号采样无效的ADLL滴答被标记为“F”,并且有效时序窗口的中心被标记为“C”。第二行示出在延迟元件36被设置到其最小延迟的情况下有效时序窗口的位置。第三行示出在延迟元件36被设置到其最大延迟的情况下有效时序窗口的位置。
第四(底部)行示出“重叠区”——被限定为其中可能通过控制延迟元件36来定位有效时序窗口的一部分(不一定是中心)的ADLL滴答的范围。自然,这一范围大于上面图4所示的中心区。
形式上,模块40评估以找到与所有有效时序窗口重叠的单个采样点的准则为:
方程4:
遍及0≤X≠Y≤7。
在一些实施例中,通过(i)使用图6的处理找到八个信号DQ0...DQ7的八个重叠区,并且使用方程4检查重叠区是否在至少一个ADLL滴答重叠,延迟控制模块40执行图3的操作66。如果重叠是可能的,延迟控制模块40标识八个重叠窗口之间的交叉区域。所得到的称为“重叠窗口”的ADLL滴答范围限定在恰当设置延迟元件36的情况下所有有效时序窗口可以重叠的ADLL滴答。
在一些实施例中,在回复到重叠准则之前,延迟控制延迟控制模块40针对宽松居中准则(其比居中准则更宽松但比重叠准则更严格)进行检查。在实施例中,延迟控制模块40针对每个信号24限定延伸的中心区,其比原始中心区大几个ADLL滴答的余量。(如上面解释的,信号24的中心区为其中可能通过控制延迟元件36将信号的有效时序窗口居中的ADLL滴答范围。)延迟控制模块40将余量(margin)计算为:
方程5:
MARGIN_VWX=VWX-VWY;0≤X≤7
脱离上面的方程1,信号DQX的延伸中心区从而由下式给出:
方程6:
脱离上面的方程2,延迟控制模块40检查以验证是否满足宽松居中准则(操作68)的准则变为:
方程7:
脱离上面的方程3,由延迟控制模块40根据宽松居中准则选择的最佳中心位置为:
方程8:
并且要针对信号DQY的延迟元件36设置的时间延迟为
上面给出的准则和方程仅通过示例的方式给出。在备选实施例中,延迟控制模块40可以使用任何其它适合准则来选择用于配置延迟元件36的最佳延迟。
在一些实践情境中,供应电压(例如,采样器28的基准电压)的变化造成时序有效性窗口的位置变化。这些变化往往是不对称的。因此,即使在执行上面图2至图6的补偿方案之后,最佳采样时序通常仍然随电压变化。在一些实施例中,延迟控制模块40进一步调整信号24的给定八位元组的单个采样时序,以考虑作为电压的函数的时序偏移变化。
图7是图示依照本文中描述的实施例的补偿信号24的八位元组中的时序有效性窗口的电压相关偏移的处理的图。图7图示针对整个八位元组的电压相关变化的二维(2-D)图。水平轴表示以ADLL滴答为单位的时间或时序偏移。竖轴表示供应电压(例如,t对八位元组进行采样的采样器28的基准电压)。要注意的是,图示出了在每个电压下应用上面图2至图6的补偿方案之后的残余电压相关偏移。
图的每个单元中的数字值给出在相应电压和时序延迟下不正确采样的八位元组中的信号的数目。具有“0”值的单元的区域对应于导致整个八位元组的正确采样的电压-时序组合。更高的值指示八位元组中的信号中的一个或多个信号未正确采样。在相对的极端情况下,具有“8”值的单元对应于其中采样器28未能对八位元组中的所有八个信号进行采样的电压-时序组合。
如图中可以看到的,即使在使用上面图2至图6的方法补偿偏斜之后,最佳采样点仍然因电压的不同而不同。例如,点80示出针对特定电压(图的行)最佳的采样点。从图中可以看出,这一采样时序针对其它电压将不是最佳的。
在一些实施例中,通过找到其中整个八位元组被正确采样的图的2-D区域的形心(“质心”),延迟控制模块40计算针对八位元组的最佳采样点。
在这一实施例中,延迟控制模块40找到其中所有八个信号被正确采样的电压-时序图中的2-D区域(具有“0”值的单元的区域)。然后延迟控制模块计算这一2-D区域的形心,并且将单个采样点设置到形心的时序偏移。点84示出使用基于形心的方案设置的采样点。如图中可以看到的,这一采样点在电压的整个范围内是最佳的。
在图7的示例中,延迟控制模块40计算其中所有信号被正确采样的2-D电压-时序区域的形心。更一般地,在一些实施例中,通过计算其中至少预定义数目的信号(但不一定是所有信号)被正确采样的2-D电压-时序区域的形心,延迟控制模块40设置最佳采样点。
虽然本文中描述的实施例主要处理DDR4 SDRAM,本文中描述的方法和系统还可以用于其它接口,诸如例如用于SDRAM LPDDR4、RLDRAM3和SRAM。
要注意的是,上面描述的实施例通过示例的方式记载,并且本发明并不限于上文中已特别示出和描述的内容。更确切地说,本发明的范围包括上文中描述的各种特征的组合和子组合两者、以及本领域技术人员在阅读前述描述时将想到的并且现有技术中未公开的其变化和修改。通过引用并入在本专利申请中的文档要被认为是申请的组成部分,除了到在这些并入的文档中以与本说明书中显式或隐式做出的限定冲突的方式限定任何术语的程度,仅应该考虑本说明书中的限定。
Claims (14)
1.一种方法,包括:
接收要以共同采样时序采样的逻辑信号的组;
针对所述组中的所述逻辑信号通过以下来选择相应个体时间延迟,所述个体时间延迟单独地将所述逻辑信号中的每个逻辑信号对准到所述共同采样时序:
针对每个逻辑信号标识其中所述逻辑信号有效的相应时序窗口;以及
选择所述共同采样时序和所述个体时间延迟,使得所述时序窗口与所述共同采样时序重叠;
将所述逻辑信号中的每个逻辑信号延迟所选择的所述相应个体时间延迟;以及
以所述共同采样时序对经延迟的所述逻辑信号的整个组进行采样。
2.根据权利要求1所述的方法,其中选择所述个体时间延迟包括将所述时序窗口中的每个时序窗口居中于所述共同采样时序。
3.根据权利要求1所述的方法,其中选择所述个体时间延迟包括响应于检测到不可能将所有所述时序窗口居中于所述共同采样时序,选择所述共同采样时序和所述个体时间延迟,使得所述共同采样时序与所述时序窗口的边缘分开至少预定义时间余量。
4.根据权利要求1所述的方法,其中将所述逻辑信号延迟由具有有限延迟范围的可配置延迟元件来执行,并且其中选择所述个体时间延迟包括探明所述个体时间延迟全部都在所述有限延迟范围内。
5.根据权利要求1所述的方法,其中接收所述逻辑信号包括接收来自存储器设备的数据信号。
6.根据权利要求5所述的方法,其中接收所述逻辑信号包括接收来自所述存储器设备的至少一个数据选通信号。
7.一种方法,包括:
接收要以共同采样时序采样的逻辑信号的组;
针对所述组中的所述逻辑信号通过以下来选择相应个体时间延迟,所述个体时间延迟单独地将所述逻辑信号中的每个逻辑信号对准到所述共同采样时序:
针对可能供应电压的集,标识其中至少预定义数目的所述逻辑信号有效的相应时序窗口;以及
设置所述个体时间延迟以便将所述共同采样时序定位在由所述时序窗口在电压-时序平面中形成的二维区域的形心;
将所述逻辑信号中的每个逻辑信号延迟所选择的所述相应个体时间延迟;以及
以所述共同采样时序对经延迟的所述逻辑信号的整个组进行采样。
8.一种装置,包括:
校准器,被配置为:
接收要以共同采样时序采样的逻辑信号的组;
针对所述组中的所述逻辑信号通过以下来选择相应个体时间延迟,所述个体时间延迟单独地将所述逻辑信号中的每个逻辑信号对准到所述共同采样时序:(i)针对每个逻辑信号标识其中所述逻辑信号有效的相应时序窗口,以及(ii)选择所述共同采样时序和所述个体时间延迟,使得所述时序窗口与所述共同采样时序重叠;并且
将所述逻辑信号中的每个逻辑信号延迟所选择的所述相应个体时间延迟;以及
采样器,被配置为以所述共同采样时序对经延迟的所述逻辑信号的整个组进行采样。
9.根据权利要求8所述的装置,其中所述校准器被配置为选择所述个体时间延迟以便将所述时序窗口中的每个时序窗口居中于所述共同采样时序。
10.根据权利要求8所述的装置,其中响应于检测到不可能将所有所述时序窗口居中于所述共同采样时序,所述校准器被配置为选择所述共同采样时序和所述个体时间延迟,使得所述共同采样时序与所述时序窗口的边缘分开至少预定义时间余量。
11.根据权利要求8所述的装置,其中所述校准器包括被配置为将所述逻辑信号延迟并且具有有限延迟范围的可配置延迟元件,并且其中所述校准器被配置为探明所述个体时间延迟全部都在所述有限延迟范围内。
12.根据权利要求8所述的装置,其中所述逻辑信号包括从存储器设备接收的数据信号。
13.根据权利要求12所述的装置,其中所述逻辑信号包括来自所述存储器设备的至少一个数据选通信号。
14.一种装置,包括:
校准器,被配置为:
接收要以共同采样时序采样的逻辑信号的组;
针对所述组中的所述逻辑信号通过以下来选择相应个体时间延迟,所述个体时间延迟单独地将所述逻辑信号中的每个逻辑信号对准到所述共同采样时序:
针对可能供应电压的集,标识其中至少预定义数目的所述逻辑信号有效的相应时序窗口;以及
设置所述个体时间延迟以便将所述共同采样时序定位在由所述时序窗口在电压-时序平面中形成的二维区域的形心;并且
将所述逻辑信号中的每个逻辑信号延迟所选择的所述相应个体时间延迟;以及
采样器,被配置为以所述共同采样时序对经延迟的所述逻辑信号的整个组进行采样。
Applications Claiming Priority (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462088033P | 2014-12-05 | 2014-12-05 | |
US62/088,033 | 2014-12-05 | ||
US201462088860P | 2014-12-08 | 2014-12-08 | |
US201462088911P | 2014-12-08 | 2014-12-08 | |
US201462088891P | 2014-12-08 | 2014-12-08 | |
US201462088876P | 2014-12-08 | 2014-12-08 | |
US62/088,876 | 2014-12-08 | ||
US62/088,891 | 2014-12-08 | ||
US62/088,911 | 2014-12-08 | ||
US62/088,860 | 2014-12-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105679355A CN105679355A (zh) | 2016-06-15 |
CN105679355B true CN105679355B (zh) | 2020-07-31 |
Family
ID=56094463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510891706.6A Active CN105679355B (zh) | 2014-12-05 | 2015-12-07 | 使用可配置个体时间延迟对数据总线信号的最佳采样 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9864713B2 (zh) |
CN (1) | CN105679355B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9495285B2 (en) | 2014-09-16 | 2016-11-15 | Integrated Device Technology, Inc. | Initiating operation of a timing device using a read only memory (ROM) or a one time programmable non volatile memory (OTP NVM) |
US9864713B2 (en) * | 2014-12-05 | 2018-01-09 | Marvell Israel (M.I.S.L.) Ltd. | Optimal sampling of data-bus signals using configurable individual time delays |
US9553570B1 (en) | 2014-12-10 | 2017-01-24 | Integrated Device Technology, Inc. | Crystal-less jitter attenuator |
US9954516B1 (en) | 2015-08-19 | 2018-04-24 | Integrated Device Technology, Inc. | Timing device having multi-purpose pin with proactive function |
US9590637B1 (en) | 2015-08-28 | 2017-03-07 | Integrated Device Technology, Inc. | High-speed programmable frequency divider with 50% output duty cycle |
US9847869B1 (en) | 2015-10-23 | 2017-12-19 | Integrated Device Technology, Inc. | Frequency synthesizer with microcode control |
US9614508B1 (en) * | 2015-12-03 | 2017-04-04 | Integrated Device Technology, Inc. | System and method for deskewing output clock signals |
US10075284B1 (en) | 2016-01-21 | 2018-09-11 | Integrated Device Technology, Inc. | Pulse width modulation (PWM) to align clocks across multiple separated cards within a communication system |
US9852039B1 (en) | 2016-02-03 | 2017-12-26 | Integrated Device Technology, Inc | Phase locked loop (PLL) timing device evaluation system and method for evaluating PLL timing devices |
US9859901B1 (en) | 2016-03-08 | 2018-01-02 | Integrated Device Technology, Inc. | Buffer with programmable input/output phase relationship |
US9553602B1 (en) | 2016-03-21 | 2017-01-24 | Integrated Device Technology, Inc. | Methods and systems for analog-to-digital conversion (ADC) using an ultra small capacitor array with full range and sub-range modes |
US9692394B1 (en) | 2016-03-25 | 2017-06-27 | Integrated Device Technology, Inc. | Programmable low power high-speed current steering logic (LPHCSL) driver and method of use |
US9698787B1 (en) | 2016-03-28 | 2017-07-04 | Integrated Device Technology, Inc. | Integrated low voltage differential signaling (LVDS) and high-speed current steering logic (HCSL) circuit and method of use |
US9581973B1 (en) | 2016-03-29 | 2017-02-28 | Integrated Device Technology, Inc. | Dual mode clock using a common resonator and associated method of use |
US9954541B1 (en) | 2016-03-29 | 2018-04-24 | Integrated Device Technology, Inc. | Bulk acoustic wave resonator based fractional frequency synthesizer and method of use |
US9654121B1 (en) | 2016-06-01 | 2017-05-16 | Integrated Device Technology, Inc. | Calibration method and apparatus for phase locked loop circuit |
KR102523101B1 (ko) * | 2018-01-10 | 2023-04-18 | 삼성전자주식회사 | 데이터 유효 윈도우를 판별하는 읽기 마진 제어 회로, 이를 포함하는 메모리 컨트롤러, 그리고 전자 장치 |
CN108646984B (zh) * | 2018-05-16 | 2020-01-03 | 华为技术有限公司 | 一种dqs位置调整方法和装置 |
CN109117394B (zh) * | 2018-08-15 | 2021-09-07 | 晶晨半导体(深圳)有限公司 | 增强总线接口稳定性的方法及系统 |
CN110764440B (zh) * | 2019-07-31 | 2022-12-20 | 晶晨半导体(上海)股份有限公司 | 一种存储器的信号采样方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1540616A (zh) * | 2003-01-27 | 2004-10-27 | ������������ʽ���� | 图像显示设备和图像显示面板 |
CN101359041A (zh) * | 2008-09-27 | 2009-02-04 | 上海微电子装备有限公司 | 脉冲波强度采样同步的校准方法与系统 |
US7495495B2 (en) * | 2005-11-17 | 2009-02-24 | Lattice Semiconductor Corporation | Digital I/O timing control |
US7659877B2 (en) * | 2003-07-09 | 2010-02-09 | Sharp Kabushiki Kaisha | Shift register and display device using the same |
CN101989466A (zh) * | 2009-08-03 | 2011-03-23 | 凌阳科技股份有限公司 | 应用于同步动态随机存取内存接口的数据截取及时序漂移侦测的装置及方法 |
CN102073033A (zh) * | 2009-11-25 | 2011-05-25 | 中国科学院电子学研究所 | 可动态校准的高精度步进延迟产生方法 |
US8121237B2 (en) * | 2006-03-16 | 2012-02-21 | Rambus Inc. | Signaling system with adaptive timing calibration |
CN103065677A (zh) * | 2012-12-14 | 2013-04-24 | 东南大学 | 基于延迟单元的自校准系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0987853A1 (en) * | 1998-09-17 | 2000-03-22 | STMicroelectronics S.r.l. | A fully digital phase aligner |
US7171321B2 (en) * | 2004-08-20 | 2007-01-30 | Rambus Inc. | Individual data line strobe-offset control in memory systems |
US7886174B2 (en) * | 2007-06-27 | 2011-02-08 | Intel Corporation | Memory link training |
US7961533B2 (en) * | 2008-05-27 | 2011-06-14 | Advanced Micro Devices, Inc. | Method and apparatus for implementing write levelization in memory subsystems |
US9330749B1 (en) * | 2014-10-21 | 2016-05-03 | Xilinx, Inc. | Dynamic selection of output delay in a memory control device |
US9355696B1 (en) * | 2014-11-06 | 2016-05-31 | Xilinx, Inc. | Calibration in a control device receiving from a source synchronous interface |
US9864713B2 (en) * | 2014-12-05 | 2018-01-09 | Marvell Israel (M.I.S.L.) Ltd. | Optimal sampling of data-bus signals using configurable individual time delays |
-
2015
- 2015-12-03 US US14/957,617 patent/US9864713B2/en active Active
- 2015-12-07 CN CN201510891706.6A patent/CN105679355B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1540616A (zh) * | 2003-01-27 | 2004-10-27 | ������������ʽ���� | 图像显示设备和图像显示面板 |
US7659877B2 (en) * | 2003-07-09 | 2010-02-09 | Sharp Kabushiki Kaisha | Shift register and display device using the same |
US7495495B2 (en) * | 2005-11-17 | 2009-02-24 | Lattice Semiconductor Corporation | Digital I/O timing control |
US8121237B2 (en) * | 2006-03-16 | 2012-02-21 | Rambus Inc. | Signaling system with adaptive timing calibration |
CN101359041A (zh) * | 2008-09-27 | 2009-02-04 | 上海微电子装备有限公司 | 脉冲波强度采样同步的校准方法与系统 |
CN101989466A (zh) * | 2009-08-03 | 2011-03-23 | 凌阳科技股份有限公司 | 应用于同步动态随机存取内存接口的数据截取及时序漂移侦测的装置及方法 |
CN102073033A (zh) * | 2009-11-25 | 2011-05-25 | 中国科学院电子学研究所 | 可动态校准的高精度步进延迟产生方法 |
CN103065677A (zh) * | 2012-12-14 | 2013-04-24 | 东南大学 | 基于延迟单元的自校准系统 |
Also Published As
Publication number | Publication date |
---|---|
US20160162426A1 (en) | 2016-06-09 |
US9864713B2 (en) | 2018-01-09 |
CN105679355A (zh) | 2016-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105679355B (zh) | 使用可配置个体时间延迟对数据总线信号的最佳采样 | |
US20210082534A1 (en) | Methods for memory interface calibration | |
US8451674B2 (en) | Clock synchronization in a memory system | |
US8624647B2 (en) | Duty cycle correction circuit for memory interfaces in integrated circuits | |
EP3215950B1 (en) | Calibration in a control device receiving from a source synchronous interface | |
US7457174B2 (en) | Semiconductor memory and method for adapting the phase relationship between a clock signal and strobe signal during the acceptance of write data to be transmitted | |
US6894933B2 (en) | Buffer amplifier architecture for semiconductor memory circuits | |
CN110428855B (zh) | 具有本地分别同步的内存模块 | |
US8762657B2 (en) | Method and system for synchronizing address and control signals in threaded memory modules | |
US20050058233A1 (en) | System and method for adaptive duty cycle optimization | |
US10623052B2 (en) | Receiver and compensation method using the same | |
US8339877B2 (en) | Semiconductor memory device comprising variable delay unit | |
CN105304141A (zh) | 包括共用校准参考电阻器的存储器的系统及其校准方法 | |
KR20110131765A (ko) | 위상 보정 회로 및 이를 이용한 데이터 정렬 회로 | |
US9158330B1 (en) | Apparatus and method to compensate for data skew for multiple memory devices and adjust delay for individual data lines based on an optimized critical window | |
US8705296B2 (en) | Memory controller and control method | |
US20190064871A1 (en) | Clock tree structure in a memory system | |
US11545200B1 (en) | Data control circuit for increasing maximum and minimum tolerance values of skew between DQS signal and clock signal during write operation and associated memory device | |
CN114518837B (zh) | 运用于存储器系统的多循环写入均衡程序的处理方法 | |
TW202221711A (zh) | 運用於記憶體系統的多循環寫入均衡程序的處理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |