信号驱动器摆率控制的制作方法

文档序号:11709892阅读:165来源:国知局
信号驱动器摆率控制的制作方法与工艺
本申请一般涉及存储器,并且更具体地,涉及用于实现信号驱动器摆率控制的方法和/或装置。
背景技术
:随机存取存储器(ram)为计算设备提供快速、有成本效益的易失性存储。联合电子设备工程会议(jedec)为存储设备提供存储器标准。ddr4sdram(第四代双倍数据率同步动态随机存取存储器)提供了更高的模块密度、更低的电压规格以及更高的数据率传输速度。ddr4lrdimm(低负载双列直插式存储模块)技术使用分布式缓冲的方法来实现当扩展到更高的容量和数据率传输速度时的存储器带宽效率。随着ddr存储器接口的进步,目前ddr4存储器以高达3.2千兆位每秒的数据率操作。在这样的数据率,完整性和时序变得更具有挑战和困难。随着速度更高,驱动器切换更频繁,上升/下降沿变得更尖锐并且引入更大的开关电流。开关电流引起功耗,并且引入功率噪声,其引起抖动、通过电源线寄生电阻和封装/印刷电路板寄生电感的占空比恶化。期望实现信号驱动器摆率控制。技术实现要素:本发明涉及具有第一电路和第二电路的装置。第一电路可以被配置为(i)生成多个延迟信号,每个延迟信号作为基于控制信号时移相应延迟序列的输入信号的拷贝以及(ii)基于输入信号和多个延迟信号在相应延迟序列中的每个延迟期间,改变处于活动的驱动信号 的数量以控制输出信号的摆率。第二电路可以被配置为响应于驱动信号来驱动输出信号。附图说明从以下详细的描述和所附的权利要求以及附图,本发明的实施例将变得是清楚的,其中:图1是示出示例实施例的图示;图2是示出存储器模块的框图;图3是驱动器电路的框图;图4是信号波形的图示;图5是修整块的示例实现的框图;图6是环形振荡器频率和摆率之间的关系的图示;图7是相加块的框图;图8是用于驱动器电路的命令/地址实现的信号波形的图示;图9是时钟驱动器电路的框图;图10是当每个延迟可调时相对于输入信号的输出信号的图示;图11是用于驱动器电路的时钟实现的信号波形的图示。具体实施方式本发明的实施例包括提供用于信号驱动器摆率控制的方法和/或装置,其可以(i)对制造工艺参数不敏感,(ii)消耗低功耗,(iii)提高信号完整性,(iv)根据负载标准提供在不同摆率中的选择,(v)提供摆率修整和/或(vi)在集成电路内实现。本发明的各种实施例可以提供输出信号的低功率、摆率控制的驱动器。一些实施例可以为ddr4存储器接口提供摆率不敏感延迟。一般由减小驱动器开关电流来实现低功率。为了获得提高的信号完整性性能,可以在摆率修整后根据不同dimm负载选择不同的摆率值。摆率修整一般使得摆率对驱动器电路的制造工艺不敏感。由于更慢的摆率以及减少的符号间干扰,一个结果可以是减少的反射。参考图1,显示了示出多个示例电路50a-50n的图示。在示例中,电路50a-50n可以实现为存储器模块(或板)。例如,存储器模块50a-50n可以实现为第四代双倍数据率(ddr4)同步动态随机存取存储器(sdram)模块。存储器模块50a-50n可以包括多个块(或电路)90a-90n、块(或电路)100和/或各种其它块、电路、引脚、连接器和/或迹线。电路90a-90n可以被配置为数据缓冲器。电路100可以被实现为寄存式时钟驱动器(rcd)。在示例中,rcd电路100可以被实现为ddr4rcd电路。存储器模块50a-50n的组件的类型、布置和/或数量可以变化以满足特定实现方式的设计标准。存储器模块50a-50n被示出为连接到块(或电路)20。电路20可以是存储器控制器。电路20可以位于诸如计算引擎的其它设备中。不同连接器/引脚/迹线60可以实现为将存储器模块50a-50n连接到存储器控制器20。在一些实施例中,连接器/引脚/迹线60可以是288引脚配置。在示例中,存储器控制器20可以是计算机主板的组件。在另一个示例中,存储器控制器20可以是微处理器的组件。在又一个示例中,存储器控制器20可以是中央处理单元(cpu)的组件。在示例中,连接器/引脚/迹线60中的一些可以是存储器模块50a-50n的部分并且连接器/引脚/迹线60中的一些可以是主板和/或存储器控制器20的部分。存储器模块50a-50n可以被连接到计算机主板(例如,通过引脚、迹线和/或连接器60)以在计算设备的组件和存储器模块50a-50n之间传输数据。在示例中,存储器控制器20可以被实现在主板的北桥(northbridge)上和/或被实现为微处理器(例如,intelcpu、amdcpu、armcpu等)的组件。可以根据特定实现方式的设计标准来变化存储器控制器20的实现方式。在各种实施例中,存储器模块50a-50n可以是ddr4sdram存储器模块。ddr4sdram模块50a-50n可以具有每模块512千兆字节(gb)、太字节或更高的存储器模块密度(例如,与ddr3中的每双列直插式存储模块(dimm)128gb相比)。ddr4sdram存储器模块50a-50n可以在1.2-1.35伏(v)的电压以800-2133兆赫 (mhz)之间的频率操作(例如,与在ddr3中1.5-1.65伏以400-1067mhz之间的频率相比较)。在一些实施例中,存储器模块50a-50n可以实现为低电压ddr4并且在1.05v操作。例如,与ddr3存储器相比,ddr4sdram存储器模块50a-50n可以实现节省35%的功率节省。ddr4sdram存储器模块50a-50n可以以2.13-4.26千兆传输每秒(gt/s)以及更高的速度(例如,相比于ddr3中0.8-2.13gt/s)来传输数据。可以根据特定实现的设计标准来变化存储器模块50a-50n的操作参数。在示例中,存储器模块50a-50n可以兼容联合电子设备工程会议(jedec)固态技术协会于2013年11月在弗吉尼亚阿灵顿发布的规范jesd79-4a中标题为“ddr4sdram”的ddr4规范。通过引用其全部内容将ddr4规范的合适部分并入此处。存储器模块50a-50n可以实现为ddr4低负载dimm(lrdimm)或ddr4寄存式dimm(rdimm)。数据缓冲器90a-90n可以允许存储器模块50a-50n以ddr4lrdimm配置比便相比于ddr4rdimm以较高带宽和/或较高容量操作(例如,在384gb容量,对于ddr4lrdimm为1333mt/s,相比于第一ddr4rdimm为1067mt/s)。例如,相比于ddr4rdimm配置,存储器模块50a-50n的ddr4lrdimm配置可以允许数据信号的提高的信号完整性、通过数据缓冲器90a-90n的更低的组件延迟和/或存储器控制器20的更好的智能和/或后缓冲觉察。参考图2,显示了示出存储器模块的框图50a。存储器模块50a可以是存储器模块50b-50n的代表。示出了存储器模块50a与存储器控制器20进行通信。存储器控制器20被示为是块(或电路)10的部分。电路10可以是与存储器模块50a通信的主板或其它电子组件或计算引擎。存储器模块50a可以包括一个或多个块(或电路)80a-80n和/或rcd电路100。电路80a-80n可以实现存储器模块50a的数据路径。例如,数据路径80a可以包括块82a和/或数据缓冲器90a。数据路径 80b-80n可以具有相似的实现方式。电路82a-82n每个可以实现为存储器信道。存储器信道82a-82n中的每个信道可以包括多个块(或电路)84a-84n。电路84a-84n可以实现为随机存取存储器(ram)芯片。例如,ram芯片84a-84n可以实现易失性存储器,诸如动态ram(dram)。在一些实施例中,ram芯片84a-84n可以物理地位于存储器模块50a-50n的电路板的两侧(例如,前和后)。可以根据特定实现方式的设计标准来变化存储器模块50a上的存储器的容量。存储器控制器20可以生成信号(例如,clk)以及多个控制信号(例如,addr/cmd)。信号clk和/或信号addr/cmd可以被呈现给rcd电路100。数据总线30可以连接在存储器控制器20和数据路径80a-80n之间。存储器控制器20可以生成和/或接收从数据总线30呈现/接收的数据信号(例如,dqa-dqn)。信号dqa-dqn可以被呈现给数据路径80a-80n中的每个数据路径。rcd电路100可以被配置为与存储器控制器20、存储器信道82a-82n和/或数据缓冲器90a-90n进行通信。rcd电路100可以解码从存储器控制器20接收到的指令。例如,rcd电路100可以接收寄存器命令字(rcw)。在另一示例中,rcd电路可以接收缓冲器控制字(bcw)。rcd电路100可以被配置为训练(train)dram芯片84a-84n、数据缓冲器90a-90n和/或存储器控制器20之间的命令和地址线。例如,rcw可以从存储器控制器20流向rcd电路100。rcw可以用于配置rcd电路100。可以在lrdimm和rdimm配置中均使用rcd电路100。rcd电路100可以实现32位1:2命令/地址寄存器。rcd电路100可以支持高速总线(例如,rcd电路100和数据缓冲器90a-90n之间的bcom总线)。rcd电路100可以实现自动阻抗校准。rcd电路100可以实现命令/地址奇偶校验。rcd电路100可以控制寄存器rcw回读。rcd电路100可以实现1mhz内部集成电路(i2c)总线(例如,串行总线)。到rcd电路100的输入可以是使用外部和/或内部电压的伪差分。rcd电路100的时钟输出、命令/地址输出、 控制输出和/或数据缓冲控制输出可以以组来启用并且以不同强度被独立地驱动。rcd电路100可以从存储器控制器20接收信号clk和/或信号addr/cmd。可以使用rcd电路100的各种数字逻辑组件来生成基于信号clk和/或信号addr/cmd和/或其它信号(例如,rcw)的信号。rcd电路100也可以被配置为生成一个信号(例如,clk’)以及多个信号(例如,addr’/cmd’)。例如,信号clk’可以是ddr4规范中的信号y_clk。信号clk’和/或信号addr’/cmd’可以被呈现给存储器信道82a-82n中的每个存储器信道。例如,信号clk’和/或信号addr’/cmd’可以在公共总线54上传输。rcd电路100可以生成一个或多个信号(例如,dbc)。信号dbc可以被呈现给数据缓冲器90a-90n。信号dbc可以在公共总线56(例如,数据缓冲控制总线)上传输。数据缓冲器90a-90n可以被配置为从总线56接收数据。数据缓冲器90a-90n可以被配置为向总线30生成数据或从其接收数据。总线30可以包括迹线、引脚和/或存储器控制器20和数据缓冲器90a-90n之间的连接。总线58可以承载数据缓冲器90a-90n和存储器信道82a-82n之间的数据。数据缓冲器90a-90n可以被配置为缓存总线30和58上用于写操作的数据(例如,从存储器控制器20到相应的存储器信道82a-82n传输的数据)。数据缓冲器90a-90n可以被配置为缓存总线30和58上用于读操作的数据(例如,从相应的存储器信道82a-82n到存储器控制器20传输的数据)。数据缓存区90a-90n可以以小单元(例如,4位半字节)与dram芯片84a-84n交换数据。在各种实施例中,dram芯片84a-84n可以布置在多组中(例如,两组)。对于两组/两个dram芯片84a-84b的实现方式,每组可以包含单个dram芯片84a-84n。每个dram芯片84a-84b可以通过高半字节和低半字节连接到相应的数据缓冲器90a-90n。对于两组/四个dram芯片84a-84d的实现方式,每组可以包含两个dram芯片84a-84d。一组可以通过高半字节连 接到相应的数据缓冲器90a-90n。另一组可以通过低半字节连接到相应的数据缓冲器90a-90n。对于两组/八个dram芯片84a-84h的实现方式,每组可以包含dram芯片84a-84h中的四个。一组四个dram芯片84a-84d可以通过高半字节连接到相应的数据缓冲器90a-90n。另一组四个dram芯片84e-84h可以通过低半字节连接到相应的数据缓冲器90a-90n。可以实现其它数量的组、其它数量的dram芯片以及其它数据单元大小来满足特定实现方式的设计标准。ddr4lrdimm配置可以降低大量的数据负载来提高从最大几个(例如,四个)数据负载下降到单个数据负载的存储器模块的数据总线(例如,总线30)上的信号完整性。分布式数据缓冲器90a-90n可以允许ddr4lrdimm设计为与使用集中式存储器缓冲器的ddr3lrdimm设计相比实现更短的i/o迹线长度。例如,连接到存储器信道82a-82n的更短的短截线(stub)会导致不太明显的信号反射(例如,提高的信号完整性)。在另一示例中,更短的迹线会导致延迟减小(例如,接近1.2纳秒(ns),比ddr3缓冲存储器小50%的延迟)。在又一示例中,更短的迹线可以降低i/o总线的周转时间。例如,在没有分布式数据缓冲器90a-90n的情况下(例如,在ddr3存储器应用中),迹线将被敷设到集中定位的存储器缓冲器,从而与图2中示出的ddr4lrdimm的实现方式相比,增加了高达六英寸的迹线长度。在一些实施例中,ddr4lrdimm配置可以实现数据缓冲器90a-90n中的九个。存储器模块50a-50n可以实现2毫米(mm)前侧总线迹线和后侧迹线(例如,连接器/引脚/迹线60)。通过数据缓冲器90a-90n的传播延迟可以比通过ddr3存储器缓冲器的延迟快33%(例如,导致延迟减小)。在一些实施例中,数据缓冲器90a-90n可以比用于ddr3应用中的数据缓冲器更小(例如,减小的面积参数)。参考图3,示出了rcd电路100的驱动器部分(或电路)102的示例实现的框图。驱动器电路102一般包括速率控制器块(或电路) 120以及输出驱动器块(或电路)122。速率控制器电路120可以包括多个延迟单元块(或电路)124a-124n以及预驱动器块(或电路)126。输出驱动器电路122一般包括多个缓冲器块(或电路)128a-128n。每个缓冲器电路128a-128n可以包括通过上拉电阻器rp连接至输出节点的上拉晶体管qp和通过下拉电阻器rn连接至输出节点的下拉晶体管qn。可以将缓冲器电路128a-128n的输出节点连接。终端电阻器rt可以耦接在电路122的一端(缓冲器电路128a-128n的输出节点)。终端电阻器rt的另一端可以被偏置为接近正电源电压(例如,vdd)的一半。可以由初始驱动器单元124a和预驱动器电路126接收输入信号(例如,in)。信号in可以表示从存储器控制器20传输至rcd电路100的控制信号cmd、地址信号addr和/或其它信息信号中的任何信号。可以由延迟单元124a-124n中的每个延迟单元接收摆率控制信号(例如,sr_ctl)。控制信号sr_ctl可以携带控制延迟持续时间范围内的通过每个延迟单元124a-124n的延迟的多位数字信号。可以由输出驱动器电路122生成输出信号(例如,out)。信号out一般是由并联工作的每个缓冲器电路128a-128n生成的输出信号的组合。延迟单元124a-124n可以串联连接。每个延迟单元124a-124n可以生成内部延迟信号(例如,ina-inn)。延迟信号ina可以是时移控制信号sr_ctl确定的量的输入信号的拷贝。每个随后延迟信号inb-inn可以是时移控制信号sr_ctl确定的量的前一延迟信号ina-inm的拷贝。可以由预驱动器电路126接收信号in及ina至inn。预驱动器电路126可以被配置为生成多部分(例如,n部分)正(或上拉)栅极驱动器信号(例如,pg)和多部分(例如,n部分)负(或下拉)栅极驱动器信号(例如,ng)。可以由缓冲器电路128a-128n中的晶体管qp和qn的相应的栅极接收栅极驱动器信号pg和ng的单独部分(或分量)。多个分量可以在任何给定时间活 动并且剩余的分量可以在该给定的时间不活动。每个延迟单元124a-124n可操作为将在相应的输入端接收的信号延迟以在相应的输出端呈现延迟的信号。可以由控制信号sr_ctl编程通过每个延迟单元124a-124n的延迟(或时间间隔)。在各种实施例中,可以将编程单独的施加到延迟单元124a-124n、同时施加到一些延迟单元124a-124n和/或施加到所有延迟单元124a-124n。预驱动器电路126可操作为基于信号in和ina-inn生成栅极驱动器信号pg和ng。可以在信号in和ina-inn的上升沿和/或下降沿触发预驱动器电路126。单独的栅极驱动器信号pg(例如,pg<a>至pg<n>)和ng(例如,ng<a>至ng<n>)可以单独的和/或成组地被切换。每个缓冲器电路128a-128n可操作为基于栅极驱动器信号pg和ng的相应的分量来驱动信号out。晶体管qp可以连接至正电源电压vdd。晶体管qn可以连接至接地电压(或负电源电压vss)。在各种实施例中,晶体管qn可以实现为n沟道金属氧化物半导体(nmos)晶体管。晶体管qp可以实现为p沟道金属氧化物半导体(pmos)晶体管。也可以实现为其它晶体管类型以满足特定应用的设计标准。可编程的延迟单元124a-124n可以分别生成延迟信号ina-inn。预驱动器电路126可以基于信号in和ina-inn的(上升和下降)沿切换一组或多组栅极驱动器信号pg和ng。输出驱动器电路122中的缓冲器电路128a-128n可以由栅极驱动器信号pg和ng中的相应的分量单独地控制以避免或减少下拉晶体管qn和上拉晶体管qp都同时活动(或导通或传导)。每次信号in经历过渡,预驱动器电路126可以最初关断缓冲器电路128a-128n中的活动晶体管qp/qn,并且在延迟单元时间后接通缓冲器电路128a-128n中的不活动晶体管qp/qn。关断之后再接通的序列一般降低驱动器开关电流,这会导致低功率设计并降低同时开关输出(sso)功率噪声。参考图4,示出了示例信号波形的图示。图示总体示出了信号 in和ina-inn、栅极驱动器信号pg和ng以及信号out之间的关系。可以从信号in和ina-inn的上升/下降沿生成栅极驱动器信号组的上升/下降沿。例如,如果实施了两个延迟单元124a-124b,每个栅极驱动器信号pg和ng可以具有高达九个不同的波形。通过生成不同组的栅极驱动器信号pg和ng,不同的缓冲器电路128a-128n可以在每个延迟沿被接通和关断。一般地,缓冲器电路128a-12n中的大多数活动晶体管qp/qn可以在信号in的每个沿被关断。缓冲器电路128a-128n中选择性的不活动晶体管qp/qn可以在信号ina-inn的沿被激活。因此,信号out的摆率一般由信号in和ina之间的延迟、信号ina和inb之间的延迟……以及信号inm和inn之间的延迟来确定。通过控制通过延迟单元124a-124n的相应延迟(或时间间隔)的序列,可以实现摆率可控制的驱动器。以示例的方式,从信号in处于低状态(或电压)的初始状况开始,栅极驱动器信号分量ng<a>至ng<n>可以是活动的(高电压)并且栅极驱动器信号分量pg<a>至pg<n>可以是不活动的(高电压)。栅极驱动器信号pg和ng可以将信号out驱动为低状态(例如,vol)。在时间ta,信号in可以具有上升沿。预驱动器电路126一般响应于信号in中的上升沿关断大多数活动栅极驱动器信号分量ng<a>至ng<n>。在示例中,活动缓冲器电路128a-128n下拉信号out,所以栅极驱动器信号分量ng<a>至ng<n>可以从活动(高电压)切换为不活动(低电压)以关断(或切换为不导通)相应的nmos下拉晶体管qn。在时间tb,信号ina可以具有上升沿(与通过延迟单元124a延迟的信号in的上升沿相同)。预驱动器电路126可以响应于信号ina的上升沿关断更多的拉低信号out的活动栅极驱动器信号分量ng<a>至ng<n>(如果仍有活动的话),并且接通一些不活动栅极驱动器信号分量pg<a>至pg<n>(例如,接通pg<n>)以激活 (或切换为传导)相应的上拉晶体管qp。在示例中,栅极驱动器信号pg<n>从不活动(高电压)切换为活动(低电压)以导通相应的pmos上拉晶体管qp。在时间tc,信号inb可以具有上升沿(与通过延迟单元124b延迟的信号ina的上升沿相同)。预驱动器电路126可以响应于信号inb的上升沿关断(低电压)所有剩余活动栅极驱动器信号分量ng<a>至ng<n>,并且接通(低电压)所有剩余不活动栅极驱动器信号分量pg<a>至pg<n>(例如,接通pg<a>)以接通相应的上拉晶体管qp。在时间td,信号in可以具有下降沿。预驱动器电路126一般响应于信号in的下降沿关断大多数活动栅极驱动器信号分量pg<a>至pg<n>。在示例中,活动缓冲器电路128a-128n上拉信号out,所以栅极驱动器信号分量pg<a>至pg<n>可以从活动(低电压)切换为不活动(高电压)以关断相应的上拉晶体管qp。在时间te,信号ina可以具有下降沿(与通过延迟单元124a延迟的信号in的下降沿相同)。预驱动器电路126可以响应于信号ina的下降沿关断更多的上拉信号out的活动栅极驱动器信号分量pg<a>至pg<n>(如果仍有活动的话),并且接通一些不活动栅极驱动器信号分量ng<a>至ng<n>(例如,接通ng<n>)以接通相应的下拉晶体管qn。在示例中,栅极驱动器信号ng<n>从不活动(低电压)切换为活动(高电压)以接通相应的下拉晶体管qn。在时间tf,信号inb可以具有下降沿(与通过延迟单元124b延迟的信号ina的下降沿相同)。预驱动器电路126可以响应于信号inb的下降沿关断(高电压)所有剩余活动栅极驱动器信号分量pg<a>至pg<n>,并且接通(高电压)所有剩余不活动栅极驱动器信号分量ng<a>至ng<n>(例如,接通ng<a>)以接通相应的下拉晶体管qn。在时间tf后,信号out可以被缓冲器电路128a-128n中的活动晶体管qn保持在低电压。在信号in和ina-inn的每个沿切换的栅极驱动器信号pg和 ng的数量对于不同摆率设置可以是固定的。用于24个缓冲器电路128a-128n的示例摆率设置总体地在如下的表i中示出:表iin沿ina沿inb沿切换为活动0420切换为不活动2022在信号in的沿(如,在时间ta或td),预驱动器电路126可以将0个不活动栅极驱动器信号ng/pg从不活动(关断)切换为活动(导通),并且可以将活动栅极驱动器信号pg/ng的24个中的20个(例如,大多数)从活动(导通)切换为不活动(关断)。因为只有几个活动栅极驱动器信号pg/ng,信号out可以被终端电阻器rt拉向vdd/2。当信号ina中出现沿(例如,在时间tb或te),预驱动器电路126可以将不活动栅极驱动器信号ng/pg中的四个切换为活动,并且将剩余四个活动栅极驱动器信号pg/ng中的两个切换为不活动。输出驱动器电路122可以具有以一种方式拉信号out的两个晶体管qp/qn,以及以其它方式拉信号out的四个晶体管qn/qp。在信号inb的沿(例如,在时间tc或tf),预驱动器电路126可以切换剩余栅极驱动器信号以使得信号out仅被拉向电源电压或接地之一。用于24个缓冲器电路128a-128n的另一示例摆率设置总体地在如下的表ii中示出:表iiin沿ina沿inb沿将pg切换为活动0222将ng切换为不活动2022在信号in的沿(例如,时间ta),24个活动栅极驱动器信号ng中的20个可以被切换为不活动(例如,4个晶体管qn导通并且所有24个晶体管qp关断)。在信号ina的沿(例如,时间tb),两个另外的活动栅极驱动器信号ng可以被切换为不活动并且不活动栅极驱动器信号pg中的两个可以被切换为活动(例如,2个晶体管qn导通并且2个晶体管qp导通)。在时间tb和tc之间,缓冲器电路128a-128n中只有两个可以晶体管qp和qn都接通(导通),所以在过渡期间输出驱动器电路122的内部可以消耗少量功率。在信号inb的沿(例如,时间tc),所有栅极驱动器信号ng可以被切换为不活动并且所有栅极驱动器信号pg可以被切换为活动(例如,没有晶体管qn导通并且所有24个晶体管qp导通)以完成将信号out从低驱动至高。可以生成其它表并将其加载到预驱动器电路126。对于低功率应用,输出驱动器122在任何给定时间可以具有仅一些晶体管qp和qn是活动的和/或在任何给定时间在活动和不活动之间切换不同数量的晶体管qp和qn。例如,用于24个缓冲器电路128a-128n、三个延迟单元124a-124c并且信号out从处于低电压vol开始的摆率设置总体地在如下的表iii和表iv中示出:表iiiin沿ina沿inb沿inc沿将pg切换为活动04416将ng切换为不活动20220剩余pg活动04824剩余ng活动4200总计pg和ng活动46824表ivin沿ina沿inb沿inc沿将pg切换为活动33315将ng切换为不活动101220剩余pg活动36924剩余ng活动14200总计pg和ng活动178924在低功率应用的一些实施例中,活动信号ng/pg中的多数分量可以在信号in和ina-inn的最初几个(例如,2至4)沿被切换为不活动。信号pg/ng中的零至几个(例如,1至6)不活动分量可以在信号in和ina-inn的最初几个沿被切换为活动。在一些实施例中,不活动信号pg/ng中的多数分量可以在信号ina-inn的最后几个(例如,2至4)沿被切换为活动。在压摆过渡期间,在信号in和ina-inn的一个或多个沿切换至不活动的活动信号ng/pg的数量可能与切换至活动的不活动信号pg/ng的数量不匹配。在一些实施例中,在一个或多个延迟期间活动的晶体管qp加上qn的和(例如,qp+qn<24)可能小于在过渡结束时活动晶体管qp或qn的数量(例如,qp+qn=24)。在各种实施例中,输出驱动器122可以具有小于接近10%的缓冲器电路128a-128n的晶体管qp和qn都同时导通,其试图将信号out拉至相反的电压电平voh和vol。在各种实施例中,多于两个的缓冲器电路128a-128n可以具有同时接通的晶体管qp和qn。可以实现其它的百分比以满足特定应用的设计标准。参考图5,示出了修整块(或电路)140的示例实现的框图。修整块140可以在rcd电路100中实现。修整电路140一般包括多个延迟单元块(或电路)142a-142n以及转换块(或电路)144。延迟单元142a-142n可以具有布置为环形振荡器的奇数数量的单元。给定的延迟单元(例如,142n)可以生成信号(例如,ck_sense)。信号ck_sense可以具有感测的频率,其取决于修整电路140形成在其上的集成电路(例如,rcd电路100)的一个或多个制造参数。可以由转换电路144接收信号ck_sense。可以由转换电路144生成修整信号(例如,sr_trim)。修整信号sr_trim可以被用于在摆率设置的不同集合中进行选择。电路140的修整操作一般使得信号out中的摆率对rcd电路100的制造工艺不敏感。参考图6,示出了环形振荡器频率与摆率之间的示例关系的图示160。x轴一般表示信号ck_sense的频率。y轴可以示出相关的摆率。图示160中的线162a-162n可以表示适用于信号sr_trim的不同的摆率设置。摆率值可以与振荡器频率成线性比例。信号sr_trim中每个设置的摆率值可以从频率值推导。频率越高,晶体管qp和qn接通时提供给终端电阻器rt或从其提取的电流越多。为了抵消增加的电流,信号sr_trim中的摆率设置可以随着振荡器频率增加而减小。当修整摆率时,可以测量信号ck_sense的频率。可以基于频率选择信号sr_trim中的设置以使得得到的驱动器摆率值接近于目标摆率值。在各种实施例中,信号sr_trim可以传递几个不同的摆率中的一个用于定制(例如,线162a-162n)。低摆率设置一般由线162a表示。高摆率设置可以由线162n表示。在信号ck_sense中测量的频率处的垂直线164(例如,只有x轴的值)可以与水平线166(例如,沿着y轴的值)在用于特定应用的目标摆率处相交。相交的线164和166可以建立目标点168。最接近目标点168的对应于线162a-162n的摆率设置(例如,线162e)可以被选择以修整输出驱动器电路122的摆率。参考图7,示出了相加块(或电路)170的示例实现的框图。相加电路170可以在rcd电路100中实现。相加(或加法器)电路170可操作为将信号sr_trim中接收的修整值与目标信号(例如, sr_target)中接收的偏移值相加。总和可以是控制信号sr_ctl中的目标摆率。控制信号sr_ctl随后可以被提供给驱动器电路102。信号sr_target中的偏移值可以由rcd电路100(例如,可编程寄存器)中的电路系统生成。为了获得针对不同dimm负载和/或不同频率的良好信号完整性性能,可以在制造工艺修整操作之后基于信号sr_trim将信号out的摆率调谐为不同值。在ddr4存储器接口应用中,一般存在两种驱动器(命令/地址驱动器和时钟驱动器)。为了获得良好信号完整性性能,这两种驱动器可以具有不同的摆率标准。ddr4指定信号cmd’/add’与时钟信号clk’匹配时,驱动器延迟可以具有不同摆率并保持不变。因此,可以基于不同的dimm负载为驱动器选择不同的摆率值。参考图8,示出了用于驱动器电路102的命令/地址实现的示例信号波形的图示180。在命令/地址实现中,时间ta和tb之间的延迟(或时间间隔)以及时间td和te之间的延迟(或时间间隔)(例如,通过延迟单元124a的延迟)可以具有固定值。时间tb和tc之间的延迟(或时间间隔)以及时间te和tf之间的延迟(或时间间隔)(例如,通过延迟单元124b的延迟)可以具有可调谐(或可编程)的值以实现不同的摆率。多数活动缓冲器电路128a-128n可以在信号in的沿(例如,时间ta或td)被关断。可以选择在信号ina的沿(例如,时间tb或te)被接通的不活动缓冲器电路128a-128n的数量以使得信号out在信号inb的沿(例如,时间tc或tf)之前被充电/放电跨过阈值电压(例如,thr)。驱动器的摆率控制一般通过以下来实现:将信号out的摆率保持在恒定速率直到信号out跨过阈值电压thr,并且在信号out已经跨过阈值电压thr之后调谐摆率。可以利用相同的驱动器延迟实现不同的摆率。图示180的下半部分总体示例了时间ta至tc附近的信号out的局部放大。在时间ta(例如,信号in的上升沿),信号out可以在点182开始,开始从低电压(例如,vol)上升。在时 间tb(例如,信号ina的上升沿),信号out可以在点184开始以不同的(例如,更快的)速率上升。取决于通过延迟单元124b的延迟的调谐,信号inb可以在时间tc1至tc3的范围中的某处上升。如果通过延迟单元124b的延迟短,则信号out的摆率可以在点186a开始改变。如果通过延迟单元124b的延迟中等,则信号out的摆率可以在点186b开始改变。如果通过延迟单元124b的延迟长,则信号out的摆率可以在点186c开始改变。信号out可以在点190处跨过阈值电压(例如,thr),其中阈值电压位于低电压vol和高输出电压voh之间的一半(thr=(voh-vol)/2)。在各种实施例中,从信号in中的改变直到信号out跨过阈值电压thr的延迟可以是固定持续时间。取决于延迟单元124b中的延迟,信号out可以在点192a-192c的范围中到达高电压voh。参考图9,示出了示例时钟驱动器电路104实现的框图。时钟驱动器电路104可以在rcd电路100中实现。时钟驱动器电路104一般包括驱动器电路102和延迟补偿块(或电路)200。驱动器电路102可以具有两个延迟单元124a-124b。延迟补偿电路200一般包括多个延迟单元202a-202b以及反相器块(或电路)204。反相器电路204可以用于将控制信号sr_ctl反相。反相的控制信号可以由延迟单元202a-202b接收。控制信号sr_ctl可以由延迟单元124a-124b接收。信号clk可以由延迟补偿电路200接收。信号in可以由延迟补偿电路200生成并被驱动器电路102接收。由驱动器电路102生成的信号out可以是信号clk’。延迟单元124a-124b的延迟都可以是可调的以使得阈值电压thr之前或之后的摆率都由信号sr_ctl控制。延迟单元202a-202b可以被信号sr_ctl的反相控制。延迟单元202a-202b一般串联连接以补偿不同摆率的延迟变化。在补偿之后,从信号clk到信号clk’的整体驱动器延迟可以是对控制信号sr_clk中的不同摆率设置不敏感的。例如,在慢摆率被信号sr_ctl命令的情形中,延迟单元202a- 202b可以具有短延迟。通过延迟单元202a-202b的短延迟和通过延迟单元124a-124b的长延迟的初始组合可以具有已知的持续时间。随着命令的摆率的增长,通过延迟电路202a-202b的延迟加长而通过延迟电路124a-124b的延迟变短。快的命令的摆率可以具有与慢的命令的摆率类似的总延迟。在快的命令的摆率,可以将短延迟编程入延迟单元124a-124b,并且将长延迟编程入延迟单元202a-202b以使得总延迟保持在接近已知的持续时间。参考图10,示出了表示当每个延迟电路124a-124b是可调的时相对于信号in的信号out/clk’的示例部分的图示220。在时间ta,信号clk可以上升并且因此信号out/clk’可以从点222的低电压vol开始上升。从时间ta到tb1至tb3范围中的较晚时间,通过延迟单元124a的延迟可以是变化的。如果延迟短,则信号out/clk’的摆率可以在点224a开始以不同的速率(例如,更快)变化。如果延迟长,则信号out/clk’的摆率可以在点224c开始变化。中等延迟可以在点224b变化信号out/clk’的摆率。通过延迟单元124b的延迟可以取决于控制信号sr_ctl而变化(例如,从tb1至tc1,tb2至tc2或tb3至tc3)。在第二延迟的结束(例如,点226a、226b或226c),信号out/clk’的摆率可以变化(例如,增加或降低)直到分别在点232a、232b或232c获得高输出电压voh。基于实际编程的延迟,信号out/clk’可以在时间tx1、tx2或tx3(例如,点230a、230b或230c)跨过阈值电压thr。延迟补偿电路200可以插在信号clk和信号in之间以使时间tx1-tx3在一起作为单一时间。参考图11,示出了用于时钟驱动电路104的示例信号波形的图示240。在时钟驱动器实现中,信号clk的沿(例如,时间tw)和当信号out/clk’跨过阈值电压thr时的时间tx之间的延迟(或时间间隔)可以是固定值。为了引起延迟单元124a-124b中的不同的可编程延迟,延迟补偿电路200可以在延迟单元202a-202b中产生偏移可编程延迟。通过延迟单元202a-202b的变化的延迟可以补偿 延迟单元124a-124b中变化的延迟。补偿一般将图10中的点230a-230c合并为图11的单一点230,其中在点230处信号out/clk’跨过阈值电压thr。同样地,图10中的点232a-232c可以被合并为图11中的单一点232,在此处信号out/clk’到达高输出电压voh。点230a-230c以及点232a-232c的合并可以通过将图10中的点222分割为图11中的多个点222a-222c来实现。如图所示,从时间ta1到时间tb1以及从时间tb1到时间tc1的编程的延迟可以是短的。延迟补偿电路200一般通过将长延迟(例如,时间tw到时间ta1)编程入延迟单元202a-202b来引起短延迟。对于从时间ta2到时间tb2以及从时间tb2到时间tc2的中等延迟,延迟补偿电路200可以提供中等延迟(例如,tw到ta2)。对于从时间ta3到时间tb3以及从时间tb3到时间tc3的长延迟,延迟补偿电路200可以提供短延迟(例如,tw到ta3)。因此,信号out/clk’的摆率可以被调整,而同时可以保持通过时钟驱动器电路104的恒定tw至tx延迟。图1至11的图示中示出的功能和结构可以使用传统的通用处理器、数字计算机、微处理器、微控制器、分布式计算机资源和/或类似的计算机器中的一个或多个来设计、建模、模拟和/或仿真,根据本说明书的教导来程序化,这对本领域技术人员是清楚的。熟练的程序员基于本公开的教导可以容易的准备适合的软件、固件、代码、例程、指令、操作码、微码和/或编程模块,这对本领域技术人员是清楚的。软件一般嵌入一个介质或几个介质中(例如,非暂态存储介质),并且可以由处理器中的一个或多个顺序地或并行执行。本发明的实施例可以以如下中的一个或多个来实现:asic(专用集成电路)、fpga(现场可编程门阵列)、pld(可编程逻辑器件)、cpld(复杂可编程逻辑器件)、门海、assp(专用标准产品)和集成电路。可以基于一种或多种硬件描述语言实现电路。可以联系闪存存储器、非易失性存储器、随机存取存储器、只读存储器、磁盘、软盘,光盘(诸如dvd和dvdram)、磁光盘和/或分布式 存储系统来使用本发明的实施例。虽然图3和9示出传输信息时电路102和104处于的rcd电路100的环境,但是电路102和/或104的拷贝可以在其它位置、其它数据路径、其它控制路径和/或其它时钟路径实现。在一些实施例中,电路102和/或104的拷贝可以位于数据缓冲器电路90a-90n中以改善读取周期期间传输至存储器控制器20的信号。在各种实施例中,电路102和/或104的拷贝可以位于数据总线30的主板侧上以改善由存储器控制器20生成并由存储器模块50a-50n接收的各种信号。例如,存储器控制器20可以包括电路102和/或104的拷贝以生成在写入周期期间在信号dqa-dqn中被发送给存储器模块50a-50n的写入数据。电路102和/或104的实例也可以在存储器模块50a-50n内的其它电路系统中实现。尽管在ddr4应用的背景下描述了本发明的实施例,但是本发明不限于ddr4应用,而是可以应用于存在不同的传输线效应、串扰耦合效应、行波失真、相位改变、阻抗失配和/或线失衡的其它高数据率数字通信应用中。本发明解决了关于涉及高速通信、灵活的时钟结构、指定的命令集和有损传输线的问题。可以期望下一代ddr提供更高速度、更具灵活性、额外的命令和不同的传播特性。本发明还适用于兼容现有的(旧的)存储器规范或未来存储器规范实现的存储器系统。如本文中使用的,术语“同时地”意在描述共享一些公共时段的事件,但是术语并不意在将事件限制为在同样的时间点开始、在同样的时间点结束或具有相同的持续时间。虽然参考其优选实施例具体地示出和描述了本发明,但是本领域技术人员应当理解,在不脱离本发明的范围的情况下,可以对本发明的形式和细节做出各种改变。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1