JP4933722B2 - ディスク制御装置、ディスクパトロール方法およびディスクパトロールプログラム - Google Patents

ディスク制御装置、ディスクパトロール方法およびディスクパトロールプログラム Download PDF

Info

Publication number
JP4933722B2
JP4933722B2 JP2004178444A JP2004178444A JP4933722B2 JP 4933722 B2 JP4933722 B2 JP 4933722B2 JP 2004178444 A JP2004178444 A JP 2004178444A JP 2004178444 A JP2004178444 A JP 2004178444A JP 4933722 B2 JP4933722 B2 JP 4933722B2
Authority
JP
Japan
Prior art keywords
disk
patrol
error
group
occurred
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004178444A
Other languages
English (en)
Other versions
JP2006004078A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004178444A priority Critical patent/JP4933722B2/ja
Priority to US10/990,409 priority patent/US20050283651A1/en
Publication of JP2006004078A publication Critical patent/JP2006004078A/ja
Application granted granted Critical
Publication of JP4933722B2 publication Critical patent/JP4933722B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • 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
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1088Scrubbing in RAID systems with parity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

この発明は、複数のディスク装置から順々にデータを読み出し、該ディスク装置の正常性を確認するパトロールを行うディスク制御装置等に関し、特にディスク装置に存在するエラーを早期に発見可能なディスク制御装置、ディスクパトロール方法およびディスクパトロールプログラムに関する。
従来から、複数のハードディスクを一つの論理ボリュームとして扱うディスクアレイ装置が知られている。このディスクアレイ装置の有するハードディスクは、冗長化構成がなされており、万が一あるハードディスクに故障が発生した場合でも、残りのハードディスクに記録されたデータを利用して、故障が発生したハードディスクのデータを復元することが可能である。
しかしながら、ハードディスクに故障が発生し、残りのハードディスクを利用して、故障したハードディスクのデータを復元する際に、残りのハードディスクに読み取りエラーが発生すると、データを復元することができないという問題がある。
そこで、ディスクアレイ装置は、ホストコンピュータからのアクセスとは別に、各ハードディスクに対して、パトロールと呼ばれるアクセスを行い、周期的に、各ハードディスクから順次データを読み出し、読み出しエラーが発生した場合には、読み出しエラーの発生したデータ領域に代わる予備領域を確保し、該予備領域に、対応するデータを記録し、冗長性を保障している。
なお、特許文献1では、ハードディスクが故障した際に、冗長性の高い別の論理グループから故障代替デバイスを取り込んでデータを復元し、冗長性を回復させる技術が公開されている。
特開平10−260789号公報
しかしながら、従来の技術では、ハードディスクに存在するエラーを、早期に発見することができず、ハードディスクが故障した場合の冗長性を保障することができないという問題があった。
具体的には、一度読み取りエラーが発生したハードディスクは、複数箇所で読み取りエラーが発生する可能性が極めて高いにも関わらず、従来の技術では、エラーが発生したハードディスクおよび正常なハードディスクに対して優先順位をつけず順番にパトロールを行うため、一度読み取りエラーの発生したハードディスクに存在する可能性の高い、複数のエラーを早期に発見することができない。
そのため、ハードディスクに対するパトロールが十分行われていない段階で、ハードディスクが故障した場合には、冗長性が保障されないため、残りのハードディスクに読み取りエラーが発生した場合には、故障したハードディスクのデータを確実に復元することができない。
また、パトロールは、ホストコンピュータからのデータアクセスに対する競合を避けるために、連続して行うことはできず、読み取りエラーを早期に発見できないという問題をさらに悪化させている。
この発明は、上述した従来技術による問題点を解消するためになされたものであり、ハードディスクに存在するエラーを早期に発見し、ハードディスクが故障した際の冗長性を保障することができるディスク制御装置を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明は、複数のディスク装置から順々にデータを読み出し、該ディスク装置の正常性を確認するパトロールを行うディスク制御装置であって、少なくとも3つ以上の前記複数のディスク装置を、前記パトロール中に読み取りエラーの発生したエラーディスクグループと、前記パトロール中に読み取りエラーの発生しなかった正常ディスクグループとに分け、当該エラーディスクグループまたは当該正常ディスクグループの中から一定時間ごとにパトロールを行うディスク装置を選択する場合に、前記エラーディスクグループに含まれるディスク装置をすべて選択した後、当該選択したすべてのディスクについてパトロールが完了するのを待って、前記正常ディスクグループに含まれるディスク装置を一つ選択し、当該選択した一つのディスクについてパトロールが完了するのを待って、前記エラーディスクグループに含まれるディスク装置をすべて選択する選択手段と、前記選択手段により選択されたディスク装置からデータを読み取るとともに、読み取りエラーが発生したか否かを判定する判定処理手段と、を備えたことを特徴とする。
また、本発明は、上記発明において、前記パトロール中に読み取りエラーの発生したディスク装置を識別するための識別情報を記憶する記憶手段をさらに備え、前記選択手段は、前記記憶手段に記憶された識別情報をもとにして、読み取りエラーの発生したディスク装置を優先して選択することを特徴とする。
また、本発明は、上記発明において、前記選択手段は、前記パトロール中に読み取りエラーの発生したディスク装置に含まれる全データ領域が、読み取りエラーが発生するか否かを一通り判定された後に、次のディスク装置を選択することを特徴とする。
また、本発明は、複数のディスク装置から順々にデータを読み出し、該ディスク装置の正常性を確認するパトロールを行うディスク制御装置に適用されるディスクパトロール方法であって、少なくとも3つ以上の前記複数のディスク装置を、前記パトロール中に読み取りエラーの発生したエラーディスクグループと、前記パトロール中に読み取りエラーの発生しなかった正常ディスクグループとに分け、当該エラーディスクグループまたは当該正常ディスクグループの中から一定時間ごとにパトロールを行うディスク装置を選択する場合に、前記エラーディスクグループに含まれるディスク装置をすべて選択した後、当該選択したすべてのディスクについてパトロールが完了するのを待って、前記正常ディスクグループに含まれるディスク装置を一つ選択し、当該選択した一つのディスクについてパトロールが完了するのを待って、前記エラーディスクグループに含まれるディスク装置をすべて選択する選択工程と、前記選択工程により選択されたディスク装置からデータを読み取るとともに、読み取りエラーが発生したか否かを判定する判定処理工程と、を含んだことを特徴とする。
また、本発明は、複数のディスク装置から順々にデータを読み出し、該ディスク装置の正常性を確認するパトロールを行うディスク制御装置として機能するコンピュータに実行させるディスクパトロールプログラムであって、前記コンピュータに、少なくとも3つ以上の前記複数のディスク装置を、前記パトロール中に読み取りエラーの発生したエラーディスクグループと、前記パトロール中に読み取りエラーの発生しなかった正常ディスクグループとに分け、当該エラーディスクグループまたは当該正常ディスクグループの中から一定時間ごとにパトロールを行うディスク装置を選択させる場合に、前記エラーディスクグループに含まれるディスク装置をすべて選択した後、当該選択したすべてのディスクについてパトロールが完了するのを待って、前記正常ディスクグループに含まれるディスク装置を一つ選択し、当該選択した一つのディスクについてパトロールが完了するのを待って、前記エラーディスクグループに含まれるディスク装置をすべて選択させる選択手順と、前記選択手順により選択されたディスク装置からデータを読み取るとともに、読み取りエラーが発生したか否かを判定させる判定処理手順と、を実行させることを特徴とする。
本発明によれば、複数のディスク装置のうち、パトロール中に読み取りエラーの発生したディスク装置を優先して選択し、選択したディスク装置からデータを読み取るとともに、読み取りエラーが発生したか否かを判定するので、ディスク装置のエラー箇所を早期に発見することができ、ディスク装置が故障した場合の冗長性を早期に保障することができる。
また、本発明によれば、複数のディスク装置を、パトロール中に読み取りエラーの発生したディスク装置を集めたエラーディスクグループと、正常なディスク装置を集めた正常ディスクグループに分け、エラーディスクグループに含まれるディスク装置に対する読み取りエラーが発生したか否かを判断するので、ディスク装置のエラー箇所を効率よく発見することができ、ディスク装置が故障した場合の冗長性を早期に回復させることができる。
また、本発明によれば、ディスクパトロール中に読み取りエラーの発生したディスク装置に含まれる全データ領域が、読み取りエラー発生するか否かを一通り判定された後に、次のディスク装置を選択し、読み取りエラーが発生したか否かを判断するので、読み取りエラーの発生する可能性が高いディスク装置に対していち早くパトロールを完了することができ、ディスク装置が故障した場合の冗長性を早期に保障することができる。
以下に添付図面を参照して、この発明に係るディスク制御装置、ディスクパトロール方法およびディスクパトロールプログラムの好適な実施の形態を詳細に説明する。
まず、本実施例に係るディスクパトロールの概念について説明する。図1〜3は、本実施例に係るディスクパトロールの概念を説明するための図である。なお、ディスクパトロールとは、周期的に、各ハードディスクから所定量のデータを読み取り、読み取りエラーが発生した場合には、読み取りエラーが発生したデータ領域に代わる領域(以下、予備領域と表記する)を確保し、該予備領域に、対応するデータを記録することである。
図1〜3に示すように、ディスクアレイコントローラ100は、ハードディスク10〜40と接続されている。なお、ここでは説明の便宜上、4台のハードディスク10〜40のみを示したが、このディスクアレイコントローラ100は、任意の台数のハードディスクに接続される。また、図1〜3に示すディスクアレイコントローラ100は、ハードディスク10〜40を用いてRAID(Redundant Array of Inexpensive Disks)を構成している。
図1に示すように、ハードディスク10〜40のいずれも読み出しエラーが発生していない場合には、ディスクアレイコントローラ100は、ハードディスク10、20、30、40、10の順に、順次ディスクパトロールを行う。
また、図2に示すように、ハードディスク10に読み取りエラーが発生し、ハードディスク20〜40が正常な場合には、ハードディスク10に対して重点的にディスクパトロールを行うこととなる。具体的には、ディスクアレイコントローラ100は、ハードディスク10に読み取りエラーが発生した場合には、ハードディスク10、20、10、30、10、40、10の順に、ディスクパトロールを行う。
また、図3に示すように、ハードディスク10、20に読み取りエラーが発生し、ハードディスク30、40が正常な場合には、ハードディスク10、20に対して重点的にディスクパトロールを行うこととなる。具体的に、ディスクコントローラ100は、ハードディスク10、20に読み取りエラーが発生した場合には、ハードディスク10、20、30、10、20、40、10、20、30の順に、ディスクパトロールを行う。
すなわち、ディスクアレイコントローラ100は、まず、読み取りエラーの発生したハードディスク(以下、エラーディスクと表記する)と、読み取りエラーの発生していないディスク(以下、正常なハードディスクと表記する)とのグループに分ける。
そして、エラーディスクのグループ(エラーディスクグループ)と、正常なハードディスクのクループ(正常ディスクグループ)とを交互に選択し、各グループに含まれるハードディスクに対してディスクパトロールを行うわけであるが、エラーディスクグループを選択した場合には、エラーディスクグループに含まれる全てのディスクに対してパトロールを行った後に、正常ディスクグループに含まれるハードディスクを選択してパトロールを行うのに対し、正常ディスクグループに含まれる正常な一つのハードディスクを選択してパトロールを行った後には、エラーディスクグループに含まれるハードディスクを選択してパトロールを行う。
このように、ディスクアレイコントローラ100は、エラーディスクに対して重点的に、ディスクパトロール行うことで、早期に、ハードディスクに存在する他のエラーを検出し、冗長性を回復させることができる。なぜならば、エラーが発生する可能性が高い、読み取りエラーの発生したハードディスクに対して、パトロールの回数が増えるからである。
次に、図1〜3に示したハードディスク10〜40のデータ構造について説明する。図4は、ハードディスク10のデータ構成を示す図である。なお、ここでは、ハードディスク10のデータ構造を示すが、ハードディスク20〜40もハードディスク10と同様のデータ構造を有する。
図4に示すように、ハードディスク10は、ユーザデータ領域と、スペアデータ領域とを有する。ユーザデータ領域は、一般のデータを記憶するデータ領域であり、スペアデータ領域は、ディスクパトロール中において、ユーザデータ領域に読み取りエラーが発生した際に、エラーの発生したデータ領域に代わって、対応するデータを記憶するための予備領域である。
次に、図1〜3に示したディスクアレイコントローラ100の構成について説明する。図5は、図1〜3に示したディスクアレイコントローラ100の構成を示す機能ブロック図である。同図に示すように、この、ディスクアレイコントローラ100は、制御部110と、チャネルアダプタ部120と、バッファ130と、デバイスアダプタ部140とを有する。
制御部110は、ディスクアレイコントローラ100全体を制御する処理部であり、RAID処理部110aと、ハードディスク選択部110bと、ベリファイ実行部110cと、エラー判定部110dと、交換処理実行部110eとを有する。
RAID処理部110aは、チャネルアダプタ部120が図示しないホストコンピュータからデータを受け取った場合に、受け取ったデータを一時バッファ130に記憶させる。そして、RAID処理部110aは、デバイスアダプタ部140を介して、バッファ130に記憶されたデータを、ハードディスク10〜40に分散して書き込む。
例えば、チャネルアダプタ部120が、ホストコンピュータからA,B,C,D,E,Fというデータを順に受け取った場合に、RAID処理部110aは、デバイスアダプタ部130を介して、ハードディスク10にA,C,Eを書き込み、ハードディスク20にB,D,Fを書き込み、ハードディスク30にA,C,Eを書き込み、ハードディスク40にB,D,Fを書き込む。
また、RAID処理部110aは、ホストコンピュータからのデータ要求に応答し、要求されたデータをハードディスク10〜40から検索する。そして、RAID処理部110aは、検索したデータを一旦バッファ130に保存した後に、検索したデータをホストコンピュータに渡す。
ハードディスク選択部110bは、ディスクパトロールを行う複数のハードディスクを次々に選択する処理部である。なお、ハードディスク選択部110bは、エラーディスクを、正常なハードディスクよりも優先して選択する。また、ハードディスク選択部110bは、図6に示すエラー発生管理テーブル200と、選択情報領域210と、エラーハードディスク選択情報領域220とを保持している。
なお、ハードディスク選択部110bは、エラー発生管理テーブル200と、選択情報領域210に記録された情報と、エラーディスク選択情報領域220に記録された情報とを利用して、ディスクパトロールを行うハードディスクを選択することになる。
エラー発生管理テーブル200は、どのハードディスクに読み出しエラーが発生したのかを管理するためのテーブルである。例えば、図6に示すエラー発生管理テーブル200では、ハードディスク10に読み出しエラーが発生し、ハードディスク20〜40は正常であることを表している。この場合、ハードディスク選択部110bは、ハードディスク10、20、10、30、10、40の順にディスクパトロールを行うハードディスクを選択する。なお、エラー発生管理テーブル200の内容は、後述するエラー判定部110dによって更新されることになる。
また、ハードディスク選択部110bは、後述するベリファイ実行部110cから、エラーディスクに含まれる全てのデータ対して、一通り、データを読み取った結果、再び、読み取りエラーが発生しなかった旨の情報を受信した場合に、エラー発生管理テーブル200の対応するハードディスクのエラー情報を「発生」から「なし」に変更する。この場合、次に読み取りエラーが発生するまでは、正常なハードディスクとして扱うためである(すなわち、エラーディスクグループに属していたハードディスクを、正常ディスクグループに戻すことで、該ハードディスクに対するパトロールの優先度レベルが元に戻る)。
選択情報領域210は、ハードディスク選択部110bが、正常なハードディスクの内、最後に選択したハードディスクを識別するための識別情報を記憶している。例えば、図6に示す選択情報領域210には、識別情報が20である。図6は、正常なハードディスクの内、ハードディスク選択部110bが最後に選択したハードディスクが、ハードディスク20であることを示している。
エラーディスク選択情報領域220は、ハードディスク選択部110bが最後に選択したハードディスクが、エラーディスクであったか、正常なハードディスクであったかを示す情報を記録している。
具体的には、エラーディスク選択情報領域220に記録された情報が、「オン」ならば、最後に選択したハードディスクは、エラーディスクである旨を示し、「オフ」ならば、最後に選択したハードディスクは、正常なハードディスクである旨を示す。
ベリファイ実行部110cは、ハードディスク選択部110bが選択したハードディスクから所定量のデータを読み取り、読み取ったデータをエラー判定部に渡す。また、ベリファイ実行部110cは、選択されたハードディスクから所定量のデータを読み取った際に、読み出したデータを格納していたデータ領域の位置を記憶する。
そして、ハードディスク選択部110bによって、再び同じハードディスクが選択された場合に、記憶したデータ領域の次のデータ領域から所定量のデータを読み出し、読み出したデータをエラー判定部110dに渡す。
また、ベリファイ実行部110cは、エラー判定部110dからエラーが発生した旨の情報を受け取った場合には、ハードディスクのエラーの発生したデータ領域を記憶する。そして、再び読み取りエラーが発生することなく、エラーディスクに含まれる全てのデータから、一通りデータを読み出した場合には、その旨をハードディスク選択部110bに通知する。
エラー判定部110dは、ベリファイ実行部110cが読み出したデータを取得し、読み取りエラーが発生したか否かを判定する処理部である。そして、エラー判定部110dは、読み取りエラーが発生したと判定した場合には、読み取りエラーが発生した旨の情報をハードディスク選択部110b、ベリファイ実行部110cおよび交換処理実行部110eに渡す。
また、エラー判定部110dは、各ハードディスクに発生するエラー回数をカウントし、エラー回数が所定回数以上になった場合には、エラー回数が所定回数以上になったハードディスクを切り離す。
交換処理実行部110eは、エラー判定部110dからエラーが発生した旨の情報を受け取った場合に、ハードディスクのスペアデータ領域に、読み取りエラーの発生領域の代わりとなる予備領域を割り当て、割り当てた予備領域に、読み取りエラー発生領域に対するデータを、他のハードディスクから取得したデータに基づいて復元し、予備領域に書き込む。
次に、ディスクアレイコントローラ100が行う、ディスクパトロール処理について説明する。図7は、ディスクパトロール処理の処理手順を示すフローチャートである。同図に示すように、ハードディスク選択部110bがハードディスク選択処理を行い(ステップS101)、ベリファイ実行部110cが選択されたハードディスクから所定量のデータを読み出し(ステップS102)、エラー判定部110dが読み出しエラーが発生したかを確認する(ステップS103)。
読み取りエラーが発生した場合には(ステップS103,Yes)、ハードディスク選択部110bは、エラー発生管理テーブル200の、対応するハードディスクに、エラーが発生した旨が記入されているかを判定し(ステップS104)、エラーが発生した旨が記入されていない場合には(ステップS104,No)、エラーが発生した旨をエラー発生管理テーブル200に記入し(ステップS105)、交換処理実行部110eが交換処理を行う(ステップS106)。
なお、エラー発生管理テーブル200の対応するハードディスクにエラーが発生した旨がすでに記入されている場合には(ステップS104,Yes)、そのままステップS106に移行する。
一方、読み出しエラーが発生していない場合には(ステップS103,No)、選択されたハードディスク全てに対して、ディスクパトロールを行ったかを判定し(ステップS107)、選択されたハードディスク全てに対してディスクパトロールを行っていない場合には(ステップS107,No)、一定時間待ち(ステップS108)、次のハードディスクを選択し(ステップS109)、ステップS102に移行する。
一方、選択されたハードディスク全てに対してディスクパトロールを行った場合には(ステップS107)、ディスクパトロールを継続するか否かを判定し(ステップS110)、ディスクパトロールを継続すると判定した場合には(ステップS110)、一定時間待った後(ステップS111)、ステップS101に移行する。一方、ディスクパトロールを継続しないと判定した場合には(ステップS110,No)、処理を終了する。
次に、図7に示したディスクパトロール処理の補足説明を図2および3を用いておこなう。図2のように読み取りエラーの発生したハードディスクが、ハードディスク10だけの場合には、ステップS101のハードディスク選択処理において、ハードディスク選択部110bは、ハードディスクを、10、20、10、30、10、40の順に選択する。
なお、図3のように、読み取りエラーの発生したハードディスクが、ハードディスク10および20の場合には、ステップS101のハードディスク選択処理において、ハードディスク選択部110bは、ハードディスク10および20をまとめて選択する。そして、ステップS102において、まず、ハードディスク10から所定量のデータを読み出し、エラーチェックを行う。
そして、ステップS109において、残りハードディスク20を選択して、エラーチェックを行い、ステップS110に移行することとなる。すなわち、ハードディスク10および20に読み取りエラーが発生した場合に、ハードディスク選択部110bは、ハードディスクを、10、20、30、10、20、40、10、20、30、10、20、40の順に選択する。
次に、図7のステップS101で示したハードディスク選択処理について説明する。図8は、ハードディスク選択処理の処理手順を示すフローチャートである。同図に示すように、ハードディスク選択部110bは、読み取りエラーの発生したディスクは存在するか否かを判断する(ステップS201)。
そして、読み取りエラーが発生したハードディスクが存在しない場合には(ステップS201,No)、選択情報領域210に記録された識別情報を基に、次のハードディスクを選択し(ステップS202)、選択情報領域210に記録された識別情報を、新たに選択したハードディスクの識別情報に更新し(ステップS203)、エラーディスク選択情報領域220の情報をオフにする(ステップS204)。
一方、読み取りエラーが発生したハードディスクが存在する場合には(ステップS202,Yes)、読み取りエラーの発生したハードディスクの中で、選択情報領域210の識別情報に対応するハードディスクと同じハードディスクが含まれるかを判定する(ステップS205)。
読み取りエラーの発生したハードディスクの中で、識別情報に対応するハードディスクが存在する場合には(ステップS205,Yes)、ステップS202に移行する。
一方、読み取りエラーの発生したハードディスクの中で、識別情報に対応するハードディスクが存在しない場合には(ステップS205,No)、エラーディスク選択情報領域220の情報がオンか否かを判定する(ステップS206)。
エラーディスク選択情報領域220の情報がオンの場合には(ステップS206,Yes)、ステップS202に移行する。
一方、エラーディスク選択情報領域220の情報がオフの場合には(ステップS206,No)、読み取りエラーの発生したハードディスクを全て選択し(ステップS207)、エラーディスク選択情報領域220の情報をオンにする(ステップS208)。
なお、図8のフローチャートのS201で行われるエラーが発生したか否かの判断は、ハードディスク選択部110bが、エラー発生管理テーブル200を基に判断する。
次に、図7のステップS106で示した交換処理について説明する。図9は、交換処理の処理手順を示すフローチャートである。
図9に示すように、交換処理実行部110eが、読み出しエラー発生箇所に対する予備領域を割り当て(ステップS301)、エラー発生箇所に対応するデータを検索し(ステップS302)、検索したデータを、割り当てた予備領域に書き込む(ステップS303)。
上述してきたように、本実施例に係るディスクアレイコントローラ100では、ハードディスク選択部110bが、読み取りエラーの発生したハードディスクを優先的に選択し、ベリファイ実行部110cが、選択されたハードディスクから所定量のデータを読み取り、エラー判定部110dが、読み取りエラーが発生したかを判定し、読み取りエラーが発生した場合には、交換処理実行部110eが予備領域を確保し、該予備領域に、対応するデータを記録する。
そのため、正常なハードディスクよりも、読み取りエラーが複数箇所で発生する可能性の高い、エラーディスクに対して重点的にディスクパトロールを行うことができ、早期にエラー領域を検出し、ハードディスクが故障した場合の冗長性を早期に保障することができる。
なお、ディスクパトロールを行うハードディスクを選択する選択手順は、本実施例に示した選択手順に限定されるものではなく、例えば、ハードディスクに読み取りエラーが発生した場合に、正常なハードディスクを後回しにし、エラーディスクに対して集中的にディスクパトロールを行っても良い。
すなわち、ハードディスク10に読み取りエラーが発生したならば、まず、ハードディスク10に含まれる全てのデータに対してディスクパトロールを行い、ハードディスク10に対するディスクパトロールが終了した後に、通常のディスクパトロールに移行することができる。
図10は、エラーディスクに対して集中的にディスクパトロールを行う処理手順を示すフローチャートである。
図10に示すように、ハードディスク選択部110bが、ハードディスクを選択し(ステップS401)、ベリファイ実行部110cが、選択されたハードディスクから所定量のデータを読み出し(ステップS402)、エラー判定部110dが、読み出しエラーが発生したかを判定する(ステップS403)。
読み出しエラーが発生していない場合には(ステップS403,No)、ディスクパトロールを継続するか否かを判定し(ステップS404)、ディスクパトロールを継続する場合には(ステップS404,Yes)、一定時間待ち(ステップS405)、次のハードディスクを選択し(ステップS406)、ステップS402に移行する。なお、ディスクパトロールを継続しない場合には(ステップS404,No)、処理を終了する。
一方、読み出しエラーが発生した場合には(ステップS403,Yes)、交換処理を行い(ステップS407)、一定時間待ち(ステップS408)、エラーが発生したハードディスクから所定量のデータを読み出し(ステップS409)、読み出しエラーが発生したか否かを判定する(ステップS410)。
読み出しエラーが発生した場合には(ステップS410,Yes)、ステップS408に移行する。一方、読み出しエラーが発生していない場合には(ステップS410,No)、読み取りエラーの発生した領域以外のデータ領域から、一通りデータを読み出したか否かを判定する(ステップS411)。
一通りデータを読み出していない場合には(ステップS411,No)、ステップS408に移行する。一方、一通りデータを読み出した場合には(ステップS411,Yes)、一定時間待ち(ステップS412)、次のハードディスクを選択し(ステップS413)、ステップS403に移行する。
このように、読み取りエラーが複数発生する可能性の高い、エラーディスクに対して集中的にディスクパトロールを行うことで、エラー箇所を効率よく検出することができ、もってハードディスクが故障した際の冗長性を早期に回復することができる。
なお、図10のステップS407で示した交換処理は、図9に示した交換処理と同様であるため、説明を省略する。
(付記1)複数のディスク装置から順々にデータを読み出し、該ディスク装置の正常性を確認するパトロールを行うディスク制御装置であって、
前記複数のディスク装置のうち、前記パトロール中に読み取りエラーの発生したディスク装置を優先して選択する選択手段と、
前記選択手段が選択したディスク装置からデータを読み取るとともに、読み取りエラーが発生したか否かを判定する判定処理手段と、
を備えたことを特徴とするディスク制御装置。
(付記2)前記パトロール中に読み取りエラーの発生したディスク装置を識別するための識別情報を記憶する記憶手段をさらに備え、前記選択手段は、前記記憶手段に記憶された識別情報をもとにして、読み取りエラーの発生したディスク装置を優先して選択することを特徴とする付記1に記載のディスク制御装置。
(付記3)前記選択手段は、前記複数のディスク装置を、前記パトロール中に読み取りエラーの発生したディスク装置を集めたエラーディスクグループと、正常なディスク装置を集めた正常ディスクグループとに分け、前記エラーディスクグループに含まれるディスク装置を全て選択した後に、前記正常ディスクグループに切り替え、前記正常ディスクグループに含まれるディスク装置を1つ選択した後に、前記エラーディスクグループに切り替えることを特徴とする付記1に記載のディスク制御装置。
(付記4)前記選択手段は、前記パトロール中に読み取りエラーの発生したディスク装置に含まれる全データ領域が、読み取りエラーが発生するか否かを一通り判定された後に、次のディスク装置を選択することを特徴とする付記1に記載のディスク制御装置。
(付記5)複数のディスク装置から順々にデータを読み出し、該ディスク装置の正常性を確認するパトロールを行うディスクパトロール方法であって、
前記複数のディスク装置のうち、前記パトロール中に読み取りエラーの発生したディスク装置を優先して選択する選択工程と、
前記選択工程において、選択したディスク装置からデータを読み取るとともに、読み取りエラーが発生したか否かを判定する判定処理工程と、
を含んだことを特徴とするディスクパトロール方法。
(付記6)前記パトロール中に読み取りエラーの発生したディスク装置を識別するための識別情報を記憶装置に記憶させる記憶工程をさらに含み、前記選択工程は、前記記憶装置に記憶された識別情報をもとにして、読み取りエラーの発生したディスク装置を優先して選択することを特徴とする付記5に記載のディスクパトロール方法。
(付記7)前記選択工程は、前記複数のディスク装置を、前記パトロール中に読み取りエラーの発生したディスク装置を集めたエラーディスクグループと、正常なディスク装置を集めた正常ディスクグループとに分け、前記エラーディスクグループに含まれるディスク装置を全て選択した後に、前記正常ディスクグループに切り替え、前記正常ディスクグループに含まれるディスク装置を1つ選択した後に、前記エラーディスクグループに切り替えることを特徴とする付記5に記載のディスクパトロール方法。
(付記8)前記選択工程は、前記パトロール中に読み取りエラーの発生したディスク装置に含まれる全データ領域が、読み取りエラーが発生するか否かを一通り判定された後に、次のディスク装置を選択することを特徴とする付記5に記載のディスクパトロール方法。
(付記9)複数のディスク装置から順々にデータを読み出し、該ディスク装置の正常性を確認するパトロールを行うディスクパトロールプログラムであって、
前記複数のディスク装置のうち、前記パトロール中に読み取りエラーの発生したディスク装置を優先して選択する選択手順と、
前記選択手順において、選択したディスク装置からデータを読み取るとともに、読み取りエラーが発生したか否かを判定する判定処理手順と、
をコンピュータに実行させることを特徴とするディスクパトロールプログラム。
(付記10)前記パトロール中に読み取りエラーの発生したディスク装置を識別するための識別情報を記憶装置に記憶させる記憶手順をさらにコンピュータに実行させ、前記選択手順は、前記記憶装置に記憶された識別情報をもとにして、読み取りエラーの発生したディスク装置を優先して選択することを特徴とする付記9に記載のディスクパトロールプログラム。
(付記11)前記選択手順は、前記複数のディスク装置を、前記パトロール中に読み取りエラーの発生したディスク装置を集めたエラーディスクグループと、正常なディスク装置を集めた正常ディスクグループとに分け、前記エラーディスクグループに含まれるディスク装置を全て選択した後に、前記正常ディスクグループに切り替え、前記正常ディスクグループに含まれるディスク装置を1つ選択した後に、前記エラーディスクグループに切り替えることを特徴とする付記9に記載のディスクパトロールプログラム。
(付記12)前記選択手順は、前記パトロール中に読み取りエラーの発生したディスク装置に含まれる全データ領域が、読み取りエラーが発生するか否かを一通り判定された後に、次のディスク装置を選択することを特徴とする付記9に記載のディスクパトロールプログラム。
以上説明したように、本発明にかかるディスク制御装置、ディスクパトロール方法およびディスクパトロールプログラムは、複数のハードディスクを利用してRAIDを構成するRAIDシステムなどに対して有効である。
本発明に係るディスクパトロールの概念を説明するための図(1)である。 本発明に係るディスクパトロールの概念を説明するための図(2)である。 本発明に係るディスクパトロールの概念を説明するための図(3)である。 ハードディスクのデータ構成を示す図である。 図1〜3に示したディスクアレイコントローラの構成を示す機能ブロック図である。 ハードディスク選択部が保持するエラー発生管理テーブル、選択情報領域およびエラーディスク選択情報領域を示す図である。 ディスクパトロール処理の処理手順を示すフローチャートである。 ハードディスク選択処理の処理手順を示すフローチャートである。 交換処理の処理手順を示すフローチャートである。 エラーディスクに対して集中的にディスクパトロールを行う処理手順を示すフローチャートである。
符号の説明
10,20,30,40 ハードディスク
100 ディスクアレイコントローラ
110 制御部
110a RAID処理部
110b ハードディスク選択部
110c ベリファイ実行部
110d エラー判定部
110e 交換処理実行部
120 チャネルアダプタ部
130 バッファ
140 デバイスアダプタ部

