CN111357052A - 直接测量延迟校准方法和设备 - Google Patents
直接测量延迟校准方法和设备 Download PDFInfo
- Publication number
- CN111357052A CN111357052A CN201980005751.3A CN201980005751A CN111357052A CN 111357052 A CN111357052 A CN 111357052A CN 201980005751 A CN201980005751 A CN 201980005751A CN 111357052 A CN111357052 A CN 111357052A
- Authority
- CN
- China
- Prior art keywords
- delay
- delay elements
- controller
- input signal
- subset
- 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
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000005259 measurement Methods 0.000 title abstract description 20
- 230000010355 oscillation Effects 0.000 claims abstract description 58
- 230000003111 delayed effect Effects 0.000 claims description 5
- 230000015654 memory Effects 0.000 description 34
- 238000005516 engineering process Methods 0.000 description 23
- 238000013500 data storage Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 9
- 238000013461 design Methods 0.000 description 8
- 230000001934 delay Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 239000000872 buffer Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000003245 working effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/099—Details of the phase-locked loop concerning mainly the controlled oscillator of the loop
- H03L7/0991—Details of the phase-locked loop concerning mainly the controlled oscillator of the loop the oscillator being a digital oscillator, e.g. composed of a fixed oscillator followed by a variable frequency divider
- H03L7/0992—Details of the phase-locked loop concerning mainly the controlled oscillator of the loop the oscillator being a digital oscillator, e.g. composed of a fixed oscillator followed by a variable frequency divider comprising a counter or a frequency divider
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/081—Details of the phase-locked loop provided with an additional controlled phase shifter
- H03L7/0812—Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
- H03L7/0814—Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used the phase shifting device being digitally controlled
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/099—Details of the phase-locked loop concerning mainly the controlled oscillator of the loop
- H03L7/0995—Details of the phase-locked loop concerning mainly the controlled oscillator of the loop the oscillator comprising a ring oscillator
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2254—Calibration
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K2005/00013—Delay, i.e. output pulse is delayed after input pulse and pulse length of output pulse is dependent on pulse length of input pulse
- H03K2005/00019—Variable delay
- H03K2005/00058—Variable delay controlled by a digital setting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Pulse Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
公开用于提供直接测量延迟校准的方法和设备。设备可包含回路中的多个延迟元件。所述设备还可包含耦合到所述多个延迟元件的控制器。所述控制器可配置成在预定时间段内确定所述回路中的所述多个延迟元件的延迟振荡。所述控制器还可配置成基于所确定的延迟振荡、所述预定时间段以及所述多个延迟元件的数量来确定用于延迟输入信号的所述多个延迟元件的子集。所述控制器还可配置成使所述输入信号路由通过所述多个延迟元件的所述子集。
Description
相关申请的交叉引用
本申请案为2018年6月5日提交的标题为“直接测量延迟校准方法和设备(DIRECTMEASUREMENT DELAY CALIBRATION METHOD AND APPARATUS)”的美国申请案第62/681,018号的非临时申请,所述美国申请案的全部内容以引用的方式并入本文中。
背景技术
延迟可执行数字电路设计中的多个适用功能。举例来说,延迟可调整数据总线选通信号(data bus strobe signal,DQS)以用于最佳在数据的中心处进行读取和写入。延迟还可延长或缩短信号的到达时间,更改相对信号相位,提供设置或启动时间,或调整数据总线信号(data bus signal,DQ)上的偏移以用于边缘转变对准。默认方法通常是实施延迟锁定回路(delay locked loop,DLL)以提供这些延迟。然而,DLL方法有着例如功率消耗需求较高以及延迟准确度较低的若干缺点。
附图说明
将参考随附图式进行详细描述:
图1为示出用于提供直接测量延迟校准的示例设备的电路图。
图2A为示出处于校准模式中的图1的延迟电路的电路图。
图2B为示出处于操作模式中的图1的延迟电路的电路图。
图3为示出图1的主控制器的示例数据流的图。
图4为示出用于提供直接测量延迟校准的示例过程的流程图。
图5为示出示例数据存储系统的组件的框图。
图6A为示出使用直接测量延迟校准将数据写入到图5的数据总线上的图5的控制器的框图。
图6B为示出使用直接测量延迟校准从图5的数据总线读取数据的图5的控制器的框图。
具体实施方式
下文阐述的详细描述意图作为对本发明技术的各种配置的描述,且并非意图表示可实践本发明技术的唯一配置。附图并入本文中并且构成详细描述的一部分。详细描述包含出于提供对本发明技术的透彻理解的目的的具体细节。然而,本发明技术可在无这些特定细节的情况下实践。在一些情况下,以框图形式展示结构和组件以避免混淆本发明技术的概念。为了易于理解,相同的组件以相同的元件标号标记。
提供用于直接测量延迟校准的方法和设备的一或多个实施方案。在校准模式中,延迟元件可布置在提供振荡的回路中。计数器可对回路的振荡进行计数。控制器可在相对于参考时钟经过预定时间段之后从计数器获得振荡计数。控制器可随后使用振荡计数来确定总延迟时间和/或至少延迟元件中的一个代表性延迟元件的延迟时间。可使用延迟时间和输入信号的标称延迟设置来确定输入信号的延迟元件设置,且可关闭校准模式以切换到操作模式。
在操作模式中,回路重新配置为分配给相应输入信号的延迟元件群组,且控制器可使输入信号路由通过相应群组中的延迟元件的子集以根据延迟元件设置实现延迟。应注意,可使用硬件、软件(包含固件)或硬件与软件的组合(包含固件)来实施硬件电路,例如本文中所描述的计数器和控制器。
直接测量延迟校准利用如下观测结果:在多个应用和使用情况(例如经由数据总线与存储器装置通信的存储装置控制器)中,存在没有数据经由数据总线传送的非活动时段。在这些非活动时段期间,可启用校准模式以校准数据总线上的数据信号的延迟,如本文中所描述。由于在非活动时段期间可周期性地和/或机会性地执行校准模式,因此延迟元件设置可动态地适应于可能由操作性损耗、温度变化、环境变化以及其它因素引起的偏移变化和延迟性能。在切换到操作模式之后,根据由最新校准模式确定的延迟元件设置而延迟从数据总线读取或写入到数据总线的数据。
本发明技术的一或多个方面提供改进计算机功能性的若干性能益处。如上文所论述,DLL方法受若干缺点影响,所述若干缺点中的一个受限于延迟准确度。由于DLL方法测量DLL主控装置(假定其类似于用于提供延迟的DLL从属装置,但为与DLL从属装置分离的实体)的延迟时间,因此主控装置与从属装置之间任何不匹配皆导致延迟误差。此外,由于通过使用DLL主控装置上锁定的相位测量延迟时间,因此导致可使延迟准确度进一步减小5%或大于5%的追踪和量化误差。由于这些误差是DLL主/从方法固有的,因此用于减少这些误差的选择方案受到限制。另一方面,由于本发明技术的一或多个实施方案使用提供所述延迟的相同延迟元件来测量延迟时间,因此可去除与DLL主/从方法相关联的误差。
另外,本发明技术的一或多个方面可通过允许校准模式继续进行最小数目个周期来符合延迟的所需准确度阈值或误差容限。举例来说,校准模式的预定时间段可设置成使得计数约100个周期,这可提供因提供到计数器的振荡的相位不对准导致的约1%到2%的误差容限。如果需要更小的误差容限,那么可增大预定时间段。
DLL方法还受增大的功率消耗影响。举例来说,DLL主控装置甚至在数据总线空闲时处于恒定操作中。另外,由于DLL从属装置本质上是DLL主控装置的镜像,因此(特别是宽数据总线)可能需要大量栅极、延迟元件、复用器以及其它电路元件。由于DLL必须适应具有最大延迟调整范围的输入信号,因此可为并不需要这类较大延迟调整范围的DLL从属装置提供大量冗余延迟元件。因此,DLL方法导致更高功率消耗,具有受限电池功率的移动装置以及其中低效率功率可能降低可靠性和可管理性的高密度数据中心应用不需要所述更高功率消耗。
本发明技术的一或多个方面可通过以下来提供降低的功率消耗:省略始终开启DLL主控装置;以及提供适应为每一输入信号定制的延迟调整范围所需的最小数目个延迟元件。举例来说,数据选通(DQS)信号可针对适合于调整数据选通的更大延迟调整范围而具有更大的最大数目个延迟元件,然而数据信号(DQ)可针对适合于调整偏移的更小延迟调整范围而具有更小的最大数目个延迟元件。以这种方式,可去除多余的栅极和电路元件以降低功率消耗。
此外,本发明技术的一或多个方面可减小专用集成电路(application specificintegrated circuit,ASIC)的设计和制造成本。举例来说,可使用ASIC设计软件中通常使用的延迟元件来实施由直接测量延迟校准使用的延迟元件。因此,ASIC设计可通过去除对DLL主控装置和从属装置架构的专有供应商设计的依赖性来节省成本。ASIC设计师可再分配这些节省成本以添加或升级相关联材料清单(bill of material,BOM)中的其它组件,由此提供更高性能、更高可靠性或其它改进。
因此,直接测量延迟校准的一或多个方面提供改进需要延迟数据总线的数字电路的功能的若干性能优势。因此,使用直接测量延迟校准来与数据总线上的一或多个存储器装置通信的存储装置控制器也具有改进的功能。与存储装置介接的主机也具有改进的功能。因此,直接测量延迟校准提供改进存储装置控制器和主机的功能的性能益处。
图1为示出用于提供直接测量延迟校准的示例设备的电路图。图1的延迟校准电路100包含延迟块110、反相器140B以及校准控制器150。延迟块110包含复用器120、解复用器122、延迟电路130以及反相器140A。延迟块110接收输入信号112和CMode(校准模式)162。延迟块110输出输出信号116和振荡114。校准控制器150包含计数器时钟118、主控制器160、CMode 162、标称延迟设置166、参考时钟168、逻辑门170、计数器180以及振荡计数182。校准控制器150从反相器140B接收振荡114的反相版本。校准控制器150输出CMode 162和延迟元件设置164。
主控制器160可进入校准模式中,或在数据总线(图1中未展示)空闲时可将CMode162设置为“真(True)”(高或确证的)。在进入校准模式之前,可针对操作模式将CMode162设置为“假(False)”(低或非确证的)。为了提供到校准模式中的可靠且安静切换,可在一段时间内将输入信号112保持为高,接着可将输入信号112设置为低且可使CMode162从“假”切换到“真”。保持为高的时间段可设置为足够长以避免由切换引发的高频杂讯。
一旦将CMode 162设置为“真”,延迟块110便可包括环式振荡器。举例来说,复用器120可选择底部输入信号或振荡114,且解复用器122可选择耦合到反相器140A的底部输出信号。如延迟块110中所展示,反相器140A的输出端产生振荡114且耦合到复用器120的底部输入端。由于延迟块110中存在延迟电路130和反相器140A,产生振荡114。反相器140A和反相器140B可使放大器反相以维持振荡114的电压电平。
举例来说,如果复用器120的输出端最初为高或数字1,那么其根据延迟电路130在一段时间内保持处于所述高状态,且反相器140A随后使所述状态翻转为低或数字0。由于振荡114反馈到延迟块110中的复用器120中,因此复用器120的输出端目前为低或数字0,延迟电路130在同一时间段保持低状态,且反相器140A使所述状态翻转为高或数字1。
上述过程重复,使得振荡114在数字1与0或高与低状态之间交替。包含一个高状态和一个低状态的时间段可为振荡时段,所述振荡时段可以是由延迟电路130定义的恒定时段。举例来说,延迟电路130可包含为延迟电路130提供总延迟的延迟元件的数量,其对应于振荡114的一半时段。延迟元件可组织为分配给输入信号112中的相应输入信号的若干群组。在替代实施例中,可使用图1中未展示的组件来产生振荡114。
除了反馈到复用器120中以外,振荡114还耦合到反相器140B。反相器140B可输出振荡114的反相版本(或经移相版本)。在本发明技术的一或多个实施方案中,可省略反相器140B。如图1中所展示,振荡114的反相版本耦合到逻辑门170。逻辑门170还耦合到来自主控制器160的CMode 162。逻辑门170可以是AND门。因此,振荡114的反相版本仅穿过逻辑门170以在CMode 162设置为“真”时成为计数器时钟118。
如校准控制器150中所展示,计数器时钟118耦合到计数器180。计数器180可为计数器时钟118中接收到的每一时段或周期增加计数。在CMode 162从“假”切换到“真”时或在进入校准模式时,主控制器160可将计数初始化为零值。替代地,主控制器160可在进入校准模式时从计数器180读取计数的当前值。
在进入校准模式时,主控制器160可记录如由参考时钟168所指示的当前时间,所述当前时间可包含具有已知频率的时钟信号,例如来自晶体振荡器的信号。基于参考时钟168,主控制器160可确定当前墙钟(wall clock)时间。因此,主控制器160可基于参考时钟168在预定时间段内运行校准模式。一旦经过预定时间段,主控制器160便可从计数器180中检索振荡计数182。在计数没有初始化为零时,可从振荡计数182中减去先前从计数器180中检索的计数。
一旦确定了振荡计数182,主控制器160便可基于或根据标称延迟设置166产生延迟元件设置164。标称延迟设置166可定义输入信号112中的每一输入信号的目标延迟。主控制器160可随后针对操作模式将CMode 162切换到“假”,其可将延迟块110重新配置为用于延迟输入信号112中的相应输入信号的延迟元件的群组。举例来说,可在延迟块110中使用复用器和解复用器来进行重新配置。输入信号可根据延迟元件设置164路由到用于延迟电路130中的延迟元件的相应群组的延迟元件的子集中。
已为提供直接测量延迟校准的设备提供电路概述,更详细地检查延迟电路130可为有益的。为简单起见,将分别地阐述校准模式和操作模式中的延迟电路130,分别对应于图2A和图2B。
图2A为示出处于校准模式中的图1的延迟电路130的电路图。图2A包含延迟块110和CMode 162。延迟块110包含延迟电路130、反相器140A、反相器140B、复用器220A、解复用器222A、解复用器222B、解复用器222C、解复用器222D以及解复用器222E。延迟电路130包含群组230A、群组230B、群组230C、群组230D以及群组230E。群组230A包含延迟元件(delayelement,DE)210A、DE 210B、DE 210C、DE 210D以及DE 210E。群组230B包含DE 210F、de210G以及DE 210H。群组230C包含DE 210I、DE 210J以及DE 210K。群组230D包含DE 210L、DE210M以及DE 210N。群组230E包含DE 210O、DE 210P以及DE 210Q。相对于图2A,相似编号元件可对应于图1的类似元件。
如图2A中所展示,延迟电路130包含多个延迟元件或DE 210A到DE 210Q。复用器220A从反相器140A接收输出且输出到延迟电路130中的第一延迟元件或DE 210A。此外,如延迟电路130中所展示,DE 210A到DE 210Q划分到群组230A到群组230E中,所述群组230A到群组230E可分配给相应输入信号。举例来说,群组230A可分配给数据选通(DQS),然而群组230B到群组230E可分配给4位数据总线上的相应数据信号(DQ)。延迟电路130中可适应于任何宽度的数据总线所需数目的信号而设置更多或更少的群组。
在CMode 162如图2A中设置为“真”时,群组230A到群组230E可配置成由相应解复用器222A到解复用器222E串联连接,其中群组230E经由反相器140A和复用器220A反馈到群组230A中。因此,延迟电路130配置为17个延迟元件DE 210A到DE 210Q,所述DE 210A到DE210Q串联连接且利用反相器140A在延迟块110中连成回路。虽然图2A中展示单独的解复用器222A到解复用器222E,但在本发明技术的一或多个实施方案中,多个复用器/解复用器可合并为多输入/多输出复用器/解复用器。
由于每一群组230A到群组230E的延迟元件的最大数目为固定的,因此主控制器160可配置成具有与每一群组230A到群组230E的延迟元件的最大数量相对应的常数,或5个、3个、3个、3个以及3个延迟元件。此外,主控制器160可通过对所有群组的延迟元件的最大数量进行求和或5+3+3+3+3=17个延迟元件来导出延迟电路130中的延迟元件的总数量,所述总数量可存储为常数。当振荡在反相器140B之后输出到逻辑门170时,主控制器160可确定振荡计数182中的由计数器180计数的每一振荡时段对应于17×2或34个延迟元件。由于每一振荡时段包含各自使用延迟电路130在一半振荡时段内保持的高信号和低信号,因此延迟元件的总数量乘以二。
应注意,为了便于说明,图2A中未展示校准模式中使用的一些元件。举例来说,可存在复用器220B、复用器220C、复用器220D以及复用器220E(图2B中展示),但图2A的延迟块110中为简单起见而未展示。另外,可存在解复用器240A到解复用器240E(图2B中展示),但图2A的延迟电路130中为简单起见而未展示。因此,当处于其中CMode 162设置为“真”的校准模式中时,解复用器222A到解复用器222D的输出可实际上路由到下一相应复用器220B到复用器220E。来自复用器220A到复用器220E的输出可实际上路由到延迟电路130中的对应解复用器240A到解复用器240E。解复用器240A到解复用器240E可选择相应群组230A到群组230E中的第一延迟元件,或DE210A、DE 210F、DE 210I、DE 210L以及DE 210O。
图2B为示出处于操作模式中的图1的延迟电路130的电路图。图2B包含延迟块110和CMode 162。延迟块110包含延迟电路130、复用器220A、复用器220B、复用器220C、复用器220D、复用器220E、解复用器222A、解复用器222B、解复用器222C、解复用器222D以及解复用器222E。延迟电路130包含群组230A、群组230B、群组230C、群组230D、群组230E、解复用器240A、解复用器240B、解复用器240C、解复用器240D以及解复用器240。群组230A包含DE(延迟元件)210A、DE 210B、DE 210C、DE 210D以及DE 210E。群组230B包含DE 210F、de 210G以及DE 210H。群组230C包含DE 210I、DE 210J以及DE 210K。群组230D包含DE 210L、DE 210M以及DE 210N。群组230E包含DE 210O、DE 210P以及DE 210Q。相对于图2B,相似编号元件可对应于图2A和图1的类似元件。
如图2B中所展示,在CMode 162设置为“假”或操作模式时,延迟块110重新配置成根据延迟元件设置164将输入信号112A到输入信号112E路由到群组230A到群组230E的相应可选子集。因此,延迟块110不再是如图2A中的串联的延迟元件的回路,而实际上延迟块110目前为输入信号提供延迟(不具有反馈)。应注意,相同延迟元件210A到延迟元件210Q用于在校准模式中在图2A中测量延迟时间以及在操作模式中在图2B中应用所述延迟。因此,可避免使用DLL主/从配置的缺点,如上文所描述。
举例来说,参考群组230A,解复用器240A接收CMode 162和延迟元件设置164以确定用于路由输入信号112A的延迟元件的子集。解复用器240A可从五个可能子集中进行选择:(1)DE 210A到DE 210E,(2)DE 210B到DE 210E,(3)DE 210C到DE 210E,(4)DE 210D到DE210E,或(5)仅DE 210E。在图2A中示出的实例中,解复用器240A选择子集2,或DE 210B到DE210E,如由粗体路径线所指示。因此,CMode 162可如所指示设置为“假”,且延迟元件设置164可指示群组230A自DE 210B开始。其它群组230B到群组230E可发生类似过程。在路由通过延迟元件的相应子集之后,输入信号112A到输入信号112E可提供对应延迟的输出信号116A到延迟的输出信号116E。应注意,在CMode 162设置为“假”时,群组230A到群组230E和相关联的子集是分隔开且彼此独立的,从而允许每一输入信号112A到输入信号112E独立地且并行地应用延迟。
如上文所论述,在CMode 162实际上设置为“真”时,那么解复用器240A到解复用器240E可选择每一群组中的第一延迟元件以选择整个群组作为每一群组的子集。解复用器222A到解复用器222E还路由到下一群组,而非路由到输出信号116A到输出信号116E。
应注意,延迟元件的最大数目(且因此延迟的可选范围)可针对每一群组而发生变化。在图2B中展示的实例中,对应于时钟信号或数据选通(DQS)的输入信号112A的群组230A可针对一子集选择多达5个延迟元件,然而对应于数据线信号(DQ)的输入信号112B到输入信号112E的群组230B到群组230E可针对一子集选择多达3个延迟元件。虽然图2B中每一数据线具有相同数目的最大延迟元件,但是在本发明技术的一或多个实施方案中,每一数据线可具有不同数目的最大延迟元件。在一或多个方面中,群组的子集可包含群组中的一个延迟元件,群组中的两个或大于两个延迟元件,或群组中的所有延迟元件。在一或多个方面中,多个延迟元件的子集可包含多个延迟元件中的一个、多个延迟元件中的两个或大于两个或多个延迟元件中的全部。
因此,可根据每一相关联输入信号的延迟范围需求而设置延迟电路130中的延迟元件的数目。举例来说,由于相较于调整数据线(DQ)上的数据偏移,数据选通(DQS)可能需要更大的调整范围,因此群组230A中的延迟元件的最大数目(或5)可大于群组230B到群组230E的延迟元件的最大数目(或3)。因此,替代为所有群组提供5个延迟元件,延迟电路130可为每一群组提供定制数目的延迟元件,由此使栅极和其它电路系统的数目最小化,但仍为每一输入信号112A到输入信号112E提供具有足够预定调整范围的延迟。因此,可相较于PLL主/从配置降低功率消耗。
图3为示出图1的主控制器的示例数据流的图。图3包含主控制器160、标称延迟设置166、参考时钟168以及振荡计数182。主控制器160包含延迟时间模块310、延迟时间320、延迟元件设置模块330以及延迟元件设置164。延迟时间模块310包含校准时间段312、振荡计数确定模块314、延迟元件数量316、延迟时间确定模块318。相对于图3,相似编号元件可对应于图1的相同元件。
可在图4的上下文中更好地理解图3中展示的数据流,图4为示出用于提供直接测量延迟校准的示例过程400的流程图。图4的一或多个框可由计算系统(包含例如闪存存储器的控制器、SSD的数据存储控制器、处理器或类似物)执行。类似地,非暂时性机器可读介质可包含在其上的机器可执行指令,所述机器可执行指令在由计算机或机器执行时执行图4的框。
在框411中,参考图3和图1,主控制器160可在校准时间段312内确定延迟块110中的延迟元件的延迟振荡。如图3中所展示,延迟时间模块310可将延迟块110的延迟电路130中的延迟元件的数目存储或确定为延迟元件数量316,或在这一实例中,为17个延迟元件。延迟时间模块310可将参考时钟168用作“秒表”,以确定在进入校准模式之后校准时间段312已经过的时间,或在这一实例中,在CMode 162确证为“真”之后0.2μs。一旦已满足这一条件,振荡计数确定模块314便可从计数器180接收振荡计数182,其保持来自计数器时钟118的连续振荡计数。在这一实例中,在进入校准模式后已经过0.2μs之后,振荡计数确定模块314确定延迟块110中的17个延迟元件的100个延迟振荡(也称为周期或时段)。
如上文所论述,校准时间段312可设置为提供周期的最小数目,以符合延迟的指定误差容限的准确度阈值。举例来说,如果已知延迟电路130的最大延迟(即,全部延迟元件的经求和的延迟),例如1ns,那么已知每周期或时段的最大延迟为所述最大延迟的双倍,或2ns。取决于数据总线的频率,可能需要花费更多时间来测量所述周期。对于500MHz,双数据速率或1000MT/s数据总线,每秒发生1,000,000,000次传送,或每2ns 1个周期,且因此在这一实例中,总线速度并非限制因素。
如果100个周期为符合所述延迟的准确度阈值或1%到2%的误差容限的最小数目个周期,那么所需校准时间段=(每周期最大延迟)×(周期的最小数目)=(2ns/1周期)×(100周期)=200ns=0.2μs。因此,在这一实例中,校准时间段312可设置为0.2μs,以提供1%到2%的误差容限。相比于在减小延迟误差方面具有受限选择方案的DLL主/从配置,利用更长校准时间段312,可指定更小的误差容限。
在框412中,参考图3和图1,主控制器160可基于振荡计数确定模块314的所确定100个周期、为0.2μs的校准时间段312以及为17个延迟元件的延迟元件数量316来确定延迟块110中的延迟元件中的代表性延迟元件的延迟时间320。举例来说,可使用以下等式:
等式1 x/y=1/(2×t×de)
其中x为振荡计数确定模块314的所确定周期,
其中y为校准时间段312,
其中t为延迟块110中的代表性延迟元件的延迟时间320,且
其中de为延迟元件数量316。
通过使用图3中展示的示例数据值,等式1变为100/0.2μs=1/(2×t×17)。为了确定延迟时间320,延迟时间确定模块318可使用等式1来求解t,得出t=1/17ns,或约60ps,如图3的延迟时间320中所指示。
在框413中,参考图3和图1,主控制器160可基于延迟时间320来确定延迟块110中的用于延迟输入信号112的延迟元件的子集。举例来说,框413中的所述确定可基于使用标称延迟设置166或输入信号112已知的目标延迟的延迟元件设置模块330。
举例来说,图3中的标称延迟设置166指示输入信号112A应延迟250ps。为了最佳地估算这一延迟,延迟元件设置模块330可确定:使输入信号112A路由通过4个延迟将由于延迟时间320为60ps且60ps×4=240ps≈250ps,因此最佳地估算目标250ps延迟。因此,延迟元件设置164可包含如下设置:解复用器240A应使输入信号112A路由通过群组230A中的4个延迟或包含延迟元件210B、延迟元件210C、延迟元件210D以及延迟元件210E的子集,也如图3B中所示出。这可通过仅指定每一群组的起始延迟元件(例如对应于解复用器240A的群组230A的延迟元件210B)来在数据中表示。可执行类似过程以确定图3中的输入信号112B到输入信号112E的延迟元件设置164中的其余部分。
应注意,延迟元件设置模块330使用由最末或最新校准确定的延迟时间320。如上文所论述,在不发生读取或写入时,可在空闲时间期间在数据总线上调度校准模式。由于例如存储装置的应用的数据业务性质,可能会有机会在数据业务的突发之间在空闲时间期间进行定期校准。因此,即使延迟时间320由于温度变化、装置损耗或其它环境影响而波动,仍可为输入信号动态地提供准确延迟。举例来说,如果延迟时间320由于最末校准模式而从60ps变化到120ps,那么延迟元件设置164可实际上指定输入信号112A路由通过2个延迟或延迟元件210D和延迟元件210E。
在框414中,参考图3和图1,主控制器160根据延迟元件设置164使输入信号112路由通过延迟块110中的延迟元件的子集。因此,可确证CMode 162为“假”,以更改为操作模式。参考图1、图2B以及图3中的延迟元件设置164,主控制器160可将延迟元件设置164提供到相应解复用器240A到解复用器240E,使得输入信号112A到输入信号112E路由通过群组230A到群组230E的相应子集,以产生延迟的输出信号116A到输出信号116E。举例来说,输入信号112A路由通过包含延迟元件210B到延迟元件210E的群组230A的子集,输入信号112B路由通过包含延迟元件210G到延迟元件210H的群组230B的子集,输入信号112C路由通过包含延迟元件210K的群组230C的子集,输入信号112D路由通过包含延迟元件210N的群组230D的子集,且输入信号112E路由通过包含延迟元件210O到延迟元件210Q的群组230E的子集。
如上文所论述,在空闲时间期间,数据总线上可启用校准模式。因此,框411到框413可周期性地和/或机会性地重复,以动态地更新延迟时间320。
图5为示出根据本发明技术的一或多个实施方案的示例数据存储系统的组件的框图。如图5中所描绘,在一些实施方案中,数据存储系统500(例如固态驱动器)包含数据存储控制器501、存储介质502、闪存存储器503以及数据总线560。控制器501可使用存储介质502,其用于临时存储用于管理数据存储系统500的数据和信息。控制器501可包含若干内部组件(未展示),例如只读存储器、闪存组件接口(例如用以管理沿着串联连接传送到闪存存储器503的指令和数据的复用器)、I/O接口、误差校正电路系统以及类似物。在一些方面中,控制器501的所有这些元件可整合到单芯片中。在其它方面中,这些元件可在其自有的PC板上分离。
在一些实施方案中,本公开的各方面可实施于数据存储系统500中。举例来说,本公开的各方面可与数据存储控制器501的功能整合或可实施为供与数据存储控制器501结合使用的独立组件。
控制器501还可包含处理器,所述处理器可配置成执行用以进行以下操作的代码或指令:执行本文中所描述的操作和功能性、管理请求流程和地址映射以及执行计算和产生命令。控制器501的处理器可配置成监视和/或控制数据存储控制器501中的组件的操作。处理器可以是通用微处理器、微控制器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)、可编程逻辑装置(programmable logicdevice,PLD)、控制器、状态机、门控逻辑、离散硬件组件或前述内容的组合。指令的一或多个序列可在控制器501和/或其处理器内在ROM上存储为固件。指令的一或多个序列可以是从存储介质502、闪存存储器503存储以及读取或(例如经由主机接口505)从主机装置504接收到的软件。ROM、存储介质502、闪存存储器503表示机器或计算机可读介质的实例,可由控制器501和/或其处理器执行的指令/代码可存储在所述机器或计算机可读介质上。机器或计算机可读介质可通常指代用于将指令提供到控制器501和/或其处理器的任何媒体或介质,包含:易失性介质,例如用于存储介质502或用于控制器501内的缓存器的动态存储器;以及非易失性介质,例如电子介质、光学介质以及磁性介质。
在一些方面中,控制器501可配置成响应于来自主机装置504的写入命令而将从主机装置504接收到的数据存储在闪存存储器503中。控制器501进一步配置成读取存储在闪存存储器503中的数据,且进一步配置成响应于来自主机装置504的读取命令而将读取数据转移到主机装置504。
主机装置504表示配置成耦合到数据存储系统500且配置成将数据存储在数据存储系统500中的任何装置。主机装置504可以是计算系统,例如个人计算机、服务器、工作站、笔记本电脑、PDA、智能手机以及类似物。替代地,主机装置504可以是电子装置,例如数码相机、数字音讯播放器、数字录像机以及类似物。
在一些方面中,存储介质502表示用于暂时地存储用于管理数据存储系统500的数据和信息的易失性存储器。根据本发明技术的各方面,存储介质502为随机存取存储器(random access memory,RAM),例如双数据速率(double data rate,DDR)RAM。也可使用其它类型的RAM来实施存储介质502。可使用单一RAM模块或多个RAM模块来实施存储器502。虽然将存储介质502描绘为不同于控制器501,但所属领域的技术人员将认识到,存储介质502可在不脱离本发明技术的范围的情况下并入到控制器501中。替代地,存储介质502可以是非易失性存储器,例如磁碟、闪存存储器、周边SSD以及类似物。
如图5中进一步描绘,数据存储系统500还可包含主机接口505。主机接口505可配置成可操作地耦合(例如通过有线或无线连接)到主机装置504,配置成从主机装置504接收数据且配置成将数据发送到主机装置504。主机接口505可包含用于(例如经由控制器501的I/O接口)将主机装置504可操作地耦合到控制器501的电性和物理连接或无线连接。主机接口505可配置成在主机装置504与控制器501之间传送数据、地址以及控制信号。替代地,控制器501的I/O接口可包含主机接口505和/或可与主机接口505组合。主机接口505可配置成实施标准接口,例如串行连接的SCSI(Serial-Attached SCSI,SAS)、光纤通道接口、PCI高速(PCI Express,PCIe)、SATA、USB以及类似物。主机接口505可配置成仅实施一个接口。替代地,主机接口505(和/或控制器501的I/O接口)可配置成实施多个接口,可使用由用户选择或在组合时编程的配置参数来单独地选择所述多个接口。主机接口505可包含用于缓冲主机装置504与控制器501之间的传输的一或多个缓存器。
闪存存储器503表示用于存储数据的非易失性存储器装置。根据本发明技术的各方面,闪存存储器503包含例如NAND闪存存储器。闪存存储器503可包含单一闪存存储器装置或芯片,或如图5所描绘,可包含布置在多个通道中的多个闪存存储器装置或芯片。闪存存储器503不限于任何特定容量或配置。举例来说,物理块的数目、每物理块的物理页的数目、每物理页的扇区的数目以及扇区的大小可在本发明技术的范围内变化。
闪存存储器可具有标准接口规格,以使得可(至少在很大程度上)互换使用来自多个制造商的芯片。接口隐藏闪存的内部工作且仅返回内部检测到的数据位值。在各方面中,闪存存储器503的接口用于存取利用外部装置进行通信的一或多个内部寄存器506和内部闪存控制器507。在一些方面中,寄存器506可包含地址、命令和/或数据寄存器,其在内部从NAND存储器单元阵列508检索必要数据且将所述必要数据输出到NAND存储器单元阵列508。举例来说,数据寄存器可包含待存储在存储器阵列508中的数据或在从存储器阵列508获取之后的数据,且还可用于暂时性数据存储和/或类似于缓冲器的动作。地址寄存器可存储将数据从其中获取到主机504的存储器地址,或数据将发送和存储到的地址。在一些方面中,包含用以控制奇偶校验、中断控制以及类似物的指令寄存器。在一些方面中,内部闪存控制器507可经由控制寄存器存取以控制闪存存储器503的总体性能。内部闪存控制器507和/或控制寄存器可控制停止位的数目、字长、接收器时钟源,且还可控制切换寻址模式、寻呼控制、共处理器控制以及类似物。
在一些方面中,寄存器506还可包含测试寄存器。测试寄存器可由闪存存储器503的接口处提供的特定地址和/或数据组合(例如利用由制造商提供的用以对闪存存储器的内部组件执行各种测试的专用软件)存取。在其它方面中,测试寄存器可用于存取和/或修改其它内部寄存器,例如命令和/或控制寄存器。在一些方面中,可经由测试寄存器存取的测试模式可用于输入或修改闪存存储器503的特定编程条件(例如读取层级),以动态地改变从存储器阵列508的存储器单元读取数据的方式。
应理解,在所有情况下,数据可能并不总是从主机504接收到的和/或返回到主机504的命令的结果。在一些方面中,控制器501可配置成独立于主机504执行读取操作(例如验证读取层级或BER)。如本文中所使用的断言词“配置成”、“可操作以”以及“经编程以”并不暗示主题的任何特定有形或无形修改,而是既定可互换使用。举例来说,配置成监视和控制操作或组件的处理器还可意指处理器编程为监视和控制所述操作,或所述处理器可操作以监视和控制所述操作。同样地,配置成执行代码的处理器可理解为编程为执行代码或可操作以执行代码的处理器。
在一或多个实例中,控制器501可包含延迟校准电路100。控制器501可执行框411到框414中所识别的操作。控制器501可使得框411到框414中所识别的操作发生。
在一或多个实例中,延迟校准电路100的功能性可实施为软件且可存储在存储介质502中。在一或多个实例中,包含主控制器160、逻辑门170以及计数器180的校准控制器150的功能性可实施为(存储介质502中的)软件与控制器501中的硬件的组合。使得或促进控制器501执行框411到框414中所识别的操作的指令可存储在存储介质502中。控制器501可执行存储在存储介质502中的指令。
在一或多个实例中,控制器501可包含、产生、提供延迟元件设置164,使得存储延迟元件设置164或接收延迟元件设置164。举例来说,延迟元件设置164可存储在存储介质502中以用于由控制器501存取,或存储在控制器501中的存储元件内(未展示)。
图6A为示出使用直接测量延迟校准经由图5的数据总线560将数据写入到闪存存储器503的图5的控制器501的框图。如图6A中所展示,控制器501例如经由对存储介质502、接口505或控制器501的内部组件的串连或并联连接从存储介质502或从另一位置接收5位宽输入信号。举例来说,控制器501可从主机504接收具有有效负载的写入请求,其存储在存储介质502的缓冲器中或另一位置中。如果控制器501与存储介质502(或另一位置)之间的连接为串联连接,那么数据可串行化和反串行化。
延迟校准电路100产生对应于数据选通(DQS)的输出信号116A和对应于数据线(DQ)的输出信号116B到输出信号116E,如上文结合图4的过程400所描述。这些输出信号116A到输出信号116E发送到数据队列块620,所述数据队列块620使用输出信号116A作为用于将数据输出到数据总线560上的时钟。
由于数据总线560可为双向的,因此控制器501也可从数据总线560读取(例如从闪存存储器503接收到的数据)。图6B为示出使用直接测量延迟校准从图5的数据总线560读取数据的图5的控制器501的框图。如图6B中所展示,控制器501从数据总线560接收5位宽输入信号(所述5位宽输入信号中的一个可以是数据选通)。
延迟校准电路100产生对应于数据选通(DQS)的输出信号116A和对应于数据线(DQ)的输出信号116B到输出信号116E,如上文结合图4的过程400所描述。这些输出信号116A到输出信号116E发送到数据队列块620,所述数据队列块620使用输出信号116A作为用于输出数据的时钟。如上文所论述,信号也可串行化和反串行化。数据可在存储在存储介质502中的缓冲器或另一位置中之后传送到主机504,或数据可在未经存储的情况下传送到主机504。
本发明技术的一或多个实施方案提供用于提供直接测量延迟校准的设备。根据一些方面,设备可包含回路中的多个延迟元件。设备还可包含耦合到多个延迟元件的控制器。控制器可配置成在预定时间段内确定回路中的多个延迟元件的延迟振荡。控制器还可配置成基于所确定的延迟振荡、预定时间段以及多个延迟元件的数量来确定用于延迟输入信号的多个延迟元件的子集。控制器还可配置成使输入信号路由通过多个延迟元件的子集。
本发明技术的一或多个方面提供直接测量延迟校准的方法。根据一些方面,一种方法可包含在预定时间段内确定回路中的多个延迟元件的延迟振荡。方法还可包含基于所确定的延迟振荡、预定时间段以及多个延迟元件的数量来确定多个延迟元件中的延迟元件的延迟时间。方法还可包含基于延迟时间来确定用于延迟输入信号的多个延迟元件的子集。方法还可包含使输入信号路由通过多个延迟元件的子集。
在其它方面中,一种设备可包含具有输入端和输出端的多个延迟元件。设备可包含耦合到多个延迟元件的输出端且耦合到多个延迟元件的输入端的第一反相器。设备可包含耦合到多个延迟元件和第一反相器的控制器。控制器可配置成在预定时间段内确定多个延迟元件和第一反相器的延迟振荡。控制器还可配置成基于所确定的延迟振荡、预定时间段以及多个延迟元件的数量来确定用于延迟输入信号的多个延迟元件的子集。控制器还可配置成使输入信号路由通过多个延迟元件的子集。
在其它方面,可提供包含机器可执行指令的非暂时性机器可读介质,所述机器可执行指令在由处理器执行时执行方法。方法可包含在预定时间段内确定回路中的多个延迟元件的延迟振荡。方法可包含基于所确定的延迟振荡、预定时间段以及多个延迟元件的数量来确定多个延迟元件中的延迟元件的延迟时间。方法可包含基于延迟时间来确定用于延迟输入信号的多个延迟元件的子集。方法可包含使得输入信号路由通过多个延迟元件的子集。
在其它方面,一种设备可包含用于在预定时间段内确定回路中的多个延迟元件的延迟振荡的构件。设备还可包含用于基于所确定的延迟振荡、预定时间段以及多个延迟元件的数量来确定多个延迟元件中的延迟元件的延迟时间的构件。设备还可包含用于基于延迟时间来确定用于延迟输入信号的多个延迟元件的子集的构件。设备还可包含用于使输入信号路由通过多个延迟元件的子集的构件。
应理解,所属领域的技术人员从本文中的详细描述将容易了解本发明技术的其它配置,其中借助于说明而展示且描述本发明技术的各种配置。如将认识到,本发明技术能够具有其它和不同的配置,且其若干细节能够在各种其它方面中进行修改,全都不脱离本发明技术的范围。因此,图式和详细描述应被视为在本质上是说明性而非限制性的。
所属领域的技术人员将了解,本文中所描述的各种说明性块、模块、元件、组件、方法以及算法可实施为电子硬件、计算机软件,或两者的组合。为了说明硬件与软件的这种可互换性,上文已大体就其功能性描述了各种说明性块、模块、元件、组件、方法以及算法。这些功能性是实施为硬件还是软件取决于特定应用和强加于整个系统的设计约束。所属领域技术人员可针对每一特定应用以不同方式实施所描述的功能性。在不脱离本发明技术的范围的情况下,各种组件和块都可以不同方式布置(例如以不同次序布置,或以不同方式分割)。
应理解,所公开过程中的步骤的特定次序或阶层为示例性方法的实例。基于设计偏好,应理解可以重新布置过程中的步骤的特定次序或阶层。一些步骤可以同时执行。随附的方法项以样本次序呈现各种步骤的元素,且并不有意限于所呈现的特定次序或阶层。
提供先前的描述以使所属领域的技术人员能够实践本文中所描述的各个方面。先前描述提供本发明技术的各种实例,且本发明技术不限于这些实例。对这些方面的各种修改对于所属领域的技术人员来说将容易显而易见,并且本文中定义的一般原理可适用于其它方面。因此,权利要求书并不意图限于本文中所展示的方面,而是将被赋予与语言权利要求书一致的完整范围,其中以单数形式提及元件并非意图意指“有且仅有一个”(除非明确地这样叙述),而是表示“一或多个”。除非另外特别地陈述,否则术语“一些”是指一或多个。关于男性的代词(例如他的)包含女性和中性性别(例如她的和它的),并且反过来也是如此。标题和副标题,如果存在的话,仅为了便利而使用,且不会限制本发明技术。
例如“方面”的短语不暗示这一方面对于本发明技术必不可少或这一方面适用于本发明技术的所有配置。与一方面相关的公开内容可适用于所有配置,或一或多个配置。一方面可提供一或多个实例。例如方面的短语可指一或多个方面,且反过来也是如此。例如“实施例”的短语不暗示这一实施例对于本发明技术必不可少或这一实施例适用于本发明技术的所有配置。与一实施例相关的公开内容可适用于所有实施例,或一或多个实施例。一实施例可提供一或多个实例。例如“实施例”的短语可指一或多个实施例,且反过来也是如此。例如“配置”的短语不暗示这一配置对于本发明技术必不可少或这一配置适用于本发明技术的所有配置。与一配置相关的公开内容可适用于所有配置,或一或多个配置。一配置可提供一或多个实例。例如“配置”的短语可指一或多个配置,且反过来也是如此。
词语“示例性”在本文中用以意指“充当实例或说明”。本文中描述为“示例性”的任何方面或设计未必应解释为比其它方面或设计优选或有利。
所属领域的一般技术人员已知或日后将知晓的贯穿本公开而描述的各种方面的元件的所有结构和功能等效物以引用的方式明确地并入本文中,且既定由所附权利要求书涵盖。此外,本文中所公开的任何内容均不希望奉献给公众,无论权利要求书中是否明确地陈述这一公开。除非使用短语“用于…构件”明确叙述权利要求项要素,或在方法项的情况下使用短语“用于…的步骤”叙述所述要素,否则不依据35U.S.C.§112第六段的规定解释所述要素。此外,就将术语“包含”、“具有”或类似术语用于说明书或权利要求书中来说,这类术语意图以类似于术语“包括”的方式为包含性的,如“包括”在用作在权利要求书中的过渡词时所解释的那样。
Claims (20)
1.一种设备,其包括:
多个延迟元件,其处于回路中;以及
控制器,其耦合到所述多个延迟元件,
其中所述控制器配置成:
在预定时间段内确定所述回路中的所述多个延迟元件的延迟振荡;
基于所确定的延迟振荡、所述预定时间段以及所述多个延迟元件的数量来确定用于延迟输入信号的所述多个延迟元件的子集;以及
使所述输入信号路由通过所述多个延迟元件的所述子集。
2.根据权利要求1所述的设备,其中所述控制器配置成基于所述输入信号的预定延迟设置来确定所述多个延迟元件的所述子集。
3.根据权利要求1所述的设备,其中所述输入信号为多个输入信号中的一个,且其中所述控制器配置成使所述多个输入信号中的每一个路由通过所述多个延迟元件的独立子集。
4.根据权利要求1所述的设备,其中所述多个延迟元件包含分配给时钟信号的第一最大数目个延迟元件和分配给一或多个数据信号中的每一个的第二最大数目个延迟元件,其中所述第一最大数目大于所述第二最大数目。
5.根据权利要求1所述的设备,其中所述回路包括环式振荡器。
6.根据权利要求1所述的设备,其中所述控制器配置成通过以下操作来确定所述多个延迟元件的所述子集:
基于所述所确定的延迟振荡、所述预定时间段以及所述多个延迟元件的所述数量来确定所述多个延迟元件中的延迟元件的延迟时间;以及
基于所述延迟时间来确定用于延迟所述输入信号的所述多个延迟元件的所述子集。
7.根据权利要求6所述的设备,其中所述控制器配置成在耦合到所述控制器的数据总线空闲时重复确定所述延迟元件的所述延迟时间。
8.根据权利要求1所述的设备,其中所述多个延迟元件的所述数量是基于所述输入信号的预定调整范围。
9.根据权利要求1所述的设备,其中所述预定时间段是基于符合用于根据所述输入信号的预定延迟设置延迟所述输入信号的准确度阈值。
10.根据权利要求1所述的设备,其中所述控制器耦合到数据总线,所述数据总线耦合到一或多个存储器装置。
11.一种方法,其包括:
在预定时间段内确定回路中的多个延迟元件的延迟振荡;
基于所确定的延迟振荡、所述预定时间段以及所述多个延迟元件的数量来确定所述多个延迟元件中的延迟元件的延迟时间;
基于所述延迟时间来确定用于延迟输入信号的所述多个延迟元件的子集;以及
使所述输入信号路由通过所述多个延迟元件的所述子集。
12.根据权利要求11所述的方法,其中确定所述多个延迟元件的所述子集是基于所述输入信号的预定延迟设置。
13.根据权利要求11所述的方法,其中所述输入信号为多个输入信号中的一个,其中所述方法包括使所述多个输入信号中的每一个路由通过所述多个延迟元件的独立子集,且其中路由所述多个输入信号中的每一个包括路由所述输入信号。
14.根据权利要求11所述的方法,其中所述多个延迟元件包含分配给时钟信号的第一最大数目个延迟元件和分配给一或多个数据信号中的每一个的第二最大数目个延迟元件,其中所述第一最大数目大于所述第二最大数目。
15.一种设备,其包括:
多个延迟元件,其具有输入端和输出端;
第一反相器,其耦合到所述多个延迟元件的所述输出端且耦合到所述多个延迟元件的所述输入端;以及
控制器,其耦合到所述多个延迟元件和所述第一反相器,
其中所述控制器配置成:
在预定时间段内确定所述多个延迟元件和所述第一反相器的延迟振荡;
基于所确定的延迟振荡、所述预定时间段以及所述多个延迟元件的数量来确定用于延迟输入信号的所述多个延迟元件的子集;以及
使所述输入信号路由通过所述多个延迟元件的所述子集。
16.根据权利要求15所述的设备,其中所述控制器包括用于对所述延迟振荡进行计数的计数器。
17.根据权利要求16所述的设备,其中所述控制器包括第二控制器,所述第二控制器配置成基于所述输入信号的预定延迟设置来确定所述多个延迟元件的所述子集。
18.根据权利要求17所述的设备,其进一步包括耦合到所述第一反相器的第二反相器,其中所述第二控制器和所述第二反相器耦合到逻辑门以用于将计数器时钟输出到所述计数器。
19.一种在其上包含机器可执行指令的非暂时性机器可读介质,所述机器可执行指令在由处理器执行时执行一方法,所述方法包括:
在预定时间段内确定回路中的多个延迟元件的延迟振荡;
基于所确定的延迟振荡、所述预定时间段以及所述多个延迟元件的数量来确定所述多个延迟元件中的延迟元件的延迟时间;
基于所述延迟时间来确定用于延迟输入信号的所述多个延迟元件的子集;以及
使得所述输入信号路由通过所述多个延迟元件的所述子集。
20.一种设备,其包括:
用于在预定时间段内确定回路中的多个延迟元件的延迟振荡的构件;
用于基于所确定的延迟振荡、所述预定时间段以及所述多个延迟元件的数量来确定所述多个延迟元件中的延迟元件的延迟时间的构件;
用于基于所述延迟时间来确定用于延迟输入信号的所述多个延迟元件的子集的构件;以及
用于使所述输入信号路由通过所述多个延迟元件的所述子集的构件。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862681018P | 2018-06-05 | 2018-06-05 | |
US62/681,018 | 2018-06-05 | ||
US16/051,374 US10411719B1 (en) | 2018-06-05 | 2018-07-31 | Direct measurement delay calibration method and apparatus |
US16/051,374 | 2018-07-31 | ||
PCT/US2019/017545 WO2019236154A1 (en) | 2018-06-05 | 2019-02-11 | Direct measurement delay calibration method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111357052A true CN111357052A (zh) | 2020-06-30 |
CN111357052B CN111357052B (zh) | 2023-05-23 |
Family
ID=67845120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980005751.3A Active CN111357052B (zh) | 2018-06-05 | 2019-02-11 | 直接测量延迟校准方法和设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10411719B1 (zh) |
KR (1) | KR102411916B1 (zh) |
CN (1) | CN111357052B (zh) |
DE (1) | DE112019000156T5 (zh) |
WO (1) | WO2019236154A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11474554B2 (en) * | 2021-01-12 | 2022-10-18 | Global Unichip Corporation | Circuit for providing clock to de-serializer in communication physical layer |
CN115865755B (zh) * | 2022-11-18 | 2024-03-22 | 电子科技大学 | 面向多片上网络间互连的并行数据校准方法及电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6173345B1 (en) * | 1998-11-03 | 2001-01-09 | Intel Corporation | Method and apparatus for levelizing transfer delays for a channel of devices such as memory devices in a memory subsystem |
US6421784B1 (en) * | 1999-03-05 | 2002-07-16 | International Business Machines Corporation | Programmable delay circuit having a fine delay element selectively receives input signal and output signal of coarse delay element |
US20040196052A1 (en) * | 2001-10-24 | 2004-10-07 | Toshiyuki Okayasu | Timing generator, semiconductor test apparatus, and timing generating method |
US20090051396A1 (en) * | 2006-02-02 | 2009-02-26 | Yukihiro Shimamoto | Ring Oscillation Circuit, Delay Time Measuring Circuit, Testing Circuit, Clock Generating Circuit, Image Sensor, Pulse Generating Circuit, Semiconductor Integrated Circuit, and Testing Method Thereof |
US7734002B2 (en) * | 2006-11-14 | 2010-06-08 | Integrated Device Technology, Inc. | Phase difference detector having concurrent fine and coarse capabilities |
US8531225B1 (en) * | 2012-05-18 | 2013-09-10 | Mediatek Singapore Pte. Ltd. | Configurable critical path emulator |
US8909065B2 (en) * | 2011-07-15 | 2014-12-09 | Intel Mobile Communications GmbH | Adjustable delayer, method for delaying an input signal and polar transmitter |
CN104871247A (zh) * | 2012-12-28 | 2015-08-26 | 桑迪士克科技股份有限公司 | 时钟生成和延迟架构 |
CN105489237A (zh) * | 2014-10-07 | 2016-04-13 | 爱思开海力士有限公司 | 选通信号间隔检测电路及包括其的存储系统 |
US20180069556A1 (en) * | 2011-07-01 | 2018-03-08 | Rambus Inc. | Run-time output clock determination |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001094417A (ja) | 1999-09-24 | 2001-04-06 | Toshiba Microelectronics Corp | デジタル方式pll回路 |
US7471130B2 (en) | 2005-05-19 | 2008-12-30 | Micron Technology, Inc. | Graduated delay line for increased clock skew correction circuit operating range |
JP4520394B2 (ja) | 2005-10-27 | 2010-08-04 | ルネサスエレクトロニクス株式会社 | Dll回路及びその試験方法 |
KR100933801B1 (ko) * | 2007-06-28 | 2009-12-24 | 주식회사 하이닉스반도체 | 링 오실레이터와 이를 이용한 내부전압 생성장치 |
US7932756B2 (en) * | 2007-08-01 | 2011-04-26 | Texas Instruments Incorporated | Master slave delay locked loops and uses thereof |
-
2018
- 2018-07-31 US US16/051,374 patent/US10411719B1/en active Active
-
2019
- 2019-02-11 KR KR1020207013782A patent/KR102411916B1/ko active IP Right Grant
- 2019-02-11 DE DE112019000156.6T patent/DE112019000156T5/de active Pending
- 2019-02-11 WO PCT/US2019/017545 patent/WO2019236154A1/en active Application Filing
- 2019-02-11 CN CN201980005751.3A patent/CN111357052B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6173345B1 (en) * | 1998-11-03 | 2001-01-09 | Intel Corporation | Method and apparatus for levelizing transfer delays for a channel of devices such as memory devices in a memory subsystem |
US6421784B1 (en) * | 1999-03-05 | 2002-07-16 | International Business Machines Corporation | Programmable delay circuit having a fine delay element selectively receives input signal and output signal of coarse delay element |
US20040196052A1 (en) * | 2001-10-24 | 2004-10-07 | Toshiyuki Okayasu | Timing generator, semiconductor test apparatus, and timing generating method |
US20090051396A1 (en) * | 2006-02-02 | 2009-02-26 | Yukihiro Shimamoto | Ring Oscillation Circuit, Delay Time Measuring Circuit, Testing Circuit, Clock Generating Circuit, Image Sensor, Pulse Generating Circuit, Semiconductor Integrated Circuit, and Testing Method Thereof |
US7734002B2 (en) * | 2006-11-14 | 2010-06-08 | Integrated Device Technology, Inc. | Phase difference detector having concurrent fine and coarse capabilities |
US20180069556A1 (en) * | 2011-07-01 | 2018-03-08 | Rambus Inc. | Run-time output clock determination |
US8909065B2 (en) * | 2011-07-15 | 2014-12-09 | Intel Mobile Communications GmbH | Adjustable delayer, method for delaying an input signal and polar transmitter |
US8531225B1 (en) * | 2012-05-18 | 2013-09-10 | Mediatek Singapore Pte. Ltd. | Configurable critical path emulator |
CN104871247A (zh) * | 2012-12-28 | 2015-08-26 | 桑迪士克科技股份有限公司 | 时钟生成和延迟架构 |
CN105489237A (zh) * | 2014-10-07 | 2016-04-13 | 爱思开海力士有限公司 | 选通信号间隔检测电路及包括其的存储系统 |
Also Published As
Publication number | Publication date |
---|---|
US10411719B1 (en) | 2019-09-10 |
DE112019000156T5 (de) | 2020-09-03 |
KR102411916B1 (ko) | 2022-06-23 |
KR20210006319A (ko) | 2021-01-18 |
WO2019236154A1 (en) | 2019-12-12 |
CN111357052B (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10866739B2 (en) | Clock mode determination in a memory system | |
EP1668523B2 (en) | Integrated circuit with bi-modal data strobe | |
US7467251B2 (en) | Flash memory data storage apparatus | |
US7342412B2 (en) | Device for controlling on die termination | |
US7609553B2 (en) | NAND flash memory device with burst read latency function | |
US7672191B2 (en) | Data output control circuit | |
KR20080081042A (ko) | 온도 감지기를 갖는 메모리 디바이스로부터의 온도데이터를 제공하기 위한 시스템 및 방법 | |
US8406080B2 (en) | Data output control circuit of a double data rate (DDR) synchronous semiconductor memory device responsive to a delay locked loop (DLL) clock and method thereof | |
TWI796748B (zh) | 使用替代結果之記憶體子系統校準 | |
CN111357052B (zh) | 直接测量延迟校准方法和设备 | |
JP2012068873A (ja) | メモリシステムおよびdramコントローラ | |
CN118212965A (zh) | 存储器系统以及存储器芯片的控制方法 | |
EP2573775A2 (en) | Semiconductor device and data processing system including the same | |
US20020172080A1 (en) | Propagation delay independent sdram data capture device and method | |
US7057966B2 (en) | Semiconductor memory device for reducing current consumption in operation |
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 |