JP2005157622A - アイドルシークのためのディスクアレイ装置 - Google Patents

アイドルシークのためのディスクアレイ装置 Download PDF

Info

Publication number
JP2005157622A
JP2005157622A JP2003393643A JP2003393643A JP2005157622A JP 2005157622 A JP2005157622 A JP 2005157622A JP 2003393643 A JP2003393643 A JP 2003393643A JP 2003393643 A JP2003393643 A JP 2003393643A JP 2005157622 A JP2005157622 A JP 2005157622A
Authority
JP
Japan
Prior art keywords
disk drive
disk
idle seek
data
drive
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.)
Withdrawn
Application number
JP2003393643A
Other languages
English (en)
Inventor
Naoki Tojima
直樹 東嶋
Hoshiteru Morita
星輝 森田
Ikuya Yagisawa
育也 八木沢
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2003393643A priority Critical patent/JP2005157622A/ja
Priority to US10/834,084 priority patent/US6985998B2/en
Priority to DE102004028687A priority patent/DE102004028687B4/de
Priority to GB0501949A priority patent/GB2408843B/en
Priority to GB0414190A priority patent/GB2408840B/en
Priority to FR0407225A priority patent/FR2862777B1/fr
Publication of JP2005157622A publication Critical patent/JP2005157622A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • 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/02Control of operating function, e.g. switching from recording to reproducing
    • G11B19/06Control of operating function, e.g. switching from recording to reproducing by counting or timing of machine operations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B21/00Head arrangements not specific to the method of recording or reproducing
    • G11B21/02Driving or moving of heads
    • G11B21/08Track changing or selecting during transducing operation
    • G11B21/081Access to indexed tracks or parts of continuous track
    • G11B21/083Access to indexed tracks or parts of continuous track on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/48Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
    • G11B5/54Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head into or out of its operative position or across tracks
    • G11B5/55Track change, selection or acquisition by displacement of the head
    • G11B5/5521Track change, selection or acquisition by displacement of the head across disk tracks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information

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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】 ディスクアレイ装置において、ドライブのアイドルシークによるホスト装置の処理の中断・遅延を防ぎ、全てのドライブでアイドルシークが定期的に近く実行されるようにする。
【解決手段】 ディスクドライブ23,23、…のそれぞれのアイドルシーク開始予定時刻が近づいたことを予測し、同一パリティグループ内で、2つ以上のドライブ23,23、…が同時にアイドルシークを実行しないように制御する。同一パリティグループ内で、アイドルシーク開始予定時刻が近づいたドライブのうち1つを、事前にアイドルシーク実行中とみなして、事前にデータアクセスを禁止する。アイドルシーク実行中とみなされたドライブ23に対するデータリード要求を受けた場合、同一パリティグループに属する他の全てのドライブ23、23、…からデータをリードして要求されたデータを複製する。
【選択図】図1

Description

