(57)【特許請求の範囲】
【請求項１】
複数の物理ディスクによりＲＡＩＤ構成されるボリュームに対して読書きするディスクアレイ装置であって、
過去にエラーが発生した履歴のある物理ディスクのセクタについてのディスク番号及びセクタ番号を格納するテーブルと、
前記テーブルを参照し、アクセス対象の前記物理ディスクのセクタにエラー履歴が存在するか否かをチェックし、エラー履歴が存在しない場合、当該物理ディスクのセクタへの読書きを行い、エラー履歴が存在する場合、当該物理ディスクのセクタへの読書きを行わないように制御する制御部と
を備え、
前記制御部は、書き込みを行わなかったセクタの数と、書き込みを行ったがエラーとなったセクタの数との合計が１以下である場合に、書き込みが正常終了したと判断することを特徴とするディスクアレイ装置。
【請求項２】
前記制御部は、
前記エラーが発生した履歴のある物理ディスクのセクタが存在する場合、当該セクタを有する物理ディスク以外の物理ディスクを用いて読書きを行う
ことを特徴とする請求項１に記載のディスクアレイ装置。
【請求項３】
複数の物理ディスクによりＲＡＩＤ構成されるボリュームに対して読書きするディスクアレイ装置の制御方法であって、
制御部が、過去にエラーが発生した履歴のある物理ディスクのセクタについてのディスク番号及びセクタ番号を格納するテーブルを参照し、アクセス対象の前記物理ディスクのセクタにエラー履歴が存在するか否かをチェックする第１のステップと、
前記制御部が、エラー履歴が存在しない場合、当該物理ディスクのセクタへの読書きを行い、エラー履歴が存在する場合、当該物理ディスクのセクタへの読書きを行わないように制御する第２のステップと、
前記制御部が、書き込みを行わなかったセクタの数と、書き込みを行ったがエラーとなったセクタの数との合計が１以下である場合に、書き込みが正常終了したと判断する第３のステップと、
を備えることを特徴とするディスクアレイ装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冗長の物理ディスクを有することにより可用性を高めるＲＡＩＤ構成のディスクアレイ装置及びその制御方法に関する。
【背景技術】
【０００２】
従来、冗長の物理ディスクによりボリュームを構成し、可用性を高めるＲＡＩＤ（Redundant Arrays of Independent Disks）構成のストレージ装置において、冗長の物理ディスクに障害が発生した場合、当該冗長の物理ディスクが冗長構成でなくなるデグレード状態となる。
【０００３】
一方、特許文献１には、物理ディスクのストライプ列によるＲＡＩＤグループの中により小さな単位の仮想的な複数個の論理区画単位により仮閉塞領域を設定し、上位からの命令受領から応答までの監視時間が所定時間を超えた場合に障害が発生したと判断し、該障害が発生した仮閉塞領域を仮閉塞するディスクアレイ装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２７６１３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
デグレード状態から障害の発生した物理ディスクの交換によりボリュームを再構築するときに、障害が発生していない物理ディスクの潜在エラーが顕在化することがある。この場合、ＲＡＩＤの冗長性が失われているため、ボリュームの再構築を継続できなくなり、結局、ボリューム内のデータが失われるという問題がある。かかる問題に対しては、特許文献１のように、障害が発生した仮閉塞領域を仮閉塞することで対応することが考えられる。
【０００６】
しかしながら、物理ディスクの障害には、物理ディスクのディスクプラッタ面の微小な欠損により部分的にアクセスができなくなるケースがあるところ、特許文献１のディスクアレイ装置は、いずれかの物理ディスクで障害が発生した後に障害管理のテーブルを参照して、他の物理ディスクからのデータ修復を行う構成であるため、実際に障害のあるディスクプラッタ面へのアクセスが発生し、ディスクプラッタ面の障害が拡散するおそれがある。
【０００７】
本発明は以上の点を考慮してなされたものであり、信頼性を向上させ得るディスクアレイ装置及びその制御方法を提案するものである。
【課題を解決するための手段】
【０００８】
かかる課題を解決するために本発明は、複数の物理ディスクにより構成されるボリュームに対して読書きするディスクアレイ装置であって、過去にエラーが発生した履歴のある物理ディスクのセクタについてのディスク番号及びセクタ番号を格納するテーブルと、前記テーブルを参照し、アクセス対象の前記物理ディスクのセクタにエラー履歴が存在するか否かをチェックし、エラー履歴が存在しない場合、当該物理ディスクのセクタへの読書きを行う制御部とを備えることを特徴とする。
【０００９】
また、本発明は、複数の物理ディスクにより構成されるボリュームに対して読書きするディスクアレイ装置の制御方法であって、制御部が、過去にエラーが発生した履歴のある物理ディスクのセクタについてのディスク番号及びセクタ番号を格納するテーブルを参照し、アクセス対象の前記物理ディスクのセクタにエラー履歴が存在するか否かをチェックする第１のステップと、前記制御部が、エラー履歴が存在しない場合、当該物理ディスクのセクタへの読書きを行う第２のステップとを備えることを特徴とする。
【００１０】
従って、エラーが物理ディスクのディスクプラッタ面上の欠陥によるものであった場合、この欠陥を含むセクタに繰り返し読書きすることによって欠陥が拡散するのを未然かつ有効に防止し、ストレージシステム全体の可用性を高めることができる。
【００１１】
具体的に、本発明は、コントローラ部５内に、論理ボリュームを構成する各ディスクの書き込み及び読み出しのエラーをセクタ単位に（リソース量を考慮して複数セクタとしても良い）管理するエラー履歴管理テーブル２４を備える。
【００１２】
コントローラ部５は、論理ボリュームへのアクセス時には論理ボリュームを構成する冗長の物理ディスク装置７にアクセスするが、アクセス前に、エラー履歴管理テーブル２４を参照し、アクセスしようとしている物理ディスク装置７のセクタにエラーの履歴があった場合、当該物理ディスク装置７のセクタのみアクセスを行わない。一方、コントローラ部５は、エラーの履歴がエラー履歴管理テーブル２４に登録されていない場合、該当する物理ディスク装置７にアクセスを行うが、いずれかの物理ディスク装置７でエラーが発生した場合、そのディスクＩＤ及びエラーが発生したセクタ番号をエラー履歴管理テーブル２４に登録する。
【発明の効果】
【００１３】
本発明によれば、信頼性を向上させ得るディスクアレイ装置及びその制御方法を実現することができる。
【図面の簡単な説明】
【００１４】
【図１】ストレージシステムのハードウェア構成を示すブロック図の一例である。
【図２】ストレージシステムの機能的構成を示すブロック図の一例である。
【図３】エラー履歴管理テーブルの説明に供する概念図の一例である。
【図４】データ書き込み処理手順を示すフローチャートの一例である。
【図５】データ書き込み処理手順を示すフローチャートの一例である。
【図６】データ読み出し処理手順を示すフローチャートの一例である。
【図７】データ読み出し処理手順を示すフローチャートの一例である。
【図８】他実施形態のエラー履歴管理テーブルの説明に供する概念図の一例である。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施の形態を、図面を参照して詳細に説明する。なお、これにより本発明が限定されるものではない。
【００１６】
図１は、本実施の形態によるストレージシステム１のハードウェア構成の一例を示している。ストレージシステム１は、複数のホスト計算機２がネックワーク３を介してディスクアレイ装置４に接続されることにより構成されている。
【００１７】
ホスト計算機２は、例えば、ＣＰＵ（Central Processing Unit）やメモリ等の情報処理資源、情報入力装置、情報出力装置を備えたコンピュータ装置である。ホスト計算機２は、例えば、書き込み要求をディスクアレイ装置４に送信して、対応するデータをディスクアレイ装置４に書き込む。また、ホスト計算機２は、例えば、読み出し要求をディスクアレイ装置４に送信し、対応するデータをディスクアレイ装置４から読み出す。
【００１８】
ネットワーク３は、例えば、ＬＡＮ（Local Area Network）、ＳＡＮ（Storage Area Network）、インターネット、専用回線、公衆回線等を場合に応じて適宜用いることができる。
【００１９】
ディスクアレイ装置４は、例えば、コントローラ部５及び記憶部６により構成されている。ディスクアレイ装置４は、コントローラ部５を最低１つ備えている。コントローラ部５は、当該ディスクアレイ装置４全体を制御する。記憶部６は、ホスト計算機２から受信したデータを格納する複数の物理ディスク装置７により構成されている。
【００２０】
コントローラ部５は、ホストインタフェース１１、ＣＰＵ１２、メモリ１３及びディスクインタフェース１４により構成されている。ホストインタフェース１１は、ホスト計算機２とネットワーク３を介して接続され、ホスト計算機２から受信した各種要求やデータの送受信を制御する。ホストインタフェース１１は、ネットワーク３の種類に応じた種々のインタフェースを用いることができる。
【００２１】
ＣＰＵ１２は、コントローラ部５ごとに１つ備えられる。ＣＰＵ１２は、コントローラ部５全体を制御し、ホストインタフェース１１から受信した各種要求を解釈して、各構成要素に指示を送信する。また、ＣＰＵ１２は、物理ディスク装置７に対してＲＡＩＤ（Redundant Arrays of Independent Disks）制御を行うことにより、ディスクアレイ装置４の信頼性、可用性及び性能を向上させる。この場合、ＣＰＵ１２は、１又は複数の物理ディスク装置７により提供される物理的な記憶領域（ＲＡＩＤグループ）上に、１又は複数の論理ボリュームを設定する。そして、データは、この論理ボリューム内に所定の大きさのブロック単位で記憶される。
【００２２】
メモリ１３は、ホスト計算機２から受信したデータを一時的に保持する。メモリ１３は、コントローラ部５内部で使用する各種プログラムや、各種テーブルを保持する。ディスクインタフェース１４は、記憶部６の物理ディスク装置７と接続され、ホスト計算機２から受信したデータの送受信を制御する。ディスクインタフェース１４は、ファイバチャネル、ＳＡＳ（Serial Attached SCSI）、ＳＡＴＡ（Serial ATA）等の種類に応じた種々のインタフェースを用いることができる。
【００２３】
図２は、本実施形態のストレージシステム１の機能的構成の一例を示している。
【００２４】
コントローラ部５は、例えば、ホストインタフェース制御部２１、ＲＡＩＤ制御部２２、複数のディスクＲ／Ｗ制御部２３及びエラー履歴管理テーブル２４により構成されている。ホストインタフェース制御部２１は、ホストインタフェース１１が対応して処理を行う。
【００２５】
ＲＡＩＤ制御部２２は、ＣＰＵ１２が対応して処理を行う。ＲＡＩＤ制御部２２は、ホストインタフェース制御部２１から受信した論理ボリュームへの書き込み要求及び書き込み対象のデータに対し、冗長データを生成し、論理ボリュームのセクタ番号を、当該論理ボリュームを構成する各物理ディスク装置７のディスクＩＤ及びそれぞれの物理ディスク装置７上のセクタ番号に変換し、書き込み対象のデータ及び冗長データを、論理ボリュームを構成する各物理ディスク装置７に書き込む。
【００２６】
ただし、ＲＡＩＤ制御部２２は、物理ディスク装置７への書き込みにあたっては、エラー履歴管理テーブル２４を検索し、書き込みを行おうとする物理ディスク装置７のセクタ番号のエラー履歴を確認し、エラー履歴の存在する物理ディスク装置７のセクタ番号に対しては実際の書き込み動作を行わない。また、ＲＡＩＤ制御部２２は、エラー履歴がなく書き込み動作を行った物理ディスク装置７のセクタ番号に対し、書き込み時にエラーが報告された場合、その物理ディスク装置７のディスク番号及びセクタ番号をエラー履歴管理テーブル２４に追加登録する。
【００２７】
一方、ＲＡＩＤ制御部２２は、ホストインタフェース制御部２１から受信した論理ボリュームへの読み出し要求に対し、論理ボリュームのセクタ番号を論理ボリュームを構成する物理ディスク装置７のディスクＩＤとそれぞれの物理ディスク装置７上のセクタ番号に変換し、論理ボリュームを構成する各物理ディスク装置７から読み出し対象のデータ及び冗長データを読み出す。ＲＡＩＤ制御部２２は、読み出し対象のデータ及び冗長データの検算を行い、データの誤りが検出された場合、データを修復したうえで読み出し対象のデータをホストインタフェース制御部２１経由でホスト計算機２に返却する。
【００２８】
ただし、ＲＡＩＤ制御部２２は、物理ディスク装置７からの読み出しにあたっては、エラー履歴管理テーブル２４を検索し、読み出しを行おうとする物理ディスク装置７のセクタ番号のエラー履歴を確認し、エラー履歴の存在する物理ディスク装置７のセクタ番号に対しては実際の読み出し動作を行わない。
【００２９】
複数のディスクＲ／Ｗ制御部２３は、ディスクインタフェース１４が対応して処理を行う。ディスクＲ／Ｗ制御部２３は、書き込み要求又は読み出し要求に基づくディスクＲ／Ｗ指示により、対応する物理ディスク装置７に対する書き込み又は読み出し動作を行う。ディスクＲ／Ｗ制御部２３は、書き込み又は読み出し動作時にエラーが発生した場合、その物理ディスク装置７のディスク番号とセクタ番号をエラー履歴管理テーブル２４に追加登録する。
【００３０】
図３は、エラー履歴管理テーブル２４の一例を示した図である。エラー履歴管理テーブル２４は、過去の物理ディスク装置７に対するアクセスの失敗の履歴を記録及び管理するテーブルである。エラー履歴管理テーブル２４は、エントリ番号、ディスクＩＤ、セクタ番号を対応付けて格納する。ディスクＩＤは、書き込み又は読み出し時にエラーが発生した物理ディスクの装置７のＩＤである。セクタ番号は、書き込み又は読み出し時にエラーが発生した物理ディスク装置７のセクタの番号である。
【００３１】
次に、本実施形態のストレージシステム１の動作について詳細に説明する。
【００３２】
図４及び図５は、本実施形態のストレージシステム１のデータ書き込み処理を示すフローチャートである。
【００３３】
ＲＡＩＤ制御部２２は、ホストインタフェース制御部２１から、論理ボリュームへの書き込み要求及び書き込み対象のデータを受信すると、当該書き込み対象のデータの冗長データを生成する（ステップＳ１）。続いて、ＲＡＩＤ制御部２２は、書き込み対象のデータ及び冗長データについて、論理ボリュームを構成する物理ディスク装置７への分割、マッピングを行う（ステップＳ２）。
【００３４】
続いて、ＲＡＩＤ制御部２２は、エラー履歴管理テーブル４を検索し、分割・マッピングした分割データの書き込みを行う物理ディスク装置７のセクタにエラー履歴が存在するか否かをチェックする（ステップＳ３）。
【００３５】
そして、ＲＡＩＤ制御部２２は、物理ディスク装置７のセクタにエラー履歴が存在する場合（ステップＳ３：ＹＥＳ）、対応する物理ディスク装置７のセクタへの分割データの書き込みを行わない（ステップＳ４）。すなわち、ＲＡＩＤ制御部２２は、エラー履歴に該当するセクタへの書き込みとなる分割データについて、それぞれ対応する複数のディスクＲ／Ｗ制御部２３への送信を行わない。そして、ＲＡＩＤ制御部２２は、その後、データ書き込み処理を終了する。
【００３６】
これに対して、ＲＡＩＤ制御部２２は、物理ディスク装置７のセクタにエラー履歴が存在しない場合（ステップＳ３：ＮＯ）、分割データをそれぞれ対応する複数のディスクＲ／Ｗ制御部２３に送信する（ステップＳ５）。
【００３７】
続いて、ディスクＲ／Ｗ制御部２３は、ＲＡＩＤ制御部２２から、ディスクＲ／Ｗ指示及び分割データを受信し、当該分割データをそれぞれ対応する物理ディスク装置７のセクタに書き込む（ステップＳ６）。
【００３８】
続いて、ディスクＲ／Ｗ制御部２３は、書き込み時に物理ディスク装置７にエラーが発生したか否かをチェックする（ステップＳ７）。そして、ディスクＲ／Ｗ制御部２３は、書き込み時に物理ディスク装置７にエラーが発生していない場合（ステップＳ７：ＮＯ）、ステップＳ９に進む。これに対して、ディスクＲ／Ｗ制御部２３は、書き込み時に物理ディスク装置７にエラーが発生した場合（ステップＳ７：ＹＥＳ）、当該物理ディスク装置７のディスクＩＤ及びセクタ番号をエラー履歴管理テーブル２４に追加登録する（ステップＳ８）。
【００３９】
続いて、ディスクＲ／Ｗ制御部２３は、ＲＡＩＤ制御部２２に対し、書き込み完了報告により、書き込みが成功したか否かを報告する（ステップＳ９）。
【００４０】
続いて、ＲＡＩＤ制御部２２は、各ディスクＲ／Ｗ制御部２３から受信した書き込み完了報告を取りまとめ、ステップＳ４において物理ディスク装置７のセクタへの書き込みを行わなかった分割データについても書き込み失敗として、書き込み失敗した分割データの数が１つ以下であるか否かをチェックする（ステップＳ１０）。
【００４１】
そして、ＲＡＩＤ制御部２２は、書き込み失敗した分割データの数が１つ以下でない場合（ステップＳ１０：ＮＯ）、ホスト計算機２に対し、書き込みの異常終了通知をホストインタフェース制御部２１を経由して送信し（ステップＳ１１）、その後、データ書き込み処理を終了する。
【００４２】
これに対して、ＲＡＩＤ制御部２２は、書き込み失敗した分割データの数が１つ以下である場合（ステップＳ１０：ＹＥＳ）、ホスト計算機２に対し、書き込みの正常終了通知をホストインタフェース制御部２１を経由して送信し（ステップＳ１２）、その後、データ書き込み処理を終了する。
【００４３】
図６及び図７は、本実施形態のストレージシステム１のデータ読み出し処理を示すフローチャートである。
【００４４】
ＲＡＩＤ制御部２２は、ホストインタフェース制御部２１から、論理ボリュームからの読み出し要求を受信すると、読み出し要求について、読み出しアドレス及び読み出し対象のデータの容量に基づいて、論理ボリュームを構成する物理ディスク装置７への分割、マッピングを行い、読み出し対象のデータ及び冗長データの分割データの分割読み出し要求を生成する（ステップＳ２１）。
【００４５】
続いて、ＲＡＩＤ制御部２２は、エラー履歴管理テーブル４を検索し、分割データが書き込まれている物理ディスク装置７のセクタに、エラー履歴が存在するか否かをチェックする（ステップＳ２２）。
【００４６】
そして、ＲＡＩＤ制御部２２は、分割データが書き込まれている物理ディスク装置７のセクタに、エラー履歴が存在する場合（ステップＳ２２：ＹＥＳ）、エラー履歴に該当するセクタからの分割データの読み出しを行わない（ステップＳ２３）。すなわち、ＲＡＩＤ制御部２２は、エラー履歴に該当するセクタからの読み出しとなる分割読み出し要求について、それぞれ対応する複数のディスクＲ／Ｗ制御部２３への送信を行わない。そして、ＲＡＩＤ制御部２２は、その後、データ読み出し処理を終了する。
【００４７】
これに対して、ＲＡＩＤ制御部２２は、分割データが書き込まれている物理ディスク装置７のセクタに、エラー履歴が存在しない場合（ステップＳ２２：ＮＯ）、生成した分割読み出し要求をそれぞれ対応する複数のディスクＲ／Ｗ制御部２３に送信する（ステップＳ２４）。
【００４８】
続いて、ディスクＲ／Ｗ制御部２３は、ＲＡＩＤ制御部２２から、分割読み出し要求を受信し、当該分割読み出し要求に基づいて、それぞれ対応する物理ディスク装置７のセクタから分割データを読み出す（ステップＳ２５）。
【００４９】
続いて、ディスクＲ／Ｗ制御部２３は、読み出し時に物理ディスク装置７にエラーが発生したか否かをチェックする（ステップＳ２６）。そして、ディスクＲ／Ｗ制御部２３は、読み出し時に物理ディスク装置７にエラーが発生していない場合（ステップＳ２６：ＮＯ）、ステップＳ２８に進む。これに対して、ディスクＲ／Ｗ制御部２３は、読み出し時に物理ディスク装置７にエラーが発生した場合（ステップＳ２６：ＹＥＳ）、当該物理ディスク装置７のディスクＩＤ及びセクタ番号をエラー履歴管理テーブル２４に追加登録する（ステップＳ２７）。
【００５０】
続いて、ディスクＲ／Ｗ制御部２３は、ＲＡＩＤ制御部２２に対し、読み出し完了報告により、読み出しが成功したか否かを報告する（ステップＳ２８）。
【００５１】
続いて、ＲＡＩＤ制御部２２は、各ディスクＲ／Ｗ制御部２３から受信した読み出し完了報告を取りまとめ、ステップＳ２３において物理ディスク装置７のセクタからの分割データの読み出しを行わなかった分割データについても読み出し失敗として、読み出し失敗した分割データの数が１つ以下であるか否かをチェックする（ステップＳ２９）。
【００５２】
そして、ＲＡＩＤ制御部２２は、読み出し失敗した分割データの数が１つ以下でない場合（ステップＳ２９：ＮＯ）、ホスト計算機２に対し、読み出しの異常終了通知をホストインタフェース制御部２１を経由して送信し（ステップＳ３０）、その後、データ読み出し処理を終了する。
【００５３】
これに対して、ＲＡＩＤ制御部２２は、読み出し失敗した分割データの数が１つ以下である場合（ステップＳ２９：ＹＥＳ）、各ディスクＲ／Ｗ制御部２３から受信した分割データを取りまとめ、当該分割データに基づいて生成した読み出し対象のデータ及び冗長データの検算を行い、当該読み出し対象のデータ及び冗長データが一致するか否かをチェックする（ステップＳ３１）。
【００５４】
そして、ＲＡＩＤ制御部２２は、読み出し対象のデータ及び冗長データが一致しない場合（ステップＳ３１：ＮＯ）、ホスト計算機２に対し、読み出しの異常終了通知をホストインタフェース制御部２１を経由して送信し（ステップＳ３２）、その後、データ読み出し処理を終了する。
【００５５】
これに対して、ＲＡＩＤ制御部２２は、読み出し対象のデータ及び冗長データが一致する場合（ステップＳ３１：ＹＥＳ）、ホスト計算機２に対し、読み出しの正常終了通知及び読み出し対象のデータをホストインタフェース制御部２１を経由して送信し（ステップＳ３３）、その後、データ読み出し処理を終了する。
【００５６】
なお、ＲＡＩＤ制御部２２は、障害発生履歴のある物理ディスク装置７を交換する際には、交換元の物理ディスク装置７を含めて全物理ディスク装置７のデータを読み出し、冗長データとの照合を行いながら、交換元の物理ディスク装置７のデータを交換先の物理ディスク装置７にコピーする。ただし、ＲＡＩＤ制御部２２は、交換元の物理ディスク装置７のエラー領域のデータは読み出すことができないため、他の物理ディスク装置７のデータより正しいデータを生成して交換先の物理ディスク装置７に書き込む。
【００５７】
この場合、ＲＡＩＤ制御部２２は、交換元ディスク以外のディスクのデータがエラーになっても、交換元ディスクのデータを交換先ディスクに書き込み、このとき発生したエラーもエラー履歴管理テーブル２４に登録する。最後に、ＲＡＩＤ制御部２２は、交換元の物理ディスク装置７に関するエラー履歴をエラー履歴管理テーブル２４から削除して、交換元の物理ディスク装置７を取り除き、交換先の物理ディスク装置７をボリュームのメンバーとして組み込む。
【００５８】
以上のように、本実施形態においては、ＲＡＩＤ制御部２２は、過去にエラーが発生した履歴のある物理ディスク装置７のセクタ位置について、アクセス（書き込み、読み出し）を行わない。これにより、エラーが物理ディスク装置７のディスクプラッタ面上の欠陥によるものであった場合、この欠陥を含むセクタに繰り返しアクセスすることによって欠陥が拡散するのを未然かつ有効に防止し、ストレージシステム１全体の可用性を高めることができる。
【００５９】
そして、上記の説明のごとく、本実施形態においては、ＲＡＩＤ制御部２２は、アクセス時にエラーが発生した物理ディスク装置７を即閉塞するのではなく、個別のアドレス領域ごとに実際にアクセスを行うか否かを判断しているので、単一の物理ディスク装置７のアクセスエラー後においても可用性の高いストレージシステム１を構成することができる。
【００６０】
（他実施形態）
本発明の他実施形態として、基本的構成は上記の通りであるが、エラー履歴管理テーブル２４についてさらに工夫している。図３は、他実施形態のエラー履歴管理テーブル２４の一例を示した図である。他実施形態のエラー履歴管理テーブル２４は、例えば、セクタ番号は有効なエントリ数が多く所定数のビットを省略しても検索が可能であるため、セクタ番号の下位８ビットを省略し、連続する２５６セクタを１つのグループとして扱う。これにより、エラー履歴管理テーブル２４の容量を削減することができるため、エラー履歴管理テーブル２４のメモリ１３の使用領域を一段と削減することができる。
【００６１】
図８の他実施形態のエラー履歴管理テーブル２４を採用する場合、ＲＡＩＤ制御部２２は、当該エラー履歴管理テーブル２４を参照するが、アクセスしようとしているセクタ番号のうち下位８ビットを省略し、エラー履歴管理テーブル２４内のエラー履歴を検索する。
また、ディスクＲ／Ｗ制御部２３は、アクセス時に物理ディスク装置７にエラーが発生した場合、他実施形態のエラー履歴管理テーブル２４にディスクＩＤ及びセクタ番号を登録するが、この際にセクタ番号の下位8ビットを省略して登録する。なお、エラー履歴管理テーブル２４内で管理するセクタ番号のうち、何ビットを省略するのかは任意である。
【００６２】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００６３】
（付記１）複数の物理ディスクにより構成されるボリュームに対して読書きするディスクアレイ装置であって、過去にエラーが発生した履歴のある物理ディスクのセクタについてのディスク番号及びセクタ番号を格納するテーブルと、前記テーブルを参照し、アクセス対象の前記物理ディスクのセクタにエラー履歴が存在するか否かをチェックし、エラー履歴が存在しない場合、当該物理ディスクのセクタへの読書きを行う制御部とを備えることを特徴とするディスクアレイ装置である。
【００６４】
（付記２）前記ボリュームは、複数の前記物理ディスクによりＲＡＩＤ構成されており、前記制御部は、前記エラーが発生した履歴のある物理ディスクのセクタが存在する場合、当該セクタを有する物理ディスク以外の物理ディスクを用いて読書きを行うことを特徴とする付記１に記載のディスクアレイ装置である。
【００６５】
（付記３）複数の物理ディスクにより構成されるボリュームに対して読書きするディスクアレイ装置の制御方法であって、制御部が、過去にエラーが発生した履歴のある物理ディスクのセクタについてのディスク番号及びセクタ番号を格納するテーブルを参照し、アクセス対象の前記物理ディスクのセクタにエラー履歴が存在するか否かをチェックする第１のステップと、前記制御部が、エラー履歴が存在しない場合、当該物理ディスクのセクタへの読書きを行う第２のステップとを備えることを特徴とするディスクアレイ装置の制御方法である。
【産業上の利用可能性】
【００６６】
本発明は、冗長の物理ディスクを有することにより可用性を高めるＲＡＩＤ構成のディスクアレイ装置に適用することができる。
【符号の説明】
【００６７】
１……ストレージシステム、２……ホスト計算機２、３……ネットワーク、４……ディスクアレイ装置、５……コントローラ部、６……記憶部、７……物理ディスク装置、１１……ホストインタフェース、１２……ＣＰＵ、１３……メモリ、１４……ディスクインタフェース、２１……ホストインタフェース制御部、２２……ＲＡＩＤ制御部、２３……ディスクＲ／Ｗ制御部、２４……エラー履歴管理テーブル
【図１】
0005874175.tif 000002
【図２】
0005874175.tif 000003
【図３】
0005874175.tif 000004
【図４】
0005874175.tif 000005
【図５】
0005874175.tif 000006
【図６】
0005874175.tif 000007
【図７】
0005874175.tif 000008
【図８】
0005874175.tif 000009