动态存储缓冲器的制作方法

文档序号:6491707阅读:284来源:国知局
专利名称:动态存储缓冲器的制作方法
技术领域
本发明涉及动态存储缓冲器;本发明尤其涉及而并非仅仅涉及用于资源受约束的多应用环境中的动态存储缓冲器,其中有益地减少了功率耗散。此外,本发明还涉及一种用于在这种动态存储缓冲器中减少功率耗散的方法。
例如输入/输出缓冲器(I/O缓冲器)之类的存储缓冲器是公知的;这种缓冲器包括先进先出(first-in first-out FIFO)寄存器和诸如静态随机存取存储器(static random access memory SRAM)之类的存储装置,其被配置成依照类似于这种FIFO的方式执行。这些缓冲器的应用常常结合机械装置,所述机械装置诸如光文本/图片扫描器、CCD成像装置、打印机、磁盘驱动器和光盘驱动器。这种机械装置常常能够以明显不同于基本电子装置的速率来连续地接收和/或输出数据,所述电子装置诸如微处理器和相关联的外围组件(诸如解码器)。为了使机械装置能有效地与基本电子装置操作,这种缓冲器常常用于防止机械装置和电子装置在操作中延迟和/或彼此相对短暂停止。
当设计包括基本电子装置和机械装置的组合的系统时,已知考虑到所述装置的数据速率处理能力,来有利地选择在所述电子和机械装置之间对接所要求的存储缓冲器大小。例如当设计诸如便携式膝上计算机之类的设备和诸如流行DVD和MP3播放器/记录器之类的便携式视听设备时,考虑这种因素。
依照预期需求来动态地分配输入/输出缓冲器是已知的。为了互连的电子装置和机械装置不会由于相对不同的数据输出/接收速率而彼此相互延迟,常规作法是提供相当大于为防止这种延迟所要求的最小尺寸的缓冲器。
然而,在本领域中例如在公布的美国专利号US 5,951,658中已知的是在数据存储系统内管理缓冲。在所述系统中,产生I/O请求的用户或/和应用程序使所述系统把控制权传递给其所管理的缓冲设备。在所管理的缓冲设备操作期间,询问用户或应用请求以便确定所述用户/应用将怎样读取或写入数据。根据想要的使用,所述系统根据对相关联数据所想要的访问来向用户/应用分配其缓冲器,所述相关联的数据例如文件大小和/或存储装置属性。
发明人认识到对于流行的多应用和资源受约束的系统,例如用户交互计算装置、便携式计算机、消费者音频和/或视频设备等,在其中包括存储缓冲器是有益的,优选地是,关于在所述系统内出现的功率耗散来管理所述存储缓冲器。发现这种管理当系统易于执行具有相互不同的流送比特率需求的多个应用时尤为有益。鉴于这种方法,发明人设计了本发明。
本发明尤其适用于这样的便携式装置,其中例如来自可充电和/或一次性电池的可用功率是有限的和/或在这种装置内的功率耗散易于带来热载荷问题。
本发明的第一目的在于提供一种动态存储缓冲器,所述动态存储缓冲器结合多应用的资源有限系统能够提供功率的耗散减少。
本发明的第二目的在于提供一种动态存储缓冲器,其大小可动态变化地依赖于对其的需求,同时试图减少其中出现的功率耗散。
依照本发明的第一方面,提供了一种用于在计算装置上执行的一个或多个软件应用和一个或多个数据产生和/或接收装置之间进行缓冲的动态存储缓冲器,所述一个或多个数据产生和/或接收装置通过所述缓冲器与所述一个或多个应用通信,所述缓冲器包括缓冲器管理装置,用于控制把所述缓冲器的一个或多个部分分配给所述一个或多个应用以减少在所述一个或多个装置内所出现的功率耗散。
由于本发明能够实现减少在一个或多个装置中所出现的功率耗散以及确保更有效使用缓冲器中的至少一个,所以本发明是有利的。
优选地是,在缓冲器中,管理装置可操作来响应于由一个或多个应用对缓冲器的数据流送速率需求来控制所述缓冲器的一个或多个部分的分配。当进行数据流送时,缓冲器容量的分配尤其与减小功率耗散有关。
优选地是,在缓冲器中,管理装置可操作来响应于接近一个或多个装置的最大可允许功率耗散限值来控制对所述缓冲器的一个或多个部分的分配。根据最大功率阈值来确定缓冲器分配是管理装置控制缓冲器的较直接的方式。
优选地是,在缓冲器中,管理装置可操作来响应于一个或多个装置中的分数倍数功率耗散来对所述缓冲器的一个或多个部分的分配,所述分数倍数功率耗散与一个或多个应用出现的相应潜在渐近功率耗散成比例,所述一个或多个应用与基本上不受限的缓冲存储器容量相关联。更优选地是,分数倍数功率耗散在相应潜在渐近功率耗散的105%到300%的范围内。更为优选地是,分数倍数功率耗散基本为相应潜在渐近功率耗散的110%。
为了使缓冲器能够更适应对其的不可预测和/或新类型的需求,管理装置被实现为神经网络,所述神经网络可操作来通过导出在一个或多个装置中所耗散的功率量度并且使用所述量度来控制对所述缓冲器的一个或多个部分的分配,从而迭代地减少在所述一个或多个装置内出现的功率耗散。
计算装置、缓冲器和一个或多个装置当结合在所述计算装置上执行的一个或多个软件应用操作时相当于多应用资源受限的系统。有利地是,这种系统是能够播放和/或记录节目材料的音频和视频设备中的至少一个。
优选地是,例如为了减少实现的成本和复杂性,在缓冲器中,用可在计算装置和一个或多个装置中的至少一个上执行的软件来实现管理装置。
在缓冲器中,优选地是,在管理装置中包括预定数据阵列以用于响应于一个或多个应用所要求的数据速率和/或一个或多个装置的预定功率耗散限值,来把缓冲器的一个或多个部分分配给所述一个或多个应用。
在所述缓冲器中,优选地是,至少部分缓冲器包括电子冲击防护(electronic shock protection ESP)缓冲器。
优选地是,为了在数据流送操作期间减少一个或多个装置的耗散,至少一个装置被配置成当流送数据时在停止开始切换占空度模式中操作。
依照本发明的第二方面,提供了一种控制用于在计算装置上执行的一个或多个软件应用和一个或多个数据产生和/或接收装置之间进行缓冲的动态存储缓冲器的方法,所述一个或多个数据产生和/或接收装置通过所述缓冲器与所述一个或多个应用通信,所述方法包括配置所述缓冲器以便包括缓冲器管理装置的步骤,所述缓冲器管理装置用于控制把所述缓冲器的一个或多个部分分配给所述一个或多个应用以便减少在一个或多个装置内所出现的功率耗散。
所述方法易于解决本发明上述目的中的至少一个。
优选地是,在所述方法中,管理装置可操作来响应于由一个或多个应用对缓冲器的数据流送速率的需求来控制对所述缓冲器的一个或多个部分的分配。
优选地是,在所述方法中,管理装置可操作来响应于接近一个或多个装置的最大可允许功率耗散限值来控制对所述缓冲器的一个或多个部分的分配。
优选地是,在所述方法中,管理装置可操作来响应于一个或多个装置中的分数倍数功率耗散来控制对缓冲器的一个或多个部分的分配,所述分数倍数功率耗散与一个或多个应用出现的相应潜在渐近功率耗散成比例,所述一个或多个应用与基本上不受限的缓冲存储器容量相关联。更优选地是,在所述方法中,分数倍数功率耗散在相应潜在渐近功率耗散的105%到300%的范围内。更为优选地是,分数倍数功率耗散基本为相应潜在渐近功率耗散的110%。
优选地是,在所述方法中,管理装置被实现为神经网络,所述神经网络可操作来通过导出在一个或多个装置中所耗散的功率量度并且使用所述量度来控制对缓冲器的一个或多个部分的分配,从而迭代地减少在所述一个或多个装置内出现的功率耗散。
优选地是,在所述方法中,计算装置、缓冲器和一个或多个装置当结合在所述计算装置上执行的一个或多个软件应用操作时相当于多应用资源受限的系统。
优选地是,例如为了降低成本和/或简化所述方法的应用,用可在计算装置和一个或多个装置中的至少一个上执行的软件来实现管理装置。
优选地是,在所述方法中,在管理装置中包括预定数据阵列以用于响应于一个或多个应用所需求的数据速率和/或一个或多个装置的预定功率耗散限值,来把缓冲器的一个或多个部分分配到所述一个或多个应用。
优选地是,例如为了克服当把所述方法应用于诸如音频CD播放器之类的便携式装置时的机械冲击,至少部分缓冲器包括电子冲击防护(ESP)缓冲器。
优选地是,为了在数据流送期间使耗散潜在减少,至少一个装置被配置成当流送数据时依照停止开始切换占空度模式操作。
应当理解的是,在不脱离本发明范围的情况下,易于依照任何组合来组合本发明的特征。
现在将仅以举例形式,参考下列图来描述本发明的实施例,其中