本発明は、ディスクアレイ装置内の複数のディスクドライブのアイドルシークを制御するための技術に関する。
ディスクドライブは一般に、微少な塵が特定トラック上に堆積しないようにするために、定期的にヘッドを移動させて微小な塵を吹き飛ばすアイドルシークという機能を備えている。ディスクドライブは通常、前回のアイドルシークの終了時から一定時間以上の時間が経過すると、アイドルシークの開始を試み、その時データアクセスが行われていなければ、アイドルシークを開始する。しかし、その時ちょうどデータアクセスが行われていれば、そのデータアクセスが終わった後に、再度アイドルシークの開始が試みられる。
特許文献1には、節電処理状態にあるときには、アイドルシーク要求があってもアイドルシークを実行しないことにより、CPUのオーバーヘッドを減らすとともに、ディスクドライブの寿命をできるだけ長くするという技術について開示されている。
特開平7−121306号公報
しかし、ディスクアレイ装置において、ディスクドライブへのデータアクセスが頻繁に行なわれていると、ディスクドライブがアイドルシークを試みた時はいつもデータアクセスが行われているという状態が続き、アイドルシークが長い間実行されない場合がある。また、ディスクドライブのアイドルシーク実行中にそのディスクドライブに対するリード要求を上位装置から受信した場合、アイドルシークが終わるまでそのディスクドライブにアクセスできないため上位装置の処理が中断又は遅延するという問題もある。これらの問題は特に大容量ディスクドライブ及び高負荷環境の場合に顕著である。
よって本発明の目的は、ディスクドライブのアイドルシークによって上位装置の処理が遅れることを阻止することにある。
本発明の別の目的は、ディスクドライブのアイドルシークが満遍なく出来る限り定期的に近く実行されるようにすることである。
本発明の一つの観点に従う、上位装置からデータのリード要求に応じて要求されたデータを前記上位装置に提供するディスクアレイ装置は、少なくとも一つのパリティグループに属する複数のディスクドライブであって、各ディスクドライブは前回のアイドルシーク終了時から第1の閾値時間以上の時間が経過するとデータアクセスがない限りアイドルシークを開始するようになっている前記複数のディスクドライブと、前記ディスクドライブと通信するためのディスクインタフェースと、前記上位装置と通信するための上位装置インタフェースと、前記ディスクインタフェース及び前記上位装置インタフェースと接続され、前記ディスクアレイ装置を制御する制御装置とを備える。そして、前記制御装置は、
(1) 前記複数のディスクドライブのそれぞれについてON又はOFFのステータス情報を有し、各ディスクドライブの前記ステータス情報をONとOFFに交互に切り替えるものであって、前記各ディスクドライブの前記ステータス情報をONからOFFに切り替えた後前記第1の閾値時間より短い第2の閾値時間以上の時間が経過した場合、前記各ディスクドライブと同一のパリティグループに属する他の全てのディスクドライブの前記ステータス情報がOFFである場合に、前記各ディスクドライブの前記ステータス情報をOFFからONに切り替え、その後前記各ディスクドライブのアイドルシークが終了してから前記各ディスクドライブの前記ステータス情報をONからOFFに切り替える時間監視部と、
(2) 前記各ディスクドライブの前記ステータス情報がONからOFFに切り替わった後前記第2の閾値時間以上の時間が経過した場合、前記各ディスクドライブと同一のパリティグループに属する他のいずれかのディスクドライブの前記ステータス情報がONである場合には、前記各ディスクドライブに対してダミーアクセスを行うことで前記各ディスクドライブがアイドルシークを開始することを阻止する多重アイドルシーク阻止部と、
(3) 前記上位装置からの前記リード要求に応答して前記ディスクドライブから要求されたデータを読み出す場合において、前記要求されたデータが格納されている対象ディスクドライブの前記ステータス情報がOFFである場合には、前記対象ディスクドライブから前記要求されたデータをリードして前記上位装置に送り、、前記対象ディスクドライブの前記ステータス情報がONである場合には、前記対象ディスクドライブに対してデータアクセスを行なわず、前記対象ディスクドライブと同一のパリティグループに属する他の全てのディスクドライブからデータをリードして前記要求されたデータを複製し、複製された前記要求されたデータを前記上位装置に送るデータアクセス制御部と
を備える。
一つの実施形態においては、前記ステータス情報制御部は、前記複数のディスクドライブのそれぞれについて、前記ステータス情報と、前記ステータス情報をONからOFFに前回切り替えた時からの経過時間とを、それぞれのディスクドライブの識別情報及びそれが属するパリティグループの識別情報と関連づけて記憶しているドライブ管理テーブルを有し、前記ドライブ管理テーブルを参照することにより、前記各ディスクドライブの前記ステータス情報をOFFからONに切り替えるか否かを判断する。
本発明の別の観点に従う、少なくとも一つのパリティグループに属する複数のディスクドライブを備え、各ディスクドライブは所定の時間的スケジュールに従って、データアクセスがない限り、アイドルシークを開始するようになっているディスクアレイ装置は、同一のパリティグループ内では、多くても1つのディスクドライブのみがアイドルシークを実行し、同時に2つ以上のディスクドライブがアイドルシークを実行しないよう、前記複数のディスクドライブを制御する多重アイドルシーク阻止部と、アイドルシークを実行中のディスクドライブに対するデータリード要求を受けた場合、前記アイドルシークを実行中のディスクドライブと同一のパリティグループに属する他の全てのディスクドライブからデータをリードして要求されたデータを複製するデータリード制御手段とを備える。
一つの実施形態においては、前記所定の時間的スケジュールに従ってアイドルシークを開始すると予測されるディスクドライブを事前に検出するアイドルシーク開始予測部が更に備えられる。そして、前記多重アイドルシーク阻止部は、前記アイドルシーク開始予測部によって前記アイドルシークを開始すると予測されるディスクドライブが検出された場合において、前記検出されたディスクドライブと同一パリティグループ内の他のドライブがアイドルシークを実行中である場合には、前記検出されたディスクドライブに対してダミーアクセスを行なうことにより前記検出されたディスクドライブがアイドルシークを開始しないようにする。
一つの実施形態においては、前記データリード制御手段は、前記アイドルシーク開始予測部によって前記アイドルシークを開始すると予測されるディスクドライブが検出された場合において、前記検出されたディスクドライブと同一パリティグループ内の他のいずれのディスクドライブもアイドルシークを実行中でない場合には、前記検出されたディスクドライブがアイドルシークを実行中であるとみなし、その後前記検出されたディスクドライブがアイドルシークを終了するまでは、前記検出されたディスクドライブに対するデータリード要求を受けた場合、前記検出されたディスクドライブと同一のパリティグループに属する他の全てのディスクドライブ内のデータから要求されたデータを複製する。
本発明のまた別の観点に従う、少なくとも一つのパリティグループに属する複数のディスクドライブを備えたディスクアレイ装置は、同一のパリティグループ内で、所定の時間的スケジュールに従って、データアクセスのない多くても1つのディスクドライブがアイドルシークを実行するよう、前記複数のディスクドライブを制御するアイドルシーク制御部と、アイドルシークを実行中のディスクドライブに対するデータリード要求を受けた場合、前記アイドルシークを実行中のディスクドライブと同一のパリティグループに属する他の全てのディスクドライブからデータをリードして要求されたデータを複製するデータリード制御手段とを備える。
一つの実施形態においては、前記アイドルシーク制御部は、同一のパリティグループ内で、前回のアイドルシークの終了から所定時間以上の時間が経過した多くても1つのディスクドライブが、データアクセスがない限り、アイドルシークを実行するように、前記ディスクドライブを制御する。
本発明の更に別の観点に従う、時間を計測し、計測した時間に基づき所定の時間的スケジュールに従って、データアクセスがない限り、アイドルシークを開始するようになっているディスクドライブは、外部装置に対して、アイドルシークを実行しているか否かのステータス情報を通知するステータス情報通知部と、前記外部装置に対して、前記計測した時間を通知する時間通知部とを備える。
一つの実施形態では、前記外部装置から命令を受けて、所定の時間的スケジュールに拘らず強制的に、アイドルシークを開始する又は開始しないようにするアイドルシーク外部制御部が更に備えられる。
本発明の更にまた別の観点に従う、ディスクアレイ装置におけるアイドルシークを制御する方法は、上位装置からデータのリード要求に応じて要求されたデータを前記上位装置に提供するディスクアレイ装置であって、少なくとも一つのパリティグループに属する複数のディスクドライブであって、各ディスクドライブは前回のアイドルシーク終了時から第1の閾値時間以上の時間が経過するとデータアクセスがない限りアイドルシークを開始するようになっている前記複数のディスクドライブと、前記ディスクドライブと通信するためのディスクインタフェースと、前記上位装置と通信するための上位装置インタフェースと、前記ディスクインタフェース及び前記上位装置インタフェースと接続され、前記ディスクアレイ装置を制御する制御装置とを備えたディスクアレイ装置に適用される。この制御方法は、
(1) 前記複数のディスクドライブのそれぞれについてON又はOFFのステータス情報を記憶するステップと、
(2) 各ディスクドライブの前記ステータス情報がONからOFFに切り替わった後前記第1の閾値時間より短い第2の閾値時間以上の時間が経過した場合、前記各ディスクドライブと同一のパリティグループに属する他の全てのディスクドライブの前記ステータス情報がOFFである場合に、前記各ディスクドライブの前記ステータス情報をOFFからONに切り替えるステップと、
(3) 前記各ディスクドライブの前記ステータス情報がOFFからONに切り替わった後、前記各ディスクドライブのアイドルシークが終了してから前記各ディスクドライブの前記ステータス情報をONからOFFに切り替えるステップと、
(4) 前記各ディスクドライブの前記ステータス情報がONからOFFに切り替わった後前記第2の閾値時間以上の時間が経過した場合、前記各ディスクドライブと同一のパリティグループに属する他のいずれかのディスクドライブの前記ステータス情報がONである場合には、前記各ディスクドライブに対してダミーアクセスを行うことで前記各ディスクドライブがアイドルシークを開始することを阻止するステップと、
(5) 前記上位装置からの前記リード要求に応答して前記ディスクドライブから要求されたデータを読み出す場合において、前記要求されたデータが格納されている対象ディスクドライブの前記ステータス情報がOFFである場合には、前記対象ディスクドライブから前記要求されたデータをリードして前記上位装置に送るステップと、
(6) 前記上位装置からの前記リード要求に応答して前記ディスクドライブから要求されたデータを読み出す場合において、前記対象ディスクドライブの前記ステータス情報がONである場合には、前記対象ディスクドライブに対してデータアクセスを行なわず、前記対象ディスクドライブと同一のパリティグループに属する他の全てのディスクドライブからデータをリードして前記要求されたデータを複製し、複製された前記要求されたデータを前記上位装置に送るステップと
を有する。
本発明のまた更に別の観点に従う、ディスクアレイ装置におけるアイドルシークを制御する方法は、少なくとも一つのパリティグループに属する複数のディスクドライブを備え、各ディスクドライブは所定の時間的スケジュールに従って、データアクセスがない限り、アイドルシークを開始するようになっているディスクアレイ装置に適用される。この制御方法は、同一のパリティグループ内では、多くても1つのディスクドライブのみがアイドルシークを実行し、同時に2つ以上のディスクドライブがアイドルシークを実行しないよう、前記複数のディスクドライブを制御するステップと、アイドルシークを実行中のディスクドライブに対するデータリード要求を受けた場合、前記アイドルシークを実行中のディスクドライブと同一のパリティグループに属する他の全てのディスクドライブからデータをリードして要求されたデータを複製するステップとを有する。
本発明のまた更に別の観点に従う、少なくとも一つのパリティグループに属する複数のディスクドライブを備えたディスクアレイ装置における、前記複数のディスクドライブのアイドルシークを制御する方法は、同一のパリティグループ内で、所定の時間的スケジュールに従って、データアクセスのない多くても1つのディスクドライブがアイドルシークを実行するよう、前記複数のディスクドライブを制御するステップと、アイドルシークを実行中のディスクドライブに対するデータリード要求を受けた場合、前記アイドルシークを実行中のディスクドライブと同一のパリティグループに属する他の全てのディスクドライブからデータをリードして要求されたデータを複製するステップとを有する。
本発明によれば、同一パリティグループ内では多くても1つのディスクドライブだけがアイドルシークを実行して、他のディスクドライブが同時にアイドルシークを実行しないようにし、そして、アイドルシーク中のディスクドライブに対してデータアクセス要求があった場合、同一のパリティグループに属する他のディスクドライブからリードしたデータにより要求されたデータを複製するので、ディスクドライブのアイドルシークによって上位装置の処理が遅れることを阻止することができる。
また、所定の時間的スケジュールに従ってアイドルシークが開始されるディスクドライブを事前に把握して、同一パリティグループ内の他のいずれのディスクドライブもアイドルシーク実行中でない限り、その検出されたディスクドライブを事前にアイドルシークを開始したものとみなして、その検出されたディスクドライブへのデータアクセスを停止し、同一のパリティグループに属する他のディスクドライブからリードしたデータからその検出されたディスクドライブのデータを複製するようにした場合には、ディスクドライブのアイドルシークが出来る限り定期的に近く実行されるようになる。
以下、本発明によるディスクアレイ装置の実施形態について説明する。
図1は、本発明の一実施形態に係るディスクアレイ装置の概略構成図である。
ディスクアレイ装置1は、ホストインターフェース(以下、ホストI/Fという)3を介して1又は複数のホスト装置5に接続されている。ディスクアレイ装置1とホスト装置5とは、例えば、SCSI(Small Computer System Interface)、ファイバチャネルなどのインターフェースを介して接続可能である。
ディスクアレイ装置1は、キャッシュメモリ9と、データ制御メモリ11と、1又は複数のCPU7と、ドライブインターフェース(以下、ドライブI/Fという)21と、ドライブI/F21に接続された複数のディスクドライブ(以下、単にドライブという)23、23、・・・を備える。
ホストI/F3は、主に、ホスト装置5との通信、例えば、ホスト装置5に対するデータアクセス要求等のコマンド及びそれに対する応答並びにリード・ライト対象のデータの受信と送信などを行なう。ドライブI/F21は、ドライブ23、23、・・・との通信、例えば、ドライブ23、23、・・・に対するデータアクセス等のコマンド及びリード・ライト対象のデータの受信と送信などを行なう。
CPU7は、ホスト装置5からのデータアクセス要求等のコマンドの解釈及び処理、並びに、このディスクアレイ装置1の全体の制御を行なうものである。CPU7は、また、本発明に従ったドライブ23、23、・・・のアイドルシークの制御も行なう。
キャッシュメモリ9は、ホスト装置5から受信されたデータ及びドライブ23、23、・・・から読み込まれたデータが、一時的に格納される。例えば、このディスクアレイ装置1がホスト装置5から、あるドライブ23内のデータのリード要求を受信すると、キャッシュメモリ9に該当データがあるかどうかがチェックされ、キャッシュメモリ9に該当データが存在しない場合、そのドライブ23からそのデータがキャッシュメモリ9に読み込まれて、キャッシュメモリ9からホスト装置5へ送られる。
データ制御メモリ11は、CPU7により実行される各種プログラム及びCPU11により参照及び更新される管理用又は制御用の各種テーブルが格納される。そのうち、特に本発明に従うアイドルシークの制御のためのプログラム及びテーブルとして、RAID制御プログラム13、コマンド発行制御プログラム15と、時間監視プログラム17と、ドライブ管理テーブル19とがある。RAID制御プログラム13、コマンド発行制御プログラム15、時間監視プログラム17の機能と動作については後に詳細に説明する。
複数のドライブ23、23、・・・の各々は、時間を計測し、計測した時間に基づいて、所定の時間的スケジュールに従って、データアクセスがなされていない限り、自主的にアイドルシークを開始するようになっている。より具体的には、各ドライブ23は、そのドライブに対する前回のアイドルシーク終了時間からの経過時間を自主的に計測しており、その経過時間が所定の閾値時間以上になると、自主的にアイドルシークの開始を試み、その時点でデータアクセスがなされていなければ、アイドルシークを開始する。一方、アイドルシークの開始を試みた時点でデータアクセスがなされていれば、各ドライブ23は、短いインターバル後のアイドルシークの開始を再度試み、その時点でデータアクセスが行われていなければ、アイドルシークを開始する。ところで、アイドルシークにはシークのやり方が異なる複数の種類があり、それぞれの種類のアイドルシークはそれぞれ固有の時間的スケジュールに従って、上記のように行われるようになっている。それら複数種類のアイドルシークのそれぞれに関して、後に詳述する本発明の原理に従う制御が並行的に行われ得る。
各ドライブ23は、通常、それぞれが自主的に行っている上述したアイドルシークの時間的スケジュールの進捗状況(例えば、アイドルシーク終了時からの経過時間など)とアイドルシークを実際に実行しているか否かというステータスを、外部装置へ通知するためのインタフェースをもたない。従って、CPU11は、後に説明するように、各ドライブ23のアイドルシークの時間的スケジュールの進捗状況(例えば、アイドルシーク終了時からの経過時間など)とアイドルシークを実際に実行しているか否かというステータスとを、外部から推測して(換言すれば、各ドライブ23が行っているアイドルシークのスケジューリングのための時間計測をシミュレートして)、その推測つまりシミュレートの結果に基づいて、各ドライブ23を制御するようになっている。
また、複数のドライブ23、23、・・・は、所定数のドライブ毎にRAIDの原理に従がうパリティグループを構成する。図2は、一例として3D+1P形式のパリティグループにおけるデータの格納方法を示す。図2Aに示すように、4つのディスクドライブ毎に3D+1P形式のパリティグループPGが構成される。図2Bに示すように、同じパリティグループに属する4つのドライブ23、23、・・・の記憶領域は、4つのドライブ23、23、・・・の全てにまたがる「データストライプ」と呼ばれる多数の小領域に区分される。一つのデータストライプは、4つのドライブ23、23、・・・にそれぞれ含まれる4つの小領域(以下、「データブロック」という)から構成される。1つのデータストライプを構成する4つのデータブロックのうち、3つのデータブロックにはホスト装置5によるアクセス対象である対象データが格納され、もう1つのデータブロックには、その対象データから作られたパリティデータが格納される。例えば、図2B中の一番上に示されたデータストライプでは、B1、B2、B3が対象データであり、P(1〜3)がB1、B2、B3から作成されたパリティデータである。この3つの対象データと1つのパリティデータとは、いずれのデータも他の3つのデータから複製することができるという関係をもつ。従って、同じパリティグループにおいては、4つのドライブ23、23、・・・内の各ドライブ23のデータは、他の3つのドライブ23、23、・・・のデータから複製することができる。ところで、上述した4つのドライブから構成される形式のパリティグループは単なる例示にすぎず、別の個数のドライブから構成される他の形式のパリティグループも採用し得る。いずれの形式であっても、同一パリティグループ内では、いずれのドライブデータも他の全てのドライブのデータから複製できることが、パリティグループがもつ利点の一つである。この利点は、以下に説明するように、本発明の原理に従うアイドルシークの制御に利用される。
図3に、ドライブ管理テーブル19の構成例を示す。ドライブ管理テーブル19には、このディスクアレイ装置1が有する全てのドライブ23,23、…のそれぞれについて、そのドライブが属するパリティグループを識別するための識別情報、例えばパリティグループ番号と、そのドライブを識別するための識別情報、例えばドライブ番号と、ステータス情報がONからOFFに前回切り替わった時刻からの経過時間と、ステータス情報が記憶されている。ここで、ステータス情報は、ONとOFFのいずれかの値をとる。ステータス情報のONは、対応するドライブ23でアイドルシークが実行中であるとCPU11がみなしている(推測している)こと、または、対応するドライブ23がアイドルシークを実行することをCPU11が許可していることを意味する。逆に、ステータス情報のOFFは、対応するドライブ23でアイドルシークが実行されていないとCPU11がみなしている(推測している)こと、または、対応するドライブ23がアイドルシークを実行することをCPU11が禁止していることを意味する。ドライブ管理テーブル19は、主に、後述する時間監視プログラム17によって更新され、参照される。後述するように、時間監視プログラム17によって、経過時間が計測され、その経過時間に基づくタイミングでステータス情報をONからOFF及びその逆へ切り替える操作が行われ、そして、RAID制御プログラム13及びコマンド発行制御プログラム15によって、ドライブ23、23、・・・のステータス情報に基づいて、ドライブ23へのデータアクセスが制御される。これにより、ドライブ23、23、・・・が自主的に制御しているアイドルシークを開始するスケジュールが適切に調整される。
以下、RAID制御プログラム13、コマンド発行制御プログラム15及び、時間監視プログラム17を実行することでCPU11が行なう制御動作について詳細に説明する。
図4は、RAID制御プログラム13、コマンド発行制御プログラム15及び時間監視プログラム17の相互関係を示す。
RAID制御プログラム13は、ホスト装置5からデータアクセス(データリード及びデータライト)を要求するホストコマンド31を受け、これを解釈し、どのディスクのどの記憶領域のデータをリード又はライトするかという内部コマンド33をコマンド発行制御プログラム15に送る。コマンド発行制御プログラム15は、内部コマンド33に応じて、ドライブ23にデータをリード又はライトするためのドライブコマンド35を送る。アクセス対象のドライブ23は、ドライブコマンド35に応じた動作を行ない、その結果としてドライブコマンド35に対するドライブ応答37をコマンド発行プログラム15に返す。特に、ドライブコマンド35がデータリードを要求した場合、それに対するドライブ応答37にはリードされたデータ(リードデータ)が含まれる。
コマンド発行制御プログラム15は、内部コマンド33に対する内部応答39をRAID制御プログラム13に返す。特に、内部コマンド33がデータリードを要求した場合、それに対する内部応答39には、上記リードデータが含まれる。この場合、図示省略されているが、リードデータは、コマンド発行制御プログラム15によって、一旦キャッシュメモリ9に書き込まれ、そして、RAID制御プログラム13によってキャッシュメモリ9が読み出されることになる。RAID制御プログラム13は、ホストコマンド31に対するホスト応答41をホスト装置5へ返す。特に、ホストコマンド31がデータリードを要求した場合、これに対するホスト応答41には、上記リードされたデータが含まれる。
以上は、RAID制御プログラム13とコマンド発行制御プログラム15の基本的動作である。この基本的動作に加えてドライブ23、23、23、・・・のアイドルシークを制御するために以下のような動作が行なわれる。
時間監視プログラム17は、常時全てのドライブ23、23、23、・・・のそれぞれのステータス情報をONからOFFに前回切り替えた時刻からの経過時間を計測し、その経過時間43をドライブ管理テーブル19に記録している。この経過時間計測は、例えばそれぞれのドライブ23、23、・・・が電源を投入されて動作を開始する時点と同期して開始され、それにより、それぞれのドライブ23、23、・・・の内部で計測される前回のアイドルシーク終了時からの経過時間と実質的に一致した経過時間を計測することができるようになっている。
RAID制御プログラム13は、ホスト装置5からデータアクセス要求31を受けたとき、それがデータの「リード」の要求である場合、そのリード対象のデータ(以下、対象データという)を持つドライブ(以下、対象ドライブという)23のステータスをチェックするためのステータスチェック指令45を時間監視プログラム17に送る。時間監視プログラム17はステータスチェック指令45に応答して、ドライブ管理テーブル19から対象ドライブ23のステータス情報49を読み、読んだステータス情報47をコマンド発行制御プログラム15に渡す。コマンド発行制御プログラム15は、RAID制御プログラム13から内部コマンド(この場合は、対象ドライブ23に対するデータリード要求)33を受けると共に、時間監視プログラム17から対象ドライブ23のステータス情報47を受ける。
そして、コマンド発行制御プログラム15は、対象ドライブ23のステータス情報がOFFならば(要するに、対象ドライブ23がアイドルシーク実行中でなければ)、その対象ドライブ23内から対象データをリードし、それを上述したように内部応答39として、キャッシュメモリ9を通じてRAID制御プログラム13へ送る。一方、対象のドライブ23のステータスがONであるならば(要するに、対象ドライブ23がアイドルシーク実行中であれば)、コマンド発行制御プログラム15は、対象ドライブ23と同じパリティグループ内の他の3つのドライブ23、23、・・・内の対象データのデータブロックと同じデータストライプに属する3つのデータブロックから3つのデータをリードし、それら3つのデータから対象データを複製し、そして、複製された対象データを内部応答39として、キャッシュメモリ9を通じてRAID制御プログラム13へ送る。RAID制御プログラム13は、コマンド発行制御プログラム15からキャッシュメモリ9を通じて受けた対象データを、ホスト応答41として、ホスト装置5へ送る。従って、ホスト装置5は、対象ドライブ23がアイドルシーク実行中であっても、アイドルシーク終了まで待つことなく、対象データを得ることができる。
また、時間監視プログラム17は、ドライブ管理テーブル19上の全てのドライブ23、23、・・・の前述した経過時間51を監視することにより、ドライブ23、23、・・・内で自主的に制御されている時間的スケジュールに従うアイドルシークの開始予定時が近づいた推定されるドライブを、実際のアイドルシーク開始時より若干時間だけ早期に検出する。この検出方法をより具体的に説明すると次のとおりである。すなわち、既に説明したように、各ドライブ23内の時間的スケジュールによれば、前回のアイドルシーク終了時から所定の閾値時間(以下、基準閾値時間という)以上の時間が経過すると、その時にデータアクセスが行われていない限り、アイドルシークが開始される。そこで、時間監視プログラム17は、ドライブ管理テーブル19上の各ドライブ23の経過時間が、各ドライブ23の上記基準閾値時間より所定時間だけ短く設定された第2の閾値時間(以下、事前閾値時間という)以上になったかどうかをチェックし、そうなったドライブ23を、アイドルシークの開始予定時が近づいたドライブとして検出するのである。
そのようなドライブが検出された場合、時間監視プログラム17は、その検出されたドライブと同じパリティグループ内の他のドライブについて、ドライブ管理テーブル19上のステータス情報52を参照して、それがONであるか(要するに、他のドライブがアイドルシーク実行中か)否かをチェックする。その結果、同一パリティグループ内の他のドライブにステータスがONであるドライブが無い(つまり、他のいずれのドライブも、アイドルシーク実行中でない)場合、時間監視プログラム17は、検出されたドライブのステータス情報をOFFからONに変更する(つまり、アイドルシークが実際に開始されるより前に、アイドルシーク実行中とみなす)(53)。その結果、上述したコマンド発行制御プログラム15によるデータアクセス制御によって、アイドルシーク実行中とみなされたその検出されたドライブへのデータアクセスは回避されるので、その検出されたドライブが自主的にアイドルシークを開始することが保証される。なお、時間監視プログラム17は、検出されたドライブのステータス情報をOFFからONに変更した後、その検出されたドライブがアイドルシークを実際に開始してそれが終了したと推定される時刻になると(例えば、計測している経過時間が、上述した基準閾値時間に所定のアイドルシーク所要時間を加えた値に達したとき)、検出されたドライブのステータス情報を再びOFFに戻す(53)。
一方、検出されたドライブと同一パリティグループ内の他のいずれかのドライブのステータス情報がONである(要するに、他のいずれのドライブがアイドルシーク実行中である)場合は、時間監視プログラム17は、検出されたドライブの識別情報つまりドライブ番号55をコマンド発行制御プログラム15に送る。コマンド発行制御プログラム15は、ドライブ番号55により特定されたドライブ(検出されたドライブ)に所定のコマンド(例えばダミーのアクセスを行なわせるためのダミーアクセスコマンド)57を送って、その検出されたドライブが自主的にアイドルシークを開始することを阻止する。その結果同一パリティグループ内で2以上のドライブが重複してアイドルシークを実行すること(以下、多重アイドルシークという)が生じないようになる。
以上の制御により、1つのパリティグループ内では最大1つのドライブ23のみがアイドルシークを行なえるようになる。そして、ある一つのドライブ23のステータス情報がON(アイドルシーク実行中)である間は、上述したように同一パリティグループの他のドライブ23、23、…からデータを作成して処理を中断することなくリード処理を完了することにより、ドライブ23がアイドルシーク中であることに起因する処理の遅延を防止することができる。
また、同一パリティグループ内にステータス情報がONである他のドライブがない場合に、アイドルシーク開始予定時が近づいたドライブ23のステータス情報がONに変更され、前述したようにステータス情報がONであるドライブ23に対するデータリード要求が来た場合には、同一パリティグループ内の他のドライブ23、23、・・・から対象データが複製され、当該ドライブ23(アイドルシーク開始予定時が近づいているドライブ)へのデータアクセスは阻止されるため、当該ドライブ23は、データアクセスに邪魔されずに、スケジュール通りにアイドルシークを開始することが可能になる。結果として、全てのドライブ23、23、・・・がほぼ満遍なく且つある程度定期的に近い間隔でアイドルシークを行なうことができる。
次に、上述した制御をフローチャートを参照して説明する。
ます、図5を用いてホスト装置5からのデータリード要求を受信した場合の処理の流れについて説明する。
データリード要求の処理において、対象データがキャッシュメモリ9の中に記憶されている場合、キャッシュメモリ9から対象データを取得してホストに送信することができるので、ドライブ23へのデータアクセスを行なう必要はない。図5に示す処理は、キャッシュメモリ9内に対象データが存在せず、よってドライブ23にアクセスする必要がある場合における処理である。
RAID制御プログラム13は、ホスト装置5からデータアクセス要求31を受信する(S1)と、当該データアクセス要求31を解析し、アクセスするドライブ(以下、対象ドライブという)を特定する(S2)。RAID制御プログラム13は、時間監視プログラム17に対象ドライブのステータス情報のチェックを指令する。時間監視プログラム17は、ドライブ管理テーブル19の対象ドライブのステータス情報を読み(S3)、そのステータスをコマンド発行制御プログラム15に通知する。コマンド発行制御プログラム15は、RAID制御プログラム13から図3に示した内部コマンド(この場合は、データリード要求)33を受けると共に、時間監視プログラム17から対象ドライブのステータス情報を受け、ステータス情報がONかOFFかチェックする(S4)。コマンド発行制御プログラム15は、対象ドライブのステータス情報がONであるならば、同一パリティグループ内の他のドライブから対象データと同一データストライプに属するデータを読み、それらのデータに基づいて対象データを複製し、それをRAID制御プログラム13に返す(S5)。対象ドライブのステータス情報がOFFであるならば、コマンド発行制御プログラム15は、対象ドライブから対象データを読み込み、それをRAID制御プログラム15に返す(S6)。対象データを受けたら、RAID制御プログラム13は対象データをホスト装置5に送る(S7)。
ところで、ホスト装置5からデータライト要求を受けた場合には、ライト対象のデータを一旦、キャッシュメモリ9に書き込み、その時点でホスト装置5へのライト完了の応答を返し、その後に、都合のよい時期を選んでにて、ライト対象のデータをキャッシュメモリ9からドライブ23、23、・・・へ書き込むことができる。そのため、アイドルシーク中にドライブへデータが書き込めなくても格別問題がないため、図5に示したような、アイドルシークの制御を行なわなくてよい。
次に、図6を用いて多重アイドルシークを阻止する制御の流れを説明する。
時間監視プログラム17は、各ドライブ23が実行予定時刻(前回のアイドルシーク終了時から上述した基準閾値時間が経過した時)経過後にアイドルシーク開始を繰り返し試すインターバルよりも短いインターバルで、図6に示す処理を周期的に繰り返し実行する。要するに、図6に示す処理は実質的に常時繰り返し実行される。
図6の処理を開始すると、時間監視プログラム17は、ドライブ23、23、23、・・・のステータス情報がONからOFFに切り替わった時刻からの経過時間を参照し、その経過時間が前述した事前閾値時間以上なったかどうかをチェックすることで、アイドルシークの開始予定時間が近づいたドライブがあるかどうかチェックする(S21)。そのようなドライブが検出された場合、時間監視プログラム17は、検出されたドライブと同一のパリティグループの中にステータス情報がONであるドライブ23があるかどうかを、ドライブ管理テーブル19を参照してチェックする(S22)。その結果、同一パリティグループ内にステータス情報がONであるドライブが存在する場合、コマンド発行制御プログラム15が、検出されたドライブ23に対してダミーアクセスを行なう(S23)。ダミーアクセスを行なうことにより、同一パリティグループ内の多重アイドルシークが防止される。一方、ステップS22の結果、同一パリティグループ内にステータス情報がONであるドライブが全く無い場合、検出されたドライブ23のステータス情報をOFFからONに変更する(S24)。図6には示されてないが、時間監視プログラム17は、検出されたドライブ23のステータス情報をOFFからONに変更した時点から、検出されたドライブ23にてアイドルシークが開始されるまでの差分時間と、アイドルシーク実行に要する時間とを足した時間(又はそれ以上の時間)だけの時間が経過すると、そのステータス情報をONからOFFに戻す。
上述したアイドルシークの制御は、パリティグループごとに並行して行われる。
図6の制御は、上述したように短いインターバルで周期的に繰り返し実行される。従って、ステップS23の処理(ダミーアクセス)によりアイドルシークの開始が待たされたドライブについては、所定のインターバル後に図6の制御が再度実行されたとき、同一パリティグループ内でステータス情報がONであるドライブが存在しなければ、そのステータス情報がONに変更され、結果として、アイドルシークの開始が許可される。上述した事前閾値時間に比較して、アイドルシークの実行所要時間は十分短いので、アイドルシーク開始を待たされる時間は短くてすみ、よって、確実にパリティグループ内のドライブの全てに或る程度の時間間隔でアイドルシークを行わせることができる。
なお、同一パリティグループ内で2以上のドライブの経過時間が事前閾値時間を越えた場合には、例えばドライブ番号などにより優先順位に従うなどの方法で、どのドライブから先にアイドルシークの開始を許可するかを制御することができる。
以上、本発明の実施形態を説明したが、これは本発明の説明のための例示であって、この実施形態のみに本発明の範囲を限定する趣旨ではない。従って、本発明は、その要旨を逸脱することなく、上述した実施形態とは異なる様々な態様で実施することが可能である。
例えば、上述した実施形態では、ドライブ23,23、…の内部の自主的なアイドルシークのスケジュールの進捗やアイドルシークのステータスをCPU11が知ることができず、CPU11はそうした情報を推測している。しかし、ドライブ23,23、…がそうした内部の情報、例えば、アイドルシークを実行しているか否かのステータス情報や前回のアイドルシーク終了時から計測した経過時間など、を外部装置に通知するインタフェースを有していれば、CPU11は、そのインタフェースを通じてドライブ23,23、…からそれらの情報を取得してドライブ管理テーブル19に記述することにより、上述した制御を一層正確に行うことが可能である。また、ドライブ23,23、…が、上記インタフェースを通じてCPU11から命令を受けて、内部で自主的に制御している時間的スケジュールに拘らず強制的に、アイドルシークを開始する又は開始しないようにする機能を備えるようすることもできる。
本発明の一実施形態にかかるディスクアレイ装置の概略構成を示すブロック図。 パリティグループを説明するブロック図。 ドライブ管理テーブルの構成例を示す図。 RAID制御プログラム、コマンド発行制御プログラム及び時間監視プログラムの処理の相関を説明するブロック図 ディスクからデータをリードするための処理のフローチャート。 多重アイドルシークを阻止するための処理のフローチャート。
符号の説明
1:ディスクアレイ装置
3:ホストI/F
5:ホスト装置
7:CPU
9:キャッシュメモリ
11:データ制御メモリ
13:RAID制御プログラム
15:コマンド発行制御プログラム
17:時間監視プログラム
19:ドライブ管理テーブル
21:ドライブI/F
23:ドライブ
31:データアクセス要求のホストコマンド
33:データアクセス要求の内部コマンド
35:データアクセス要求のドライブコマンド
37:データアクセス要求に対するドライブ応答
39:データアクセス要求に対する内部応答
41:データアクセス要求に対するホスト応答
43:経過時間
45:ステータスチェック指令
47:対象ドライブのステータス
49:対象ドライブのステータス
51:経過時間
52:他のドライブのステータス情報
53:ステータス情報の切り替え
55:ドライブ番号
57:ダミーアクセスコマンド

