领域
本公开的方面大体涉及I/O接口,更具体地,涉及用于动态调节I/O接口的摆动电压的系统和方法。
背景技术:
电子系统可包括第一设备和第二设备,它们经由一个或多个信号路径(例如,一条或多条板迹线(board trace)、电缆等)彼此通信。就此而言,每个设备可包括用于通过该一个或多个信号路径将信号传送给另一设备以及从另一设备接收信号的输入/输出(I/O)接口。例如,第一设备可包括片上系统(SOC),而第二设备可包括存储器器件(例如,动态随机存取存储器(DRAM))、外围设备(例如,鼠标)、调制解调器、或其它类型的设备。
在电子系统中,I/O接口功率可以是系统总功耗的大贡献者。随着接口速度和性能要求的增加,在I/O接口处观察到的功耗显著增加。相应地,期望减少I/O接口功率,特别是对于电池供电的系统,以延长系统的电池寿命。
概述
以下给出对一个或多个实施例的简化概述以提供对此类实施例的基本理解。此概述不是所有构想到的实施例的详尽综览,并且既非旨在标识所有实施例的关键性或决定性要素亦非试图界定任何或所有实施例的范围。其唯一的目的是要以简化形式给出一个或多个实施例的一些概念以作为稍后给出的更加具体的说明之序。
根据一方面,本文中描述了一种设备。该设备包括输入/输出(I/O)接口以及I/O电压控制器。I/O电压控制器被配置成确定I/O接口的频率或温度,以及至少部分地基于所确定的频率或温度来调节I/O接口的摆动电压。
第二方面涉及一种用于摆动电压确定的方法。该方法包括:将发射机处的摆动电压减少预定量,在一信号路径上以减小的摆动电压将信号从发射机传送到接收机,以及确定该信号是否被接收机成功接收。该方法还包括至少部分地基于确定该信号是否被成功接收而确定发射机的摆动电压。
第三方面涉及一种设备。该设备包括:输入/输出(I/O)接口,用于确定I/O接口的频率或温度的装置,以及至少部分地基于I/O接口的所确定的频率或温度来调节I/O接口的摆动电压的装置。
为能达成前述及相关目的,这一个或多个实施例包括在下文中充分描述并在权利要求中特别指出的特征。以下说明和所附插图详细阐述了这一个或多个实施例的某些解说性方面。但是,这些方面仅仅是指示了可采用各个实施例的原理的各种方式中的若干种,并且所描述的实施例旨在涵盖所有此类方面及其等效方案。
附图简要说明
图1示出包括第一设备和第二设备的电子系统的示例。
图2示出了根据本公开的一实施例的具有动态摆动电压调节的电子系统的示例。
图3示出了根据本公开的一实施例的示例性电压裕度查找表。
图4是根据本公开的一实施例的用于响应于频率改变调节I/O接口的摆动电压的示例过程的流程图。
图5是根据本公开的一实施例的用于响应于温度改变调节I/O接口的摆动电压的示例过程的流程图。
图6是根据本公开的一实施例的确定摆动电压的示例过程的流程图。
详细描述
以下结合附图阐述的详细描述旨在作为各种配置的描述,而无意表示可实践本文中所描述的概念的仅有的配置。本详细描述包括具体细节以便提供对各种概念的透彻理解。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践这些概念。在一些实例中,以框图形式示出众所周知的结构和组件以避免湮没此类概念。
图1示出包括第一设备101和第二设备102的电子系统100的示例。第一设备101包括第一I/O接口110,而第二设备102包括第二I/O接口111。第一和第二I/O接口110和111被配置成通过一个或多个物理信号路径在第一和第二设备101和102之间传输信号(例如,数据信号、时钟信号等)。信号路径也可被称为信道(channel)或通道(lane)。
在图1中示出的示例中,第一I/O接口110通过第一信号路径(例如,第一差分传输线)104向第二I/O接口111传送信号(例如,差分数据信号),而第二I/O接口111通过第二信号路径(例如,第二差分传输线)106向第一I/O接口110传送信号(例如,差分数据信号)。在一些方面,第一设备101和第二设备102之间的控制信令被承载在控制路径105上。尽管信号路径104和106在图1中的示例中被描绘为差分线,然而要领会,本公开的实施例不限于差分信号在设备间的传送。例如,本公开的实施例可被应用于单端信号、聚合端(三耦合或更高阶)信号等。
第一和第二信号路径104和106中的每一者可包括双绞线,同轴电缆或另一种类型的电缆中的导体,板(例如,印刷电路板(PCB))上的迹线,封装连接器,或其任何组合。例如,第一设备101可包括片上系统(SoC)而第二设备102可包括外部存储器器件(例如,双数据率同步DRAM(DDR SDRAM))。在此示例中,SOC和存储器器件可以在安装在同一板(例如,PCB)上的分开的芯片上,其中第一和第二信号路径104和106包括板上的迹线。在另一示例中,第一设备101可包括SoC而第二设备102可包括外围设备(例如,鼠标、拇指驱动器、监视器等)。在此示例中,SoC可以在安装在板上的芯片上,其中第一和第二信号路径104和106包括板上的迹线、电缆、和将电缆连接到板的一个或多个板连接器。
第一和第二设备101和102可根据多种不同标准中的任一种通过第一和第二信号路径104和106传输信号,所述标准包括但不限于:外围组件互连高速(PCIe)标准、通用串行总线(USB)标准、显示串行接口(DSI)标准、相机串行接口(CSI)标准、高速芯片间(HISC)标准等。
在一些方面,第一和第二设备101和102可支持不同数据率,其中设备间的数据率可被动态调节(例如,基于所述设备中的一个或多个设备的性能需求)。例如,第一设备101可包括SoC而第二设备102可包括外部存储器器件(例如,DDR SDRAM)。在此示例中,SoC可包括经由SoC上的存储器接口访问存储器器件(例如,DDR SDRAM)的一个或多个电路(例如,中央处理单元(CPU)、图形处理单元(GPU)等)。第一I/O接口110可以是存储器接口的一部分。经由存储器接口访问存储器器件的SoC上的电路可被称为客户端。存储器接口可包括管理数据通过第一I/O接口110在SoC上的客户端与存储器器件之间的流动的存储器控制器。在此示例中,存储器控制器可基于客户端的性能需求动态调节SoC和存储器器件之间的数据率。
在一些方面,数据率可通过调节在第一和第二设备101和102之间发送的信号(例如,数据信号)的频率(例如,也被称为频率缩放)来调节。对于其中第一设备101是SoC而第二设备102是外部存储器器件(例如,DDR SRAM)的示例,信号频率可被调节为200MHz到1600MHz的频率范围或另一频率范围内的多个不同频率中的任一频率。I/O接口110和111的功耗随着信号频率的增加(数据率增加)而显著增加。就此而言,I/O接口110和111的功耗变成系统总功耗的大贡献者。
当第一I/O接口110通过第一信号路径104传送信号(例如,差分数据信号)至第二I/O接口111时,信号可具有摆动电压。摆动电压可近似等于信号的最大电压和信号的最小电压之间的差。类似地,当第二I/O接口111通过第二信号路径106将信号发送至第一I/O接口110时,信号可具有一摆动电压。在每个设备的I/O接口处为成功传送信号至其它设备所需的最小摆动电压可取决于许多参数。
参数可包括第一和第二设备101和102之间的信号路径104和106的性质(例如,频率响应、阻抗、维度等)。信号路径104和106可包括板载迹线(例如,印刷电路板(PCB)迹线)、芯片封装连接(例如,焊珠或焊球)、板连接器、电缆、或其任何组合。由于制造变化,信号路径104和106的性质可在系统间改变(甚至对于具有相同设计的系统)。其它参数可包括I/O接口110和111中的电子组件(例如,晶体管、电阻器等等)的性质(例如,阈值电压、维度等),所述接口可由于工艺改变而在系统间改变。从而,最小所需信号摆动电压可在系统间改变。
附加参数可包括在系统操作期间动态改变的参数。这些参数可包括温度和信号频率(例如,数据传输率)。从而,最小所需信号摆动电压可由于系统的操作条件中的改变而动态改变。
在常规办法中,信号摆动电压固定在基于影响最小所需信号摆动电压的参数的最差情形场景的预定电压。例如,对于DDR信号,信号摆动电压可固定在1.1V。然而,特定系统不太可能经历所有这些参数的最差情形。结果是,在大多数系统中,信号摆动电压固定在比设备间的可靠通信所必需的电压高的预定电压处,从而导致功率浪费。
如下面进一步讨论的,本公开的实施例通过动态调节I/O接口的信号摆动电压来减小I/O功耗。
图2示出了根据本公开的实施例的电子系统200的示例。电子系统200包括第一设备201、第二设备202、第一信号路径(例如,第一差分传输线)203、以及第二信号路径(例如,第二差分传输线)204。第一设备201包括第一I/O接口210,而第二设备202包括第二I/O接口211。第一和第二I/O接口210和211被配置成通过信号路径203和204在第一和第二设备201和202之间传输信号(例如,数据信号、时钟信号等),如下面进一步讨论的。在一些方面,第一设备201和第二设备202之间的控制信令被承载在控制路径207上。
第一I/O接口210包括第一发射机220和第一接收机221,而第二I/O接口211包括第二发射机230和第二接收机231。第一发射机220被配置成通过第一信号路径203传送信号(例如,数据信号),而第二接收机231被配置成接收由第一发射机220传送的信号。从而,第一发射机220和第二接收机231促成通过第一信号路径203从第一设备201到第二设备202的通信。类似地,第二发射机230被配置成通过第二信号路径204传送信号(例如,数据信号),而第一接收机221被配置成接收由第二发射机230传送的信号。从而,第二发射机230和第一接收机221促成通过第二信号路径204从第二设备202到第一设备201的通信。
对于其中第一设备201包括SoC而第二设备202包括外部存储器器件(例如,DDR SDRAM)的示例,第一发射机220可通过第一信号路径203将数据从SoC上的客户端(例如,CPU)传送到外部存储器器件。存储器器件上的第二接收机231接收数据并将所接收的数据转发给存储器逻辑(未示出),该存储器逻辑将数据写入到存储器中。第二发射机230可接收响应于来自SoC的读取命令从存储器器件中的存储器读取的数据,并通过第二信号路径204将数据传送至SoC。SoC上的第一接收机221接收数据,并将所接收的数据转发给存储器控制器(未示出),该存储器控制器将数据路由至预期的客户端(例如,CPU)。
第一设备201还包括第一I/O电压控制器205和第一温度传感器215。第一I/O电压控制器205被配置成动态调节第一发射机220的输出摆动电压,如下面进一步讨论的。第一温度传感器215被配置成感测第一I/O接口210的温度,并将所感测的温度报告给第一I/O电压控制器205。就此而言,第一温度传感器215可位于第一I/O接口210附近或该接口内。第一I/O电压控制器205、第一I/O接口210、以及第一温度传感器215可集成在相同芯片上。
第二设备202还包括第二I/O电压控制器206和第二温度传感器216。第二I/O电压控制器206被配置成动态调节第二发射机230的输出摆动电压,如下面进一步讨论的。第二温度传感器216被配置成感测第二I/O接口211的温度,并将所感测的温度报告给第二I/O电压控制器206。就此而言,第二温度传感器216可位于第二I/O接口211附近或该接口内。第二I/O电压控制器206、第二I/O接口211、以及第二温度传感器216可集成在相同芯片上。
系统200还可包括电源208。电源208可提供一个或多个供应电压至I/O接口210和211以对I/O接口210和211供电。在一些方面,电源208可以是可调节电源,其中一个或多个供应电压可在第一I/O电压控制器205和/或第二I/O电压控制器206的控制下被调节。
在一些方面,第一I/O电压控制器205可被配置成确定第一I/O接口210的频率和温度。对于其中第二设备202是存储器器件(例如,DDR SDRAM)的示例,第一I/O电压控制器205可接收来自控制频率的存储器控制器(未示出)的频率(数据率)的指示。第一I/O电压控制器205可基于来自第一温度传感器215的温度读数来确定温度。
第一I/O电压控制器205随后可确定与所确定的频率和温度相对应的信号摆动电压裕度。摆动电压裕度可表示发射机220的摆动电压从规格(specification)中限定的摆动电压减小,其中规格中限定的信号摆动电压可基于最差情形场景。例如,如果摆动电压裕度为-200mV且规格中的摆动电压为1.1V,则发射机220的摆动电压可被设置为900mV。信号摆动电压裕度可通过执行第一和第二设备201和202之间的电压裕度感测规程来针对特定频率和温度确定,如同下面所讨论的。
在一个实施例中,电压裕度感测过程包括(1)将发射机220的摆动电压减小预定量,(2)通过第一信号路径203将预定数据模式从发射机220传送到第二设备220的接收机231,以及(3)将第二设备所接收的预定数据模式与第二设备处的该预定数据模式的副本进行比较。步骤(1)到(3)可被重复,直到所接收的数据模式不与预定数据模式匹配为止。当所接收的数据模式不再与预定数据模式匹配时,可基于模式匹配的最低摆动电压来确定电压裕度。
电压裕度感测规程可在多个不同的温度和频率中的每一者处执行以获得每个温度-频率对的摆动电压裕度。摆动电压裕度可被输入到查找表300中,图3中示出了查找表的示例。在此示例中,在25℃的温度和200MHz的频率处,摆动电压裕度为-200mV,意味着摆动电压可被设置为比规范中定义的信号摆动电压小200mV的值。如果规范中的摆动电压为1.1V,则摆动电压为900mV(即,1.1V–200mV)。与其中第一发射机220的摆动电压固定在规范中定义的摆动电压处的现有办法相比,这导致了I/O接口210的功耗的显著减小。查找表可被存储在第一设备201上的非易失性存储器中。要领会,所确定的摆动电压可被输入到查找表中,而不是相应的电压裕度。相应地,贯穿本公开,要理解,摆动电压(例如,900mV)可在查找表中使用。
现在将描述根据本公开的一实施例的用于确定针对查找表(例如,查找表300)中的位置的摆动电压裕度的方法。首先,第一I/O电压控制器205可将来自第一发射机220的传输设置为与查找表中的频率之一相匹配的频率。第一I/O电压控制器205也可基于来自第一温度传感器215的温度读数来确定第一I/O接口210的温度。
在频率被设置且温度被确定之后,第一I/O电压控制器205可将第一发射机220的摆动电压从规范中的摆动电压(例如,1.1V)开始增量减小一电压步长。每当摆动电压被减小时,发射机220可通过第一信号路径203将预定数据模式传送到第二设备202的接收机231。每当该模式被第二设备202在摆动电压之一处接收时,可作出关于该模式是否被第二设备202成功接收的判定。此判定可使用多种不同方法中的任何一种来作出。
例如,第二设备202处的第二I/O电压控制器206可接收来自接收机231的模式,并且将所接收的模式对照预定数据模式的本地副本进行比较。如果所接收的模式与模式的本地副本匹配,则第二I/O电压控制器206可确定该模式被成功接收,并且如果所接收的模式不与模式的本地副本匹配,则第二I/O电压控制器206可确定该模式未被成功接收。第二I/O电压控制器206随后可向第一I/O电压控制器205发送该模式是否被成功接收的指示。第二I/O电压控制器206可使用第二设备202的发射机230通过第二信号路径204发送该指示。发射机230可使用高摆动电压和/或低频率将指示发射到第一设备201以确保该指示被第一设备201可靠接收。高摆动电压可大于该模式被从第一设备201传送的摆动电压。低频率可低于该模式被从第一设备201传送到第二设备202的频率。
在另一示例中,第二I/O电压控制器206可使用第二设备202的发射机230通过第二信号路径204将接收到的模式传送回第一设备202。发射机230可使用高摆动电压和/或低频率将该模式传送回第一设备201。高摆动电压可大于该模式被从第一设备201传送的摆动电压。低频率可低于该模式被从第一设备201传送到第二设备202的频率。这确保了当模式被第二设备202接收时第一设备201准确接收模式以及所接收的模式和所传送的模式之间的任何差别是由于从第一设备201到第二设备202的传送。如果所接收的模式与所传送的模式匹配,则第一I/O电压控制器205可确定该模式被第二设备202成功接收,并且如果所接收的模式不与所传送的模式匹配,则第一I/O电压控制器205可确定该模式未被第二设备202成功接收。
在又一示例中,从第一设备201传送到第二设备202的数据模式可包括数据部分和使用错误检测算法根据数据部分计算的错误检测部分(例如,奇偶校验位、循环冗余校验位等)。在接收到数据模式之际,第二I/O电压控制器206可根据所接收的数据部分重新计算错误检测部分,并将重新计算的错误检测部分与所接收的错误检测部分进行比较。如果重新计算的错误检测部分与所接收的错误检测部分匹配,则第二I/O电压控制器206可确定该模式被成功接收,并且重新计算的错误检测部分与所接收的错误检测部分不相匹配,则第二I/O电压控制器206可确定该模式未被成功接收。第二I/O电压控制器206随后可向第一I/O电压控制器205发送该模式是否被成功接收的指示。
在以不同的摆动电压传送预定数据模式之后,第一I/O电压控制器205可确定这些摆动电压中该模式被第二设备202成功接收的最低摆动电压。第一I/O电压控制器205可随后基于规范中的摆动电压和最低摆动电压之间的差来计算摆动电压裕度,并将该摆动电压裕度输入到查找表中的相应位置中。更保守地,第一I/O电压控制器205可使用该模式被成功接收的第二或第三最低摆动电压来确定电压裕度。
在一些方面,在将摆动电压裕度输入到查找表之前,第一I/O电压控制器205可将摆动电压裕度减小一小量。这可被完成来使得摆动电压裕度更保守。
如果来自温度传感器215的温度与查找表中的温度不相匹配,则第一I/O电压控制器205可确定查找表中的下一较低温度。例如,使用图3中的表300,如果被感测温度为48℃,则表300中的下一较低温度为45℃。在此示例中,在第一I/O电压控制器205确定摆动电压裕度之后,第一I/O电压控制器205可将该摆动电压裕度输入到查找表中与设置频率和该下一较低温度相对应的位置中。因为电压裕度倾向于对于给定频率随着增高温度而减小,所以在较高温度处确定的电压裕度应当在较低温度下工作。
从而,第一I/O电压控制器205能够确定针对频率-温度对的电压裕度,其中电压裕度可表示与在规范中基于最差情形场景定义的摆动电压相比发射机220的摆动电压的减小。所确定的电压裕度将第一信号路径203的影响通过第一信号路径203从第一设备201到第二设备202的成功传送所需的摆动电压量的静态参数考虑在内。这是因为电压裕度是基于通过第一信号路径203的传送来确定的。静态参数可包括第一信号路径203的频率响应、阻抗、和/或维度。第一信号路径203可包括PCB上的迹线、芯片封装连接(例如,焊珠或焊球)、板连接器、或其任何组合。结果是,对于非最差情形(这表达大多数情形),所确定的电压裕度允许第一I/O电压控制器205减小摆动电压以减小功耗,同时维持第一和第二设备201和202之间的可靠通信。
在一些方面,电压裕度查找表可被制造商填充,其中制造商可针对各个操作频率应用受控温度以产生相应的摆动电压裕度。例如,制造商可将I/O接口210顺序加热到多个不同温度中的每个温度(例如,使用温度受控腔室)。在每个温度下,第一I/O电压控制器205可确定一个或多个不同频率处的一个或多个摆动电压裕度,并可将所确定的摆动电压裕度输入到查找表中。在一些方面,I/O电压控制器205可在I/O接口210处于空闲状态(例如,没有数据通信量)时填充电压裕度查找表。要领会,查找表可由制造商以及在空闲时间期间两者用摆动电压裕度填充。
在一些方面,查找表可初始地用角落情形填充,诸如图3中示出的摆动电压裕度301(例如,在25℃的温度以及200MHz的频率)、摆动电压裕度302(例如,在105℃的温度以及200MHz的频率)、摆动电压裕度303(例如,在25℃的温度以及1600MHz的频率)、摆动电压裕度304(例如,在105℃的温度以及1600MHz的频率)。就此而言,查找表300中的其余位置的电压裕度可从查找表300中已经捕捉的电压裕度外插和/或内插。在一些方面,其余位置之一的电压裕度可根据上面讨论的任何实施例使用电压裕度感测过程(例如,在空闲状态期间)顺序确定,且所确定的电压裕度可取代表中的相应被外插或内插的电压裕度。
在操作期间,第一I/O电压控制器205可感测频率和/或温度改变,如上面所讨论的。响应于频率和/或温度改变,第一I/O电压控制器205可从查找表(例如,查找表300)获得相应摆动电压裕度。第一I/O电压控制器205随后可基于电压裕度来调节发射机220的信号摆动电压。例如,如果电压裕度为-200mV,则第一I/O电压控制器205可将信号摆动电压调节到规范中定义的信号摆动电压下200mV的电压。此外,第一I/O电压控制器205可将控制信号发送到电源208以根据电压裕度调节一个或多个供应电压。例如,发射机220可在两个电压供应轨之间被供电,且电压控制器可命令电源208调节一个或多个轨的供应电压以使得跨两个供应轨的电压对应于期望的摆动电压。对于其中查找表包含摆动电压的示例,第一I/O电压控制器205可检索与频率和/或温度改变相对应的摆动电压,并可根据所检索的摆动电压来调节发射机220的摆动电压。
在一些方面,在调节信号摆动电压之前,第一I/O电压控制器205可拖延(挂起)数据通信量。在数据通信量被拖延时,第一I/O电压控制器205可调节发射机220的摆动电压。在电压调节之后,第一I/O电压控制器205可恢复数据通信量。这可被完成以使得电压调节不扭曲数据通信量。数据通信量可被第一设备201的发射机220传送,并被第二设备202的接收机231接收。在图2中,在第一设备201处的向外的数据通信量被表示为“数据输出”而在第二设备202处接收的数据通信量被表示为“数据输入”。
在一些方面,第一I/O电压控制器205可提前确定频率改变(即,在频率改变被实现之前)。例如,控制频率的设备(例如,存储器控制器)可向第一I/O电压控制器205发送频率将被改变为新频率的指示。作为响应,第一I/O电压控制器205可从查找表(例如,查找表300)获得与新频率和当前温度相对应的摆动电压裕度。第一I/O电压控制器205随后可拖延(挂起)数据通信。在数据通信量被拖延时,第一I/O电压控制器205可调节发射机220的摆动电压。此外,在此时间期间,频率可被改变为新频率并被允许稳定下来。在电压调节和频率改变之后,第一I/O电压控制器205可恢复数据通信量。替换地,控制频率的设备可拖延数据通信量达一段时间以便改变频率。在数据通信量被拖延时,第一I/O电压控制器205可调节摆动电压。
在一些方面,当第一I/O电压控制器205咨询查找表(例如,查找表300)以确定针对特定频率和所感测的温度的摆动电压裕度,该查找表可不具有与所感测的温度相匹配的条目。在此情况下,第一I/O电压控制器205可确定查找表中在相应频率处存在条目的下一较高温度,并选择与该下一较高温度相对应的摆动电压裕度。例如,使用图3中的表300,如果被感测的温度是40℃而频率是200MHz,则第一I/O电压控制器205可选择表300中在45℃的温度(下一较高温度)和200MHz的频率的摆动电压裕度(例如,-180mV)。选择下一较高温度的摆动电压裕度是保守方式(而不是下一较低温度)。这是因为对于给定频率,摆动电压裕度趋向于随着温度增大而减小。结果是,与下一较高温度相对应的摆动电压裕度应当在所感测温度提供足够的摆动电压。
在一些方面,当第一I/O电压控制器205接收来自第一温度传感器215的温度读数时,第一I/O电压控制器205可将小温度裕度(例如2度)加到温度读数,并基于具有增加的温度裕度的温度读数来执行上面描述的操作。小温度裕度可被用于考虑检测温度和/或对温度中的改变做出响应时的任何延迟。
在一些方面,当第一I/O电压控制器205检测温度中的改变时,第一I/O电压控制器205在确定是否调节摆动电压之前可确定温度的改变幅度。例如,第一I/O电压控制器205可计算来自温度传感器215的新温度读数和旧温度读数(例如,上次调节摆动电压时的温度读数)之间的绝对差。第一I/O电压控制器205随后可将该绝对差与温度迟滞值进行比较。如果绝对温度差等于或低于温度迟滞值,则第一I/O电压控制器205随后可不干涉当前摆动电压。如果绝对差高于温度迟滞值,则第一I/O电压控制器205可咨询查找表以基于新温度和频率确定摆动电压是否需要被调节。更具体地,第一I/O电压控制器205可确定查找表中与新温度和频率相对应的摆动电压裕度。如果所确定的摆动电压裕度不同于当前摆动电压裕度,则第一I/O电压控制器205可根据所确定的摆动电压裕度调节摆动电压,如同上面所讨论的。否则,第一I/O电压控制器205可不干涉当前摆动电压。温度迟滞值可被用来阻止第一I/O电压控制器205由于小的温度波动不断地改变摆动电压。
在一些方面,当第一I/O电压控制器205确定频率中的改变时,第一I/O电压控制器205可确定频率改变是否导致频率跨越一个或多个预定频率边界。如果频率不跨越频率边界之一,则第一I/O电压控制器205可不干涉当前摆动电压。如果频率跨越所述频率边界中的至少一个频率边界,则第一I/O电压控制器205可基于当前温度和频率改变从查找表获得电压裕度,并基于所获得的电压裕度来调节摆动电压。该一个或多个频率边界可被用来阻止第一I/O电压控制器205在频率的改变仅与摆动电压裕度中的小改变相对应时调节摆动电压。在此示例中,频率边界可被置于与相差超出预定量的摆动电压裕度相对应的两个相邻频率之间。
要领会,第二发射机230的摆动电压也可使用上面讨论的任何技术来调节。例如,第二I/O电压控制器206可使用根据上面讨论的任何实施例的电压裕度感测规程来确定针对特定频率和温度的摆动电压裕度。就此而言,第二I/O电压控制器206可将发射机230处的摆动电压增量减小一电压步长。每当摆动电压被减小时,发射机230可通过第二信号路径204将预定数据模式传送到第一设备202的接收机221。每当该模式被第一设备201在摆动电压之一接收时,可使用上面讨论的任何技术作出关于该模式是否被第一设备201成功接收的判定。在以不同的摆动电压传送预定数据模式之后,第二I/O电压控制器206可确定这些摆动电压中该模式被第一设备201成功接收的最低摆动电压。第二I/O电压控制器206可随后基于规范中的摆动电压和最低摆动电压之间的差来计算摆动电压裕度,并将摆动电压裕度输入到针对第二设备202的查找表中。
在操作期间,第二I/O电压控制器206可感测频率和/或温度改变。例如,第二I/O电压控制器206可基于来自第二温度传感器216的温度读数感测温度改变。响应于频率和/或温度改变,第二I/O电压控制器206可从针对第二设备202的查找表获得相应摆动电压裕度。第二I/O电压控制器206随后可基于电压裕度来调节发射机230的信号摆动电压。此外,第二I/O电压控制器206可将控制信号发送到电源208以根据电压裕度调节一个或多个供应电压。从而,第二I/O电压控制器206可针对第一I/O电压控制器205使用上面讨论的任何技术动态地调节发射机230的摆动电压。换言之,摆动电压调节不限于一个方向,且可被应用于在任一方向上传送的信号。
要领会,系统200可包括承载从第一设备201到第二设备202的信号(例如,数据信号)的多个信号路径(通道或信道)。在此示例中,第一设备201可包括多个发射机(每个信号路径有一个发射机)。第一I/O电压控制器205可使用上面讨论的任何技术个别地调节每个发射机的摆动电压。
替换地,第一I/O电压控制器205可针对所有发射机使用相同的摆动电压。例如,对于特定的频率和温度,第一I/O电压控制器205可使用以下规程来确定相应的摆动电压裕度。第一,第一I/O电压控制器205可将所有发射机的摆动电压从规范中的摆动电压开始增量减小一电压步长。每当摆动电压被减小时,发射机可在每个信号路径上传送预定数据模式。每当该模式被通过信号路径在摆动电压之一传送时,可作出关于该模式是否被第二设备202通过每个信号路径成功接收的判定。例如,第二I/O电压控制器206可将通过每个信号路径接收的模式与预定模式相比较。如果所接收的针对每个信号路径的模式与预定模式相匹配则第二I/O电压控制器206可确定传送成功,并且如果所接收的针对所述信号路径中的一个或多个信号路径的模式与预定模式不匹配则可确定传送不成功。第二I/O电压控制器206随后可向第一I/O电压控制器205传达传送是否成功。在以不同的摆动电压传送预定数据模式之后,第一I/O电压控制器205可确定这些摆动电压中该模式在所有信号路径上被成功接收的最低摆动电压,并基于最低摆动电压确定电压裕度。
图4是根据本公开的一实施例的用于响应于频率改变调节I/O接口(例如,第一I/O接口210或第二I/O接口211)的摆动电压的示例过程400的流程图。示例过程400仅作为示例被提供,且在本说明书描述的各实施例的范围内,更多或更少的步骤可按类似或替换的次序执行或并行执行。过程400可由I/O电压控制器(例如,第一I/O电压控制器205或第二I/O电压控制器206)执行。
在步骤401,做出关于频率是否被改变为新频率的判定。在一个方面,频率将被改变的指示可被控制频率的设备(例如,存储器控制器)接收。如果频率中的改变被确定,则过程400前进至步骤402。否则,过程400在步骤401中返回。
在步骤402,做出关于新频率是否低于或等于频率阈值(被表示为“A”)的判定。频率阈值可与频率中的改变将使信号摆动电压的改变成为必要的频率边界相关。在一些方面,频率阈值与一频率相对应,在该频率电压裕度开始跨查找表中包含的频率范围改变显著的量。如果新频率低于或等于频率阈值,则过程400前进至步骤403。否则,该过程400前进至步骤407。
在步骤403,做出旧频率是否大于频率阈值的判定。旧频率可以是频率改变前的频率。如果旧频率大于频率阈值,则过程400前进至步骤404。这可在频率改变导致频率跨越到频率阈值以下时发生。否则,过程400返回至步骤401。
在步骤404,与新频率和当前温度相对应的电压裕度被从查找表(例如,查找表300)获得。
在步骤405,数据通信量被拖延。在数据通信量被拖延之后,过程400前进至步骤406。
在步骤406,基于从查找表获得的电压裕度,信号摆动电压被减少。过程400随后前进至步骤412,其在下面被进一步讨论。
在步骤407,做出新频率是否大于频率阈值的判定。如果新频率被确定为大于频率阈值,则过程400前进至步骤408。否则,过程400返回至步骤401。
在步骤408,做出关于旧频率是否低于或等于频率阈值的判定。如果确定旧频率低于或等于频率阈值,则过程400前进至步骤409。这可在频率改变导致频率跨越到频率阈值以上时发生。否则,过程400返回至步骤401。
在步骤409,与新频率和当前温度相对应的电压裕度从查找表(例如,查找表300)获得。
在步骤410,数据通信量被拖延。在数据通信量被拖延之后,过程400前进至步骤411。
在步骤411,基于从查找表获得的电压裕度,信号摆动电压被增大。过程400随后前进至步骤412。
在步骤412,频率被改变为新频率并被允许稳定下来。
在步骤413,数据通信量在信号摆动电压调节和频率已稳定至新频率之后被恢复。
在步骤414,过程400延迟任何命令以减小频率,直到迟滞定时器期满为止。命令可来自控制频率的设备(例如,存储器控制器)。结果是,在频率改变之后频率不立即下降。这阻止生成该频率的电路(例如,锁相环(PLL)和分频器)不断地上下改变频率。在一些方面,迟滞定时器不被应用于增加频率的命令。这是因为长延迟可饿死尽快需要更高频率的客户端(例如第一设备201上的)。
要领会,过程400不限于一个频率阈值。例如,过程400可具有多个频率阈值,其中每个阈值对应于一频率边界,如上所讨论的。在此示例中,当频率改变在步骤401被确定时,过程400可确定频率改变是否导致频率跨越到所述频率阈值中的一个或多个之下。如果是,则该过程可前进至步骤404。如果否,则过程400可确定频率改变是否导致频率跨越到所述频率阈值中的一个或多个之上。如果是,则该过程可前进至框409。否则,过程400可返回至步骤401。
图5是根据本公开的一实施例的用于响应于温度改变调节I/O接口(例如,第一I/O接口210或第二I/O接口211)的摆动电压的示例过程500的流程图。示例过程500仅作为示例被提供,且在本说明书描述的各实施例的范围内,更多或更少的步骤可按类似或替换的次序执行或并行执行。过程500可由I/O电压控制器(例如,第一I/O电压控制器205或第二I/O电压控制器206)执行。
在步骤501,做出关于是否存在温度改变的判定。温度改变可使用温度传感器(例如,第一温度传感器215或第二温度传感器216)来检测。如果温度的改变被确定,则过程500前进至步骤502。否则,过程500返回至步骤501。
在步骤502,做出新温度和旧温度之间的绝对差是否大于温度阈值(被表示为“T迟滞”)的判定。新温度可以是来自温度传感器的当前温度,而旧温度可以是上次摆动电压被调节时的温度。如果新温度和旧温度之间的绝对差大于温度阈值,则过程500前进至步骤503。否则,过程500返回至步骤501。温度阈值可被用来阻止摆动电压由于小温度波动而不断改变。
在步骤503,做出新温度是否大于旧温度的判定。如果新温度更大,则过程500前进至步骤504。否则,该过程500前进至步骤507。
在步骤504,与新温度和当前频率相对应的电压裕度从查找表(例如,查找表300)获得。
在步骤505,数据通信量被拖延。在数据通信量被拖延之后,过程500前进至步骤506。
在步骤506,基于从查找表获得的电压裕度,信号摆动电压被增大。
过程500随后前进至步骤510,其在下面被进一步讨论。
在步骤507,与新温度和当前频率相对应的电压裕度从查找表(例如,查找表300)获得。
在步骤508,数据通信量被拖延。在数据通信量被拖延之后,过程500前进至步骤509。
在步骤509,基于从查找表获得的电压裕度,信号摆动电压被减少。该过程随后前进至步骤510。
在步骤510,在信号摆动电压调节之后恢复数据通信量。
在步骤511,旧温度被设置为等于新温度,而过程500返回至步骤501。
在一些方面,在与新温度相对应的电压裕度在步骤504从查找表获得后,过程500可确定与新温度相对应的电压裕度是否与当前电压裕度不同。如果它们不同,则过程500可前进至步骤505,如上面所讨论的。如果它们相同,则过程500可返回至步骤501。类似地,在与新温度相对应的电压裕度在步骤507从查找表获得后,过程500可确定与新温度相对应的电压裕度是否与当前电压裕度不同。如果它们不同,则过程500可前进至步骤508,如上面所讨论的。如果它们相同,则过程500可返回至步骤501。
图6是根据本公开的一实施例的用于确定摆动电压的示例过程600的流程图。示例过程600仅作为示例被提供,且在本说明书描述的各实施例的范围内,更多或更少的步骤可按类似或替换的次序执行或并行执行。过程600可由I/O电压控制器(例如,第一I/O电压控制器205和/或第二I/O电压控制器206)执行。
在步骤610,发射机处的摆动电压被减小预定量。例如,发射机(例如,发射机220或发射机230)处的摆动电压可被从规范中定义的摆动电压减小。
在步骤620,信号被通过信号路径以减小的摆动电压从发射机传送至接收机。例如,发射机和接收机(例如,接收机221或接收机231)可位于分开的芯片上,且信号可通过信号路径(例如PCB上的迹线)被传送,其中信号路径提供发射机和接收机间的芯片间通信。
在步骤630,做出该信号是否被接收机成功接收的判定。例如,被传送至接收机的信号可包括预定数据模式。在此示例中,如果接收机接收到的模式与所传送的模式相匹配,可做出信号被成功传送的确定。
在步骤640,至少部分地基于该信号是否被成功接收的判定来确定发射机的摆动电压。例如,如果信号以减小的摆动电压被成功接收,则对于后续数据传送,发射机的摆动电压可被设置为该减小的摆动电压。对于其中摆动电压被从规范中定义的摆动电压减小的示例,与使用规范中定义的摆动电压相比,使用减小的摆动电压减小发射机的功耗。
提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员而言将容易是显而易见的,并且本文中所定义的普适原理可被应用到其他变型而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例,而是应被授予与本文中所公开的原理和新颖特征相一致的最广范围。
例如,I/O电压控制器205和206中的每一个可包括被配置成执行上述的一个或多个功能的处理器。如本文所使用的术语“处理器”包括但不限于包括:单核处理器;具有软件多线程执行能力的单处理器;多核处理器;具有软件多线程执行能力的多核处理器;具有硬件多线程技术的多核处理器;并行平台;以及具有分布式共享存储器的并行平台。此外,处理器可指代集成电路、专用集成电路(ASIC)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑控制器(PLC)、复杂可编程逻辑器件(CPLD)、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合,其被设计成执行本文所述的功能。处理器可利用纳米尺度以优化空间使用或增强用户装备的性能。处理器还可被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器、或任何其它此类配置。
而且,在本说明书中,术语“存储器”指代数据存储、算法存储、以及其它信息存储,诸如但不限于:图像存储、数字音乐和视频存储、图表和数据库。要领会,本文中描述的存储器组件或可为易失性存储器或可为非易失性存储器,或可包括易失性和非易失性存储器两者。藉由例示而非限定,非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦式PROM(EEPROM)、或闪存。易失性存储器可包括充当外部高速缓存存储器的随机存取存储器(RAM)。数个不同类型的存储器和存储器技术可用并在未来被构想,它们全部适于与各方面结合使用。这样的存储器技术/类型包括同步RAM(SDRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强SDRAM(ESDRAM)、同步链接DRAM(SLDRAM)、以及直接内存总线RAM(DRRAM)、相变存储器(PRAM)、非易失性随机存取存储器(NVRAM)、伪静态随机存取存储器(PSDRAM)、以及本领域中已知的其它随机存取存储器(RAM)和只读存储器(ROM)技术。此外,本文的系统和/或方法的所公开的存储器组件旨在包括但不限于这些和任何其它适当类型的存储器。
上面提及的存储器技术中的任何一种包括例如适于存储指令、程序、控制信号、和/或用于在计算机或其它数字电子设备中使用或由其使用的数据的元件。对个别类型的存储器、接口、标准或存储器技术的术语和/或技术细节的任何引用仅用于解说目的,且并不意在将权利要求的范围限定于特定存储器系统或技术,除非权利要求语言中有具体陈述。
对于软件实现,本文中所描述的技术可以使用执行本文中所描述功能的模块(例如,程序、函数等)来实现。软件代码或代码指令可被存储在存储器单元、或存储器计算机可读介质中并由处理器执行。存储器单元或存储器可被实现在处理器内部或处理器外部,在后一种情形中其可经由本领域中所知的各种手段被通信地耦合到处理器。
在一个或多个示例性实施例中,所描述的功能可在硬件、软件、固件或其任何组合中实现。如果在软件中实现,则各功能可以作为一条或多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,此类计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或能用于承载或存储指令或数据结构形式的期望程序代码且能被计算机访问的任何其他介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其他远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如在此所用的碟或盘包括紧致盘(CD)、激光盘、光盘、数字多功能盘(DVD)、以及蓝光盘,其中盘(disc)用激光来光学地再现数据。上述的组合应当也被包括在计算机可读介质的范围内。
本文所公开的方法包括用于达成所描述的方法的一个或多个步骤或动作。这些方法步骤和/或动作可以彼此互换而不会脱离权利要求的范围。换言之,除非所描述的方法的正确操作要求步骤或动作的特定次序,否则便可改动具体步骤和/或动作的次序和/或使用而不会脱离权利要求的范围。
上面所描述的包括了一个或更多个实施例的示例。当然,要为描述上述这些实施例而描述组件或方法体系的每一种可构想到的组合是不可能的,但是本领域普通技术人员将可认识到,有各种实施例的许多进一步的组合和置换是可能的。相应地,所描述的这些实施例旨在涵盖落在所附权利要求的精神实质和范围内的所有如此的替换、修改和变形。另外,就术语“包括”、“拥有”或“具有”在本说明书中使用的范畴而言,此类术语旨在以与术语“包括”于权利要求中被用作过渡词时所解释的相类似的方式作可兼之解。