Claims (5)

  1. 複数のディスク装置から順々にデータを読み出し、該ディスク装置の正常性を確認するパトロールを行うディスク制御装置であって、
    少なくとも3つ以上の前記複数のディスク装置を、前記パトロール中に読み取りエラーの発生したエラーディスクグループと、前記パトロール中に読み取りエラーの発生しなかった正常ディスクグループとに分け、当該エラーディスクグループまたは当該正常ディスクグループの中から一定時間ごとにパトロールを行うディスク装置を選択する場合に、前記エラーディスクグループに含まれるディスク装置をすべて選択した後、当該選択したすべてのディスクについてパトロールが完了するのを待って、前記正常ディスクグループに含まれるディスク装置を一つ選択し、当該選択した一つのディスクについてパトロールが完了するのを待って、前記エラーディスクグループに含まれるディスク装置をすべて選択する選択手段と、
    前記選択手段により選択されたディスク装置からデータを読み取るとともに、読み取りエラーが発生したか否かを判定する判定処理手段と、
    を備えたことを特徴とするディスク制御装置。
  2. 前記パトロール中に読み取りエラーの発生したディスク装置を識別するための識別情報を記憶する記憶手段をさらに備え、前記選択手段は、前記記憶手段に記憶された識別情報をもとにして、読み取りエラーの発生したディスク装置を優先して選択することを特徴とする請求項1に記載のディスク制御装置。
  3. 前記選択手段は、前記パトロール中に読み取りエラーの発生したディスク装置に含まれる全データ領域が、読み取りエラーが発生するか否かを一通り判定された後に、次のディスク装置を選択することを特徴とする請求項1に記載のディスク制御装置。
  4. 複数のディスク装置から順々にデータを読み出し、該ディスク装置の正常性を確認するパトロールを行うディスク制御装置に適用されるディスクパトロール方法であって、
    少なくとも3つ以上の前記複数のディスク装置を、前記パトロール中に読み取りエラーの発生したエラーディスクグループと、前記パトロール中に読み取りエラーの発生しなかった正常ディスクグループとに分け、当該エラーディスクグループまたは当該正常ディスクグループの中から一定時間ごとにパトロールを行うディスク装置を選択する場合に、前記エラーディスクグループに含まれるディスク装置をすべて選択した後、当該選択したすべてのディスクについてパトロールが完了するのを待って、前記正常ディスクグループに含まれるディスク装置を一つ選択し、当該選択した一つのディスクについてパトロールが完了するのを待って、前記エラーディスクグループに含まれるディスク装置をすべて選択する選択工程と、
    前記選択工程により選択されたディスク装置からデータを読み取るとともに、読み取りエラーが発生したか否かを判定する判定処理工程と、
    を含んだことを特徴とするディスクパトロール方法。
  5. 複数のディスク装置から順々にデータを読み出し、該ディスク装置の正常性を確認するパトロールを行うディスク制御装置として機能するコンピュータに実行させるディスクパトロールプログラムであって、
    前記コンピュータに、
    少なくとも3つ以上の前記複数のディスク装置を、前記パトロール中に読み取りエラーの発生したエラーディスクグループと、前記パトロール中に読み取りエラーの発生しなかった正常ディスクグループとに分け、当該エラーディスクグループまたは当該正常ディスクグループの中から一定時間ごとにパトロールを行うディスク装置を選択させる場合に、前記エラーディスクグループに含まれるディスク装置をすべて選択した後、当該選択したすべてのディスクについてパトロールが完了するのを待って、前記正常ディスクグループに含まれるディスク装置を一つ選択し、当該選択した一つのディスクについてパトロールが完了するのを待って、前記エラーディスクグループに含まれるディスク装置をすべて選択させる選択手順と、
    前記選択手順により選択されたディスク装置からデータを読み取るとともに、読み取りエラーが発生したか否かを判定させる判定処理手順と、
    を実行させることを特徴とするディスクパトロールプログラム。
