(57)【要約】  複数の記憶媒体を有する記憶装置を制御する記憶装置制御装置であって、前記記憶媒体から最初に読み出されるべき制御情報と異なる所定の情報を作成する先頭セクタ生成部２と、前記記憶媒体上の先頭セクタへ前記制御情報を書き込む入出力部８と、外部からアクセス要求を受信した場合、前記アクセス要求を受け付ける受信部６と、前記アクセス要求により指定された前記記憶媒体上のセクタ番号である第１セクタ番号を前記記憶媒体上の前記先頭セクタ以外のセクタ番号である第２セクタ番号へ、所定の変換方式に基づいて変換する変換部３とを備え、更に前記入出力部８は前記記憶媒体上の第２セクタ番号へのアクセスを行うことを特徴とするものである。【特許請求の範囲】
【請求項１】
複数の記憶媒体を有する記憶装置を制御する記憶装置制御装置であって、
前記記憶媒体から最初に読み出されるべき制御情報と異なる所定の情報を、前記記憶媒体上の先頭セクタへ書き込む先頭セクタ書込部と、
外部からアクセス要求を受信した場合、前記アクセス要求により指定された前記記憶媒体上のセクタ番号である第１セクタ番号を前記記憶媒体上の前記先頭セクタ以外のセクタ番号である第２セクタ番号へ、所定の変換方式に基づいて変換し、前記記憶媒体上の第２セクタ番号へのアクセスを行うアクセス部と、
を備える記憶装置制御装置。
【請求項２】
請求項１に記載の記憶装置制御装置において、
前記所定の情報は、エラー処理を実行するコードであることを特徴とする記憶装置制御装置。
【請求項３】
請求項２に記載の記憶装置制御装置において、
前記エラー処理は、所定のメッセージの表示であることを特徴とする記憶装置制御装置。
【請求項４】
請求項１に記載の記憶装置制御装置において、
前記変換方式は、前記第１セクタ番号に所定の数値を加算して前記第２セクタ番号とすることを特徴とする記憶装置制御装置。
【請求項５】
請求項１に記載の記憶装置制御装置において、
前記変換方式は、前記第１セクタ番号に所定の暗号化を施して前記第２セクタ番号とすることを特徴とする記憶装置制御装置。
【請求項６】
請求項５に記載の記憶装置制御装置において、
更に、暗号鍵を取得する暗号鍵取得部を備え、
前記変換方式は、前記第１セクタ番号に対して、前記暗号鍵取得部にて取得された暗号鍵を用いる暗号化を施して前記第２セクタ番号とすることを特徴とする記憶装置制御装置。
【請求項７】
請求項１に記載の記憶装置制御装置において、
前記アクセス部は、前記記憶媒体の初期化時、前記第１セクタ番号を先頭セクタとし、該第１セクタ番号から得られる第２セクタ番号へ前記制御情報を書き込むことを特徴とする記憶装置制御装置。
【請求項８】
請求項７に記載の記憶装置制御装置において、
前記アクセス部は、前記記憶装置制御装置の起動時、前記第１セクタ番号を先頭セクタとし、該第１セクタ番号から得られる第２セクタ番号から前記制御情報を読み出すことを特徴とする記憶装置制御装置。
【請求項９】
複数の記憶媒体を有する記憶装置であって、
前記記憶媒体から最初に読み出されるべき制御情報と異なる所定の情報を、前記記憶媒体上の先頭セクタへ書き込む先頭セクタ書込部と、
外部からアクセス要求を受信した場合、前記アクセス要求により指定された前記記憶媒体上のセクタ番号である第１セクタ番号を前記記憶媒体上の前記先頭セクタ以外のセクタ番号である第２セクタ番号へ、所定の変換方式に基づいて変換し、前記記憶媒体上の第２セクタ番号へのアクセスを行うアクセス部と、
を備える記憶装置。
【請求項１０】
複数の記憶媒体を有する記憶装置をコンピュータに実行させることで制御する記憶装置制御プログラムであって、
前記記憶媒体から最初に読み出されるべき制御情報と異なる所定の情報を、前記記憶媒体上の先頭セクタへ書き込む先頭セクタ書込ステップと、
外部からアクセス要求を受信した場合、前記アクセス要求により指定された前記記憶媒体上のセクタ番号である第１セクタ番号を前記記憶媒体上の前記先頭セクタ以外のセクタ番号である第２セクタ番号へ、所定の変換方式に基づいて変換し、前記記憶媒体上の第２セクタ番号へのアクセスを行うアクセスステップと、
をコンピュータに実行させる記憶装置制御プログラム。
【請求項１１】
請求項１０に記載の記憶装置制御プログラムにおいて、
前記所定の情報は、エラー処理を実行するコードであることを特徴とする記憶装置制御プログラム。
【請求項１２】
請求項１０に記載の記憶装置制御プログラムにおいて、
前記変換方式は、前記第１セクタ番号に所定の数値を加算して前記第２セクタ番号とすることを特徴とする記憶装置制御プログラム。
【請求項１３】
請求項１０に記載の記憶装置制御プログラムにおいて、
前記変換方式は、前記第１セクタ番号に所定の暗号化を施して前記第２セクタ番号とすることを特徴とする記憶装置制御プログラム。
【請求項１４】
請求項１３に記載の記憶装置制御プログラムにおいて、
更に、暗号鍵を取得する暗号鍵取得ステップをコンピュータに実行させ、
前記変換方式は、前記第１セクタ番号に対して、前記暗号鍵取得ステップにて取得された暗号鍵を用いる暗号化を施して前記第２セクタ番号とすることを特徴とする記憶装置制御プログラム。
【請求項１５】
請求項１０に記載の記憶装置制御プログラムにおいて、
前記アクセスステップは、前記記憶媒体の初期化時、前記第１セクタ番号を先頭セクタとし、該第１セクタ番号から得られる第２セクタ番号へ前記制御情報を書き込むことを特徴とする記憶装置制御プログラム。
【請求項１６】
複数の記憶媒体を有する記憶装置を制御する記憶装置制御方法であって、
前記記憶媒体から最初に読み出されるべき制御情報と異なる所定の情報を、前記記憶媒体上の先頭セクタへ書き込む先頭セクタ書込ステップと、
外部からアクセス要求を受信した場合、前記アクセス要求により指定された前記記憶媒体上のセクタ番号である第１セクタ番号を前記記憶媒体上の前記先頭セクタ以外のセクタ番号である第２セクタ番号へ、所定の変換方式に基づいて変換し、前記記憶媒体上の第２セクタ番号へのアクセスを行うアクセスステップと、
を実行する記憶装置制御方法。
【請求項１７】
請求項１６に記載の記憶装置制御方法において、
前記所定の情報は、エラー処理を実行するコードであることを特徴とする記憶装置制御方法。
【請求項１８】
請求項１６に記載の記憶装置制御方法において、
前記変換方式は、前記第１セクタ番号に所定の数値を加算して前記第２セクタ番号とすることを特徴とする記憶装置制御方法。
【請求項１９】
請求項１６に記載の記憶装置制御方法において、
前記変換方式は、前記第１セクタ番号に所定の暗号化を施して前記第２セクタ番号とすることを特徴とする記憶装置制御方法。
【請求項２０】
請求項１９に記載の記憶装置制御方法において、
更に、暗号鍵を取得する暗号鍵取得ステップを実行し、
前記変換方式は、前記第１セクタ番号に対して、前記暗号鍵取得ステップにて取得された暗号鍵を用いる暗号化を施して前記第２セクタ番号とすることを特徴とする記憶装置制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の記憶媒体を制御する記憶装置制御装置、記憶装置、記憶装置制御プログラム、記憶装置制御方法に関するものである。
【背景技術】
【０００２】
ディスクアレイシステムとは、磁気ディスク装置の故障によるデータ喪失を防止する目的で磁気ディスク装置の冗長化を提供するシステムである。サーバ用途等の高い信頼性を必要とするコンピュータにおいては、ディスクアレイ制御装置により磁気ディスク装置が冗長化（ＲＡＩＤ１）されることで、１台の磁気ディスク装置が故障しても磁気ディスク装置上のデータは失われない。【０００３】
ここで、従来のディスクアレイシステムの構成を図９に示す。ディスクアレイシステム２００は、システムボード１１０上に搭載された磁気ディスク制御装置１０１に対してディスクアレイ制御装置１を追加搭載することで構成されている。ここで、磁気ディスク制御装置１０１は磁気ディスク装置１３０Ａ、１３０Ｂに対するデータ入出力を制御するものであり、ディスクアレイ制御装置１は冗長化に関するディスクアレイの制御を行うものである。ソフトウェア部１２０は、ＯＳ（Operating System）とアプリケーションで構成され、ディスクアレイシステム２００へのアクセスを行う。【０００４】
ここで、ディスクアレイ制御装置が正常動作している場合、図９に示すように、ディスクアレイ制御装置１は磁気ディスク装置１３０Ａ、１３０Ｂが二重化されることにより論理上１台の磁気ディスク装置としてＯＳに認識させる。その結果、ＯＳは磁気ディスク制御装置１０１経由で２台の磁気ディスク装置１３０Ａ、１３０Ｂ上に同一のデータを書き込む。よって、一方の磁気ディスク装置が故障しても、他方の磁気ディスク装置が正常である限りデータが失われることがない。尚、図９にて示した配列は、セクタ単位にデータ（Ａ（０）、Ａ（１）、・・・）が格納されていることを示している。また配列中、Ａ（０）が格納されたセクタが先頭セクタであり、以降、Ａ（１）、Ａ（２）と進むにつれてセクタ番号が増加していく。更に、Ａ（０）がシステムの起動に必要な情報であるシステム起動情報である。【０００５】
ＢＩＯＳ１００は、ディスクアレイ制御装置１があると認識した場合、磁気ディスク装置１３０Ａ、１３０Ｂへの入出力制御装置としてディスクアレイ制御装置１を選択するが、ディスクアレイ制御装置１がないと認識した場合、磁気ディスク装置１３０Ａ、１３０Ｂへの入出力制御装置として直接磁気ディスク制御装置１０１を用いるため、ＯＳは、磁気ディスク装置１３０Ａ、１３０Ｂを、二重化されていない２台の磁気ディスク装置として認識する。【０００６】
なお、本発明の関連ある従来技術として、予め冗長データを設定してあるディスクアレイシステムにおいて、冗長データ生成復元機能が障害を起こした場合にシステムが実行する冗長データを切り離す処理と、冗長データを切り離す処理により発生する空き領域を用いてシステムがデータを二重化する処理を提供することで、冗長データ生成復元機能が障害などにより閉塞した場合に、冗長データの使用をやめることにより、システムの利用性の向上を図るディスクアレイシステムがある（例えば、特許文献１参照）。
【特許文献１】特開平６−３３２６２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、ディスクアレイ制御装置１が故障や、搭載ミス等による接触不良により動作しなくなった場合、ディスクアレイ制御装置１は無いものとＢＩＯＳ１００によって判断され、図１０に示すように磁気ディスク装置１３０Ａ、１３０Ｂは二重化されていない２台の磁気ディスク装置としてＯＳに認識される。すなわち、一方の磁気ディスク装置１３０Ａはディスクアレイ構成時と同様の磁気ディスク装置として認識されるためデータが更新されるが（図９の磁気ディスク装置１３０ＡのデータＡ（１）、Ａ（２）、・・・、がＢ（１）、Ｂ（２）、・・・に更新）、他方の磁気ディスク装置１３０Ｂは新規に追加された別の磁気ディスク装置として認識されるためデータは更新されない。ここで、ディスクアレイ制御装置１が認識されない状態であっても、磁気ディスク制御装置１０１を介して磁気ディスク装置１３０Ａに対するディスクアクセスが発生する。【０００８】
その後、図１１に示すようにディスクアレイ制御装置１が交換等により復旧し、２台の磁気ディスク装置１３０Ａ、１３０Ｂが二重化された磁気ディスク装置として扱われる状態に戻った場合、ＯＳは磁気ディスク装置１３０Ｂ上の更新されていないデータを最新のデータとして扱うため、システム上矛盾が生じ、システムダウン、システム起動不能等の異常が発生する。さらに、ファイルシステムに異常が発生し、磁気ディスク上のデータが失われる場合がある。【０００９】
上述した特許文献１におけるディスクアレイシステムは、あくまでも冗長データ生成復元機能という冗長データに障害が発生した場合に関するものであり、ディスクアレイ制御装置の障害に関しては何ら対処されていない。【００１０】
本発明は上述した問題点を解決するためになされたものであり、記憶装置制御装置が認識されない場合の異常動作を防ぐ記憶装置制御装置、記憶装置、記憶装置制御プログラム、記憶装置制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決するため、本発明は、複数の記憶媒体を有する記憶装置を制御する記憶装置制御装置であって、前記記憶媒体から最初に読み出されるべき制御情報と異なる所定の情報を、前記記憶媒体上の先頭セクタへ書き込む先頭セクタ書込部と、外部からアクセス要求を受信した場合、前記アクセス要求により指定された前記記憶媒体上のセクタ番号である第１セクタ番号を前記記憶媒体上の前記先頭セクタ以外のセクタ番号である第２セクタ番号へ、所定の変換方式に基づいて変換し、前記記憶媒体上の第２セクタ番号へのアクセスを行うアクセス部とを備えるものである。【００１２】
また、上述した課題を解決するため、本発明は、複数の記憶媒体を有する記憶装置であって、前記記憶媒体から最初に読み出されるべき制御情報と異なる所定の情報を、前記記憶媒体上の先頭セクタへ書き込む先頭セクタ書込部と、外部からアクセス要求を受信した場合、前記アクセス要求により指定された前記記憶媒体上のセクタ番号である第１セクタ番号を前記記憶媒体上の前記先頭セクタ以外のセクタ番号である第２セクタ番号へ、所定の変換方式に基づいて変換し、前記記憶媒体上の第２セクタ番号へのアクセスを行うアクセス部と、を備えるものである。【００１３】
さらに、上述した課題を解決するため、本発明は、複数の記憶媒体を有する記憶装置をコンピュータに実行させることで制御する記憶装置制御プログラムであって、前記記憶媒体から最初に読み出されるべき制御情報と異なる所定の情報を、前記記憶媒体上の先頭セクタへ書き込む先頭セクタ書込ステップと、外部からアクセス要求を受信した場合、前記アクセス要求により指定された前記記憶媒体上のセクタ番号である第１セクタ番号を前記記憶媒体上の前記先頭セクタ以外のセクタ番号である第２セクタ番号へ、所定の変換方式に基づいて変換し、前記記憶媒体上の第２セクタ番号へのアクセスを行うアクセスステップとをコンピュータに実行させるものである。【００１４】
また、上述した課題を解決するため、本発明は、複数の記憶媒体を有する記憶装置を制御する記憶装置制御方法であって、前記記憶媒体から最初に読み出されるべき制御情報と異なる所定の情報を、前記記憶媒体上の先頭セクタへ書き込む先頭セクタ書込ステップと、外部からアクセス要求を受信した場合、前記アクセス要求により指定された前記記憶媒体上のセクタ番号である第１セクタ番号を前記記憶媒体上の前記先頭セクタ以外のセクタ番号である第２セクタ番号へ、所定の変換方式に基づいて変換し、前記記憶媒体上の第２セクタ番号へのアクセスを行うアクセスステップとを実行するものである。
【図面の簡単な説明】
【００１５】
【図１】実施の形態１に係るディスクアレイ制御装置の機能の一例を示す機能ブロック図である。
【図２】実施の形態１および実施の形態２に係るディスクアレイ制御装置を含んだシステム構成の一例を示す構成図である。
【図３】実施の形態１に係るディスクアレイ制御装置の初期化処理を示したフローチャートである。
【図４】実施の形態１および実施の形態２に係るディスクアレイ制御装置のシステム起動処理を示したフローチャートである。
【図５】実施の形態１に係るディスクアレイ制御装置のセクタ番号変換処理を示したフローチャートである。
【図６】実施の形態２に係るディスクアレイ制御装置の機能の一例を示す機能ブロック図である。
【図７】実施の形態２に係るディスクアレイ制御装置の初期化処理を示したフローチャートである。
【図８】実施の形態２に係るディスクアレイ制御装置のセクタ番号変換処理を示したフローチャートである。
【図９】従来のディスクアレイ制御装置を含んだディスクアレイシステムの構成の一例を示す構成図である。
【図１０】従来のディスクアレイ制御装置故障時のシステムの挙動を示す図である。
【図１１】従来のディスクアレイ制御装置復旧時のシステムの挙動を示す図である。
【発明を実施するための最良の形態】
【００１６】
（実施の形態１）
本実施の形態においては、本発明の記憶装置制御装置及び記憶装置を適用したディスクアレイ制御装置について説明する。また、本実施の形態においては、ディスクアレイ制御装置は、コンピュータに備えられているものとする。【００１７】
本実施の形態の説明に入る前に、ここで、前提条件となる磁気ディスク装置の管理方法およびアクセス方法について記す。磁気ディスク装置上の位置は、セクタで管理される。システムの起動時に最初に読み込まれるセクタ（起動セクタ、ＭＢＲ：Master Boot Record）には、システムの起動に必要な情報であるシステム起動情報（制御情報）が記録される。通常、起動セクタは磁気ディスク装置の先頭セクタとなっている。システム起動情報は、ブートローダと呼ばれるプログラムと、ブートローダを実行することで読み込まれるパーティションテーブル（パーティションの位置、パーティションサイズ等のデータ）とで構成されている。【００１８】
ＯＳは、磁気ディスク装置上のデータにアクセスする場合、予め磁気ディスク装置上のデータアクセスに必要な情報を取得しなければならない。そのデータアクセスに必要な情報は、通常はコンピュータ起動時にＢＩＯＳにより先頭セクタのブートローダが実行され、ブートローダがパーティションテーブルを読み込むことで取得される。【００１９】
ここで、先頭セクタに正当なシステム起動情報が存在しない場合は、ＯＳは磁気ディスク装置上のデータにアクセスすることができず、ＯＳは起動することができない。このことは、逆にＯＳを起動させたくない場合は、正当なシステム起動情報を先頭セクタに存在させなければよいことを意味する。【００２０】
上述の前提条件を踏まえ、実施の形態の概要を説明する。ディスクアレイ制御装置は、システムボードに装着され、初期化されることで、磁気ディスク装置上の先頭セクタ以外のセクタに対しシステム起動情報を書き込む。また、ディスクアレイ制御装置は、先頭セクタに対してシステム起動情報以外のデータを書き込む。更にディスクアレイ制御装置は、磁気ディスク装置の先頭セクタ番号をシステム起動情報が書き込まれたセクタ番号に変換する変換機構を備えることで、コンピュータ起動時、変換されたセクタ番号のセクタに書き込まれたシステム起動情報に基づきＯＳが起動される。【００２１】
上述のような構成にすることで、ディスクアレイ制御装置が正常に稼動している場合、ＯＳは起動されるが、ディスクアレイ制御装置の搭載ミス、故障等が発生した場合、ディスクアレイ制御装置は無いものとシステム上判断されるため、コンピュータ起動時にＢＩＯＳは先頭セクタのシステム起動情報を読み込もうとするが、システム起動情報が無いためＯＳは起動されない。よって、磁気ディスク装置上のデータに対しＯＳはアクセスすることができなくなり、磁気ディスク装置上のデータに誤ったデータが書き込まれることがなくなる。【００２２】
ここで、図１に実施の形態１におけるディスクアレイ制御装置を含んだディスクアレイシステムの構成の一例を示す。【００２３】
まず、ディスクアレイシステムの構成を図１を参照しつつ説明する。ディスクアレイシステム２００は、システムボード１１０、磁気ディスク１３０Ａおよび磁気ディスク１３０Ｂ（記憶装置）を備えている。さらに、システムボード１１０は、ディスクアレイ制御装置１（記憶装置制御装置）、ＢＩＯＳ１００、磁気ディスク制御装置１０１を備えている。尚、ディスクアレイシステム２００は、コンピュータの一部として備えられているものとする。【００２４】
システムボード１１０は、主要な電子回路基板（マザーボード）であり、上述のディスクアレイ制御装置１、ＢＩＯＳ１００、磁気ディスク制御装置１０１以外にも、入出力用端子、ＣＰＵ、メモリ等、コンピュータを稼動させるのに必要なデバイスを搭載する。【００２５】
磁気ディスク装置１３０Ａおよび磁気ディスク装置１３０Ｂ（以降、両方の磁気ディスク装置を表記する場合は磁気ディスク装置１３０Ａ、１３０Ｂと表記する）はハードディスクドライブであり、ディスクアレイ制御装置１によって二重化されている。すなわち、磁気ディスク装置１３０Ａ、１３０Ｂには同一のデータが格納される。尚、実施の形態１では、磁気ディスク装置１３０Ａ、１３０Ｂはコンピュータに内蔵されているものとするが、外付けの磁気ディスク装置でもよい。また、磁気ディスク装置１３０Ａ、１３０Ｂの接続形式は、ＩＤＥ（Integrated Drive Electronics）接続形式、ＳＣＳＩ（Small Computer System Interface）接続形式、他の接続方式であってもよい。【００２６】
ＢＩＯＳ１００は、コンピュータを起動した直後に実行されるプログラムであり、コンピュータのデバイスを制御し、ソフトウェア部１２０に対し、デバイスの制御を行う機能を提供する。【００２７】
磁気ディスク制御装置１０１は、磁気ディスク装置１３０Ａ、１３０Ｂに対するデータ入出力を制御する。【００２８】
ディスクアレイ制御装置１は磁気ディスク装置の冗長化に関する制御を行う。更に、実施の形態１におけるディスクアレイ制御装置１は、従来のディスクアレイ制御装置１に対しセクタ番号を変換する変換機構が備えられている。【００２９】
また、ソフトウェア部１２０は、ＯＳ（Operating System）や、ＯＳ上で稼動するアプリケーションの集合である。【００３０】
ディスクアレイ制御装置１が正常に動作している場合のソフトウェア部１２０から磁気ディスク装置１３０Ａ、１３０Ｂへのアクセスは、システムボード１１０上に搭載されたディスクアレイ制御装置１およびディスク制御装置１０１を経由して行われる。【００３１】
ここで、ディスクアレイ制御装置１の詳細について、図２を参照しつつ説明する。図２に実施の形態１におけるディスクアレイ制御装置の機能の一例を示す機能ブロック図を示す。【００３２】
ディスクアレイ制御装置１は、先頭セクタ生成部２、変換部３、受信部６、および入出力部８を備える。【００３３】
先頭セクタ生成部２は、磁気ディスク装置１３０Ａ、１３０Ｂの先頭セクタに対しシステム起動情報と異なる情報として、全て０のデータを生成する。【００３４】
変換部３は、受信部６にて受信されたアクセス要求により指定された磁気ディスク装置１３０Ａ、１３０Ｂのセクタ番号に１を加算することで変換する。【００３５】
受信部６は、ソフトウェア部１２０からの磁気ディスク装置１３０Ａ、１３０Ｂに対するデータのアクセス要求を受信する。【００３６】
入出力部８は、受信部６にて受信されたアクセス要求により指定された磁気ディスク装置１３０Ａ、１３０Ｂ上のセクタ番号（第１セクタ番号）を、変換部３に変換させ、変換後のセクタ番号をデータにアクセスするセクタ番号であるアクセスセクタ番号（第２セクタ番号）として磁気ディスク制御装置１０１に出力する。尚、磁気ディスク制御装置１０１は、このアクセスセクタ番号で磁気ディスク装置１３０Ａ、１３０Ｂに磁気ディスク制御装置１０１経由でアクセスする。また入出力部８は、ディスクアレイの初期化時に、先頭セクタ生成部２にて生成された全て０のデータを磁気ディスク装置１３０Ａ、１３０Ｂの先頭セクタに、磁気ディスク制御装置１０１経由で書き込む。【００３７】
次に、実施の形態１における初期化処理について図３のフローチャートを参照しつつ説明する。【００３８】
受信部６がソフトウェア部１２０からディスクアレイの初期化の要求を受信すると、先頭セクタ生成部２は全て０のデータ（ＡＬＬ（０））を生成し、入出力部８は、磁気ディスク装置１３０Ａ、１３０Ｂの先頭セクタに生成された全て０のデータ（ＡＬＬ（０））を書き込む（ステップＳ１）。尚、先頭セクタ生成部２は、正当なシステム起動情報のデータでなければ如何なる情報（所定の情報）を生成してもよい。【００３９】
次に、変換部３は、受信部６にて受信されたソフトウェア部１２０からのアクセス要求にて指定された先頭セクタのセクタ番号に１を加算することにより、先頭セクタのセクタ番号をアクセスセクタ番号として変換する（ステップＳ２）。【００４０】
入出力部８は、変換部３によって変換されたアクセスセクタ番号に対し、ソフトウェア部１２０から受信部６経由で受信されたシステム起動情報を書き込むことで、起動セクタとする（ステップＳ３）。以降、後述するセクタ番号変換処理（図５参照）と同様に、セクタ番号を１加算する変換方式でデータが書き込まれることで初期化がなされる。【００４１】
初期化処理による磁気ディスク装置１３０Ａ、１３０Ｂのデータ配列結果を図１に示す。ここで、ＡＬＬ（０）と表記された配列が先頭セクタであり、磁気ディスク装置１３０Ａ、１３０Ｂの先頭でないアドレスから、二重化したデータ（Ａ（０）、Ａ（１）、・・・）が書き込まれる。尚、Ａ（０）がシステム起動情報である。【００４２】
図１の配列結果と図９の従来のセクタの配列とを対比すると、初期化処理によって、先頭セクタ（図９におけるＡ（０）のセクタ）には全て０のデータ（ＡＬＬ（０））が書き込まれるのがわかる。また、図９のＡ（０）として表記されたシステム起動情報は、図１においては１つ加算された番号のセクタに格納される。【００４３】
上述のような処理がなされた磁気ディスク装置１３０Ａ、１３０Ｂに対し、以後のコンピュータ起動時、ＢＩＯＳ１００からのアクセス要求により指定される先頭セクタのセクタ番号は、変換部３にて１が加算されることでアクセスセクタ番号とされる。アクセスセクタ番号に対し入出力部８が磁気ディスク制御装置１０１経由でアクセスすることで、システムが起動される（ステップＳ４）。【００４４】
次に、ディスクアレイ制御装置１の正常状態および異常状態における起動処理について図４のフローチャートを参照しつつ説明する。ＢＩＯＳ１００は、コンピュータの起動直後にシステム起動情報を読み出す（ステップＳ１１）。ここで、システム起動情報が正当なものである場合（ステップＳ１２、Ｙ）、ディスクアレイ制御装置１が正常に稼動していることとなり（ＢＩＯＳ１００は先頭セクタのシステム起動情報を読み出していると認識しているが、上述のように変換部３における変換処理によって、実際は先頭セクタ番号から１つ加算したアクセスセクタ番号に格納されたシステム起動情報を読み出している。）、ＢＩＯＳ１００はＯＳ（システム）を正常に起動させることができる（ステップＳ１３）。【００４５】
一方、ディスクアレイ制御装置１が故障（または接触不良）である場合は、変換部３による変換がなされないため、ＢＩＯＳ１００は先頭セクタをそのまま読み出すことになる。しかしながら、先頭セクタは上述のように全て０のデータとなっているため、ＢＩＯＳ１００はシステム起動情報が正当なものでないと判断する（ステップＳ１２、Ｎ）。よってＢＩＯＳ１００は磁気ディスク装置１３０Ａ、１３０Ｂを使用することができず、ＯＳ（システム）を起動することができない（ステップＳ１４）。その結果、磁気ディスク装置１３０Ａに対するデータの書き込み等のアクセスが発生しないため（ディスクアレイが構成されていないため、アクセスがある場合は片方の磁気ディスク装置のみに発生）、磁気ディスク装置１３０Ａと磁気ディスク装置１３０Ｂとの間のデータの整合性を保つことができる。【００４６】
次に、上述のように変換部３によってセクタ番号が変換された磁気ディスク装置１３０Ａ、１３０Ｂに対し、ＯＳ起動後、ソフトウェア部１２０は、データを格納するためアクセスする必要がある。このデータ入出力のアクセス時におけるディスクアレイ制御装置１のセクタ番号変換処理を図５のフローチャートに示す。【００４７】
受信部６は、ソフトウェア部１２０からアクセス要求を受信する（ステップＳ２１）。受信部６にて受信されたアクセス要求により指定されたセクタ番号に対し、変換部３は１を加算したアクセスセクタ番号として変換する（ステップＳ２２）。変換部３にて変換されたアクセスセクタ番号を入出力部８は磁気ディスク制御装置１０１を経由して磁気ディスク装置１３０Ａ、１３０Ｂのアクセスセクタ番号対しアクセスする（ステップＳ２４）。【００４８】
たとえば、ソフトウェア部１２０がセクタ番号“１０００”へのデータの書き込みを要求した場合、受信部６がソフトウェア部１２０からのアクセス要求を受信し、アクセス要求により指定されたセクタ番号“１０００”を、変換部３はセクタ番号“１０００”に１を加えてアクセスセクタ番号“１００１”とし、入出力部８は磁気ディスク装置１３０Ａ、１３０Ｂのセクタ番号“１００１”のセクタに対し、磁気ディスク制御装置１０１を経由してデータを書き込む。【００４９】
なお、実施の形態１の変換部３におけるセクタ番号の変換方式は、セクタ番号に対し１を加算する方式としたが、加算する数値は１である必要はなく、変化後のセクタ番号が磁気ディスク装置のセクタ数を超えないならば如何なる数値（所定の数値）でもかまわない。また変換方式は、先頭セクタにデータを書き込まない方式で、且つ変換前のセクタ番号と変換後のセクタ番号が１対１となる方式ならば如何なる方式（所定の変換方式）でもかまわない。【００５０】
また、実施の形態１においては、先頭セクタ生成部２は先頭セクタに対し全て０のデータを出力したが、先頭セクタに対し予め設定された任意のエラーメッセージを出力するコード（エラー処理を行うコード）を出力することで、ディスクアレイシステム２００はディスクアレイ制御装置１に異常が発生したことをユーザに警告することが可能となる。すなわち、先頭セクタ生成部２は、ステップＳ１の処理で全て０のデータを出力する代わりに、任意のエラーメッセージを出力するコードを出力し、入出力部８は、先頭セクタのブートローダが書き込まれている領域に書き込む。このようにすると、ディスクアレイ制御装置１が故障等である場合、先頭セクタを読込んだＢＩＯＳ１００はエラーメッセージを出力することができる。尚、エラーメッセージでなくてもよく、例えばビープ音によるエラー通知等、如何なるエラー処理でもかまわない。【００５１】
尚、ＯＳ稼動状態時にディスクアレイ制御装置１に故障等が発生した場合は、その故障の瞬間にシステムダウンが発生し、その後コンピュータ起動時には上述のようにＯＳが起動しないようになる。よって、ＯＳの稼動状態時においてディスクアレイ制御装置１に故障等が発生した場合においても、ディスクアクセスは発生しない。【００５２】
実施の形態１により、ディスクアレイ制御装置１が正常動作していない場合は、磁気ディスク装置１３０Ａ、１３０Ｂ上のデータを正しく認識できないため、ソフトウェア部１２０からアクセスができなくなる。すなわち、いずれの磁気ディスク装置上のデータも更新されず、ディスクアレイ制御装置の復旧後にデータ異常が発生することがなくなる。【００５３】
（実施の形態２）
実施の形態１では、変換部３の変換方式は、セクタ番号に対し１加算させる方式としたが、実施の形態２では、暗号化アルゴリズムに基づいた方式を変換方式として採用し、セクタ番号を変換する。【００５４】
本実施の形態に係るディスクアレイシステムの構成は、実施の形態１と同様である。図６に、実施の形態２におけるディスクアレイ制御装置の機能ブロックを示す。実施の形態２におけるディスクアレイ制御装置１は、ユーザから暗号鍵を取得する暗号鍵取得部１０を備える。尚、図６と図２との同一符号は図２に示された対象と同一又は相当物を示しており、ここでの説明を省略する。【００５５】
図７に実施の形態２における初期化処理のフローチャートを示す。尚、実施の形態２における初期化処理は、実施の形態１と同様、ディスクアレイ制御装置１がシステムボード１１０に装着され、初期化されるときに実施される。【００５６】
ステップＳ３１の処理は、実施の形態１のステップＳ１と同様であるため（図３参照）、ここでの説明を省略する。【００５７】
暗号鍵取得部１０は、ユーザから暗号鍵を取得する（ステップＳ３２）。暗号鍵取得部１０は、ディスクアレイ制御装置１上に物理的に備えられたＤＩＰスイッチにて設定されたものを暗号鍵として取得してもよいし、またディスクアレイ制御装置１にて表示されるＰＯＳＴ画面にて設定されたものを暗号鍵として取得してもよい。これらの取得方法以外に、如何なる方法を用いても同様な効果が得られる。尚、取得した暗号鍵は、ディスクアレイ制御装置１の図示しない不揮発性メモリに格納される。【００５８】
次に、変換部３は、暗号鍵取得部１０によって取得された暗号鍵を用い、所定の暗号化に基づき、先頭セクタのセクタ番号をアクセスセクタ番号に変換する（ステップＳ３３）。暗号化は、先頭セクタにデータを書き込まない方式で、且つ変換前のセクタ番号と変換後のセクタ番号が１対１となる方式であったら、如何なる暗号化（所定の暗号化）でもよい。【００５９】
以降の処理（ステップＳ３４、ステップＳ３５）は、実施の形態１と同様であるため（図３参照）、ここでの説明を省略する。【００６０】
また、ディスクアレイ制御装置１の正常状態および異常状態における起動処理は、実施の形態１と同様であるため（図４参照）、ここでの説明を省略する。【００６１】
次に、図８に実施の形態２におけるセクタ番号変換処理のフローチャートを示す。尚、（ステップＳ４１およびステップＳ４３の処理は、実施の形態１と同様であるため（図５参照）、ここでの説明を省略する。【００６２】
変換部３は、受信部６にて受信されたアクセス要求により指定されたセクタ番号を、暗号鍵取得部１０によって取得された暗号鍵（ディスクアレイ制御装置１の初期化時に実施されるステップＳ３１にて取得済み）を用い、所定の暗号化アルゴリズムに基づきアクセスセクタ番号に変換する（ステップＳ４３）。暗号化は、実施の形態１と同様、先頭セクタにデータを書き込まない方式で、且つ変換前と変換後のセクタ番号が１対１となる方式であったら、如何なる暗号化（所定の暗号化）でもよい。【００６３】
実施の形態２の変換部３は、暗号鍵取得部１０によって取得された暗号鍵を用いる暗号化アルゴリズムにて変換を行うが、暗号鍵を用いない暗号化アルゴリズムであっても構わない。【００６４】
実施の形態２によれば、磁気ディスク装置１３０Ａ、１３０Ｂがこのディスクアレイシステム外に持ち出された場合にアクセスが不可能となるため、磁気ディスク装置１３０Ａ、１３０Ｂ上のデータが漏洩することを防止することができる。また、磁気ディスク制御装置１を故障等で交換した場合、磁気ディスク制御装置に暗号鍵を再設定することで、磁気ディスク装置１３０Ａ、１３０Ｂ上のデータに正常にアクセスすることが可能となる。【００６５】
なお、本実施の形態においては、磁気ディスク装置を制御する磁気ディスク制御装置について説明したが、光ディスク、光磁気ディスク等、他の記憶媒体を用いた記憶装置にも適用することができる。【００６６】
また、先頭セクタ書込部は、実施の形態における先頭セクタ生成部２、入出力部８に対応し、アクセス部は、実施の形態における受信部６、変換部３、入出力部８に対応する。【００６７】
また、先頭セクタ書込ステップは、実施の形態における処理Ｓ１、Ｓ３１に対応する。また、アクセスステップは、実施の形態における処理Ｓ２からＳ４、Ｓ２１からＳ２３、Ｓ３２からＳ３５、およびＳ４１からＳ４３に対応する。【００６８】
更に、ディスクアレイ制御装置を構成するコンピュータにおいて上述した各ステップを実行させるプログラムを、ディスクアレイ制御プログラムとして提供することができる。上述したプログラムは、コンピュータにより読取り可能な記録媒体に記憶させることによって、ディスクアレイ制御を構成するコンピュータに実行させることが可能となる。ここで、上記コンピュータにより読取り可能な記録媒体としては、ＲＯＭやＲＡＭ等のコンピュータに内部実装される内部記憶装置、ＣＤ−ＲＯＭやフレキシブルディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、更に回線上の伝送媒体をも含むものである。
【産業上の利用可能性】
【００６９】
以上説明したように、本発明によれば、記憶装置制御装置が認識されない場合の異常動作を防ぐことができる。
【図１】
2008126226.tif 000002
【図２】
2008126226.tif 000003
【図３】
2008126226.tif 000004
【図４】
2008126226.tif 000005
【図５】
2008126226.tif 000006
【図６】
2008126226.tif 000007
【図７】
2008126226.tif 000008
【図８】
2008126226.tif 000009
【図９】
2008126226.tif 000010
【図１０】
2008126226.tif 000011
【図１１】
2008126226.tif 000012
【手続補正書】
【提出日】平成21年8月19日(2009.8.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の記憶媒体を有する記憶装置を制御する記憶装置制御装置であって、
前記記憶媒体から最初に読み出されるべき制御情報と異なる所定の情報を、前記記憶媒体上の先頭セクタへ書き込む先頭セクタ書込部と、
外部からアクセス要求を受信した場合、前記アクセス要求により指定された前記記憶媒体上のセクタ番号である第１セクタ番号を前記記憶媒体上の前記先頭セクタ以外のセクタ番号である第２セクタ番号へ、所定の変換方式に基づいて変換し、前記記憶媒体上の第２セクタ番号へのアクセスを行うアクセス部と、
を備える記憶装置制御装置。
【請求項２】
請求項１に記載の記憶装置制御装置において、
前記所定の情報は、エラー処理を実行するコードであることを特徴とする記憶装置制御装置。
【請求項３】
請求項１に記載の記憶装置制御装置において、
前記変換方式は、前記第１セクタ番号に所定の数値を加算して前記第２セクタ番号とすることを特徴とする記憶装置制御装置。
【請求項４】
請求項１に記載の記憶装置制御装置において、
前記変換方式は、前記第１セクタ番号に所定の暗号化を施して前記第２セクタ番号とすることを特徴とする記憶装置制御装置。
【請求項５】
請求項４に記載の記憶装置制御装置において、
更に、暗号鍵を取得する暗号鍵取得部を備え、
前記変換方式は、前記第１セクタ番号に対して、前記暗号鍵取得部にて取得された暗号鍵を用いる暗号化を施して前記第２セクタ番号とすることを特徴とする記憶装置制御装置。
【請求項６】
複数の記憶媒体を有する記憶装置であって、
前記記憶媒体から最初に読み出されるべき制御情報と異なる所定の情報を、前記記憶媒体上の先頭セクタへ書き込む先頭セクタ書込部と、
外部からアクセス要求を受信した場合、前記アクセス要求により指定された前記記憶媒体上のセクタ番号である第１セクタ番号を前記記憶媒体上の前記先頭セクタ以外のセクタ番号である第２セクタ番号へ、所定の変換方式に基づいて変換し、前記記憶媒体上の第２セクタ番号へのアクセスを行うアクセス部と、
を備える記憶装置。
【請求項７】
複数の記憶媒体を有する記憶装置をコンピュータに実行させることで制御する記憶装置制御プログラムであって、
前記記憶媒体から最初に読み出されるべき制御情報と異なる所定の情報を、前記記憶媒体上の先頭セクタへ書き込む先頭セクタ書込ステップと、
外部からアクセス要求を受信した場合、前記アクセス要求により指定された前記記憶媒体上のセクタ番号である第１セクタ番号を前記記憶媒体上の前記先頭セクタ以外のセクタ番号である第２セクタ番号へ、所定の変換方式に基づいて変換し、前記記憶媒体上の第２セクタ番号へのアクセスを行うアクセスステップと、
をコンピュータに実行させる記憶装置制御プログラム。
【請求項８】
複数の記憶媒体を有する記憶装置を制御する記憶装置制御方法であって、
前記記憶媒体から最初に読み出されるべき制御情報と異なる所定の情報を、前記記憶媒体上の先頭セクタへ書き込む先頭セクタ書込ステップと、
外部からアクセス要求を受信した場合、前記アクセス要求により指定された前記記憶媒体上のセクタ番号である第１セクタ番号を前記記憶媒体上の前記先頭セクタ以外のセクタ番号である第２セクタ番号へ、所定の変換方式に基づいて変換し、前記記憶媒体上の第２セクタ番号へのアクセスを行うアクセスステップと、
を実行する記憶装置制御方法。