JP3819166B2 - 消費エネルギー低減方法 - Google Patents

消費エネルギー低減方法 Download PDF

Info

Publication number
JP3819166B2
JP3819166B2 JP33700398A JP33700398A JP3819166B2 JP 3819166 B2 JP3819166 B2 JP 3819166B2 JP 33700398 A JP33700398 A JP 33700398A JP 33700398 A JP33700398 A JP 33700398A JP 3819166 B2 JP3819166 B2 JP 3819166B2
Authority
JP
Japan
Prior art keywords
time
command
mode
power
power consumption
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 - Lifetime
Application number
JP33700398A
Other languages
English (en)
Other versions
JP2000173152A (ja
Inventor
祐司 横江
Original Assignee
ヒタチグローバルストレージテクノロジーズネザーランドビーブイ
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
Application filed by ヒタチグローバルストレージテクノロジーズネザーランドビーブイ filed Critical ヒタチグローバルストレージテクノロジーズネザーランドビーブイ
Priority to JP33700398A priority Critical patent/JP3819166B2/ja
Priority to SG9905762A priority patent/SG82037A1/en
Priority to US09/448,161 priority patent/US6553501B1/en
Priority to GB9927647A priority patent/GB2347531B/en
Publication of JP2000173152A publication Critical patent/JP2000173152A/ja
Application granted granted Critical
Publication of JP3819166B2 publication Critical patent/JP3819166B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3268Power saving in hard disk drive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Direct Current Feeding And Distribution (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ディスク装置に供給する電力の管理に関し、特に、ディスク装置の消費電力を低減する方法に関する。
【0002】
【従来の技術】
近年、環境保護等の観点から、パーソナル・コンピュータ(PC)等の電子機器に対し、より消費電力を小さくすることが求められている。特に、特にノートブック型PCをはじめとする携帯用機器については、内蔵電源による長時間使用を可能にするため、より一層の省電力が求められている。
【0003】
これらの機器の記憶装置として用いられるハード・ディスク・ドライブ(HDD)は、消費電力を低下させるために、省電力のための動作を行わないアクティブ(Active)・モードのほか、トラックフォローのみで読み書きを行わないアイドル(Idle)・モードや、さらに消費電力を低減させるためディスクを回転させるスピンドル・モータを止めるスタンバイ(Standby)・モード等の複数のパワーセーブ(省電力)・モードを有している。
【0004】
平均的に消費電力を低減させるためには、ホスト・コンピュータからコマンドを受けない非動作時に、なるべく低い(消費電力の少ない)レベルのパワーセーブ・モードに移行することが有効である。
【0005】
一方、ホスト・コンピュータからのコマンドに対する応答時間が長くなることを防止するため、コマンドを受けたら速やかにパワーセーブ・モードから抜けてアクティブ・モードに戻る必要がある。
【0006】
一般に、より低いレベルのパワーセーブ・モードに移行するとき及びアクティブ・モードに復帰するときに、より多くの時間及びエネルギーが必要となる。
【0007】
したがって、コマンドを受け取る間隔が短く、動作していない時間が短い場合においては、パワーセーブ・モードに移行するために消費するエネルギーの方が、そのパワーセーブ・モードに入ることにより節約出来るエネルギーよりも大きくなり、結局HDDの平均消費電力を増加させてしまう場合も考えられる。また、コマンドに対する応答もアクティブ・モードに復帰する時間だけ遅くなってしまう。
【0008】
このような理由から、パワーセーブ・モードに入るタイミングを最適化する必要があり、そのために以下のようなアルゴリズムが考えられている。
【0009】
(1)単純なタイマによる制御アルゴリズム
直前に実行したコマンド(命令)から一定時間以上経過した場合に、しばらくは次のコマンドは来ないであろうと判断し、パワーセーブ・モードに移行するというアルゴリズムである。ここで、「一定時間」とは、固定値またはホスト・コンピュータからコマンドにより指定された値にそれぞれ対応する時間をいう。
【0010】
しかしながら、この方法では、例えば、コマンドの間隔が上記一定時間よりわずかに長いような場合、パワーセーブ・モードに入った直後に次のコマンドが来て、アクティブ・モードに復帰してしまい、結局HDDの平均消費電力を増加させてしまうことがある。
【0011】
(2)Adaptive Battery Life Extender (ABLE) アルゴリズム
過去の一定時間毎にその時間内にHDDが受け取ったコマンドの数(密度)を調べ、その一定時間における受け取ったコマンドの密度が高い(コマンドの間隔が短い)場合にはパワーセーブ・モードに移行するまでの時間を短くし、コマンドの密度が低い(コマンドの間隔が長い)場合にはパワーセーブ・モードに移行するまでの時間を長くする、というアルゴリズムである。
【0012】
このアルゴリズムにより、HDDが一定間隔でコマンドを受け取った場合に、パワーセーブ・モードに入った直後に次のコマンドが来てしまうという可能性は低減出来る。しかしながら、コマンド間隔がランダムに変わる場合には、必ずしも最適なタイミングでパワーセーブ・モードに移行できるとは限らない。また、コマンドを受け取った時点を基準とするコマンドの密度を基にパワーセーブ・モードに移行するタイミングを決めているので、HDDがコマンドを処理するのに時間がかかった場合には見かけ上の密度が低くなってしまい、不適当なタイミングでパワーセーブ・モードに移行してしまうおそれがある。
【0013】
(3)Enhanced Adaptive Battery Life Extender (ABLE2) アルゴリズム
(2)のABLEのアルゴリズムを拡張したものである。すなわち、ABLEにより制御されるパワーセーブ・モードは1個のみであったが、この数を3個にして、さらに低いレベルのパワーセーブ・モード(例えば、ロード・アンロード機構を備えたHDDにおいてヘッドをアンロードするモード)にも自動的に移行することを可能にしたものである。
【0014】
このアルゴリズムは、他のパワーセーブ・モードに移行するタイミングはABLEアルゴリズムと同じであるが、コマンド間隔のパターン(一定間隔でコマンドを受け取る場合、一回コマンドを受けた後しばらくコマンドを受け取らない場合又はランダムな間隔でコマンドを受け取る場合)によって3種類の関数を定義し、それにより、なるべく良いタイミングでアクティブ・モードからパワーセーブ・モードに、又はあるパワーセーブ・モードから他のパワーセーブ・モードに移行する点でABLEアルゴリズムと相違する。
【0015】
【発明が解決しようとする課題】
しかしながら、従来技術においては、パワーセーブ・モードに移行した場合に節約が期待される消費電力量を予め計算することはなされていなかった。
【0016】
したがって、従来技術においては、コマンド間隔及びパワーセーブ・モードへの移行のタイミングによっては、パワーセーブ・モードへの移行及びパワーセーブ・モードからの復帰のために付加的に必要となる消費電力量並びにコマンドに対する応答の遅延時間分の消費電力量が、パワーセーブ・モードに移行している期間に節約される消費電力量を上回り、結果的に節電の目的が達成できない場合もあり得た。
【0017】
また、コマンドを受け取った時点を基準としてコマンドの密度を計算していたので、HDDがコマンドを処理するのに時間がかかった場合には、コマンドの完了をホスト・コンピュータに通知するのも遅くなり、それに伴ってホスト・コンピュータから次のコマンドが発行されるのも遅くなるため、HDDの非動作の時間が短い(稼働率が高い)にもかかわらず、ホスト・コンピュータから受け取るコマンドの見かけ上の密度が低下してしまい、不適当なタイミングでパワーセーブ・モードに移行してしまうおそれがあった。
【0018】
したがって、本発明は、HDDの消費電力をより低減させることを目的とする。
【0019】
また、本発明は、パワーセーブ・モードに移行した場合に節約が期待される消費電力量を計算することができる方法及び装置を提供することを目的とする。
【0020】
さらに、本発明は、上述のような、HDDの非動作の時間が短いにもかかわらず、ホスト・コンピュータから受け取るコマンドの見かけ上の密度が低くなってしまい、不適当なタイミングでパワーセーブ・モードに移行してしまうという不都合を解消し、真にHDDが非動作である時間に応じてホスト・コンピュータから受け取るコマンドの密度を計算する方法及び装置を提供することを目的とする。
【0021】
【課題を解決するための手段】
本発明によれば、パワーセーブ・モードへ移行及びパワーセーブ・モードから復帰するために付加的に必要となる消費電力量並びにコマンドに対する応答の遅延時間分の消費電力量を、パワーセーブ・モードに移行している期間の節約が期待される消費電力量と予め比較する。
【0022】
また、本発明によれば、HDDへの過去のコマンド間隔の時間分布と同じ時間分布で次のコマンドが来ることを仮定し、パワーセーブ・モードへ移行した場合に節約が期待される消費電力量を、複数のタイミングで計算する。
【0023】
さらに、本発明によれば、節約が期待される消費電力量とともに、次に受け取るコマンドを実行するためにパワーセーブ・モードから復帰するための平均遅延時間を計算する。
【0024】
さらにまた、本発明によれば、ホスト・コンピュータより指定されている時間よりも上記計算される平均遅延時間が短い範囲内で、最も節約される消費電力量が大きくなるタイミングでパワーセーブ・モードに移行する。
【0025】
さらにまた、本発明によれば、計算に用いる過去のコマンド間隔には、前のコマンドを受け取ってから次のコマンドを受け取るまでの時間ではなく、前のコマンドの実行を完了してから次のコマンドを受け取るまでの時間を用いる。すなわち、インターフェースが稼動していない(アイドル状態の)時間をコマンド間隔とする。
【0026】
さらにまた、本発明によれば、一定時間毎に、計算に用いる過去のコマンド間隔の影響力を半減させていき、最新のアクセス・パターンが最も大きく計算に反映されるようにする。
【0027】
【発明の実施の形態】
(1)本発明が適用される装置
図1は本発明が適用されるHDDのブロック図である。ディスク装置100は、コントローラ部110とディスク部130から構成されている。コントローラ部110は、ホスト・・コンピュータ10に接続されるホスト・インターフェース・コントローラ(HIC)112と、ホスト・インターフェース・コントローラ112に接続され、ディスク部の制御を行うハード・ディスク・コントローラ(HDC)114と、ハード・ディスク・コントローラ114に接続され、読み取り・書き込み信号の制御を行うチャネル116と、HIC112、HDC114、チャネル116に接続され、これらの制御を行うMPU118と、MPU118に接続され、MPUが実行するマイクロコードを記憶するRAM120とを含む。ディスク部130はスピンドル132を回転させるモータ134を備えている。スピンドル132には、ディスク136A及び136Bが、スピンドル132と一体的に回転するように取り付けられている。ディスクは、図においては2枚であるが、1枚又は3枚以上でもよい。
【0028】
それぞれがディスクの面に対向するようにヘッド138A、138B、138C及び138Dが、アクチュエータ・アーム140A、140B、140C及び140Dにそれぞれ支持されて配置されている。アクチュエータ・アーム140A〜140Dはピボット・シャフト142を介してボイス・コイル・モータ(VCM)144に取付けられ、その回動により、ヘッド138A〜138Dはディスクの所望の半径位置に移動される。モータ134及びVCM144はHDC114に接続され、それぞれの回転数、速度等が制御される。ヘッド138A〜138Dはチャネル116に接続され、読み取り・書き込み信号がチャネル116によって制御される。
【0029】
(2)節約が期待される消費電力量および次のコマンドの遅延時間の計算
図2に、パワーセーブ・モードの前後にわたる消費電力の推移を示す。図において、横軸は時間、縦軸は消費電力をそれぞれ表す。なお、図は説明のために簡略化したものであり、縮尺、波形等は正確でないことに留意されたい。まず、時刻t1にコマンドの実行が完了(command complete)すると、一定の時間Aが経過した後、HDDは時刻t2にアクティブ・モードからパワーセーブ・モードへの移行を開始し、ヘッドをディスク上から待避させる(アンロード)等の移行動作を行う。このとき、HDDは移行動作に伴ってアクティブ・モードよりも多くの電力を付加的に消費し、斜線部EL(Energy Loss)1として示した部分の面積に対応する電力消費量が、アクティブ・モードからパワーセーブ・モードに移行するための電力の損失となる。HDDは時刻t3にパワーセーブ・モードへの移行動作を完了し、時刻t4に次のコマンドを受け取るまで、HDDはパワーセーブ・モードに入った状態である。このとき、HDDはアクティブ・モードよりも少ない電力を消費し、網線部EG(Energy Gain)として示した部分の面積に対応する電力消費量が、アクティブ・モードからパワーセーブ・モードに移行したことによる電力の利得となる。時刻t4において、HDDが次のコマンドを受け取ると、それに対する処理を行うため、待避させられたヘッドを再びディスク上にロードさせる等のアクティブ・モードへの復帰動作を行う。このとき、HDDは復帰動作に伴ってアクティブ・モードよりも多くの電力を消費する。さらに、復帰動作を行っている間、コマンドに対する応答がその間遅延するため、遅延時間分のHDDの全電力消費量である、斜線部EL2として示した部分の面積に対応する電力消費量がパワーセーブ・モードからアクティブ・モードに復帰することによる電力の損失となる。時刻t5において復帰動作は完了し、HDDはコマンドに対する処理を開始する。
【0030】
アクティブ・モードのままでいることに対してパワーセーブ・モードに移行することにより節約される電力消費量TEG(Total Energy Gain)は、以下の式で計算される。
【数1】
TEG=EG−(EL1+EL2) (1)
【0031】
ここで、EL1及びEL2はそれぞれ一定のため、パワーセーブ・モードに移行したことによる電力利得EGが小さければTEGが負数になり、HDDはパワーセーブ・モードに移行しない場合よりもかえって多くの電力を消費してしまう。従って、節約される電力消費量を増加させるためには、パワーセーブ・モードに一定時間以上長く入っている必要がある。
【0032】
さらに図2を参照すると、まだパワーセーブ・モードへの移行が始まる前の期間(期間Aとして示される)内のある時点で次のコマンドを受け取った場合、節約される消費電力量は0であり、遅延時間も0となる。
【0033】
また、HDDの制御機構は通常一旦完全にパワーセーブ・モードに入った後にそれから復帰するようになっているため、パワーセーブ・モードへの移行中(期間Bとして示される)に次のコマンドを受け取った場合は、節約される消費電力量は、
【数2】
TEG=−(EL1+EL2+EL3) (2)
【0034】
となり、パワーセーブ・モードへ移行しない場合に比べて多くの電力を消費することとなる。ここで、EL3は、次のコマンドを受け取ってからパワーセーブ・モードへの移行が完了するまでの時間に、アクティブ・モード時の消費電力を乗じたものである。また、コマンドに対する応答の遅延時間は、次のコマンドを受け取ってからパワーセーブ・モードへの移行が完了するまでの時間と図中bで示されるパワーセーブ・モードからの復帰にかかる時間の和となる。
【0035】
さらにまた、パワーセーブ・モードへの移行が完了した後(期間Cとして示される)の時点で次のコマンドを受け取った場合は、上述のように節約される消費電力量は、
【数3】
TEG=EG−(EL1+EL2) (3)
【0036】
となり、パワーセーブ・モードに入っている時間が長いほど電力をより多く節約出来ることとなる。しかしながら、パワーセーブ・モードに入っている時間が短く、EGが(EL1+EL2)より小さい場合は、パワーセーブ・モードへ移行しない場合に比べてむしろ多くの電力を消費することとなる。また、この場合の遅延時間は、図中bで示されるパワーセーブ・モードからの復帰にかかる時間のみとなる。
【0037】
以上から、次のコマンドを受け取るタイミングと節約できる消費電力量TEG及び遅延時間の関係は、図3のグラフのようになる。ここで、横軸においてパワーセーブ・モードへの移行を始めるタイミング(図2における時刻t2)を0として、それより前のタイミングは負、後のタイミングは正として表示している。
【0038】
図3において、時刻0において次のコマンドを受け取ってから、図2の期間Bに相当する期間内においては、節約できる消費電力量について式(2)が適用される。このとき、時間の経過に伴ってEL3が減少する一方、EL1及びEL2はそれぞれ一定だから、時刻0のとき節約できる消費電力量が最小値(この場合は負数)をとり、その後、時間の経過に伴って節約できる消費電力量の値は単調に増加する。
【0039】
期間Bに相当する期間が経過すると、期間Cに相当する期間となり、節約できる消費電力量について式(3)が適用される。このとき、時間の経過に伴ってEGが増加する一方、EL1及びEL2はそれぞれ一定だから、節約できる消費電力量の値は単調に増加する。時刻tcで、パワーセーブ・モードに入ることによる電力利得EGとパワーセーブモードへの移行及び復帰に要する消費電力量(EL1+EL2)がバランスし、節約できる消費電力量の値が0となる。その後、節約できる消費電力量は正の値に転じ、単調に増加する。
【0040】
従って、パワーセーブ・モードへの移行を始めるタイミングから時刻tcが経過する前に次のコマンドを受け取ると、TEGは負の値となり、アクティブ・モードのままでいるよりもかえって多く電力を消費してしまう。一方、次のコマンドを受け取るタイミングが時刻tcが経過した後であれば、TEGは正の値となり、アクティブ・モードのままでいるよりも電力を節約することができる。
【0041】
図3において、時刻0において次のコマンドを受け取ってから、図2の期間Bに相当する期間において、コマンドを受け取ってから応答を開始するまでの遅延時間は、以下のようになる。即ち、時刻0のときパワーセーブ・モードへの移行及び復帰に要する時間の和(a+b)となり、従って、移行開始直後に次のコマンドを受け取ったときに遅延時間が最大となる。その後パワーセーブ・モードへの移行動作が進行するに従って移行に要する時間の残り時間が減少し、遅延時間は単調に減少する。期間Bに相当する期間が経過するとアクティブ・モードへの復帰に要する時間bのみとなり、従って、このとき遅延時間が最小となる。
【0042】
図4、図5及び図6に、パワーセーブ・モードを4個にしたときのTEG(図中Energy Gainと表示)及び遅延時間(図中Response Lossと表示)の変化を示す。これらの図において、アイドル(IDLE)・モードとは、ヘッドによるディスクへのデータの読み書きは行わず、ディスク上のサーボ信号の読み込みによるトラックフォローのみを行うモードをいい、アイドル2(IDLE2)・モードとは、サーボ信号の読み込みによるトラックフォローを行わず、チャネルに電力を供給しないモードをいい、アイドル3(IDLE3)・モードとは、ロード・アンロード機構を有するHDDにおいてさらにヘッドをディスクからアンロードしてディスクの外側にあるランプに待避させることによりモータに対する抵抗を低減させるモードをいい、スタンバイ(STANDBY)・モードとは、モータの回転を止めるモードをいうこととする。従って、HDDがアイドル・モード、アイドル2・モード、アイドル3・モード、スタンバイ・モードと移行するにしたがって、その消費電力が少なくなる。
【0043】
図4は、HDDがアイドル・モードからアイドル2・モードへ移行するときのコマンド間隔とTEG及び遅延時間との関係を示す。両モード間の移行には、サーボ信号の読み込みという電気的スイッチング及びトラックフォローによるヘッドの微小な機械的動作しか伴わないので、モードの移行による消費電力が比較的小さく、また、遅延時間も比較的小さい。
【0044】
図5は、HDDがアイドル2・モードからアイドル3・モードへ移行するときのコマンド間隔とTEG及び遅延時間との関係を示す。両モード間の移行には、ヘッドをディスクからアンロードしてランプに待避させるという機械的動作を伴うので、モードの移行による消費電力が比較的大きく、遅延時間も比較的大きい。
【0045】
図6は、HDDがアイドル3・モードからスタンバイ・モードへ移行するときのコマンド間隔とTEG及び遅延時間との関係を示す。両モード間の移行には、モータを停止又は起動するという動作を伴い、かかる動作には一定の時間を要するので、モードの移行による消費電力が比較的大きく、また、遅延時間も比較的大きい。
【0046】
以上、次に受け取るコマンドの時期による節約できる消費電力量TEG及びコマンドに対する応答の遅延時間について説明したが、実際のHDDの動作においては次のコマンドがいつ来るかを予測し、そのタイミングに合わせてパワーセーブ・モードへ移行を開始するまでの時間を決定することにより、全体として最も多く消費電力を節約できると考えられる。また、この時の遅延時間も許容出来る範囲に止める必要がある。
【0047】
ここで、次のコマンドがいつ来るかについては、過去のコマンド間隔の情報に基づき仮定する。この場合、過去のコマンド間隔の単なる平均を次のコマンド間隔として採用するよりも、過去のコマンド間隔の分布を次のコマンド間隔の分布として採用した方が、より正確に次のコマンド間隔を予測できると考えられる。
【0048】
そこで、パワーセーブ・モードへの移行を開始するまでの時間を複数選び、それぞれの時間毎に、図4乃至図6のグラフをコマンド間隔の分布により重み付けをして節約される消費電力量及び次のコマンドに対する応答の遅延時間を計算する。このようにして、パワーセーブ・モードへの移行を開始するまでの時間と、節約される消費電力量及び次のコマンドに対する応答の遅延時間との関係を知ることができる。
【0049】
この関係を用いて、節約される消費電力量が最大となり、かつ遅延時間が十分小さくなるまでの、移行開始までの時間を決定することができる。
【0050】
以下、具体例を図7乃至図22に示す。
【0051】
図7に、あるオペレーティング・システム(OS)のブート(Boot)・プログラムを実行したときのコマンド間隔の分布を示し、図8乃至図10に、各パワーセーブ・モードの移行にこの分布を適用した場合のTEG及び遅延率の変化を示す。
【0052】
図8は、図4におけるアイドル2・モードへの移行開始までの時間として図7のコマンド間隔の分布を適用して重み付けをしたときに、アイドル2・モードへの移行開始までの時間と節約できる消費電力及び遅延率の関係を示したものである。ここで図8以降のグラフは、前のコマンドの終了時からパワーセーブ・モード(この場合はアイドル2・モード)への移行を開始するまでの時間(図中Transition Delayと表示)を横軸にしており、節約消費電力量および遅延時間ともに経過時間で割って、節約消費電力(図中Power Gainと表示)および遅延率(図中Response Lossと表示)としている。図8のグラフより、前のコマンドを完了してから約100ms後にアイドル2・モードへの移行を始めたときに節約消費電力がもっとも大きくなることがわかる。また、遅延時間も、約100ms後には十分小さくなっていることがわかる。従って、前のコマンドを完了してから約100ms経過後にパワーセーブ・モードに移行することが最適であると推測される。
【0053】
図9は、図8と同様に図5におけるアイドル3・モードへの移行開始までの時間として図7のコマンド間隔の分布を適用して重み付けをしたときに、アイドル3・モードへの移行開始までの時間と節約できる消費電力及び遅延率の関係を示したものである。図9のグラフより、前のコマンドを完了してから約6000msを経過するまでは節電の効果が無いことがわかる。従って、このとき、アイドル3・モードには移行しない方がよいことが推測される。
【0054】
図10は、図8と同様に図6におけるスタンバイ・モードへの移行開始までの時間として図7のコマンド間隔の分布を適用して重み付けをしたときに、スタンバイ・モードへの移行開始までの時間と節約できる消費電力及び遅延率の関係を示したものである。図10のグラフより、前のコマンドを完了してから約6000msを経過するまでは節電の効果が無いことがわかる。従って、このとき、スタンバイ・モードには移行しない方がよいことが推測される。
【0055】
図11乃至図14は、バッテリーの使用時間を比較するためのベンチマーク・プログラムの一つを実行したときのコマンド間隔の分布(図11)、及び各パワーセーブ・モードの移行にこの分布を適用した場合のTEG及び遅延時間の変化(図12乃至図14)を示す。図12において、前のコマンドを完了してから約100ms後にアイドル2・モードへの移行を始めたときに節約消費電力が最も大きくなることがわかる。また、遅延時間も、約100ms後には十分小さくなっていることがわかる。図13において、前のコマンドを完了してから約1500msを経過するまでは節電の効果が無いことがわかる。一方、遅延時間は、約2000ms経過後には十分小さくなっていることがわかる。図14において、前のコマンドを完了してから約2000msを経過するまでは節電の効果が無いことがわかる。一方、遅延時間は、約16000ms経過後には無視出来るほど小さくなっていることがわかる。
【0056】
図15乃至図18は、ビジネス用アプリケーション・プログラムの実行性能を比較するためのベンチマーク・プログラムの一つを実行したときのコマンド間隔の分布(図15)、及び各パワーセーブ・モードの移行にこの分布を適用した場合のTEG及び遅延時間の変化(図16乃至図18)を示す。図16において、前のコマンドを完了してから約200ms後にアイドル2・モードへの移行を始めたときに節約消費電力がもっとも大きくなることがわかる。また、遅延時間も、約200ms後には十分小さくなっていることがわかる。図17において、前のコマンドを完了してから約2000msを経過するまでは節電の効果が無いことがわかる。一方、遅延時間は、約2000ms経過後には十分小さくなっていることがわかる。図18において、前のコマンドを完了してから約3000msを経過するまでは節電の効果が無いことがわかる。一方、遅延時間は、約3000ms経過後には無視出来るほど小さくなっていることがわかる。
【0057】
図19乃至図22は、バッテリーの使用時間を比較するためのベンチマーク・プログラムの他の一つを実行したときのコマンド間隔の分布(図19)、及び各パワーセーブ・モードの移行にこの分布を適用した場合のTEG及び遅延時間の変化(図20乃至図22)を示す。図20において、前のコマンドを完了した直後から約1000ms後までの間にアイドル2・モードへの移行を始めたときに節約消費電力がもっとも大きくなることがわかる。また、遅延時間も、この期間を通じて無視出来るほど小さいことがわかる。図21において、前のコマンドを完了した直後から約12000ms後までの間にアイドル3・モードへの移行を始めたときに節約消費電力がもっとも大きくなることがわかる。一方、遅延時間は、この期間を通じて無視出来るほど小さくなっていることがわかる。図22において、前のコマンドを完了した直後から約4000ms後までの間にスタンバイ・モードへの移行を始めたときに節約消費電力がもっとも大きくなることがわかる。一方、遅延時間は、この期間を通じて十分小さくなっていることがわかる。
【0058】
(3)動的制御
以上の説明は、過去のアクセス・パターンに基づいて、どのタイミングでパワーセーブモードに入れば効果的であったかを解析したものである。過去のアクセス・パターンのコマンド間隔の時間分布と同一の分布で次のコマンドを受け取ると仮定すると、解析された効果的なタイミングがこれから受け取るコマンドに対しても有効となる。本発明は、このように過去のアクセス・パターンに基づいてパワーセーブ・モードに移行するタイミングを決定している。
【0059】
計算を簡単にして、保持しなければならない過去のコマンド間隔のデータ量を少なくするため、本発明の適用例では、コマンド間隔を複数の時間領域に分け、それぞれの時間領域でのコマンド間隔の数とその時間領域の平均時間とのデータが保持されている。そのようにすることで、総節約電力量は、各時間領域の平均時間から計算される節約消費電力量にコマンド間隔の数を乗じたものを、全時間領域で足しあわせることにより近似できる。総遅延時間についても同様である。
【0060】
また、パワーセーブ・モードに移行するまでの最小時間が決まっている場合は(例えば100ms等)、それよりも短いコマンド間隔ではパワーセーブモードに移行しないので、そのコマンド間隔に対する節約消費電力量も遅延時間も0となる。すなわち、計算に使用する意味はないので、データとして保持する必要がなくなり、その分保持しなければならないデータ量を節約できる。
【0061】
(4)コマンド間隔
計算に用いる過去のコマンド間隔には、前のコマンドを完了した後、次のコマンドを受け取るまでの時間、即ちインターフェースがアイドルである時間をコマンド間隔とする。ホスト・コンピュータがいつ次のコマンドを送るかを正確に判断するためである。従来は、前のコマンドを受け取った後、次のコマンドを受け取るまでの時間をコマンド間隔としていたが、この方法ではHDDがコマンドを処理するために要する時間もコマンド間隔に含まれてしまう。即ち、ホスト・コンピュータが意図的にコマンドを送らなかった時間も、HDDがコマンドを処理しておりそれが終了するのを待っていた時間も区別なく処理されてしまう。従って、従来の方法はホスト・コンピュータがいつ次のコマンドを送るかを判断する材料としては不適当となる。
【0062】
(5)過去のコマンド間隔の計算に対する影響の大きさ
前のコマンドを完了してから次にコマンドを受け取るまでの時間は、比較的近い過去のコマンド間隔の時間分布に従うものと予想される。よって、計算には最新のコマンド間隔の分布が最も大きく影響し、古いコマンド間隔の分布は比較的影響しないようにしたほうが望ましい結果が得られる。このため、一定時間毎に過去のコマンド間隔の計算への影響力を半減させる。本発明の適用例では、一定時間毎に各時間領域のコマンド間隔の数を半減させることにより、実現している。
【0063】
(6)複数のパワーセーブ・モードへの対応
パワーセーブ・モードが複数個ある場合でも、浅いパワーセーブ・モードからさらに深いパワーセーブ・モードに移行する場合の追加の節約消費電力と遅延時間を上記と同様に計算することにより、簡単に対応することが出来る。
【0064】
(7)実際の動作方法
図23乃至図32に実際の動作方法を示す。これらの方法は通常HDDのマイクロコードとして実現される。
【0065】
図23は、図7、図11、図15及び図19に示すようなコマンド間隔の分布を求めるための方法を示した流れ図である。ステップ2310において初期化プログラムを開始し、続くステップ2312において、コマンド間隔の時間領域を設定する。この例では、コマンド間隔の時間領域の数をNUM_POINTとし、1番目の時間領域をhist_min_time[0]とし、その時間間隔を100以上の時間に、2番目の時間領域をhist_min_time[1]とし、その間隔を200以上の時間に、3番目の時間領域をhist_min_time[2]とし、その間隔を300以上の時間に、としていき、NUM_POINT番目の時間領域をhist_min_time[NUM_POINT-1]とし、その間隔を31500以上の時間に、NUM_POINT+1番目の時間領域をhist_min_time[NUM_POINT]とし、その間隔を60000以上の時間にそれぞれ設定する。なお、ここで時間の表示は相対的なものであり、ms等の具体的な単位を直接表示するものとは限らないことに注意されたい。また、時間間隔はこの例のように対数的に分割するのが好ましい。
【0066】
ステップ2312を終了後、ステップ2314に進み、iの初期値を0とする。続くステップ2316で、時間領域中のコマンドの時間間隔の合計であるhist_total_time[i]を0に初期化し、時間領域中のコマンドの数の合計であるhist_numcmd[i]を0に初期化する。続くステップ2318で、iを1増加させる。続くステップ2320でiの値がNUM_POINTより小さければ再びステップ2316に戻り、iの値がNUM_POINT以上の値になるまでステップ2316乃至ステップ2320を繰り返す。即ち、ステップ2314乃至ステップ2320でiの値が0からNUM_POINTになるまでのすべてのiについてhist_total_time[i]及びhist_numcmd[i]を0に初期化する。ステップ2320でiの値がNUM_POINT以上の値になったらステップ2322に進み、全コマンド間隔の合計時間total_timeを0に初期化し、ステップ2324で初期化プログラムを終了する。
【0067】
図24は、オペレーティング時にHDDがコマンドを受け取った場合の動作を示した流れ図である。ステップ2410でコマンドによるパワーセーブ・モードの中断のプログラムを開始する。続くステップ2412で図25に示すコマンドを受け取るサブルーチンを実行する。コマンドを受け取るサブルーチンを完了し、HDDがホスト・コンピュータからコマンドを受け取ると、ステップ2414で現在HDDがパワーセーブ・モードに入っているか否か判断される。パワーセーブ・モードに入っていれば、ステップ2416に進み、パワーセーブ・モードからアクティブ・モードに復帰し、ステップ2418に進む。一方、ステップ2414で現在HDDがパワーセーブ・モードに入っていなければ、ステップ2418に進む。ステップ2418でコマンドを処理し、ステップ2420で図26に示すコマンドを完了するサブルーチンを実行し、コマンドを完了した後、ステップ2422でコマンドによるパワーセーブ・モードの中断のプログラムを終了する。
【0068】
図25は、図24におけるステップ2412のコマンドを受け取るサブルーチンを詳述した流れ図である。ステップ2510でコマンドを受け取るサブルーチンが開始されると、ステップ2512でHDD内のMPUの内部タイマTimerから直前に完了したコマンドの完了時刻comp_timeを減じ、その差をコマンド間隔intervalとする。ステップ2514で時間合計total_timeにコマンド間隔intervalを加え、その和を時間合計total_timeとする。続くステップ2516でiを0に初期化し、続くステップ2518でコマンド間隔intervalがi番目の時間領域hist_min_time[i]より小さいか否か判断される。コマンド間隔intervalがi番目の時間領域hist_min_time[i]より小さいと判断された場合、ステップ2524に進む。一方、ステップ2518でコマンド間隔intervalがi番目の時間領域hist_min_time[i]より小さくないと判断された場合、ステップ2520でiの値が1増加され、ステップ2522でiの値がコマンド間隔の時間領域の数NUM_POINTより小さいか否か判断される。iの値がコマンド間隔の時間領域の数NUM_POINTより小さい場合、再びステップ2518に戻り、コマンド間隔が次に小さい時間間隔に属するか否か判断される。一方、ステップ2522でiの値がコマンド間隔の時間領域の数NUM_POINTより小さくない場合、即ち、iの値がコマンド間隔の時間領域の数NUM_POINTの値以上になった場合、ステップ2524に進む。ステップ2524でiの値が0に等しいか否か判断され、iの値が0に等しい場合、即ちステップ2518でコマンド間隔intervalがi番目の時間領域hist_min_time[i]より小さい場合、パワーセーブ・モードに移行するまでの最小時間よりもコマンド間隔が短いことを意味し、上述したようにデータとして保持する必要がなく、ステップ2528に進みサブルーチンを終了する。一方、ステップ2524でiの値が0に等しくない場合、即ちコマンド間隔intervalがi番目(iは1以外)の時間領域hist_min_time[i-1]に属する場合、ステップ2526に進み、i番目の時間領域中のコマンドの数の合計hist_numcmd[i-1]を1増加させ、さらに、i番目の時間領域中のコマンドの時間間隔の合計hist_total_time[i-1]に当該コマンド間隔intervalを加え、その和をhist_total_time[i-1]とし、続くステップ2528でサブルーチンを終了する。
【0069】
図26は、図24におけるステップ2420のコマンドを完了するサブルーチンを詳述した流れ図である。ステップ2610でコマンドを完了するサブルーチンが開始されると、ステップ2612でHDD内のMPUの内部タイマTimerのその時点での値がコマンドの完了時刻comp_timeとされる。続くステップ2614で時間合計total_timeがMAX_TIMEの値以上か否か判断される。ここにMAX_TIMEとは、(5)で説明した一定時間、即ち過去のコマンド・アクセスの影響を減少させる間隔の2倍の値である。ステップ2614で時間合計total_timeがMAX_TIMEの値以上である場合、ステップ2616に進み、図31において後述する過去のコマンド・アクセスの影響を減少させるサブルーチンを実行し、再びステップ2614に戻る。一方、ステップ2614で時間合計total_timeがMAX_TIMEの値より小さい場合、ステップ2618に進み、コマンド間隔intervalが1番目の時間領域hist_min_time[0]の値以上であるか否か判断される。コマンド間隔intervalが1番目の時間領域hist_min_time[0]の値以上である場合、ステップ2620に進み、図27において後述する、次にパワーセーブ・モードに入る時期を決定するサブルーチンを実行し、ステップ2622でサブルーチンを終了する。一方、ステップ2618でコマンド間隔intervalが1番目の時間領域hist_min_time[0]の値以上でない場合、パワーセーブ・モードに移行するまでの最小時間よりもコマンド間隔が短いことを意味し、上述したようにデータとして保持する必要がなく、ステップ2622でサブルーチンを終了する。
【0070】
図27及び図28は、図26におけるステップ2620の、次にパワーモードに入る時期を決定するサブルーチンを詳述した流れ図である。ステップ2710で次にパワーモードに入る時期を決定するサブルーチンが開始されると、ステップ2712でiの値が0に初期化され、続くステップ2714でi+1番目の時間領域中のコマンドの数の合計hist_numcmd[i]が0に等しいか否か判断される。iの値が0に等しい場合、即ち、i+1番目の時間領域中のコマンドの数の合計hist_numcmd[i]が0の場合、ステップ2718に進む。一方、ステップ2714でhist_numcmd[i]が0に等しくない場合、ステップ2716に進み、i+1番目の時間領域中のコマンドの時間間隔の合計hist_total_time[i]をi+1番目の時間領域中のコマンドの数の合計hist_numcmd[i]で除し、その商をhist_ave_time[i]とする。従って、hist_ave_time[i]は、i+1番目の時間領域におけるコマンド1個当たりの平均のコマンドの時間間隔を表す。ステップ2716を終了するとステップ2718に進む。ステップ2718で、iの値が1増加され、続くステップ2720でiの値がコマンド間隔の時間領域の数NUM_POINTより小さいか否か判断される。iの値がコマンド間隔の時間領域の数NUM_POINTより小さい場合、再びステップ2714に戻り、以下、iの値がコマンド間隔の時間領域の数NUM_POINT以上になるまでステップ2714乃至ステップ2720が繰り返される。一方、ステップ2720でiの値がコマンド間隔の時間領域の数NUM_POINTより小さくない場合、即ち、iの値がコマンド間隔の時間領域の数NUM_POINT以上の値になった場合、Aに進み、図28のAに続く。
【0071】
図28のAからステップ2722に進み、iの値が0に初期化される。続くステップ2724で、i番目の時間領域hist_min_time[i]の値を変数delayに格納し、節約出来るエネルギー(消費電力量)の合計であるenergy_gain_sum及びコマンドに対する応答の遅れの合計resp_loss_sumの値をそれぞれ0に初期化する。続くステップ2726でjの値を0に初期化し、ステップ2728でj+1番目の時間領域中のコマンドの数の合計hist_numcmd[j]が0に等しいか否か判断される。hist_numcmd[j]の値が0に等しい場合、即ち、j+1番目の時間領域中のコマンドの数の合計が0の場合、ステップ2736に進み、jの値が1増加される。一方、ステップ2728でhist_numcmd[j]が0に等しくない場合、ステップ2730に進み、j+1番目の時間領域におけるコマンド1個当たりの平均のコマンドの時間間隔hist_ave_time[j]をave_intervalとする。続くステップ2732で図29において後述する、節約エネルギーを計算するサブルーチンを実行し、ステップ2734で節約出来るエネルギーの合計energy_gain_sumにenergy_gainを、コマンドに対する応答の遅れの合計resp_loss_sumにresp_lossをそれぞれ加える。その後、ステップ2736に進み、jの値が1増加され、続くステップ2738でjの値がコマンド間隔の時間領域の数NUM_POINTより小さいか否か判断される。jの値がNUM_POINTより小さい場合、再びステップ2728に戻り、以下、jの値がNUM_POINT以上になるまでステップ2728乃至ステップ2738が繰り返される。一方、ステップ2738でjの値がコマンド間隔の時間領域の数NUM_POINT以上になった場合、ステップ2740に進み、energy_gain_sum及びresp_loss_sumがそれぞれtotal_timeで除され、節約されるパワー(消費電力)power_gain[i]及び応答の遅れの比率resp_loss_ratio[i]が計算される。続くステップ2742でiの値が1増加され、続くステップ2744でiの値がコマンド間隔の時間領域の数NUM_POINTより小さいか否か判断される。iの値がNUM_POINTより小さい場合、再びステップ2724に戻り、以下、iの値がNUM_POINT以上になるまでステップ2724乃至ステップ2744が繰り返される。一方、ステップ2744でiの値がコマンド間隔の時間領域の数NUM_POINT以上になった場合、ステップ2746に進み、節約されるエネルギーが最大になる時間を予測するサブルーチンを実行し、その後、ステップ2748に進み、サブルーチンを終了する。
【0072】
図29は、図28におけるステップ2732の節約エネルギーを計算するサブルーチンを詳述した流れ図である。ステップ2910で節約エネルギーを計算するサブルーチンが開始されると、ステップ2912で、図28のステップ2730で決定されたave_intervalの値が図28のステップ2724で決定されたdelayの値より小さいか否か判断される。ave_intervalの値がdelayの値より小さい場合、コマンド1個当たりの平均のコマンドの時間間隔がパワーセーブ・モードに移行するまでの時間より短いため、図2における期間Aにおいて次のコマンドが来ることに該当し、節約出来るエネルギーの合計energy_gain_sum及びコマンドに対する応答の遅れの合計resp_loss_sumの計算に影響しない。従って、この場合、ステップ2914に進み、energy_gain及びresp_lossの値を0とし、ステップ2922でサブルーチンを終了する。一方、ステップ2912でave_intervalの値がdelayの値より小さくない場合、図2における期間B又はCにおいて次のコマンドが来ることに該当し、ステップ2916に進む。ステップ2916で、ave_intervalの値が、delayの値とパワーセーブ・モードに入るために要する時間であるTRANS_TIMEとの和より小さいか否か判断される。ave_intervalの値が、delay+TRANS_TIMEより小さい場合、図2における期間Bにおいて次のコマンドが来ることに該当し、ステップ2918に進む。ステップ2918で、energy_gain及びresp_lossが図2で説明したように、下記の式で計算される。
【数4】
energy_gain = -TRANS_ENERGY - ((delay + TRANS_TIME) - ave_interval) * BASE_POWER (4)
【数5】
resp_loss = EXIT_TIME + TRANS_TIME - (ave_interval - delay) (5)
【0073】
ここで、式(4)において、TRANS_ENERGYとは、HDDがパワーセーブ・モードに入るため及びそこから復帰するために必要なエネルギーの和をいい、図2におけるEL1+EL2に相当する。また、BASE_POWERとは、アイドル・モードにおけるHDDの消費電力をいい、従って、式(4)の右辺の第2項((delay + TRANS_TIME) - ave_interval) * BASE_POWERは、式(2)のEL3に相当する。
【0074】
また、式(5)において、EXIT_TIMEとは、HDDがパワーセーブ・モードから復帰するために必要な時間をいい、図2における時間bに相当する。TRANS_TIMEは前述の通りパワーセーブ・モードに入るために要する時間であり、図2における時間aに相当する。
【0075】
ステップ2918を終了した後、ステップ2922に進み、サブルーチンを終了する。
【0076】
一方、ステップ2916でave_intervalの値が、delay+TRANS_TIMEより小さくない場合、図2における期間Cにおいて次のコマンドが来ることに該当し、ステップ2920に進む。ステップ2920で、energy_gain及びresp_lossが図2で説明したように、下記の式で計算される。
【数6】
energy_gain = (ave_interval - (delay + TRANS_TIME)) * DELTA_POWER - TRANS_ENERGY (6)
【数7】
resp_loss = EXIT_TIME (7)
【0077】
ここで、DELTA_POWERとは、アイドル・モードにおけるHDDの消費電力とパワーセーブ・モードにおけるHDDの消費電力の差をいう。従って、式(6)の右辺の第1項(ave_interval - (delay + TRANS_TIME)) * DELTA_POWERは、式(3)のEGに相当する。
【0078】
ステップ2920を終了した後、ステップ2922に進み、サブルーチンを終了する。
【0079】
図30は、図28におけるステップ2746の、節約されるエネルギーが最大になる時間を予測するサブルーチンを詳述した流れ図である。ステップ3010で節約されるエネルギーが最大になる時間を予測するサブルーチンが開始されると、ステップ3012で、最大節約電力量であるmax_power_gainが0に初期化され、max_power_numがNUM_POINTに初期化される。続くステップ3014でiの値が0に初期化され、ステップ3016に進む。ステップ3016で応答の遅れの比率resp_loss_ratio[i]の値が許容される最大の平均遅延時間RESP_LOSS_CRITERIAの値より小さいか否か判断される。resp_loss_ratio[i]の値がRESP_LOSS_CRITERIAの値より小さい場合、応答の遅れは許容される範囲内であり、さらにステップ3018に進み、power_gain[i]がmax_power_gainより大きいか否か判断される。一方、ステップ3016でresp_loss_ratio[i]の値がRESP_LOSS_CRITERIAの値より小さくない場合は、応答の遅れは許容される範囲内になく、ステップ3022に進む。ステップ3018で、power_gain[i]がmax_power_gainより大きい場合はステップ3020に進み、max_power_gainの値をpower_gain[i]の値に更新し、max_power_numの値もそのときのiの値に更新し、その後ステップ3022に進む。一方、ステップ3018でpower_gain[i]がmax_power_gainより大きくない場合、max_power_gain及びmax_power_numの値の値は更新されず、ステップ3022に進む。ステップ3022でiの値が1増加され、続くステップ3024でiの値がNUM_POINTより小さいか否か判断される。iの値がNUM_POINTより小さい場合、再びステップ3016に戻り、以下、iの値がNUM_POINT以上になるまでステップ3016乃至ステップ3024が繰り返される。一方、ステップ3024でiの値がNUM_POINT以上になった場合、ステップ3026で、次にパワーセーブ・モードに移行するまでの時間next_delayがhist_min_time[max_power_num]に決定され、その後、ステップ3028に進み、サブルーチンを終了する。
【0080】
図31は、図26におけるステップ2616の過去のコマンド・アクセスの影響を減少させるサブルーチンを詳述した流れ図である。ステップ3110で過去のコマンド・アクセスの影響を減少させるサブルーチンが開始されると、ステップ3112で、iの値が0に初期化される。続くステップ3114で、i+1番目の時間領域中のコマンドの時間間隔の合計hist_total_time[i]を2で除し、その商をhist_total_time[i]とし、i+1番目の時間領域中のコマンドの数の合計hist_numcmd[i]を2で除し、その商をhist_numcmd[i]とする。続くステップ3116でiの値が1増加され、続くステップ3118でiの値がNUM_POINTより小さいか否か判断される。iの値がNUM_POINTより小さい場合、再びステップ3114に戻り、以下、iの値がNUM_POINT以上になるまでステップ3114乃至ステップ3118が繰り返される。一方、ステップ3118でiの値がNUM_POINT以上になった場合、ステップ3120に進む。ステップ3120で、total_timeを2で除し、その商をtotal_timeとし、その後ステップ3122に進み、サブルーチンを終了する。
【0081】
図32は、パワーセーブ・モードに移行するためのタイマによる割り込み動作を示した流れ図である。ステップ3210でパワーセーブ・モードに移行するためのタイマによる割り込みのプログラムが開始されると、ステップ3212で現在HDDがコマンドを処理中か否か判断される。コマンドを処理中であれば、ステップ3222に進み、プログラムを終了する。コマンドを処理中でなければ、ステップ3214に進み、現在HDDがパワーセーブ・モードに入っているか否か判断される。既にパワーセーブ・モードに入っていればステップ3222に進み、プログラムを終了する。まだパワーセーブ・モードに入っていなければステップ3216に進み、HDD内のMPUの内部タイマTimerから直前に完了したコマンドの完了時刻comp_timeを減じ、その差を経過時間elapsed_timeとする。次に、ステップ3218に進み、elapsed_timeの値が次にパワーセーブ・モードに移行するまでの時間next_delayの値以上か否か判断される。elapsed_timeの値が次にパワーセーブ・モードに移行するまでの時間next_delayの値以上である場合、ステップ3220に進み、パワーセーブ・モードに入り、続くステップ3222でプログラムを終了する。一方、ステップ3218でelapsed_timeの値が次にパワーセーブ・モードに移行するまでの時間next_delayの値以上でない場合、ステップ3222に進み、プログラムを終了する。
【0082】
(8)適用例の実験結果
表1及び表2に実際のHDDを用いた実験結果を示す。表1は、パワーセーブ・モードなし(No Power Save)の場合、ABLE2アルゴリズムを用いた場合及び本発明によるアルゴリズム(New Algorithm)を用いた場合のそれぞれについて、バッテリーの使用時間を比較するためのベンチマーク・プログラムの一つをHDDが実行したときの平均消費電力を示す。表において、マイクロコードはABLE2のアルゴリズムを用いてパワーセーブ・モードを制御しており、3個のパワーセーブ・モードを用いている。新しいアルゴリズムでも同じ3個のパワーセーブ・モードを制御するようにしている。表中でABLE Modeとあるのは移行することを許している最も深いレベルのパワーセーブ・モードを制御するためのパラメータであり、この数が小さいほど深いレベルのパワーセーブ・モードを許すこととしている。また、表2は、表1と同様の各場合について、HDDのスループットを測定するためのベンチマーク・プログラムの一つをHDDが実行したときのスコア(高いほど良いとされる)を示す。
【表1】
Figure 0003819166
【表2】
Figure 0003819166
【0083】
以上より、表1における平均消費電力は、本発明による新しいアルゴリズムの方がABLE2に比べて、最も深いパワーセーブモードを使う場合で約9%少なくなっていることが分かる。
【0084】
また、表2におけるスコアは新しいアルゴリズムの方がABLE2の場合に比べて1%程度良くなっており、パワーセーブを全くしない場合にほぼ等しい。これは、ABLE2で不適当なタイミングでパワーセーブ・モードに入ってしまうケースがたまにあったのが、新しいアルゴリズムでほとんどなくなったためであると推測される。
【0085】
【発明の効果】
本発明によれば、HDDの消費電力をより低減させることができる。
【0086】
また、本発明によれば、パワーセーブ・モードに移行した場合に節約が期待される消費電力量を計算することができる方法及び装置を提供することができる。
【0087】
さらに、本発明によれば、HDDの非動作の時間が短いにもかかわらず、ホスト・コンピュータから受け取るコマンドの見かけ上の密度が低くなってしまい、不適当なタイミングでパワーセーブ・モードに移行してしまうという不都合を解消し、真にHDDが非動作である時間に応じてホスト・コンピュータから受け取るコマンドの密度を計算する方法及び装置を提供することができる。
【図面の簡単な説明】
【図1】本発明が適用されるHDDのブロック図である。
【図2】パワーセーブ・モードの前後にわたる消費電力の推移を示す図である。
【図3】次のコマンドを受け取るタイミングと節約できる消費電力量TEG及び遅延時間の関係を示す図である。
【図4】HDDがアイドル・モードからアイドル2・モードへ移行するときのコマンド間隔と節約できる消費電力量及び遅延時間との関係を示す図である。
【図5】HDDがアイドル2・モードからアイドル3・モードへ移行するときのコマンド間隔と節約できる消費電力量及び遅延時間との関係を示す図である。
【図6】HDDがアイドル3・モードからスタンバイ・モードへ移行するときのコマンド間隔と節約できる消費電力量及び遅延時間との関係を示す図である。
【図7】あるオペレーティング・プログラムのブート・プログラムを実行したときのコマンド間隔の分布を示す図である。
【図8】図4におけるアイドル2・モードへの移行開始までの時間として図7のコマンド間隔の分布を適用して重み付けをしたときに、アイドル2・モードへの移行開始までの時間と節約できる消費電力量及び遅延率の関係を示す図である。
【図9】図5におけるアイドル3・モードへの移行開始までの時間として図7のコマンド間隔の分布を適用して重み付けをしたときに、アイドル3・モードへの移行開始までの時間と節約できる消費電力及び遅延率の関係を示す図である。
【図10】図6におけるスタンバイ・モードへの移行開始までの時間として図7のコマンド間隔の分布を適用して重み付けをしたときに、スタンバイ・モードへの移行開始までの時間と節約できる消費電力及び遅延率の関係を示す図である。
【図11】バッテリーの使用時間を比較するためのベンチマーク・プログラムの一つを実行したときのコマンド間隔の分布を示す図である。
【図12】各パワーセーブ・モードの移行にこの分布を適用した場合の節約できる消費電力及び遅延率の変化を示す図である。
【図13】各パワーセーブ・モードの移行にこの分布を適用した場合の節約できる消費電力及び遅延率の変化を示す図である。
【図14】各パワーセーブ・モードの移行にこの分布を適用した場合の節約できる消費電力及び遅延率の変化を示す図である。
【図15】ビジネス用アプリケーション・プログラムの実行性能を比較するためのベンチマーク・プログラムの一つを実行したときのコマンド間隔の分布を示す図である。
【図16】各パワーセーブ・モードの移行にこの分布を適用した場合の節約できる消費電力及び遅延率の変化を示す図である。
【図17】各パワーセーブ・モードの移行にこの分布を適用した場合の節約できる消費電力及び遅延率の変化を示す図である。
【図18】各パワーセーブ・モードの移行にこの分布を適用した場合の節約できる消費電力及び遅延率の変化を示す図である。
【図19】バッテリーの使用時間を比較するためのベンチマーク・プログラムの他の一つを実行したときのコマンド間隔の分布を示す図である。
【図20】各パワーセーブ・モードの移行にこの分布を適用した場合の節約できる消費電力及び遅延率の変化を示す図である。
【図21】各パワーセーブ・モードの移行にこの分布を適用した場合の節約できる消費電力及び遅延率の変化を示す図である。
【図22】各パワーセーブ・モードの移行にこの分布を適用した場合の節約できる消費電力及び遅延率の変化を示す図である。
【図23】コマンド間隔の分布を求めるための方法を示した流れ図である。
【図24】オペレーティング時にHDDがコマンドを受け取った場合の動作を示した流れ図である。
【図25】図24におけるステップ2412のコマンドを受け取るサブルーチンを詳述した流れ図である。
【図26】図24におけるステップ2420のコマンドを完了するサブルーチンを詳述した流れ図である。
【図27】図28とともに図26におけるステップ2620の次にパワーモードに入る時期を決定するサブルーチンを詳述した流れ図である。
【図28】図27とともに図26におけるステップ2620の次にパワーモードに入る時期を決定するサブルーチンを詳述した流れ図である。
【図29】図28におけるステップ2732の節約エネルギーを計算するサブルーチンを詳述した流れ図である。
【図30】図28におけるステップ2746の節約されるエネルギーが最大になる時間を予測するサブルーチンを詳述した流れ図である。
【図31】図26におけるステップ2616の過去のコマンド・アクセスの影響を減少させるサブルーチンを詳述した流れ図である。
【図32】パワーセーブ・モードに移行するためのタイマによる割り込み動作を示した流れ図である。
【符号の説明】
100 ディスク装置
110 コントローラ部
112 ホスト・インターフェース・コントローラ(HIC)
114 ハード・ディスク・コントローラ(HDC)
116 チャネル
118 MPU
120 RAM
130 ディスク部
132 スピンドル
134 モータ
136 ディスク
138 ヘッド
140 アクチュエータ・アーム
142 ピボット・シャフト
144 ボイス・コイル・モータ(VCM)

Claims (4)

  1. 省電力のための動作を行わないアクティブ・モード及び省電力のための動作を行うモードであって、省電力のレベルが異なる複数のパワーセーブ・モードからなる複数のモード間をレベル順に移行可能なハード・ディスク・ドライブにおける消費電力を低減させる方法であって、
    前記ドライブがホスト・コンピュータから受けるコマンドの時期を、過去のコマンド間隔の分布に基づいて予測するステップと、
    前記予測されたコマンドの時期を基準にした、省電力のレベルが低いモードから高いモードへの移行開始から高いモードから低いモードへ復帰終了までに節約できる消費電力量、及び、過去のコマンドに対する処理に時間がかかった場合の前記コマンドに対する応答の遅延時間と、前記移行開始の時期との関係を解析するステップと、
    前記解析された関係に基づき、前記節約できる消費電力量が最大となり、前記遅延時間が十分小さくなるように、前記移行開始の時期を決定するステップと、
    前記決定された移行開始の時期に、省電力のレベルが低いモードから高いモードへ移行開始するステップと、
    を含むハード・ディスク・ドライブにおける消費電力を低減させる方法。
  2. 前記節約できる消費電力量は、省電力のレベルが低いモードから高いモードへの移行開始から高いモードから低いモードへ復帰終了までの間における、省電力のレベルが高いモードにある間の節約される消費電力量から、前記移行及び復帰に伴って消費される消費電力量を減算した量であることを特徴とする請求項1に記載のハード・ディスク・ドライブにおける消費電力を低減させる方法。
  3. 前記過去のコマンド間隔の分布は、一定時間毎に更新されることを特徴とする請求項1に記載のハード・ディスク・ドライブにおける消費電力を低減させる方法。
  4. 前のコマンドを完了してから次のコマンドを受けるまでの時間をコマンド間隔とする請求項1に記載のハード・ディスク・ドライブにおける消費電力を低減させる方法。
JP33700398A 1998-11-27 1998-11-27 消費エネルギー低減方法 Expired - Lifetime JP3819166B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP33700398A JP3819166B2 (ja) 1998-11-27 1998-11-27 消費エネルギー低減方法
SG9905762A SG82037A1 (en) 1998-11-27 1999-11-16 Method of reducing energy dissipation
US09/448,161 US6553501B1 (en) 1998-11-27 1999-11-24 Predictive power saving method and apparatus for a device based on computed amount of power saving and time at which the device should transition from first state to second state
GB9927647A GB2347531B (en) 1998-11-27 1999-11-24 Method and apparatus for reducing energy dissipation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33700398A JP3819166B2 (ja) 1998-11-27 1998-11-27 消費エネルギー低減方法

Publications (2)

Publication Number Publication Date
JP2000173152A JP2000173152A (ja) 2000-06-23
JP3819166B2 true JP3819166B2 (ja) 2006-09-06

Family

ID=18304575

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33700398A Expired - Lifetime JP3819166B2 (ja) 1998-11-27 1998-11-27 消費エネルギー低減方法

Country Status (4)

Country Link
US (1) US6553501B1 (ja)
JP (1) JP3819166B2 (ja)
GB (1) GB2347531B (ja)
SG (1) SG82037A1 (ja)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2369717B (en) * 1999-08-25 2003-10-15 Seagate Technology Llc Intelligent power management of disc drives
JP3610930B2 (ja) * 2001-07-12 2005-01-19 株式会社デンソー オペレーティングシステム、プログラム、車両用電子制御装置
JP4841069B2 (ja) * 2001-07-24 2011-12-21 パナソニック株式会社 記憶装置
JP4841070B2 (ja) * 2001-07-24 2011-12-21 パナソニック株式会社 記憶装置
JP2003067262A (ja) * 2001-08-23 2003-03-07 Mitsubishi Electric Corp データ処理システム
GB0123421D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Power management system
US7120806B1 (en) 2001-10-31 2006-10-10 Western Digital Technologies, Inc. Method for setting a power operating mode transition interval of a disk drive in a mobile device based on application category
US20030084353A1 (en) * 2001-10-31 2003-05-01 Norman Chang System and method for predictive power ramping
KR100597733B1 (ko) 2002-01-03 2006-07-07 삼성전자주식회사 컴퓨터 시스템 및 그 부팅방법
US6920574B2 (en) * 2002-04-29 2005-07-19 Apple Computer, Inc. Conserving power by reducing voltage supplied to an instruction-processing portion of a processor
EP1540451B1 (en) * 2002-09-09 2007-03-21 Koninklijke Philips Electronics N.V. Method and apparatus for managing power consumption of a disk drive
JP3859674B2 (ja) * 2002-11-25 2006-12-20 富士通株式会社 省電力制御システムおよび省電力制御方法
JP4061492B2 (ja) 2003-02-10 2008-03-19 ソニー株式会社 情報処理装置および消費電力制御方法
US7334144B1 (en) * 2003-06-05 2008-02-19 Maxtor Corporation Host-based power savings method and apparatus
CN1853230B (zh) * 2003-09-18 2010-05-12 皇家飞利浦电子股份有限公司 用于盘驱动器的电机功率控制器、包含电机功率控制器的盘驱动器、以及控制盘驱动器的电机功率的方法
US7281144B2 (en) * 2004-02-17 2007-10-09 Intel Corporation Power management in communication devices
US7634615B2 (en) * 2004-06-10 2009-12-15 Marvell World Trade Ltd. Adaptive storage system
US7321521B2 (en) * 2004-07-02 2008-01-22 Seagate Technology Llc Assessing energy requirements for a refreshed device
US7904604B2 (en) * 2004-07-19 2011-03-08 Seagate Technology Llc Expedited and low power command sequence servicing
JP4749793B2 (ja) * 2004-08-05 2011-08-17 パナソニック株式会社 省電力処理装置、省電力処理方法、及び省電力処理プログラム
JP2006099665A (ja) 2004-09-30 2006-04-13 Hitachi Global Storage Technologies Netherlands Bv データ記憶装置及びそのシリアル・インターフェース部のパワー・セーブ・モードの制御方法
JP2006164012A (ja) * 2004-12-09 2006-06-22 Hitachi Global Storage Technologies Netherlands Bv データ記憶装置及びそのパワー・セーブ・モードの制御方法
US7487374B2 (en) * 2005-01-13 2009-02-03 International Business Machines Corporation Dynamic power and clock-gating method and circuitry with sleep mode based on estimated time for receipt of next wake-up signal
US7177222B2 (en) * 2005-03-04 2007-02-13 Seagate Technology Llc Reducing power consumption in a data storage system
US20060265617A1 (en) * 2005-05-18 2006-11-23 Priborsky Anthony L Power management in a system having multiple power modes
US7747878B2 (en) * 2005-09-06 2010-06-29 Dell Products L.P. System and method for reduction of information handling system power state transition of audible noise
US7380147B1 (en) 2005-10-24 2008-05-27 Western Digital Technologies, Inc. Computer device employing a sliding window to set an idle mode timeout interval
JP4578396B2 (ja) * 2005-12-08 2010-11-10 株式会社日立超エル・エス・アイ・システムズ 情報処理装置
WO2007090431A1 (en) * 2006-02-09 2007-08-16 Freescale Semiconductor, Inc. Electronic apparatus and method of conserving energy
JP4961275B2 (ja) * 2007-06-15 2012-06-27 株式会社日立製作所 ストレージ装置及びディスク装置の回転速度制御方法
US8255708B1 (en) 2007-08-10 2012-08-28 Marvell International Ltd. Apparatuses and methods for power saving in USB devices
US20090145808A1 (en) * 2007-11-30 2009-06-11 Saudi Arabian Oil Company Catalyst to attain low sulfur diesel
US8112648B2 (en) * 2008-03-11 2012-02-07 Globalfoundries Inc. Enhanced control of CPU parking and thread rescheduling for maximizing the benefits of low-power state
US8156362B2 (en) * 2008-03-11 2012-04-10 Globalfoundries Inc. Hardware monitoring and decision making for transitioning in and out of low-power state
US8028185B2 (en) * 2008-03-11 2011-09-27 Globalfoundries Inc. Protocol for transitioning in and out of zero-power state
US8112647B2 (en) * 2008-08-27 2012-02-07 Globalfoundries Inc. Protocol for power state determination and demotion
US8028183B2 (en) * 2008-09-18 2011-09-27 International Business Machines Corporation Power cap lower bound exploration in a server environment
JP5288331B2 (ja) * 2009-02-05 2013-09-11 日本電気株式会社 I/o命令障害回復回路、i/o命令障害回復方法及びi/o命令障害回復プログラム
US8566628B2 (en) * 2009-05-06 2013-10-22 Advanced Micro Devices, Inc. North-bridge to south-bridge protocol for placing processor in low power state
JP5131243B2 (ja) * 2009-05-11 2013-01-30 富士通株式会社 伝送装置及び伝送装置の休止方法
US20110112798A1 (en) * 2009-11-06 2011-05-12 Alexander Branover Controlling performance/power by frequency control of the responding node
JP2011108045A (ja) * 2009-11-18 2011-06-02 Hitachi Ltd 計算機システム、管理サーバ及び電力削減方法
JP5440128B2 (ja) * 2009-11-27 2014-03-12 日本電気株式会社 節電通知システム、端末装置、方法及びプログラム
US9325929B2 (en) * 2010-04-29 2016-04-26 Ati Technologies Ulc Power management in multi-stream audio/video devices
US8504854B2 (en) 2010-06-21 2013-08-06 Advanced Micro Devices, Inc. Managing multiple operating points for stable virtual frequencies
US8433937B1 (en) * 2010-06-30 2013-04-30 Western Digital Technologies, Inc. Automated transitions power modes while continuously powering a power controller and powering down a media controller for at least one of the power modes
US9261949B2 (en) 2010-10-29 2016-02-16 Advanced Micro Devices, Inc. Method for adaptive performance optimization of the soc
TWI467377B (zh) * 2010-11-30 2015-01-01 Inventec Corp 伺服器上電方法
US8976405B2 (en) * 2010-12-20 2015-03-10 Canon Kabushiki Kaisha Printing apparatus and control method therefor
US8862906B2 (en) * 2011-04-01 2014-10-14 Intel Corporation Control of platform power consumption using coordination of platform power management and display power management
US8862909B2 (en) 2011-12-02 2014-10-14 Advanced Micro Devices, Inc. System and method for determining a power estimate for an I/O controller based on monitored activity levels and adjusting power limit of processing units by comparing the power estimate with an assigned power limit for the I/O controller
US8924758B2 (en) 2011-12-13 2014-12-30 Advanced Micro Devices, Inc. Method for SOC performance and power optimization
US9491704B2 (en) * 2012-03-23 2016-11-08 Blackberry Limited Methods and apparatus for controlling power consumption in an electronic device with a communication subsystem
US9177534B2 (en) 2013-03-15 2015-11-03 Intel Corporation Data transmission for display partial update
US9058834B1 (en) 2013-11-08 2015-06-16 Western Digital Technologies, Inc. Power architecture for low power modes in storage devices
US9001446B1 (en) 2014-02-06 2015-04-07 Lsi Corporation System and method for power saving modes in multi-sensor magnetic recording
US10146293B2 (en) 2014-09-22 2018-12-04 Western Digital Technologies, Inc. Performance-aware power capping control of data storage devices
US9541988B2 (en) 2014-09-22 2017-01-10 Western Digital Technologies, Inc. Data storage devices with performance-aware power capping
US10019050B2 (en) * 2015-10-15 2018-07-10 National Taiwan Normal University Method of power management for saving energy
US9965206B2 (en) 2015-10-23 2018-05-08 Western Digital Technologies, Inc. Enhanced queue management for power control of data storage device
US9892058B2 (en) 2015-12-16 2018-02-13 Advanced Micro Devices, Inc. Centrally managed unified shared virtual address space
US10970118B2 (en) 2017-08-02 2021-04-06 Advanced Micro Devices, Inc. Shareable FPGA compute engine
CN107766006A (zh) * 2017-11-07 2018-03-06 合肥兆芯电子有限公司 存储器管理方法、存储器存储装置及存储器控制电路单元
US11422812B2 (en) 2019-06-25 2022-08-23 Advanced Micro Devices, Inc. Method and apparatus for efficient programmable instructions in computer systems
US11861801B2 (en) * 2021-12-30 2024-01-02 Snap Inc. Enhanced reading with AR glasses

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60171672A (ja) * 1984-02-15 1985-09-05 Ricoh Co Ltd デイスク記録装置
DE3732370A1 (de) * 1987-09-25 1989-04-06 Hoechst Ag Verfahren zur vermischung von lebenden zellen oder mikroorganismen mit einer viskosen fluessigkeit und mischungen, die nach diesem verfahren hergestellt wurden
JPH0697969B2 (ja) 1989-07-17 1994-12-07 株式会社紀文 コンニャク入りタレ
JPH0349660U (ja) * 1989-09-18 1991-05-15
JPH046665A (ja) * 1990-04-25 1992-01-10 Mitsubishi Electric Corp 記録ディスク装置
JPH0411353A (ja) * 1990-04-27 1992-01-16 Matsushita Electric Ind Co Ltd 磁気ディスク装置
JPH0423269A (ja) * 1990-05-18 1992-01-27 Toshiba Corp ディスク装置
JPH0492254A (ja) * 1990-08-08 1992-03-25 Hitachi Ltd ハードディスク記憶装置
JPH04123359A (ja) * 1990-09-14 1992-04-23 Mitsubishi Electric Corp 光ディスク装置
JPH04205963A (ja) * 1990-11-30 1992-07-28 Fujitsu Ltd ディスク装置
JPH05217272A (ja) * 1992-01-31 1993-08-27 Hitachi Ltd ディスク記録及び又は再生装置
JPH0696517A (ja) * 1992-09-11 1994-04-08 Matsushita Electric Ind Co Ltd 磁気ディスク装置
US5452277A (en) * 1993-12-30 1995-09-19 International Business Machines Corporation Adaptive system for optimizing disk drive power consumption
JP2858542B2 (ja) * 1994-06-03 1999-02-17 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ用ディスク・ドライブの電力消費を節減する方法及び装置
US5481733A (en) * 1994-06-15 1996-01-02 Panasonic Technologies, Inc. Method for managing the power distributed to a disk drive in a laptop computer
US5774292A (en) * 1995-04-13 1998-06-30 International Business Machines Corporation Disk drive power management system and method
US5682273A (en) * 1995-06-30 1997-10-28 International Business Machines Corporation Disk drive for portable computer with adaptive demand-driven power management

Also Published As

Publication number Publication date
GB9927647D0 (en) 2000-01-19
JP2000173152A (ja) 2000-06-23
GB2347531B (en) 2003-07-30
GB2347531A (en) 2000-09-06
US6553501B1 (en) 2003-04-22
SG82037A1 (en) 2001-07-24

Similar Documents

Publication Publication Date Title
JP3819166B2 (ja) 消費エネルギー低減方法
JP4132105B2 (ja) データ記録ディスク駆動機構において電力消費を管理する方法
US5521896A (en) Adaptive system for optimizing disk drive power consumption
US6608729B1 (en) Intelligent power management of disc drives
US7002884B2 (en) Intermediate power down mode for a rotatable media data storage device
RU2146395C1 (ru) Способ и устройство для снижения энергопотребления дисководов вычислительных машин
US7853809B2 (en) System and method of power management
EP1130590A2 (en) High reliability storage drive and data write method
US20050268132A1 (en) Method of controlling idle mode of hard disc drive and apparatus therefor
US8245064B2 (en) Power conservation during a power mode transition
US20050174678A1 (en) Stepping power consumption levels in a hard disk drive to maximize performance while minimizing power consumption
JP2003308176A (ja) データ記憶装置、コマンド・キューのリオーダリング方法、データ処理方法およびプログラム
EP1730622B1 (en) Power saving methode and system
GB2328780A (en) Sector seeking method for reducing disk drive power consumption
US6819513B2 (en) Low power hard disk drive using multiple, individually controllable actuators
US20090240839A1 (en) Data storage device
US20050144491A1 (en) Variable power consumption levels in a hard disk drive
JP2000228053A (ja) ディスクドライブの制御方法及び制御装置
US8259407B1 (en) Speed control systems and methods for decreasing power consumption in rotating storage devices
US20010026416A1 (en) Magnetic storage and head unload controlling method of magnetic storage
JP2001006304A (ja) 磁気ディスク装置
KR100211789B1 (ko) 적응형 요구-기반의 전력 관리를 하는 휴대용 컴퓨터를 위한 디스크 드라이브
JPH06267175A (ja) 記憶装置およびその制御方法
JP2001325048A (ja) ディスク記憶装置及び同装置における電力管理方法
JP2016201160A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20050407

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060424

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060424

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060614

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100623

Year of fee payment: 4