JP2004178444A 2004-06-16 2004-06-16 ディスク制御装置、ディスクパトロール方法およびディスクパトロールプログラム Expired - Fee Related JP4933722B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004178444A JP4933722B2 (ja) 2004-06-16 2004-06-16 ディスク制御装置、ディスクパトロール方法およびディスクパトロールプログラム
US10/990,409 US20050283651A1 (en) 2004-06-16 2004-11-18 Disk controller, disk patrol method, and computer product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004178444A JP4933722B2 (ja) 2004-06-16 2004-06-16 ディスク制御装置、ディスクパトロール方法およびディスクパトロールプログラム

Publications (2)

Publication Number Publication Date
JP2006004078A JP2006004078A (ja) 2006-01-05
JP4933722B2 true JP4933722B2 (ja) 2012-05-16

Family

ID=35481956

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004178444A Expired - Fee Related JP4933722B2 (ja) 2004-06-16 2004-06-16 ディスク制御装置、ディスクパトロール方法およびディスクパトロールプログラム

Country Status (2)

Country Link
US (1) US20050283651A1 (ja)
JP (1) JP4933722B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060168499A1 (en) * 2005-01-27 2006-07-27 Edwards Jathan D Data archive verify software
US20060294412A1 (en) * 2005-06-27 2006-12-28 Dell Products L.P. System and method for prioritizing disk access for shared-disk applications
JP2007233915A (ja) * 2006-03-03 2007-09-13 Nec System Technologies Ltd ディスクアレイ制御装置及びエラー監視方法並びにプログラム
JP2008197886A (ja) * 2007-02-13 2008-08-28 Nec Corp ストレージ装置及びその制御方法
JP5849491B2 (ja) 2011-07-22 2016-01-27 富士通株式会社 ディスク制御装置、ディスク装置異常検出方法、及びプログラム
CN102541466A (zh) * 2011-10-27 2012-07-04 忆正存储技术(武汉)有限公司 一种混合存储控制系统和方法
JP6224186B1 (ja) * 2016-08-01 2017-11-01 株式会社東芝 Raidストレージシステム、ストレージコントローラ及びraidアレイパトロール方法
CN111913647B (zh) * 2019-05-08 2022-10-11 华为技术有限公司 一种存储设备的磨损均衡方法、装置及相关设备
CN113157490B (zh) * 2021-04-01 2023-12-26 深圳市纽创信安科技开发有限公司 一种芯片内嵌的Flash存储器和存储控制方法
KR20240001414A (ko) * 2022-06-27 2024-01-03 삼성전자주식회사 복수의 ssd를 포함하는 스토리지 시스템 및 그것의 운용 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6162955A (ja) * 1984-09-05 1986-03-31 Fujitsu Ltd デ−タ処理システムにおける入出力系の診断方式
JPH0574059A (ja) * 1991-03-18 1993-03-26 Hitachi Ltd デイスク装置の診断方式
JP3176207B2 (ja) * 1994-01-26 2001-06-11 ブラザー工業株式会社 映像再生装置
US5822584A (en) * 1995-10-13 1998-10-13 Compaq Computer Corporation User selectable priority for disk array background operations
JP3695856B2 (ja) * 1996-09-04 2005-09-14 富士通株式会社 磁気ディスク制御装置
JP3618529B2 (ja) * 1997-11-04 2005-02-09 富士通株式会社 ディスクアレイ装置
US6327674B1 (en) * 1997-12-09 2001-12-04 Kabushiki Kaisha Toshiba Digital information recording and reproducing system and defect managing system applied to the same
JP3737293B2 (ja) * 1998-10-14 2006-01-18 アルプス電気株式会社 ディスク装置
JP2001195377A (ja) * 2000-01-17 2001-07-19 Nec Software Kyushu Ltd 孤立判定システムとその管理方法及び記録媒体
JP2001265538A (ja) * 2000-03-16 2001-09-28 Matsushita Electric Ind Co Ltd ディスク装置の故障を予測する故障予測装置、媒体、および情報集合体

