CN1128422C - 便携计算机中的电源管理方法 - Google Patents

便携计算机中的电源管理方法 Download PDF

Info

Publication number
CN1128422C
CN1128422C CN 96102266 CN96102266A CN1128422C CN 1128422 C CN1128422 C CN 1128422C CN 96102266 CN96102266 CN 96102266 CN 96102266 A CN96102266 A CN 96102266A CN 1128422 C CN1128422 C CN 1128422C
Authority
CN
China
Prior art keywords
access
frequency
disk drive
energy
saver mode
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.)
Expired - Fee Related
Application number
CN 96102266
Other languages
English (en)
Other versions
CN1151560A (zh
Inventor
斯蒂芬·罗伯特·赫兹勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maxell Digital Products China Co Ltd
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US08/532,956 external-priority patent/US5682273A/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1151560A publication Critical patent/CN1151560A/zh
Application granted granted Critical
Publication of CN1128422C publication Critical patent/CN1128422C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Power Sources (AREA)

Abstract

便携式、由电池供电的计算机中所用数据记录盘驱动器具有数个节能运行模式。在最近的数据读或写命令之后经过一段计算的时间进入节能模式。所计算的进入节能模式时间是以计算机用户实时工作负载为依据并在盘驱动器运行期间连续变化。盘驱动器通过计算盘驱动器存取频率来检测当前用户工作负载,并根据此历史确定众多节能模式中哪一个模式合适及何时进入节能模式。每个盘驱动器的读或写存取被检测及用于计算当前存取频率。

Description

便携计算机中的电源管理方法
本发明一般涉及用于类如膝上或笔记本计算机的由电池供电的便携式计算机中的盘驱动器的电源管理方法。本发明具体地涉及具备能使能耗减至最小的技术的盘驱动器电源管理方法。
便携式计算机在耗尽它们电源之前只能工作数小时。主要耗能单元是硬盘驱动器。便携式计算机中硬盘驱动器用的主要电源管理技术是使用几种减能或节能运行模式,在盘驱动器读或写操作之后经过一段固定的预定时期即进入上述每种模式。例如,在用户最后一次向硬盘写完数据又经过一段固定时期后,读/写头被移至它们的停靠位置,同时盘驱动轴马达停转。当用户下次存取盘驱动器时,轴马达重又转动,同时头在盘上移动以便在合适的数据道上读或写数据,这种节能模式的主要缺点是退出模式时的时间延迟,在此时间内用户只能等待。这很大程度上影响计算机性能。一般该固定时期的长度由计算机用户通过软件设定。
这种已有的节能技术的问题是用户不具备用以选择好的固定时期的必要数据。用户对存取模型只有有限的了解,而对盘驱动器的能量和性能参数并无实际信息。由于系统中硬件和软件的阻挡,用户不了解盘驱动器的存取模型。用固定时间进入节能模式对于能量和性能间的折衷是不好的,因没有给用户工作负载留出变化余地。用户必须在预料工作负载变化时改变此固定时间,而所选时间过短或过长都会不利地影响性能和能耗。
当存取模型是一连串工作后随之以长期停用时,短的进入模式时间能节约能量。然而当停用时期接近于进入模式时间时,这将消耗过多能量。由于在短期停用后又进入模式,一般这导致更为频繁的由模式恢复时间引起的存取延迟,因而使性能变坏。
假定长的停用期比短的停用期少,则长的进入模式时间能减小对计算机性能的不良影响,同时不易发生过多能耗。然而,在等待进入节能模式时会使用额外能量。
在特定用户工作负载下,很可能最佳时间是变化的。另外,由于工作负载与用户所用应用软件的特性有关,它可能在用户没有察觉的情况下就变化了。
用户实际上应该在能耗与计算机性能之间选择,而不是在不同的固定的进入模式时间之间选择。用户对固定的进入模式时间的选择只是在达到一些能量指标或性能指标的猜测。显然,盘驱动器最好将用户的能量和性能指标作为输入量接收。对于这些指标,盘驱动器可采取任何合适的方法去满足它们。如用户不再为每一个进入模式时间选择固定值,则用户不必了解驱动器中使用的具体节功模式,因而可以使用更多节功模式。
现在需要的是一种用于实现电源管理的盘驱动方法和系统,它能检测并适应不断变化的工作负载,能使用能量和性能指标而不是固定时间来确定何时进入和退出节能模式。
本发明根据过去的盘驱动器存取历史和对未来用户需求的预测来确定进入和退出节能模式的时间,从而完成电源管理。由于用户不知道何种性能和能耗指标与进入和退出节能模式相关,所以本发明较现用的由用户选择预定或固定进入模式时间的方法优越。盘驱动器具有关于与节能模式相关的无能量损失时间和恢复时间的信息。无能量损失时间是驱动器应停留在具体节能模式内的时间,以便自此模式恢复期间内所消耗的额外能量与在此模式内减少的能耗相平衡。恢复时间是盘驱动器自节能模式返回工作态所需时间。盘驱动器跟踪存取模型,也即请求读或写数据与/或移动传动器的历史。因此盘驱动器检测到当前的用户工作负载并确定众多节能模式中哪一个合适及何时进入模式。在最佳实施例中检测到每一个盘驱动器的存取,并用来计算当前的存取频率。当前存取频率与先前计算过并不断更新的频率阈值比较。该频率阈值代表存取模型,例如均匀的或不规则的,它是从包含可调整的放大系数的式子中计算出来的。在盘驱动器操作期间如当前存取频率减少至低于频率阈值,则进入恰当的节能模式。根据所检测到的存取模型,可跳过中间节能模式。盘驱动器还可以动态地适应于变化的工作负载的情况,从而节约更多能量而不致于影响性能。这通过下法完成:对于跟踪系统实际性能作出响应,调整放大系数,从而改变频率阈值。盘驱动器也可不必等待用户存取的出现而自行决定何时退出节能模式。在本发明中,可以有许多节能模式,而用户要跟踪这些模式是不现实的。可将节能模式修裁以适合不同盘驱动器产品而不必拘泥于用于设定固定时间或节能模式的数量的一些标准。新的可由用户选择的参数,如通/断、性能和能量指标可用于代替固定的进入模式时间。这些参数用于调整放大系数,因而也调整频率阈值。这些用于将决定何时进入节能模式的式子进行修改。
为更全面地了解本发明的实质和优点,应参阅下面结合附图所作详细描述。
图1是用于阐述电源和各种耗能的盘驱动器部件的盘驱动器和计算机系统的框图。
图2是用于阐述在预定时间窗口内将对一个或多个耗能的盘驱动器部件的存取进行计数的流程图。
图3是用于阐述一个连至一个将存取密度累计起来的环形缓存的微处理器的框图。
图4的流程图用于阐述存取频率的计算及与频率阈值的比较以便确定何时进入盘驱动器节能模式。
图5的流程图用于阐述使用存放于环形缓存中的先前的存取频率对频率阈值进行计算。
图6的流程图用于阐述使用存放于环形缓存中的先前的存取频率对频率阈值进行计算。
图7是用于阐述进入和退出节能模式的时序的曲线。
图8是类似于图3的框图,但加了一个用于计算进入和退出节能模式的时间之间的时间窗口的计数器。
图9是用于阐述当越过起动水平时用作调整放大系数的时间函数的累计能量/性能代价曲线。
图10的流程图阐述当退出节能模式时能量/性能代价和丢失机会代价的计算。
图11的流程图阐述累计丢失机会代价的计算及当越过起动水平时放大系数的调整。
盘驱动系统
图1的框图显示本发明的盘驱动器所用电源管理中的不同元件。盘驱动器40一般是包含在例如计算机41那样的膝上计算机外壳内的硬盘驱动器。盘驱动器40包括一个或更多个盘,例如接至轴马达32并由它转动的盘34。数据头33连至传动器31,后者一般由转动式音圈马达(VCM)30所带动。轴马达32由轴驱动器1和轴控制电子线络5驱动。伺服控制电子线路6用于将头33定位于盘33的不同数据道上并连至VCM驱动电路2,后者向VCM 30供给电流。图1中还显示供传动器31用的碰撞挡块37及装载/卸载(L/UL)滑道38。如盘驱动器40是接触起/停(CSS)类型,其中当轴马达不转时头33停靠在盘34上,则VCM 30的电流将传动器移至碰撞挡块处,以便头33可在靠近盘内往(ID)的非数据停靠区内停靠。如盘驱动器是L/UL类型,则当轴马达停转时传动器31如此移动以使支撑头33的悬架骑上滑道38并将头33卸载而不与盘接触。CSS盘驱动器所用ID停靠区和L/UL盘所用滑道经常称为头停靠处。
数据头33读和写盘34上的用户数据,它一般是薄膜感应式(TFI)读/写头或带有磁阻(MR)读头的TFI写头。数据头33连至预放大器和写驱动电路3,数据记录通道4,和盘控制器电子线路7。数据记录通道4可为任何类型,如峰值检测器或部分应答最大似然(PRML),并包括诸如检测数据、编码和解码的功能。盘控制器7与微处理器9一起对读写数据进行处理,协调与计算机41的通信,管理缓冲存储器10,并指挥伺服控制电子线路6和轴控制电子线路5。
盘驱动器40还包括微处理器9和相关的存储器8,缓冲存储器10,接口模块11,及电源控制模块12。存储器8用于存放微处理器9所用码和数据。缓冲存储器10用于存放自计算机41传送至盘驱动器40的数据,并一般配置为高速缓存。接口模块11对来自计算机接口控制器13通过接口的信息的传送加以控制。集成驱动电子线路(IDE)接口和小计算机系统接口(SCSI)是最常用的接口类型。
图1中所示盘驱动器40的所有部件的操作都需要电源。电源控制模块12对盘驱动器40的电源管理进行控制,后者通过总线71自电源20接受功率。图1中未显示任何部件的电源连线,但每个部件都是或直接从总线71或通过其它部件接受功率。电源控制模块12可作为逻辑电路包含在控制器7内,及/或以微码形式存于存储器8内供微处理器9执行。自电源20至每个耗能部件的电源线可直接由模块12或微处理器9的输出量控制,或者也可向部件发出命令以便将它们断电、通电及/或在另一情况下改变其功率状态。
图1中显示了盘驱动器40的各部件之间的示意性连接,也可用其它安排得到同样功能。例如,存储器8可包含在微处理器9内,或与缓冲存储器10合并。此外,一般在盘驱动器内有不止一个微处理器,其中一个微处理器主要用于接口和驱动管理功能,而另一个用于伺服功能。在此种情况下,伺服控制电子线路6可包括一个单独的伺服微处理器。
计算机41包括接口控制器13,处理器14,存储器15,显示器16,键盘17,及/或其它输入装置,外设18,电源20,和控制电子线路19。接口控制器13处理与盘驱动器40的通信。电源20是供计算机41和盘驱动器40用的电源。在便携式应用场合中这一般是可充电电池,当然它也可为任何其它类型的电源,例如A/C电源。电源20通过总线70向计算机41中各部件供电及通过总线71向盘驱动器40供电。电源20也与控制电子线路19通信。例如,便携式计算机内的电池包含内部控制电子线路,后者监视电池状态,例如放电状态。盘驱动器电源管理
盘驱动器40并不按恒定值消耗能量。搜索(即向VCM送电流以便将头33移过盘34的数据道)所消耗的能量大于道跟随(即向VCM送间断的电流脉冲以便将头33保持在单一数据道上)所消耗的能量。此外,在写操作时由于向TFI头的线圈送入写电流,所以要消耗更多能量。这些盘驱动器存取导致两种工作功模:搜/读/写功模和空转功模。搜/读/写功模一般是一种估计,因它以对用户工作负载的假设为依据。空转功模是正常道跟随操作,这时不写或读数据,也不进行搜索。工作态一词系指盘驱动器的搜/读/写和空转功模两者。
两种普通节能模式称为闲置和备用。在闲置模内,传动器31停靠着(即移至碰撞挡块30处或卸载至滑道37上),同时伺服控制电子线路6和包括预放大器3和通道4在内的读/写电子线路都断电。因此闲置模实际上减少或停止送至VCM驱动电路2,伺服控制电子线路6,预放大器3和通道4的功率。在闲置节能模中,由于伺服和读/写操作都不进行,所以也可减少送至盘控制器7和微处理器9的功率。在备用模中,传动器31移至其停靠处同时轴马达32断电。备用节能模除和闲置模一样节省功率外,还额外地减少轴控制电子线路5和轴驱动电路1中的功率。在某些实施例中,缓存10也可在闲置和备用模中的一个或两个模式中断电。还可有更多的节能模式。例如,静寂模包括备用模的节能特征,同时几乎所有剩下的电子线路都断电,只留下一部分接口控制器11和其它需用以响应来自计算机接口控制器13的静寂恢复命令的线路通着电。
表1显示一个典型的2.5英寸盘驱动器处在两个工作模和两个节能模中时的功率值。自此表可清楚看出闲置和备用这两个节能模实际上能减少能耗。
                        表  1
              2.5英寸盘驱动器的功率值
模    式 功率(W) 恢复时间(秒)(TRec) 恢复功率(W)(PRec)
搜/读/写(工作) 2.30
空转(工作) 1.35
闲置(节能) 0.80 0.04 2.30
备用(节能) 0.26 1.37 3.00
表1也列举了两种节能模式的恢复时间(TRec)。这是盘驱动器从节能模式返回至工作态所需时间。还列举了平均恢复功率(PRec)。无能量损失时间(TBE)可从此信息中算出来。这是驱动器应停留在具体节能模式内的时间,以便自此模式恢复期间内所消耗的额外能量与在此模式内减少的能耗相平衡。假定正常工作模式是空转及恢复时间(TRec)只用于节能模式,则TBE可如下估算:
TBE=PRec(TRec/PIdle)    (1)
表2列举了表1的例子中的无能量损失时间(TBE)
        表2
 无能量损失时间
模式 TBE(秒)
闲置备用     0.1673.77
本发明中实际用户工作负载用于确定哪一种节能模式最合适及何时进入该模式。因进入节能模式是由用户工作负载的需求所决定,而不是预先由用户选择一个固定时间。盘驱动器存取频率
为使能耗优化,重要的是知道对盘驱动器的存取类型和每一种类型的特性。对于给定的节能模式,一个存取定义为需要从节能模式恢复的一次操作。例如,如节能模式为闲置,其中盘34转动着但伺服控制电子线路6断电和VCM驱动电路2断电,但包含盘高速缓存的缓存10在工作,则需要移动传动器31以便读或写数据的一次盘驱动器存取被算作一次存取。命中高速缓存不算此节能模式的存取,一些其它接口命令如向计算机41查询状态也不算存取,由于它们不需要与盘34之间读或写数据。为简化设计,在计算存取数量时不需考虑命中高速缓存的影响。在这种情况下,任何通过接口接收的读或写命令都算作一次存取,即使全部数据都位于高速缓存内也是如此。这种假定可能会减少节约能量的量,但仍具有好的性能价格比,因为设计电源管理技术的复杂程度减少了。
最近的存取模型影响进入具体节能模式的决定,如进入备用模(将盘34停转)的决定。存取模型包含有关用于驱动它的软件过程的信息。存取模型的特征可用频率也即出现盘驱动器存取的速率表达,且可由存取历史确定频率分布。有可能确定什么时候观察到的存取频率不属于由最近存取历史得出的频率分布。这种确定是统计学地如下做出的:估计低存取频率不属于最近存取模型一部分的概率,进而标明存取模型及对它负责的相关的软件过程已经停止。在这种确定中有很多因素。本发明中可根据盘驱动器的性能动态地调整这些因素以提供适应性电源管理。
此外,可能从存取频率中检测到周期性存取,并在预料到周期性存取的起始和结尾时退出和进入节能模式。周期性存取的例子是字处理文件的定期存盘,例如,软件用户让字处理软件每隔5分钟自动将文件存盘。在周期性存取开始前一瞬间退出节能模式的能力使用户觉察不到响应延迟,因而改善性能。在周期性存取结束后立即进入节能模式的能力可用较短延迟进入节能模式,因而增加了节能量。
在最佳实施例中,假设盘存取模型分为两大类:均匀存取模型和不规则存取模型,定义为均匀存取模型的模型中存取频率的组合在统计学上有好的定义。例如,可以计算存取频率的平均值和标准偏差。如标准偏差为平均值的分数,则存取频率可以认为有好的定义。否则,存取模型被认为是不规则的,即不是很好地为平均值的标准偏差定义的。在均匀的情况下,如所观察的存取频率降低至小于平均值减去标准偏差的某些倍数,则认为存取模型已经结束。这等效于选择一个概率,即所观察的存取频率属于所观察的存取模型概率。也可将最小的观察的存取频率的一个分数用作存取模型结束的估价。所用的原理是使用最近存取频率表征存取模型,并从此中确定一个频率阈值。接着假设当存取频率越过此频率阈值时,存取模型非常可能已停止。存取密度的测量
存取频率用下法测量:选择一个时间窗口,计算该窗口内出现的存取次数,并将该数转换为频率。每个节能模式可选用不同时间窗口。时间窗口内出现的存取次数称为存取密度。
图2的流程图细化了存取密度的测量操作。在步403处检查计时器以判定窗口时间是否已消逝。该计时器可在硬件或软件中。如窗口尚未结束,则在步401处检查是否出现存取。如已出现存取,则在步402处将密度计数器增量。图2显示当所有时间窗口是最短窗口的倍数时所具有的性能。这种情况下,在步402处所有节能模式的密度都增量。密度计数器的复位并未显式地表示,它们是在当前窗口的密度值传送至其它存储器例如环形缓存之后及在将下一个窗口的存取累计之前复位的。当节能模式的时间窗口为最短时间窗口的倍数时,只在较长窗口结束时才将密度计数器复位。图2阐述轮询循环设计的性能。可以容易地由图2导出一个等效的基于中断的设计。
图2中所示过程是电源模块12(图1)功能的一部分并可在硬件和/或软件中实现。图3显示用于实现图2过程的合适的硬件配置。计时器201,计数器202和环形缓存203被认为控制器7的一部分。环形缓存203可由微处理器9访问。用于完成图2的过程的步骤(同样是图4-6的过程)的一套程序指令以微码形式存放于存储器8中,后者也可由微处理器9访问。密度计数器202从盘控制器7接收存取信号220。例如,当控制器7对通过接口11和接口控制器13的读请求作出响应时,或同时当控制器7向通道4传送读命令时,控制器7可产生信号220。每当有盘驱动器存取时即有一个存取信号220送至计数器202。计数器202将存取220计数。计数器201连续工作及在每个时间窗口的结尾输出信号221。计数器中的密度值作为信号222被输出,后者送至密度存储缓存203,此处所显示的是环形缓存。来自计时器201的窗口结尾信号221使环形缓存203将密度值222写至下一个存储器地址并将缓存写指针往前指。信号221接着将计数器202复位。微处理器9从环形缓冲203中读取密度值。微处理器9送出清零信号223和读取信号225以读取缓存203并接收代表密度值的输出信号224。微处理器9在执行存放于存储器8中的微码时使用密度值生成命令并将它发送给盘驱动器部件以便改变它们的功态,也即或进入或退出恰当的节能模式。
一般情况下,为给定节能模式选择的时间窗口应对该模式是合适的,并对盘驱动器将遇到的存取频率的范围有良好的响应。对应于合适频率值的周期接近于节能模式等待期和无能量损失时间。因此接近于无能量损失时间的时间窗口是合适的。还可通过测试盘驱动器性能或通过仿真进一步优化时间窗口值。在选择时间窗口时可考虑其它因素,如性能指标。对于表1中的盘驱动器例子,时间窗口的良好选用值对闲置模是400ms,对备用模式是1.6s。存取密度转换为存取频率
如上所描述那样获得的存取密度值是在特定的时间窗口内出现的存取次数。因此密度值可通过定标转换为频率值。由于密度为0并不等效于频率为0,因此可扩展频率的动态范围。当密度为0时,可由连续的密度为0的次数算出频率。一种此类转换式子为:freq=density*scale                    :density>0  (2)freq=scale/(number_zero_density+1)    :density<=0(3)其中number_zero_density是连续的密度为0的时间窗口的数量。scale是用于将density转换为freq(频率)的换算系数。当存取频率下降低于1/time_windoW时,式2-3提供好的存取频率近似值。为便于处理,很自然地使用由换算系数定义的整数频率单位。也即,密度为1对应于频率为scale。选择换算系数时要便于计算并提供频率的所需动态范围。一般取scale为256这个数对16位处理是合适的,因为当密度为非零时乘法简化为位移操作,因而简化了换算操作。
下面图3是使用式2-3和400ms的时间窗口,即用于闲置模的时间窗口,所得密度转换为频率的例子。第一行列举每个时间窗口的起始时间。第二行列举每个窗口的存取密度值例子。第三行列举根据第二行中存取密度导出的存取频率。例如,在时间0.4s至0.8s之间出现了19次存取,在换算系数为256时这对应于频率为4864。在1.2s至2.0s之间没有存取,这给出2个零密度值。这些密度值转换为单频率值256/3=85。
                         表3
                  密度时间窗口举例
时间…    0    0.4   0.8   1.2  1.6   2.0   2.4   …
密度…    1    19    20    0    0     25    21    …
频率…    256  4864  5120       85    6400  5376  …
希望将能量管理的计算减至最小以便在盘驱动器存取期间减少延迟。密度方法的优点是在发生盘驱动器存取时要求很少计算。当盘驱动器存取频繁时希望跳过密度测量或密度至频率的转换。这加快了响应时间,而这些期间的存取密度可设为一个代表频繁存取的固定值。当盘驱动器不太忙碌时即可更新这些期间的存取密度或频率值。例如,对于忙碌期间可指定密度为256,这在换算系数为256时对应于频率为65,536。
由于从密度中得到存取的准确时刻,上述密度至频率的转换提供了对存取频率的估值。然而,如果窗口的时间选得恰当,则在所关心的频率范围内该估值具有足够精度。还可应用其它用于测量或估算存取频率的技术,例如富里哀变换技术。频率阈值
在当前存取频率下降低于由存取历史确定的频率阈值时,微处理器9决定应进入节能模式。图4的流程图将进入节能模式的操作细化。在此流程图中,不同节能模式按递增的节能量从1排号到maxmode。tf〔mode〕一项系指该具体模式所用频率阈值。lf〔mode〕一项系指具体节能模式所用低频标志。该标志有助于控制频率阈值的计算。在步301处,lastmode设为1,这意味着所有节能模式都需检验。所有模式的频率阈值都清零(tf〔mode〕=0)及所有低频标志都清零(lf〔mode〕=0)。
接着在步302处,该过程等待最短窗口时间消逝,其细节在图2中显示并描述。此外,在图4中假设使用着不止一个窗口时间(例如每个节能模式各有一个独特的时间窗口),长的窗口时间为最短窗口时间的整倍数。一旦窗口时间消逝及测量了存取密度,即到达步303。在步303处,待测试的节能模式设为maxmode,即节能量最大的模式。在步304处,该过程测试以便判定当前时间是否为正被测试的模式所用窗口时间。如不是,则进入步308。
在步308处,如当前模式是lastmode,则进入步302并为下一个时间窗口测量密度。在此处早已确定,这不是检查任何正在工作的节能模式的时候。在步308处,如当前模式不是lastmode,则进入步309并选择下一个较低模式(mode-1)(按节能量递减的顺序)。再次进入步304。注意到当lastmode=1时步304的测试总是真,因为这是退出步302时的相同条件。如步304处的测试为真,则有一个供mode用的新密度值,并进入步305。在步305处,使用式2-3中的转换式将步302中测量的存取密度转换为频率freq。
在步306处,在步305中计算出的存取频率与此模式的频率阈值tf〔mode〕进行比较。如存取频率大于频率阈值,则进入步307。在步307处,获得当前模式的频率阈值tf〔mode〕。决定于不同条件,频率阈值可能变也可能不变(将结合图5描述频率阈值的调整细节)。接着进入步308,流程按上面描述那样进行。在步306处,如存取频率小于或等于频率阈值,则进入步310并进入此节能模式。这意味着微处理器9将发信号至有关的盘驱动器部件以便减小功率。如当前模式为maxmode,由于已再无进一步的节能模式可用,步311即中断流程而进入步313。如仍有节能模式可用,则进入步312。在步312处,lastmode更新为mode+1,这反映出已不再考虑等于或小于已进入的模式的所有模式。再次进入步302。
步304处对节能模式的测试是按从最大节能量至最小节能量的顺序进行的,以便最大限度地节能。其结果是在步310处盘驱动器进入最有利的节能模式。因此可能跳过中间节能模式。例如,使用本发明后处于空转模内的盘驱动器可进入备用模而不必先进入闲置模。如进入了最大模式以外的特定节能模,则盘驱动器将在此模式内运行,直至适合于进入更大模式或直至退出该模式。
图5的流程图显示用于计算和调整节能模式的频率阈值的最佳实施例的细节。最近的存取频率存放于可由微处理器9访问的环形缓存中(未示出)。每个节能模式可有不同缓存。环形缓存是一组寄存器(或一组存储器地址),每个频率测量值可装入其中。环形缓存所能保存的频率值数量等于该组中寄存器(或存储器地址)的数量。一旦这个数量的频率值装入后,再装入更多的频率值将会丢失最旧的值。其效果是提供最近存取历史的活动画面。
在步501处,进行测试以判定此节能模式的环形缓存中是否有足够的数值可供计算频率阈值用。频率值的最小数量一般是2。更多数量保证更大的统计学精度,但这些值必须在计算频率阈值前收集到。如环形缓存中的数值的量不够,则进入步503。步503检测当前频率freq是否大于scale/2,其中scale已在式2-3中定义。如此检测结果为真,则进入步504并将当前频率值推入环形缓存。如结果为假,则环形缓存中最近的频率值应该修改,因为具有零密度的连续时间窗口数量仍在增加,这在步509完成。注意到这不是推入操作,因此它不改变环形缓存中数值的计数。从步504和509两者都可进入步510,并将过程返回步501。
在步501处,如环形缓存中数值的量足够,则进入步502。在步502处,当前存取频率freq与使用的频率阈值freq_act进行比较。此值用于加快处理并提供安全阈值,。freq_act的典型初始值为scale/2。如步502的测试结果为真,则盘驱动器的存取频率大于使用的阈值,因此不必进一步计算频率阈值。进入步505并将低频标志lf〔mode〕清零。再进入步503及过程如上所描述地前进。
如步502的测试为假,则存取频率低于使用的阈值,则要求进一步处理。在步505处测试低频标志lf〔mode〕。如它已设置。则再进入步503并保持当前低频阈值。其假设是一旦设置了低频标志,即测试存取模型是否终结。因此,当前频率不认为是此模型的一部分,因此不应该用它改变频率阈值。然而,由于当存取频率增加至超出使用的阈值freq_act时可能会清除低频标志,因此该频率仍放入环形缓存。在这种情况下,认为存取模型已经终结的假设就不正确。因此测试期间出现的频率现考虑为存取模型的一部分。如在步506处发现低频标志已清除,则进入步507,因为需计算一个新的频率阈值。这个计算在步507处进行。在步508处,设置低频模式标志并重新进入步503 。
图5中所示过程使用最新的存取的历史以便为每个节能模式计算频率阈值。只当存取频率低于使用中的阈值时才完成计算。这样做的优点是只当盘驱动器不工作时才完成频率阈值的计算,因而减少对性能的不良影响。
在步507处,在与节能模式相关的环形缓存内根据存取历史为该模式计算频率阈值。可在环形缓存内计算平均值和标准偏差,然而它们都要求复杂计算。但对于均匀存取模型讲,可用下式从环形缓存中的最大和最小频率maxf和minf近似地计算出平均频率meanf:
meanf=(maxf+minf)/2    (4)对均匀存取模型讲这是一个好的估值,因为假设其分布有良好特性。标准偏差sdevf可从频率范围中估算如下:
sdevf=(maxf-minf)/4    (5)因此不必真正地去计算平均值和标准偏差,及希望用较简单的式4和5代替真正的计算。对于不规则存取模型,最小频率的分数就已够用。下面式6-8显示步507中所用计算式。
t1[mode]=(maxf+minf)/2-g1[mode]*(maxf-minf)  (6)
t2[mode]=minf/g2[mode]                       (7)
tf[mode]=max(t1,t2)                         (8)
t1〔mode〕值对应于均匀存取模型,而t2〔mode〕值对应于不规则存取模型。这两个值中的较大者用作给定模式的频率阈值。
有两个放大系数:g1〔mode〕和g2〔mode〕,分别用于均匀的和不规则的存取模型。每个模式的放大系数可以不同。对于表1的盘驱动器讲,g1=1和g2=4的值对闲置模和备用模两者都适用。从式6-7可看出,增加放大系数值的效果是减小频率阈值及减少放大系数值的效果是增加频率阈值。因此,可通过这些放大系数的选择和调整来调整节能模式的进入特性。用户可通过合适的系统或应用软件选择和调整放大系数。
每个节能模式可使用单独的环形缓存,同时可单独地选择各缓存的大小。增加缓存的大小将增加收集存取历史所取时间,而减少缓存的大小将减少该时间。能影响缓存大小的选择的因素还有准备限制历史长度以改善对最近事件的响应性能的愿望和准备限制所需存储器的数量的愿望。对于表1的盘驱动器,取缓存大小为16对两个模式都是合适的。可能有用于保持存取历史的更完善的方法。例如,环形缓存中的频率能有与缓存中时间长度相关的加权系数。可用存取频率直方图替代环形缓存并带有去除最旧数据的功能,例如重新规格化。然而环形缓存具有设计简便的优点。
环形缓存也可以如图3中所示配量为保存密度而不是频率。这种情况下,在计算频率阈值期间密度转换为频率。图6中显示使用密度缓存计算频率阈值的过程。该流程与图5中流程很相近,只有几个例外。步601对应于步501。有一个额外步603,其中使用式2-3将density转换为freq。步604、605和606分别对应于步502、505和506。有一个额外步607,其中使用式2-3将环形缓存中的每个密度值转换为频率值。注意到,由于连续的密度为0只转换为一个频率值,所以结果的频率值的数量可能比环形缓存中密度值的数量少。步608和609分别对应于步507和508。最后,步602将当前密度值推入所选节能模式所用的环形缓存。
这两个环形缓存配置都适合于计算频率阈值。频率缓存的优点是当存在低频率时历史的时间长度会增加。密度缓存的优点是具有固定历史长度并在盘存取活动期间计算开销减小,因为它将密度对频率的转换推迟,直至越过使用的频率阈值。
如上所述,一旦进入节能模式后,退出该模式的情况或是进入另一节能模式,或是回到驱动器的工作态。当所估算的存取频率不断下降并越过其它模式的频率阈值时会发生前一种情况。当出现盘驱动器存取时或当检测到周期性存取模型因而导致由驱动器启动进入工作态时,会发生后一种情况。当盘驱动器返回至工作态时,可能希望将环形缓存清零,因为假设正测量新的存取模型。这进一步约束了环形缓存上旧模型的影响。在有些配置中可能希望保留环形缓存的数据,或者只改变旧模型中数据的加权系数。
可使用其它因素调整放大系数,因而影响频率阈值的计算确定。例如,进入一个其中头无法立即读或写数据的节能模(例如备用模,其中盘将停转)的打算可用当前高速缓存命中率加权。高的高速缓存命中率可用于将放大系数减小因而将频率阈值向上调整。即使在越过频率阈值后立即出现存取,也很可能命中高速缓存。因此仍然减少了使用额外能量的概率。相似地,低的高速缓存命中率导致所希望的低频率阈值,因为随后与盘进行读或写存取的概率增加了。在这些情况下,可能希望有一个附加的节能模式用于控制送至高速缓存的电源(图1中的缓存10)。这允许高速缓存即使在备用模中也能工作。此模式所用放大系数同样地受到高速缓存命中率的影响。当高速缓存命中率高时,可能为了好的性能希望减小频率阈值,以便捕获更多高速缓存命中次数。也可能考虑高速缓存存取的特点,例如分别对待读和写,或使用存取的位域性。所有这些可用于调整放大系数及因而调整频率阈值。节能模式进入特性的可调整性
在上述设计中有不少可调整的参数。这些包括放大系数g1和g2,时间窗口尺寸,环形缓存的大小,密度至频率的换算系数scale,及使用的频率阈值。然而在最佳实施例中最适于调整节能模式进入特性的参数是式6和7中的放大系数。这些可调整参数可在制造盘驱动器时固定好,或者它们可由用户调整以适应特定用途,或者根据电源管理过去性能代价动态地调整。用户可调整性
如上所述,可以使用自计算机41通过接口控制器13(图1)送来的命令直接设置放大系数。然而,最好不让计算机41了解能量管理的内部细节。因此使用一个单独的称为性能系数pf的参数。它由来自计算机41的命令所控制而独立于盘驱动器中实现的具体能量管理设计。
盘驱动器中带有节能模式的能量管理一般涉及存取性能与节能之间的折衷。这是上面所讨论的节能模式的恢复等待时间的直接结果。非常希望有单个的加权性能系数用于反映能量与性能之间求得折衷的重要性。在一个极端,该系数应有助于得到最大节能量而不管性能如何。在另一极端,该系数应有助于改善性能而不管节能情况。这与常规盘驱动器电源管理技术完全不同,在常规技术中电源管理命令用于调整进入节能模式的固定时间。这些命令并不直接涉及性能或节能。此外,即使在同一固定时间设置下,不同驱动器也会产生不同的节能与性能间的相互影响,然而能量与性能系数的比例系数可以固定,以使所有驱动器类似的操作。在最佳实施例中,性能系数接口命令如下面表4中那样定义。
              表4
         性能系数命令
性能系数pf值 结    果
0…254                                       大节能量与最好性能间的线性比例系数
255                                          能量管理不工作
0的值对应于最大节能量及255的值对应于最好性能(无能量管理功能)。此由用户选择的性能系数命令也可使用在普通盘驱动器接口上可用的标准固定时间命令,如SCSI或IDE,来进行仿真。在IDE情况下,备用模时间值的范围为0(无节能模式)至255,其中大多数值的实际时间=5s*value,其时间范围从5秒至大约20分钟。在将此命令转换为性能系数时,0应是最好性能,及表4中的线性比例系数的范围应为1至255而不是0至254。
在最佳实施例中,来自性能系数命令的输入量可通过调整放大系数g1和g2转换为能量管理系统的特性。其结果是放大系数在两个代表能量极端和性能极端的限值之间变化。例如,对于式6的均匀存取类,g1对应于一个标准偏差sdev的估值的乘子。这对实际限值建议的范围为:0.5<g1<5。类似地,由于g2是最小频率minf的分数,对它同样也有限值:1<g2<10。从统计学来看,g1的低限值对应于下列事实的大约20%概率:频率阈值实际上是正态分布数据的分布的一部分。过低的低限值会导致不恰当地进入节能模式的高概率,并可能实际上增加能耗。g1的高限值对应于大约10-6概率,这大概比足够值还大些。g2限值的特性也类似,但它们在统计学上尚未很好定义。为更好地选择限值,希望考虑性能和能量特性的经验数据。此外,可能不需要达到表4的精度,因为很多设置值在实际中只是临界地可区分。下面式9和10显示于具有表1功率值的盘驱动器的表4的命令的性能系数pf转换式。
         g1=(12+pf/4)/16    (9)
         g2=(24+pf/2)/16    (10)此处限值大约为0.75<g1<4.75及1.5<g2<9.5。式9和10设计得容易用整数算术操作实现,因为除法可由移位操作代替。希望作为计算式6和7的最后一步按16这一系数进行换算。
其它参数,例如时间窗口尺寸,也可用性能系数进行调整。一般较大值能改善性能,但其代价是要多消耗能量。此外,可选择可用的节能模式的子集。例如,有一些节能模式可比其它模式对性能有较大影响,因此当性能指标成为重要因素时最好不用它们。上面描述的性能系数pf的优点是允许盘驱动器设计者决定调整哪一个参数以满足性能指标,而不需最终用户或系统组合者了解具体实施细节。根据性能代价的动态可调整性
是根据盘驱动器的存取频率而进入节能模式的。使用式6和7可获得满意的电源管理特性,其中在选择新值之前参数是固定的。一组所选参数(例如放大系数)的适合性可能决定于实际存取模型。如存取模型的变化影响节能模式进入特性,则必须选择新参数。然而,可根据存取模型的变化动态地调整参数。这可由适应性系统完成,它对如何满足性能指标进行测量,并动态地将放大系数作相应调整。
为达到动态适应性,要求测量实际特性,以便与所需特性相比较。当偏离性能指标的幅值和方向两者都能测量时,将能获得最佳性能。这些测量值可视为代价,并用于调整放大系数。为进行电源管理,可方便地定义两类代价:能量/响应代价(erp)和丢失机会代价(mop)。当盘驱动器使用过多能量或影响性能时,就出现前者。这意味着频率阈值tf设得太高。当盘驱动器应进入节能模式而未进入时就出现后者。这意味着频率阈值设得太低。由于这两类代价对频率阈值的决定具有相反效果,所以它们可用于平衡系统特性。
由于代价用于调整频率阈值式子中的参数,所以它们可用任何方便的单位计算。用时间单位计算代价的优点是计算简单。用频率单位计算代价的优点是具有来自按需求进行计算的可用的一些输入值。
图7的曲线用于阐述进入和退出节能模式的时序。在横轴上绘制时间,在纵轴上(任意单位)是功率。横轴上的每条短标线代表节能模式的一个时间窗口。标出了三个功率水平:搜/读/写功率P0,空转功率P1和模式功率P2,为清楚起见,盘驱动器存取都在功率水平P0上以短间隔表示。盘驱动器在功率水平P1上空转状态中开始工作。时间T0是存取出现时的时间窗口起始点。在稍后时间T1进入节能模式并一直持续至时间T2,这时出现下一个盘存取,于是盘回至工作态。另一个盘存取在T4起始的时间窗口内出现。在T5时进入节能模式并于T6时退出,这时又出现另一个盘存取。
节能模式的持续时间对性能代价是重要的。图8显示出在图3中早先描述和阐述过的硬件配置中加了一个计数器204。计数器204将进入模式点226与示如存取220的退出模式点之间的时间窗口221的数量进行计数。输出量227是模式持续时间,以时间窗口为单位。在退出模式后可用此输出量。此值可直接用作时间单位,也可用式2和3转换为频率单位。能量/响应代价
对于能量/响应代价erp,能量影响和响应时间影响两者都要测量。能量代价ep是当不恰当地进入节能模式时消耗掉多少额外能量的度量。响应时间代价rp是当不恰当地进入节能模式时对实际数据吞吐量有多大影响的度量。在例子图7中显示了两个进入模式的例子,一个是T1至T2和一个是T5至T6。在T5进入的模式可能会出现能量/响应代价,而在T1时进入的模式不会出现。这由图7中ERP标号所标明。
在节能模式中,对于能量代价有一个无能量损失时间TBE,其中在模式期间内节约的能量与恢复能量相平衡。以图7的第一个进入模式为参考,T0为上一个其存取密度>0的时间窗口,T1为本模式的进入时间,及T2为本模式的退出时间。T2-T1值是来自硬件中计数器204的模式持续时间。如T2-T1<TBE,则出现能量代价ep。能量代价ep作为T2-T1和TBE的函数计算出来。在最佳实施例中,如(T2-T1<TBE)则ep=16-16*(T2-T1)/TBE;否则                ep=0    (11)在式11中,能量代价ep的计算结果范围为线性地从当节能模式的持续时间基本上为零(进入模式后紧接着出现存取)时的16的值变至当超过无能量损失时间时的零值。也可有其它提供代价的不同加权系数的能量代价式子。然而,式11比较简单,并提供能量影响的好的估算。实际工作中式11中的参数值不必精确,同时计算可用整数算术操作完成。在整数算术操作中有16级代价水平,其精度是足够的。
可根据由恢复引起的附加等待时间rl计算节能模式的响应时间影响。这是对吞吐量(盘驱动器性能的度量)的影响的估算。因此吞吐量影响的上限可从性能系数导出。节能模式的吞吐量影响可测量为rl/(T2-T0)。因此有一个依赖于吞吐量上限tub的响应限值时间trl,其中trl=rl/tub。任何时候只要T2-T0<trl,即出现响应代价。T2-T0值可从频率阈值和模式持续时间T2-T1计算得到,由于
       tf=scale/(T1-T0+1)    (12)因此
    T2-T0=T2-T1-1+scale/tf    (13)响应代价rp作为T2-T0和trl的函数进行计算。在最佳实施例中,如(T2-T0<trl)则rp=16-16*(T2-T0)/trl;否则            rp=0;    (14)
在式14中,响应代价rp的计算结果的范围为线性地从当节能模式的持续时间基本上为零时的16的值变至当超出响应限值时间时的零值。也可用提供了代价的不同加权系数的其它响应代价式子。然而式14相当简单,并能提供对吞吐量影响的好的估算。实际工作中式14中的参数值可用整数算术操作完成。在整数算术操作中有16级代价水平,从而提供足够精度。
能量代价ep与响应代价rp组合起来产生能量/响应代价erp。在最佳实施例中,两个代价中只有较大者用作能量/响应代价。这简化了计算,因只需计算带有较大时间限值
         mtl=max(TBE,trl)    (15)的代价。然而可能希望使用能量和响应两个代价来计算能量/响应代价,例如使用加权平均值。
能量和响应代价也可用频率单位进行计算。这种情况下,时间值TBE和trl根据式2和3换算为相应的频率值。得到无能量损失频率fbe和响应限值频率frl。使用式2和3将模式持续时间转换为频率值fmd。代价式子为如(fmd>feb)则ep=16-16*feb/fmd;否则          ep=0;       (16)及如(1/fmd-1/tf>1/frl)则
      rp=16-16*frl*tf*fmd/(tf-fmd);否则      rp=0;              (17)此外,在最佳实施例中只使用两个代价中的较大者,因此只需计算具有较低频率限值mfl的代价mfl=min(fbe,frl)          (18)当退出节能模式回到工作态时,计算能量和响应代价。如进入更深模式则不出现代价,因将会有与该模式相关的恢复代价。丢失机会代价
对于丢失机会代价mop,节能模式的使用与不出现能量和响应代价的理想特性相比较。当未使用节能模式时(类型1),或当进入模式的频率阈值太低时(类型2),将出现丢失机会。只当有可能利用时间间隔进入模式而不致引起能量或响应代价才考虑为两种类型的机会。图7中T3至T4间隔是类型1机会的例子(标为MOP1),而T0至T1及T4至T5的间隔是类型2机会的例子。T0至T1间隔可能导致类型2代价(标为MOP2),而T4至T5间隔不会。如能量/响应代价一样,丢失机会代价可用任何方便的单位计算,其中频率和时间最为方便。
丢失机会代价可用时间单位计算。对于节能模式,当错过一个间隔时即出现丢失机会。以图7为参考,T0,T1和T2值如在前段中定义那样。对于类型1机会,有关时间是T3和T4,其中T3是最近一个其存取密度大于零的时间窗口,及T4是当间隔内不进入任何节能模式时下一个盘存取的时间。T4-T3值代表间隔长度,可用下式从存取频率中算出:T4-T3=scale/freq-1         (19)其中freq是所测量的存取频率。当然,只需考虑大于无能量损失时间和响应限值的间隔。类型1丢失机会代价式子是mop1=(T4-T3)/mtl           (20)如机会(T4-T3)用整数算术操作得出代价,则式20可能会得到为0的代价。代价的幅值决定于机会究竟比无能量损失时间和响应限值中较大的值大出多少。因此较大机会较大代价,而较小机会引起较小代价。
对于其中进入节能模式的类型2机会,T1-T0的值可利用下式从频率阈值算出:T1-T0=scale/tf-1    (21)只当可能有不带能量或响应代价的节能模式及只当频率阈值允许在进入模式之前消耗不希望有的能量时,才使用类型2代价。这通过式22完成:mop2=(T1-T0)/mtl    (22)与类型1的情况相同,如机会引起能量或响应代价,则不会出现丢失机会代价。在类型1的情况下,这是绝对的限制。在类型2的情况下,这是近似值,因为是否引起能量代价或响应代价决定于类型2机会和模式持续进间这两项。然而,式22的优点是很容易实施。
丢失机会代价也可用频率单位计算。对于类型1机会,当所测量的频率freq降低小于频率代价低限值mfl时出现代价。在此情况下mop1=mfl/freq          (23)是一个好的代价式子。对于类型2代价,其式为mop2=mfl/tf      (24)使用频率单位计算代价的优点是当前频率freq和频率阈值tf都现成可用。然而,时间单位的优点是易于在硬件中用计数器实现,或当能量和响应代价使用时间单位时比较方便(满足一致性)。
显然,也可用其它代价式子。以上描述假设如发生能量或响应代价则不采用丢失机会代价。在有些情况下,也可能希望在这些例子中出现丢失机会代价。此时代价可能会有一个决定于能量或响应代价的幅值的附加加权系数。
当存在多个节能模式时,最好为每个模式确定一个代价值。当不同模式具有不同时间窗口时更希望如此,因为它们将对存取频谱的不同部分作出响应。对于给定的模式,在确定代价时可能会使用其它模式的进入特性,但这并不是必要的。例如,可在所有间隔内对所有模式检查代价,或也可只对最佳模式检查代价。此外,对每个节能模式保持多个代价是有利的。例如,式6-8代表均匀和不规则存取模型的情况。为这两类模型都保持一组代价的做法允许在这两种情况下具有独立的动态适应性。在完成此做法时要注意在给定间隔内哪一类模型正在工作,并为该具体类模型计算代价。代价历史
代价的时间历史用于在式6和7的频率阈值计算中调整参数,最好是调整放大系数g1和g2。在最佳实施例中,当个别代价出现时,它们都被加到相应的累计代价值上:cerp是累计的能量/响应代价及cmop是累计的丢失机会代价。当这些数值中的一个越过预定的起动水平时,频率阈值计算中的被选参数即相应地改变,同时减小累计值。当进入节能模式而未引起代价时,相应的累计代价值即减少一定量。这样做的效果是减弱过去时间上的代价,以使旧代价的影响比新代价小。此过程在图9中得到阐述。横轴标为模式间隔,其中每一个短标线对应于一个模式进入点(或一个机会)。纵轴是累计代价幅值cerp。在间隔0处出现一个代价,因而增加了累计代价值。在间隔1处无代价出现,因此累计代价值下降。此特征继续下去,当出现新代价时增大累计代价,而当不出现代价时累计代价按固定速率下降。在间隔7处新代价与累计代价之和已足以越过所示代价起动水平。在这点上改变式6和7中的放大系数并将累计代价值减至零。将累计代价清零的做法以下列假设为依据:参数的调整改变了特性,因此需要进行新的测量。其效果示于间隔8以后的时间间隔内,其中代价少了,而且代价值也比以前时间间隔内的代价值小。
在最佳实施例中,当出现能量/响应代价(ep和rp中的较大者)时,此代价值加到累计代价cerp上。
cerp=cerp+max(ep,rp)    (25)该累计代价接着与预定起动水平erpt相比较,并改变频率阈值计算中的放大系数g1和g2。在最佳实施例中对均匀存取和不规则存取的代价分别追踪并将恰当的放大系数g1或g2增量。用于erpt的最佳值是16。如上所描述,放大系数有实际限值,这些限值用于限制放大系数的高限。
如无代价,则在每一次退出模式时将累计代价cerp减少一个预定量(cerd),直至减到低限为零。
cerp=cerp-cerd    (26)其中cerd用作累计代价的衰减率。一般用于cerd的合适的值是2。更大的值将以更大速率减弱代价的效果,及较小的值将以较小速率去这样做。
丢失机会累计代价cmop以类似于能量/响应累计代价的方式进行计算。可以分别处理类型1和类型2代价(单独的累计代价),也可将同一累计代价用于它们,这样可简单些。当出现丢失机会代价时,合适的值(mop1或mop2)加到累计代价cmop上。在最佳实施例中,当累计代价超过起动水平mopt时,g1或g2中恰当的放大系数即被减量。用于mopt的最佳值是16。如上所描述,放大系数有实际限值,这些可用于限制放大系数的低限。如无代价,则cmop减少一个预定量cmod,直至减到低限为零。用于cmod的合适值仍然是2 。
当退出模式时计算能量/响应代价erp和类型2丢失机会代价mop2。此过程细节示于图10中。步350可由图4的步313进入,这时已进入最深模式。步352由图2的步401进入,这时出现一个存取同时驱动器处于节能模式中。当从步350进入时,步351等待存取。在步352处,用上面描述的方式获取模式持续时间。在步353处如上描述地计算能量代价ep和响应代价rp。步354检查是否有一个代价。如无代价,则进入步356。如有代价,则进入步355。在步355处将代价加到累计代价cerp上。在步358处将累计代价与代价起动水平erpt测试比较。如未超过起动水平,则进入步367,将控制返回至图4的步300。如超过起动水平,则在步359处修改恰当的放大系数。在步360处将累计代价设为零,并进入步367。在步356处由于没有代价,因此将累计代价值减小。在步357处使用式24计算类型2丢失机会代价。步361检查是否出现代价。如无代价,则在步362处将累计代价减小并进入步367。如有代价,则步363将代价加到累计代价上。步364检查累计代价是否超过起动水平。如未超过,则进入步367。如已超过,则在步365处修改恰当的放大系数并在步366处将累计代价设为零,同时进入367。
当存取频率下降低于频率代价限值时,计算类型1丢失机会代价mop1,参照图7,比较和计算是步307的一部分。图11显示其细节。从图4的步307进入图11的步325。在步326处,如式23中所示地计算代价值mop1。步327检测是否有代价。如无代价,则由步328回至步307。如出现代价,则步329将此代价加到累计代价cmop上。在步330处将累计代价与丢失机会起动水平mopt相比较。如未超过起动水平,则进入步328。如超过起动水平,则进入步311,将恰当的放大系数修改。在步332处将累计代价清零,并进入步328。
还可能在调整放大系数时不必显式地使用丢失机会代价。这种情况下可代之以能量/响应代价的出现频率。这种做法的假设是当出现几次能量/响应代价后出现最佳特性。出现率太低意味着系统并不节约足够能量。因此,如出现率降低小于一定水平,则可如出现丢失机会代价一样地修改放大系数。
当然,可以设计出其它方法将代价信息反馈入频率阈值计算中去,但所描述的实施例的优点是设计非常简单,而且对系统的实际特性能很好响应。其它设计包括保持代价统计学特性,例如直方图,并提供代价的时间加权,例如通过重新规格化。此外,可能希望调整其它参数,诸如代价起动水平,代价衰减率,代价幅值换算系数(如式14中所示)及放大系数的限值。这可或者通过来自计算机41的命令进行调整,或当越过累计代价起动水平时动态地进行调整。也希望如上所描述地根据性能/能量指标命令调整这些不同的参数。
可能还希望盘驱动器通知计算机它如何能很好地满足特定的能量/性能指标。例如,这类信息可在状态命令中传送。这将允许计算机修改能量/性能指标,或通知用户尚未满足指标。周期性存取
在周期性存取的情况下还可能改善能量的节约情况而不会影响性能。周期性存取十分普遍。例如,大多数文字处理应用程序具有“自动存储”特征,可以每隔由用户规定的固定间隔将当前文件存到盘驱动器上,例如每隔10分钟。如能检测到这类存取模型,则可更快进入节能模式,并在所预料的存取出现之前退出该模式。这样做的效果可不使用户觉察到节能模式恢复时间,并能比实际情况更早地进入模式,从而节约更多能量。存取频率法本身很自然地具有检测周期性存取的能力。在此情况下,很低存取频率(vlf)特性是有用的。可在考虑到目标频率范围的情况下从存取密度中测量vef工作特性。这将是比模式恢复时间更长的时间范围。为检测自动存储工作特性,其尺寸为几秒或更长的时间窗口是合适的。历史缓存保存vlf工作特性,例如最近3次出现的vlf。如在历史缓存中检测到模型。则进入周期性模式。一个非常简单的模型是最近3个vlf值互相之间处于公差范围内,如5%范围内。一旦进入周期性模式,则将放大系数减小以便更快地进入节能模式,因为假设没有性能代价。先前的值都保存下来,因为当退出周期性模式时它们需加以恢复。当所测量的vlf值处于所期望的vlf值的一定公差范围内时,盘驱动器回至工作态。此公差系根据vlf值的统计学可靠度而定,并包括节能模式恢复时间,以保证当出现vlf存取时盘驱动器已准备好。当此模型没有再现时即退出周期性模式。退出周期性模式的简单检测机理是:或早或晚不出现位于所预期的vlf值的一定公差范围内的存取。
放大系数和其它可调整参数可保存在非易失性存储器内,以便在盘驱动器断电时仍能保留其特性。这可通过下法完成:或使用类似闪烁RAM的半导体存储器,或将这些值写到盘上。例如,后一种方法可在进入节能模式之前完成。
本发明的最佳实施例已详细地阐述过,很清楚,可在不背离下面权利要求书中所描述的本发明的实质和范围的情况下对本发明进行修改和改进。

Claims (28)

1.一种用于管理数据记录盘驱动器中电能使用的方法,所述盘驱动器具有一个带有数据道的记录盘,多个由电源供电的部件,和一个执行盘驱动器存取以便读和写盘上数据的数据控制器,所述盘驱动器部件包括一个用于转动盘的轴马达,一个用于向盘写数据或从盘读数据的读写头及一个与读写头连在一起用于将读写头移至盘上不同道的传动器,所述方法的特征在于包含以下步骤:
当该轴马达以工作速度旋转时,确定来自该数据控制器的读或写存取频率;
存储多个数值,其表示多个以前确定的存取频率;
当该轴马达以其工作速度旋转时,从以前确定的存取频率的所存储数值计算一个存取阈值频率;以及
当所确定的存取频率降低到小于所计算的存取阈值频率时,减小提供到至少一个被供电部件的电功率。
2.根据权利要求1的方法,特征在于,进一步包含对来自数据控制器的读或写存取作出响应,将送至先前已减少功率的部件的功率恢复的步骤。
3.根据权利要求1的方法,特征在于,确定存取频率的步骤包括根据在一个时间窗口内出现的存取的次数估算存取频率的步骤。
4.根据权利要求1的方法,特征在于,计算存取阈值频率的步骤包括从先前确定的存取频率中的最大和最小值计算存取阈值频率的步骤。
5.根据权利要求4的方法,特征在于,计算存取阈值频率的步骤包括将最大和最小存取频率乘以预定的放大系数的步骤。
6.根据权利要求1的方法,特征在于,进一步包括判定该存取是否为以相等时间间隔出现的周期性存取模型的步骤以及随后在所述时间间隔结束之前把提供给该已减小功率的部件的功率恢复的步骤。
7.一种用于管理数据记录盘驱动器中电能使用的方法,所述盘驱动器具有一个带有数据道的记录盘、一个用于转动盘的轴马达、一个用于向数据道写数据或从数据道读数据的读写头、一个对读写头存取以读和写数据的数据控制器、一个由音圈马达所驱动并且与读写头连在一起用于将读写头移至不同数据道和非数据区停靠位置的音圈马达传动器、及一个连至传动器用于在读或写数据期间将读写头保持在一个数据道上的伺服控制电子线路,该盘驱动器能够在轴马达以其工作速度选择过程中工作于第一节能模式以及在减小该轴马达的电能过程中工作于第二节能模式,所述方法的特征在于包含以下步骤:
当该轴马达以其工作速度旋转时确定读或写存取的频率;
存储多个数值,其表示多个以前确定的存取频率;
当该轴马达以其工作速度旋转时,从以前确定的存取频率的所存储数值计算第一存取阈值频率;以及
当所确定的存取频率降低到小于该第一存取阈值频率时,减小音圈马达驱动器和伺服控制电子线路的电功率;该盘驱动器进入第一节能运行模式。
8.根据权利要求7的方法,特征在于,进一步包括根据所存放的先前确定的存取频率值计算第二存取阈值频率的步骤,及当读或写存取频率小于第二阈值频率时减小送至轴马达的功率,使盘驱动器进入第二节能运行模式的步骤。
9.根据权利要求8的方法,特征在于,减小送至轴马达的功率的步骤包括基本上在将传动器移至停靠位置的同时减小送至轴马达的功率,使盘驱动器进入它的第二节能模式而不首先进入它的第一节能模式的步骤。
10.根据权利要求7的方法,特征在于,计算第一存取阈值频率的步骤包括根据一组先前确定的存取频率中的最大和最小存取频率计算存取阈值频率。
11.根据权利要求10的方法,特征在于,计算第一存取阈值频率的步骤包括将最大和最小存取频率乘以放大系数的步骤。
12.根据权利要求11的方法,特征在于,进一步包括调整放大系数的步骤。
13.根据权利要求12的方法,特征在于,调整放大系数的步骤包括用性能系数修改放大系数的步骤,其中性能系数所具有的可选用值的范围的一个限值代表盘驱动器的最大节能量及范围的另一个限值代表盘驱动器的最佳性能。
14.一种用于管理数据记录盘驱动器中电能使用的方法,所述盘驱动器具有一个带有数据道的记录盘、一个用于转动该盘的轴马达、一个用于向数据道写数据或从数据道读数据的读写头、一个对读写头存取以读和写数据的数据控制器、一个和读写头连在一起用于将读写头移至不同数据道和非数据区停靠位置的传动器、及一个连至传动器用于在读或写数据期间将读写头保持在一个数据道上的伺服控制电子线路,所述盘驱动器能进入和退出节能运行模式,所述方法的特征在于以下步骤:
在该轴马达旋转时确定读或写存取的频率;
存储以前确定的存取频率的数值;
当该轴马达旋转时,从以前确定的存取频率的所存储数值计算第一存储阈值频率;
在最近存取之后进入节能模式,所述进入模式时间根据所计算的第一存取阈值频率而变化;
选用一个性能系数,所述性能系数值的范围的一个限值代表盘驱动器的最大节能量和另一个限值代表盘驱动器的最佳性能;以及
将选用的性能系数用于修改第一存取阈值频率的计算,因而用选用的性能系数调整盘驱动器的进入节能模式的动作。
15.根据权利要求14的方法,特征在于,计算存取阈值频率的步骤包括放大系数的使用。
16.根据权利要求15的方法,特征在于,将选用的性能系数用于修改存取阈值频率的计算的步骤包括通过将放大系数乘以选用的性能系数以调整放大系数。
17.根据权利要求14的方法,特征在于,在进入节能模式时将传动器移至停靠位置及减小送至伺服控制电子线路的功率。
18.根据权利要求14的方法,特征在于,在进入节能模式时将传动器移至停靠位置及将轴马达断电。
19.根据权利要求14的方法,特征在于,盘驱动器能进入和退出第二节能运行模式,所述第二节能模式的功耗小于第一节能模式,所述方法进一步包括以下步骤:
从先前确定的存取频率的所存储数值计算第二存取阈值频率;
在最近存取之后进入第二节能模式,进入第二节能模式的时间可以根据与所述计算的第一存取阈值频率不同的所计算的第二存取阈值频率而变化;以及
将选用的性能系数用于修改第二存取阈值频率的计算,因而用选用的性能系数调整盘驱动器的进入第二节能模式的动作。
20.根据权利要求19的方法,特征在于,进一步包括使盘驱动器进入第二节能模式而不首先进入第一节能模式的步骤。
21.根据权利要求14的方法,特征在于,进一步包括判定所存储的读或写存取频率是否代表周期性读或写存取模型的步骤及随后在下一个周期性存取出现之前退出节能模式的步骤。
22.一种用于管理数据记录盘驱动器中电能使用的方法,所述盘驱动器具有一个带有数据道的记录盘,一个用于转动盘的轴马达,一个用于向数据道写数据和从数据道读数据的读写头,一个对读写头存取以读和写数据的数据控制器,一个和读写头连在一起用于将读写头移至不同数据道和非数据区停靠位置的传动器,及一个连至传动器用于在读或写数据期间将读写头保持在一个数据道上的伺服控制电子线路,所述盘驱动器能进入和退出节能运行模式,所述方法的特征在于以下步骤:
当该轴马达以工作速度旋转时,确定读或写存取频率;
存储以前确定的存取频率的数值;
当该轴马达以其工作速度旋转时,从以前确定的存取频率的所存储数值计算一个存取阈值频率;
当读或写存取频率小于存取阈值频率时,进入节能运行模式;
检测进入和退出节能模式的时间;
如由检测的进入和退出节能模式的时间所定的节能模式持续时间小于预定的无能量损失时间则计算能量代价,所述无能量损失时间是所需的节能模式持续时间,在此期间所节约的盘驱动器能量一般等于盘驱动器退出节能模式时所需能量;
将计算的能量代价累计起来;以及
当累计的能量代价超过预定起动水平时,修改存取阈值频率,根据能量代价的历史数据动态地调整盘驱动器的进入节能模式的动作。
23.根据权利要求22的方法,特征在于,进一步包含以下步骤:
检测读或写存取的时间;
如连续检测的存取时间之间没有进入节能模式的时间间隔大于所述无能量损失时间,则计算丢失机会代价;
将计算的丢失机会代价累计起来;以及
当累计的丢失机会代价超过预定起动水平时,修改存取阈值频率,根据丢失机会代价的历史数据动态地调整盘驱动器的进入节能模式的动作。
24.根据权利要求22的方法,特征在于,计算存取阈值频率的步骤包括根据一组所存储的存取频率中的最大和最小存取频率并使用放大系数计算存取阈值频率。
25.根据权利要求24的方法,特征在于,修改存取阈值频率的步骤包括调整放大系数。
26.根据权利要求22的方法,特征在于,在进入节能模式时将传动器移至停靠位置及减小送至伺服控制电子线路的功率。
27.根据权利要求22的方法,特征在于,在进入节能模式时将传动器移至停靠位置及将轴马达断电。
28.根据权利要求22的方法,特征在于,进一步包括确定存取是否为周期性存取模型的步骤及以后在下一个周期性存取之前退出节能模式的步骤。
CN 96102266 1995-09-22 1996-06-06 便携计算机中的电源管理方法 Expired - Fee Related CN1128422C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/532,956 US5682273A (en) 1995-06-30 1995-09-22 Disk drive for portable computer with adaptive demand-driven power management
US532956 1995-09-22

Publications (2)

Publication Number Publication Date
CN1151560A CN1151560A (zh) 1997-06-11
CN1128422C true CN1128422C (zh) 2003-11-19

Family

ID=24123898

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 96102266 Expired - Fee Related CN1128422C (zh) 1995-09-22 1996-06-06 便携计算机中的电源管理方法

Country Status (2)

Country Link
CN (1) CN1128422C (zh)
SG (1) SG47139A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1540479B (zh) * 2003-04-22 2010-04-28 启碁科技股份有限公司 电子装置电源管理方法及其装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3994071B2 (ja) * 2003-06-12 2007-10-17 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ装置、システムの稼働状態の切り換え制御方法、およびプログラム
US9483107B2 (en) * 2014-10-13 2016-11-01 Microsoft Technology Licensing, Llc Adaptive idle timeout for storage devices
CN112558917B (zh) * 2019-09-10 2021-07-27 珠海博雅科技有限公司 存算一体电路和基于存算一体电路的数据运算方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1540479B (zh) * 2003-04-22 2010-04-28 启碁科技股份有限公司 电子装置电源管理方法及其装置

Also Published As

Publication number Publication date
CN1151560A (zh) 1997-06-11
SG47139A1 (en) 1998-03-20

Similar Documents

Publication Publication Date Title
US5682273A (en) Disk drive for portable computer with adaptive demand-driven power management
US6608729B1 (en) Intelligent power management of disc drives
Flinn et al. Managing battery lifetime with energy-aware adaptation
CN101788995B (zh) 一种热点数据识别方法及装置
US7275166B2 (en) Power saving control system and power saving control method
CN101379453B (zh) 使用动态工作负载特征来控制cpu频率和电压调节的方法和装置
US5954820A (en) Portable computer with adaptive demand-driven power management
Zhou et al. Dynamic tracking of page miss ratio curve for memory management
US8527997B2 (en) Energy-aware job scheduling for cluster environments
Pinheiro et al. Energy conservation techniques for disk array-based servers
US7840825B2 (en) Method for autonomous dynamic voltage and frequency scaling of microprocessors
US7640443B2 (en) Computer apparatus, storage apparatus, system management apparatus, and hard disk unit power supply controlling method
CN100353289C (zh) 处理器及其驱动方法与电子信息处理产品
US20070245163A1 (en) Power management in computer operating systems
US20080082844A1 (en) Method and System for Improving Processing Performance by Using Activity Factor Headroom
US20070294552A1 (en) Storage system and storage control method achieving both power saving and good performance
US7653826B1 (en) Method and apparatus for query optimization and management of sleepy drives
CN1523473A (zh) 一种用于管理微处理器能源消耗的装置及方法
CN1666166A (zh) 集成图形设备的功率管理
CN109144895B (zh) 一种数据存储方法及装置
CN104572500B (zh) 微处理器及其性能和功率消耗的管理方法
US20070250727A1 (en) Portable electronic apparatus with a power saving function and method for implementing the power saving function
CN116204117A (zh) 基于访问行为的数据块活跃度估值和数据迁移方法
CN1128422C (zh) 便携计算机中的电源管理方法
CN103970256A (zh) 一种基于内存压缩和cpu动态调频的节能方法及系统

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: HITACHI GST

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINE CORP.

Effective date: 20040903

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20040903

Address after: Amsterdam

Patentee after: Hitachi Global Storage Tech

Address before: American New York

Patentee before: International Business Machines Corp.

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20031119

Termination date: 20100606