Claims (12)

  1. 上位装置からデータのリード要求に応じて要求されたデータを前記上位装置に提供するディスクアレイ装置において、
    少なくとも一つのパリティグループに属する複数のディスクドライブであって、各ディスクドライブは前回のアイドルシーク終了時から第1の閾値時間以上の時間が経過するとデータアクセスがない限りアイドルシークを開始するようになっている前記複数のディスクドライブと、
    前記ディスクドライブと通信するためのディスクインタフェースと、
    前記上位装置と通信するための上位装置インタフェースと、
    前記ディスクインタフェース及び前記上位装置インタフェースと接続され、前記ディスクアレイ装置を制御する制御装置と
    を備え、前記制御装置が、
    前記複数のディスクドライブのそれぞれについてON又はOFFのステータス情報を有し、各ディスクドライブの前記ステータス情報をONとOFFに交互に切り替えるものであって、前記各ディスクドライブの前記ステータス情報をONからOFFに切り替えた後前記第1の閾値時間より短い第2の閾値時間以上の時間が経過した場合、前記各ディスクドライブと同一のパリティグループに属する他の全てのディスクドライブの前記ステータス情報がOFFである場合に、前記各ディスクドライブの前記ステータス情報をOFFからONに切り替え、その後前記各ディスクドライブのアイドルシークが終了してから前記各ディスクドライブの前記ステータス情報をONからOFFに切り替える時間監視部と、
    前記各ディスクドライブの前記ステータス情報がONからOFFに切り替わった後前記第2の閾値時間以上の時間が経過した場合、前記各ディスクドライブと同一のパリティグループに属する他のいずれかのディスクドライブの前記ステータス情報がONである場合には、前記各ディスクドライブに対してダミーアクセスを行うことで前記各ディスクドライブがアイドルシークを開始することを阻止する多重アイドルシーク阻止部と、
    前記上位装置からの前記リード要求に応答して前記ディスクドライブから要求されたデータを読み出す場合において、前記要求されたデータが格納されている対象ディスクドライブの前記ステータス情報がOFFである場合には、前記対象ディスクドライブから前記要求されたデータをリードして前記上位装置に送り、前記対象ディスクドライブの前記ステータス情報がONである場合には、前記対象ディスクドライブに対してデータアクセスを行なわず、前記対象ディスクドライブと同一のパリティグループに属する他の全てのディスクドライブからデータをリードして前記要求されたデータを複製し、複製された前記要求されたデータを前記上位装置に送るデータアクセス制御部と
    を備えるディスクアレイ装置。
  2. 前記ステータス情報制御部は、前記複数のディスクドライブのそれぞれについて、前記ステータス情報と、前記ステータス情報をONからOFFに前回切り替えた時からの経過時間とを、それぞれのディスクドライブの識別情報及びそれが属するパリティグループの識別情報と関連づけて記憶しているドライブ管理テーブルを有し、前記ドライブ管理テーブルを参照することにより、前記各ディスクドライブの前記ステータス情報をOFFからONに切り替えるか否かを判断するディスクアレイ装置。
  3. 少なくとも一つのパリティグループに属する複数のディスクドライブを備え、各ディスクドライブは所定の時間的スケジュールに従って、データアクセスがない限り、アイドルシークを開始するようになっているディスクアレイ装置において、
    同一のパリティグループ内では、多くても1つのディスクドライブのみがアイドルシークを実行し、同時に2つ以上のディスクドライブがアイドルシークを実行しないよう、前記複数のディスクドライブを制御する多重アイドルシーク阻止部と、
    アイドルシークを実行中のディスクドライブに対するデータリード要求を受けた場合、前記アイドルシークを実行中のディスクドライブと同一のパリティグループに属する他の全てのディスクドライブからデータをリードして要求されたデータを複製するデータリード制御手段と
    を備えるディスクアレイ装置。
  4. 請求項3記載のディスクアレイ装置において、
    前記所定の時間的スケジュールに従ってアイドルシークを開始すると予測されるディスクドライブを事前に検出するアイドルシーク開始予測部を更に備え、
    前記多重アイドルシーク阻止部は、前記アイドルシーク開始予測部によって前記アイドルシークを開始すると予測されるディスクドライブが検出された場合において、前記検出されたディスクドライブと同一パリティグループ内の他のドライブがアイドルシークを実行中である場合には、前記検出されたディスクドライブに対してダミーアクセスを行なうことにより前記検出されたディスクドライブがアイドルシークを開始しないようにするディスクアレイ装置。
  5. 請求項3記載のディスクアレイ装置において、
    前記所定の時間的スケジュールに従ってアイドルシークを開始すると予測されるディスクドライブを事前に検出するアイドルシーク開始予測部を更に備え、
    前記データリード制御手段は、前記アイドルシーク開始予測部によって前記アイドルシークを開始すると予測されるディスクドライブが検出された場合において、前記検出されたディスクドライブと同一パリティグループ内の他のいずれのディスクドライブもアイドルシークを実行中でない場合には、前記検出されたディスクドライブがアイドルシークを実行中であるとみなし、その後前記検出されたディスクドライブがアイドルシークを終了するまでは、前記検出されたディスクドライブに対するデータリード要求を受けた場合、前記検出されたディスクドライブと同一のパリティグループに属する他の全てのディスクドライブ内のデータから要求されたデータを複製するディスクアレイ装置。
  6. 少なくとも一つのパリティグループに属する複数のディスクドライブを備えたディスクアレイ装置において、
    同一のパリティグループ内で、所定の時間的スケジュールに従って、データアクセスのない多くても1つのディスクドライブがアイドルシークを実行するよう、前記複数のディスクドライブを制御するアイドルシーク制御部と、
    アイドルシークを実行中のディスクドライブに対するデータリード要求を受けた場合、前記アイドルシークを実行中のディスクドライブと同一のパリティグループに属する他の全てのディスクドライブからデータをリードして要求されたデータを複製するデータリード制御手段と
    を備えるディスクアレイ装置。
  7. 請求項6記載のディスクアレイ装置において、
    前記アイドルシーク制御部は、同一のパリティグループ内で、前回のアイドルシークの終了から所定時間以上の時間が経過した多くても1つのディスクドライブが、データアクセスがない限り、アイドルシークを実行するように、前記ディスクドライブを制御するディスクアレイ装置。
  8. 時間を計測し、計測した時間に基づき所定の時間的スケジュールに従って、データアクセスがない限り、アイドルシークを開始するようになっているディスクドライブにおいて、
    外部装置に対して、アイドルシークを実行しているか否かのステータス情報を通知するステータス情報通知部と、
    前記外部装置に対して、前記計測した時間を通知する時間通知部と
    を備えたディスクドライブ。
  9. 請求項8記載のディスクドライブにおいて、
    前記外部装置から命令を受けて、所定の時間的スケジュールに拘らず強制的に、アイドルシークを開始する又は開始しないようにするアイドルシーク外部制御部を更に備えたディスクドライブ。
  10. 上位装置からデータのリード要求に応じて要求されたデータを前記上位装置に提供するディスクアレイ装置であって、
    少なくとも一つのパリティグループに属する複数のディスクドライブであって、各ディスクドライブは前回のアイドルシーク終了時から第1の閾値時間以上の時間が経過するとデータアクセスがない限りアイドルシークを開始するようになっている前記複数のディスクドライブと、
    前記ディスクドライブと通信するためのディスクインタフェースと、
    前記上位装置と通信するための上位装置インタフェースと、
    前記ディスクインタフェース及び前記上位装置インタフェースと接続され、前記ディスクアレイ装置を制御する制御装置と
    を備えたディスクアレイ装置における、前記複数のディスクドライブのアイドルシークを制御する方法において、
    前記複数のディスクドライブのそれぞれについてON又はOFFのステータス情報を記憶するステップと、
    各ディスクドライブの前記ステータス情報がONからOFFに切り替わった後前記第1の閾値時間より短い第2の閾値時間以上の時間が経過した場合、前記各ディスクドライブと同一のパリティグループに属する他の全てのディスクドライブの前記ステータス情報がOFFである場合に、前記各ディスクドライブの前記ステータス情報をOFFからONに切り替えるステップと、
    前記各ディスクドライブの前記ステータス情報がOFFからONに切り替わった後、前記各ディスクドライブのアイドルシークが終了してから前記各ディスクドライブの前記ステータス情報をONからOFFに切り替えるステップと、
    前記各ディスクドライブの前記ステータス情報がONからOFFに切り替わった後前記第2の閾値時間以上の時間が経過した場合、前記各ディスクドライブと同一のパリティグループに属する他のいずれかのディスクドライブの前記ステータス情報がONである場合には、前記各ディスクドライブに対してダミーアクセスを行うことで前記各ディスクドライブがアイドルシークを開始することを阻止するステップと、
    前記上位装置からの前記リード要求に応答して前記ディスクドライブから要求されたデータを読み出す場合において、前記要求されたデータが格納されている対象ディスクドライブの前記ステータス情報がOFFである場合には、前記対象ディスクドライブから前記要求されたデータをリードして前記上位装置に送るステップと、
    前記上位装置からの前記リード要求に応答して前記ディスクドライブから要求されたデータを読み出す場合において、前記対象ディスクドライブの前記ステータス情報がONである場合には、前記対象ディスクドライブに対してデータアクセスを行なわず、前記対象ディスクドライブと同一のパリティグループに属する他の全てのディスクドライブからデータをリードして前記要求されたデータを複製し、複製された前記要求されたデータを前記上位装置に送るステップと、
    を有するディスクアレイ装置におけるアイドルシークの制御方法。
  11. 少なくとも一つのパリティグループに属する複数のディスクドライブを備え、各ディスクドライブは所定の時間的スケジュールに従って、データアクセスがない限り、アイドルシークを開始するようになっているディスクアレイ装置における、前記複数のディスクドライブのアイドルシークを制御する方法において、
    同一のパリティグループ内では、多くても1つのディスクドライブのみがアイドルシークを実行し、同時に2つ以上のディスクドライブがアイドルシークを実行しないよう、前記複数のディスクドライブを制御するステップと、
    アイドルシークを実行中のディスクドライブに対するデータリード要求を受けた場合、前記アイドルシークを実行中のディスクドライブと同一のパリティグループに属する他の全てのディスクドライブからデータをリードして要求されたデータを複製するステップと
    を有するディスクアレイ装置におけるアイドルシーク制御方法。
  12. 少なくとも一つのパリティグループに属する複数のディスクドライブを備えたディスクアレイ装置における、前記複数のディスクドライブのアイドルシークを制御する方法において、
    同一のパリティグループ内で、所定の時間的スケジュールに従って、データアクセスのない多くても1つのディスクドライブがアイドルシークを実行するよう、前記複数のディスクドライブを制御するステップと、
    アイドルシークを実行中のディスクドライブに対するデータリード要求を受けた場合、前記アイドルシークを実行中のディスクドライブと同一のパリティグループに属する他の全てのディスクドライブからデータをリードして要求されたデータを複製するステップと
    を有するディスクアレイ装置におけるアイドルシーク制御方法。
JP2003393643A 2003-11-25 2003-11-25 アイドルシークのためのディスクアレイ装置 Withdrawn JP2005157622A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2003393643A JP2005157622A (ja) 2003-11-25 2003-11-25 アイドルシークのためのディスクアレイ装置
US10/834,084 US6985998B2 (en) 2003-11-25 2004-04-29 Disk array device for idle seek
DE102004028687A DE102004028687B4 (de) 2003-11-25 2004-06-14 Plattenarrayvorrichtung für Stillstandssuche
GB0501949A GB2408843B (en) 2003-11-25 2004-06-24 Disk array device for idle seek
GB0414190A GB2408840B (en) 2003-11-25 2004-06-24 Disk array device for idle seek
FR0407225A FR2862777B1 (fr) 2003-11-25 2004-06-30 Dispositif de reseau de disques pour positionnement de repos

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003393643A JP2005157622A (ja) 2003-11-25 2003-11-25 アイドルシークのためのディスクアレイ装置

Publications (1)

Publication Number Publication Date
JP2005157622A true JP2005157622A (ja) 2005-06-16

Family

ID=32821786

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003393643A Withdrawn JP2005157622A (ja) 2003-11-25 2003-11-25 アイドルシークのためのディスクアレイ装置

Country Status (5)

Country Link
US (1) US6985998B2 (ja)
JP (1) JP2005157622A (ja)
DE (1) DE102004028687B4 (ja)
FR (1) FR2862777B1 (ja)
GB (1) GB2408840B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7966451B2 (en) * 2008-02-05 2011-06-21 International Business Machines Corporation Power conservation in a composite array of data storage devices
US9697063B2 (en) * 2013-05-15 2017-07-04 Amazon Technologies, Inc. Allocating data based on hardware faults
KR102094902B1 (ko) * 2013-07-08 2020-03-30 삼성전자주식회사 액티브 상태에서 인터페이스 모드를 전환하는 스토리지 시스템 및 ufs 시스템
US9852754B1 (en) 2016-08-09 2017-12-26 Seagate Technology Llc Serpentine seeks during data storage device idle periods
CN111813609B (zh) * 2020-07-23 2021-10-15 深圳大普微电子科技有限公司 一种存储介质中数据恢复方法、数据恢复系统及相关设备

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01300479A (ja) * 1988-05-27 1989-12-04 Nec Corp 磁気ディスク装置のパトロール診断方式
JP2504209B2 (ja) 1989-08-17 1996-06-05 日本電気株式会社 磁気ディスク装置
EP0502207B1 (en) * 1990-09-20 1997-08-27 Fujitsu Limited Input/output controller
JPH05325395A (ja) * 1992-03-05 1993-12-10 Nec Corp 磁気ディスク装置のパトロールシーク起動制御方法および磁気ディスク装置
US5418921A (en) * 1992-05-05 1995-05-23 International Business Machines Corporation Method and means for fast writing data to LRU cached based DASD arrays under diverse fault tolerant modes
JP2737562B2 (ja) * 1992-08-18 1998-04-08 日本電気株式会社 高密度磁気ディスク装置のパトロールシーク方式
JPH07121306A (ja) 1993-10-28 1995-05-12 Pfu Ltd ダミーシーク制御方式
JP3134657B2 (ja) 1994-03-18 2001-02-13 株式会社日立製作所 磁気ディスク装置
US5838991A (en) * 1994-12-29 1998-11-17 International Business Machines Corporation Preemptable idle time activities for constant data delivery by determining whether initiating a host command will conflict with an idle time activity being executed
US5793553A (en) * 1996-04-19 1998-08-11 International Business Machines Corporation Method and assembly for increasing storage device reliability
US5859738A (en) * 1996-07-15 1999-01-12 Seagate Technology, Inc. Head positioning in storage system during periods of inactivity
DE69727173T2 (de) 1996-07-18 2004-11-18 Hitachi, Ltd. Magnetplattenspeicheranordnungssteuerverfahren, Plattennetzanordnungssteuerverfahren und Plattennetzanordnung
US6122131A (en) * 1997-09-12 2000-09-19 Quantum Corporation Adaptively-controlled disk drive assembly
US6112255A (en) * 1997-11-13 2000-08-29 International Business Machines Corporation Method and means for managing disk drive level logic and buffer modified access paths for enhanced raid array data rebuild and write update operations
US6128762A (en) * 1998-08-04 2000-10-03 International Business Machines Corporation Updating and reading data and parity blocks in a shared disk system with request forwarding
US6385000B1 (en) * 1998-08-21 2002-05-07 International Business Machines Corporation System and method for extending the operating life of a magnetoresistive transducer provided in a disk drive system
US6502165B1 (en) * 1999-12-03 2002-12-31 International Business Machines Corporation Balanced access to data volumes with redundant copies stored in data storage libraries
US6760175B2 (en) * 2001-03-21 2004-07-06 Hitachi Global Storage Technologies Adaptive actuator radial positioning to extend magnetic disk drive longevity
US6717763B2 (en) * 2001-05-16 2004-04-06 Hitachi Global Storage Technologies, Netherlands B.V. Power savings method and apparatus for disk drives