Also Published As

Publication number Publication date
US20050283651A1 (en) 2005-12-22
JP2006004078A (ja) 2006-01-05

Similar Documents

Publication Publication Date Title
JP2501752B2 (ja) コンピユ―タ・システムのストレ―ジ装置及びデ―タのストア方法
US7587631B2 (en) RAID controller, RAID system and control method for RAID controller
US8117409B2 (en) Method and apparatus for backup and restore in a dynamic chunk allocation storage system
JP3699166B2 (ja) 階層データ記憶装置のデータ損失を監視する方法
US8751740B1 (en) Systems, methods, and computer readable media for performance optimization of storage allocation to virtual logical units
US20050229033A1 (en) Disk array controller and information processing apparatus
JP3184171B2 (ja) ディスクアレイ装置、そのエラー制御方法、ならびにその制御プログラムを記録した記録媒体
JP3682256B2 (ja) ディスクアレイ装置及び同装置におけるパリティ処理方法
US8266475B2 (en) Storage management device, storage management method, and storage system
JP4252139B2 (ja) 記憶装置システム
JP4493321B2 (ja) ディスクアレイ装置及びデータ退避方法
JP2005122338A (ja) スペアディスクドライブをもつディスクアレイ装置及びデータスペアリング方法
JP2016057795A (ja) ストレージ制御装置,ストレージシステム及びストレージ制御プログラム
JP2014137711A (ja) ストレージ装置、バックアッププログラム、およびバックアップ方法
JP4933722B2 (ja) ディスク制御装置、ディスクパトロール方法およびディスクパトロールプログラム
JP2006190039A (ja) 情報処理システム及び一次ストレージ装置
US20060015769A1 (en) Program, method and apparatus for disk array control
US7752405B2 (en) Data recording apparatus, program product, and data recording method
US20100169572A1 (en) Data storage method, apparatus and system for interrupted write recovery
US7200771B2 (en) Relocation batch processing for disk drives
JP5292813B2 (ja) ストレージ装置と方法とプログラム
JP3845239B2 (ja) ディスクアレイ装置及びディスクアレイ装置における障害復旧方法
JP3428350B2 (ja) 記憶装置システム
JP6957845B2 (ja) ストレージ制御装置及びストレージ装置
JP2000172570A5 (ja) 情報記録装置並びにこの装置におけるデータの入出力方法及び再構築方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100201

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101026

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110125

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110201

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20110401

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120123

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees