JP2008015662A - ディスクアレイ制御装置、方法、およびプログラム - Google Patents

ディスクアレイ制御装置、方法、およびプログラム Download PDF

Info

Publication number
JP2008015662A
JP2008015662A JP2006184368A JP2006184368A JP2008015662A JP 2008015662 A JP2008015662 A JP 2008015662A JP 2006184368 A JP2006184368 A JP 2006184368A JP 2006184368 A JP2006184368 A JP 2006184368A JP 2008015662 A JP2008015662 A JP 2008015662A
Authority
JP
Japan
Prior art keywords
time
rotation
hdd
hard disk
unit
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.)
Granted
Application number
JP2006184368A
Other languages
English (en)
Other versions
JP4984689B2 (ja
Inventor
Michitaro Miyata
美知太郎 宮田
Yoshihiro Hasebe
賀洋 長谷部
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.)
NEC Corp
Original Assignee
NEC 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
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2006184368A priority Critical patent/JP4984689B2/ja
Priority to US11/822,201 priority patent/US20080007860A1/en
Publication of JP2008015662A publication Critical patent/JP2008015662A/ja
Application granted granted Critical
Publication of JP4984689B2 publication Critical patent/JP4984689B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/20Driving; Starting; Stopping; Control thereof
    • G11B19/209Driving; Starting; Stopping; Control thereof in multiple disk arrays, e.g. spindle synchronisation in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

【課題】低消費電力化とアクセスに対する速い応答性を両立させると共に、起動動作や停止動作の際の消費電流の上昇を抑えることができるディスクアレイ制御装置を提供する。
【解決手段】ディスクアレイ制御装置1は、ディスクアレイに備えられた複数のハードディスクドライブ3のディスク状態を各々に制御することができる。回転制御時刻決定部12は、ハードディスクドライブ3について予め設定された各々の利用時刻およびその利用時刻の相互関係に基づいて、ハードディスクドライブ3のディスク状態を制御する時刻を決定する。ハードディスクドライブ制御部14は、回転制御時刻決定部12により決定された時刻にハードディスクドライブ3のディスク状態を制御する。
【選択図】図1

Description