Also Published As

Publication number Publication date
DE102004028687A1 (de) 2005-06-30
GB2408840B (en) 2005-10-26
US6985998B2 (en) 2006-01-10
FR2862777A1 (fr) 2005-05-27
GB0414190D0 (en) 2004-07-28
GB2408840A (en) 2005-06-08
DE102004028687B4 (de) 2009-02-12
US20050114597A1 (en) 2005-05-26
FR2862777B1 (fr) 2007-03-09

Similar Documents

Publication Publication Date Title
JP3287203B2 (ja) 外部記憶制御装置及び外部記憶制御装置間データ転送方法
US7519869B2 (en) Control of storage system using disk drive device having self-check function
JP4041656B2 (ja) ストレージシステム及びストレージシステムにおけるデータ送受信方法
US7747800B2 (en) Storage system comprising power saving function
US7836268B2 (en) Method, apparatus, and system for controlling data storage
JP5409159B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP2007310974A (ja) 記憶装置および制御装置
JP2000181773A (ja) 記憶装置システム
WO1992005495A1 (en) Input/output controller
JPH0772888B2 (ja) ダイナミックポーリング装置、機械処理方法、コントローラ及びデータ処理システム
JP5022773B2 (ja) ジャーナルを利用したリモートコピーのコピー先となるストレージシステムの消費電力を節約する方法及びシステム
US7627610B2 (en) Computer system and method of reproducing data for the system
JPH10198607A (ja) データ多重化システム
JP4807172B2 (ja) ディスクアレイ装置及びパトロール診断方法及びパトロール診断制御プログラム
JP2005157622A (ja) アイドルシークのためのディスクアレイ装置
JP2007048017A (ja) ストレージシステム及び記憶制御方法
JP2010191859A (ja) ストレージ装置,ストレージ制御装置およびストレージ制御プログラム
KR100432849B1 (ko) 자기 디스크 장치, 자기 디스크 장치의 디스크 액세스방법 및 자기 디스크 장치용 디스크 액세스 제어프로그램을 기록한 기록 매체
JP2007193839A (ja) ストレージシステム、ストレージシステムにおけるデータ送受信方法及びシステム
JP5225349B2 (ja) 通信装置および通信方法
JP2003050675A (ja) データ多重化システム
JP3781358B2 (ja) 外部記憶制御装置及び外部記憶制御装置間データ転送方法
JP4404353B2 (ja) ディスク故障を抑止するディスクアレイ
JPH04119441A (ja) ディスク・キャッシュ制御方式
GB2408843A (en) Disk drive for idle seek

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061023

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20061023

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20090525