(57)【要約】【課題】  磁気ディスク装置の磁気ヘッドからの漏れ磁場の影響に起因する障害発生を抑制し、ＲＡＩＤのようなディスクアレイ装置の信頼性を向上させた磁気ディスク装置及びそのアクセス制御方法を提供する。【解決手段】  ２台以上の磁気ディスク装置について例えばＲＡＩＤでディスクアレイを構成し、磁気ディスクの外周部に先頭論理アドレスを与え、外周部から内周部へ向けて論理アドレスを順次割り当てるグループと磁気ディスクの内周部に先頭論理アドレスを与え、内周部から外周部へ向けて論理アドレスを順次割り当てるグループに分け、アクセス制御プログラムにより、ディスクアレイを構成する磁気ディスク装置の障害を検出し、障害発生時に正常の磁気ディスクの論理アドレスのデータを障害の発生した磁気ディスクの論理アドレスのデータとして書き込むことで正常状態への回復させ、磁気ディスク装置の信頼性を向上させる。【選択図】図１
2006351137.tif 000002
【特許請求の範囲】
【請求項１】
複数の磁気ディスク装置で構成されるディスクアレイであって、前記複数の磁気ディスク装置が２つのグループに分けられ、一方のグループについては磁気ディスクの外周部にデータ記録領域への先頭論理アドレスを与え、外周部から内周部へ向かって論理アドレスが順次割り当てられ、他方のグループについては磁気ディスクの内周部にデータ記録領域への先頭論理アドレスを与え、内周部から外周部に向かって論理アドレスが順次割り当てられ、ホスト計算機からのリード／ライトアクセスコマンドを受信すると、受信した論理アドレスから変換論理アドレスを算出して該変換論理アドレスにて前記複数の磁気ディスクにコマンドを発行するコントローラを有するアクセス制御装置。
【請求項２】
ディスクアレイを構成する複数の磁気ディスク装置と、該複数の磁気ディスク装置と接続され磁気ディスク装置へのデータのリード／ライトの制御を実行するコントローラと、該コントローラに接続され前記コントローラにリード／ライトアクセスコマンドを送信するホスト計算機とを備え、前記コントローラは、前記複数の磁気ディスクの一方のグループについては磁気ディスクの外周部にデータ記録領域への先頭論理アドレスを与え、外周部から内周部へ向かって論理アドレスを割り当て、他方のグループについては磁気ディスクの内周部にデータ記録領域への先頭論理アドレスを与え、内周部から外周部に向かって論理アドレスを割り当てた論理アドレス変換テーブルを有し、前記ホスト計算機からのリード／ライトアクセスコマンドを受信すると、受信した論理アドレスから前記論理アドレス変換テーブルにより変換論理アドレスを算出して該変換論理アドレスにて前記複数の磁気ディスクにコマンドを発行するアクセス制御装置。
【請求項３】
磁気ディスク制御装置と磁気ディスクを備え、前記磁気ディスクの内周部にデータ記録領域への先頭論理アドレスを与え、内周部から外周部に向かって論理アドレスが順次割り当てられた磁気ディスク装置。
【請求項４】
複数の磁気ディスク装置を２つのグループに分け、一方のグループについては磁気ディスクの外周部にデータ記録領域への先頭論理アドレスを与え、外周部から内周部へ向かって論理アドレスが順次割り当て、他方のグループについては磁気ディスクの内周部にデータ記録領域への先頭論理アドレスを与え、内周部から外周部に向かって論理アドレスが順次割り当て、コントローラがホスト計算機からのリード／ライトアクセスコマンドを受信すると、受信した論理アドレスから変換論理アドレスを算出して該変換論理アドレスにて前記複数の磁気ディスクにコマンドを発行するアクセス制御方法。
【請求項５】
前記複数の磁気ディスク装置に対して磁気ディスク上のエラー状態にある記録領域の検出を行うエラーパトロール処理を行い、検出されたエラー状態にある記録領域の論理アドレスを障害情報管理テーブルに登録し、該障害情報管理テーブルに登録されたエラー状態にある記録領域の回復処理を行う請求項４に記載のアクセス制御方法。
【請求項６】
前記磁気ディスク上の同一の記録領域に対して設定された時間内に規定回数以上のライトアクセスが行われたことを検出すると、該検出された記録領域に記録するデータをデータ格納メモリに格納し、該データ格納メモリに格納したデータを一括して磁気ディスクへライトする請求項５に記載のアクセス制御方法。
【請求項７】
前記障害情報管理テーブルに記録された回復処理の実効回数が規定値に達した場合は、正常側の磁気ディスク装置のデータ記録領域のうち未使用の部分も含めてデータ記録領域全体を一括して異常側の磁気ディスク装置のデータ記録領域に転送する請求項５に記載のアクセス制御方法。
【請求項８】
前記磁気ディスク上の同一のデータ記録領域へのライトアクセスの累積回数が規定値に達したことを検出すると、ライトアクセスの累積回数が規定値に達したデータ記録領域に対するエラーパトロールを優先的に実行する請求項４に記載のアクセス制御方法。
【請求項９】
前記磁気ディスク上の同一のデータ記録領域へのライトアクセスの累積回数が上限値に達したこと検出すると、ライトアクセスの累積回数が上限値に達したデータ記録領域に対して回復処理を行う請求項４に記載のアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置として用いられるディスクアレイ構成の磁気ディスク装置及びそのアクセス制御方法に係り、特に障害発生時の回復処理，復旧に好適なアクセス制御装置，磁気ディスク装置及びそのアクセス制御方法に関する。
【背景技術】
【０００２】
大容量かつ記録密度が高い磁気ディスクにデータを記録する時、記録データサイズがディスク容量に対し小さい場合、同一トラックへのライトが頻発することがある。同一トラックへのライト回数が多い場合は、磁気ディスクの磁気ヘッドからの漏れ磁場が隣接するトラックのデータ（磁化の状態）を乱し、エラー発生の要因となるという問題がある。
【０００３】
近年の磁気ディスク装置の記憶容量の大容量化に伴い、磁気ディスクの外周から内周に向かって同心円状に設けられたトラックは高密度化しており、漏れ磁場の影響は以前より顕著になっている。特に制御分野で用いられる計算機では、数ヶ月を超えて連続稼動され、頻繁にデータの書換えが行われる上、一部の記憶容量しか使用しない場合が多くある。従来使用していた小容量の磁気ディスク装置を大容量の磁気ディスク装置に交換し、使用するプログラムあるいはデータは従来のものをそのまま移植して使い続けるような場合は特にこの傾向が強い。このため、磁気ヘッドからの漏れ磁場の影響に起因する障害発生確率も高くなるという問題がある。
【０００４】
〔特許文献１〕には、第４頁〜第５頁及び図２に、磁気ディスクのトラックを一つおきにデータ記憶領域として用いて、磁気ヘッドの漏れ磁場に起因する障害発生を抑制する技術が記載されている。又、一般に知られている磁気ディスク装置の障害を防止する方法に、複数台の磁気ディスク装置を組み合わせたＲＡＩＤ(Redundant Array of Independent Disks の略）がある。通常は２台の磁気ディスク装置からなるＲＡＩＤが用いられ、RAIDの機能の一つに、同一のデータを複数の磁気ディスク装置にライトし、何れかの磁気ディスク装置においても障害が発生しても、他の磁気ディスク装置で処理を継続することで耐障害性を高めるものがある。
【０００５】
【特許文献１】特開２００３−２９６９０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
〔特許文献１〕に記載の従来の技術のように、同心円状に設けられたトラックを一つおきにデータ記憶領域として用いても、上述したように、従来使用していた小容量の磁気ディスク装置を大容量の磁気ディスク装置に交換し、使用するプログラムあるいはデータは従来のものをそのまま移植して使い続けるような場合は、磁気ヘッドからの漏れ磁場の影響を受けて障害の発生を抑制できないことがある。例えば磁気ディスクの外側の数本程度のトラックしか使用しない場合は、磁気ディスク装置の大容量化でトラックの密度が高くトラック間の距離が小さくなっているので、一つおきにデータ記憶領域としていても、磁気ヘッドからの漏れ磁場の影響を受けて障害の発生を抑制できないことがある。
【０００７】
又、ＲＡＩＤを用いた場合、同一トラックへ繰り返しライトが行われると、ＲＡＩＤを構成する全ての磁気ディスクに対して同様のライトが発生する。このため、上述したような磁気ディスク装置の磁気ヘッドからの漏れ磁場の影響による障害発生は、ＲＡＩＤを構成する全ての磁気ディスクに対して起こりうるものであり、ＲＡＩＤを構成する全ての磁気ディスクにおいて同時期に発生するとＲＡＩＤの処理継続が不可能となってしまう危険性がある。
【０００８】
本発明は第１の目的は、磁気ディスク装置の磁気ヘッドからの漏れ磁場の影響に起因する障害発生を抑制し、ＲＡＩＤのようなディスクアレイ装置の信頼性を向上させたアクセス制御装置，磁気ディスク装置及びそのアクセス制御方法を提供することにある。
【０００９】
本発明の第２の目的は、磁気ディスクの磁気ヘッドの漏れ磁場の影響による障害のように、正常状態に回復可能な障害が発生した場合に回復処理を行うのに好適なアクセス制御装置，磁気ディスク装置及びそのアクセス制御方法を提供することにある。
【００１０】
本発明の第３の目的は、同一の記録領域に対するライトアクセス状況を監視し、ライトアクセスの頻度が高い記憶領域における磁気ディスク上の異常を検出でき、速やかな回復処理を行うのに好適なアクセス制御装置，磁気ディスク装置及びそのアクセス制御方法を提供することにある。
【００１１】
本発明の第４の目的は、ライトアクセスの累積回数により処理を行うことで、磁気ヘッドの漏れ磁場の影響による磁気ディスクの障害発生を抑止することができるアクセス制御装置，磁気ディスク装置及びそのアクセス制御方法を提供することにある。
【課題を解決するための手段】
【００１２】
上記第１の目的を達成するために、複数の磁気ディスク装置を２つのグループに分け、一方のグループについては磁気ディスクの外周部にデータ記録領域への先頭論理アドレスを与え、外周部から内周部へ向かって論理アドレスが順次割り当て、他方のグループについては磁気ディスクの内周部にデータ記録領域への先頭論理アドレスを与え、内周部から外周部に向かって論理アドレスが順次割り当て、コントローラがホスト計算機からのリード／ライトアクセスコマンドを受信すると、受信した論理アドレスから変換論理アドレスを算出して変換論理アドレスにて複数の磁気ディスクにコマンドを発行するものである。
【００１３】
又、上記第２から第４の目的を達成するために、複数の磁気ディスク装置に対して磁気ディスク上のエラー状態にある記録領域の検出を行うエラーパトロール処理を行い、検出されたエラー状態にある記録領域の論理アドレスを障害情報管理テーブルに登録し、該障害情報管理テーブルに登録されたエラー状態にある記録領域の回復処理を行うものである。又、磁気ディスク上の同一の記録領域に対して設定された時間内に規定回数以上のライトアクセスが行われたことを検出すると、検出された記録領域に記録するデータをデータ格納メモリに格納し、データ格納メモリに格納したデータを一括して磁気ディスクへライトするものである。又、障害情報管理テーブルに記録された回復処理の実効回数が規定値に達した場合は、正常側の磁気ディスク装置のデータ記録領域のうち未使用の部分も含めてデータ記録領域全体を一括して異常側の磁気ディスク装置のデータ記録領域に転送するものである。又、磁気ディスク上の同一のデータ記録領域へのライトアクセスの累積回数が規定値に達したことを検出すると、ライトアクセスの累積回数が規定値に達したデータ記録領域に対するエラーパトロールを優先的に実行するものである。又、磁気ディスク上の同一のデータ記録領域へのライトアクセスの累積回数が上限値に達したこと検出すると、ライトアクセスの累積回数が上限値に達したデータ記録領域に対して回復処理を行うものである。
【発明の効果】
【００１４】
複数台の磁気ディスク装置にてＲＡＩＤを構成し、外周から内周に向かってリード／ライトアクセスを行う磁気ディスク装置のグループと内周から外周に向かってリード／ライトアクセスをするグループに分けることにより、磁気ヘッドからの漏れ磁場の影響等によるデータ異常がＲＡＩＤを構成する複数の磁気ディスクで同時的に発生あるいは短期間に多発することを抑止できる効果がある。
【発明を実施するための最良の形態】
【００１５】
本発明の一実施例である磁気ディスク装置及びそのアクセス制御プログラム、このアクセス制御プログラムを用いたアクセス制御方法について図１から図７により説明する。
【００１６】
図１は、本実施例のアクセス制御装置のブロック図である。図１に示すように、磁気ディスク装置１２と磁気ディスク装置１３は、制御用コンピュータ等の記憶装置として用いられる。磁気ディスク装置１２，１３には、それぞれアクセス制御するための磁気ディスク制御装置１２ａ，１２ｂが設けられており、磁気ディスク制御装置１２ａ，１３ａを介してＲＡＩＤコントローラ１１に接続されている。ＲＡＩＤコントローラ１１は、SCSI
（Small Computer System Interfaceの略）コントローラ１１ｂを経由してホスト計算機１０に接続される。
【００１７】
ＲＡＩＤコントローラ１１は、ＭＰＵ１１ａと接続されるアクセス制御プログラム格納用メモリ１１ｅ及びデータ格納用メモリ１１ｄ，ＭＰＵ１１ａとバスを介して接続されるＳＣＳＩコントローラ１１ｂ及びＳＣＳＩコントローラ１１ｃで構成される。ＲＡＩＤコントローラ１１は、磁気ディスク装置１２，１３へのデータのリード／ライト及びRAIDの構成制御を行う。すなわち、ＭＰＵ１１ａは、アクセス制御プログラム格納用メモリ11ｅに記憶されているアクセス制御プログラムに従って、磁気ディスク装置１２，１３に対するデータのリード／ライトの制御を実行する。データ格納用メモリ１１ｄは、ホスト計算機１０から受信したライトデータや、磁気ディスク装置１２，１３からリードされたデータ等を一時的に記憶する。このデータ格納用メモリ１１ｄ上に後述する障害情報管理テーブルが作成される。
【００１８】
磁気ディスク装置１２は、磁気ディスク制御装置１２ａと磁気ディスク１２ｂで構成され、磁気ディスク制御装置１２ａはＳＣＳＩケーブル１５を介してＳＣＳＩコントローラ１１ｃと接続されている。磁気ディスク装置１３は、磁気ディスク制御装置１３ａと磁気ディスク１３ｂで構成され、磁気ディスク制御装置１３ａはＳＣＳＩケーブル１６を介してＳＣＳＩコントローラ１１ｃと接続されている。このように、磁気ディスク制御装置
１２ａ，１３ａは、それぞれ磁気ディスク装置１２，１３に内蔵されるＳＣＳＩコントローラを介してＲＡＩＤコントローラ１１に接続されており、各種コマンド（リードコマンド，ライトコマンド等），ライトデータやリードデータ等の送受信を行う。
【００１９】
ＲＡＩＤコントローラ１１は、各種コマンドやライトデータを磁気ディスク制御装置
１２ａ，１３ａへ送信する機能や、磁気ディスク１２ｂ，１３ｂからリードされたリードデータをＳＣＳＩコントローラ１１ｃより受信する機能を備えている。又、ＲＡＩＤコントローラ１１は、磁気ディスク装置１２，１３に対し、同一のデータをライトする。これによって磁気ディスク１２ｂ，１３ｂが共に正常であれば同じ内容のデータを保持することになる。
【００２０】
ＲＡＩＤコントローラ１１が磁気ディスク装置１２，１３からデータをリードする時は、磁気ディスク装置１２，１３のうち一方からリードする。リードする側に設定した磁気ディスク装置が故障した場合は、ＲＡＩＤコントローラ１１は、リードする磁気ディスク装置を切換えてデータをリードしホスト計算機１０の処理継続を可能とする。
【００２１】
一般に磁気ディスク装置は、装置内に磁性体円板が一枚または複数枚設置されている。各磁性体円板はトラックと呼ばれる同心円に分割され、通常は外側に位置するトラックから順にトラック番号が与えられる。トラックはさらにセクタと呼ばれる小領域に分割される。これら全てのセクタに論理的にアドレス（ＬＢＡ：Logical Block Adressの略）を割り当ててデータ記録領域を管理している。
【００２２】
ＭＰＵ１１ａは、ＲＡＩＤコントローラ１１並びに磁気ディスク装置１２，１３の初期化時に磁気ディスク装置からＬＢＡ情報を取得し、データ格納用メモリ１１ｄ上にＬＢＡ変換テーブルを作成する。その後、ホスト計算機１０からのリード／ライトコマンドを受信する毎に、作成したＬＢＡ変換テーブルに基づいてＬＢＡを読み替えて、磁気ディスク装置１２，１３へのリード／ライトコマンドを発行する。このように、割り当て処理は全てＲＡＩＤコントローラ１１内でなされるので、ホスト計算機１０および磁気ディスク装置１２，１３は、ＬＢＡの割り当て処理を行う必要がなく、割り当て処理がなされたことも認識しない。
【００２３】
ＳＣＳＩコントローラ１１ｂが、ホスト計算機１０から送信されるリード／ライトコマンドを受信すると、ＭＰＵ１１ａは、受信したリード／ライトコマンドのＬＢＡを変換した後、ＳＣＳＩコントローラ１１ｃを経由して磁気ディスク装置１２，１３にアクセス先のＬＢＡを変換したリード／ライトコマンドをＬＢＡを含んで発行して送信する。
【００２４】
ここで、磁気ディスク１２ｂでは、外周部にＬＢＡの先頭アドレスを与え、外周部から内周部へ向かってＬＢＡが全セクタに順次割り当てられる。一方、磁気ディスク１３ｂでは、内周部にＬＢＡの先頭アドレスを与え、内周部から外周部へ向かってＬＢＡが全セクタに順次割り当てられる。
【００２５】
上述したように、一般に磁気ディスク装置は外周部に先頭ＬＢＡが与えられるので、磁気ディスク１２ｂ，１３ｂ双方について特別なＬＢＡ変換を行う必要は無く、何れか一方の磁気ディスクについて逆方向のＬＢＡ変換を行えばよい。この例では磁気ディスク13ｂについて逆方向のＬＢＡ変換、すなわち内周部にＬＢＡの先頭アドレスを与え、内周部から外周部へ向かってＬＢＡが全セクタに順次割り当てられている。
【００２６】
１トラックあたりのセクタ数は磁性体円板の外周に近づくほど多くなる。外周部と内周部で約２倍程度の差があり、外周部と内周部でトラック配置を変えることができる。例えば外周部のセクタが１トラックにつき１０００である場合、内周部のセクタは１トラックにつき５００程度になる。このため、１０００セクタ分のデータのライトが行われると、外周部では１トラックのライトとなるが、内周部では２トラックにライトされる。
【００２７】
このように、磁気ディスク上の１トラックあたりのセクタ数が異なる領域を使用することで、頻繁にライトされるセクタ数が少ない場合には、外周部のトラックに隣接するトラックのセクタのＬＢＡと、内周部のトラックと隣接するトラックのセクタのＬＢＡは異なり、ＬＢＡが同一となるのを避けることができるので、磁気ヘッドからの漏れ磁場の影響により異常状態となるセクタに対応するＬＢＡが同一となることを回避できる。
【００２８】
図２にＬＢＡ割り当て処理の詳細を示す。ステップ２０で、磁気ディスク装置１２，
１３の電源が投入されると磁気ディスク１２ｂ，１３ｂのＬＢＡ情報を取得し、ステップ２１で、アクセス制御プログラム内に定義される変換式に従ってＬＢＡ変換テーブルをデータ格納用メモリ１１ｄ上に作成する。ステップ２２で、ホスト計算機１０からのリード／ライトアクセスコマンドを受信すると、ステップ２３で、受信したＬＢＡ、すなわち受信論理アドレスを読み込み、ステップ２４で、ＬＢＡ変換テーブルに基づき変換ＬＢＡを算出する。ステップ２５で、変換ＬＢＡにて磁気ディスク装置１２，１３にコマンドを発行する。ステップ２２からステップ２５は、ホスト計算機１０からリード／ライトコマンドを受信する毎に処理が繰り返される。
【００２９】
アクセス制御プログラムは、ホスト計算機１０上に格納されるその他のプログラムの動作を妨げない周期でエラーパトロール処理を行う。図３にエラーパトロール処理の詳細を示す。
【００３０】
ステップ３０で、ＲＡＩＤコントローラ１１および磁気ディスク装置１２，１３の電源が投入されると、ステップ３１で、先頭ＬＢＡよりパトロールを開始する。ステップ３２で、次のＬＢＡに対しパトロール実行する。異常状態にあるセクタは、磁気ヘッドからの漏れ磁場の影響で正常の読み取りができないため、異常であることを検出できる。ステップ３３で、異常状態にあるセクタを検出すると、ステップ３４で、データ格納メモリ11ｄ上に作成された障害情報管理テーブルに対応するＬＢＡを登録し、ステップ３５で、アクセス制御プログラムは障害情報管理テーブルに登録されたＬＢＡのセクタに対して回復処理を実行する。ステップ３６で、回復処理が終了するとステップ３２に戻り、以降の処理を繰り返す。ステップ３７の全記憶領域のパトロール処理が終了すると、ステップ３１に戻り以降の処理を繰り返す。
【００３１】
図３のステップ３５の登録されたＬＢＡに対する回復処理起動について、磁気ディスク１３ｂに磁気ヘッドからの漏れ磁場の影響に起因する障害が発生した場合を例として説明する。磁気ディスク１３ｂの異常状態にあるセクタに対応する正常な磁気ディスク１２ｂのセクタから正常データをリードし、磁気ディスク１３ｂの異常状態にあるセクタに上書きする。これによって磁気ディスク１３ｂは磁気ディスク１２ｂと同一かつ正常なデータを保持することになり、正常状態に復帰する。このように、異常となったセクタに対して回復処理起動を行い、一連の回復処理により正常状態に復帰させるので、正常なデータのリード／ライトが可能となる。又、逆に磁気ディスク装置１３にて異常状態にあるセクタを検出した場合は、磁気ディスク装置１２より正常データをリードし、同様の回復処理を行うことで、正常状態に復帰させることができる。
【００３２】
このように、磁気ヘッドからの漏れ磁場の影響によって異常となったセクタは、再度正常なデータを書き込むことで正常な状態に復帰させることができるため、異常となった磁気ディスクのグループに対し、正常なグループから異常個所に該当する正常データを書き込むことで正常状態に復旧することができる。
【００３３】
異常状態にあるセクタ検出後に行われる回復処理を、異常状態にあるセクタに、正常側の磁気ディスクからの正常データを部分的にライトする例を説明したが、異常状態にあるセクタが多数発生し、各異常状態にあるセクタのＬＢＡが連続ではなく分散している場合は、正常側の磁気ディスク装置のデータ記録領域のうち未使用の部分も含めて、データ記録領域全体を一括して転送した方が確実かつ効率よい場合がある。アクセス制御プログラムはこの転送モードも有している。
【００３４】
又、図３に示したようにパトロール処理を実施し、異常状態にあるセクタを発見するとその回復処理を行うが、回復処理の実行回数をデータ格納用メモリ１１ｄに作成した障害情報管理テーブルに記録する。障害情報管理テーブルに記録された回復処理の実行回数が規定値に達すると、正常側の磁気ディスクのデータ記録領域のうち未使用の部分も含めてデータ記録領域全体を一括して、異常側磁気ディスクに転送する。
【００３５】
この処理の詳細を図４に示す。ステップ４０からステップ４３までは、図３に示す処理と同一の処理を行う。ステップ４４で、回復処理実行回数を障害情報管理テーブルに記録し、ステップ４５で回復処理実行回数が規定値を超えたかどうかを判定し、規定値を超えたと判定された場合は、ステップ４７で、正常側の磁気ディスクの全データ記録領域を異常側の磁気ディスクに転送する。
【００３６】
アクセス制御プログラムは、ホスト計算機１０からのライトコマンドを監視し、設定された時間内に同一のＬＢＡに対して規定値を超える回数のライトアクセスが行われた場合は、それ以降にホスト計算機１０より送信されてくるライトデータをデータ格納用メモリ１１ｄに格納し、その後一括して書き込むことで同一のＬＢＡへの連続ライト数を低減する。ただし、設定された時間内に同一のＬＢＡに対するライトアクセス数が規定値を下回った場合は、上記したデータ格納用メモリ１１ｄへの格納を中止する。
【００３７】
図５はこの処理の詳細を示す。ステップ５０で、ホスト計算機１０からライトコマンドを受信すると、ステップ５１で、ライトコマンド中からＬＢＡを読み出し、ステップ５２で、データ格納用メモリ１１ｄ上に作成したライトアクセスカウントテーブルに、ＬＢＡとそのＬＢＡに対するライトアクセス数を記録する。ステップ５３で、設定された時間内に同一のＬＢＡへのライトアクセス数が規定値を超えたと判定されると、ステップ５４で、それ以降にホスト計算機１０から送信されるデータのうち、ライトアクセス数が規定数を超えたＬＢＡにライトされるデータをバッファに格納し、一括して磁気ディスクに書き込むまでの間は、バッファ上でデータのリード／ライトを行う。ステップ５５で、設定された時間経過後にバッファに格納されたデータをまとめて磁気ディスクに書き込み、ステップ５６でライトアクセスカウントテーブルをクリアする。
【００３８】
ただし、バッファの容量の制限を超えてバッファに格納しきれなくなった場合は、設定時間が経過していなくても先に格納されたデータから順に磁気ディスクへ書き出す。
【００３９】
このように、同一セクタまたはトラックへの高頻度のライトアクセス(データの書換え)を、同一セクタまたはトラックへの高頻度のライトアクセスを検出する機能により検出した場合は、高頻度でライトされるデータをバッファに格納し、設定された期間はバッファ上で該当データのリード／ライトを行い、磁気ディスクへのライト回数を低減することで異常セクタの発生を抑止できる。
【００４０】
同一のＬＢＡに対しての累積ライトアクセス回数が規定値を超えた場合は、磁気ヘッドの漏れ磁場による影響のため異常状態となるセクタが発生しやすいため、規定値を超えたＬＢＡに対してエラーパトロールを優先的に実施する。
【００４１】
図６にこの処理の詳細を示す。図６に示すステップ６０とステップ６１は、図５に示すステップ５０とステップ５１と同じ処理である。ステップ６２で、データ格納用メモリ
１１ｄ上に作成した累積ライトアクセスカウントテーブルにＬＢＡとそのＬＢＡに対するライトアクセス数を記録する。ステップ６３で、累積ライトアクセス数が規定値を超えたと判定されると、ステップ６４で該当するＬＢＡに対し図３に示したエラーパトロールを１回実施する。
【００４２】
ただし、全てのＬＢＡに対して累積ライトアクセス数を記録しようとすると累積ライトアクセスカウントテーブルが巨大となってしまうことから、図５に示すステップ５２においてライトアクセスカウントテーブルに記録されたことがあるＬＢＡを累積ライトアクセスカウントテーブルに記録する。
【００４３】
また、累積ライトアクセスカウントテーブルに記録された累積ライトアクセス回数に上限値を設け、累積ライトアクセス上限値に達したＬＢＡについては異常状態の有無に関わらず、図３のステップ３４に示すように障害情報管理テーブルにエラーセクタのＬＢＡを登録する処理を行う。ここで、上限値は、磁気ヘッドからの漏れ磁場の影響に起因する磁気ディスク装置の障害が発生すると予測されるライトアクセス回数で決められる。
【００４４】
図７にこの処理の詳細を示す。ステップ７０からステップ７２までは図６に示すステップ６０からステップ６２までの処理と同一である。ステップ７３で、累積ライトアクセス数が上限値を超えたかどうかを判定し、上限値を超えたと判定されると、ステップ７４で、図３のステップ３５に示すと同様の回復処理を実行し、ステップ７５で、累積ライトアクセスカウントテーブルからステップ７４で回復処理を行ったＬＢＡについての記録を削除する。
【００４５】
以上説明した一連の処理により、ＲＡＩＤコントローラの制御下にある磁気ディスク装置において、磁気ディスクの磁気ヘッドのクラッシュ等による磁気ディスクの磁性面の物理的な破損に起因する障害については復旧できないが、磁気ヘッドの漏れ磁場の影響によるデータ異常等のソフト的な障害が発生した場合、障害により故障が発生した磁気ディスク装置を正常な状態に復帰させることができる。
【００４６】
なお、本実施例においては磁気ディスク装置とＲＡＩＤコントローラ、ＲＡＩＤコントローラとホスト計算機のインターフェースにＳＣＳＩを用いる場合を説明したが、インターフェースはＳＣＳＩでなくても、例えばＩＤＥインターフェース等を用いても良い。又、ＲＡＩＤコントローラの代わりに、ホスト計算機上で動作するソフトウェアによって
ＲＡＩＤ機能を実現してもよい。
【００４７】
本実施例では、磁気ディスク装置２台でＲＡＩＤを構成した例を説明したが、磁気ディスク装置の台数を増やした場合にも適用できる。又、ディスクアレイの形態としては、
ＲＡＩＤでなくとも同等の機能を有しているディスクアレイシステムであれば、同様の効果を得ることができる。
【００４８】
又、本実施例では、データ記録領域の管理方法をＬＢＡ方式で説明したが、ＬＢＡ方式でなくともトラックおよびセクタを論理的に特定できれば良く、それに適合するようにアクセス制御プログラム格納用メモリ１１ｅ内のプログラムを改造したものを適用できる。
【００４９】
又、本実施例では、データ格納用メモリ１１ｄをＲＡＩＤコントローラ内に実装したが、他の部位に実装してもよく、特にデータ格納用メモリ内に格納されるデータ量が大きくなる場合は磁気ディスク１２ｂ，１３ｂ内に専用領域を設け、その領域をデータ格納用メモリとして割り当てても良い。
【００５０】
本実施例によれば、複数台の磁気ディスク装置にてＲＡＩＤを構成し、外周から内周に向かってリード／ライトアクセスを行う磁気ディスク装置のグループと内周から外周に向かってリード／ライトアクセスをするグループに分けることにより、磁気ヘッドからの漏れ磁場の影響等によるデータ異常がＲＡＩＤを構成する複数の磁気ディスクで同時的に発生あるいは短期間に多発することを抑止できる効果がある。
【００５１】
また、ＲＡＩＤ構成であるため、いずれかの磁気ディスクが異常状態になっても、他の磁気ディスクで処理を継続できる。又、ＲＡＩＤを構成する全ての磁気ディスク装置に対して、エラーパトロール処理により検出されたエラー記録領域の論理アドレスを障害情報管理テーブルに登録し、障害情報管理テーブルに登録された個所を自動的に回復する処理を行う機能を持つことで磁気ディスク装置の耐障害性を向上できる効果がある。
【００５２】
又、同一の記録領域に対して設定された時間内に規定回数以上更新されるデータをバッファに格納し、格納したバッファの内容を一定期間毎にまとめて磁気ディスクへライトすることで、同一の記録領域へのライト回数を減らし、磁気ディスクにおける障害発生率を低減できる効果がある。
【図面の簡単な説明】
【００５３】
【図１】本発明の一実施例であるアクセス制御装置のブロック図である。
【図２】本実施例の磁気ディスク装置の論理アドレス（ＬＢＡ）の変換動作を示すフロー図である。
【図３】本実施例の磁気ディスク装置のエラーパトロール処理と回復処理を示すフロー図である。
【図４】本実施例の磁気ディスク装置のエラーパトロール処理とデータ転送処理を示すフロー図である。
【図５】本実施例の磁気ディスク装置の同一のＬＢＡに対する規定回数を超えるライトアクセスを検出した時の動作を示すフロー図である。
【図６】本実施例の磁気ディスク装置の同一のＬＢＡに対する規定回数を超える累積ライトアクセスを検出した時の動作を示すフロー図である。
【図７】本実施例の磁気ディスク装置の同一のＬＢＡに対する規定回数を超える累積ライトアクセスを検出した時の動作を示すフロー図である。
【符号の説明】
【００５４】
１０…ホスト計算機、１１…ＲＡＩＤコントローラ、１２，１３…磁気ディスク装置、１４…ケーブル、１５，１６…ＳＣＳＩケーブル。
【図１】
2006351137.tif 000003
【図２】
2006351137.tif 000004
【図３】
2006351137.tif 000005
【図４】
2006351137.tif 000006
【図５】
2006351137.tif 000007
【図６】
2006351137.tif 000008
【図７】
2006351137.tif 000009