本発明は、複数のハードディスクドライブを備えたディスクアレイ装置を制御するディスクアレイ制御装置に関する。
従来、ディスクアレイ装置の消費電力を低減するために様々な制御が行われている。例えば、一定時間アクセスの無いハードディスクドライブ(以下、HDDと表記する)の電源をオフしたり、一定時間アクセスの無いHDDのディスクの回転を停止したりしてディスクアレイ装置の消費電力を低減させる技術が知られている。その場合、アクセスがあると、HDDの電源をオンしたりディスクの回転を開始したりして、HDDへのアクセスを可能な状態にする。
例えば、特許文献1に記載されているディスクアレイ装置では、あるHDD群に対する上位装置からのアクセスが所定時間無かったら、そのHDD群を節電モードにする。このような技術は、近年ではMAID(Massive Array of Idle Disk)として知られている(非特許文献1参照)。
このMAIDは、主に、大容量のディスクバックアップやディスクアーカイブ向け用途の技術として注目されている。ただし、アクセスの無い時間帯にHDDの電源をオフしたりディスクの回転を停止したりするのは、ディスクバックアップやディスクアーカイブだけでなく、HDDへのアクセスが無い状態が比較的長いシステムの消費電力を低減するのに広く有効である。
また、特許文献2には、ビデオ信号およびオーディオ信号をHDDに記録し、再生するディスク録再装置が開示されている。この特許文献2はディスクアレイ装置に関するものではないが、その段落0037には、録画や再生の予約が設定されると、その録画や再生によりHDDへのアクセスが開始される時刻に合わせてHDDを起動してウォームアップしておくという技術が開示されている。
特開2000−293314号公報 特開2002−251816号公報 Dennis Colarelli, Dirk Grunwald and Michael Neufeld. "The Case for Massive Arrays of Idle Disks (MAID)",January 7,2002
ディスクアレイ装置内に1日中アクセスされるHDD群と夜間にはアクセスの無いHDD群とが混在していることがある。その場合、非特許文献1や特許文献1にあるようなMAIDを用いれば、夜間にアクセスの無いHDD群のディスクを停止させておくことができ、消費電力を低減することができる。
しかし、ディスクが停止している状態から回転させてアクセスが可能な状態にするには一般的に数十秒間程度はかかる。そのため、ディスクが停止しているHDDへのアクセスに対する応答は、通常動作しているHDDへのアクセスに対する応答と比べて非常に遅かった。
また、停止しているディスクを回転させる動作(起動動作)および回転しているディスクを停止させる動作(停止動作)には通常時の動作と比べて大きな電流が必要である。
それまでディスクが停止していた複数のHDDにほぼ同時にアクセスが発生すれば、複数のHDDについて同時に起動動作が生じる。また、ほぼ同時にアクセスされたHDDがその後一定時間アクセスされなければ、それら複数のHDDについてほぼ同時に停止動作が生じる。複数のHDDについて起動動作あるいは停止動作が短時間に集中すると、一時的に消費電流が非常に高い状態になってしまうことがあった。また、集中の程度によっては、それが原因で消費電流が装置の許容値を超えてしまう可能性もあった。
これに対して、特許文献2にあるような技術を用いて、夜間にアクセスの無いHDD群については昼間のみディスクを回転させ、夜間は回転させないように予約をしておけば、実際のアクセスがある前に予めディスクを回転させておくことになるので、アクセスに対する速い応答性を確保することができる。しかし、それでも、起動や停止の予約がされた時刻が重複すれば、起動動作または停止動作が同時に発生することになる。つまり、起動動作または停止動作が同時に発生することにより消費電力が上昇してしまうという問題は解決されない。
本発明の目的は、低消費電力化とアクセスに対する速い応答性を両立させると共に、起動動作や停止動作の際の消費電流の上昇を抑えることができるディスクアレイ制御装置を提供することである。
上記目的を達成するために、本発明のディスクアレイ制御装置は、
ディスクアレイに備えられた複数のハードディスクドライブのディスク状態を各々に制御するディスクアレイ制御装置であって、
利用の開始および停止に関する予め設定された時刻情報に基づいて前記複数のハードディスクドライブの各々のディスク状態を制御する制御時刻を求め、求めた該制御時刻を該制御時刻同士の相互関係に基づいて調整する回転制御時刻決定部と、
前記回転制御時刻決定部により決定された前記制御時刻にハードディスクドライブのディスク状態を制御するハードディスクドライブ制御部と、を有している。
本発明によれば、予め設定された利用時刻に基づいてハードディスクドライブのディスク状態を制御するので、アクセスされない時間帯にディスクを停止状態にすることで低消費電力化を実現し、アクセスされる時間帯にディスクを回転状態にすることでアクセスに対する速い応答性を実現する。また、予め設定された利用時刻の相互関係に基づいてハードディスクドライブのディスク状態を制御するので、ディスク状態を変化させるハードディスクドライブの相互の関係によって状態変化時に生じる消費電流の上昇を抑制することができる。
また、前記複数のハードディスクドライブによる記憶領域上に任意の論理ユニットが設定されており、前記予め設定された時刻情報は前記論理ユニットに対応付けて設定された利用時刻であり、
前記回転制御時刻決定部は、前記ハードディスクドライブと前記論理ユニットの対応付けと、前記論理ユニットに対して設定された利用時刻および該利用時刻の相互関係とから、前記ハードディスクドライブの各々の前記制御時刻を決定することにしてもよい。
これによれば、複数のハードディスクドライブによる記憶領域上に任意に設定した論理ユニットに対して設定された利用時刻から、各ハードディスクドライブのディスク状態を制御する制御時刻を決めるので、ユーザがハードディスクドライブの構成を意識せずに論理ユニットの利用開始時刻および利用終了時刻を設定しても低消費電力化とアクセスに対する速い応答性とを両立させることができ、かつディスク状態を変化させるハードディスクドライブの相互の関係によって生じる消費電流の上昇を抑制することができる。
また、前記利用時刻には利用開始時刻と利用終了時刻が含まれ、
前記回転制御時刻決定部は、設定された前記利用開始時刻から前記利用終了時刻の間は対応するハードディスクドライブを回転状態にし、かつ同時にディスク状態を変化させるハードディスクドライブの数を制限するように、前記ハードディスクドライブの各々の前記制御時刻を決定することにしてもよい。
これによれば、各ハードディスクドライブの制御時刻を調整して同時に状態変化するハードディスクドライブの数を制限するので、ディスクアレイの消費電力が許容値を超えないようにすることができる。また、各ハードディスクドライブの利用時刻の相互関係から各ハードディスクドライブの制御時刻を調整するので、利用時刻を入力するときにユーザは他の利用時刻を考慮する必要が無い。
また、前記ハードディスクドライブ制御部による制御で前記ハードディスクドライブのディスク状態の変化が開始されてから終了するまでに要した状態変化時間を測定する状態変化時間学習部を更に有し、
前記回転制御時刻決定部は、前記ハードディスクドライブの各々の前記制御時刻を決定するとき、前記状態変化時間学習部で測定された前記状態変化時間を利用することにしてもよい。
これによれば、各ハードディスクドライブの状態変化に要する時間を実測し、実測された時間に基づいて制御時刻を決定するので、各ハードディスクドライブでディスク状態の変化に要する時間が異なっていても、各ハードディスクドライブの状態変化を適切に制御することができる。
本発明によれば、低消費電力化とアクセスに対する速い応答性を両立すると共に、ディスク状態を変化させるハードディスクドライブの相互の関係によって状態変化時に生じる消費電流の上昇を抑制することができる。
本発明を実施するための形態について図面を参照して詳細に説明する。
(第1の実施形態)
図1は、第1の実施形態によるシステムの構成を示すブロック図である。図1を参照すると、第1の実施形態によるシステムは、処理装置1、記憶装置2、複数のHDD3、ホスト4、入力装置5、および時計6で構成されている。
処理装置1は、利用時刻設定部11、回転制御時刻決定部12、時刻判断部13、およびHDD制御部14を有している。
利用時刻設定部11は、入力装置5から与えられたHDD3毎の利用開始時刻と利用終了時刻を利用時刻記憶部21に記憶させる。利用開始時刻は、それ以降、対象となるHDD3へのアクセスがされる可能性がある時刻である。利用停止時刻は、それ以降、対象となるHDD3へのアクセスがされない時刻である。したがって、ホスト4は対象となるHDD3へ利用開始時刻から利用終了時刻までの間だけアクセスする。利用開始時刻および利用終了時刻は、ユーザによって入力装置5から設定される設定値である。
回転制御時刻決定部12は、利用時刻記憶部21に記憶された利用開始時刻と利用終了時刻からのHDD3の各々の回転開始時刻と回転停止時刻を決定し、回転制御時刻記憶部22に記録する。回転開始時刻は、対象となるHDD3の回転を開始させるための回転開始命令を発行する時刻である。回転停止時刻は、対象となるHDD3の回転を停止させるための回転停止命令を発行する時刻である。回転開始時刻と回転停止時刻を合わせて回転制御時刻と呼ぶことにする。回転開始時刻は利用開始時刻から所定のマージンをとった時刻とすればよい。また、回転終了時刻は利用終了時刻から所定のマージンをとった時刻とすればよい。
時刻判断部13は、時計6から現在の時刻を取得し、回転制御時刻記憶部22に記憶されたHDD3の回転開始時刻もしくは回転停止時刻がくることを判断する。そして、時刻判断部13は、回転開始時刻になったHDD3の回転を開始するように回転開始命令をHDD制御部14に伝える。また、回転停止時刻になったHDD3の回転を停止するように時刻判断部13は回転停止命令をHDD制御部14に伝える。
HDD制御部14は、時刻判断部13から受けた回転開始命令と回転停止命令を該当するHDD3に発行する。また、HDD制御部14はホスト4とHDD3間のコマンドとデータを転送する処理を行う。
記憶装置2は、利用時刻記憶部21と、回転制御時刻記憶部22とを備えている。
利用時刻記憶部21は、利用開始時刻と利用停止時刻をHDD3毎に記憶する。
回転制御時刻記憶部22は、回転開始時刻と回転停止時刻をHDD3毎に記憶する。
HDD3は、HDD制御部14を介してホスト4とコマンドおよびデータを送受信し、ディスクへのデータの書き込みおよびその読み出しを行う。ディスクへアクセスするにはディスクを回転させておく必要があり、HDD3はその回転の制御も行う。HDD制御部14から回転開始命令を受けると、HDD3はディスクの回転を開始させる。また、HDD制御部14から回転停止命令を受けると、HDD3はディスクの回転を停止させる。
ホスト4は、HDD制御部14を介してHDD3とコマンドおよびデータを送受信する。
入力装置5は、利用者の入力したHDD3の各々の利用開始時刻と利用終了時刻を利用時刻設定部11に通知する。
時計6は、現在の時刻を時刻判断部13に提供する。
以降の説明では、複数のHDD3に対して、HDD3を識別するための数字xを用いて、個々のHDD3をHDD[x]と記す。また、HDD3の全台数をMaxで表す。すなわち個々のHDD3をHDD[1]からHDD[Max]で表す。また、HDD[x]の利用開始時刻を利用開始時刻[x]、HDD[x]の利用終了時刻を利用終了時刻[x]、HDD[x]の回転開始時刻を回転開始時刻[x]、HDD[x]の回転停止時刻を回転停止時刻[x]と表す。
図2は、第1の実施形態において利用時刻記憶部21に記録された情報を示すテーブルである。図2を参照すると、利用時刻記憶部21にはHDD毎に利用開始時刻と利用終了時刻が記録されている。図3は、第1の実施形態において回転制御時刻記憶部22に記録された情報を示すテーブルである。図3を参照すると、回転制御時刻記憶部22にはHDD毎に回転開始時刻と回転終了時刻が記録されており、さらにその情報に更新があったことを示す更新フラグが記録されている。
次に、本実施形態のシステムの全体動作について説明する。システムの全体動作は主に回転制御時刻決定処理とHDD制御処理よりなる。回転制御時刻決定処理とHDD制御処理は並行的もしくは擬似並行的に行われる。
図4は、第1の実施形態における回転制御時刻決定処理を示すフローチャートである。図5は、第1の実施形態におけるHDD制御処理を示すフローチャートである。
図4を参照すると、回転制御時刻決定処理において、まず、利用時刻設定部11は、入力装置5からの入力を待ち受け(ステップA1)、入力の有無を判定する(ステップA2)。利用開始時刻もしくは利用終了時刻の入力が無ければ、利用時刻設定部11はステップA1に戻る。
入力装置5から利用開始時刻もしくは利用終了時刻の入力があれば、利用時刻設定部11は、入力された利用開始時刻もしくは利用終了時刻を利用時刻記憶部21の対応する領域に記録する(ステップA3)。このとき、例えばHDD[1]の利用開始時刻が入力されたのであれば、入力された値は、図2に示した利用時刻記憶部21のテーブルの利用開始時刻[1]として記憶させる。また、HDD[2]の利用終了時刻が入力されたのであれば、入力された値は利用時刻記憶部21のテーブルの利用終了時刻[2]として記憶させる。
次に、回転制御時刻決定部12は、回転制御時刻設定処理を行う(ステップA4)。回転制御時刻設定処理は、利用時刻記憶部21に記憶された利用開始時刻と利用終了時刻から全てのHDDの回転開始時刻と回転停止時刻を決定し、回転制御時刻記憶部22に記録する処理である。回転制御時刻設定処理の詳細については後述する。
続いて、回転制御時刻決定部12は、回転制御時刻記憶部22の更新フラグを立てて(ステップA5)、ステップA1に戻る。
図5を参照すると、HDD制御処理において、まず、時刻判断部13は時計6から現在時刻を取得し、回転制御時刻記憶部22に記憶された回転開始時刻と回転停止時刻の中から、現在時刻よりも遅く、現在時刻に最も近い時刻を探し(ステップB1)、該当する時刻を回転制御時刻[Next]とする。
次に、時刻判断部13は、回転制御時刻記憶部22の更新フラグが立っているかどうかを調べる(ステップB2)。更新フラグが立っていれば、時刻判断部13は、その更新フラグをクリアして(ステップB3)、ステップB1に戻る。
ステップB2にて更新フラグが立っていなければ、時刻判断部13は、回転制御時刻[Next]になるのを待ち受け(ステップB4)、回転制御時刻[Next]になったか否か判定する(ステップB5)。現在時刻が回転制御時刻[Next]になっていなければ、時刻判断部13はステップB2に戻る。
回転制御時刻[Next]になると、時刻判定部13は、その回転制御時刻[Next]が回転開始時刻[Next]であるか否か判定する(ステップB6)。
回転制御時刻[Next]が回転開始時刻であれば、時刻判断部13は、HDD制御部14を通して該当するHDD3に回転開始命令を発行する(ステップB7)。ステップB6において、回転制御時刻[Next]が回転停止時刻であれば、時刻判断部13は、HDD制御部14を通して該当するHDD3に回転停止命令を発行する(ステップB8)。
次に、時刻判断部13は、回転制御時刻[Next]になった全てのHDD3について処理(命令発行)をしたか否か判定する(ステップB9)。回転制御時刻[Next]になった全てのHDD3について処理が済んでいなければ、時刻判断部13はステップB6に戻って残りのHDD3についての処理を行う。一方、回転制御時刻[Next]になった全てのHDD3について処理が済んでいれば、時刻判断部13はステップB1に戻る。
図6A〜Dは、図4のステップA4に示した回転制御時刻設定処理の詳細を示すフローチャートである。回転制御時刻設定処理は、開始固定マージン時間設定処理(図6A)、開始調整マージン時間設定処理(図6B)、停止固定マージン時間設定処理(図6C)、および停止調整マージン時間設定処理(図6D)よりなる。
図6Aにおいては開始固定マージン時間設定処理の対象であるHDDの識別子をnと記す。
また、図6Bにおいては開始調整マージン時間設定処理の対象であるHDDの識別子をnと記し、設定のために回転開始時刻の比較対象とするHDDの識別子をmと記す。さらに図6Bにおいては処理中にHDD数をカウントするための数をiと記す。
また、図6Cにおいては停止固定マージン時間設定処理の対象であるHDDの識別子をnで記す。
また、図6Dにおいては停止調整マージン時間設定処理の対象であるHDDの識別子をnと記し、設定のために回転開始時刻および回転停止時刻の比較対象とするHDDの識別子をmと記す。さらに図6Dにおいては処理中にHDD数をカウントするための数をiと記す。
まず、図6Aを用いて開始固定マージン時間設定処理について説明する。図6Aを参照すると、初めに、回転制御時刻決定部12は、開始固定マージン時間設定処理の対象の識別子nに1を設定することにより(ステップC1)、回転開始時刻[1]を設定対象とする。
次に、回転制御時刻決定部12は、利用時刻記憶部21に利用開始時刻[n]が記憶されているかを調べる(ステップC2)。利用開始時刻[n]が記憶されていれば、回転制御時刻決定部12は、利用開始時刻[n]から開始固定マージン時間を引いた時刻を回転開始時刻[n]として回転制御時刻記憶部22に記録する(ステップC3)。ここで、開始固定マージン時間は、ディスクの起動に要する時間を見込んだマージンであり、予めディスクの起動に要する時間より長く設定されている。開始固定マージン時間は全てのHDD3に対して同じ値でよい。
次に、回転制御時刻決定部12は、nがMaxに等しいか否か調べる(ステップC4)。nがMaxに等しくなければ、回転制御時刻決定部12は、次の開始固定マージン時間設定処理対象を回転開始時刻[n+1]として(ステップC5)、ステップC2以降の処理を行う。
ステップC2において、利用開始時刻[n]が利用時刻記憶部21に記憶されていなければ、回転制御時刻決定部12はステップC4へ移行する。
回転制御時刻決定部12は、ステップC2〜C5の処理を繰り返すことにより、利用時刻記憶部21に利用開始時刻が記憶されている全てのHDD3に対して回転開始時刻を算出して回転制御時刻記憶部22に記録する。
ステップC4においてnがMaxに等しければ、回転制御時刻決定部12は開始固定マージン時間設定処理を終了し、開始調整マージン時間設定処理に移行する。
次に、図6Bを用いて開始調整マージン時間設定処理について説明する。図6Bを参照すると、回転制御時刻決定部12は、初めに、開始調整マージン時間設定処理の対象の識別子nに1を設定し(ステップC6)、回転開始時刻[1]を設定対象とする。
次に、回転制御時刻決定部12は、回転制御時刻記憶部22に回転開始時刻[n]が記憶されているか否かを調べる(ステップC7)。回転開始時刻[n]が記憶されていれば、回転制御時刻決定部12は、比較対象HDDの識別子mに1を設定し、回転開始時刻[1]を比較対象とすると共に、HDDのカウント値iを1とする(ステップC8)。
続いて、回転制御時刻決定部12は、mとnを比較することにより、開始調整マージン時間設定処理の対象HDDと比較対象HDDが異なるか否かを調べる(ステップC9)。mとnが異なれば、回転制御時刻決定部12は、回転制御時刻記憶部22に回転開始時刻[m]が記憶されているか否かを調べる(ステップC10)。
回転制御時刻記憶部22に回転開始時刻[m]が記憶されていれば、回転制御時刻決定部12は、回転開始時刻[n]と回転開始時刻[m]の差が許容時間よりも小さいか否かを調べる(ステップC11)。許容時間は、予め定められた時間長であり、ディスクの起動にかかる時間と停止にかかる時間のどちらよりも大きい値に設定される。許容時間は全てのHDDの組み合わせに対して同じ時間を設定してよい。
回転開始時刻[n]と回転開始時刻[m]の差が許容時間よりも小さければ、回転制御時刻決定部12は、カウント値iに1を加算し(ステップC12)、iが最大許容数よりも大きいか否かを調べる(ステップC13)。最大許容数は、最大許容数のHDD3が同時にディスクの起動もしくは停止を開始し、かつ、他のHDD3が全てディスクを回転させていても、消費電流が装置に許容されている値を超えないように設定されている。
iが最大許容数よりも大きければ、回転制御時刻決定部12は、回転制御時刻記憶部22に記憶されている回転開始時刻[n]から開始調整マージン時間を引いた時刻を回転開始時刻[n]として回転制御時刻記憶部22に記録し(ステップC14)、i=1、m=1を設定してステップC9に戻りそれ以降の処理を行う。開始調整マージン時間は、ディスクの起動に要する時間を見込んだマージンであり、予めディスクの起動に要する時間より長く設定されている。
ステップC9においてmとnが同じであった場合、ステップC10において回転制御時刻記憶部22に回転開始時刻[m]が記憶されていなかった場合、ステップC11において回転開始時刻[n]と回転開始時刻[m]の差が許容時間以上であった場合、およびステップC13においてiが最大許容数よりも大きくなかった場合には、回転制御時刻決定部12は、mがMaxと等しいか否かを調べる(ステップC16)。
mがMaxと等しくなければ、回転制御時刻決定部12は、mに1を加算して(ステップC17)、ステップC9に戻り、それ以降の処理を行う。
ステップC7において、回転制御時刻記憶部22に回転開始時刻[n]が記憶されていなかった場合、およびステップC16においてmがMaxと等しければ、回転制御時刻決定部12は、nがMaxと等しいか否かを調べる(ステップC18)。nがMaxに等しくなければ、回転制御時刻決定部12は、nに1を加算して(ステップC19)ステップC7に戻り、それ以降の処理を行う。nがMaxと等しければ、回転制御時刻決定部12は開始調整マージン時間設定処理を終了し、停止調整マージン時間設定処理に移行する。
次に、図6Cを用いて停止固定マージン時間設定処理について説明する。図6Cを参照すると、回転制御時刻決定部12は、初めに、停止固定マージン時間設定処理の対象の識別子nに1を設定し(ステップC20)、回転停止時刻[1]を設定対象とする。次に、回転制御時刻決定部12は、利用時刻記憶部21に利用終了時刻[n]が記憶されているか否かを調べる(ステップC21)。利用終了時刻[n]が記憶されていれば、回転制御時刻決定部12は、利用終了時刻[n]に停止固定マージン時間を加算した時刻を回転停止時刻[n]として回転制御時刻記憶部22に記録する(ステップC22)。停止固定マージン時間は、予め定められた時間長であり、0よりも大きい値に設定されている。停止固定マージン時間は全てのHDDに対して同じ時間としてよい。
次に、回転制御時刻決定部12は、nがMaxと等しいか否かを調べる(ステップC23)。nがMaxと等しくなければ、回転制御時刻決定部12は、次の停止固定マージン時間設定処理対象を回転停止時刻[n+1]として(ステップC24)、ステップC21に戻り、それ以降の処理を行う。
ステップC21において、利用停止時刻[n]が利用時刻記憶部21に記憶されていなければ、回転制御時刻決定部12は、ステップC23へ移行する。
回転制御時刻決定部12は、ステップC21〜C24の処理を繰り返すことにより、利用時刻記憶部21に利用終了時刻が記憶されている全てのHDD3に対して回転停止時刻を算出して回転制御時刻記憶部22に記録する。
ステップC23においてnがMaxと等しければ、回転制御時刻決定部12は停止固定マージン時間設定処理を終了し、停止調整マージン時間設定処理に移行する。
次に、図6Dを用いて停止調整マージン時間設定処理について説明する。図6Dを参照すると、回転制御時刻決定部12は、初めに、停止調整マージン時間設定処理の対象の識別子nに1を設定し(ステップC25)、回転停止時刻[1]を設定対象とする。
次に、回転制御時刻決定部12は、回転制御時刻記憶部22に回転停止時刻[n]が記憶されているか否かを調べる(ステップC26)。回転停止時刻[n]が記憶されていれば、回転制御時刻決定部12は、比較対象HDDの識別子mに1を設定することで回転開始時刻[1]を比較対象とすると共に、HDDのカウント値iに1を設定する(ステップC27)。
次に、回転制御時刻決定部12は、mとnを比較することによって停止調整マージン時間設定処理の対象HDDと比較対象HDDが異なるか否か調べる(ステップC28)。mとnが異なれば、回転制御時刻決定部12は、回転制御時刻記憶部22に回転開始時刻[m]が記憶されているか否かを調べる(ステップC29)。回転制御時刻記憶部22に回転開始時刻[m]が記憶されていれば、回転制御時刻決定部12は、回転停止時刻[n]と回転開始時刻[m]の差が許容時間よりも小さいか否かを調べる(ステップC30)。許容時間は、ステップC11で用いた許容時間と同じ値を用いる。
回転停止時刻[n]と回転開始時刻[m]の差が許容時間よりも小さければ、回転制御時刻決定部12は、カウント値iに1を加算し(ステップC31)、iが最大許容数よりも大きいか否かを調べる(ステップC32)。最大許容数は、ステップC13で用いた最大許容数と同じ値を用いる。
iが最大許容数よりも大きければ、回転制御時刻決定部12は、回転制御時刻記憶部22に記憶されている回転停止時刻[n]に停止調整マージン時間を加算した時刻を回転停止時刻[n]とし、回転制御時刻記憶部22に記録する(ステップC33)。
続いて、回転制御時刻決定部12は、i=1、m=1を設定してステップC28に戻り、それ以降の処理を行う。停止調整マージン時間は、ディスクの停止に要する時間を見込んだマージンであり、予めディスクの停止に要する時間より長く設定されている。
ステップC29において回転制御時刻記憶部22に回転開始時刻[m]が記憶されていなかった場合、ステップC30において回転停止時刻[n]と回転開始時刻[m]の差が許容時間以上であった場合、およびステップC32においてiが最大許容数以下であった場合には、回転制御時刻決定部12は、回転制御時刻記憶部22に回転停止時刻[m]が記憶されているか否かを調べる(ステップC35)。
回転制御時刻記憶部22に回転停止時刻[m]が記憶されていれば、回転制御時刻決定部12は、回転停止時刻[n]と回転停止時刻[m]の差が許容時間よりも小さいか否かを調べる(ステップC36)。ステップC36における許容時間の値は、ステップC30における許容時間と同じである。
回転停止時刻[n]と回転停止時刻[m]の差が許容時間よりも小さければ、回転制御時刻決定部12は、カウント値iに1を加算し(ステップC37)、iが最大許容数よりも大きいか否かを調べる(ステップC38)。ステップC38における最大許容数は、ステップC32における最大許容数と同じである。iが最大許容数よりも大きければ、回転制御時刻決定部12は、ステップC33に移行する。
ステップC35において回転制御時刻記憶部22に回転停止時刻[m]が記憶されていなかった場合、ステップC36において回転停止時刻[n]と回転停止時刻[m]の差が許容時間以上であった場合、およびステップC38においてiが最大許容数以下であった場合には、回転制御時刻決定部12は、mがMaxと等しいか否かを調べる(ステップC39)。mがMaxと等しくなければ、回転制御時刻決定部12は、mに1を加算して(ステップC40)、ステップC28に戻り、それ以降の処理を行う。
ステップC26において回転制御時刻記憶部22に回転停止時刻[n]が記憶されていなかった場合、およびステップC39においてmがMaxであった場合には、回転制御時刻決定部12は、nがMaxと等しいか否かを調べる(ステップC41)。nがMaxと等しくなければ、回転制御時刻決定部12は、nに1を加算して(ステップC42)、ステップC26に戻り、それ以降の処理を行う。nがMaxと等しければ、回転制御時刻決定部12は回転制御時刻設定処理を終了する。
上述した開始固定マージン時間設定処理(図6A)および開始調整マージン時間設定処理(図6B)により、利用時刻記憶部21に利用開始時刻が記憶された全てのHDD3について回転開始時刻が決定され、回転制御時刻記憶部22に記録される。また同様に、上述した停止固定マージン時間設定処理(図6C)および停止調整マージン時間設定処理(図6D)により、利用時刻記憶部21に利用終了時刻が記憶された全てのHDD3について回転停止時刻が決定され、回転制御時刻記憶部22に記録される。
次に、回転制御時刻決定部12が回転開始時刻と回転停止時刻を決定する動作の具体例について説明する。
本例では、HDD3の数は6とする。すなわちMax=6である。また、開始固定マージン時間を2分、開始調整マージン時間を2分、停止固定マージン時間を3分、停止調整マージン時間を2分、許容時間を1分、最大許容数を2とする。図7は、利用時刻記憶部21に記憶された利用開始時刻および利用終了時刻の一例を示すテーブルである。利用時刻記憶部21には図7に示した利用開始時刻が記憶されているものとする。
まず、開始固定マージン時間設定処理(ステップC1〜C5)により、HDD[1]からHDD[6]の回転開始時刻には、それぞれの利用開始時刻より開始固定マージン時間の2分だけ早い時刻が設定される。図8Aは、第1の実施形態において回転制御時刻記憶部22に設定された回転制御時刻の第1の例を示すテーブルである。図8Aを参照すると、HDD[1]からHDD[6]の回転開始時刻には、図7に示した利用開始時刻より2分だけ早い時刻が設定されている。
次に、回転制御時刻決定部12がn=1として(ステップC6)、ステップC7〜C17の処理を実行することにより、回転開始時刻[1]は開始調整マージン時間の2分だけ早い時刻となる。図8Bは、第1の実施形態において回転制御時刻記憶部22に設定された回転制御時刻の第2の例を示すテーブルである。図8Bを参照すると、回転開始時刻[1]は、図8Aより開始調整マージン時間の2分だけ早いAM8:26となっている。
次に、回転制御時刻決定部12がn=2として(ステップC18〜ステップC19)、ステップC7〜C17の処理を実行することにより、回転開始時刻[2]は開始調整マージン時間の2分だけ早い時刻となる。図8Cは、第1の実施形態において回転制御時刻記憶部22に設定された回転制御時刻の第3の例を示すテーブルである。図8Cを参照すると、回転開始時刻[2]は、図8Bより開始調整マージン時間の2分だけ早いAM8:26となっている。
次に、回転制御時刻決定部12は、n=3として(ステップC18〜C19)、ステップC7〜C17の処理を実行する。ここでは、回転開始時刻[3]は変化せず、AM10:58のままである。その後、回転制御時刻決定部12は、n=4,5,6としてステップC18〜C19の処理を実行するが、回転開始時刻[4]、回転開始時刻[5]、回転開始時刻[6]は変化しない。
本例では、この時点でnがMaxと等しくなるので(ステップC18)、回転制御時刻決定部12は回転開始時刻を決定する処理を終了する。この結果、回転制御時刻記憶部22には図8Cに示した値が記憶された状態となる。
次に、停止固定マージン時間設定処理(ステップC20〜C24)により、HDD[1]からHDD[6]の回転停止時刻には、図7に示した利用終了時刻より停止固定マージン時間の3分だけ遅い時刻が設定される。図8Dは、第1の実施形態において回転制御時刻記憶部22に設定された回転制御時刻の第4の例を示すテーブルである。図8Dを参照すると、HDD[1]からHDD[6]の回転停止時刻には、図7に示した利用開始時刻より3分だけ遅い時刻が設定されている。
次に、回転制御時刻決定部12がn=1として(ステップC25)、ステップC26〜C40の処理を実行すると、回転停止時刻[1]の値は変化せず、PM5:18と決定される。続いて、回転制御時刻決定部12がn=2,3,4として(ステップC41〜C42)、ステップC26〜C40を実行すると、回転停止時刻[2],回転停止時刻[3],回転停止時刻[4]の値は変化せず、図8Dに示した状態のままとなる。
次に、回転制御時刻決定部12がn=5として(ステップC41〜C42)、ステップC26〜C40を実行すると、回転停止時刻[5]は停止調整マージン時間の2分だけ遅い時刻となる。図8Eは、回転制御時刻記憶部22に設定された回転制御時刻の第5の例を示すテーブルである。図8Eを参照すると、回転停止時刻[5]には、図8Dに示した利用開始時刻より2分だけ遅いPM11:00が設定されている。
次に、回転制御時刻決定部12がn=6として(ステップC41〜C42)、ステップC26〜C40の処理を実行すると、回転停止時刻[6]は停止調整マージン時間の2分だけ遅い時刻となる。図8Fは、回転制御時刻記憶部22に設定された回転制御時刻の第6の例を示すテーブルである。図8Fを参照すると、回転停止時刻[6]には、図8Eに示した利用開始時刻より2分だけ遅いPM11:00が設定されている。
最終的に決定した図8Fの回転開始時刻および回転停止時刻に応じてHDD3の回転を開始および停止することにより、最大許容数である2個を超える数のHDD3が同時に起動中あるいは停止中になることが無い。起動動作や停止動作の集中を抑え、消費電流が許容されている電流値を超えないようにディスクの回転状態を制御することができる。
なお、ここでは時刻の処理を分単位で行う例を示したが、本発明はこれに限定されるものではない。他の例として、秒単位などのより細かい単位で時刻処理を行ってもよい。
また、本実施形態では、1台のHDDに対して利用開始時刻および利用終了時刻をそれぞれ1つずつ設定し、回転開始時刻および回転停止時刻をそれぞれ1つずつ算出する例を示したが、本発明はこれに限定されるものではない。他の例として複数の利用開始時刻および利用終了時刻を設定し、複数の回転開始時刻および回転停止時刻を算出するように拡張してもよい。
以上説明したように、本実施形態によれば、予めHDD3毎に設定された利用開始時刻から利用終了時刻までの間はディスクを回転させてアクセスが可能な状態にし、他の時間帯にはディスクを停止させるので、低消費電力化とアクセスに対する速い応答性とを両立させることができる。それに加えて、本実施形態では、各HDD3の回転開始時刻および回転停止時刻を調整して同時に起動動作あるいは停止動作をするHDD3の数を制限するので、消費電力が装置の許容値を超えないようにすることができる。
また、本実施形態では、各HDD3の利用開始時刻および利用終了時刻の相互関係から、HDDの各々の回転開始時刻および回転停止時刻を調整するので、HDD3の利用開始時刻および利用終了時刻を入力するときにユーザは他のHDD3の利用開始時刻および利用終了時刻を考慮する必要が無い。
(第2の実施形態)
図9は、第2の実施形態によるシステムの構成を示すブロック図である。図9に示した第2の実施形態のシステムは、図1に示した第1の実施形態の構成に加え、記憶装置2が論理ユニット情報記憶部23を有している。
論理ユニットは、ホスト4によるアクセス対象の単位である。また、この論理ユニットはホスト4に対してHDD3の構成を隠蔽する概念であり、複数のHDD3をまたいで1つの論理ユニットを構成してもよい。この場合、論理ユニットはHDD3のRAID(Redundant Arrays of Independent Disks)で構成されていてもよい。また、1台のHDD3のアドレス空間を分割して複数の論理ユニットを構成してもよい。
論理ユニット情報記憶部23は、この論理ユニットとHDD3とを対応づける情報(論理ユニット情報)を記憶する。
本実施形態では、ユーザは入力装置5から、この論理ユニット毎に利用開始時刻および利用終了時刻を設定することができる。利用開始時刻は、それ以降にホストから該当する論理ユニットへのアクセスとしてHDD3にアクセスされる可能がある時刻であり、利用終了時刻は、それ以降にホストから該当する論理ユニットへのアクセスとしてHDD3がアクセスされない時刻である。
利用時刻設定部11は、HDD3毎に、論理ユニット毎の利用開始時刻および利用終了時刻を記録する。利用時刻設定部11は、入力装置5からある論理ユニット(以下「設定対象論理ユニット」という)の利用開始時刻と利用終了時刻を与えられると、論理ユニット情報記憶部23に記憶された論理ユニット情報をもとに、設定対象論理ユニットに対応するHDD3(以下「設定対象HDD」という)を調べる。そして、利用時刻設定部11は、入力装置5から与えられた利用開始時刻と利用終了時刻を、得られた設定対象HDDにおける設定対象論理ユニットの利用開始時刻と利用終了時刻として利用時刻記憶部21に記録する。
利用時刻記憶部21は、利用開始時刻と利用終了時刻を、HDD3毎に、HDD3と対応関係にある全ての論理ユニットについて論理ユニット毎に記憶する。
回転制御時刻決定部12は、利用時刻記憶部21に記憶された利用開始時刻と利用終了時刻から、各HDD3の各論理ユニットの回転開始時刻と回転停止時刻を決定し、回転制御時刻記憶部22に記録する。
回転制御時刻記憶部22は、HDD3毎に、そのHDD3が含む全ての論理ユニットについて論理ユニット毎の回転開始時刻および回転停止時刻を記録する。回転開始時刻は、HDD3の回転を開始させるための回転開始命令を発行する時刻である。回転停止時刻は、HDD3の回転を停止させるための回転停止命令を発行する時刻である。
また、回転制御時刻記憶部22は、HDD3と回転制御時刻が記録されている論理ユニットとの関係を示す論理ユニット情報を有効フラグとして記憶する。有効フラグは、HDD3毎に、各HDD3に含まれる論理ユニット毎のフラグであり、HDD3が論理ユニットの少なくとも一部を含んでおり、その論理ユニットに回転制御時刻が設定されていることを示している。あるHDD3の中のある論理ユニットの有効フラグが立っていれば、そのHDD3にはその論理ユニットの少なくとも一部が含まれており、その論理ユニットに回転制御時刻が設定されていることを示している。
さらに、回転制御時刻記憶部22は、論理ユニット毎に、その論理ユニットがアクセス可能であるか否かを示すユニット使用フラグを記憶する。ユニット使用フラグが立っていれば、その論理ユニットがアクセス可能な状態であることを示している。論理ユニットがアクセス可能な状態は、その論理ユニットを含むHDD3のディスクが回転している状態をいう。
時刻判断部13は、時計6から現在の時刻を取得し、回転開始時刻になったHDD3の回転を開始するための回転開始命令をHDD制御部14に伝える。また、時刻判断部13は、それとともに、回転制御時刻記憶部22の、該当する論理ユニットのユニット使用フラグを立てる。
また、時刻判断部13は、回転停止時刻になったHDD3の回転を停止するための回転停止命令をHDD制御部14に伝える。また、時刻判断部13は、それとともに、回転制御時刻記憶部22の、該当する論理ユニットのユニット使用フラグをクリアする。その際、時刻判断部13は、ある論理ユニット(以下「停止対象論理ユニット」という)が回転停止時刻になると、回転制御時刻記憶部22に記憶されている有効フラグとユニット使用フラグを参照することにより、停止対象論理ユニットを含むHDD3(停止対象HDD)に含まれている他の論理ユニットの中にアクセス可能な状態の論理ユニットがあるか否かを調べる。アクセス可能な状態の他の論理ユニットがあればそのHDD3を停止させることはできないので、時刻判断部13は、回転停止命令をHDD制御部14に伝えることなく、停止対象論理ユニットのユニット使用フラグをクリアする。アクセス可能な状態の他の論理ユニットがなければ、時刻判断部13は、停止対象HDDの回転停止命令をHDD制御部14に伝える。
HDD制御部14は、時刻判断部13から受けた回転開始命令と回転停止命令を該当するHDD3に発行する。また、ホスト4からのアクセスに対して、HDD制御部14は、論理ユニット情報記憶部23に記憶された論理ユニット情報をもとに、論理ユニットとHDD3のアドレスを変換しながら、ホスト4とHDD3間でコマンドとデータの転送処理を行う。
以降の説明では、複数のHDD3に対して、HDD3を識別するための数字xを用いて、個々のHDD3をHDD[x]と記す。また、HDD3の全台数をMaxで表す。すなわち個々のHDD3をHDD[1]からHDD[Max]で表す。また、設定されうる論理ユニットの最大数から1を引いた数をLmaxで表す。なお、論理ユニットの番号は0から表記するものとする。
このため、論理ユニットの最大数はLmax+1である。さらに、HDD[x]における論理ユニットyに対応する利用開始時刻を利用開始時刻[x,y]、HDD[x]における論理ユニットyに対応する利用終了時刻を利用終了時刻[x,y]、HDD[x]の論理ユニットyに対応する回転開始時刻を回転開始時刻[x,y]、HDD[x]の論理ユニットyに対応する回転停止時刻を回転停止時刻[x,y]と表す。また、HDD[x]の論理ユニットyに対応する有効フラグを有効フラグ[x,y]と表す。有効フラグ[x,y]は、HDD[x]と論理ユニットyが対応付けられている場合にはフラグが立った状態で、HDD[x]と論理ユニットyが対応付けられていない場合はフラグがクリアされた状態である。また、論理ユニットyのユニット使用フラグをユニット使用フラグ[y]と表す。ユニット使用フラグ[y]は、HDD3を論理ユニットyにアクセス可能な状態にするタイミングでフラグが立てられ、論理ユニットyにアクセス不可能にするタイミングでクリアされる。有効フラグとアクセスフラグは、例えば、同じHDD3上に2つ以上の論理ユニットが割り当てられている場合、1つの論理ユニットに対してはアクセスが不要となった場合でも、別の論理ユニットにアクセスするためにHDD3を回転しておかなければいけないことを判断するために使用される。
図10は、第2の実施形態において利用時刻記憶部21に記録された情報を示すテーブルである。図10を参照すると、利用時刻記憶部21には、HDD毎、論理ユニット毎に利用開始時刻と利用終了時刻が記録されている。図11は、第2の実施形態において回転制御時刻記憶部22に記録された情報を示すテーブルである。図11を参照すると、回転制御時刻記憶部22には、HDD毎、論理ユニット毎に回転開始時刻と回転終了時刻と有効フラグが記録されており、さらにその情報に更新があったことを示す更新フラグが記録されており、さらに論理ユニット毎にユニット使用フラグが記録されている。
以上に説明した以外の構成については、第2の実施形態のシステムは第1の実施形態と同様である。
次に、本実施形態のシステムの全体動作について、主に第1の実施形態との相違点を説明する。図12は、第2の実施形態における回転制御時刻決定処理を示すフローチャートである。
図12のフローチャートを参照すると、図4に示した第1の実施形態における回転制御時刻決定処理のフローチャートと異なる点は、入力装置5から利用開始時刻もしくは利用終了時刻の入力があったとき(ステップA2)、利用時刻設定部11は、論理ユニット情報記憶部23に記憶された論理ユニット情報をもとに、対応するHDD3を判別し(ステップA10)、対応する全てのHDD3の対応する論理ユニットの利用開始時刻もしくは利用終了時刻を利用時刻記憶部21に記録する点である。
また、第2の実施形態における回転制御時刻決定部12が回転開始時刻を決定する回転開始時刻決定処理(ステップA11)の内容は、第1の実施形態における回転制御時刻設定処理(図4のステップA4)と異なる。第2の実施形態における回転制御時刻設定処理の詳細については後述する。
図13は、第2の実施形態におけるHDD制御処理を示すフローチャートである。図13を参照し、図5に示した第1の実施形態におけるHDD制御処理のフローチャートと異なる点について説明する。
第2の実施形態では、ステップB6において、回転制御時刻[Next]が回転開始時刻であれば、時刻判断部13は、該当する論理ユニットのユニット使用フラグを立て(ステップB10)、回転開始命令を発行する(ステップB7)。ステップB10においては、例えば、回転制御時刻[Next]に該当する時刻が回転開始時刻[x,y]であれば、時刻判断部13は有効フラグ[y]を立てる。有効フラグ[y]が既に立っていれば、フラグを立てた状態を維持する。
また、ステップB6において、回転制御時刻[Next]が回転停止時刻であれば、時刻判断部13はユニット使用フラグをクリアし(ステップB11)、該当するHDD3の有効フラグとユニット使用フラグを比較する(ステップB12)。例えば回転制御時刻[Next]が回転停止時刻[x,y]であれば、ステップB11ではユニット使用フラグ[y]をクリアし、ステップB12においては、有効フラグ[x,0]とユニット使用フラグ[0]、有効フラグ[x,1]とユニット使用フラグ[1]、・・・有効フラグ[x,Lmax]とユニット使用フラグ[Lmax]を全て比較する。そして、両方のフラグが立っているものが無ければ、そのHDD3のディスクの回転を停止すると判断する。回転を停止すると判断した場合(ステップB13)、時刻判断部13はHDD制御部14を通して該当するHDDに回転停止命令を発行し(ステップB8)、ステップB9に移行する。ステップB13において回転を停止しないと判断した場合も時刻判断部13はステップB9に移行する。
図14A〜Dは、図12のステップA11に示した回転制御時刻設定処理の詳細を示すフローチャートである。回転制御時刻設定処理は、開始固定マージン時間設定処理(図14A)、開始調整マージン時間設定処理(図14B)、停止固定マージン時間設定処理(図14C)、停止調整マージン時間設定処理(図14D)よりなる。
図14Aにおいては開始固定マージン時間設定処理の対象であるHDDの識別子をn、開始固定マージン時間設定処理の対象である論理ユニットの番号をLと記す。
また、図14Bにおいては開始調整マージン時間設定処理の対象であるHDDの識別子をn、開始調整マージン時間設定処理の対象である論理ユニットの番号をLと記し、設定のために回転開始時刻の比較対象とするHDDの識別子をm、設定のために回転開始時刻の比較対象とする論理ユニット番号をKと記す。さらに、図14Bにおいては処理中にHDD数をカウントするための数をiと記す。
また、図14Cにおいては停止固定マージン時間設定処理の対象であるHDDの識別子をn、停止固定マージン時間設定処理の対象である論理ユニットの番号をLで記す。
また、図14Dにおいては停止調整マージン時間設定処理の対象であるHDDの識別子をn、停止調整マージン時間設定処理の対象である論理ユニットの番号をLと記し、設定のために回転開始時刻および回転停止時刻の比較対象とするHDDの識別子をm、設定のために回転開始時刻および回転停止時刻の比較対象とする論理ユニット番号をKと記す。さらに図14Dにおいては処理中にHDD数をカウントするための数をiと記す。
まず、図14Aを用いて開始固定マージン時間設定処理について説明する。図14Aを参照すると、初めに、回転制御時刻決定部12は、開始固定マージン時間設定処理の対象の識別子nに1、対象論理ユニット番号Lに0を設定し(ステップC101)、回転開始時刻[1,0]を設定対象とする。
次に、回転制御時刻決定部12は、利用時刻記憶部21に利用開始時刻[n,L]が記憶されているか否かを調べる(ステップC102)。利用開始時刻[n,L]が記憶されていれば、回転制御時刻決定部12は、利用開始時刻[n,L]から開始固定マージン時間を引いた時刻を回転開始時刻[n,L]として回転制御時刻記憶部22に記録する(ステップC103)。ここで、開始固定マージン時間は、ディスクの起動に要する時間を見込んだマージンであり、予めディスクの起動に要する時間より長く設定されている。開始固定マージン時間は全てのHDDに対して同じ値でよい。
次に、回転制御時刻決定部12は、回転制御時刻記憶部22の有効フラグ[n,L]を立て(ステップC104)、Lが最大の論理ユニット番号Lmaxと等しいか否かを調べる(ステップC105)。LがLmaxと等しくなければ、回転制御時刻決定部12は、Lに1を加算し(ステップC106)、ステップC102に戻り、それ以降の処理を行う。
ステップC105において、LがLmaxと等しければ、回転制御時刻決定部12は、nがMaxと等しいか否かを調べる(ステップC107)。nがMaxと等しければ、回転制御時刻決定部12は、nに1を加算し(ステップC108)、ステップC102に戻り、それ以降の処理を行う。
ステップC102において、利用開始時刻[n,L]が利用時刻記憶部21に記憶されていなければ、回転制御時刻決定部12はステップC105へ移行する。
回転制御時刻決定部12は、ステップC102〜C108の処理を繰り返すことにより、利用時刻記憶部21に利用開始時刻が記憶されている全てのHDD3の全ての対応する論理ユニットに対して回転開始時刻を算出して回転制御時刻記憶部22に記録する。ステップC107において、nがMaxと等しければ、回転制御時刻決定部12は開始固定マージン時間設定処理を終了し、開始調整マージン時間設定処理に移行する。
次に、図14Bを用いて開始調整マージン時間設定処理について説明する。図14Bを参照すると、回転制御時刻決定部12は、初めに、開始調整マージン時間設定処理の対象HDDの識別子nに1を設定し、対象論理ユニット番号Lに0を設定して(ステップC109)、回転開始時刻[1,0]を設定対象とする。
続いて、回転制御時刻決定部12は、回転制御時刻記憶部22に回転開始時刻[n,L]が記憶されているか否かを調べる(ステップC110)。回転開始時刻[n,L]が記憶されていれば、回転制御時刻決定部12は、比較対象HDDの識別子mに1を設定し、比較対象とする論理ユニット番号Kに0を設定して、回転開始時刻[1,0]を比較対象とする。また、回転制御時刻決定部12は、HDDのカウント値iに1を設定する(ステップC111)。
そして、回転制御時刻決定部12は、mとnを比較することにより、開始調整マージン時間設定処理の対象HDDと比較対象HDDが異なるか否かを調べる(ステップC112)。mとnが異なれば、回転制御時刻決定部12は、回転制御時刻記憶部22に回転開始時刻[m,K]が記憶されているか否かを調べる(ステップC113)。
回転制御時刻記憶部22に回転開始時刻[m,K]が記憶されていれば、回転制御時刻決定部12は、回転開始時刻[n,L]と回転開始時刻[m,K]の差が許容時間よりも小さいかどうかを調べる(ステップC114)。許容時間は、予め定められた時間長であり、ディスクの起動にかかる時間と停止にかかる時間のどちらよりも大きい値に設定される。許容時間は全てのHDDの組み合わせに対して同じ時間を設定してよい。
回転開始時刻[n,L]の回転開始時刻[m,K]の差が許容時間よりも小さければ、回転制御時刻決定部12は、カウント値iに1を加算し(ステップC115)、iが最大許容数よりも大きいか否かを調べる(ステップC116)。最大許容数は、最大許容数のHDD3が同時にディスクの起動もしくは停止を開始し、かつ、他のHDD3が全てディスク回転していても、消費電流が装置に許容されている値を超えないように設定されている。
iが最大許容数よりも大きければ、回転制御時刻決定部12は、回転制御時刻記憶部22に記憶されている回転開始時刻[n,L]から開始調整マージン時間を引いた時刻を回転開始時刻[n,L]として回転制御時刻記憶部22に記録し(ステップC117)、i=1、m=1、K=0として(ステップC118)ステップC112に戻り、それ以降の処理を行う。開始調整マージン時間は、ディスクの起動に要する時間を見込んだマージンであり、予めディスクの起動に要する時間より長く設定されている。
ステップC113において回転制御時刻記憶部22に回転開始時刻[m,K]が記憶されていなかった場合、ステップC114において回転開始時刻[n,L]と回転開始時刻[m,K]の差が許容時間以上であった場合、ステップC116において、iが最大許容数よりも大きくなかった場合、回転制御時刻決定部12は、KがLmaxと等しいか否かを調べる(C119)。KがLmaxと等しくなければ、回転制御時刻決定部12は、Kの値に1を加算して(ステップC120)、ステップC112に戻り、それ以降の処理を行う。
ステップC112においてmとnが等しかった場合、ステップC119においてKがLmaxと等しかった場合、回転制御時刻決定部12は、mがMaxと等しいか否かを調べる(ステップC121)。mがMaxと等しくなければ、回転制御時刻決定部12は、mに1を加算し、K=0を設定して(ステップC122)、ステップC112に戻り、それ以降の処理を行う。
ステップC110において、回転制御時刻記憶部22に回転開始時刻[n,L]が記憶されていなかった場合、ステップC121においてmがMaxと等しかった場合、回転制御時刻決定部12は、LがLmaxと等しいか否かを調べる(ステップC123)。LがLmaxと等しくなければ、回転制御時刻決定部12は、Lに1を加算して(ステップC124)、ステップC110に戻り、それ以降の処理を行う。
ステップC123において、LがLmaxと等しければ、回転制御時刻決定部12は、nがMaxと等しいか否かを調べる(ステップC125)。nがMaxと等しくなければ、回転制御時刻決定部12は、nに1を加算し、L=0を設定して(ステップC126)、ステップC110に戻り、それ以降の処理を行う。
ステップC125においてnがMaxと等しければ、回転制御時刻決定部12は停止固定マージン時間設定処理に移行する。
次に、図14Cを用いて停止固定マージン時間設定処理について説明する。図14Cを参照すると、回転制御時刻決定部12は、初めに、停止固定マージン時間設定処理の対象HDDの識別子nに1を設定し、対象論理ユニット番号Lに0を設定し(ステップC127)、回転停止時刻[1,0]を設定対象とする。
次に、回転制御時刻決定部12は、利用時刻記憶部21に利用終了時刻[n,L]が記憶されているか否かを調べる(ステップC128)。利用終了時刻[n,L]が記憶されていれば、回転制御時刻決定部12は、利用終了時刻[n,L]に停止固定マージン時間を足した時刻を回転停止時刻[n,L]として回転制御時刻記憶部22に記録する(ステップC129)。停止固定マージン時間は、予め定められた時間長であり、0よりも大きい値に設定されている。停止固定マージン時間は全てのHDDに対して同じ時間としてよい。
次に、回転制御時刻決定部12は、回転制御時刻記憶部22の有効フラグ[n,L]を立てる(ステップC130)。
次に、回転制御時刻決定部12は、LがLmaxと等しいか否かを調べる(ステップC131)。LがLmaxと等しくなければ、回転制御時刻決定部12は、Lに1を加算して(ステップC132)、ステップ128に戻り、それ以降の処理を行う。
ステップC131において、LがLmaxと等しければ、回転制御時刻決定部12は、nがMaxと等しいか否かを調べる(ステップC133)。nがMaxと等しくなければ、回転制御時刻決定部12は、nに1を加算して(ステップC134)、ステップ128に戻り、それ以降の処理を行う。
ステップ128において、利用終了時刻[n,L]が利用時刻記憶部21に記憶されていなければ、回転制御時刻決定部12はステップC131へ移行する。
回転制御時刻決定部12は、ステップC128〜C134の処理を繰り返すことにより、利用時刻記憶部21に利用終了時刻が記憶されている全てのHDD3の全ての対応する論理ユニットに対して回転停止時刻を算出して回転制御時刻記憶部22に記録する。
ステップC133においてnがMaxと等しければ、回転制御時刻決定部12は停止固定マージン時間設定処理を終了し、停止調整マージン時間設定処理に移行する。
次に、図14Dを用いて停止調整マージン時間設定処理について説明する。図14Dを参照すると、回転制御時刻決定部12は、初めに、停止調整マージン時間設定処理の対象HDDの識別子nに1を設定し、対象論理ユニット番号Lに0を設定し(ステップC135)、回転停止時刻[1,0]を設定対象とする。
次に、回転制御時刻決定部12は、回転制御時刻記憶部22に回転停止時刻[n,L]が記憶されているか否かを調べる(ステップC136)。回転停止時刻[n,L]が記憶されていれば、回転制御時刻決定部12は、比較対象HDDの識別子mに1を設定し、比較対象論理ユニット番号Kに0を設定し、回転開始時刻[1,0]および回転停止時刻[1,0]を比較対象とする。また、回転制御時刻決定部12は、HDDのカウント値iに1を設定する(ステップC137)。
次に、回転制御時刻決定部12は、mとnを比較することによって停止調整マージン時間設定処理の対象HDDと比較対象HDDが異なるか否かを調べる(ステップC138)。mとnが異なれば、回転制御時刻決定部12は、回転制御時刻記憶部22に回転開始時刻[m,K]が記憶されているか否かを調べる(ステップC139)。回転制御時刻記憶部22に回転開始時刻[m,K]が記憶されていれば、回転制御時刻決定部12は、回転停止時刻[n,L]と回転開始時刻[m,K]の差が許容時間よりも小さいかどうかを調べる(ステップC140)。許容時間は、ステップC114で用いた許容時間と同じ値を用いる。
回転停止時刻[n,L]と回転開始時刻[m,K]の差が許容時間よりも小さければ、回転制御時刻決定部12は、カウント値iに1を加算し(ステップC141)、iが最大許容数よりも大きいか否かを調べる(ステップC142)。最大許容数は、ステップC116で用いた最大許容数と同じ値を用いる。
iが最大許容数よりも大きければ、回転制御時刻決定部12は、回転制御時刻記憶部22に記憶されている回転停止時刻[n,L]に停止調整マージン時間を足した時刻を回転停止時刻[n,L]として回転制御時刻記憶部22に記録し(ステップC143)、i=1、m=1、K=0としてステップC138に戻り、それ以降の処理を行う。停止調整マージン時間は、ディスクの停止に要する時間を見込んだマージンであり、予めディスクの停止に要する時間より長く設定されている。
ステップC139において回転制御時刻記憶部22に回転開始時刻[m,K]が記憶されていなかった場合、ステップC140において回転停止時刻[n,L]と回転開始時刻[m,K]の差が許容時間以上であった場合、ステップC142においてiが最大許容数以下であった場合には、回転制御時刻決定部12は、回転制御時刻記憶部22に回転停止時刻[m,K]が記憶されているか否かを調べる(ステップC145)。
回転制御時刻記憶部22に回転停止時刻[m,K]が記憶されていれば、回転制御時刻決定部12は、回転停止時刻[n,L]と回転停止時刻[m,K]の差が許容時間よりも小さいかどうかを調べる(ステップC146)。ステップC146における許容時間の値は、ステップC140における許容時間と同じである。
回転停止時刻[n,L]と回転停止時刻[m,K]の差が許容時間よりも小さければ、回転制御時刻決定部12は、カウント値iに1を加算し(ステップC147)、iが最大許容数よりも大きいか否かを調べる(ステップC148)。ステップC148における最大許容数は、ステップC142における最大許容数と同じである。
iが最大許容数よりも大きければ、回転制御時刻決定部12はステップC143に移行する。
ステップC145において回転制御時刻記憶部22に回転停止時刻[m,K]が記憶されていなかった場合、ステップC146において回転停止時刻[n,L]と回転停止時刻[m,K]の差が許容時間以上であった場合、ステップC148においてiが最大許容数以下であった場合、回転制御時刻決定部12は、KがLmaxと等しいか否かを調べる(ステップC149)。KがLmaxと等しくなければ、回転制御時刻決定部12は、Kに1を加算して(ステップC150)、ステップC138に戻り、それ以降の処理を行う。
ステップC138においてmとnが等しかった場合、ステップC149においてKがLmaxであった場合、回転制御時刻決定部12は、mがMaxと等しいか否かを調べる(ステップC151)。
mがMaxと等しくなければ、回転制御時刻決定部12は、mに1を加算し、K=0を設定して(ステップC152)、ステップC138に戻り、それ以降の処理を行う。
ステップC136において、回転制御時刻記憶部22に回転停止時刻[n,L]が記憶されていなかった場合、ステップC151においてmがMaxであった場合、回転制御時刻決定部12は、LがLmaxと等しいか否かを調べる(ステップC153)。
LがLmaxと等しくなければ、回転制御時刻決定部12は、Lに1を加算して(ステップC154)、ステップC136に戻り、それ以降の処理を行う。ステップC153において、LがLmaxと等しければ、回転制御時刻決定部12は、nがMaxと等しいか否かを調べる(ステップC155)。nがMaxと等しくなければ、回転制御時刻決定部12は、nに1を加算し、L=0を設定して(ステップC156)、ステップC136に戻り、それ以降の処理を行う。ステップC155においてnがMaxと等しければ、回転制御時刻決定部12は回転制御時刻設定処理を終了する。
上述した開始固定マージン時間設定処理(図14A)および開始調整マージン時間設定処理(図14B)により、利用時刻記憶部21に利用開始時刻が記憶された全てのHDDについて、対応付けられた論理ユニットに対する回転開始時刻が決定されて回転制御時刻記憶部22に記憶され、有効フラグが立った状態となる。また同様に、上述した停止固定マージン時間設定処理(図14C)および停止調整マージン時間設定処理(図14D)により、利用時刻記憶部21に利用終了時刻が記憶された全てのHDDについて、対応付けられた論理ユニットに対する回転停止時刻が決定されて回転制御時刻記憶部22に記憶され、有効フラグが立った状態となる。
次に、回転制御時刻決定部12が回転開始時刻と回転停止時刻を決定する動作の具体例について説明する。
本例では、HDD3の数は4とする。すなわちMax=4である。また、開始固定マージン時間を2分、開始調整マージン時間を2分、停止固定マージン時間を3分、停止調整マージン時間を2分、許容時間を1分、最大許容数を2とする。また、論理ユニットの数を3とする。すなわちLmax=2である。図15は、論理ユニット情報記憶部23に記録された論理ユニット情報の一例を示すテーブルである。図16は、利用時刻記憶部21に記憶された利用開始時刻および利用終了時刻の一例を示すテーブルである。
ここでは論理ユニット情報記憶部23に、図15に示した論理ユニット情報が設定され、論理ユニットとHDD3のアドレスが対応づけられているものとする。図15の設定においては、論理ユニット0はHDD[1]とHDD[2]から構成され、論理ユニット1はHDD[3]とHDD[4]から構成されている。論理ユニット2はHDD[1]とHDD[2]から構成される。また、ここでは利用時刻記憶部21に、図16に示した利用開始時刻が記憶されているものとする。
まず、開始固定マージン時間設定処理(ステップC101〜C108)により、HDD[1]からHDD[4]に対応する各論理ユニットの回転開始時刻は、それぞれの利用開始時刻より開始固定マージン時間の2分だけ早い時刻が設定される。また、回転開始時刻が設定された論理ユニットの有効フラグが立つ。図17Aは、第2の実施形態において回転制御時刻記憶部22に設定された情報の第1の例を示すテーブルである。図17Aを参照すると、図16に示した利用開始時刻より2分だけ早い回転開始時刻が設定されている。なお、図中ではフラグが立った状態を”1”、フラグがクリアされた状態を”0”で表す。また、図17A〜17Dでは回転制御時刻記憶部22のユニット使用フラグおよび更新フラグの表記は省略する。
次に、回転制御時刻決定部12がn=1,L=0として(ステップC109)、ステップC110〜C122を実行することにより、回転開始時刻[1,0]は開始調整マージン時間の2分だけ早い時刻となる。
次に、回転制御時刻決定部12は、L=1として(ステップC123〜C124)、ステップC110を実行するが、ここでは回転開始時刻[1,1]は記憶されていないため、L=2に進む(ステップC123〜ステップC124)。
回転開始時刻[1,2]について、回転制御時刻決定部12がステップC110〜C122をm=4となるまで実行すると、回転開始時刻[1,2]はPM10:58のまま変化しない。この後、ステップC123においてL=Lmaxであるので、回転制御時刻決定部12はn=2、L=0として(ステップC125〜C126)、ステップC110〜C124を繰り返す。これにより、回転開始時刻[2,0]はAM8:26、回転開始時刻[2,2]はPM10:58と決定される。
さらに、回転制御時刻決定部12が、n=3および4についてステップC110〜C126を繰り返し実行すると、回転開始時刻[3,1]および回転開始時刻[4,1]の値はAM8:28のまま変わらない。この時点でnがMaxと等しくなるので(ステップC124)、回転制御時刻決定部12は回転開始時刻の決定処理を終了する。この結果、回転制御時刻記憶部22には図17Bに示した値が記憶された状態となる。
次に、停止固定マージン時間処理(ステップC127〜C134)により、HDD[1]からHDD[4]の各論理ユニットに対応する回転停止時刻には、それぞれの利用開始時刻(図16)より停止固定マージン時間の3分だけ遅い時刻が設定される。図17Cは、第2の実施形態において回転制御時刻記憶部22に設定された回転制御時刻の第3の例を示すテーブルである。図17Cを参照すると、回転制御時刻記憶部22には図16に示した利用開始時刻より3分だけ遅い回転停止時刻が記録される。なお、対応する有効フラグは開始固定マージン時間設定処理によって全て立っているので、ここでは有効フラグの状態は変化しない。
次に、回転制御時刻決定部12が停止調整マージン時間処理(ステップC135〜C156)を実行することにより、回転停止時刻はいずれも停止調整マージン時間処理前とおなじ値に決定され、回転開始時刻および回転停止時刻は図17Cの値に決定される。
最終的に決定した図17Cの回転開始時刻および回転停止時刻に応じてHDD3の回転を開始および停止することにより、最大許容数である2個を超える数のHDD3が同時に起動中および停止中になることが無い。起動動作や停止動作の集中を抑え、消費電流が許容されている電流値を超えないようにディスクの回転状態を制御することができる。
なお、本実施形態では1台のHDD3に対して対応する論理ユニットの数だけ回転開始時刻が設定されるが、回転開始命令を受けたHDD3のディスクが既に回転していればディスクを回転した状態を維持するので、ある論理ユニットに対する回転開始命令が他の論理ユニットの領域へのアクセスに影響を及ぼすことは無い。
また、本実施形態では、1台のHDD3に対して対応する論理ユニットの数だけ回転停止時刻が設定されるが、他の論理ユニットの使用のためにHDD3を回転させておく必要があれば回転停止命令を発行しないので、ある論理ユニットに対する回転停止命令が他の論理ユニットの領域へのアクセスに影響を及ぼすことは無い。
また、本実施形態では時刻の処理を分単位で行う例を示したが、本発明はこれに限定されるものではない。他の例として、秒単位などのより細かい単位で時刻処理をおこなってもよい。
以上説明したように、本実施形態によれば、複数のHDD3による記憶領域上に任意に設定した論理ユニットに対して設定された利用開始時刻と利用終了時刻から、アクセス可能にしておく必要のある論理ユニットを含むHDD3のディスクを回転させており、アクセス可能にしておく必要のある論理ユニットを含まないHDD3のディスクを停止させる。そのため、ユーザがHDD3の構成を意識せずに論理ユニットの利用開始時刻および利用終了時刻を設定しても低消費電力化とアクセスに対する速い応答性とを両立させることができる。それに加えて、本実施形態では、各HDD3の回転開始時刻および回転停止時刻を調整して同時に起動動作あるいは停止動作をするHDD3の数を制限するので、消費電力が装置の許容値を超えないようにすることができる。
また、本実施形態では、各論理ユニットの利用開始時刻および利用終了時刻の相互関係から各HDD3の回転開始時刻および回転停止時刻を調整するので、利用開始時刻および利用終了時刻を入力するときにユーザは他の論理ユニットの利用開始時刻および利用終了時刻やHDD3と論理ユニットの関係を考慮する必要が無い。
(第3の実施形態)
図18は、第3の実施形態によるシステムの構成を示すブロック図である。図18に示した第3の実施形態のシステムは、図1に示した第1の実施形態の構成に加え、
処理装置1が状態変化時間学習部15を有し、記憶装置2がマージン時間記憶部24を有している。
起動学習部15は、HDD制御部14がHDD3に回転開始命令を発行するとき、HDD制御部14から命令通知を受けて、時計6から時刻を取得し、命令時刻としてマージン時間記憶部24に記録する。なお、時刻6から取得される時刻は、その時点の現在時刻である。
また、HDD制御部14がHDD3から回転開始命令に対する応答を受けたとき、起動学習部15は、HDD制御部14から応答通知を受けて、時計6から時刻を取得し、応答時刻としてマージン時間記憶部24に記録する。
また、起動学習部15は、命令時刻と応答時刻から、起動時間、開始固定マージン時間、および開始調整マージン時間を算出し、開始マージン時間記憶部24に記録する。
マージン時間記憶部24は、それぞれのHDD3に対する命令時刻、応答時刻、起動時間、開始固定マージン時間、および開始調整マージン時間を記憶する。
HDD制御部14は、HDD3に回転開始命令を発行するとき、その旨の命令通知を起動学習部15に伝える。また、HDD制御部14は、HDD3から回転開始命令に対する応答を受けると、その旨の応答通知を起動学習部15に伝える。
また、本実施形態のHDD3は、HDD制御部14から回転開始命令を受けてディスクの回転を開始し、アクセス可能な状態になると、HDD制御部14に応答を返すものとする。
以降の説明では、複数のHDD3に対して、HDD3を識別するための数字xを用いて、個々のHDD3をHDD[x]と記す。また、HDD3の全台数をMaxで表す。すなわち個々のHDD3をHDD[1]からHDD[Max]で表す。また、HDD[x」の命令時刻を命令時刻[x]、HDD[x」の応答時刻を応答時刻[x]、HDD[x」の起動時間を起動時間[x]、HDD[x」の開始固定マージン時間を開始固定マージン時間[x]、HDD[x]の開始調整マージン時間を開始調整マージン時間[x]と表す。図19は、第3の実施形態においてマージン時間記憶部24に記憶される情報を示すテーブルである。上述した用語を用いると、マージン時間記憶部24に記憶される情報は図19に示したようになる。
以上に説明した以外の構成については、第3の実施形態のシステムは第1の実施形態と同様である。
次に、本実施形態のシステムの全体動作について、主に第1の実施形態との相違点を説明する。図20は、第3の実施形態におけるHDD制御処理を示すフローチャートである。
図20のフローチャートを参照すると、図5に示した第1の実施形態におけるHDD制御処理のフローチャートとステップB6以降の処理が異なる。ステップB6において回転制御時刻[Next]が回転開始時刻であれば、時刻判断部13はHDD制御部14を通して該当するHDDに回転開始命令を発行する(ステップB7)。回転開始命令を受けたHDD制御部14は起動学習部15に命令通知を送る(ステップB20)。HDD制御部14が起動学習部15に送る命令通知には、どのHDDに回転開始命令を発行したかを示す情報が含まれている。
起動学習部15は、命令通知を受けると、時計6から時刻を取得し、マージン時間記憶部24の該当するHDDの命令時刻領域に記憶する(ステップB21)。
ステップB6において、回転制御時刻[Next]が回転停止時刻であれば、時刻判断部13はHDD制御部14を通して該当するHDDに回転停止命令を発行する(ステップB8)。
回転制御時刻[Next]に対応するHDD3が複数あれば、時刻判断部13は、ステップB6に戻って、該当する全てのHDD3についてステップB7、B20、B21、およびB8の処理を繰り返す(ステップB22)。
全ての回転制御時刻[Next]に対して回転開始命令もしくは回転停止命令を発行すると、時刻判断部13は、回転開始命令を1つでも発行していれば(ステップB23)、HDD3からの応答を待つ(ステップB24)。そして、HDD制御部14は、HDD3から応答を受けると(ステップB25)、起動学習部15に応答通知を送る。HDD制御部14が起動学習部15に送る応答通知には、どのHDDから応答が有ったかを示す情報が含まれている。起動学習部15は応答通知を受けると、時計6から時刻を取得し、マージン時間記憶部24の該当するHDDの応答時刻領域に記憶する(ステップB26)。
次に、起動学習部15は、マージン時間記憶部24に記憶された応答時刻から命令時刻を引いて起動時間を算出し、マージン時間記憶部24の該当するHDDの起動時間領域に記憶する(ステップB27)。
次に、起動学習部15は、マージン時間記憶部24に記憶された起動時間に開始固定マージン補正時間を足して開始固定マージン時間を算出し、マージン時間記憶部24の該当するHDD3の開始固定マージン時間領域に記憶する(ステップB28)。開始固定マージン補正時間は、予め設定された時間であり、全てのHDD3に対して同じ時間でよい。
次に、起動学習部15は、マージン時間記憶部24に記憶された起動時間に、開始調整マージン補正時間を足して開始調整マージン時間を算出し、マージン時間記憶部24の該当するHDD3の開始調整マージン時間領域に記憶する(ステップB29)。開始調整マージン補正時間は、予め設定された時間であり、全てのHDD3に対して同じ時間でよい。
次に、発行した全ての回転開始命令に対する応答があった状態であれば(ステップB30)、ステップB1に移行する。ステップ25で応答が無い場合と、ステップB30でまだ応答を受けていない回転開始命令が残っている場合はステップB24に移行する。
図20に示したHDD制御処理により、一度でも回転開始命令が発行されたHDD3に対して、実測に基づく開始固定マージン時間と開始調整マージン時間が設定される。
なお、本実施形態における回転制御時刻決定処理のフローチャートは、図4に示した第1の実施形態のものと同じである。
また、本実施形態において、回転制御時刻決定部12が回転開始時刻と回転停止時刻を決定する回転制御時刻設定処理のフローチャートは、図6A〜6Dに示した第1の実施形態におけるものと同じである。
ただし、図6AのステップC3において使用される開始固定マージン時間と、図6BのステップC14において使用される開始調整マージン時間とについては開始マージン時間記憶部24に記憶されたHDD3毎の値を用いる。
なお、マージン時間記憶部24に開始固定マージン時間もしくは開始調整マージン時間が記憶されていなければ、予め設定された値を用いる。予め設定しておく開始固定マージン時間および開始調整マージン時間は、各HDD3のディスクの起動にかかる最大の時間よりも大きな値としておけばよい。
図21は、第3の実施形態においてマージン時間記憶部24に記憶される情報の具体例を示すテーブルである。本例では、HDD3の数は4とする。すなわちMax=4である。また、開始固定マージン補正時間を1分、開始調整マージン補正時間を1分とする。
図21は、HDD[1]とHDD[2]のそれぞれに対して1度以上の回転開始命令が発行され、図20のステップB5〜B30が実行された例を示している。
本例では、HDD[1]とHDD[2]はいずれも命令時刻がAM8:25と同じであるが、応答時刻についてはHDD[1]がAM8:26で、HDD[2]がAM8:28と異なっている。これより、HDD[1]は起動時間が1分で、HDD[2]は起動時間が3分である。すなわち、HDD[2]はHDD[1]よりもディスクの起動に要する時間が長いことを意味する。図20に示した本実施形態の回転制御時刻決定処理により、HDD[2]の開始固定マージン時間および開始調整マージン時間は、HDD[1]の開始固定マージン時間および開始調整マージン時間よりも2分ずつ長く設定される。
なお、本実施形態では実測に基づいて開始固定マージン時間と開始調整マージン時間を学習する例を示したが、同様の方法で停止固定マージン時間と停止調整マージン時間を学習することもできる。その場合、回転停止命令に対する応答をHDD制御部14で受けると、状態変化時間学習部15が回転停止に要する時間(停止時間)を計算し、それに補正値(停止固定マージン補正時間および停止調整マージン補正時間)を加算することで停止固定マージン時間および停止調整マージン時間を算出することができる。
また、本実施形態では時刻の処理を分単位で行う例を示したが、本発明はこれに限定されるものではない。他の例として、秒単位などのより細かい単位で時刻処理を行ってもよい。
以上説明したように、本実施形態によれば、状態変化時間学習部15が各HDD3の起動時間(停止時間)を実測して、HDD3毎にマージン時間を算出し、回転制御時刻決定部12がそのマージン時間を用いて回転制御時刻を決定するので、HDD3によってディスクの起動時間が異なっていても、各HDD3のディスク状態を適切な時刻に制御することができる。その結果、低消費電力化とアクセスに対する速い応答性を両立すると共に、HDD3が同時に起動動作をすることにより消費電力が装置の許容値を超えるのを防止できる。
第1の実施形態によるシステムの構成を示すブロック図である。 第1の実施形態において利用時刻記憶部21に記録された情報を示すテーブルである。 第1の実施形態において回転制御時刻記憶部22に記録された情報を示すテーブルである。 第1の実施形態における回転制御時刻決定処理を示すフローチャートである。 第1の実施形態におけるHDD制御処理を示すフローチャートである。 図4のステップA4に示した回転制御時刻設定処理の詳細を示すフローチャートである。 図4のステップA4に示した回転制御時刻設定処理の詳細を示すフローチャートである。 図4のステップA4に示した回転制御時刻設定処理の詳細を示すフローチャートである。 図4のステップA4に示した回転制御時刻設定処理の詳細を示すフローチャートである。 第1の実施形態において利用時刻記憶部21に設定された利用時刻の一例を示すテーブルである。 第1の実施形態において回転制御時刻記憶部22に設定された回転制御時刻の第1の例を示すテーブルである。 第1の実施形態において回転制御時刻記憶部22に設定された回転制御時刻の第2の例を示すテーブルである。 第1の実施形態において回転制御時刻記憶部22に設定された回転制御時刻の第3の例を示すテーブルである。 第1の実施形態において回転制御時刻記憶部22に設定された回転制御時刻の第4の例を示すテーブルである。 第1の実施形態において回転制御時刻記憶部22に設定された回転制御時刻の第5の例を示すテーブルである。 第1の実施形態において回転制御時刻記憶部22に設定された回転制御時刻の第6の例を示すテーブルである。 第2の実施形態によるシステムの構成を示すブロック図である。 第2の実施形態において利用時刻記憶部21に記録された情報を示すテーブルである。 第2の実施形態において回転制御時刻記憶部22に記録された情報を示すテーブルである。 第2の実施形態における回転制御時刻決定処理を示すフローチャートである。 第2の実施形態におけるHDD制御処理を示すフローチャートである。 図12のステップA11に示した回転制御時刻設定処理の詳細を示すフローチャートである。 図12のステップA11に示した回転制御時刻設定処理の詳細を示すフローチャートである。 図12のステップA11に示した回転制御時刻設定処理の詳細を示すフローチャートである。 図12のステップA11に示した回転制御時刻設定処理の詳細を示すフローチャートである。 論理ユニット情報記憶部23に記録された論理ユニット情報の一例を示すテーブルである。 第2の実施形態において利用時刻記憶部21に設定された利用時刻の一例を示すテーブルである。 第2の実施形態において回転制御時刻記憶部22に設定された情報の第1の例を示すテーブルである。 第2の実施形態において回転制御時刻記憶部22に設定された回転制御時刻の第2の例を示すテーブルである。 第2の実施形態において回転制御時刻記憶部22に設定された回転制御時刻の第3の例を示すテーブルである。 第3の実施形態によるシステムの構成を示すブロック図である。 第3の実施形態においてマージン時間記憶部24に記憶される情報を示すテーブルである。 第3の実施形態におけるHDD制御処理を示すフローチャートである。 第3の実施形態においてマージン時間記憶部24に記憶される情報の具体例を示すテーブルである。
符号の説明
1 処理装置
2 記憶装置
3 HDD
4 ホスト
5 入力装置
6 時計
11 利用時刻設定部
12 回転制御時刻決定部
13 時刻判断部
14 HDD制御部
15 状態変化時間学習部
21 利用時刻記憶部
22 回転制御時刻記憶部
23 論理ユニット情報記憶部
24 マージン時間記憶部
A1〜A5、A10、A11、B1〜B13、C1〜C42、C101〜C156 ステップ

Claims (12)

  1. ディスクアレイに備えられた複数のハードディスクドライブのディスク状態を各々に制御するディスクアレイ制御装置であって、
    利用の開始および停止に関する予め設定された時刻情報に基づいて前記複数のハードディスクドライブの各々のディスク状態を制御する制御時刻を求め、求めた該制御時刻を該制御時刻同士の相互関係に基づいて調整する回転制御時刻決定部と、
    前記回転制御時刻決定部により決定された前記制御時刻にハードディスクドライブのディスク状態を制御するハードディスクドライブ制御部と、を有するディスクアレイ制御装置。
  2. 前記複数のハードディスクドライブによる記憶領域上に任意の論理ユニットが設定されており、
    前記予め設定された時刻情報は前記論理ユニットに対応付けて設定された利用時刻であり、
    前記回転制御時刻決定部は、前記ハードディスクドライブと前記論理ユニットの対応付けと、前記論理ユニットに対して設定された利用時刻および該利用時刻の相互関係とから、前記ハードディスクドライブの各々の前記制御時刻を決定する、請求項1に記載のディスクアレイ制御装置。
  3. 前記利用時刻には利用開始時刻と利用終了時刻が含まれ、
    前記回転制御時刻決定部は、設定された前記利用開始時刻から前記利用終了時刻の間は対応するハードディスクドライブを回転状態にし、かつ同時にディスク状態を変化させるハードディスクドライブの数を制限するように、前記ハードディスクドライブの各々の前記制御時刻を決定する、請求項1または2に記載のディスクアレイ制御装置。
  4. 前記ハードディスクドライブ制御部による制御で前記ハードディスクドライブのディスク状態の変化が開始されてから終了するまでに要した状態変化時間を測定する状態変化時間学習部を更に有し、
    前記回転制御時刻決定部は、前記ハードディスクドライブの各々の前記制御時刻を決定するとき、前記状態変化時間学習部で測定された前記状態変化時間を利用する、請求項1から3のいずれか1項に記載のディスクアレイ制御装置。
  5. ディスクアレイに備えられた複数のハードディスクドライブのディスク状態を各々に制御するためのディスクアレイ制御方法であって、
    利用の開始および停止に関する予め設定された時刻情報に基づいて前記複数のハードディスクドライブの各々のディスク状態を制御する制御時刻を求め、求めた該制御時刻を該制御時刻同士の相互関係に基づいて調整し、
    決定された前記制御時刻にハードディスクドライブのディスク状態を制御する、ディスクアレイ制御方法。
  6. 前記複数のハードディスクドライブによる記憶領域上に任意の論理ユニットが設定されており、前記予め設定された時刻情報は前記論理ユニットに対応付けて設定された利用時刻であり、
    前記ハードディスクドライブと前記論理ユニットの対応付けと、前記論理ユニットに対して設定された利用時刻および該利用時刻の相互関係とから、前記ハードディスクドライブの各々の前記制御時刻を決定する、請求項5に記載のディスクアレイ制御方法。
  7. 前記利用時刻として利用開始時刻と利用終了時刻が設定され、
    設定された前記利用開始時刻から前記利用終了時刻の間は対応するハードディスクドライブを回転状態にし、かつ同時にディスク状態を変化させるハードディスクドライブの数を制限するように、前記ハードディスクドライブの各々の前記制御時刻を決定する、請求項5または6に記載のディスクアレイ制御方法。
  8. 前記ハードディスクドライブのディスク状態の変化が開始されてから終了するまでに要した状態変化時間を測定し、
    測定された前記状態変化時間を、前記ハードディスクドライブの各々の前記制御時刻を決定するときに利用する、請求項5から7のいずれか1項に記載のディスクアレイ制御方法。
  9. コンピュータを、ディスクアレイに備えられた複数のハードディスクドライブのディスク状態を各々に制御するディスクアレイ制御装置として動作させるためのプログラムであって、
    利用の開始および停止に関する予め設定された時刻情報に基づいて前記複数のハードディスクドライブの各々のディスク状態を制御する制御時刻を求め、求めた該制御時刻を該制御時刻同士の相互関係に基づいて調整する手順と、
    決定された前記制御時刻にハードディスクドライブのディスク状態を制御する手順と、をコンピュータに実行させるためのプログラム。
  10. 前記複数のハードディスクドライブによる記憶領域上に任意の論理ユニットが設定されており、前記予め設定された時刻情報は前記論理ユニットに対応付けて設定された利用時刻であり、
    前記ハードディスクドライブと前記論理ユニットの対応付けと、前記論理ユニットに対して設定された利用時刻および該利用時刻の相互関係とから、前記ハードディスクドライブの各々の前記制御時刻を決定する、請求項9に記載のプログラム。
  11. 前記利用時刻として利用開始時刻と利用終了時刻が設定され、
    設定された前記利用開始時刻から前記利用終了時刻の間は対応するハードディスクドライブを回転状態にし、かつ同時にディスク状態を変化させるハードディスクドライブの数を制限するように、前記ハードディスクドライブの各々の前記制御時刻を決定する、請求項9または10に記載のプログラム。
  12. 前記ハードディスクドライブのディスク状態の変化が開始されてから終了するまでに要した状態変化時間を測定し、
    測定された前記状態変化時間を、前記ハードディスクドライブの各々の前記制御時刻を決定するときに利用する、請求項9から11のいずれか1項に記載のプログラム。
JP2006184368A 2006-07-04 2006-07-04 ディスクアレイ制御装置、方法、およびプログラム Expired - Fee Related JP4984689B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006184368A JP4984689B2 (ja) 2006-07-04 2006-07-04 ディスクアレイ制御装置、方法、およびプログラム
US11/822,201 US20080007860A1 (en) 2006-07-04 2007-07-03 Disk array control apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006184368A JP4984689B2 (ja) 2006-07-04 2006-07-04 ディスクアレイ制御装置、方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2008015662A true JP2008015662A (ja) 2008-01-24
JP4984689B2 JP4984689B2 (ja) 2012-07-25

Family

ID=38918912

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006184368A Expired - Fee Related JP4984689B2 (ja) 2006-07-04 2006-07-04 ディスクアレイ制御装置、方法、およびプログラム

Country Status (2)

Country Link
US (1) US20080007860A1 (ja)
JP (1) JP4984689B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010009570A (ja) * 2008-06-27 2010-01-14 Internatl Business Mach Corp <Ibm> マルチパス・データ通信においてエネルギーを節約するためのコンピュータ実行される方法、コンピュータ使用可能なプログラム製品、およびデータ処理システム
JP2010049586A (ja) * 2008-08-25 2010-03-04 Hitachi Ltd フラッシュメモリ搭載ストレージ装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8412876B2 (en) * 2010-06-30 2013-04-02 Felicity Taiwan Corporation Storage device with multiple storage units and control method thereof
WO2012108040A1 (ja) * 2011-02-10 2012-08-16 富士通株式会社 ストレージ制御装置、ストレージ装置、ストレージシステム、ストレージ制御方法、及び、そのプログラム
US9569125B2 (en) * 2015-04-08 2017-02-14 Spectra Logic, Corp. Mapping object interface into a powered storage device system

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0644678A (ja) * 1992-07-28 1994-02-18 Fujitsu Ltd ディスク装置のモータ起動制御方法
JPH09282057A (ja) * 1996-04-18 1997-10-31 Nippon Denki Joho Service Kk システム電源制御装置
JP2001014107A (ja) * 1999-06-14 2001-01-19 Internatl Business Mach Corp <Ibm> 復帰時間予測方法、復帰時間予測装置及びハードディスクドライブ
JP2001291423A (ja) * 2000-04-10 2001-10-19 Matsushita Electric Works Ltd 光源装置
JP2002074811A (ja) * 2000-08-30 2002-03-15 Nec Corp 電源供給制御システム及び電源供給制御方法
JP2002093025A (ja) * 2000-09-20 2002-03-29 Toshiba Corp 磁気ディスク装置およびデータアクセス方法
JP2003085871A (ja) * 2001-09-13 2003-03-20 Sony Corp 情報処理装置および方法、記録再生装置および方法、記録媒体、並びにプログラム
JP2003263247A (ja) * 2002-01-30 2003-09-19 Hewlett Packard Co <Hp> プログラム可能な状態遷移を有するコンピューティング機器
JP2005063591A (ja) * 2003-08-18 2005-03-10 Matsushita Electric Ind Co Ltd ディスクアレイ装置
JP2005157710A (ja) * 2003-11-26 2005-06-16 Hitachi Ltd ドライブの稼働時間を抑止するディスクアレイ
JP2005352746A (ja) * 2004-06-10 2005-12-22 Canon Inc アレイ型記憶装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6233693B1 (en) * 1998-05-06 2001-05-15 International Business Machines Corporation Smart DASD spin-up
JP4325817B2 (ja) * 1999-04-05 2009-09-02 株式会社日立製作所 ディスクアレイ装置
US7007141B2 (en) * 2001-01-30 2006-02-28 Data Domain, Inc. Archival data storage system and method
US6966006B2 (en) * 2002-05-09 2005-11-15 International Business Machines Corporation Adaptive startup policy for accelerating multi-disk array spin-up
US7370220B1 (en) * 2003-12-26 2008-05-06 Storage Technology Corporation Method and apparatus for controlling power sequencing of a plurality of electrical/electronic devices
JP4824374B2 (ja) * 2005-09-20 2011-11-30 株式会社日立製作所 ディスクの回転を制御するシステム
JP4694333B2 (ja) * 2005-09-30 2011-06-08 株式会社日立製作所 計算機システム及びストレージ装置とシステム管理装置並びにディスク装置電源制御方法
US7516348B1 (en) * 2006-02-24 2009-04-07 Emc Corporation Selective power management of disk drives during semi-idle time in order to save power and increase drive life span
JP2007241334A (ja) * 2006-03-03 2007-09-20 Hitachi Ltd ストレージシステム及びその制御方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0644678A (ja) * 1992-07-28 1994-02-18 Fujitsu Ltd ディスク装置のモータ起動制御方法
JPH09282057A (ja) * 1996-04-18 1997-10-31 Nippon Denki Joho Service Kk システム電源制御装置
JP2001014107A (ja) * 1999-06-14 2001-01-19 Internatl Business Mach Corp <Ibm> 復帰時間予測方法、復帰時間予測装置及びハードディスクドライブ
JP2001291423A (ja) * 2000-04-10 2001-10-19 Matsushita Electric Works Ltd 光源装置
JP2002074811A (ja) * 2000-08-30 2002-03-15 Nec Corp 電源供給制御システム及び電源供給制御方法
JP2002093025A (ja) * 2000-09-20 2002-03-29 Toshiba Corp 磁気ディスク装置およびデータアクセス方法
JP2003085871A (ja) * 2001-09-13 2003-03-20 Sony Corp 情報処理装置および方法、記録再生装置および方法、記録媒体、並びにプログラム
JP2003263247A (ja) * 2002-01-30 2003-09-19 Hewlett Packard Co <Hp> プログラム可能な状態遷移を有するコンピューティング機器
JP2005063591A (ja) * 2003-08-18 2005-03-10 Matsushita Electric Ind Co Ltd ディスクアレイ装置
JP2005157710A (ja) * 2003-11-26 2005-06-16 Hitachi Ltd ドライブの稼働時間を抑止するディスクアレイ
JP2005352746A (ja) * 2004-06-10 2005-12-22 Canon Inc アレイ型記憶装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010009570A (ja) * 2008-06-27 2010-01-14 Internatl Business Mach Corp <Ibm> マルチパス・データ通信においてエネルギーを節約するためのコンピュータ実行される方法、コンピュータ使用可能なプログラム製品、およびデータ処理システム
US7958381B2 (en) 2008-06-27 2011-06-07 International Business Machines Corporation Energy conservation in multipath data communications
JP2010049586A (ja) * 2008-08-25 2010-03-04 Hitachi Ltd フラッシュメモリ搭載ストレージ装置

Also Published As

Publication number Publication date
JP4984689B2 (ja) 2012-07-25
US20080007860A1 (en) 2008-01-10

Similar Documents

Publication Publication Date Title
CN100541411C (zh) 具有高功率和低功率磁盘驱动器的独立磁盘冗余阵列(raid)系统
US8316182B2 (en) Hierarchical storage management for database systems
TWI390444B (zh) 具有主處理器與輔助處理器之處理裝置
US9471134B2 (en) Method and apparatus for managing power of a storage system
US7543108B2 (en) Storage system and storage control method achieving both power saving and good performance
JP4984689B2 (ja) ディスクアレイ制御装置、方法、およびプログラム
US7216244B2 (en) Data storage system with redundant storage media and method therefor
US8209498B2 (en) Method and system for transferring duplicate files in hierarchical storage management system
KR102303008B1 (ko) 파일 시스템에서의 플러싱 기법
US8286015B2 (en) Storage array power management using lifecycle information
US7263466B2 (en) Data management system and method
JP2011175642A (ja) 前進および後退デルタを利用するデータの復元
JP2010015446A (ja) ストレージ装置及び電源の制御方法
US20070226402A1 (en) Data management and control system in semiconductor flush memory and semiconductor flush memory accommodation apparatus
US7853769B2 (en) Computer system for managing number of writes for storage medium and control method therefor
US10719118B2 (en) Power level management in a data storage system
JP2002278776A (ja) ジョブ実行制御装置、方法、及びプログラム
JP2020191055A (ja) 瞬断からの回復処理方法及び装置、並びにコンピュータ読み取り可能な記憶媒体
CN111143279B (zh) 一种数据迁移方法、装置、设备及可读存储介质
US8140751B1 (en) Power-aware redundant array of independent disks (PARAID) and related methods
TWI312460B (en) Method for pre-warning the insufficiency of storage space of network storage system
CN111459261A (zh) 磁盘唤醒方法、装置、电子设备及存储介质
US20240111681A1 (en) Last use cache policy
JPH11297083A (ja) 不揮発性メモリを利用したバックアップ記憶装置
JP2013196316A (ja) ディスクアレイ装置及びディスクアレイ装置の制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090612

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110926

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111115

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120215

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120224

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120403

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120416

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: 20150511

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees