具体实施方式
为了提供对本公开的全面理解,现在将对某些说明性实施例进行描述,其中包括一种用于降低设备中的峰值功耗量的***。然而,本领域技术人员将要理解的是,本文所描述的***和方法可以为了所针对的应用进行适当调适和修改,并且本文所描述的***和方法可以在其它适当应用中得以采用,而且这样另外的附加和修改将并不背离本公开的范围。
出于说明的目的,本文公开的***和方法关于诸如使用NAND闪存设备的固态驱动器的存储器***进行描述。通常,根据本文所公开的***和方法,可以使用任意设备,诸如具有多个通道的任意存储器设备。此外,本公开还可应用于消耗功率并且期望降低设备所消耗的峰值功率量的任意***。本领域技术人员将会意识到,诸如本文所描述那些的***峰值功耗的降低可应用于任意数量的消耗功率的设备。
图1示出了根据本公开的说明性实施例的用于降低峰值功耗量的***100的说明性框图。***100包括峰值功率降低器102,其从信号源104接收原始信号106并且输出平移信号118。
信号源104向峰值功率降低器102提供一个或多个信号,并且可以是信号的任意源。信号可以是连续信号或者是连续信号的离散化版本。作为示例,信号源104可以包括对存储器设备(例如,SSD)中的通道上的活动进行监视的设备,并且该信号可以是作为时间函数的对应于数据是否在通道上进行传输的离散样本的矢量。在另一示例中,该信号可以是作为时间函数的对应于由在通道上传输数据所消耗的功率量的离散样本的矢量。在另一个示例中,该信号可以是对应于设备中的通道是否处于“就绪”或“繁忙”状态的二进制数值的矢量。在另一个示例中,该信号可以是对应于通道处于繁忙状态时所消耗的功率量的功耗数值的矢量。信号源104可以进一步被配置为对该信号进行处理以将该信号变为某种形式,诸如通过对信号的幅度进行控制或者调解信号的其它特性。例如,信号源104可以对信号进行量子化、滤波、平滑、下采样、上采样或交织,或者对信号执行任意数量的处理技术。通常,如果期望对一个或多个信号进行平移以降低设备中的峰值功耗量,则可以使用任意信号源。
峰值功率降低器102降低设备中的峰值功耗量。特别地,该***可以包括多个通道,其中每个通道均消耗功率。每个通道可以具有作为时间函数的功率分布,其指示该通道在时间点所消耗的功率量。从信号源104传送至峰值功率降低器102的原始信号106可以指示这些功率分布。峰值功率降低器102包括处理器107、存储器108、接收器109、信号组合器110、峰值识别器112、信号部分识别器114和信号部分平移器116。如这里所使用的,术语“处理器”或“计算设备”是指一个或多个计算机、微处理器、逻辑设备、服务器,或者利用硬件、固件和/或软件进行配置以执行这里所描述的一种或多种技术的其它设备。以下参考图13对可以用来实施本文所描述的处理器或设备中任一个的说明性计算设备1300进行详细描述。存储器108被配置为存储输入数据、输出数据以及当前被处理器107、信号组合器110、峰值识别器112、信号部分识别器114或信号部分平移器116所处理的数据。
接收器109从信号源104接收原始信号106。如以上所描述的,原始信号106可以指示对应于设备中的通道所消耗的功率量的功率分布。功率分布和原始信号106的示例在下文中关于图2-10被详细示出并描述。
在接收器109接收到原始信号106之后,信号组合器110可以将原始信号106进行组合以生成组合信号。例如,为了生成组合信号,原始信号106可以被相加在一起。该组合信号表示总体功率分布,其指示了作为时间函数的***(在多个通道上)所消耗的功率量。组合信号的示例在下文中关于图3-10被详细示出并描述。
随后,峰值识别器112可以识别出组合峰值功率的最大量,其对应于由信号组合器110所生成的组合信号的峰值。该最大量可以与阈值进行比较以确定***所消耗的组合功率数量是否超过了所设置的阈值。如果该最大量超过了阈值,则信号部分识别器114识别出一个或多个原始信号106中的一个或多个部分进行平移,并且信号部分平移器116将所识别的(多个)部分平移适当数量而使得(平移之后)所产生的总体功率分布具有比(平移之前的)原始总体功率分布更小的峰值。平移信号118随后作为峰值降低器102的输出而提供。
通过对一个或多个原始信号106的一个或多个部分进行平移,峰值功率降低器102因此使得***所消耗的峰值功率量有所降低。
图2示出了根据本公开的说明性实施例的通道的示例信号的原理图200。示图200包括数据总线信号220、就绪/繁忙信号222和功率信号224。数据总线信号220是二进制数值的并且指示通道上的数据传输次数。特别地,数据总线信号220在数据正在通道上传输时为高并且在没有数据在通道上传输时为低。就绪/繁忙信号222也是二进制数值的并且指示通道的状态。特别地,就绪/繁忙信号222在通道处于就绪状态时为高,并且在通道处于繁忙状态时为低。
特别地,通道可以是用于在SSD控制器和NAND闪存设备之间传输数据的数据通道。NAND闪存设备可以具有功率消耗的两个阶段。第一阶段可以是数据传输阶段,其可以对应于间隙221,其时数据在读取和写入操作期间通过信号进行传输。第二阶段可以是存储器阵列操作阶段,其可以对应于间隔223,其时该通道处于读取、写入和擦除操作期间的繁忙状态。当通道处于就绪状态时(即,当就绪/繁忙信号222为高时的第一阶段),数据在通道上进行传输。通过通道传送数据基本上在间隔221期间消耗固定量的功率(即,功率信号224在间隔221期间主要是平稳的)。特别地,当数据通过通道进行传送时,功率分布在间隔221开始处短时间上升,在间隔221的大部分持续时间保持平稳,并且在间隔221结束时短时间下降。当通道处于繁忙状态时(即当就绪/繁忙信号222为低时的第二阶段),功率分布在间隔223期间有所波动并且表现出多次低功耗和高功耗。特别地,高功耗的次数可以对应于NAND闪存设备执行一个或多个存储器阵列操作的次数。作为示例,数据可以被读入NAND闪存设备中的存储器单元,从中写入或者从中擦除。较低功耗的次数可以对应于操作之间的次数。特别地,功耗高的次数可以对应于NAND闪存设备的大小。作为示例,如果NAND闪存设备具有2048字节的页面大小,则功率分布中高功耗的次数可以为2048。通常,可以使用任意适当大小的NAND闪存设备,并且功率信号可以是正弦的、锯齿的、方形波、周期性、非周期性或任意其它适当类型的功率信号。
图3-10示出了设备中功率信号的原理图300-900。特别地,图3、6和9示出了峰值功率降低器102所接收的原始信号106的示例。原始信号106表示在数据传输(图2)、存储器阵列操作(图6)和数据变换(图9)期间由设备所消耗的功率量。如关于图11和12所描述的,峰值功率降低器102接收原始信号106并且可以确定对一个或多个原始信号进行平移以产生平移信号118。图4-5、7-8和10示出了由峰值功率降低器102所提供的所产生的平移功率信号118的示例。特别地,平移信号118表示在数据传输(图4-5)、存储器阵列操作(图7-8)和数据变换(图10)期间由设备所消耗的功率数量。峰值功率降低器102可以被配置为使用任意这些技术以及这些技术的任意组合来降低***所消耗的峰值功率量。
图3-5示出了根据本公开的说明性实施例的功率信号的示例,该功率信号指示设备中由于在通道上传输数据而消耗的功率量。特别地,图3示出了示例原始信号106,其可以作为输入被提供至峰值功率降低器102,而图4和5则示出了示例平移信号118。
图3示出了图形300,其包括两个数据总线信号330和334、两个功率信号332和336以及组合功率信号338。数据总线信号330和334均指示通道上进行数据传输的次数。例如,数据总线信号330具有二进制数值(即,0和1),并且在数据正通过第一通道进行传输时具有高数值并且在没有数据通过第一通道进行传输时具有低数值。类似地,数据总线信号334是指示数据何时在第二通道上进行传输的二进制信号。数据可以以一个或多个分组的集合而通过通道进行传输。在这种情况下,数据总线信号330和334的瞬态可能指示一个或多个数据分组正通过通道进行传送。
类似地,功率信号332和336表示设备分别从数据总线信号330和334进行数据传输而导致的由设备消耗的功率的量。特别地,功率信号332在没有数据通过第一通道进行传输时为低,并且在数据正在通过第一通道进行传输时为高。间隔331对应于数据在其间通过第一通道进行传输并且因此功率信号332为高的时间间隔。类似地,间隔333对应于数据在其间通过第二通道进行传输并且因此功率信号336为高的时间间隔。
在一个示例中,峰值功率降低器102中的接收器109从信号源104接收功率信号332和336。随后,信号组合器110将功率信号332和336进行组合以生成组合功率信号338。特别地,组合功率信号338可以基于功率信号332和336之和,或者一般可以基于功率信号332和336的任意线性组合。在生成组合功率信号338之后,峰值识别器112识别出组合功率信号338的峰值,并且峰值功率降低器102随后可以将所识别的峰值与预定阈值进行比较。如果所识别的峰值高于阈值,则峰值功率降低器102可以确定对原始数据总线信号330和334中的一个或多个进行平移,或者等同地对原始功率信号332和336中的一个或多个进行平移。通过在时间上对一个或多个原始信号进行平移,峰值功率降低器102降低了设备中的峰值功耗的量。
为了确定对信号进行平移的适当长度,峰值功率降低器102可以识别出重叠间隔335,其对应于数据在其间通过第一和第二通道二者进行传输的时间间隔。例如,可以通过识别出组合功率信号338超过阈值的部分而识别出重叠间隔335。在另一个示例中,可以通过识别间隔331和333之间的重叠而识别出重叠间隔335。
图4根据本公开的说明性实施例示出了设备中经平移的数据传输功率信号的示图400。与示图300中相同,示图400包括指示数据通过第一通道进行传输的次数的数据总线信号330,以及表示从数据总线信号330进行数据传输而导致的设备所消耗的功率量的相对应的功率信号332。示图400中的数据总线信号330和功率信号332与示图300中所示的为相同信号。此外,示图400包括指示数据通过第二通道进行传输的次数的平移数据总线信号434以及相对应的平移功率信号436。
平移数据总线信号434和平移功率信号436对应于图3中的原始数据信号334和原始功率信号336的平移版本。特别地,峰值功率降低器102可以识别出对应于数据在期间通过两个通道进行传输的间隔的重叠间隔335。信号部分识别器114随后可以识别出原始功率信号336中要进行平移的部分而使得所产生的信号并不与原始功率信号332相重叠。在一个示例中,原始功率信号336的所识别部分可以对应于间隔333。信号部分平移器116随后将原始功率信号336的所识别部分延迟对应于重叠间隔335的量,产生平移功率信号436。平移功率信号436在并不与间隔331重叠的间隔433期间为高。因此,数据并不同时在两个通道上进行传输。由于间隔331和433在时间上并不重叠,所以所产生的组合功率信号438与原始组合信号338相比具有更低的峰值幅度。因此,通过将功率信号之一平移对应于重叠间隔335的时间量,峰值功率降低器102使得设备中的峰值功耗数量有所降低。
如关于图4所描述的,功率信号的一部分在时间上统一地进行平移。也就是说,在识别出数据总线信号334要进行平移的部分之后,对整个部分应用于(对应于重叠间隔335的)恒定平移量。然而,通常可以对任意数量的功率信号在时间上进行平移以降低设备中的峰值功耗数量,并且可以对信号的不同部分应用非统一的平移量。图5示出了用于降低峰值功耗量的两个非统一平移的功率信号的示例。
图5示出根据本公开的说明性实施例的设备中的交织数据传输功率信号的示图500。在示图500中,数据总线信号530和534是原始数据总线信号330和334的平移版本。特别地,数据总线信号530包括数据在其间以与数据总线信号330相同的速率进行传送的第一部分540。此外,数据总线信号530包括数据在其间以第一部分540的一半速率进行传送的第二部分542。特别地,部分540并不被平移,而部分542则被非统一地进行平移。通过对部分542非统一地进行平移,与对部分542的后期部分进行平移的量相比,信号部分平移器116将部分542的早期部分平移较小的数量。通过以这种方式对部分542进行平移,信号部分平移器116使得数据在部分542中以原始速率的一半进行传送。
数据总线信号534也包括两个部分:数据在其间以一般速率进行传送的第一部分544,以及数据在其间以与数据总线信号330相同的速率进行传送的第二部分546。由于部分544的不同部分以不同时间量进行平移(即,部分544的早期部分以比部分544的后期部分更大的量进行平移),所以部分544被非统一地进行平移。与之相比,部分546被统一地进行平移,这意味着整个部分546都以恒定时间量进行平移。
通常,在数据传输速率发生变化时进行非统一平移(即部分542和544)。当数据传输速率保持相同时进行统一平移,并且整个信号部分都以恒定量被延迟或提前。信号部分平移器116被配置为通过任意的统一或非统一数量对任意信号部分进行平移。
当数据以一半速率进行传送时(即,部分542和544),相对应的功率信号532和536与数据以全速率传送时(即,部分540和546)相比的一半高度。因此,即使平移数据总线信号530的部分542与平移数据总线信号534的部分544有所重叠,组合的功率消耗数量(即,组合功率信号538)也基本上是平稳的。重要的是,组合功率信号538与组合功率信号338相比具有更低的峰值幅度。因此,即使部分542和544重叠,第一和第二通道上的数据传输也被交织而使得数据并不同时在两个通道上进行传输。
图6-8示出根据本公开的说明性实施例的指示设备中由于存储器阵列操作而消耗的功率量的功率信号的示例。特别地,图6示出了示例原始信号106,其可以作为输入被提供至峰值功率降低器102,并且图7和8示出了示例平移信号118。
图6示出了示图600,其包括两个就绪/繁忙信号650和654,两个功率信号652和656以及组合功率信号658。就绪/繁忙信号650和654均指示设备的状态。特别地,新的命令仅可以在设备处于就绪状态时或者在就绪/繁忙信号为高时被执行。当设备中的一个通道处于繁忙状态时(即,针对就绪/繁忙信号650的间隔651以及针对就绪/繁忙信号654的间隔653),相对应的功率信号652和656是正弦的,表现出低和高数量功耗的次数。当间隔651和653重叠时(即,重叠间隔655),组合功率信号658在功率信号652和656的重叠部分同相时表现出高幅度的正弦曲线。
在一个示例中,峰值功率降低器102中的接收器109从信号源104接收功率信号652和656。随后,信号组合器110将功率信号652和656进行组合以生成组合功率信号658。特别地,组合功率信号658可以基于功率信号652和656之和,或者一般可以基于功率信号652和656的任意线性组合。在生成组合功率信号658之后,峰值识别器112识别组合功率信号658的峰值,并且峰值功率降低器102随后可以将所识别的峰值与预定阈值进行比较。如果所识别的峰值高于阈值,则峰值功率降低器102可以确定将原始就绪/繁忙信号650和654中的一个或多个进行平移,或者等同地对原始功率信号652和654中的一个或多个进行平移。通过在时间上对一个或多个原始信号进行平移,峰值功率降低器102使得设备中的峰值功耗数量有所降低。
为了确定要对信号进行平移的适当长度,峰值功率降低器102可以识别出重叠间隔655,其与在第一通道和第二通道二者处于繁忙状态的时间间隔相对应。例如,可以通过识别出组合功率信号658超过阈值的部分而识别出重叠间隔655。在另一个示例中,可以通过识别间隔651和653之间的重叠而识别出重叠间隔655。
图7示出根据本公开的说明性实施例的设备中的平移功率信号的示图700。与示图600中相同,示图700包括指示第一通道的状态的就绪/繁忙信号650以及表示设备所消耗的功率量的相对应的功率信号652。示图700中的就绪/繁忙信号650和功率信号652与示图600中所示的为相同信号。此外,示图700包括指示第二通道的状态的平移就绪/繁忙信号754和相对应的平移功率信号756。
平移就绪/繁忙信号754和平移功率信号756对应于图6中的原始就绪/繁忙信号654和原始功率信号656的平移版本。特别地,峰值功率降低器102可以识别出与两个通道在其间都处于繁忙状态的间隔对应的重叠间隔655。信号部分识别器114随后可以识别出就绪/繁忙信号654和/或原始功率信号656中要进行平移而使得所产生的功率信号并不与原始功率信号652相重叠的部分。在一个示例中,原始功率信号656中所识别的部分可以对应于间隔653。信号部分平移器116随后将原始功率信号656的所识别部分延迟与重叠间隔655相对应的量,产生平移功率信号756。平移功率信号756在间隔753期间具有并不与间隔651重叠的正弦分布。因此,两个通道并不同时处于繁忙状态。由于间隔751和753在时间上并不重叠,所以所产生的组合功率信号758与原始的组合功率信号658相比具有较低的峰值幅度。因此,通过将功率信号之一平移对应于重叠间隔655的时间量,峰值降低器102使得设备中的峰值功耗量有所降低。
图8示出根据本公开的说明性实施例的设备中的平移功率信号的示图800。与示图600中相同,示图800包括指示第一通道的状态的就绪/繁忙信号650以及表示设备所消耗的功率量的相对应的功率信号652。示图800中的就绪/繁忙信号650和功率信号652与示图600中所示的为相同信号。此外,示图800包括指示第二通道的状态的平移就绪/繁忙信号854和相对应的平移功率信号856。
平移就绪/繁忙信号854和平移功率信号856对应于图6中的原始就绪/繁忙信号654和原始功率信号656的平移版本。特别地,峰值功率降低器102可以识别出功率信号652和656在重叠间隔655期间的相对相位。如图6所示,功率信号652和656在重叠间隔655期间的部分是同相的。信号部分识别器114随后可以识别出就绪/繁忙信号654和/或原始功率信号656中要进行平移而使得所产生的功率信号并不与原始功率信号652同相的部分。在一个示例中,原始功率信号656的所识别部分可以对应于间隔653。因此,信号部分平移器116可以将功率信号656延迟半个周期以产生平移功率信号858。在这种情况下,平移功率信号858与原始功率信号652的相位相差180度。由于功率信号并不同相,所以所产生的组合功率信号858在重叠间隔855(即,两个通道都具有繁忙状态时)期间是平稳的。组合功率信号858与原始的组合功率信号658相比具有较低的峰值幅度。因此,通过将功率信号之一平移一个时间量而使得功率信号652和856并不同相,峰值功率降低器102使得设备中的峰值功耗量有所降低。
如图6和8所示,峰值功率降低器102确定原始功率信号652和656是同相的。因此,将原始功率信号之一平移半个周期使得所产生的功率信号652和856在相位上相差180度。
通常,峰值功率降低器102可以确定任意数量的功率信号之间的任意相对相位差异,并且可以确定将一个或多个功率信号平移任意数量而使得所产生的功率信号并不同相。例如,在峰值功耗的值和对信号进行延迟的量之间可能存在权衡。特别地,将信号延迟任意数量都可能是有成本的,并且随着延迟量的增大,该成本会以指数方式增加。在这种情况下,可能期望对峰值功耗降低的好处加以考虑。在一个示例中,如果对信号进行延迟的成本比降低峰值功率的好处更为重要,则可能期望以满足峰值功率要求所必需的那么小的量(即,阈值量)对信号进行延迟。换句话说,可能并不期望对信号进行平移而使得所产生的功率信号在相位上相差180度。通常,所期望的信号平移量可以取决于一个或多个其它信号的相位、延迟信号的成本、峰值功率要求或者任意其它约束。
图9-10示出根据本公开的说明性实施例的指示设备中在数据总线信号变换期间所消耗功率的量的功率信号的示例。特别地,图9示出了可以作为输入提供至峰值功率降低器102的示例原始信号106,而图10则示出了示例平移信号118。
图9示出了示图900,其包括两个数据总线信号970和974、两个功率信号972和976以及组合功率信号978。数据总线信号970和974均指示数据在通道上进行传输的次数。例如,数据总线信号970具有二进制数值(即,0和1),并且在数据正通过第一通道进行传输时具有高数值,并且在没有数据通过第一通道进行传输时具有低数值。类似地,数据总线信号974为指示数据何时通过第二通道进行传输的二进制信号。
类似地,功率信号972和976分别表示由于数据总线信号970和974从高变低以及从低变高而由设备消耗的功率量。特别地,功率信号972在数据总线信号970从高变低和从低变高时具有短暂瞬态,并且功率信号976在数据总线信号974从高变低和从低变高时具有短暂瞬态。
在一个示例中,峰值功率降低器102中的接收器109从信号源104接收功率信号972和976。随后,信号组合器110将功率信号972和976进行组合以生成组合功率信号978。特别地,组合功率信号978可以基于功率信号972和976之和,或者一般可以基于功率信号972和976的任意线性组合。在生成了组合功率信号978之后,峰值识别器112识别出组合功率信号978的峰值,并且峰值功率降低器102随后可以将所识别的峰值与预定阈值进行比较。如果所识别的峰值高于阈值,则峰值功率降低器102可以确定将原始数据总线信号970和974中的一个或多个进行平移,或者等同地对原始功率信号972和976中的一个或多个进行平移。通过在时间上对一个或多个原始信号进行平移,峰值功率降低器102使得设备中的峰值功耗量有所降低。
通常,为了确定要对信号进行平移的适当时间长度,峰值功率降低器102可以识别适当间隔(即,对应于数据总线信号970或974的周期)并且将数据总线信号974或功率信号976平移适当数量而使得平移功率信号中的瞬态并不与功率信号972中的瞬态对准。
图10示出了根据本公开的说明性实施例的设备中的平移功率信号的示图1000。与示图900中相同,示图1000包括数据总线信号970以及表示设备所消耗的功率量的相对应的功率信号972。示图1000中的数据总线信号970和功率信号972是与图900中所示的相同信号。此外,示图1000包括指示第二通道上的数据传输次数的平移数据总线信号1074和相对应的平移功率信号1076。
平移数据总线信号1074和平移功率信号1076对应于图9中的原始数据总线信号974和原始功率信号976的平移版本。特别地,峰值功率降低器102可以识别出数据总线信号970和974或者功率信号972和976的相对相位。如图9所示,功率信号972和976是同相或对准的。信号部分识别器114因此可以识别出数据总线信号974和/或原始功率信号976中要进行平移以使得所产生的功率信号的瞬态并不与原始功率信号976对准的部分。因此,信号部分平移器116可以将功率信号976延迟半个周期以产生平移功率信号1076。在这种情况下,平移功率信号1076与原始功率信号972的相位相差180度。由于功率信号并不同相,所以所产生的组合功率信号1078并不具有如原始组合信号978中所示的高峰值。因此,组合功率信号1078与原始组合功率信号978相比具有较低的峰值幅度。通过将功率信号之一平移一个时间量而使得功率信号972和1076并不对准,峰值功率降低器102使得设备中的峰值功耗量有所降低。
如图9和10所示,峰值功率降低器102确定了原始功率信号972和976是对准的。因此,将原始功率信号之一平移半个周期使得所产生的功率信号972和1076并不对准。通常,峰值功率降低器102可以确定所接收的功率信号之间的任意相对相位差,并且可以确定将一个或多个功率信号平移任意适当数量以使得所产生的功率信号并不同相或者使得所产生的组合功率信号与原始组合功率信号相比具有更低的峰值幅度。
本文所描述的***和方法描述了降低表示两个通道上的功耗量的两个功率信号上的峰值功耗的量。通常,本领域技术人员将会理解的是,本文所描述的***和方法可以扩展至降低表示任意数量的通道上的功耗的任意数量的供应信号上的峰值功耗量。
图11示出了根据本公开实施例的用于确定是否要对功率信号的一部分进行平移的处理1100的流程图。过程1100包括接收第一信号(1102),接收第二信号(1104),并且生成组合信号(1106)。过程1100还包括确定组合信号是否超过阈值(1108),并且如果是,则对第二信号的一部分进行平移(1110)。
在1102,接收器109从信号源104接收第一信号。该第一信号是原始信号106并且可以对应于诸如功率信号332、972或652的功率信号。在某些实施方式中,第一信号是功率信号332或972并且表示设备在数据通过第一通道进行传输时所消耗的功率量。特别地,第一信号可以是对应于数据总线信号330或970的功率信号。在其它实施方式中,第一信号是诸如数据总线信号330或970的数据总线信号。当第一信号是数据总线信号时,第一信号可以具有二进制数值(即,0和1),并且在数据通过第一通道进行传输时具有高数值,并且在没有数据通过第一通道进行传输时具有低数值。在这种情况下,峰值功率降低器102可以基于第一信号得出相对应的功率信号。所得出的功率信号可以对应于功率信号332或972。
在某些实施方式中,第一信号是功率信号652并且表示设备在该设备中的通道处于某种状态时所消耗的功率量。例如,功率信号652在设备中的第一通道处于就绪状态时(即,就绪/繁忙信号650为高时)接近于零,并且在第一通道处于繁忙状态时(即,就绪/繁忙信号650为低时)为正弦曲线。在其它实施方式中,第一信号是诸如就绪/繁忙信号650的就绪/繁忙信号。当第一信号是就绪/繁忙信号时,第一信号可以具有二进制数值(即,0和1),并且在第一通道处于就绪状态时具有高数值,并且在第一通道处于繁忙状态时具有低数值。在这种情况下,峰值功率降低器102可以基于第一信号得出相对应的功率信号。所得出的功率信号可以对应于功率信号652。
在1104,接收器109从信号源104接收第二信号。如以上针对第一信号所描述的,第二信号是原始信号106并且可以对应于诸如功率信号336、976或656的功率信号。在某些实施方式中,第二信号是功率信号336或976并且表示在数据通过第二通道进行传输时由设备所消耗的功率数量。在其它实施方式中,第二信号是诸如数据总线信号334或974的数据总线信号。在这种情况下,峰值功率降低器102可以基于第一信号得出相对应的功率信号。所得出的功率信号可以对应于功率信号336或976。
在某些实施方式中,第二信号是功率信号656并且表示在该设备中的通道处于某种状态时由设备所消耗的功率数量。在其它实施方式中,第二信号是诸如就绪/繁忙信号654的就绪/繁忙信号。在这种情况下,峰值功率降低器102可以基于第二信号得出相对应的功率信号。所得出的功率信号可以对应于功率信号656。
在1106,信号组合器基于第一信号和第二信号生成组合信号。在某些实施方式中,如果第一和第二信号是表示设备所消耗的功率数量的功率信号,则组合信号是第一信号和第二信号之和。否则,如以上所描述的,组合信号可以是从第一信号和第二信号所得出的功率信号之和。通常,组合信号可以是第一和第二信号的线性组合。
如以上所描述的,组合信号是基于所接收的第一信号和所接收的第二信号。通常,本文所描述的***和方法并不局限于两个所接收信号并且可应用于任意数量的信号。
在1108,峰值功率降低器102确定组合信号是否超过了阈值。特别地,峰值识别器112可以识别出在1106处生成的组合信号中的最大组合功率量。所识别的最大值可以与预定阈值进行比较,预定阈值可以由用户进行设置或者从用户输入得出。该阈值可以对应于设备可承受的最大功耗量。例如,用户可以设置设备可承受的最大功耗量。可替换地,峰值功率降低器102可以被配置为允许该阈值随时间发生变化。例如,第一设备的功耗约束可以取决于第二设备的峰值功耗的量。特别地,当第二设备消耗大量功率时,第一设备可承受的最大功耗的阈值与第二设备消耗较少数量的功率时相比可以更小。通常,该阈值可以以任意多种方式进行设置,并且可以是固定的或者随时间变化的。
在1110,如果峰值功率降低器102确定了组合信号超过了阈值,则对第二信号的一部分进行平移。在某些实施方式中,信号部分识别器114识别出第二信号和/或第一信号中要进行平移的部分。在某些实施方式中,所识别的(多个)部分被统一平移,这意味着整个(多个)部分都被平移恒定数量(即,图4、7、8和10)。在其它实施方式中,所识别的(多个)部分被非统一地进行平移,而使得相同信号的不同部分被平移不同量(即,图5)。对一个或多个信号进行平移的方式的这些各种实施方式结合图12进行更为详细地描述。
图12示出了根据本公开实施例的用于确定如何对功率信号的一部分进行平移的过程1200的流程图。过程1200包括确定对信号的一部分进行平移(1202),并且识别出要进行平移的信号部分(1204)。如果不期望对该信号部分进行统一平移(1206),则对信号部分进行交织而使得任意重叠部分互相都不同相(1208)。否则,如果期望对信号部分进行统一平移(1206),并且允许重叠(1210),则对信号部分进行平移而使得重叠部分并不同相。否则,如果期望不允许重叠(1210),则识别出重叠间隔(1212),并且以重叠间隔对信号部分进行平移(1214)。
在1202,峰值功率降低器102确定对信号的一部分进行平移。在一个示例中,诸如在图11的1108,在确定了组合功率信号超过阈值时确定对信号的一部分进行平移。通常,峰值功率降低器102可以使用任意其它原因来确定对信号的一部分进行平移。
在1204,信号部分识别器114识别出信号中要平移的部分。例如,可以识别一个或多个信号的一个或多个部分。特别地,可能期望对一个信号的一部分进行平移。在其它实施方式中,可能期望对两个信号的部分进行平移。
在1206,峰值功率降低器102确定是否对所识别的部分进行统一平移。例如,峰值功率降低器102可以确定是否期望对功率信号336统一平移而使得信号传输速率并不发生变化(即,图4中的功率信号436)。特别地,非统一地对信号部分进行平移可能是高成本的,并且更为简单的操作则可能更为廉价。此外,可能期望保持数据传输速率不变。在这些情况下,可能期望对信号部分执行统一平移。
可替换地,如果改变数据速率是可承受的,并且如果期望跨不同通道具有一些重叠间隔,则可能期望对信号部分进行非统一地平移。在一个示例中,峰值功率降低器102可以确定进行非统一平移,而使得数据传输速率有所变化(即,图5中的功率信号532和536)。
在1208,如果期望非统一地对各部分进行平移,则信号部分平移器116对信号部分进行交织而使得重叠部分互相并不同相。例如,第一信号和第二信号的不同部分可以被识别并且以不同时间量被延迟或提前。如关于图5所描述的,当数据通过两个通道进行传送时,数据传输的速率对于相同信号的不同部分可能有所不同。特别地,数据总线信号530和534的部分可能具有比其它部分(即,部分540和546)更慢的速率(即,部分542和544)。具有更慢速率的部分可以在时间上互相重叠并且被交织或者不同相,而使得在数据在任意给定时刻都不同时在两个通道上进行传送。
如果期望对各部分统一平移,则在1210还确定是否期望允许各部分重叠。作为示例,在组合功率分布(即,组合功率信号858)在时间上短暂很重要时,峰值功率降低器102可以允许各部分有所重叠。否则,在不期望考虑不同功率分布的相对相位时,峰值功率降低器102可以不允许各部分重叠。
如果不允许各部分重叠,则峰值功率降低器102在1212识别出重叠间隔。重叠间隔可以对应于图3中的间隔335或者图6中的间隔655。在某些实施方式中,识别出诸如重叠间隔335的重叠间隔,其对应于组合功率信号338在其间超过阈值(其可以与1108所使用的阈值相同或不同)的间隔。在识别出重叠间隔之后,信号部分识别器114可以识别出第二功率信号(例如,信号336)中要进行平移的部分。第二功率信号336中所识别的部分可以对应于间隔333,或者对应于数据在第二通道上进行传送的时间。在1214处,信号部分平移器将所识别的部分延迟对应于重叠间隔335的时间量,产生图4中的平移的功率信号436。
在其它实施方式中,信号部分平移器116将第一信号和第二信号两者的部分进行平移。特别地,信号部分识别器114可以识别出第一信号和第二信号中进行平移的部分。例如,功率信号332的所显示部分可以在时间上被提前与重叠间隔335的一半相对应的量,并且功率信号336的所显示部分可以在时间上被延迟重叠间隔335的一半。在这种情况下,所产生的平移功率信号并不重叠,并且峰值功耗的量有所降低。通常,一个或多个信号可以进行平移以减少数据在其间通过多个通道进行传送的时间间隔之间的重叠量。
在其它实施方式中,在1212所识别的重叠间隔是图6中的重叠间隔655。在1214,功率信号656中对应于间隔653的部分被延迟对应于重叠间隔655的数量(即,产生平移功率信号756)。在其它实施方式中,信号部分平移器116对第一信号和第二信号的部分进行平移。在这种情况下,信号652和656都被平移而使得所产生的平移信号并不互相重叠。
可替换地,如果在1210允许各部分重叠,则信号部分平移器116对信号的各部分进行平移而使得任意重叠部分都不同相。例如,原始功率信号656被延迟半个周期,产生平移功率信号856,其与原始功率信号652的相位相差180度。在另一个示例中,原始功率信号976被延迟半个周期,产生并不与原始功率信号972对准的平移功率信号1076。
本文所描述的***和方法包括降低具有两个通道的设备中的峰值功耗量,其中每个通道与数据总线信号、就绪/繁忙信号和功率信号相关联。通常,本领域技术人员将会理解的是,本文所描述的***和方法可应用于具有任意数量的通道的设备,并且可以使用任意类型的信号来指示作为时间函数的由通道所消耗的功率量。本文的公开通常可应用于对任意数量的信号的任意数量的部分进行平移而使得设备中的峰值功耗量有所降低。如本文所描述的,该平移可以以任意数量的方式来执行,包括统一地、非统一地、提前、延迟,用于对信号的一部分进行平移的任意其它适当方法或者其任意组合。
图13示出了诸如图1的***中的任意组件的计算设备的框图,其用于执行本文所描述的任意过程。虽然这里的公开被描述为用于降低峰值功耗量的计算设备1300,但是计算设备1300的任意一个或多个部分可以单独用来执行本文所描述的任意过程。作为示例,***100可以耦合至CPU1306,并且将要理解的是,CPU1306可以单独执行本文所描述的任意过程。计算设备1300可以被用来确定所期望的操作模式,并且基于所期望的操作模式对开关位置进行配置(即,断开或闭合)。这些***中的组件中的每个组件可以在一个或多个计算设备1300上实施。在某些方面,这些***的多个组件可以包括在一个计算设备1300内。在某些实施方式中,组件和存储设备可以跨若干计算设备1300来实施。
计算设备1300包括至少一个通信接口单元、输入/输出控制器1310、***存储器以及一个或多个数据存储设备。***存储器包括至少一个随机访问存储器(RAM1302)以及至少一个只读存储器(ROM1304)。所有这些元件都与中央处理器(CPU1306)进行通信以促成计算设备1300的操作。计算设备1300可以以许多不同方式进行配置。例如,计算设备1300可以是常规的独立计算机,或者可替换地,计算设备1300的功能可以跨多个计算机***和架构进行分布。在图13中,计算设备1300经由网络1318或本地网络链接至其它服务器或***。
计算设备1300可以以分布式架构进行配置,其中数据库和处理器被容纳在单独的单元或位置中。一些单元执行主要处理功能并且至少包含通用控制器或处理器以及***存储器。在分布式架构的实施方式中,这些单元中的每一个可以经由通信接口单元1308附接至通信集线器或端口(未示出),该通信集线器或端口用作与其它服务器、客户端或用户计算机以及其它相关设备的主要通信链路。该通信集线器或端口自身可以具有最少处理能力,主要用作通信路由器。各种通信协议可以是***的一部分,包括但并不局限于以太网、SAP、SASTM、ATP、蓝牙TM、GSM和TCP/IP。
CPU1306包括处理器,诸如一个或多个常规微处理器以及一个或多个补充协同处理器,诸如用于缓解CPU1306的工作负荷的数学协同处理器。CPU1306与通信接口单元1308和输入/输出控制器1310进行通信,CPU1306通过它们与诸如其它服务器、用户终端或设备的其它设备进行通信。通信接口单元1308和输入/输出控制器1310可以包括用于同时与例如其它处理器、服务器或客户端终端进行通信的多个通信通道。
CPU1306还与数据存储设备进行通信。数据存储设备可以包括磁性、光学或半导体存储器的适当组合,并且例如可以包括RAM1302、ROM1304、闪存、诸如紧致盘的光盘或者或硬盘或硬盘驱动器。CPU1306和数据存储设备例如均可以完全位于单个计算机或其它计算设备之内;或者通过通信介质互相连接,诸如USB端口、串行端口线缆、同轴线缆、以太网线缆、电话线、射频收发器或其它类似的无线或有线介质或者以上的组合。例如,CPU1306可以经由通信接口单元1308连接至数据存储设备。CPU1306可以被配置为执行一个或多个特定处理功能。
数据存储设备例如可以存储(i)用于计算设备1300的操作***1312;(ii)被适配为根据这里所描述的***和方法特别是根据关于CPU1306详细描述的过程对CPU1306进行指示的一个或多个应用1314(例如,计算机程序代码或计算机程序产品);或者(iii)被适配为存储信息的(多个)数据库1316,其可用来存储程序所需信息。
操作***1312和应用1314例如可以以压缩、非编译和加密格式进行存储,并且可以包括计算机程序代码。程序的指令可以从数据存储设备以外的计算机可读介质读入处理器的主存储器,诸如从ROM1304或RAM1302读入。虽然程序中的指令序列的执行使得CPU1306执行本文所描述的处理步骤,但是可以替代软件指令或者与之相结合地使用硬线电路来实施本公开的过程。因此,所描述的***和方法并不局限于硬件和软件的任何具体组合。
可以提供适当计算机程序代码来执行与如本文所描述的降低峰值功耗量相关的一个或多个功能。程序还可以包括诸如操作***1312、数据库管理***和“设备驱动器”的程序元素,其允许处理器经由输入/输出控制器1310与计算机***设备(例如,视频显示器、键盘、计算机鼠标等)进行对接。
如本文所使用的术语“计算机可读介质”是指向计算设备1300(或者本文所描述设备的任意其它处理器)提供或参与向其提供指令以便执行的任意非瞬态介质。这样的介质可以采取许多形式,包括但并不局限于非易失性媒体和易失性媒体。非易失性媒体例如包括光学、磁性或光学磁盘,或者诸如闪存的集成电路存储器。易失性媒体包括动态随机访问存储器(DRAM),其通常构成主存储器。常见形式的计算机可读媒体例如包括软盘、柔性盘、硬盘、磁带、任意其它磁性介质、CD-ROM、DVD、任意其它光学介质、打孔卡、纸带、具有开孔图案的任意其它物理介质、RAM、PROM、EPROM或EEPROM(电可擦除可编程只读存储器)、FLASH-EEPROM、任意其它存储器芯片或盒式磁盘,或者计算机能够从其进行读取的任意其它非瞬态介质。
在向CPU1306(或者本文所描述设备的任意其它处理器)输送一个或多个指令的一个或多个序列以供执行时可以涉及到各种形式的计算机可读媒体。例如,指令最初可以处于远程计算机(未示出)的磁盘上。该远程计算机可以将指令加载到其动态存储器中并且通过以太网连接、线缆线路或者甚至使用调制解调器而通过电话线发送该指令。计算设备1300本地的通信设备(例如,服务器)能够在相应通信线路上接收到该数据并且将该数据置于用于处理器的***总线上。该***总线将该数据送至主存储器,处理器从那里获取并执行指令。在被处理器执行之前或之后,主存储器所接收的指令可选地可以存储在存储器中。此外,指令可以作为电、电磁或光学信号而经由通信端口被接收,它们是承载各种类型的信息的无线通信或数据流的示例性形式。
虽然本文已经示出并描述了本公开的各个实施例,但是对于本领域技术人员将会显而易见的是,这样的实施例仅是作为示例而被提供。现在本领域技术人员将进行多种变化、改变和替换而并不背离本公开。应当理解的是,在实践本公开时可以采用针对这里所描述的本公开的实施例的各种替换。以下权利要求意在定义本公开的范围,并且处于这些权利要求范围之内的方法和结构及其等同形式因此被得以覆盖。