图1是包括在机械装置和在计算硬件上所执行的软件应用之间所插入的存储缓冲器的配置的示意图,所述机械装置例如磁和/或光盘驱动器之类的存储装置;图2是图示对于通过存储缓冲器的512千比特/秒(512kbps)平均流送数据比率传输而言,作为缓冲器大小的函数的存储缓冲器内出现的功率耗散的第一图;图3是还包括用于控制在功率上有效使用缓冲器的缓冲器管理部件的图1配置的示意图;图4是图示对于通过图3的存储缓冲器的128千比特/秒(128kbps)直到1.44兆比特/秒(1.44Mbps)的范围内各种相互不同的平均传输数据速率而言,作为缓冲器大小的函数的图3的存储缓冲器内功率耗散变化的第二图;图5是图示作为缓冲器大小的函数的图3的存储缓冲器内功率耗散的第三图,所述第三图具有对应于各个平均传输数据速率实现所述缓冲器内的给定功率耗散所要求的最小缓冲器大小的标记;和图6是图示对于平均传输数据速率的范围而言,作为缓冲器大小的函数的图3的存储缓冲器内功率耗散的第四图,所述第四图具有对应于分数倍数最小渐近功率耗散的标记和与其对应的相应缓冲器大小。
本发明基于存储器装置操作所采用的特定方式。在图1中,示出了总体上用10来标示的存储装置配置。配置10包括存储装置(存储装置)20、存储缓冲器(缓冲器)30和包括在计算机硬件(未示出)上执行的一个或多个单个软件应用的一个软件应用组(应用)40。存储装置20经由第一数据连接50耦合到存储缓冲器30的第一端口。类似地是,软件应用组40通过其计算机硬件并且经由第二数据连接60链接到缓冲器30的第二端口。
作为候选例子,缓冲器30易于配备有单个双向端口,用于依照交错方式处理向其输入的数据和从其输出的数据,例如像芯片外(off-chip)动态随机存取存储器(DRAM)。
数据流易于通过缓冲器30单向或双向操作地发生。优选地是,缓冲器30由芯片上半导体静态随机存取存储器(SRAM)和芯片外半导体静态动态随机存取存储器(SDRAM)中的至少一个实现。另外或作为选择,缓冲器30由DRAM实现,不过其它技术也是可行的,例如磁存储器。软件应用组40例如易于是音频重放、视频重放、音频记录和视频记录中的至少一个。
当存储装置20被实现为一个或多个机械存储驱动器(例如一个或多个磁硬盘部件和光盘部件)时,本发明是尤为适当的。这种驱动器具有确定的最大比特率BRmax,所述驱动器能够以所述比特率访问在物理介质中所存储的数据和/或向所述介质写入数据,所述介质例如是在可磁化磁性层中的磁畴。此外,对于不同类型的存储装置,此最大比特率BRmax是不同的。此外,这些驱动器都具有相关联的最小能量阈值功率Pmin,所述阈值功率Pmin为所述驱动器在操作中所耗散的功率。阈值功率Pmin例如包括机械致动和光激发中的一个或多个。机械致动包括用于相对于相关联的读取/写入头来旋转磁或光盘的电机。类似地是,光激发包括使固态激光器依照稳定方式进行写入数据和/或读出数据所需要的激光电流,还包括光检测器放大器偏置电流。最小功率Pmin基本上独立于输出的数据比特率或能够由驱动器接收。
把这种驱动器修改成以更高比特率运行通常例如依照基本上如方程式1(Eq.1)所描述的方式来渐增地增加到最小功率PminPdrive=Pmin+(K0.BRmax)(Eq.1)其中Pdrive=驱动器在操作中所消耗的功率;和K0=比例系数。
对于确定类型的驱动器,由所述驱动器所消耗的功率Pdrive潜在地是最大比特率BRmax的高阶多项式函数而不是如在方程式1中所提供的线性函数。此外,确定类型的驱动器会在相应的功率消耗下要求一些初始时间来启动;例如光盘驱动器包括电动机,所述电机要求一定时间来把光盘加速到适当的角速度以便稳定地从光盘中获取数据和/或向其可靠地写入数据。由方程式1大体上所描述的适合恒定操作的专有驱动器的例子是基于固态蓝激光技术的菲利浦专有“便携式蓝”驱动器,所述蓝光技术是能够最大读出比特率为30兆比特/秒的“蓝光”光驱动器配置的微型版本。这种读出速率比诸如解码器之类的许多电子装置能够处理的速率更快。
还结合对应于图1中的应用组40的一个或多个软件应用来适当地考虑这种驱动器的操作,这种一个或多个应用在计算硬件上执行并且可操作来访问一个或多个这种驱动器。当所述应用与一个或多个驱动器通信以便随机访问其中的数据和/或随机向其写入数据时,即在配置10的第一操作模式中,所述一个或多个驱动器有利地以最大速度操作,即以最大比特率BRmax操作,以便除非绝对必要否则不会延迟应用;在这种第一操作模式中,缓冲器30的包括并不能减少所述配置10内出现的功率消耗。
与之对比,即在第二操作模式中,一个或多个应用可能要求依照“流送”方式来访问一个或多个驱动器,其中从所述一个或多个驱动器读出数据和/或向其写入数据的平均速率比最大比特率BRmax要低。本发明尤其与第二操作模式有关,这是因为包括缓冲器30易于减少在配置10内所出现的功率消耗。
依照“流送”方式利用驱动器的实际例子处于诸如流行数字化视频光盘(DVD)设备和光盘(CD)设备之类的视听设备中。在音频重放中,常常遇到在128到1440千比特/秒(kbps)范围内的平均“流送”数据速率。类似地是,在视频重放中,常常遇到384kbps及以上的平均“流送”数据速率。
当依照流送方式操作配置10时,发明人认识到缓冲器30的包括避免了存储装置20连续地操作而为来自一个或多个应用的最大比特率提供服务。换句话说,包括缓冲器30使装置20能够依照具有占空度D停止开始方式运行,所述占空度D如方程式2(Eq.2)提供D=(TONTOFF+TON)---(Eq.2)]]>其中TON是装置20在流送期间以最大比特率BRmax操作的平均时间周期;并且
TOFF=装置20在流送期间以断电状态操作的平均时间周期。
因而,缓冲器30接收和/或向装置20递送数据的峰值比特率是BRmax,而向和/或从装置20递送数据的平均速率是BRavr,所述BRavr由方程式3(Eq.3)提供BRavr=D.BRmax(Eq.3)平均功率消耗Pavr可近似地根据方程式4(Eq.4)计算Pavr=D.[Pmin+(K0.BRmax)]+(1-D).Poff(Eq.4)对于每个接通周期TON忽略在初次起动时的能量耗散;Poff是当处于断开状态时在装置20内所出现的待机功率耗散。
如果装置20被设计成用于以平均比特率BRavr连续地操作,并且以此速率连续地提供和/或接收数据,那么如方程式5(Eq.5)所示可从方程式1计算其等效功率消耗PeqPeq=Pmin+(K0.BRavr)(Eq.5)与上述第二操作模式有关的本发明依赖于在数据经由缓冲器30向和/或从应用40流送期间功率Pavr小于功率Peq,所述功率Pavr为根据方程式4基于操作的开始停止模式时的功率,所述功率Peq为装置20被设计成以平均比特率BRavr连续操作时的功率;换句话说,本发明依赖于Pavr<Peq。
本发明还基于发明人认识到上述方程式4是在每个接通周期TON开始时忽略起始功率耗散Pstart的近似。在方程式6(Eq.6)中提供了在该装置中平均功率使用Pavr的更准确的指示Pavr=(PstartTON+TOFF)+D.[Pmin+K0.BRmax]+(1-D).Poff---(Eq.6)]]>方程式6描述了在图2中可以看到的功率曲线形式,在图2中用100来指示一个图表。所述图100包括表示缓冲器30大小的横轴110,以及表示在装置20内出现的功率耗散的纵轴120。在实践中,会涉及到稍微更复杂的模型,原因在于大小很大的缓冲器30也具有与其相关联的更高功率消耗,不过这种消耗相对于在装置20内所出现的功率消耗被认为是次要影响。功率曲线130对应于从和/或向装置20的512千比特/秒的平均比特率Bavr。从曲线130可以看出在配置10内的功率耗散随缓冲器30大小减少到2兆比特(Mb)以下而迅速增加。在2兆比特/秒以上,功率消耗渐近地降低到由Pas所标示的最小功率消耗。
在配置10中,由于实际原因,例如出于成本考虑,配置20对应于廉价大量生产的消费产品,所以缓冲器30的大小必须是有限的。一方面,有利地选择缓冲器30的大小以便符合配置10的给定功率预算;稍后参考图5还将阐明这种缓冲器大小的选择。另一方面,发明人认识到还可以依照几种可选择的方式来实现在配置10内出现的缓冲器大小和功率耗散之间的折衷,例如(a)可以按照渐近值Pas的某一分数倍数选择折衷,诸如值Pas的1.3倍;或(b)可以在曲线130基本上与值Pas相似时选择折衷。
发明人还认识到在配置10对应于多应用环境的情况下曲线130过于简化,所述多应用环境即图1中的应用组40对应于多个并发执行的软件应用,其中多个应用中的每一个要求经由缓冲器30来访问装置20。在这种多应用环境中,由于多个应用潜在地可操作来以相互不同的平均比特率访问装置20,所以最优缓冲器大小的计算更为复杂。如先前所描述,缓冲器30本身就占有很大的成本;把所述缓冲器30配置得非常大是不经济的,而把所述缓冲器30配置得太小又会使当在配置10内执行多应用时所述缓冲器30饱和。
因而,发明人认识到执行多个软件应用(用1到n标示)的配置应该被提供一中间缓冲器,所述多个软件应用相对于存储装置访问具有相互不同的相关联的比特率要求,所述中间缓冲器具有例如缓冲器大小B1、B2、...、Bn之类的最优缓冲器大小,这些缓冲器对存储装置的功率耗散P1、P2、...、Pn的相应贡献对于为所述应用提供服务所需要的总缓冲器大小而言是易于被分别且单独计算出的,同时还能优化存储装置20内的功率耗散。为了进一步阐明本发明,现在描述图3。
在图3中,示出了一个配置,包括图1中图示的配置10的装置20、缓冲器30和应用组40。配置200还包括耦合到装置20、缓冲器30和计算硬件的缓冲器管理部件210,在所述计算硬件中执行应用组40。部件210可操作来管理分配给组40中每个应用的缓冲器30的区域大小,以便试图减少在装置20内出现的功率耗散。
部件210可操作来动态计算组40中的每个单个应用所需要的、缓冲器30的大小,并且分配所述缓冲器30的一部分以便在数据通信开始之前在应用和装置20之间流送这种数据通信。因而,优选地是,如果组40中的每个应用的数据速率恒定的话,那么为流送目的而向组40中的每个应用分配的缓冲器30部分保持不变;如果应用数据速率改变,例如因应用本身请求而改变,那么优选地是,部件210可操作来重新计算所述缓冲器30的适当部分继而把此部分重新分配给所述应用。为了确定缓冲器30的适当分配,部件210使用作为主要参数的(a)所述应用的比特率;和(b)所希望的装置20的功率耗散。
通过使用这些主要参数,依照本发明可以提供一种解决办法,用于动态管理缓冲器30以便为所希望的数据流送目的来更好地优化所述缓冲器的大小。这种动态管理涉及从装置20读取以及向所述装置20写入的数据。还应当理解,许多存储装置从装置20读取数据与向所述装置20写入数据相比表现出相互不同的速率;所述装置20内的这种读取/写入速度差异易于导致在操作中所述装置20内出现相互不同的功率耗散。
为了进一步阐明管理部件210的操作,现在描述图4。
在图4中,示出了总体上用300所指示的图。图300包括用于标示缓冲器30存储容量的横轴310,以及用于标示在装置20内出现的功率耗散的纵轴320。图300图示了缓冲器30的大小和对于通过缓冲器几个相互不同的平均数据流送速率(UDR)而言装置20中相关联的功率耗散之间的关系,所述不同的平均数据流送速率即128千比特/秒(kbps)、512kbps、1兆比特/秒(Mbps)和1.44Mbps。
从图4中可以看出所述图的曲线总体上随缓冲器大小增加而具有降低的渐近形式。对于每个曲线,存在相关联的渐近值;例如128kbps数据速率的曲线具有在数量级为10mW的渐近值Pas。此外,为了在Pas1的示例性功率限值(即16mW)实现,要求提供缓冲器30的具有Ba比特容量的一部分,即例如1.3Mbit。在此例子中,功率限值Pas1认为是渐近值Pas的分数倍数,即Pas1=1.6×Pas。如稍后更进一步阐明,分数倍数的其它例子也是可行的。
在配置200中,计算硬件并发执行“n”个软件应用,所述“n”个软件应用要求相应的缓冲器30部分,所述部分具有大小B1到Bn。对于“n”个应用中的每个使用缓冲器30在装置20中产生相应的功率耗散P1到Pn。在配置200的简单模型中,单个功率耗散P1和Pn的总和提供了在配置200内所出现的总功率耗散Psum的非常近似的指示,如方程式7(Eq.7)所示Psum=Σi=1nPi---(Eq.7)]]>然而,在实践中,为多个并发执行的应用计算在装置20内所出现的总耗散比在方程式7中所描述的复杂得多。
因而,管理部件210具有配置200的功率模型。此模型由部件210用来计算缓冲器30的最优部分,即Bopt,Bopt是为应用数据比率R提供服务所需要的。优选地是,采用在管理部件210所执行的软件中嵌入的数学函数形式来实现功率模型,所述模型被配置成接收数据速率R作为输入参数。作为选择或另外,功率模型易于被实现为在配置200的初始设计期间所准备的预先计算的表。优选地是,这种表包括最优缓冲器大小Bopt的几个值,这几个值对应于确定的速率值R;这几个值是优选的离散值和/或范围。更为优选的是,这种功率模型易于驻留在装置20本身中和/或用于执行应用组40的计算硬件中。有利地是,管理部件210易于作为在上述计算机硬件上所执行的特定进一步的软件应用提供。
在被配置成执行软件应用的配置200中,所述软件应用的性质和对装置20的数据速率需求事先是未知的,所述管理部件210易于被实现为智能神经网络并且迭代地分配缓冲器容量以减小功率耗散,所述智能神经网络被配置成针对各个数据速率需求R来监视所述装置20内的总功率耗散。优选地是,这种神经网络用软件来实现并且配备了在迭代最优缓冲器分配以减少总功率耗散时使用的、近乎合适的缓冲器大小。
为确定的应用数据速率计算最优缓冲器大小Bopt,易于用软件判定过程实现,所述软件判定过程由用于操作装置20的文件系统紧密执行。在这种安排中,优选地是,在上述计算硬件上执行的组40的一个或多个软件应用可操作来向判定过程发送信息表明对装置20的访问是否是流送要求,并且声明组40中的相关联应用访问所述装置20所想要的一个或多个数据速率。该判定过程使用上述功率模型来计算最优缓冲器大小Bopt继而分配缓冲器30的适当部分。优选地是,一个或多个软件应用和装置20都接收关于缓冲存储器地址的信息,所述缓冲存储器地址对应于所分配的缓冲器30部分。
问题是判定过程起作用所采用的方式。可以依照几种方法来解决对装置20中所出现的功率耗散的优化。有利地是,使由判定过程所进行的功率计算与其中数据速率R不发生变化的静态情形相同。然而,发明人确认了两种被认为尤为优选的方法,即第一功率预算方法和第二相互独立分配方法。现在参考图5和6进一步阐明这两个过程中的每一个。
参照图5,示出了总体上用400所指示的图。图400包括对应于所分配缓冲器30大小的横轴410。此外,图400包括对应于配置200的装置20内所出现的功率耗散的纵轴420。对应于流送数据速率128千比特/秒(kbps)、512kbps、1兆比特/秒(Mbps)和1.44Mbps,分别给出了功率耗散曲线。在图400中,还示出了由Pmax所表示的功率限值以及相应的缓冲器大小B1、B2、Bn,所述缓冲器大小B1、B2、Bn是分别达到适合数据速率128kbps、512kbps和1.44Mbps的功率限值Pmax所需要的。
在第一方法中,功率预算Pmax被指派在会耗散掉但不会超过的优选量值处。然后,对于正执行的应用组40,依照图400计算相应的最优缓冲器大小B1、B2、Bn。
参照图6,示出了总体上用500所表示的图。采用与图5类似的方式,图6的图500包括对应于所分配的缓冲器30大小的横轴510。此外,图500包括对应于配置200的装置20内所出现的功率耗散的纵轴520。对应于流送数据速率128千比特/秒(kbps)、512kbps、1兆比特/秒(Mbps)和1.44Mbps,分别给出了功率耗散曲线。
由于缓冲器30的大小被做得非常大,所以图500的曲线具有相关联功率耗散的渐近值。例如分别对于数据速率128kbps、512kbps和1.44,用Pas1、Pas2、...、Pasn表示这种渐近值。第二方法涉及把相应的缓冲器大小B1、B2、...、Bn选择为这些渐近值的分数倍数,即Pas1、Pas12和Pas1n,以致如图所示,它们分别基本上为分数倍数200% Pas1、130% Pas2和130% Pasn。然而,应当理解,可以选择其它分数量,例如在105%到300%的范围内的分数量。此外如果要求,如图所示,对于不同的数据速率R,可以使分数量互相不同。
在上文中,最优缓冲器大小的选择是基于缺少任何电子冲击防护(ESP)缓冲器的配置200的。然而,当包括ESP缓冲器时,可以采用类似于上述本发明的方式来把ESP缓冲器的各部分分配给软件应用。在由这种ESP缓冲器所提供的给定冲击防护持续时间内,可以根据处理的数据速率R来产生所分配的ESP缓冲器大小。
应当理解的是,在不脱离本发明范围的情况下,易于修改在上面所描述的本发明的实施例。
在上文中,使用了诸如“包括”、“包含”、“并入”、“具有”和“包含有”之类的表述,这种表达意在把本发明解释为非排它性的,即还兼顾了存在一个或多个附加项的可能。对单个的引用也应当被解释为包括多个,反之亦然。
权利要求
1.一种用于在计算装置上执行的一个或多个软件应用(40)和一个或多个数据产生和/或接收装置(20)之间进行缓冲的动态存储缓冲器(30,210),所述一个或多个数据产生和/或接收装置(20)通过所述缓冲器(30,210)与所述一个或多个应用(40)通信,所述缓冲器(30,210)包括缓冲器管理装置(210),所述缓冲器管理装置(210)用于控制把所述缓冲器(30)的一个或多个部分分配给所述一个或多个应用(40)以便减少在一个或多个装置(20)内所出现的功率耗散。
2.如权利要求1所述的缓冲器(30,210),其中所述管理装置(210)可操作来响应于由所述一个或多个应用(40)对缓冲器(30)的数据流送速率需求来控制对所述缓冲器(30)的一个或多个部分的分配。
3.如权利要求1或2所述的缓冲器(30,210),其中所述管理装置(210)可操作来响应于接近一个或多个装置(20)的最大可允许功率耗散限值来控制对所述缓冲器(30)的一个或多个部分的分配。
4.如权利要求1或2所述的缓冲器(30,210),其中所述管理装置(210)可操作来响应于在所述一个或多个装置(20)中的分数倍数功率耗散来控制对所述缓冲器(30)的一个或多个部分的分配,所述分数倍数功率耗散与一个或多个应用(40)所出现的相应潜在渐近功率耗散成比例,所述一个或多个应用(40)与基本上不受限的缓冲器(30)存储容量相关联。
5.如权利要求4所述的缓冲器(30,210),其中所述分数倍数功率耗散在相应潜在渐近功率耗散的105%到300%的范围内。
6.如权利要求5所述的缓冲器(30,210),其中所述分数倍数功率耗散基本为相应潜在渐近功率耗散的110%。
7.如权利要求1或2所述的缓冲器(30,210),其中所述管理装置(210)被实现为神经网络,所述神经网络可操作来通过导出在一个或多个装置(20)中所耗散的功率量度并且使用所述量度来控制对所述缓冲器(30)的一个或多个部分的分配,从而迭代地减少在所述一个或多个装置内所出现的功率耗散。
8.如先前权利要求中任何一个所述的缓冲器(30,210),其中所述计算装置、缓冲器(30)和一个或多个装置(20)当结合在所述计算装置上执行的一个或多个软件应用(40)操作时相当于多应用资源受限的系统。
9.如先前权利要求中任何一个所述的缓冲器(30,210),其中所述管理装置(210)用可在所述计算装置和一个或多个装置(20)中至少一个上执行的软件实现。
10.如权利要求9所述的缓冲器(30,210),其中在所述管理装置(210)中包括预定数据阵列以用于响应于一个或多个应用(40)所需求的数据速率和/或一个或多个装置(20)的预定功率耗散限值,来把所述缓冲器(30)的一个或多个部分分配到所述一个或多个应用(40)。
11.如先前权利要求中任何一个所述的缓冲器(30,210),其中至少部分缓冲器(30)包括电子冲击防护(ESP)缓冲器。
12.如先前权利要求中任何一个所述的缓冲器(30,210),其中所述装置(20)中的至少一个被配置成当流送数据时依照停止开始切换占空度模式操作。
13.一种控制用于在计算装置上执行的一个或多个软件应用(40)和一个或多个数据产生和/或接收装置(20)之间进行缓冲的动态存储缓冲器(30,210)的方法,所述一个或多个数据产生和/或接收装置(20)通过所述缓冲器(30,210)与所述一个或多个应用(40)通信,所述方法包括配置所述缓冲器(30,210)以便包括缓冲器管理装置(210)的步骤,所述缓冲器管理装置用于控制把所述缓冲器(30)的一个或多个部分分配给所述一个或多个应用(40)以便减少在一个或多个装置(20)内所出现的功率耗散。
14.如权利要求13所述的方法,其中所述管理装置(210)可操作来响应于由一个或多个应用(40)对缓冲器(30)的数据流送速率需求来控制对所述缓冲器(30)的一个或多个部分的分配。
15.如权利要求13或14所述的方法,其中所述管理装置(210)可操作来响应于接近一个或多个装置(20)的最大可允许功率耗散限值来控制对所述缓冲器(30)的一个或多个部分的分配。
16.如权利要求13或14所述的方法,其中所述管理装置(210)可操作来响应于在所述一个或多个装置(20)中的分数倍数功率耗散来控制对所述缓冲器(30)的一个或多个部分的分配,所述分数倍数功率耗散与一个或多个应用(40)所出现的相应潜在渐近功率耗散成比例,所述一个或多个应用(40)与基本上不受限的缓冲器(30)存储容量相关联。
17.如权利要求16所述的方法,其中所述分数倍数功率耗散在相应潜在渐近功率耗散的105%到300%的范围内。
18.如权利要求17所述的方法,其中所述分数倍数功率耗散基本为相应潜在渐近功率耗散的110%。
19.如权利要求13或14所述的方法,其中所述管理装置(210)被实现为神经网络,所述神经网络可操作来通过导出在一个或多个装置(20)中所耗散的功率量度并且使用所述量度来控制对所述缓冲器(30)的一个或多个部分的分配,从而迭代地减少在所述一个或多个装置内所出现的功率耗散。
20.如权利要求13到19中任何一个所述的方法,其中所述计算装置、缓冲器(30)和一个或多个装置(20)当结合在所述计算装置上执行的一个或多个软件应用(40)操作时相当于多应用资源受限的系统。
21.如权利要求13到20中任何一个所述的方法,其中所述管理装置(210)用可在所述计算装置和一个或多个装置(20)中至少一个上执行的软件来实现。
22.如权利要求21所述的方法,其中在所述管理装置(210)中包括预定数据阵列以用于响应于一个或多个应用(40)所需求的数据速率和/或一个或多个装置(20)的预定功率耗散限值,来把所述缓冲器(30)的一个或多个部分分配到所述一个或多个应用(40)。
23.如权利要求13到22中任何一个所述的方法,其中至少部分缓冲器(30)包括电子冲击防护(ESP)缓冲器。
24.如权利要求13到23中任何一个所述的方法,其中所述装置(20)中的至少一个被配置成当流送数据时依照停止开始切换占空度模式操作。
全文摘要
描述了一种用于在计算装置上执行的一个或多个软件应用(40)和一个或多个数据产生和/或接收装置(20)之间进行缓冲的动态存储缓冲器(30,210),所述一个或多个数据产生和/或接收装置(20)通过所述缓冲器(30,210)与所述一个或多个应用(40)通信,所述缓冲器(30,210)包括缓冲器管理装置(210),所述缓冲器管理装置(210)用于控制把所述缓冲器(30)的一个或多个部分分配给所述一个或多个应用(40)以便减少在一个或多个装置(20)内所发生的功率耗散。
文档编号G06F5/10GK1839369SQ200480023832
公开日2006年9月27日 申请日期2004年8月5日 优先权日2003年8月20日
发明者A·T·伯查德, S·B·卢特詹斯 申请人:皇家飞利浦电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1