JP4886209B2 - アレイコントローラ、当該アレイコントローラを含む情報処理装置及びディスクアレイ制御方法 - Google Patents

アレイコントローラ、当該アレイコントローラを含む情報処理装置及びディスクアレイ制御方法 Download PDF

Info

Publication number
JP4886209B2
JP4886209B2 JP2005118639A JP2005118639A JP4886209B2 JP 4886209 B2 JP4886209 B2 JP 4886209B2 JP 2005118639 A JP2005118639 A JP 2005118639A JP 2005118639 A JP2005118639 A JP 2005118639A JP 4886209 B2 JP4886209 B2 JP 4886209B2
Authority
JP
Japan
Prior art keywords
disk
data
disk drive
read
array
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.)
Active
Application number
JP2005118639A
Other languages
English (en)
Other versions
JP2006301714A (ja
Inventor
和幸 田中
剛彦 蔵重
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2005118639A priority Critical patent/JP4886209B2/ja
Priority to US11/401,542 priority patent/US7779202B2/en
Publication of JP2006301714A publication Critical patent/JP2006301714A/ja
Application granted granted Critical
Publication of JP4886209B2 publication Critical patent/JP4886209B2/ja
Active 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/02Control of operating function, e.g. switching from recording to reproducing
    • G11B19/04Arrangements for preventing, inhibiting, or warning against double recording on the same blank or against other recording or reproducing malfunctions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/002Programmed access in sequence to a plurality of record carriers or indexed parts, e.g. tracks, thereof, e.g. for editing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/36Monitoring, i.e. supervising the progress of recording or reproducing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2508Magnetic discs
    • G11B2220/2516Hard disks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/40Combinations of multiple record carriers
    • G11B2220/41Flat as opposed to hierarchical combination, e.g. library of tapes or discs, CD changer, or groups of record carriers that together store one title
    • G11B2220/415Redundant array of inexpensive disks [RAID] systems

Description

本発明は、複数のディスクドライブから構成される冗長性を持つディスクアレイを制御するアレイコントローラ、当該アレイコントローラを含む情報処理装置及びディスクアレイ制御方法に関する。
冗長データを持つことによりデータの信頼性を向上させる技術として、複数のディスクドライブを用いて構成される冗長性を持つディスクアレイ(冗長化ディスクアレイ)、つまりRAID(Redundant Array of Inexpensive Disks、またはRedundant Array of Independent Disks)が知られている。RAIDには幾つかのレベル(RAIDレベル)が定義されており、RAID1(ミラーリング)やRAID5(パリティ付きストライピング)などが知られている。いずれも複数のディスクドライブを用いて構成されるディスクアレイにデータ及び冗長データを配置することにより、いずれか1台のディスクドライブに障害が発生してもデータの復元を可能にする技術である。
ディスクアレイを制御するコントローラは、アレイコントローラまたはRAIDコントローラと呼ばれる。RAIDコントローラは、ディスクアレイ内のディスクドライブへのアクセスで例えばメディアエラーが発生した場合、当該ディスクドライブのエラー箇所のデータをディスクアレイ内の他のディスクドライブのデータを使って修復する。メディアエラーの代表として、ディスクドライブ側でリトライを行っても当該ディスクドライブのからデータをリードすることができないエラーが知られている。
もし、あるディスクドライブでメディアエラー等が多発すれば、修復に時間がかかり、ディスクアレイを利用するホスト(ホスト装置)からのコマンドの処理が遅くなる。そこで特許文献1では、故障する危険性のあるディスクドライブをいち早く認識する技術が提案されている。この技術(以下、先行技術と称する)の特徴は、ディスクアレイを構成する複数のディスクドライブの各々のエラー回数を管理し、エラー回数が閾値を超えたディスクドライブを故障する危険性の高いディスクドライブとして認識する点にある。また、先行技術の特徴は、故障する危険性が高いと認識されたディスクドライブのデータを、ディスクアレイ内の残りのディスクドライブのデータを用いて予備のディスクドライブに復元することにある。この先行技術によれば、メディアエラー等が多発して修復に時間がかかる状態を速やかに解消することが可能となる。
特開平7−200191(段落0090乃至0093、図11及び図12)
上記先行技術では、故障する危険性が高いと認識されたディスクドライブのデータを予備のディスクドライブに復元する復元処理(リビルド処理)の期間に、ホストからのリード要求があった場合、当該認識されたディスクドライブを含むディスクアレイ内の各ディスクドライブでリード要求が実行される。
しかし、故障する危険性が高いと認識されたディスクドライブを正常なディスクドライブと同等に扱って、当該認識されたディスクドライブにアクセスしていると、当該認識されたディスクドライブが実際に故障する時期を早める可能性がある。しかも、上記の復元処理が完了する前に上記認識されたディスクドライブが実際に故障した場合には、非冗長の状態で当該復元処理が継続されるため、ディスクアレイ内の残りのディスクドライブでメディアエラー等が発生すると、データが復元できないおそれがある。
本発明は上記事情を考慮してなされたものでその目的は、ディスクアレイ内の故障する危険性の高いディスクドライブの長寿命化を図ることができるアレイコントローラ、当該アレイコントローラを含む情報処理装置及びディスクアレイ制御方法を提供することにある。
上記目的を達成するためにこの発明の一態様によれば、複数のディスクドライブから構成される冗長性を持つディスクアレイを制御するアレイコントローラにおいて、前記複数のディスクドライブの各々について、当該ディスクドライブに対するアクセスでエラーが発生した回数をカウントするエラーカウント手段と、前記複数のディスクドライブのうち、データライトに失敗したディスクドライブをアクセスが不可能となる故障モードに設定し、前記エラーカウント手段によってカウントされた回数に基づいて、当該回数が閾値以上のディスクドライブを故障する危険性の高いディスクドライブとして警戒モードに設定するモード設定手段と、データを読み出すべき前記ディスクアレイ内のディスクドライブが、故障モードに設定されている場合は、当該ディスクドライブを前記ディスクアレイから切り離し、前記データを読み出すべきディスクドライブが前記警戒モードに設定されている場合は、当該検出されたディスクドライブが前記ディスクアレイのアクセス可能なメンバとして維持された状態で、当該検出されたディスクドライブからのデータの読み出しが抑止されるように、前記ディスクアレイを構成する前記複数のディスクドライブへのリード/ライトアクセスを制御するリード/ライト制御手段とを具備する。
本発明によれば、ディスクアレイ内の故障する危険性の高いディスクドライブの長寿命化を図ることができる。
以下、本発明の実施の形態につき図面を参照して説明する。
[第1の実施形態]
図1は本発明の第1の実施形態に係る情報処理システムの構成を示すブロック図である。この情報処理システムは、ディスクアレイ10と情報処理装置20とから構成される。但し、ディスクアレイ10が情報処理装置20の筐体内に収容されていても構わない。つまり、情報処理装置20がディスクアレイ10を含んでいても構わない。
ディスクアレイ10は、複数のディスクドライブ、例えば2台のハードディスクドライブ(HDD)100-0及び100-1から構成されるRAIDである。本実施形態におけるディスクアレイ10は、RAID1のディスクアレイ、いわゆるミラーリングディスクアレイとして機能する。HDD100-0及び100-1は、当該HDDのステータスを表示する表示器、例えばLED(図示せず)を有している。
情報処理装置20は、各種アプリケーションを実行するホスト(ホスト装置)21と、RAIDコントローラ(アレイコントローラ)22とから構成される。ホスト21は、ディスクアレイ10を自身の外部記憶装置として利用する。RAIDコントローラ22はディスクアレイ10及びホスト21と接続されており、ホスト21からのアクセス要求に応じてディスクアレイ10を制御する。
RAIDコントローラ22は、主制御部221と、リード/ライト制御部222と、エラー判定部223と、エラー発生回数判定部224と、警戒モード設定部225と、リカバリ部226と、整合性チェック部227と、不揮発性メモリ228とを含む。主制御部221は、RAIDコントローラ22全体を制御する。主制御部221はホスト21からのコマンドを受け付けて、RAIDコントローラ22内の各部を制御する。
リード/ライト制御部222は、主制御部221によって受け付けられたホスト21からのリード/ライトコマンドに応じて、ディスクアレイ10内のHDD100-0及び100-1の少なくとも一方へのリード/ライトアクセスを制御する。エラー判定部223は、HDD100-0及び100-1の各々へのアクセスに対するエラーの発生を判定する。エラー発生回数判定部224は、エラー判定部223によって判定されたHDD100-0及び100-1の各々のエラー発生回数を管理する。エラー発生回数判定部224は、HDD100-0及び100-1の各々のエラー発生回数が予め定められた閾値を超えたかを判定することで、故障する危険性の高いHDDを検出する故障予知部である。
警戒モード設定部225は、エラー発生回数判定部224の判定結果に基づき、エラー発生回数が閾値を超えたHDD(つまりエラー発生の度合いが高いHDD)を警戒モードに設定する。警戒モードとは、エラー発生回数が閾値を超えたため故障する危険性が高いと予測されたHDDが実際に故障するのを遅らせるために(つまり故障する危険性が高いと予測されたHDDの長寿命化を図るために)、当該HDDをディスクアレイ10の構成要素(メンバ)として維持しつつ、当該HDDがディスクアレイ10内で通常の(正常な)状態(正常モード)にある他のHDDに比べて極力アクセスされないように設定するための特定モードである。
リカバリ部226は、リード/ライトアクセスでエラーとなった場合、当該エラーを回復するためのリカバリ処理を実行する。整合性チェック部227は、HDD100-0及び100-1の間のデータの整合性をチェックする。整合性チェック部227は、ベリファイコマンド実行部227aとデータ修復部227bとを含む。ベリファイコマンド実行部227aは、HDD100-0及び100-1のいずれかが警戒モードに設定されている場合、簡易整合性チェックのために、正常な状態(正常モード)にあるHDDに対してベリファイコマンドを実行する。データ修復部227bは、正常な状態にあるHDDに対するベリファイコマンドの実行の結果、エラーとなったHDDの該当する領域のデータを、残りのHDDの該当する領域のデータで修復する。
不揮発性メモリ228は、フラッシュROM等の書き換え可能な不揮発性メモリ(記憶装置)である。また、不揮発性メモリ228が、電池でバックアップされたRAMであっても構わない。不揮発性メモリ228の所定領域は、HDD100-0及び100-1の各々のエラー発生回数を個別にカウントするための1対のエラーカウンタ228aを保持するのに用いられる。また、不揮発性メモリ228の別の所定領域は、HDD100-0及び100-1の各々の状態を表すモードを指定するための1対のモードフラグ228bを保持するのに用いられる。ここでは、モードフラグ228bで指定可能なモードは、正常モード、警戒モード及び故障モードである。正常モードは、前記したようにHDD100-i(i=1,2)が正常な状態にあることを示す。警戒モードは、HDD100-iが故障する危険性が高く、他のHDDに比べて極力アクセスされないようにすべき状態にあることを示す。但し、警戒モードのHDD100-iはディスクアレイ10のメンバとして維持され、当該ディスクアレイ10から切り離されていない。故障モードは、HDD100-iがディスクアレイ10から切り離されている状態にあることを示す。
次に、図1のシステムにおけるRAIDコントローラ22の動作手順について、当該RAIDコントローラ22内の主制御部221がホスト21からのリードまたはライトコマンドを受け付けた場合を例に、図2のフローチャートを参照して説明する。
主制御部221は、ホスト21からリードまたはライトコマンドを受け付けた場合、リード/ライト制御部222に対して当該コマンドで指定されたデータリードまたはデータライトを要求する。すると、リード/ライト制御部222は、データリードまたはデータライトのいずれが要求されたかを判定する(ステップS1)。
リード/ライト制御部222はデータリードが要求された場合であれば、ディスクアレイ10を構成する(つまりディスクアレイ10のメンバである)HDD100-0及び100-1の中から、アクセスすべきHDD(アクセス先のHDD)を決定する(ステップS2)。本実施形態においてリード/ライト制御部222は、当該HDD100-0及び100-1へのアクセス頻度が同等になるようにアクセス先のHDDを決定する。これにより、HDD100-0及び100-1の一方に負荷が偏るのを防止できる。ここでは、HDD100-0及び100-1の領域(ディスク領域)が一定サイズで分割される。リード/ライト制御部222は、アクセスすべき論理アドレスが偶数番目の領域または奇数番目の領域のいずれを指すかによって、アクセス先のHDDを決定する。
次にリード/ライト制御部222は、決定されたHDDが警戒モードに設定されているかを判定する(ステップS3)。決定されたHDDが警戒モードに設定されているかは、当該HDDに対応するモードフラグ228bを参照することにより判定可能である。もし、決定されたHDDが警戒モードに設定されているならば、リード/ライト制御部222は当該HDDに対するアクセスを極力少なくする(抑止する)ために、アクセス先のHDDを、ディスクアレイ10内の残りの(つまりもう一方の)HDDに決定し直す(ステップS4)。
リード/ライト制御部222は、アクセス先のHDDが決定し直された場合(ステップS4)、その決定し直されたHDD、つまり最も最近に決定されたHDDからのデータリードを制御する(ステップS5)。これに対し、ステップS2で決定されたHDDが警戒モードに設定されていない場合(ステップS3)、リード/ライト制御部222はステップS4をスキップして、ステップS2で決定されたHDD、即ち最も最近にステップS2で決定されたHDDからのデータリードを制御する(ステップS5)。これにより、警戒モードのHDDからのデータリードが抑止される。
なお、データリードが要求された場合に、まず警戒モードに設定されているHDDが存在するかが判定される構成としても構わない。この場合、リード/ライト制御部222は、警戒モードに設定されているHDDが存在するならば、警戒モードに設定されていないHDDをアクセス先のHDDとして決定すれば良い。また、警戒モードに設定されているHDDが存在しないならば、リード/ライト制御部222は上記ステップS2と同様にしてHDD100-0及び100-1の中からアクセス先のHDDを決定すれば良い。
一方、ホスト21からデータライトが要求された場合、リード/ライト制御部222はディスクアレイ10内のHDD100-0及び100-1の両HDDへのデータライトを制御する(ステップS6)。即ちリード/ライト制御部222は、HDD100-0及び100-1の同一ブロック領域に同一データを書き込む。これにより、HDD100-0及び100-1のデータの冗長性が維持される。
このように、ディスクアレイ10がRAID1のディスクアレイとして機能する本実施形態では、データリードの場合、図3(a)に示すようにHDD100-0及び100-1のいずれか一方からデータが読み出される。一方、データライトの場合は、図3(b)に示すようにHDD100-0及び100-1の両方にデータが書き込まれる。本実施形態では、HDD100-0及び100-1のいずれか一方からデータが読み出されるのを利用して、警戒モードに設定されているHDDが存在する場合、当該HDDが実際に故障する時期が早まらないように、正常モードにあるHDDからデータを読み出す構成を適用している。これにより、故障する危険性の高いHDDへのアクセスでのエラーに起因するリカバリ処理の発生回数を少なくできるため、リカバリ処理のためにホスト21側の処理が滞ることを防止できる。
さて、ステップS5のデータリードまたはステップS6のデータライトが実行されると、エラー判定部223は当該データリードまたはデータライト(つまりディスクアクセス)でエラーが発生したかを判定する(ステップS7)。このエラーとしては、例えばデータリードであれば、HDD100-i内部でリードエラーとなってリードリトライを行ったがリトライに失敗し、当該HDD100-iからエラーが通知されるメディアエラーがある。また、HDD100-iからデータが正常にリードできたものの、そのリードされたデータが伝送路等の障害により当該HDD100-iからRAIDコントローラ22に正しく転送(伝送)されなかった、いわゆるCRC(Cyclic Redundancy Check)エラーもある。また、データライトであれば、指定領域にデータが書き込めず、且つ代替領域にもデータが書き込めないエラーがある。
エラー判定部223は、リード/ライト制御部222によるデータリードまたはデータライトの実行でエラーが発生した場合(ステップS7)、その旨をエラー発生HDDの識別情報と共にエラー発生回数判定部224に通知する。するとエラー発生回数判定部224は、エラーが発生したHDDに対応するモードフラグ228bを参照することにより、当該HDDが既に警戒モードに設定されているかを判定する(ステップS8)。
もし、エラーが発生したHDDが警戒モードに設定されていないならば、つまり正常モードに設定されているならば、エラー発生回数判定部224は当該HDDに対応するエラーカウンタ228aを参照して、エラー発生回数が予め設定されている閾値より少ないかを判定する(ステップS9)。もし、エラー発生回数が閾値より少ないならば、エラー発生回数判定部224は上記エラーカウンタ228aをカウントアップする(ステップS10)。これに対し、エラー発生回数が閾値より少なくないならば(ステップS9)、エラー発生回数判定部224は今回のエラー発生でエラー発生回数が閾値を超えると判定して、即ちエラー発生HDDは実際に故障する危険性が高いと判定して、その旨をエラー発生HDDの識別情報と共に警戒モード設定部225に通知する。なお、単なるエラー発生回数に代えて、単位時間当たりのエラー発生回数、即ちエラー発生頻度を用いることも可能である。
警戒モード設定部225はエラー発生回数判定部224からの通知に応じて、エラー発生HDDを警戒モードに設定する(ステップS11)。この設定は、エラー発生HDDに対応するモードフラグ228bを警戒モードを示す状態に設定することにより実現される。ここでは警戒モード設定部225は、エラー発生HDDのステータスを表示するLED(ステータス表示LED)を、「警戒(warning)」表示状態にする。
リカバリ部226は、エラー発生回数判定部224によりステップS10が実行された場合、警戒モード設定部225によりステップS11が実行された場合、或いはエラー発生HDDが既に警戒モードに設定されているとエラー発生回数判定部224によりステップS8で判定された場合のいずれの場合にも起動される。この場合、リカバリ部226は発生したエラーを回復するためのリカバリ処理を実行する(ステップS12)。
次に、リカバリ部226による上記リカバリ処理(ステップS12)の手順について、図4のフローチャートを参照して説明する。ここでは、HDD100-0及び100-1のうちの例えばHDD100-0でエラーが発生したものとする。
まずリカバリ部226は、データリードまたはデータライトのいずれでエラーが発生したかを判定する(ステップS21)。もし、データリードでエラーが発生した場合であれば、リカバリ部226はエラーの種類がメディアエラーであるかを判定する(ステップS22)。
もし、HDD100-0でのエラーがメディアエラーであるならば、リカバリ部226はリード/ライト制御部222を用いて、ディスクアレイ10内のもう一方のHDD100-1の領域のうち、HDD100-0のエラー発生箇所に対応する箇所のデータをリードして、そのデータを主制御部221によりホスト21に返させる(ステップS23)。またリカバリ部226は、HDD100-1からリードされたデータをHDD100-0のエラー発生箇所にリード/ライト制御部222を用いて書き込むことにより、当該HDD100-0のエラー発生箇所のデータを修復する(ステップS24)。即ちリカバリ部226は、HDD100-0のメディアエラーをHDD100-1からリードされたデータで修復する。
これに対し、HDD100-0でのエラーがCRCエラーなど、メディアエラー以外のエラーであるならば(ステップS22)、リカバリ部226は上記ステップS23と同様に、ディスクアレイ10内のもう一方のHDD100-1の領域のうち、HDD100-0のエラー発生箇所に対応する箇所のデータをリードして、そのデータを主制御部221によりホスト21に返させる(ステップS25)。なお、メディアエラー以外のエラーの場合、HDD100-0からのデータリードをリトライしても良い。
一方、データライトでエラーが発生した場合には(ステップS21)、リカバリ部226はHDD100-0に対するデータライトをリトライする(ステップS26)。このデータライトのリトライに成功した場合、リカバリ部226はHDD100-0の現在の状態を維持する(ステップS28)。即ちリカバリ部226は、HDD100-0が正常モードに設定されているならば当該HDD100-0の正常モードを維持し、当該HDD100-0が警戒モードに設定されているならば当該HDD100-0の警戒モードを維持する。これに対し、データライトのリトライに失敗した場合、リカバリ部226はHDD100-0を故障(Fail)HDDとする(ステップS29)。即ちリカバリ部226は、HDD100-0を、当該HDD100-0がディスクアレイ10から切り離される故障モードに設定する。この設定は、エラー発生HDD100-0に対応するモードフラグ228bを故障モードを示す状態に設定することにより実現される。ここではリカバリ部226は、HDD100-0のステータス表示LEDを、「故障(Fail)」表示状態にする。
次に整合性チェック部227の動作について、(1a)通常時、及び、(1b)警戒モード時を例に、それぞれ図5(a)及び図5(b)を参照して説明する。
(1a)通常時
通常時とは、HDD100-0及び100-1が共に正常モードにある場合を意味する。この場合、整合性チェック部227はHDD100-0及び100-1にそれぞれリードコマンド51-0及び51-1を発行することで、当該HDD100-0及び100-1の相対位置が同一の領域52-0及び52-1からデータを読み出すためのデータリード53-0及び53-1を行う。整合性チェック部227は、このデータリード53-0及び53-1の結果、HDD100-0及び100-1の一方にメディアエラーがあった場合、メディアエラーが発生した箇所のデータを他方のリードデータを用いて修復する。図5(a)の例では、記号×で示されるHDD100-0の領域52-0でメディアエラーが発生している。この場合、整合性チェック部227のデータ修復部227bは、HDD100-0の領域52-1から読み出されたデータをHDD100-0の領域52-0に書き込むことにより、当該HDD100-0の領域52-0のデータの修復54を実行する。整合性チェック部227は、HDD100-0及び100-1に対するリードコマンドの発行を、アクセス先を切り替えながら繰り返す。
(1b)警戒モード時
警戒モード時とは、HDD100-0及び100-1のいずれか一方が警戒モードにある場合を意味する。本実施形態では、警戒モードにあるHDDは極力アクセスされないように制御される。そこで警戒モード時では、整合性チェック部227のベリファイコマンド実行部227aが動作して、RAIDコントローラ22へのデータ転送の伴うリードコマンドの発行に代えて、正常モードにあるHDDに対してのみベリファイ(Verify)コマンドを発行する。図5(b)の例ではHDD100-0が警戒モードにある。この場合、ベリファイコマンド実行部227aは、HDD100-1に対してのみベリファイコマンド55を発行する。ベリファイコマンド55は、当該コマンド55で指定されたHDD(ここではHDD100-1)の領域のデータを当該HDD内部のバッファメモリに読み出させてエラーの有無を判定させ、その判定結果(つまりベリファイコマンドの実行結果)をRAIDコントローラ22に通知させるためのコマンドである。図5(b)の例では、HDD100-1の領域56-1を検査するためのベリファイコマンド55が発行されたものとする。またHDD100-1において、領域56-1のデータが正常に読み出せず、当該HDD100-1からRAIDコントローラ22にエラー57が通知されたものとする。
整合性チェック部227のデータ修復部227bは、ベリファイコマンド実行部227aが発行したベリファイコマンド55に対してHDD100-1からエラー57が通知された場合に限り、HDD100-1の領域56-1に対応するHDD100-0の領域56-0からデータを読み出すためのデータリード58をリード/ライト制御部222を用いて実行する。そしてデータ修復部227bは、HDD100-0の領域56-0から読み出されたデータをHDD100-1の領域56-1に書き込むデータライト59をリード/ライト制御部222を用いて実行することにより、当該HDD100-1の領域56-1のデータの修復60を実行する。
このように本実施形態では、警戒モード時には、HDD100-0及び100-1のうちの正常モードのHDDのチェックのみがベリファイコマンドを用いて行われる。つまり警戒モード時には、警戒モードに設定されているHDDへのアクセスを極力抑止するために、通常モード時と異なって正常モードのHDDのチェックのみが行われる。このチェックは厳密には整合性チェックとは異なる。そこで警戒モードにおける整合性チェック部227のチェック動作を簡易整合性チェックと呼ぶ。
[第2の実施形態]
次に、本発明の第2の実施形態について説明する。図6は、本発明の第2の実施形態に係る情報処理システムの構成を示すブロック図である。図6において、図1と等価な部分には同一符号を付してある。
図6のシステムは、次の点で図1のシステムと相違する。まず図6のシステムでは、情報処理装置20に代えて、RAIDコントローラ220を含む情報処理装置200が用いられる。この情報処理装置200のRAIDコントローラ220には、ディスクアレイ10とは別に、予備のHDDであるホットスペアHDD101が予め接続されている。RAIDコントローラ220はリビルド部229を含む。リビルド部229は、ディスクアレイ10を構成するHDD100-0及び100-1のいずれか一方のHDDが警戒モードまたは故障モードとなった場合に、その警戒モードまたは故障モードとなったHDDのデータを正常なHDDを用いてホットスペアHDD101にリビルド(復元)する。このリビルドは、HDDのアドレスを例えばブロックアドレス0から最大ブロックアドレスまで順次インクリメントしながら実行されるものとする。なお、このリビルドが、HDDのアドレスを最大ブロックアドレスからブロックアドレス0まで順次デクリメントしながら実行される構成であっても構わない。不揮発性メモリ228の所定領域は、リビルド部229によるリビルドの状態を表すリビルドフラグ228cと、最新リビルド済みアドレス(ブロックアドレス)228dとを保持するのに用いられる。最新リビルド済みアドレス228dは、最も最近にリビルドされたブロックアドレスを示す。
次に、図6のシステムにおけるRAIDコントローラ220の動作手順について、当該RAIDコントローラ220内の主制御部221がホスト21からのリードまたはライトコマンドを受け付けた場合を例に、図7乃至図9を参照して説明する。図7及び図8はRAIDコントローラ22の動作手順を示すフローチャート、図9はリビルド処理を説明するための図である。
主制御部221は、ホスト21からリードまたはライトコマンドを受け付けた場合、リード/ライト制御部222に対して当該コマンドで指定されたデータリードまたはデータライトを要求する。すると、リード/ライト制御部222は、データリードまたはデータライトのいずれが要求されたかを判定する(ステップS31)。
リード/ライト制御部222はデータリードが要求された場合であれば、上記第1の実施形態と同様に、ディスクアレイ10を構成するHDD100-0及び100-1の中から、アクセス先のHDDを決定する(ステップS32)。次にリード/ライト制御部222は、決定されたHDDが警戒モードに設定されているかを判定する(ステップS33)。もし、決定されたHDDが警戒モードに設定されているならば、リード/ライト制御部222は当該HDDに対するアクセスを極力少なくするために、アクセス先のHDDを、ディスクアレイ10内の残りのHDDに決定し直す(ステップS34)。
リード/ライト制御部222は、アクセス先のHDDが決定し直された場合(ステップS34)、その決定し直されたHDDからのデータリードを制御する(ステップS35)。これに対し、ステップS32で決定されたHDDが警戒モードに設定されていない場合(ステップS33)、リード/ライト制御部222は、当該ステップS32で決定されたHDDからのデータリードを制御する(ステップS35)。このように、データリードが要求された場合、リード/ライト制御部222は上記第1の実施形態におけるステップS2乃至S5に相当するステップS31乃至S35を実行することにより、警戒モードのHDDからのデータリードを抑止する。
一方、ホスト21からデータライトが要求された場合、リード/ライト制御部222はリビルド部229によるリビルド処理の実行中(リビルド中)であるかを判定する(ステップS36a)。リビルド中であるかは、リビルドフラグ228cを参照することにより判定可能である。もし、リビルド中であるならば、リード/ライト制御部222はリビルド済みの領域へのライトであるかを判定する(ステップS36b)。リビルド済みの領域へのライトであるかは、最新リビルド済みアドレス228dを参照して、要求されたデータライト先の領域の最終位置のブロックアドレスが当該最新リビルド済みアドレス228dと等しいか、或いは当該最新リビルド済みアドレス228dよりも小さいかを比較することにより判定可能である。
もし、リビルド済みの領域へのライトでないならば、リード/ライト制御部222はディスクアレイ10内のHDD100-0及び100-1の両HDDへのデータライトを制御する(ステップS36c)。これに対し、リビルド済みの領域へのライトであるならば、リード/ライト制御部222はディスクアレイ10内のHDD100-0及び100-1の両HDDへのデータライトだけでなく、ホットスペアHDD101へのデータライトも制御する(ステップS36d)。即ち、リード/ライト制御部222は、ディスクアレイ10内のHDD100-0及び100-1、並びにホットスペアHDD101の同一ブロック領域に同一データを書き込む。これによりHDD100-0及び100-1のデータの冗長性が維持されると共に、HDD100-0とホットスペアHDD101とのデータの一致化が図られる。
さて、ステップS35のデータリード、ステップS36cのデータライトまたはステップS36dのデータライトが実行されると、エラー判定部223は当該データリードまたはデータライトでエラーが発生したかを判定する(ステップS37)。エラー発生回数判定部224は、エラー判定部223によってエラー発生が判定された場合、エラーが発生したHDDが既に警戒モードに設定されているかを判定する(ステップS38)。
もし、エラーが発生したHDDが警戒モードに設定されていないならば、エラー発生回数判定部224はエラー発生回数が閾値より少ないかを判定する(ステップS39)。もし、エラー発生回数が閾値より少ないならば、エラーが発生したHDDに対応するエラーカウンタ228aがエラー発生回数判定部224によってカウントアップされる(ステップS40)。これに対し、エラー発生回数が閾値より少なくないならば(ステップS39)、エラー発生HDDが警戒モード設定部225によって警戒モードに設定される(ステップS41)。
リカバリ部226は、エラー発生回数判定部224によりステップS40が実行された場合、警戒モード設定部225によりステップS41が実行された場合、或いはエラー発生HDDが既に警戒モードに設定されているとエラー発生回数判定部224によりステップS38で判定された場合のいずれの場合にも起動される。この場合、リカバリ部226は発生したエラーを回復するためのリカバリ処理を、前記第1の実施形態と同様の手順(つまり図4のフローチャートに示す手順)で実行する(ステップS42)。
リカバリ部226によるリカバリ処理が完了すると、リビルド部229は自身がリビルド中であるかを判定する(ステップS43)。リビルド部229は自身がリビルド中でないならば、HDD100-0及び100-1にそれぞれ対応する各モードフラグ228bを参照して警戒モード及び故障モードのいずれか一方のモードに設定されているHDDが存在するかを判定する(ステップS44,S45)。
もし、警戒モードまたは故障モードに設定されているHDDが存在するならば、リビルド部229は、当該警戒モードまたは故障モードに設定されているHDDのデータをホットスペアHDD101に復元するためのリビルド処理を開始する(ステップS46)。ここでは、HDD100-0が警戒モードに、HDD100-1が正常モードに、それぞれ設定されているものとする。この場合、リビルド処理は、図9(a)に示すように、HDD100-1から一定サイズのデータを読み出すデータリード91と、データリード91でHDD100-1から読み出されたデータをホットスペアHDD101にコピーするデータコピー92とを、HDDのアドレスをブロックアドレス0から最大ブロックアドレスまで順次インクリメントしながら繰り返すことにより実行される。このリビルド処理は、例えばHDD100-0が故障モードに、HDD100-1が正常モードに、それぞれ設定されている場合にも、同様に実行される。
但し、警戒モードのHDDと故障モードのHDDとは、次のように取り扱いが異なる。まず、故障モードのHDDはディスクアレイ10から切り離される。これに対し、警戒モードのHDDはリビルド中もディスクアレイ10のメンバとなっている状態を継続する。
そこで本実施形態では、図9(a)の例のようにHDD100-0が警戒モードに設定されている状態で、正常なHDD100-1からのデータリード91でエラーとなった場合、そのエラー箇所に対応するHDD100-0のデータを利用してリビルド処理が継続される。この様子を図9(b)に示す。ここでは、図9(a)に示すHDD100-1からのデータリード91に代えて、警戒モードのHDD100-0からのデータリード93が実行される。そして、データリード93でHDD100-0から読み出されたデータをホットスペアHDD101にコピーするデータコピー94が実行される。このとき、データリード93で読み出されたデータを用いて、HDD100-1におけるエラー箇所(図9(b)において記号×で示される箇所)のデータを修復することも可能である。データコピー94が終了すると、ブロックアドレスが更新されて、再び図9(a)に示すHDD100-1からデータリード91と、ホットスペアHDD101へのデータコピー92とが行われる。
一方、リビルド部229は自身がリビルド中であるか(ステップS43)、自身がリビルド中でなくてもHDD100-0及び100-1が警戒モードでも故障モードでもないならばならば(ステップS44,S45)、リビルド部229は新たなリビルド処理はしない。即ちリビルド部229はリビルド中であるならばリビルド処理を継続し、リビルド中でないならばリビルド処理を開始しない。
上述したように本実施形態では、ディスクアレイ10内で故障する危険性のあるHDD、例えばHDD100-0が検出されると、当該HDD100-0が警戒モードに設定される。すると、HDD100-0へのアクセスを極力抑えながら、ディスクアレイ10における冗長性を損なうことなく、ホットスペアHDD101に対するリビルドが行われる。しかも本実施形態においては、HDD100-0へのアクセスを極力抑えて当該HDD100-0が実際に故障する時期を遅らせることで、ホットスペアHDD101に対するリビルドを、HDD100-0が実際に故障する前に終わらせることが可能となる。この場合、リビルドのためのHDD100-1からのデータリードでエラーとなっても、HDD100-0のデータを利用してホットスペアHDD101に対するリビルドを行うことができる。
上記したように本実施形態においては、ディスクアレイ10における冗長性を損なうことなく、ホットスペアHDD101に対するリビルドを行うことができる。このため、ディスクアレイ10が、仮にリトライで救われるエラーが発生している冗長性のないRAID0の場合でも、ディスクアレイ10内のHDDのデータをホットスペアHDD101にリビルドすることが可能となる。
上記第2の実施形態では、エラーカウンタ228a、モードフラグ228b、リビルドフラグ228c及び最新リビルド済みアドレス228dが不揮発性メモリ228内に配置される。しかし、エラーカウンタ228a、モードフラグ228b、リビルドフラグ228c及び最新リビルド済みアドレス228dが、HDD100-0及びHDD100-1の所定の領域、例えばシステム領域と呼ばれる、ホスト21からは認識されないHDD100-0及びHDD100-1の特別の領域に配置されても構わない。
[第2の実施形態の変形例]
上記第2の実施形態では、ディスクアレイ20が2台のHDD21-0及び21-1から構成され、RAID1のディスクアレイ(つまりミラーリングディスクアレイ)として機能する場合を前提としている。しかし、ディスクアレイを構成するHDDの台数は2台を越えていても良く、RAIDレベルもRAID1でなくても良い。
そこで、図6のディスクアレイ10に代えて、RAID1以外のRAIDレベルを適用するディスクアレイを用いた、第2の実施形態の変形例について、図6を援用して説明する。図10は、図6のシステムにおいて、ディスクアレイ10に代えて用いられるディスクアレイ100の構成を示す。このディスクアレイ100は、3台のHDD110-0,110-1及び110-2から構成されるものとする。必要ならば、図6において、ディスクアレイ10を図10のディスクアレイ100に置き換えられたい。
本変形例において、ディスクアレイ100はRAID5レベルで用いられるものとする。この場合、HDD110-0乃至110-2は、いずれもデータ並びにパリティデータ(冗長データ)の格納用に用いられ、パリティデータは各HDD110-0乃至110-2に分散して格納される。なお、ディスクアレイ100がRAID3レベルで用いられる場合には、HDD110-0乃至110-2のうちの2台がデータ格納用(データディスク用)に、残りの1台がパリティデータ格納用(パリティディスク用)に割り当てられる。
HDD110-0乃至110-2によって実現されるディスクアレイ100のディスク領域は、図10に示すようにストライプ単位に分割して管理される。ストライプは、HDD110-0乃至110-2の相対位置が同一のブロック領域から構成される。ここでは、説明を簡略化するために、1ストライプを構成するHDD110-0乃至110-2のブロックサイズが1ブロックであるものとする。この場合、1ストライプを構成するHDD110-0乃至110-2の各ブロックのうち、2つのブロックにはそれぞれデータD0及びD1が、残りの1ブロックにはデータD0及びD1のパリティデータPが格納される。パリティデータPは、データD0及びD1を排他的論理和(XOR)するための演算(EXOR演算)により生成される。
図10のディスクアレイ100において、HDD110-0乃至110-2のうちの例えばHDD110-0が警戒モードに設定されているものとする。この場合、HDD110-0は上記第1または第2の実施形態と同様に、他のHDDに比べて極力アクセスされないように制御される。以下、HDD110-0が警戒モードに設定されている状態で、ホスト21からRAIDコントローラ220に対してデータD0が格納されている領域からのリードが要求された場合のデータリード動作について、図11を参照して説明する。
リード/ライト制御部222は、データD0が格納されている領域からのリードが要求された場合、図7のステップS32に相当する処理で、アクセス先HDDとしてHDD110-0を決定する。この例のように、HDD110-0が警戒モードに設定されている場合、RAIDコントローラ22はアクセス先HDDを、図7のステップS34に相当する処理で、ディスクアレイ100内の残りの全てのHDD、即ちHDD110-1及び110-2に決定し直す。この場合、リード/ライト制御部222は、図11に示すように、データD0が格納されている領域と同一ストライプに属するHDD110-1及び110-2の領域からデータまたはパリティデータ(冗長データ)を読み出すためのデータリード11及び12を実行する。図11の例では、このデータリード11及び12により、それぞれHDD110-1及び110-2からデータD1及びパリティデータ(冗長データ)Pが読み出される。リード/ライト制御部222は、HDD110-1及び110-2からそれぞれ読み出されたD1及びPのEXOR演算13を行うことで、D1及びPからデータD0を復元する。このようにしてリード/ライト制御部222は、警戒モードにあるHDD110-0からデータD0を読み出すことなく、当該データD0を取得する。リビルド部229によるリビルド処理も同様である。例えば、HDD110-0のデータD0をホットスペアHDD101に書き込む場合、リビルド部229はHDD110-1及び110-2からそれぞれデータD0と組をなすデータD1及びパリティデータPを読み出して、当該D1及びPのEXOR演算を行うことでデータD0を復元する。
なお、本発明は、上記実施形態またはその変形例そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態またはその変形例に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態またはその変形例に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
本発明の第1の実施形態に係る情報処理システムの構成を示すブロック図。 同第1の実施形態におけるRAIDコントローラ22の動作手順を示すフローチャート。 同第1の実施形態のデータリード時における、ディスクアレイ10内のアクセス先HDDと、同第1の実施形態のデータライト時における、ディスクアレイ10内のアクセス先HDDとを、それぞれ示す図。 図2のフローチャートにおけるリカバリ処理の手順を示すフローチャート。 通常時と警戒モード時の各々の場合における整合性チェック部227の動作を説明するための図。 本発明の第2の実施形態に係る情報処理システムの構成を示すブロック図。 同第2の実施形態におけるRAIDコントローラ220の動作手順を示すフローチャートの一部を示す図。 同第2の実施形態におけるRAIDコントローラ220の動作手順を示すフローチャートの残りを示す図。 同第2の実施形態におけるリビルド処理を説明するための図。 同第2の実施形態の変形例を説明するための、図6のディスクアレイ10に代えて用いられるディスクアレイ100の構成を示す図。 図10のディスクアレイ100内のHDD110-0が警戒モードに設定されている状態で、ホストからRAIDコントローラに対してデータD0が格納されている領域からのリードが要求された場合のデータリード動作を説明するための図。
符号の説明
10,100…ディスクアレイ、100-0,100-1,110-0〜110-2…HDD(ディスクドライブ)、20,200…情報処理装置、21…ホスト、22,220…RAIDコントローラ(アレイコントローラ)、221…主制御部、222…リード/ライト制御部、223…エラー判定部、224…エラー発生回数判定部(故障予知手段)、225…警戒モード設定部(特定モード設定手段)、226…リカバリ部、227…整合性チェック部、227a…ベリファイコマンド実行部、227b…データ修復部、228…不揮発性メモリ(記憶手段)、228a…エラーカウンタ、228b…モードフラグ、228c…リビルドフラグ、229…リビルド部。

Claims (7)

  1. 複数のディスクドライブから構成される冗長性を持つディスクアレイを制御するアレイコントローラにおいて、
    前記複数のディスクドライブの各々について、当該ディスクドライブに対するアクセスでエラーが発生した回数をカウントするエラーカウント手段と、
    前記複数のディスクドライブのうち、データライトに失敗したディスクドライブアクセスが不可能となる故障モードに設定し、前記エラーカウント手段によってカウントされた回数に基づいて、当該回数が閾値以上のディスクドライブを故障する危険性の高いディスクドライブとして警戒モードに設定するモード設定手段と
    データを読み出すべき前記ディスクアレイ内のディスクドライブが、故障モードに設定されている場合は、当該ディスクドライブを前記ディスクアレイから切り離し、前記データを読み出すべきディスクドライブが前記警戒モードに設定されている場合は、当該検出されたディスクドライブが前記ディスクアレイのアクセス可能なメンバとして維持された状態で、当該検出されたディスクドライブからのデータの読み出しが抑止されるように、前記ディスクアレイを構成する前記複数のディスクドライブへのリード/ライトアクセスを制御するリード/ライト制御手段と
    を具備することを特徴とするアレイコントローラ。
  2. 前記ディスクアレイ内の前記警戒モードに設定されていないディスクドライブからデータを読み出すリード動作で、当該ディスクドライブから正しくデータを読み出せないメディアエラーが発生した場合、前記ディスクアレイ内の前記他のディスクドライブが前記警戒モードに設定されているかに無関係に当該他のディスクドライブからデータを読み出し、当該他のディスクドライブから読み出されるデータに基づき、前記ディスクアレイの冗長性を利用することで、前記メディアエラーが発生したディスクドライブから読み出すべきデータを取得するリカバリ手段を更に具備することを特徴とする請求項記載のアレイコントローラ。
  3. 前記リカバリ手段は、前記メディアエラーが発生したディスクドライブのメディアエラー発生箇所のデータを前記取得されたデータで修復することを特徴とする請求項記載のアレイコントローラ。
  4. 前記ディスクアレイを構成する前記複数のディスクドライブのデータの整合性をチェックする整合性チェック手段を更に具備することを特徴とする請求項記載のアレイコントローラ。
  5. 前記整合性チェック手段は、
    前記故障モードまたは警戒モードのいずれにも設定されていないディスクアレイに対して、少なくとも前記他のディスクドライブを当該警戒モードに設定されているディスクドライブとの間のデータ転送が伴わないベリファイコマンドによりチェックするベリファイコマンド実行手段と、
    前記ベリファイコマンドに応じてエラーを返した前記ディスクアレイにおけるディスクドライブが存在する場合、当該エラーを返したディスクドライブ以外のディスクドライブからデータを読み出し、このデータに基づき、当該エラーを返したディスクドライブのデータを修復するデータ修復手段と
    を含むことを特徴とする請求項記載のアレイコントローラ。
  6. 複数のディスクドライブから構成される冗長性を持つディスクアレイを外部記憶装置として利用するホスト装置と、
    前記ディスクアレイを制御するアレイコントローラであって、前記ホスト装置からのアクセス要求に応じて前記ディスクアレイを構成する前記複数のディスクドライブへのアクセスを制御するアレイコントローラとを具備し、
    前記アレイコントローラは、
    前記ホストシステムからのリード/ライト要求を受け付ける主制御手段と、
    前記複数のディスクドライブの各々について、当該ディスクドライブに対するアクセスでエラーが発生した回数をカウントするエラーカウント手段と、
    前記複数のディスクドライブのうち、データライトに失敗したディスクドライブを、アクセスが不可能となる故障モードに設定し、前記エラーカウント手段によってカウントされた回数に基づいて、当該回数が閾値以上のディスクドライブを故障する危険性の高いディスクドライブとして警戒モードに設定するモード設定手段と、
    データを読み出すべき前記ディスクアレイ内のディスクドライブが、故障モードに設定されている場合は、当該ディスクドライブを前記ディスクアレイから切り離し、前記データを読み出すべきディスクドライブが前記警戒モードに設定されている場合は、当該検出されたディスクドライブが前記ディスクアレイのアクセス可能なメンバとして維持された状態で、当該検出されたディスクドライブからのデータの読み出しが抑止されるように、前記主制御手段によって受け付けられたリード/ライト要求に基づき、前記ディスクアレイを構成する前記複数のディスクドライブへのリード/ライトアクセスを制御する前記リード/ライト制御手段と
    を含むことを特徴とする情報処理装置。
  7. 複数のディスクドライブから構成される冗長性を持つディスクアレイと接続されるアレイコントローラにおいて前記ディスクアレイを制御するためのディスクアレイ制御方法であって、
    前記複数のディスクドライブの少なくとも1つがアクセスされた場合に、そのアクセスでエラーが発生したかを判定するステップと、
    エラーが発生したディスクドライブのエラー発生回数をカウントアップするステップと、
    前記複数のディスクドライブの各々のエラー発生回数に基づいて、当該エラー発生回数が閾値以上のディスクドライブを故障する危険性の高いディスクドライブとして検出するステップと、
    前記故障する危険性の高いディスクドライブが検出された場合、当該検出されたディスクドライブを、当該検出されたディスクドライブが前記ディスクアレイのアクセス可能なメンバとして維持された状態で、当該検出されたディスクドライブからのデータの読み出しが抑止されるように制御される警戒モードに設定するステップと、
    前記複数のディスクドライブのうち、データライトに失敗したディスクドライブを故障として検出するステップと、
    前記故障とされるべきディスクドライブが検出された場合、当該検出されたディスクドライブを、当該検出されたディスクドライブが前記ディスクアレイから切り離されてアクセスが不可能となる故障モードに設定するステップと
    を具備することを特徴とするディスクアレイ制御方法。
JP2005118639A 2005-04-15 2005-04-15 アレイコントローラ、当該アレイコントローラを含む情報処理装置及びディスクアレイ制御方法 Active JP4886209B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005118639A JP4886209B2 (ja) 2005-04-15 2005-04-15 アレイコントローラ、当該アレイコントローラを含む情報処理装置及びディスクアレイ制御方法
US11/401,542 US7779202B2 (en) 2005-04-15 2006-04-11 Apparatus and method for controlling disk array with redundancy and error counting

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005118639A JP4886209B2 (ja) 2005-04-15 2005-04-15 アレイコントローラ、当該アレイコントローラを含む情報処理装置及びディスクアレイ制御方法

Publications (2)

Publication Number Publication Date
JP2006301714A JP2006301714A (ja) 2006-11-02
JP4886209B2 true JP4886209B2 (ja) 2012-02-29

Family

ID=37109977

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005118639A Active JP4886209B2 (ja) 2005-04-15 2005-04-15 アレイコントローラ、当該アレイコントローラを含む情報処理装置及びディスクアレイ制御方法

Country Status (2)

Country Link
US (1) US7779202B2 (ja)
JP (1) JP4886209B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100866962B1 (ko) * 2007-03-08 2008-11-05 삼성전자주식회사 Hdd를 하이브리드 hdd에서 노멀 hdd로 전환시키는방법
WO2009040995A1 (ja) * 2007-09-25 2009-04-02 Panasonic Corporation 情報処理装置、情報処理方法
WO2010116514A1 (ja) * 2009-04-09 2010-10-14 富士通株式会社 Raid制御装置
JP2011227709A (ja) * 2010-04-20 2011-11-10 Nec Corp Riadコントローラ装置、raid装置、raid装置の処理方法及びプログラム
US8650471B2 (en) * 2011-06-28 2014-02-11 Dell Products L.P. System and method for look-aside parity based raid
CN102385542B (zh) * 2011-12-13 2013-09-18 云海创想信息技术(无锡)有限公司 一种raid0数据备份的方法及装置
JP5891890B2 (ja) 2012-03-26 2016-03-23 富士通株式会社 ストレージシステム、ストレージ装置およびデータ復元方法
JP6078984B2 (ja) * 2012-05-23 2017-02-15 富士通株式会社 処理装置,処理方法,処理プログラム及び管理装置
US8812915B2 (en) * 2012-09-27 2014-08-19 Hewlett-Packard Development Company, L.P. Determining whether a right to use memory modules in a reliability mode has been acquired
JP5773446B2 (ja) * 2012-11-28 2015-09-02 Necソリューションイノベータ株式会社 記憶装置、冗長性回復方法、およびプログラム
JP6044402B2 (ja) * 2013-03-18 2016-12-14 富士通株式会社 情報処理システム、管理装置、管理装置の制御プログラム、および情報処理システムの制御方法
US9280431B2 (en) 2013-04-17 2016-03-08 Globalfoundries Inc. Prioritizing backups on a disk level within enterprise storage
US9823959B2 (en) 2013-05-13 2017-11-21 Nxp Usa, Inc. Microcontroller unit and method of operating a microcontroller unit
JP2015114873A (ja) * 2013-12-12 2015-06-22 富士通株式会社 情報処理装置および監視方法
JP6532240B2 (ja) * 2015-02-09 2019-06-19 キヤノン株式会社 情報処理装置およびその制御方法
WO2016151845A1 (ja) 2015-03-26 2016-09-29 富士通株式会社 情報処理装置
CN116959513A (zh) * 2022-04-19 2023-10-27 深圳富联富桂精密工业有限公司 硬盘指示灯电路以及硬盘背板

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802264A (en) * 1991-11-15 1998-09-01 Fujitsu Limited Background data reconstruction in a storage device array system
JP3681766B2 (ja) 1994-01-10 2005-08-10 富士通株式会社 ディスクアレイ装置
JP2541780B2 (ja) 1994-04-20 1996-10-09 茨城日本電気株式会社 ミラ―リング磁気ディスク装置
JP3090182B2 (ja) 1995-07-27 2000-09-18 エヌイーシーソフト株式会社 代替セクタの登録方式
JPH09274541A (ja) 1996-04-08 1997-10-21 Canon Inc 記憶装置及び該装置の制御方法及び記憶システム及び該システムの制御方法
JP3120753B2 (ja) * 1997-05-28 2000-12-25 日本電気株式会社 ディスクアレイ装置の障害復旧装置
JPH11184643A (ja) * 1997-12-22 1999-07-09 Nec Corp ディスクアレイ装置の管理方法及びプログラムを記録した機械読み取り可能な記録媒体
JP3601982B2 (ja) 1998-08-11 2004-12-15 日本電気株式会社 ディスクアレイ装置の制御方法及びディスクアレイ装置
JP3682256B2 (ja) * 2001-11-30 2005-08-10 株式会社東芝 ディスクアレイ装置及び同装置におけるパリティ処理方法
JP2004185477A (ja) * 2002-12-05 2004-07-02 Hitachi Ltd 光記憶媒体アレイ装置およびデータ転送方法
JP3960257B2 (ja) 2003-04-25 2007-08-15 セイコーエプソン株式会社 光通信モジュール、光通信装置、及びその製造方法
JP2005100259A (ja) * 2003-09-26 2005-04-14 Hitachi Ltd ドライブの2重障害を防止するアレイ型ディスク装置、プログラム、及び方法
JP2005122338A (ja) * 2003-10-15 2005-05-12 Hitachi Ltd スペアディスクドライブをもつディスクアレイ装置及びデータスペアリング方法
JP4303187B2 (ja) * 2004-11-10 2009-07-29 富士通株式会社 プログラム、記憶制御方法及び記憶装置

Also Published As

Publication number Publication date
US20060236161A1 (en) 2006-10-19
JP2006301714A (ja) 2006-11-02
US7779202B2 (en) 2010-08-17

Similar Documents

Publication Publication Date Title
JP4886209B2 (ja) アレイコントローラ、当該アレイコントローラを含む情報処理装置及びディスクアレイ制御方法
JP5768587B2 (ja) ストレージシステム、ストレージ制御装置およびストレージ制御方法
US6854071B2 (en) Method and apparatus for providing write recovery of faulty data in a non-redundant raid system
US7565573B2 (en) Data-duplication control apparatus
US7783922B2 (en) Storage controller, and storage device failure detection method
JP5887757B2 (ja) ストレージシステム、ストレージ制御装置およびストレージ制御方法
US20050229033A1 (en) Disk array controller and information processing apparatus
US9081697B2 (en) Storage control apparatus and storage control method
US20060136777A1 (en) Unit, method and program for detecting imprecise data
US20150378858A1 (en) Storage system and memory device fault recovery method
JP2006139478A (ja) ディスクアレイシステム
JP4491330B2 (ja) ディスクアレイ装置とそのデータのリカバリ方法およびデータリカバリプログラム
US20070036055A1 (en) Device, method and program for recovering from media error in disk array device
JP4203034B2 (ja) アレイコントローラ、メディアエラー修復方法及びプログラム
JP5040331B2 (ja) 記憶装置、記憶装置の制御方法、及び記憶装置の制御プログラム
JP4143040B2 (ja) ディスクアレイ制御装置、同装置に適用されるデータ欠損検出時の処理方法及びプログラム
JPH1195933A (ja) ディスクアレイ装置
JP2006079219A (ja) ディスクアレイ制御装置およびディスクアレイ制御方法
JP2005107839A (ja) アレイコントローラ及びディスクアレイ再構築方法
JP4248164B2 (ja) ディスクアレイのエラー回復方法、ディスクアレイ制御装置及びディスクアレイ装置
JP2016057876A (ja) 情報処理装置、入出力制御プログラム、及び入出力制御方法
JP6175771B2 (ja) ディスクアレイ装置、バッドセクタ修復方法および修復プログラム
KR20030073982A (ko) 레이드 서브 시스템에서 중복 데이터의 일관성 유지 방법
US20050081088A1 (en) Array controller for disk array, and method for rebuilding disk array
JP4844736B2 (ja) ディスクアレイシステムのデータ同期方法及びコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100407

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100427

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100727

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100803

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20100917

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

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

Free format text: PAYMENT UNTIL: 20141216

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4886209

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20141216

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

Free format text: JAPANESE INTERMEDIATE CODE: R313114

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350