CN112992218A - 用于占空比校正的技术 - Google Patents
用于占空比校正的技术 Download PDFInfo
- Publication number
- CN112992218A CN112992218A CN202011017915.5A CN202011017915A CN112992218A CN 112992218 A CN112992218 A CN 112992218A CN 202011017915 A CN202011017915 A CN 202011017915A CN 112992218 A CN112992218 A CN 112992218A
- Authority
- CN
- China
- Prior art keywords
- duty cycle
- clock
- memory
- target
- sampling
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000012937 correction Methods 0.000 title claims description 66
- 238000005070 sampling Methods 0.000 claims abstract description 83
- 238000005259 measurement Methods 0.000 claims abstract description 43
- 230000005540 biological transmission Effects 0.000 claims description 20
- 230000000630 rising effect Effects 0.000 claims description 15
- 230000001360 synchronised effect Effects 0.000 claims 3
- 238000003860 storage Methods 0.000 description 23
- 238000012545 processing Methods 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 15
- 238000012546 transfer Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 13
- 230000008878 coupling Effects 0.000 description 12
- 238000010168 coupling process Methods 0.000 description 12
- 238000005859 coupling reaction Methods 0.000 description 12
- 230000002093 peripheral effect Effects 0.000 description 12
- 238000013461 design Methods 0.000 description 8
- 230000000737 periodic effect Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 230000001413 cellular effect Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000011664 signaling Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 238000003032 molecular docking Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- CURLTUGMZLYLDI-UHFFFAOYSA-N Carbon dioxide Chemical compound O=C=O CURLTUGMZLYLDI-UHFFFAOYSA-N 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000446 fuel Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000002207 retinal effect Effects 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- UGFAIRIUMAVXCW-UHFFFAOYSA-N Carbon monoxide Chemical compound [O+]#[C-] UGFAIRIUMAVXCW-UHFFFAOYSA-N 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 241000135164 Timea Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 1
- 229910002092 carbon dioxide Inorganic materials 0.000 description 1
- 239000001569 carbon dioxide Substances 0.000 description 1
- 229910002091 carbon monoxide Inorganic materials 0.000 description 1
- 239000005387 chalcogenide glass Substances 0.000 description 1
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000002070 nanowire Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000001301 oxygen Substances 0.000 description 1
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000012782 phase change material Substances 0.000 description 1
- 230000001766 physiological effect Effects 0.000 description 1
- 238000005295 random walk Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- 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
- H03K5/13—Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
- H03K5/135—Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals by the use of time reference signals, e.g. clock signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1679—Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/01—Details
- H03K3/017—Adjustment of width or dutycycle of pulses
-
- 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
- H03K5/156—Arrangements in which a continuous pulse train is transformed into a train having a desired pattern
- H03K5/1565—Arrangements in which a continuous pulse train is transformed into a train having a desired pattern the output pulses having a constant duty cycle
-
- 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/0816—Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used the controlled phase shifter and the frequency- or phase-detection arrangement being connected to a common input
-
- 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
- H03K5/15—Arrangements in which pulses are delivered at different times at several outputs, i.e. pulse distributors
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Nonlinear Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Dram (AREA)
Abstract
示例可以包括用于使用采样时钟以通过基于参考时钟频率的质数比对目标时钟信号进行周期性采样来测量占空比的技术。参考时钟频率用于设置测量循环时间,在该测量循环时间内要测量占空比。基于所测量的占空比来确定与可编程目标占空比相比的占空比误差的大小,并且至少部分地基于占空比误差的大小来调整占空比。
Description
技术领域
本文中描述的示例通常与时钟占空比(duty cycle)校正相关。
背景技术
在一些计算系统中,诸如用于存储器装置的输入/输出数据总线之类的数据总线可以被布置成在时钟信号的上升沿和下降沿两者上用数据的双倍数据速率(DDR)传输来操作。DDR可以被用于实现更高的数据传输速率,以用于访问各种类型的易失性或非易失性存储器。由于时钟信号的上升沿和下降沿两者都被用于实现更高的数据传输速率并且避免由比预期或目标更不精确的时钟占空比引起的位误差,因此时钟占空比的精度是重要的。
附图说明
图1图示了示例第一系统。
图2图示了示例占空比校正电路。
图3图示了示例图。
图4图示了示例逻辑流程。
图5图示了示例第二系统。
图6图示了示例第三系统。
图7图示了示例装置。
具体实施方式
如由各种示例所设想的,当用于访问存储器装置的输入/输出(I/O)数据总线被布置成在时钟信号的上升沿和下降沿两者上用数据的DDR传输来操作时,时钟占空比的精度是重要的。针对数据的DDR传输的一些操作规范可被各种存储器技术规定或要求。例如,这些存储器技术可能要求将时钟占空比校正或调谐到可编程目标占空比(例如50%)的0.5%至2%之内,以便保持可接受的精度。各种存储器技术可以包括但不限于DDR3(双倍数据速率版本3,JESD79-3,最初由JEDEC(联合电子装置工程委员会)于2007年6月27日发布)、DDR4(DDR版本4,JESD79-4,最初由JEDEC于2012年9月发布)、LPDDR3(低功率DDR版本3,JESD209-3B,最初由JEDEC于2013年8月发布)、LPDDR4(低功率DDR版本4,JESD209-4,最初由JEDEC于2014年8月发布)、WIO2(宽I/O 2(WideIO2),JESD229-2,最初由JEDEC于2014年8月发布)、HBM(高带宽存储器DRAM,JESD235,最初由JEDEC于2013年10月发布)、LPDDR5(最初由JEDEC于2019年2月发布)、HBM2((HBM版本2),最初由JEDEC于2018年12月发布)、DDR5(DDR版本5,当前正由JEDEC讨论中)或其它存储器技术或存储器技术的组合,以及基于此类规范的衍生物或扩展的技术。类似地,将基于锁存器(latch)的设计用于信号传播的高速数字设计也需要良好控制的和精确的时钟占空比。
根据一些示例,一种用于校正时钟占空比的技术可以包括使用电阻器电容器(RC)滤波器来获得时钟占空比平均。然后可以将平均值与用于单端时钟的Vcc/2或用于差分时钟的0相比较。然后,比较器输出可以驱动模拟或数字反馈环路来对响应进行滤波并校正时钟占空比。
RC滤波器技术的一个主要缺点是,RC滤波器与其它I/O和时钟电路相比相对大,并且还相对慢,因为它需要设置比用于生成要被校正的占空比的最慢时钟频率慢100倍的带宽。此外,在对时钟占空比的每次改变或调整之后,人们必须等待多个RC时间常数以供一切稳定。利用线性或者甚至二分搜索数字反馈环路,这可能是一个不可接受的慢过程。此外,由于RC滤波器的大尺寸和缓慢性,因此在大量的信号上实现大的RC时间常数可能是昂贵的。占空比校正的一个重要方面是需要测量实际时钟上的占空比,该实际时钟由目标电路使用并且被用于生成占空比。任何附加的缓冲器或门延迟都可能给时钟占空比测量增加误差或不精确性,并且这对于诸如在占空比校正之后< 1皮秒(ps)残留误差之类的目标可能是显著的。
另一种用于校正时钟占空比的技术是要使用延迟线来测量时钟的高相位和低相位两者。与RC滤波器或其它技术相比,这种技术可能相对快,但是由于在正被测量的每个时钟旁边需要可调整的延迟线,因此不可扩展到大量的时钟。此外,由于延迟线技术要求异或(XOR)门来校正测量时钟的高相位对低相位之间的反转,因此精度可能低于单端时钟所期望的。异或门的使用增加了占空比误差和上升/下降失配。
另一种用于校正时钟占空比的技术涉及用异步时钟对目标时钟进行各种版本的“随机”采样,该异步时钟通常使用不具有延迟补偿或具有非常粗略的延迟补偿的简单环形振荡器来生成。这种技术可以被认为是简单的,因为人们可以仅仅总计目标时钟的大量随机样本,并且该计数应该表示所测量的时钟占空比。这种技术可能相对慢,但可能是每时钟低成本的技术,因为这种技术只要求采样器并且潜在地要求计数器。计数器能够在多个时钟之间共享。采样器通常是强臂锁存器型设计,以消除上升/下降失配误差,对于大多数(如果不是所有)类型的占空比检测器电路来说是关键的误差消除。
传统知识(wisdom)可能是不正确的,因为用来自异步时钟的另一个周期信号对一个周期信号进行采样实际上是“随机”采样。可以观察到,用另一个周期信号对一个周期信号进行采样根本不是随机的。而是,这种技术可能是确定性的,并且这对于占空比校正可能是好的或坏的。对于坏的示例,如果异步采样时钟恰好是目标时钟的倍数,则观察到的样本可能全部在目标时钟的一个位置处,并且将导致实际或真实时钟占空比的差的表示。在一些极端情况下,每当采样和目标时钟具有高的最小公倍数频率时,与随机采样技术关联的误差可能增加10倍或者甚至100倍。高的最小公倍数频率可具有细微的影响,除非采样和目标时钟频率被精确地对准,否则该细微的影响可能难以检测,并且即使时钟仅仅差了0.1%,该细微的影响也可能被完全地错过。因此,存在解决针对异步采样时钟的“随机性”假定以便更准确地并且快速地测量时钟占空比误差的需要。此外,如本文中所公开的,描述了示例技术,所述示例技术与上述技术相比,能够快速地并且具有更高准确度地测量和调整分别从大量的相应目标时钟信号(例如,潜在地数百个)导出的时钟占空比。
图1图示了系统100。在一些示例中,如图1中所示,系统100包括与存储器装置120耦合的存储器控制器110。如本文中所公开的,对存储器装置或多个存储器装置的引用可以适用于不同的存储器类型。存储器装置经常指易失性存储器技术,例如DRAM。除了易失性存储器之外或作为易失性存储器的备选,在一些示例中,对存储器装置的引用能够指,即使对该装置中断了电力,其状态也是确定的非易失性存储器装置。在一个示例中,非易失性存储器装置是块可寻址存储器装置,例如NAND或NOR技术。存储器装置还可以包括具有三维(3-D)交叉点存储器结构的字节或块可寻址类型的非易失性存储器,所述存储器结构包括但不限于硫属化物相变材料(例如硫属化物玻璃),下文中称为“3-D交叉点存储器”。非易失性类型的存储器还可以包括其它类型的字节或块可寻址非易失性存储器,例如但不限于多阈值级NAND闪速存储器、NOR闪速存储器、单级或多级相变存储器(PCM)、电阻式存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、反铁电存储器、包括金属氧化物基底、氧空位基底和导电桥随机存取存储器(CB-RAM)的电阻式存储器、自旋电子磁结存储器、磁隧道结(MTJ)存储器、畴壁(DW)和自旋轨道转移(SOT)存储器、基于晶闸管的存储器、结合忆阻器技术的磁阻随机存取存储器(MRAM)、自旋转移力矩MRAM(STT-MRAM)或上述任何的组合。
本文中提到“RAM”或“RAM装置”的描述能够适用于允许随机存取的任何存储器装置,无论是易失性的还是非易失性的。提到“DRAM”、“SDRAM”、“DRAM装置”或“SDRAM装置”的描述可以指易失性随机存取存储器装置。存储器装置、SDRAM或DRAM可以指管芯本身、包括一个或多个管芯的封装存储器产品、或两者。在一些示例中,具有需要被更新的易失性存储器的系统还可以包括至少一些非易失性存储器。
如图1中所示,存储器控制器110可以表示系统100的一个或多个存储器控制器电路或装置。此外,存储器控制器110可以包括响应于处理器(未示出)对操作的执行而生成存储器访问命令的逻辑和/或特征。在一些示例中,存储器控制器110可以访问存储器装置120。存储器装置120可以由存储器控制器110经由一个或多个通道来组织和管理。定时、数据传输、命令和地址交换以及其它操作可以经由这一个或多个通道来路由。存储器控制器110与存储器装置120的耦合可以指电耦合、通信耦合、物理耦合或这些的组合。物理耦合可以包括直接接触。例如,电耦合包括允许组件之间的电流或允许组件之间的信令或允许两者的接口或互连。例如,通信耦合包括使组件能够交换数据的连接,包括有线的或无线的。
存储器控制器110包括I/O接口电路114,以耦合到诸如如上面提到的存储器通道之类的存储器总线。I/O接口电路114(以及存储器装置120的I/O接口电路122)可以包括引脚(pin)、焊盘(pad)、连接器、信号线、迹线、或导线、或用于连接装置的其它硬件、或这些的组合。I/O接口电路114可包括硬件接口。如图1中所示,I/O接口电路122包括至少用于信号线的驱动器/收发器。通常,集成电路接口内的导线与焊盘、引脚或连接器耦合,以通过接口连接(interface)装置之间的信号线或迹线或其它导线。I/O接口电路114能够包括驱动器、接收器、收发器、或端接(termination)、时钟或其它电路或电路的组合,以在存储器控制器110和存储器装置120之间的信号线上交换信号。信号交换包括传送或接收中的至少一种。虽然显示为将来自存储器控制器110的I/O接口电路114耦合到存储器装置120的I/O接口电路122,但是将理解,在系统100的实现中,其中可以并行访问存储器装置的群组,并且多个存储器装置能够包括到存储器控制器110的相同接口的I/O接口电路。
在一些示例中,存储器控制器110可以经由多个信号线与存储器装置120耦合。多个信号线可以包括至少时钟(CLK)132、命令/地址(CMD)134以及写入数据(DQ)和读取数据(DQ)136以及零个或更多个其它信号线138。根据一些示例,将存储器控制器110耦合到存储器装置120的信号线的组成可以被统称为存储器总线。用于CMD 134的信号线可以被称为“命令总线”、“C/A总线”或ADD/CMD总线,或指示命令传输的一些其它名称。用于DQ 136的信号线可以被称为“数据总线”或“DQ总线”。
根据一些示例,将存储器控制器110与存储器装置120耦合的独立通道可以具有不同的时钟信号、命令总线、数据总线和其它信号线。对于这些示例,在独立接口路径可以被认为是单独总线的意义上,系统100可以被认为具有多个“总线”。将理解,除了图1中所示的信号线之外,总线还可以包括选通(strobe)信令线、警报线、辅助线或其它信号线中的至少一个,或者这些附加信号线的组合。还将理解,串行总线技术能够被用于在存储器控制器110和存储器装置120之间传送信号。串行总线技术的示例是在每个方向的单个差分信号对上利用嵌入式时钟的高速数据的传输和8B10B编码。在一些示例中,CMD 134表示与存储器装置120耦合的信号线。在其它示例中,除了存储器装置120之外的多个存储器装置可以共享CMD 134的编码命令信号线,并且各自具有单独的芯片选择(CS_n)信号线来选择特定的存储器装置。
在一些示例中,存储器控制器110和存储器装置120之间的总线包括经由包括在CMD 134中的信号线路由的附属命令总线以及用于承载经由包括在DQ 136中的信号线路由的写入和读取数据的附属数据总线。在一些示例中,CMD 134和DQ 136可以分别包括双向线。在其它示例中,DQ 136可以包括用于从主机向存储器写入数据的单向写入信号线以及用于从存储器向主机读取数据的单向线。
根据一些示例,根据选择的存储器技术和系统设计,包括在其它138中的信号线可以扩充存储器总线或附属总线。例如,用于DQS总线的选通线信号线。
在一些示例中,存储器装置120可以包括多个存储器管芯。单独的存储器管芯可以与每存储器管芯的多个(例如2个)通道通过接口连接。存储器装置120的给定存储器管芯可以包括I/O接口电路122,并且可以具有由与给定存储器管芯的实现或配置关联的接口宽度确定的带宽(例如,x16或x8或一些其它接口带宽)。I/O接口电路122可以使存储器装置能够与存储器控制器110通过接口连接。I/O接口电路122可以包括硬件接口,并且与存储器控制器110的I/O接口电路114协调操作。
根据一些示例,存储器装置120可以被直接布置在计算装置的母板或主机系统平台(例如PCB(印刷电路板))上。在其它示例中,存储器装置120可以被组织为存储器模块,例如双列直插式存储器模块(DIMM)。在其它示例中,存储器装置可以被结合到与存储器控制器110相同的封装中。例如,结合在多芯片模块(MCM)、具有硅通孔(TSV)的封装叠加(package-on-package)或其它技术或组合中。类似地,在一些示例中,存储器装置120可以被结合到与存储器控制器110相同的封装中。将领会,对于这些和其它示例,存储器控制器110可以是处理器的一部分或者与处理器集成。
在一些示例中,如图1中所示,存储器控制器110包括CMD逻辑112。CMD逻辑112可以表示用于生成要发送到存储器装置120的命令的逻辑和/或特征。命令的生成可以指在调度之前的命令,或者准备好被发送的排队命令的准备。通常,存储器子系统中的信令包括命令内或伴随命令的地址信息,以指示或选择在其中存储器装置120应该执行命令的一个或多个存储器位置。响应于对于存储器装置120的事务调度,存储器控制器110可经由I/O接口电路114发出命令,以使存储器装置120执行命令。
根据一些示例,存储器控制器110包括占空比校正电路115。占空比校正电路115是指存储器控制器110中用于针对占空比执行占空比检测和校正的电路,该占空比从用于通过I/O接口电路114路由的信号的一个或多个相应目标时钟信号导出。例如,通过与DQ 136耦合的多个DQ选通接口或多个DQ接口路由的信号。如下面更详细描述的,占空比校正电路115可以实现周期性占空比校正技术,所述技术构建在用异步时钟对目标时钟信号进行周期性采样以测量占空比的概念上。然而,与使用异步时钟来获取目标时钟信号的大量样本的“随机”采样的传统知识不同,由占空比校正电路115实现的周期性占空比校正技术使用与“随机”采样技术相比使所需样本数量最小化的采样时钟。此外,由占空比校正电路115实现的周期性占空比校正技术可以通过在目标时钟信号的采样期间测量占空比误差的大小(magnitude)来加速占空比校正,并且基于以参考时钟频率为根据的仅仅单个测量循环时间来计算正确的反馈环路答案以校正可能的占空比误差。
图2图示了示例占空比校正电路115。在一些示例中,如图2中所示,占空比校正电路115包括目标时钟(CLK)210、采样CLK 220、时钟分配电路230、占空比调整器240、比较器250(例如强臂锁存器比较器)、样本计数器260、总样本计数器270和占空比校正逻辑280。根据一些示例,采样CLK 220可以是用作异步采样时钟的良好控制的时钟发生器,以便于占空比校正逻辑280测量并使占空比调整器240调整由目标CLK 210生成的占空比。对于这些示例,采样CLK 220可以是锁相环(PLL)或锁频环(FLL)时钟,或者倍增延迟锁定环(DLL)时钟。同样,目标CLK 210可以是或PLL或FLL时钟。此外,对于这些示例,时钟分配电路230可以包括但不限于时钟分配和可选电路,例如DLL、相位内插器、串行器、传送器等。要注意,存在若干种其它可能的方式来用采样时钟对由目标时钟生成的目标时钟信号进行采样。要理解,能够使用将采样和目标时钟组合在一起的不同方法来测量占空比,其中采样和目标时钟可以生成不同频率的信号。例如,不同的方法可以保留顺序,使得目标时钟被用于对第二时钟进行采样。对于这个示例,占空比被测量为(在目标时钟的高周期期间第二时钟翻转(toggle)的次数)/(第二时钟的总边沿)。这个示例限于第二时钟频率小于目标时钟,因为第二时钟不应该在目标时钟的高周期的情况下翻转2次。
在一些示例中,可以在目标CLK 210和采样CLK 220之间使用公共参考时钟(未示出)。尽管示例不限于公共参考时钟。对于这些示例,采样CLK 220可以被设置在可能的最高质数比。例如,最高质数比可能受样本计数器260和/或总样本计数器270中的数字速度路径限制。此外,可能的最高质数比不应该导致采样CLK 220具有与目标CLK 210相等的时钟频率。最高质数比允许通过以质数比(在参考时钟测量循环时间内的等间隔点)对CLK 220进行采样来对由目标CLK 210生成的占空比进行采样。此外,除了挑选可能的最高质数比以外,还应该避免在其中两个或更多个目标频率谐波下采样到参考时钟的完全相同的基带频率的任何点。另一个可能的约束是要避免用于采样CLK 220的低采样频率,这可能由于多个图像或采样点向下映射到参考时钟的基带频率而倾向于降低信噪比。
根据一些示例,使用FLL来驱动采样CLK 220以及使用PLL来驱动目标CLK 210可能是令人感兴趣的,因为FLL与正确的频率对准,但是不与相位对准。对于这些示例,在FLL采样CLK 220和PLL目标CLK 210中,相位随着残留频率误差和随机热噪声两者而漂移,从而在FLL采样CLK 220和PLL目标CLK 210之间产生随机游走(random walk)。该目标对采样相位漂移可以通过“填充”在离散的质数比、间隔点之间以用于对PLL目标CLK 210进行采样以测量参考时钟测量循环时间内的占空比,来改进测量的占空比精度。在一些示例中,在相对短的时间内,由PLL目标CLK 210生成的占空比的基本上所有点可以由FLL采样CLK 220进行采样,以使占空比校正逻辑280能够更准确地测量占空比。
在一些示例中,用于对目标CLK 210进行采样的采样CLK 220可以使占空比校正逻辑280能够测量由目标CLK 210生成的占空比,该占空比提供占空比误差的符号和大小两者。对于这些示例,测量的占空比误差的大小(+/-50%)可以与占空比调整器步长结合使用,以使用反馈环路,该反馈环路使占空比校正逻辑280能够生成占空比调整码(DCACode),以使占空比调整器240在仅仅单个测量中校正由目标CLK 210生成的占空比的测量占空比误差。例如,占空比校正逻辑280可以实现示例等式1以确定使占空比调整器240校正测量的占空比误差的DCACode。
示例等式1:
DCACode = OldDCACode + (SampleCount/TotalSamples – DutyCycleTarget) *
PercentToDCASteps
例如等式1,OldDCACode可以是先前用于校正先前测量的占空比误差的DCA码。例如,DCA码可以经由使用上升或下降延迟偏斜(skew)来使得对目标CLK 210的上升和下降斜率进行调整。SampleCount可以由样本计数器260测量,并且SampleCount指示在测量循环时间期间由比较器250针对由采样CLK 220触发的每个采样点检测到的正或负占空比的计数。TotalSamples可以由总样本计数器270测量,并且TotalSamples指示在测量循环时间期间由比较器250针对由采样CLK 220触发的每个采样点检测到的总占空比。DutyCycleTarget可以是%占空比目标(例如50%)。此外,PercentToDCASteps可以是用于对测量的占空比误差的校正进行缩放的占空比调整步长(被转换为%)。根据一些示例,用于占空比校正电路115的占空比调整步长可以通过将正在由占空比调整器240使用的OldDCACode覆写(override)为2个不同的值并测量在占空比中所得到的改变来测量。这可以提供数据来计算PercentToDCASteps。
根据一些示例,上面针对示例等式1提到的占空比测量的方法对于诸如调试之类的其它应用可能非常有用。使用晶体时钟参考源以目标频率生成时钟精确到百万分之几百内。这种占空比测量与时钟源一样精确,并且可以用足够的运行时间实现满标度(fs)精度。此外,占空比校正电路115可以是一种“占空比”基础设施,其能够被用于以高精度测量设计中的其它延迟,从而提供关键的调试信息。例如,该测量方法可以被用于通过将两个信号异或在一起来测量2个信号之间的延迟,其中异或占空比测量延迟占时钟周期的百分比。
图3图示了示例图300。如图3中所示,图300包括由目标CLK 210生成的波形,该目标CLK 210导出或导致占空比320,该占空比320可以在响应于采样CLK 220的测量循环内在由目标CLK 210生成的波形的各个采样点处被测量。在一些示例中,图300可以表示具有10纳秒(ns)持续时间的100兆赫(MHz)时钟循环。对于这些示例,目标CLK 210可以生成具有大约1千兆赫(GHz)频率的目标时钟信号,并且采样CLK 220可以生成具有大约3.1 GHz频率的采样时钟信号。如图3中所示,由采样CLK 220生成的采样时钟信号的每个高部分可以表示用于确定占空比320是“开”还是“关”的采样点。例如,占空比320可以在由目标CLK 210生成的目标时钟信号的上升沿和下降沿的中点处在“开”和“关”之间转换。从而,采样CLK 200可以对由目标CLK 210生成的目标时钟信号进行采样,以每10 ns的1/31或每32皮秒(ps)测量占空比320。换句话说,在10 ns的测量循环时间之后,占空比320被理想地已知为在1/31=3%内。还要注意,31是100 MHz参考时钟的相对大的质数比。
图4图示了示例逻辑流程400。在一些示例中,逻辑流程400可以图示用于通过使用采样时钟对目标时钟信号进行周期性采样来测量占空比的示例过程或操作。对于这些示例,逻辑流程400可以由如上面针对图1-2所描述的占空比校正电路115的元件来实现。占空比校正电路115的这些元件可以对目标时钟信号进行采样,并且然后例如基于图3中所示的图300中描绘的时钟/信号频率来测量和校正占空比。然而,示例过程或操作不限于使用占空比校正电路115的元件的实现或者使用图300中所示的特定目标、采样和参考时钟频率。
在框410,占空比测量可以由占空比校正逻辑280发起。在一些示例中,目标CLK210可以以大约1 GHz的频率操作以导出占空比320,并且采样CLK 220可以以3.1 GHz的频率操作。对于这些示例,占空比320的测量可以由占空比校正逻辑280周期性地发起。例如,基于固定的时间间隔(例如,每几分钟)。在其它示例中,存储器控制器的逻辑(例如,存储器控制器110的CMD逻辑112)可以基于按需的(as needed)基础来发起占空比测量。例如,响应于可能由相对高的占空比误差引起的存储器控制器的I/O接口电路的增加的数据或命令总线误差。示例不限于用于发起占空比测量的周期性或按需的基础。
在框420,比较器250可以在测量循环时间期间响应于采样CLK 220而对由目标CLK210生成的目标时钟信号进行采样,以检测占空比320的“开”和“关”部分。如图3中针对图300所示,测量循环时间可以是10 ns,并且每个采样可以每32 ps发生一次。
在框430,样本计数器260可以收集在测量循环时间期间在由采样CLK 220引起的每个采样点处由比较器250检测到的占空比320的“开”部分的样本计数,并且将该样本计数作为SampleCount提供给占空比校正逻辑280。例如,在测量循环时间期间,样本计数器260可以对11个“开”部分进行计数。
在框440,总样本计数器270可以收集在测量循环时间期间由比较器250检测到的占空比320的“开”和“关”部分两者的总样本计数,并且将总样本计数作为TotalSamples提供给占空比校正逻辑280。例如,在测量循环时间期间,总样本计数器270可以对总共21个“开”和“关”循环进行计数。
在判定框450,占空比校正逻辑280可以使用由样本计数器260和总样本计数器270提供的样本计数和总计数来确定是否需要占空比校正。在一些示例中,可编程或可调整的DutyCycleTarget可以是50%(例如,由CMD逻辑112可编程)。对于这些示例,如果SampleCount/TotalSamples在DutyCycleTarget的0.5%之内,则可能不需要占空比校正,不需要占空比校正并且逻辑流程400移动到框470。换句话说,没有检测到的占空比误差大于0.5%。如果SampleCount/TotalSamples不在50%的0.5%之内,则需要占空比校正并且逻辑流程400移动到框460。示例不限于检测到的占空比误差或+/-0.5%。
在框460,占空比校正逻辑280使用示例等式1来确定新的DCACode。在一些示例中,OldDCACode可以为占空比调整器240使用的上升和下降码设置每位延迟偏斜,以调整由目标时钟210生成的在测量循环时间期间导出占空比320的目标时钟信号。如前所述,在一些示例中,由样本计数器260提供的SampleCount可以是11,并且在一些示例中,由总样本计数器270提供的TotalSamples可以是21。从而,测量的占空比为11/21 = 0.523或52.3%。对于这个示例,占空比误差可以是(52.3%-50%)或2.3%。此外,在一些示例中,PercentToDCASteps可以被确定为具有1.5的值,以反映占空比校正电路115的DCA步长。从而,使用示例等式1,新的DCACode = OldDCACode –(2.3%*1.5)。逻辑流程然后移动回到框410,并且然后占空比调整器240使用新的DCACode来调整每位延迟偏斜,并且发起另一个占空比测量,以查看是否需要任何进一步的调整来使占空比320在50% DutyCycleTarget的0.5%之内。
在框470,占空比调整器240使用OldDCACode来维持先前对于上升和下降码使用的每位延迟偏斜,以潜在地将占空比320保持在50% DutyCycleTarget的0.5%之内。逻辑流程400然后结束。
图5图示了示例系统500。在一些示例中,如图5中所示,系统500包括计算装置中的存储器子系统的元件和处理器。处理器510表示可以执行操作系统(OS)和应用的计算平台的处理单元,其能够被统称为存储器子系统的主机或用户。OS和应用执行导致存储器访问的操作。处理器510能够包括一个或多个单独的处理器。每个单独的处理器可以包括单个处理单元、多核处理单元、或组合。处理单元可以是主处理器(例如中央处理单元(CPU))、外围处理器(例如图形处理单元(GPU))、或组合。存储器访问也可以由诸如网络控制器或硬盘控制器之类的装置发起。这样的装置可以与一些系统中的处理器集成、或经由总线(例如,PCIexpress总线)附连到处理器、或组合。系统500可以被实现为片上系统(SOC),或者可以用独立组件来实现。
如图5中所示,存储器控制器520可以表示系统500的一个或多个存储器控制器电路或装置。此外,存储器控制器520可以包括响应于处理器510对操作的执行而生成存储器访问命令的特征和/或逻辑。在一些示例中,存储器控制器520可以访问一个或多个存储器装置540。(一个或多个)存储器装置540可以通过不同通道来组织和管理,其中这些通道可以经由总线和信号线并行耦合到多个存储器装置。每个通道可以独立地可操作。从而,可以独立地访问和控制单独的通道,并且对于每个通道,定时、数据传输、命令和地址交换以及其它操作可以是单独的。
根据一些示例,每个通道的设置由单独的模式寄存器或编程到一个或多个寄存器544或设置在一个或多个寄存器544中的其它寄存器设置来控制。对于这些示例,存储器控制器520可以管理单独的存储器通道,尽管系统500可以被配置成具有由单个存储器控制器管理的多个通道,或者在单个通道上具有多个存储器控制器。在一个示例中,存储器控制器520是处理器510的一部分,例如存储器控制器520的逻辑和/或特征在与处理器510相同的封装空间中被实现或者在相同的管芯上被实现。
类似于系统100的存储器控制器110,存储器控制器520包括用于耦合到存储器总线的I/O接口电路522。如图5中所示,I/O接口电路522包括至少用于信号线的驱动器/收发器。I/O接口电路522可以包括驱动器、接收器、收发器、端接、时钟或其它电路或电路的组合,以在存储器控制器520和(一个或多个)存储器装置540之间的信号线上交换信号。信号交换包括传送或接收中的至少一种。虽然显示为将来自存储器控制器520的I/O接口电路522耦合到(一个或多个)存储器装置540的I/O接口电路542,但是将理解,在其中并行访问(一个或多个)存储器装置540的群组的系统500的实现中,多个存储器装置能够包括到存储器控制器520的相同接口的I/O接口电路。在包括一个或多个存储器模块570的系统500的实现中,除了用于(一个或多个)存储器装置540的接口硬件之外,I/O接口电路542还可以包括(一个或多个)存储器模块570的接口硬件。其它存储器控制器520可以包括到(一个或多个)存储器装置540中的一个或多个存储器装置的多个单独的接口。
在一些示例中,类似于图1中所示的存储器控制器110,存储器控制器520可以经由多个信号线与(一个或多个)存储器装置540耦合。多个信号线可以包括至少CLK 532、CMD534、DQ 536以及零个或更多个其它信号线538。
根据一些示例,独立通道可以具有不同的时钟信号、命令总线、数据总线和其它信号线。对于这些示例,在独立接口路径可以被认为是单独总线的意义上,系统500可以被认为具有多个“总线”。在一些示例中,CMD 534表示与多个存储器装置540并行共享的信号线。在其它示例中,多个存储器装置共享CMD 534的编码命令信号线,并且各自可以具有单独的芯片选择(CS_n)信号线来选择各个(一个或多个)存储器装置540。
在一些示例中,存储器控制器520和(一个或多个)存储器装置540之间的总线包括经由包括在CMD 534中的信号线路由的附属命令总线以及用于承载经由包括在DQ 536中的信号线路由的写入和读取数据的附属数据总线。在一些示例中,CMD 534和DQ 536可以分别包括双向线。在其它示例中,DQ 536可以包括用于从主机向存储器写入数据的单向写入信号线以及用于从存储器向主机读取数据的单向线。
根据一些示例,根据选择的存储器技术和系统设计,包括在其它538中的信号线可以扩充存储器总线或附属总线。例如,用于DQS的选通线信号线。基于系统500的设计或存储器技术实现,存储器总线可以具有包括在(一个或多个)存储器装置540中的每个存储器装置的更多或更少带宽。存储器总线可以支持包括在(一个或多个)存储器装置540中的存储器装置,所述存储器装置具有或者x32接口、x16接口、x8接口或者其它接口。约定“xW”,其中W是整数,该整数是指(一个或多个)存储器装置540的接口的接口尺寸或宽度,其表示用于与存储器控制器520交换数据的信号线的数量。这些存储器装置的接口尺寸可以是关于系统500中的每个通道可以同时使用多少存储器装置或者多少存储器装置可以并行耦合到相同信号线的控制因素。在一些示例中,高带宽存储器装置、宽接口存储器装置或堆叠存储器装置或组合可以实现更宽的接口,例如x128接口、x256接口、x512接口、x1024接口或其它数据总线接口宽度。
在一些示例中,(一个或多个)存储器装置540和存储器控制器520经由DQ 536中包括的信号线以突发或连续数据传输序列在数据总线上交换数据。突发对应于传输循环的数量,其与总线频率相关。给定的传输循环可以是在同一时钟或选通信号边沿上(例如,在上升沿上)发生的传输的整个时钟循环。在一些示例中,每个时钟循环(指的是系统时钟循环)可以被分成多个单位间隔(UI),其中每个UI是一个传输循环。例如,双倍数据速率传输在时钟信号的两个边沿(例如,上升和下降)上触发。突发能够持续所配置数量的UI,其能够是存储在寄存器中的配置,或者在运行中(on the fly)被触发。例如,八个连续传输周期的序列能够被认为是突发长度8(BL8),并且每个(一个或多个)存储器装置540能够在每个UI上传输数据。从而,在BL8上操作的x8存储器装置能够传输64位数据(8个数据信号线乘以在突发上每线传输的8个数据位)。将理解,这个简单的示例仅仅是说明性的而不是限制性的。
根据一些示例,(一个或多个)存储器装置540表示系统500的存储器资源。对于这些示例,包括在(一个或多个)存储器装置540中的每个存储器装置是单独的存储器管芯。单独的存储器装置可以与每个装置或管芯的多个(例如,2个)通道通过接口连接。(一个或多个)存储器装置540的给定存储器装置可以包括I/O接口电路542,并且可以具有由与给定存储器装置的实现或配置关联的接口宽度确定的带宽(例如,x16或x8或一些其它接口带宽)。I/O接口电路542可以使存储器装置能够与存储器控制器520通过接口连接。I/O接口电路542可以包括硬件接口,并且与存储器控制器520的I/O接口电路522协调操作。
在一些示例中,多个存储器装置540可以并行连接到相同的命令和数据总线(例如,经由CMD 534和DQ 536)。在其它示例中,多个存储器装置540可以并行连接到相同的命令总线,但是连接到不同的数据总线。例如,系统500可以被配置有并行耦合的多个存储器装置540,其中每个存储器装置响应于命令,并访问每个存储器装置内部的存储器资源560。对于写入操作,(一个或多个)存储器装置540的各个存储器装置可以写入整体数据字的一部分,并且对于读取操作,各个存储器装置可以提取整体数据字的一部分。作为非限制性示例,特定存储器装置可以分别提供或接收用于读取或写入操作的128位数据字的8位,或256位数据字的8位或16位(取决于x8或x16装置)。该字的剩余位可以由其它存储器装置并行地提供或接收。
根据一些示例,(一个或多个)存储器装置540可以被直接布置在计算装置的母板或主机系统平台(在其上布置了处理器510)上。(一个或多个)存储器装置540可以被组织到(一个或多个)存储器模块570中。在一些示例中,(一个或多个)存储器模块570可以表示一个或多个DIMM。在一些示例中,(一个或多个)存储器模块570可以表示共享访问或控制电路的至少一部分的多个存储器装置的其它组织或配置,所述访问或控制电路能够是与主机系统平台分离的电路、分离的装置或分离的板。在一些示例中,(一个或多个)存储器模块570可以包括多个存储器装置540,并且(一个或多个)存储器模块570可以包括对到布置在它们上的所包括的(一个或多个)存储器装置540的多个单独通道的支持。
在一些示例中,(一个或多个)存储器装置540可以被结合到与存储器控制器520相同的封装中。例如,结合在多芯片模块(MCM)、具有硅通孔(TSV)的封装叠加或其它技术或组合中。类似地,在一些示例中,(一个或多个)存储器装置540可以被结合到(一个或多个)存储器模块570中,所述存储器模块570本身可以被结合到与存储器控制器520相同的封装中。将领会,对于这些和其它示例,存储器控制器520可以是处理器510的一部分或者与处理器510集成。
如图5中所示,在一些示例中,(一个或多个)存储器装置540包括存储器资源560。存储器资源560可以表示针对数据的存储器位置或存储位置的各个阵列。存储器资源560可以被管理为经由字线(行)和位线(行内的各个位)控制来访问的数据的行。存储器资源560可以被组织为存储器的单独通道、排(rank)和组(bank)。通道可以指的是到(一个或多个)存储器装置540内的存储位置的独立控制路径。排可以指的是跨多个存储器装置的共同位置(例如,不同存储器装置内的相同行地址)。组可以指的是(一个或多个)存储器装置540中的给定存储器装置内的存储器位置的阵列。组可以被分成子组,其具有用于子组的至少一部分共享电路(例如,驱动器、信号线、控制逻辑),从而允许单独寻址和访问。将理解,存储器位置的通道、排、组、子组、组群组(bank group)或其它组织以及组织的组合能够在它们的应用中重叠以访问存储器资源560。例如,能够通过特定的通道访问相同的物理存储器位置作为特定的组,其也能够属于排。从而,存储器资源560的组织可以以包容性而非排他性的方式来理解。
根据一些示例,如图5中所示,(一个或多个)存储器装置540包括一个或多个寄存器544。(一个或多个)寄存器544可以表示为(一个或多个)操作存储器装置540提供配置或设置的一个或多个存储装置或存储位置。在一个示例中,(一个或多个)寄存器544可以为(一个或多个)存储器装置540提供存储位置,以存储供存储器控制器520作为控制或管理操作的一部分进行访问的数据。例如,(一个或多个)寄存器544可以包括一个或多个模式寄存器(MR)和/或可以包括一个或多个多用途寄存器。
在一些示例中,如图5中所示,(一个或多个)存储器装置540包括控制器550。控制器550可以表示(一个或多个)存储器装置540内的控制逻辑,以控制(一个或多个)存储器装置540内的内部操作。例如,控制器550对由存储器控制器520发送的命令进行解码,并且生成要执行或满足该命令的内部操作。控制器550可以被称为内部控制器,并且与主机的存储器控制器520分离。控制器550可以包括逻辑和/或特征,以基于在(一个或多个)寄存器544中指示的经编程或默认的设置来确定选择什么模式,并且基于所选择的模式来配置供访问存储器资源560的操作或其它操作的内部执行。控制器550生成控制信号来控制(一个或多个)存储器装置540内的位的路由,以针对所选择的模式提供适当的接口并将命令引导到存储器资源560的适当的存储器位置或地址。控制器550包括命令(CMD)逻辑552,其能够解码在命令和地址信号线上接收到的命令编码。从而,CMD逻辑552能够是或者包括命令解码器。用命令逻辑552,存储器装置能够识别命令并生成内部操作以执行所请求的命令。
再次参考存储器控制器520,存储器控制器520包括CMD逻辑524,其表示用于生成要发送到(一个或多个)存储器装置540的命令的逻辑和/或特征。命令的生成能够指的是在调度之前的命令,或者准备好被发送的排队命令的准备。通常,存储器子系统中的信令包括命令内的或伴随命令的用于指示或选择在其中(一个或多个)存储器装置540应该执行命令的一个或多个存储器位置的地址信息。响应于对于(一个或多个)存储器装置540的事务调度,存储器控制器520能够经由I/O接口电路522发出命令,以使(一个或多个)存储器装置540执行命令。在一些示例中,(一个或多个)存储器装置540的控制器550接收并解码经由I/O接口电路542从存储器控制器520接收的命令和地址信息。基于接收到的命令和地址信息,控制器550可以控制(一个或多个)存储器装置540内的用于执行命令的逻辑、特征和/或电路的操作的定时。控制器550可以被布置成按照针对(一个或多个)存储器装置540的标准或规范(例如定时和信令要求)来操作。存储器控制器520可以通过访问调度和控制来实现对标准或规范的遵守。
根据一些示例,存储器控制器520包括占空比校正电路515。占空比校正电路515可以类似于上面在图1、2和3中提到的占空比校正电路115,并且指的是存储器控制器520中用于针对占空比执行占空比检测和校正的电路,该占空比由用于通过I/O接口电路522路由信号的一个或多个相应目标时钟生成。
图6图示了示例系统600。在一些示例中,系统600可以是在其中存储器系统可以实现CA训练模式的计算系统。系统600表示根据本文中描述的任何示例的计算装置,并且能够是膝上型计算机、台式计算机、平板计算机、服务器、游戏或娱乐控制系统、扫描仪、复印机、打印机、路由或交换装置、嵌入式计算装置、智能电话、可穿戴装置、物联网装置或其它电子装置。
系统600包括处理器610,其为系统600提供处理、操作管理和指令的执行。处理器610能够包括任何类型的微处理器、中央处理单元(CPU)、图形处理单元(GPU)、处理核、或者用于为系统600提供处理的其它处理硬件、或者处理器的组合。处理器610控制系统600的整体操作,并且能够是或者包括一个或多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、专用集成电路(ASIC)、可编程逻辑装置(PLD)等、或者这样的装置的组合。
在一个示例中,系统600包括耦合到处理器610的接口612,其能够表示用于需要更高带宽连接的系统组件(例如存储器子系统620或图形接口组件640)的更高速度接口或高吞吐量接口。接口612表示接口电路,其能够是独立组件或集成到处理器管芯上。在存在的情况下,图形接口640通过接口连接到图形组件,以用于向系统600的用户提供视觉显示。在一个示例中,图形接口640能够驱动向用户提供输出的高清(HD)显示器。高清能够指的是具有大约100 PPI(每英寸像素)或更大的像素密度的显示器,并且能够包括诸如全HD(例如1080p)、视网膜显示器、4K(超高清或UHD)或其它之类的格式。在一个示例中,显示器能够包括触摸屏显示器。在一个示例中,图形接口640基于存储在存储器630中的数据或基于由处理器610执行的操作或基于两者来生成显示。
存储器子系统620表示系统600的主存储器,并且为要由处理器610执行的代码或要在执行例程中使用的数据值提供存储。存储器子系统620的存储器630可以包括一个或多个存储器装置,例如只读存储器(ROM)、闪速存储器、一个或多个种类的随机存取存储器(RAM)(例如DRAM)、或其它存储器装置、或这样的装置的组合。除了其它事项外,存储器630还存储和托管操作系统(OS)632,以提供用于在系统600中的指令的执行的软件平台。此外,应用634能够在来自存储器630的OS 632的软件平台上执行。应用634表示具有它们自己的操作逻辑以进行一个或多个功能的执行的程序。进程636表示向OS 632或一个或多个应用634或组合提供辅助功能的代理或例程。OS 632、应用634和进程636提供软件逻辑以提供用于系统600的功能。在一个示例中,存储器子系统620包括存储器控制器622,其是用于生成命令并向存储器630发出命令的存储器控制器。如图6中所示,存储器控制器622可以包括占空比校正电路623,其可以类似于上面在图1、2和3中提到的占空比校正电路115而起作用。将理解,存储器控制器622可能是处理器610的物理部分或者接口612的物理部分。例如,存储器控制器622能够是集成的存储器控制器,其被集成到具有处理器610的电路上。
虽然没有具体地图示,但是将理解,系统600能够包括装置之间的一个或多个总线或总线系统,例如存储器总线、图形总线、接口总线、或其它。总线或其它信号线能够将组件通信地或电气地耦合在一起,或者既通信地又电气地耦合组件。总线能够包括物理通信线、点到点连接、桥接器(bridge)、适配器、控制器、或其它电路或组合。总线能够包括例如系统总线、外围组件互连(PCI)总线、超传输(HyperTransport)或工业标准架构(ISA)总线、小型计算机系统接口(SCSI)总线、通用串行总线(USB)或电气和电子工程师协会(IEEE)标准1364总线中的一个或多个。
在一个示例中,系统600包括接口614,其能够耦合到接口612。与接口612相比,接口614能够是更低速度接口。在一个示例中,接口614表示接口电路,其能够包括独立组件和集成电路。在一个示例中,多个用户接口组件或外围组件或两者耦合到接口614。网络接口650为系统600提供通过一个或多个网络与远程装置(例如,服务器或其它计算装置)通信的能力。网络接口650能够包括以太网适配器、无线互连组件、蜂窝网络互连组件、USB(通用串行总线)、或其它基于有线或无线标准的或专有的接口。网络接口650能够与远程装置交换数据,这能够包括发送存储在存储器中的数据或者接收要存储在存储器中的数据。
在一个示例中,系统600包括一个或多个输入/输出(I/O)接口660。(一个或多个)I/O接口660能够包括一个或多个接口组件,通过所述接口组件,用户与系统600交互(例如,音频、字母数字、触觉/触摸、或其它接口连接(interfacing))。外围设备接口670能够包括上面没有具体地提到的任何硬件接口。外围设备一般是指从属地连接到系统600的装置。从属连接是这样的连接,在该连接中系统600提供在其上执行操作并且用户与其交互的软件平台或硬件平台或两者。
在一个示例中,系统600包括用于以非易失性方式存储数据的存储子系统680。在一个示例中,在某些系统实现中,存储子系统680的至少某些组件能够与存储器子系统620的组件重叠。存储子系统680包括(一个或多个)存储装置684,其能够是或者包括用于以非易失性方式存储大量数据的任何传统介质,例如一个或多个基于磁、固态或光的盘、或组合。(一个或多个)存储装置684以持久状态保持代码或指令和数据686(即,尽管到系统600的电力中断,但值仍被保留)。(一个或多个)存储装置684能够一般被认为是“存储器”,但是存储器630通常是用于向处理器610提供指令的执行或操作存储器。尽管(一个或多个)存储装置684是非易失性的,但存储器630能够包括易失性存储器(即,如果对系统600中断了电力,则数据的值或状态是不确定的)。在一个示例中,存储子系统680包括用于与(一个或多个)存储装置684通过接口连接的控制器682。在一个示例中,控制器682是处理器610或接口614的物理部分,或者能够包括处理器610和接口614两者中的电路或逻辑。
电源602向系统600的组件提供电力。更具体地说,电源602通常通过接口连接到系统600中的一个或多个电力供应604,以向系统600的组件提供电力。在一个示例中,电力供应604包括用于插入到壁装电源插座(wall outlet)中的AC到DC(交流到直流)适配器。这样的AC电力能够是可再生能源(例如太阳能)电源602。在一个示例中,电源602包括DC电源,例如外部AC到DC转换器。在一个示例中,电源602或电力供应604包括无线充电硬件以经由接近充电场进行充电。在一个示例中,电源602能够包括内部电池或者燃料电池源。
图7图示了示例装置700。在一些示例中,装置700可以是在其中存储器系统可以实现CA训练模式的移动装置。装置700表示移动计算装置,例如计算平板、移动电话或智能电话、无线使能的电子阅读器、可穿戴计算装置、物联网装置或其它移动装置、或嵌入式计算装置。将理解,通常示出了组件中的某些组件,并且在装置700中没有示出这样的装置的所有组件。
装置700包括处理器710,其执行装置700的主要处理操作。处理器710能够包括一个或多个物理装置,例如微处理器、应用处理器、微控制器、可编程逻辑装置或其它处理装置。由处理器710执行的处理操作包括操作平台或操作系统(在其上执行应用和装置功能)的执行。处理操作包括与和人类用户或者和其它装置的I/O(输入/输出)相关的操作、与电力管理相关的操作、与将装置700连接到另一装置相关的操作、或组合。处理操作还能够包括与音频I/O、显示I/O或其它接口连接或组合相关的操作。处理器710能够执行存储在存储器中的数据。处理器710能够写入或编辑存储在存储器中的数据。
在一个示例中,装置700包括一个或多个传感器712。传感器712表示到外部传感器的接口或嵌入式传感器、或组合。传感器712使装置700能够监测或检测在其中实现了装置700的环境或装置的一个或多个条件。传感器712能够包括环境传感器(例如温度传感器、运动检测器、光检测器、相机、化学传感器(例如,一氧化碳、二氧化碳或其它化学传感器))、压力传感器、加速度计、陀螺仪、医学或生理学传感器(例如,生物传感器、心率监测器、或用于检测生理属性的其它传感器)、或其它传感器、或组合。传感器712还能够包括用于生物识别(biometric)系统(例如指纹识别系统、面部检测或识别系统、或者检测或识别用户特征的其它系统)的传感器。传感器712应该被广泛地理解,并且不限制在可能用装置700实现的许多不同类型的传感器上。在一个示例中,一个或多个传感器712经由与处理器710集成的前端电路耦合到处理器710。在一个示例中,一个或多个传感器712经由装置700的另一组件耦合到处理器710。
在一个示例中,装置700包括音频子系统720,其表示与向计算装置提供音频功能关联的硬件(例如,音频硬件和音频电路)和软件(例如,驱动器、编解码器)组件。音频功能能够包括扬声器或耳机输出,以及麦克风输入。用于这样的功能的装置能够被集成到装置700中或者连接到装置700。在一个示例中,用户通过提供由处理器710接收和处理的音频命令来与装置700交互。
显示子系统730表示硬件(例如,显示装置)和软件组件(例如,驱动器),它们提供视觉显示以用于呈现给用户。在一个示例中,显示器包括触觉组件或触摸屏元件,以供用户与计算装置交互。显示子系统730包括显示接口732,其包括用于向用户提供显示的特定屏幕或硬件装置。在一个示例中,显示接口732包括与处理器710(例如图形处理器)分离的逻辑,以执行与显示相关的至少一些处理。在一个示例中,显示子系统730包括向用户提供输出和输入两者的触摸屏装置。在一个示例中,显示子系统730包括向用户提供输出的高清(HD)显示器。高清能够指的是具有大约100 PPI(每英寸像素)或更大的像素密度的显示器,并且能够包括诸如全HD(例如1080p)、视网膜显示器、4K(超高清或UHD)或其它之类的格式。在一个示例中,显示子系统包括触摸屏显示器。在一个示例中,显示子系统730基于存储在存储器中的数据或基于由处理器710执行的操作或基于两者来生成显示信息。
I/O控制器740表示与和用户交互相关的硬件装置和软件组件。I/O控制器740能够操作以管理作为音频子系统720或显示子系统730或两者的一部分的硬件。此外,I/O控制器740图示了用于连接到装置700的附加装置的连接点,通过装置700,用户可能与系统交互。例如,能够附连到装置700的装置可能包括麦克风装置、扬声器或立体声系统、视频系统或其它显示装置、键盘或键区装置、或者供特定应用使用的其它I/O装置(例如读卡器或其它装置)。
如上面所提到的,I/O控制器740能够与音频子系统720或显示子系统730或两者交互。例如,通过麦克风或其它音频装置的输入能够为装置700的一个或多个应用或功能提供输入或命令。此外,能够提供音频输出代替显示输出,或除了显示输出之外,还能够提供音频输出。在另一个示例中,如果显示子系统包括触摸屏,则显示装置还充当输入装置,其能够至少部分地由I/O控制器740管理。在装置700上还能够存在附加按钮或开关以提供由I/O控制器740管理的I/O功能。
在一个示例中,I/O控制器740管理诸如加速度计、相机、光传感器或其它环境传感器、陀螺仪、全球定位系统(GPS)、或能够被包括在装置700或传感器712中的其它硬件之类的装置。输入能够是直接用户交互的一部分,以及向系统提供环境输入以影响它的操作(例如对噪声滤波、针对亮度检测调整显示器、对相机应用闪光灯(flash)、或其它特征)。
在一个示例中,装置700包括电力管理750,其管理电池电力使用、电池的充电、以及与电力节省操作相关的特征。电力管理750管理来自电源752的电力,该电源752向装置700的组件提供电力。在一个示例中,电源752包括用于插入到壁装电源插座中的AC到DC(交流到直流)适配器。这样的AC电力能够是可再生能源(例如,太阳能、基于运动的电力)。在一个示例中,电源752仅包括DC电力,其能够由DC电源(例如外部AC到DC转换器)提供。在一个示例中,电源752包括无线充电硬件以经由接近充电场进行充电。在一个示例中,电源752能够包括内部电池或者燃料电池源。
存储器子系统760包括用于将信息存储在装置700中的(一个或多个)存储器装置762。存储器子系统760能够包括非易失性(如果到存储器装置的电力被中断,则状态不改变)或易失性(如果到存储器装置的电力被中断,则状态不确定)存储器装置、或组合。存储器子系统760能够存储应用数据、用户数据、音乐、照片、文档、或其它数据、以及与装置700的功能和应用的执行相关的系统数据(无论是长期的还是临时的)。在一个示例中,存储器子系统760包括存储器控制器764(其也可能被认为是装置700的控制的一部分,并且可能潜在地被认为是处理器710的一部分)。存储器控制器764包括调度器以生成并发出命令以控制对(一个或多个)存储器装置762的访问。如图7中所示,存储器控制器764可以包括占空比校正电路765,其可以类似于上面在图1、2和3中提到的占空比校正电路115而起作用。
连接性770包括硬件装置(例如,无线或有线连接器和通信硬件、或者有线和无线硬件的组合)和软件组件(例如,驱动器、协议栈),以使装置700能够与外部装置通信。外部装置可能是单独的装置,例如其它计算装置、无线接入点或基站、以及外围设备(例如耳麦、打印机或其它装置)。在一个示例中,装置700与外部装置交换数据以用于存储在存储器中或者用于显示在显示装置上。交换的数据能够包括要被存储在存储器中的数据、或者已经存储在存储器中的数据,以读取、写入或编辑数据。
连接性770能够包括多种不同类型的连接性。概括地说,装置700被图示有蜂窝连接性772和无线连接性774。蜂窝连接性772一般指的是由无线载波提供的蜂窝网络连接性,例如经由GSM(全球移动通信系统)或变型或衍生物、CDMA(码分多址)或变型或衍生物、TDM(时分复用)或变型或衍生物、LTE(长期演进——也称为“4G”)或其它蜂窝服务标准来提供。无线连接性774是指不是蜂窝的无线连接性,并且能够包括个域网(例如蓝牙)、局域网(例如WiFi)、或广域网(例如WiMax)、或其它无线通信、或组合。无线通信是指通过穿过非固体介质的已调制电磁辐射使用的数据的传输。有线通信通过固体通信介质发生。
外围设备连接780包括硬件接口和连接器、以及软件组件(例如,驱动器、协议栈),以进行外围设备连接。将理解,装置700可能是到其它计算装置的外围设备(peripheraldevice)(“去往”782)以及具有连接到它的外围设备(“来自”784)两者。装置700通常具有“对接(docking)”连接器以连接到其它计算装置,以用于诸如管理(例如,下载、上传、改变、同步)装置700上的内容之类的目的。此外,对接连接器能够允许装置700连接到某些外围设备,所述外围设备允许装置700控制例如到视听或其它系统的内容输出。
除了专有对接连接器或其它专有连接硬件之外,装置700还能够经由公共或基于标准的连接器进行外围设备连接780。公共类型能够包括通用串行总线(USB)连接器(其能够包括许多不同硬件接口中的任何一个)、包括迷你显示端口(MDP)的显示端口、高清多媒体接口(HDMI)、火线(Firewire)、或其它类型。
至少一个示例的一个或多个方面可以由存储在至少一个机器可读介质上的代表性指令来实现,该代表性指令表示处理器内的各种逻辑,该代表性指令当被机器、计算装置或系统读取时,使得机器、计算装置或系统制造用于执行本文中描述的技术的逻辑。这样的表示称为“IP核”并且可能类似于IP块。IP核可以被存储在有形的机器可读介质上,并且被提供给各种客户或生产设施,以加载到实际上制造逻辑或处理器的制造机器中。
各种示例可以使用硬件元件、软件元件或两者的组合来实现。在一些示例中,硬件元件可以包括装置、组件、处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等等)、集成电路、ASIC、PLD、DSP、FPGA、存储器单元、逻辑门、寄存器、半导体装置、芯片、微芯片、芯片集等等。在一些示例中,软件元件可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、API、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。确定是否使用硬件元件和/或软件元件来实现示例可以根据任何数量的因素而变化,所述因素例如期望的计算速率、功率级、耐热性、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其它设计或性能约束,如针对给定实现所期望的那样。
一些示例可以包括制品或至少一个计算机可读介质。计算机可读介质可以包括用于存储逻辑的非暂时性存储介质。在一些示例中,非暂时性存储介质可以包括能够存储电子数据的一种或多种类型的计算机可读存储介质,包括易失性存储器或非易失性存储器、可移除或不可移除存储器、可擦除或不可擦除存储器、可写或可重写存储器等等。在一些示例中,逻辑可以包括各种软件元件,例如软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、API、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。
根据一些示例,计算机可读介质可以包括用于存储或维持指令的非暂时性存储介质,所述指令当被机器、计算装置或系统执行时,使得机器、计算装置或系统执行根据所描述示例的方法和/或操作。指令可以包括任何合适类型的代码,例如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码等等。指令可以根据预定义计算机语言、方式或语法来实现,以用于指示机器、计算装置或系统执行某个功能。指令可以使用任何合适的高级、低级、面向对象、可视、编译和/或解释编程语言来实现。
一些示例可以使用表述“在一个示例中”或“示例”连同它们的派生词来描述。这些术语意味着,结合示例描述的特定特征、结构或特性被包括在至少一个示例中。在说明书中的各种地方中的短语“在一个示例中”的出现不一定全部指的是同一示例。
一些示例可以使用表述“耦合的”和“连接的”连同它们的派生词来描述。这些术语不一定旨在作为彼此的同义词。例如,使用术语“连接的”和/或“耦合的”的描述可以指示两个或更多个元件彼此直接物理或电接触。然而,术语“耦合的”或“与……耦合”也可能意味着,两个或更多个元件彼此不直接接触,但仍彼此协作或交互。
就本文中描述了各种操作或功能来说,它们能够被描述或定义为软件代码、指令、配置和/或数据。内容能够是直接可执行的(“对象”或“可执行的”形式)、源代码、或差异代码(“Δ”或“补丁”代码)。本文中所描述的事物的软件内容能够经由具有在其上存储的内容的制品、或经由操作通信接口以经由通信接口发送数据的方法来提供。机器可读存储介质能够使机器执行所描述的功能或操作,并且包括存储以由机器(例如,计算装置、电子系统等)可访问的形式的信息的任何机构,例如可记录/不可记录介质(例如,只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪速存储器装置等)。通信接口包括通过接口连接到硬连线、无线、光等介质中的任何一个以与另一装置(例如存储器总线接口、处理器总线接口、因特网连接、盘控制器等)通信的任何机构。通信接口能够通过提供配置参数和/或发送信号来配置,以准备通信接口来提供描述软件内容的数据信号。通信接口能够经由发送到通信接口的一个或多个命令或信号来访问。
以下示例涉及本文中公开的技术的附加示例。
示例1。一种示例设备可以包括采样时钟,所述采样时钟用于通过基于参考时钟频率的大于1的质数比对目标时钟信号进行周期性采样来测量占空比,所述参考时钟频率被用于设置测量循环时间,在所述测量循环时间内要测量所述占空比。所述设备还可以包括占空比校正逻辑。所述占空比校正逻辑可以基于在所述测量循环时间期间测量的占空比来确定与可编程目标占空比相比的占空比误差。所述占空比校正逻辑还可以至少部分地基于所述占空比误差来调整由所述目标时钟信号生成的所述占空比。
示例2。如示例1所述的设备,要基于所述参考时钟频率的所述大于1的质数比进行采样的所述目标时钟信号可以包括正在所述测量循环时间内在多个离散的、等间隔的采样点处进行采样的所述目标时钟信号。
示例3。如示例1所述的设备还可以包括所述占空比校正逻辑,所述占空比校正逻辑用于至少部分地基于用于对所述占空比误差的校正进行缩放的占空比调整步长和所述占空比误差的大小来调整所述占空比。
示例4。如示例1所述的设备,所述设备可以是存储器控制器,所述存储器控制器包括输入/输出接口电路,所述输入/输出接口电路被布置成与存储器装置耦合。对于这些示例,所述占空比可以由所述目标时钟信号生成,以便于通过所述输入/输出接口电路的至少一部分来传输数据、时钟、选通或控制信号。
示例5。如示例4所述的设备,所述输入/输出接口电路的所述至少一部分可以是DQ接口或DQ选通接口。
示例6。如示例4所述的设备,所述存储器装置可以是SDRAM装置。对于这些示例,所述SDRAM装置可以被布置成在所述目标时钟信号的上升沿和下降沿两者上用数据的双倍数据速率传输来操作。
示例7。如示例1所述的设备,所述目标时钟信号可以由第一PLL时钟生成,并且所述采样时钟可以是锁频环时钟、第二PLL时钟或倍增延迟锁定环时钟。
示例8。如示例1所述的设备,用于通过对所述目标时钟信号进行周期性采样来测量所述占空比的所述采样时钟还可以包括具有以下采样速率的所述采样时钟:所述采样速率避免至少两个目标时钟信号频率谐波下采样到所述参考时钟的相同基带频率。
示例9。一种示例方法可以包括使用采样时钟以通过基于参考时钟频率的大于1的质数比对目标时钟信号进行周期性采样来测量占空比,所述参考时钟频率被用于设置测量循环时间,在所述测量循环时间内要测量所述占空比。所述方法还可以包括基于在所述测量循环时间期间测量的占空比来确定与可编程目标占空比相比的占空比误差。所述方法还可以包括至少部分地基于所述占空比误差来调整由所述目标时钟信号生成的所述占空比。
示例10。如示例9所述的方法还可以包括在所述测量循环时间内经由多个离散的、等间隔的采样点基于所述大于1的质数比来对所述目标时钟信号进行采样。
示例11。如示例9所述的方法还可以包括至少部分地基于用于对所述占空比误差的校正进行缩放的占空比调整步长和所述占空比误差的大小来调整所述占空比。
示例12。如示例9所述的方法,所述方法由存储器控制器实现,所述存储器控制器包括输入/输出接口电路,所述输入/输出接口电路被布置成与存储器装置耦合,由所述目标时钟信号生成的所述占空比用于便于通过所述输入/输出接口电路的至少一部分来传输数据、时钟、选通或控制信号。
示例13。如示例12所述的方法,所述输入/输出接口电路的所述至少一部分可以是DQ接口或DQ选通接口。
示例14。如示例12所述的方法,所述存储器装置可以是SDRAM装置,所述SDRAM装置被布置成在所述目标时钟信号的上升沿和下降沿两者上用数据的双倍数据速率传输来操作。
示例15。如示例9所述的方法,包括由锁相环时钟生成的所述目标时钟信号,并且所述采样时钟是锁频环时钟。
示例16。如示例9所述的方法,用于通过对所述目标时钟信号进行周期性采样来测量所述占空比的所述采样时钟还可以包括具有以下采样速率的所述采样时钟:所述采样速率避免至少两个目标时钟信号频率谐波下采样到所述参考时钟的相同基带频率。
示例17。一个示例,至少一种机器可读介质可以包括多个指令,响应于被系统执行的所述多个指令可以使所述系统执行根据示例9至16中任一项的方法。
示例18。一种示例设备可以包括用于执行如示例9至16中任一项所述的方法的装置。
示例19。一种示例系统可以包括存储器装置和存储器控制器。所述存储器控制器可以包括输入/输出接口电路,所述输入/输出接口电路被布置成与所述存储器装置耦合。所述存储器控制器还可以包括目标时钟,所述目标时钟用于生成用于导出占空比的目标时钟信号。所述存储器控制器还可以包括采样时钟,所述采样时钟用于通过基于参考时钟频率的大于1的质数比对所述目标时钟信号进行周期性采样来测量所述占空比,所述参考时钟频率被用于设置测量循环时间,在所述测量循环时间内要对所述目标时钟信号进行采样。所述存储器控制器还可以包括占空比校正逻辑,所述占空比校正逻辑用于基于在所述测量循环时间期间测量的占空比来确定与可编程目标占空比相比的占空比误差,并且至少部分地基于所述占空比误差来调整由所述目标时钟信号导出的所述占空比。
示例20。如示例19所述的系统,要基于所述参考时钟频率的所述大于1的质数比进行采样的所述目标时钟信号还可以包括要在所述测量循环时间内在多个离散的、等间隔的采样点处进行采样的所述目标时钟信号。
示例21。如示例19所述的系统还可以包括所述占空比校正逻辑,所述占空比校正逻辑用于至少部分地基于用于对所述占空比误差的校正进行缩放的占空比调整步长和所述占空比误差的大小来调整所述占空比。
示例22。如示例19所述的系统,所述占空比可以由所述目标时钟信号生成,以便于通过所述输入/输出接口电路的至少一部分来传输数据、时钟、选通或控制信号。
示例23。如示例19所述的系统,所述输入/输出接口电路的所述至少一部分可以是DQ接口或DQ选通接口。
示例24。如示例22所述的系统,所述存储器装置可以是SDRAM装置。所述SDRAM装置可以被布置成在所述目标时钟信号的上升沿和下降沿两者上用数据的双倍数据速率传输来操作。
示例25。如示例19所述的系统,所述目标时钟可以是第一PLL时钟,并且所述采样时钟可以是锁频环时钟、第二PLL时钟或倍增延迟锁定环时钟。
示例26。如示例19所述的系统,用于通过对所述目标时钟信号进行周期性采样来测量所述占空比的所述采样时钟进一步还可以包括具有以下采样速率的所述采样时钟:所述采样速率避免至少两个目标时钟信号频率谐波下采样到所述参考时钟的相同基带频率。
要强调的是,提供本公开的摘要以遵守37 C.F.R. 1.72(b)节,要求将允许读者快速确定本技术公开的性质的摘要。在以下理解的情况下提交它:它将不被用于解释或限制权利要求书的范围或含义。此外,在前述具体实施方式中能够看出,各种特征被一起组合在单个示例中,以用于使本公开流线化的目的。这个公开的方法不要被解释为反映以下意图:所要求保护的示例要求比每个权利要求中明确阐述的特征更多的特征。而是,如以下权利要求书所反映的,发明主题在于少于单个公开的示例的所有特征。从而,以下权利要求书由此被结合到具体实施方式中,其中每个权利要求独立作为单独的示例。在所附权利要求书中,术语“包括”和“在其中”分别被用作相应术语“包括”和“其中”的简明英语等同物。而且,术语“第一”、“第二”、“第三”等等只是被用作标记,并且不旨在对它们的对象施加数字要求。
尽管已经以特定于结构特征和/或方法动作的语言描述了本主题,但是要理解,在所附权利要求书中定义的主题不一定限于上面描述的特定特征或动作。而是,上面描述的特定特征和动作被公开为实现权利要求书的示例形式。
Claims (25)
1.一种设备,包括:
采样时钟,所述采样时钟用于通过基于参考时钟频率的大于1的质数比对目标时钟信号进行周期性采样来测量占空比,所述参考时钟频率被用于设置测量循环时间,在所述测量循环时间内要测量所述占空比;以及
占空比校正逻辑,所述占空比校正逻辑用于:
基于在所述测量循环时间期间测量的占空比来确定与可编程目标占空比相比的占空比误差;以及
至少部分地基于所述占空比误差来调整由所述目标时钟信号生成的所述占空比。
2.如权利要求1所述的设备,要基于所述参考时钟频率的所述大于1的质数比进行采样的所述目标时钟信号包括要在所述测量循环时间内在多个离散的、等间隔的采样点处进行采样的所述目标时钟信号。
3.如权利要求1所述的设备,进一步包括所述占空比校正逻辑,所述占空比校正逻辑用于至少部分地基于用于对所述占空比误差的校正进行缩放的占空比调整步长和所述占空比误差的大小来调整所述占空比。
4.如权利要求1所述的设备,所述设备包括存储器控制器,所述存储器控制器包括输入/输出接口电路,所述输入/输出接口电路被布置成与存储器装置耦合,由所述目标时钟信号生成的所述占空比用于便于通过所述输入/输出接口电路的至少一部分来传输数据、时钟、选通或控制信号。
5.如权利要求4所述的设备,所述输入/输出接口电路的所述至少一部分包括DQ接口或DQ选通接口。
6.如权利要求4所述的设备,所述存储器装置包括同步动态随机存取存储器(SDRAM)装置,所述SDRAM装置被布置成在所述目标时钟信号的上升沿和下降沿两者上用数据的双倍数据速率传输来操作。
7.如权利要求1所述的设备,包括由第一锁相环(PLL)时钟生成的所述目标时钟信号,并且所述采样时钟是锁频环时钟、第二PLL时钟或倍增延迟锁定环时钟。
8.如权利要求1所述的设备,用于通过对所述目标时钟信号进行周期性采样来测量所述占空比的所述采样时钟进一步包括具有以下采样速率的所述采样时钟:所述采样速率避免至少两个目标时钟信号频率谐波下采样到所述参考时钟的相同基带频率。
9.一种方法,包括:
使用采样时钟以通过基于参考时钟频率的大于1的质数比对目标时钟信号进行周期性采样来测量占空比,所述参考时钟频率被用于设置测量循环时间,在所述测量循环时间内要测量所述占空比;
基于在所述测量循环时间期间测量的占空比来确定与可编程目标占空比相比的占空比误差;以及
至少部分地基于所述占空比误差来调整由所述目标时钟信号生成的所述占空比。
10.如权利要求9所述的方法,包括在所述测量循环时间内经由多个离散的、等间隔的采样点基于所述大于1的质数比来对所述目标时钟信号进行采样。
11.如权利要求9所述的方法,进一步包括:
至少部分地基于用于对所述占空比误差的校正进行缩放的占空比调整步长和所述占空比误差的大小来调整所述占空比。
12.如权利要求9所述的方法,包括由存储器控制器实现的方法,所述存储器控制器包括输入/输出接口电路,所述输入/输出接口电路被布置成与存储器装置耦合,由所述目标时钟信号生成的所述占空比用于便于通过所述输入/输出接口电路的至少一部分来传输数据、时钟、选通或控制信号。
13.如权利要求12所述的方法,所述输入/输出接口电路的所述至少一部分包括DQ接口或DQ选通接口。
14.如权利要求12所述的方法,所述存储器装置包括同步动态随机存取存储器(SDRAM)装置,所述SDRAM装置被布置成在所述目标时钟信号的上升沿和下降沿两者上用数据的双倍数据速率传输来操作。
15.如权利要求9所述的方法,包括由锁相环时钟生成的所述目标时钟信号,并且所述采样时钟是锁频环时钟。
16.如权利要求9所述的方法,用于通过对所述目标时钟信号进行周期性采样来测量所述占空比的所述采样时钟进一步包括具有以下采样速率的所述采样时钟:所述采样速率避免至少两个目标时钟信号频率谐波下采样到所述参考时钟的相同基带频率。
17.一种设备,包括用于执行如权利要求9至16中任一项所述的方法的装置。
18.一种系统,包括:
存储器装置;以及
包括以下的存储器控制器:
输入/输出接口电路,所述输入/输出接口电路被布置成与所述存储器装置耦合;
目标时钟,所述目标时钟用于生成用于导出占空比的目标时钟信号;
采样时钟,所述采样时钟用于通过基于参考时钟频率的大于1的质数比对所述目标时钟信号进行周期性采样来测量所述占空比,所述参考时钟频率被用于设置测量循环时间,在所述测量循环时间内要对所述目标时钟信号进行采样;以及
占空比校正逻辑,所述占空比校正逻辑用于基于在所述测量循环时间期间测量的占空比来确定与可编程目标占空比相比的占空比误差,并且至少部分地基于所述占空比误差来调整由所述目标时钟信号导出的所述占空比。
19.如权利要求18所述的系统,要基于所述参考时钟频率的所述大于1的质数比进行采样的所述目标时钟信号包括要在所述测量循环时间内在多个离散的、等间隔的采样点处进行采样的所述目标时钟信号。
20.如权利要求18所述的系统,进一步包括所述占空比校正逻辑,所述占空比校正逻辑用于至少部分地基于用于对所述占空比误差的校正进行缩放的占空比调整步长和所述占空比误差的大小来调整所述占空比。
21.如权利要求18所述的系统,包括由所述目标时钟信号生成的所述占空比,以便于通过所述输入/输出接口电路的至少一部分来传输数据、时钟、选通或控制信号。
22.如权利要求18所述的系统,所述输入/输出接口电路的所述至少一部分包括DQ接口或DQ选通接口。
23.如权利要求21所述的系统,所述存储器装置包括同步动态随机存取存储器(SDRAM)装置,所述SDRAM装置被布置成在所述目标时钟信号的上升沿和下降沿两者上用数据的双倍数据速率传输来操作。
24.如权利要求18所述的系统,包括所述目标时钟是第一锁相环(PLL)时钟,并且所述采样时钟是锁频环时钟、第二PLL时钟或倍增延迟锁定环时钟。
25.如权利要求18所述的系统,用于通过对所述目标时钟信号进行周期性采样来测量所述占空比的所述采样时钟进一步包括具有以下采样速率的所述采样时钟:所述采样速率避免至少两个目标时钟信号频率谐波下采样到所述参考时钟的相同基带频率。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/716234 | 2019-12-16 | ||
US16/716,234 US11916554B2 (en) | 2019-12-16 | 2019-12-16 | Techniques for duty cycle correction |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112992218A true CN112992218A (zh) | 2021-06-18 |
Family
ID=70160451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011017915.5A Pending CN112992218A (zh) | 2019-12-16 | 2020-09-24 | 用于占空比校正的技术 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11916554B2 (zh) |
EP (1) | EP3840224A1 (zh) |
CN (1) | CN112992218A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114360598A (zh) * | 2021-12-28 | 2022-04-15 | 海光信息技术股份有限公司 | 占空比训练电路、占空比调整方法及存储器控制器 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11165431B1 (en) * | 2020-12-09 | 2021-11-02 | Analog Devices, Inc. | Techniques for measuring slew rate in current integrating phase interpolator |
US11626180B2 (en) * | 2021-05-11 | 2023-04-11 | Micron Technology, Inc. | Memory degradation detection and management |
US11651834B2 (en) | 2021-05-11 | 2023-05-16 | Micron Technology, Inc. | Memory duty-cycle skew management |
US20240112720A1 (en) * | 2022-09-30 | 2024-04-04 | Advanced Micro Devices, Inc. | Unmatched clock for command-address and data |
CN118137270B (zh) * | 2024-01-29 | 2024-09-03 | 武汉光至科技有限公司 | 一种高速高精度固体紫外激光器温控系统及方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7423465B2 (en) | 2006-01-27 | 2008-09-09 | Micron Technology, Inc. | Duty cycle error calculation circuit for a clock generator having a delay locked loop and duty cycle correction circuit |
JP5241776B2 (ja) | 2010-06-25 | 2013-07-17 | 株式会社日立製作所 | デューティ補償回路 |
US20130063191A1 (en) | 2011-09-14 | 2013-03-14 | Rambus Inc. | Methods and Circuits for Duty-Cycle Correction |
US20140002156A1 (en) * | 2012-06-27 | 2014-01-02 | Arm Limited | Duty cycle correction within an integrated circuit |
US9413339B2 (en) * | 2013-10-03 | 2016-08-09 | Samsung Display Co., Ltd. | Apparatus and method for offset cancellation in duty cycle corrections |
US9780768B2 (en) | 2015-10-30 | 2017-10-03 | Texas Instruments Incorporated | Digital clock-duty-cycle correction |
JP7223387B2 (ja) | 2018-05-24 | 2023-02-16 | ザインエレクトロニクス株式会社 | デューティ補償装置 |
-
2019
- 2019-12-16 US US16/716,234 patent/US11916554B2/en active Active
-
2020
- 2020-09-04 EP EP20194495.6A patent/EP3840224A1/en active Pending
- 2020-09-24 CN CN202011017915.5A patent/CN112992218A/zh active Pending
-
2023
- 2023-12-08 US US18/534,430 patent/US20240113700A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114360598A (zh) * | 2021-12-28 | 2022-04-15 | 海光信息技术股份有限公司 | 占空比训练电路、占空比调整方法及存储器控制器 |
Also Published As
Publication number | Publication date |
---|---|
EP3840224A1 (en) | 2021-06-23 |
US11916554B2 (en) | 2024-02-27 |
US20240113700A1 (en) | 2024-04-04 |
US20200119721A1 (en) | 2020-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11916554B2 (en) | Techniques for duty cycle correction | |
US10574241B2 (en) | Digital phase control with programmable tracking slope having a programmable linear decoder using a coarse code and a fine code to generate delay adjustments to the phase of an input signal | |
US9754650B2 (en) | Memory device and system supporting command bus training, and operating method thereof | |
EP3835963B1 (en) | Techniques for command bus training to a memory device | |
US11061590B2 (en) | Efficiently training memory device chip select control | |
US11662926B2 (en) | Input/output (I/O) loopback function for I/O signaling testing | |
US9959918B2 (en) | Memory device and system supporting command bus training, and operating method thereof | |
US10395722B2 (en) | Reading from a mode register having different read and write timing | |
US8520455B2 (en) | Method and apparatus for training a DLL in a memory subsystem | |
US9696750B2 (en) | Semiconductor devices and semiconductor systems including the same | |
US20200233821A1 (en) | Unidirectional information channel to monitor bidirectional information channel drift | |
KR102571176B1 (ko) | 듀얼 클럭 전송을 사용하는 반도체 장치 및 시스템 | |
TWI433164B (zh) | 以內部時脈存取資料之資料存取裝置與相關方法 | |
US20220393682A1 (en) | Unidirectional command bus phase drift compensation | |
US20220358061A1 (en) | Unmatched architecture compensation via digital component delay | |
US20210390991A1 (en) | Duty cycle adjuster optimization training algorithm to minimize the jitter associated with ddr5 dram transmitter |
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 |