(57)【要約】【課題】  記憶手段に記憶されているデータにアクセスできなくなることを抑制する。【解決手段】  記憶装置コントローラ１０６は、外部記憶装置Ａ１０７の状態に応じて、ＪＢＯＤミラーボリューム４０１内の領域Ｘ４０２および領域Ｚ４０４へのアクセスを制御する。【選択図】  図４
2018190243.tif 000002
【特許請求の範囲】
【請求項１】
第１の記憶手段と第２の記憶手段とを含む複数の記憶手段にアクセスすることが可能な情報処理装置であって、
前記第１の記憶手段に記憶されたデータの少なくとも一部を前記第２の記憶手段にコピーするコピー手段と、
前記第１の記憶手段に記憶されているデータであって、前記第２の記憶手段にコピーしたデータである第１のデータへのアクセスである第１のアクセスと、前記第２の記憶手段に記憶されているデータであって、前記第１の記憶手段からコピーされたデータである第２のデータへのアクセスである第２のアクセスとを前記第１の記憶手段の状態に応じて制御する制御手段と、を有することを特徴とする情報処理装置。
【請求項２】
データの記憶位置を指定して、当該データへのアクセスを前記制御手段に指示する指示手段を更に有し、
前記制御手段は、前記第１のデータの前記第１の記憶手段における記憶位置が前記指示手段により指定された場合、前記第１の記憶手段の状態に応じて、当該記憶位置を、前記第２のデータの前記第２の記憶手段における記憶位置に変換することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、前記指示手段により指定される記憶位置と前記制御手段によりアクセスする記憶位置との関係と、前記第１の記憶装置の状態と、が相互に関連付けられた情報である対応情報を用いて、前記指示手段により指定された記憶位置を変換することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記対応情報を記憶する第３の記憶手段を更に有することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記第３の記憶手段は、不揮発性の記憶手段であることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記第１の記憶手段における記憶位置と、前記第２の記憶手段における記憶位置は、連続する記憶位置であることを特徴とする請求項２〜５の何れか１項に記載の情報処理装置。
【請求項７】
前記記憶位置は、ＬＢＡ（Logical Block Addressing）により割り当てられるアドレスであることを特徴とする請求項２〜６の何れか１項に記載の情報処理装置。
【請求項８】
前記複数の記憶手段のうち、少なくとも前記第１の記憶手段および前記第２の記憶手段は、論理的に連結されていることを特徴とする請求項１〜７の何れか１項に記載の情報処理装置。
【請求項９】
前記複数の記憶手段のうち、少なくとも前記第１の記憶手段および前記第２の記憶手段を更に有することを特徴とする請求項１〜８の何れか１項に記載の情報処理装置。
【請求項１０】
前記第２の記憶手段は、冗長領域を有し、
前記コピー手段は、前記第１の記憶手段の少なくとも一部の記憶領域を、前記冗長領域にミラーリングすることを特徴とする請求項１〜９の何れか１項に記載の情報処理装置。
【請求項１１】
前記第１の記憶手段に記憶された前記第１のデータおよび前記第２の記憶手段に記憶された前記第２のデータへのアクセスの状態が、前記第１の記憶手段の状態に応じて、前記第１のアクセスと前記第２のアクセスとの双方が有効となる第１の状態と、前記第１のアクセスが有効となり前記第２のアクセスが無効となる第２の状態と、前記第１のアクセスが無効となり前記第２のアクセスが有効となる第３の状態との何れかの状態になることを特徴とする請求項１〜１０の何れか１項に記載の情報処理装置。
【請求項１２】
前記第１の記憶手段および前記第２の記憶手段が正常状態である場合、前記第２の状態になり、前記第１の記憶手段が異常状態である場合、前記第３の状態になることを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
前記第１の記憶手段を異常状態から復帰させる処理を行う際に、前記第１の状態になることを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
前記第１の記憶手段と前記第２の記憶手段のアクセス速度が異なることを特徴とする請求項１〜１３の何れか１項に記載の情報処理装置。
【請求項１５】
第１の記憶手段と第２の記憶手段とを含む複数の記憶手段にアクセスすることが可能な情報処理装置の制御方法であって、
前記第１の記憶手段に記憶されたデータの少なくとも一部を前記第２の記憶手段にコピーするコピー工程と、
前記第１の記憶手段に記憶されているデータであって、前記第２の記憶手段にコピーしたデータである第１のデータへのアクセスである第１のアクセスと、前記第２の記憶手段に記憶されているデータであって、前記第１の記憶手段からコピーされたデータである第２のデータへのアクセスである第２のアクセスとを前記第１の記憶手段の状態に応じて制御する制御工程と、を有することを特徴とする情報処理装置の制御方法。
【請求項１６】
請求項１〜１４の何れか１項に記載の情報処理装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法、およびプログラムに関するものである。
【背景技術】
【０００２】
情報処理装置には、ハードディスクドライブ（ＨＤＤ）やソリッドステートドライブ（ＳＳＤ）が外部記憶装置として搭載される。これらの外部記憶装置は、データのスプールや保管に用いられる。このため、これらの外部記憶装置には、高速なアクセススピードと、高いデータ保持性能とが同時に求められる。
一般的にＳＳＤはＨＤＤよりも高速なアクセスが可能である。しかしながら、ＳＳＤに用いられるＮＡＮＤ型ＦＬＡＳＨメモリにはデータの保持期間に制約がある。このため、ＳＳＤは、データ保持の信頼性の面でＨＤＤに劣る。一方、ＨＤＤは、その逆の特性を備える。そこで、ＳＳＤとＨＤＤとを組み合わせてＪＢＯＤ（Just a Bunch Of Disks）ボリュームとする技術が提案されている。
特許文献１には、ＪＢＯＤを構成するデバイスとしてＳＳＤとＨＤＤとを組み合わせた外部記憶装置に対し、やりとりするデータの種類に応じてアクセスするデバイスを変更する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−４３２４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ＪＢＯＤにおいては、ＪＢＯＤを構成する複数のデバイスのうちの１つでも故障してしまうと、ＪＢＯＤが成立しない。情報処理装置のコントローラは、ＪＢＯＤボリュームを１つの外部記憶装置として扱うため、ＪＢＯＤを構成する複数のデバイスのうちの１つが故障しただけでも、外部記憶装置の全体の故障であると判断する。この場合、故障していないデバイスは正常にデータを保持しているにも関わらず、情報処理装置のコントローラは、当該データにアクセスすることができない。
本発明は、このような問題点に鑑みてなされたものであり、記憶手段に記憶されているデータにアクセスできなくなることを抑制することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の情報処理装置は、第１の記憶手段と第２の記憶手段とを含む複数の記憶手段にアクセスすることが可能な情報処理装置であって、前記第１の記憶手段に記憶されたデータの少なくとも一部を前記第２の記憶手段にコピーするコピー手段と、前記第１の記憶手段に記憶されているデータであって、前記第２の記憶手段にコピーしたデータである第１のデータへのアクセスである第１のアクセスと、前記第２の記憶手段に記憶されているデータであって、前記第１の記憶手段からコピーされたデータである第２のデータへのアクセスである第２のアクセスとを前記第１の記憶手段の状態に応じて制御する制御手段と、を有することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、記憶手段に記憶されているデータにアクセスできなくなることを抑制することができる。
【図面の簡単な説明】
【０００７】
【図１】画像形成装置の構成を示す図である。
【図２】記憶装置コントローラおよび外部記憶装置の構成を示す図である。
【図３】ＪＢＯＤボリュームを示す図である。
【図４】ＪＢＯＤミラーボリュームを示す図である。
【図５】ミラーリングのステートの遷移を示す図である。
【図６】ＬＢＡ変換テーブルを示す図である。
【図７】コントローラの処理を示すフローチャートである。
【発明を実施するための形態】
【０００８】
以下、図面を参照しながら、実施形態を説明する。本実施形態では、情報処理装置が画像形成装置である場合を例に挙げて説明する。しかしながら、情報処理装置は、画像形成装置に限定されず、ＪＢＯＤ等、１つの記憶手段として扱われるように論理的に連結された複数の記憶手段に記憶されているデータにアクセスすることが可能な情報処理装置であればよい。
【０００９】
図１は、画像形成装置の構成の一例を示すブロック図である。画像形成装置は、コントローラ１００と、画像形成部１０１とを有する。コントローラ１００は、画像形成装置全体をコントロールする。画像形成部１０１は、原稿のスキャンやプリント等を行う。
【００１０】
コントローラ１００は、ＣＰＵ１０２、ＲＡＭ１０３、Ｉ／Ｏコントローラ１０４、ＲＯＭ１０５、記憶装置コントローラ１０６、外部記憶装置Ａ１０７、および外部記憶装置Ｂ１０８を有する。ＣＰＵ１０２は、画像形成装置の全体のコントロールを行う。ＣＰＵ１０２は、画像形成装置の制御のためのＯＳ（Operating System）やデータをＲＡＭ１０３に配置する。
【００１１】
Ｉ／Ｏコントローラ１０４は、画像形成部１０１や周辺ＩＣ（Integrated Circuit）等の外部装置に接続する。Ｉ／Ｏコントローラ１０４は、ＣＰＵ１０２と外部装置との間で行われるデータの授受を制御する。ＲＯＭ１０５は、ＣＰＵ１０２がＲＡＭ１０３上で動作させるＯＳ等を保持する不揮発性の記憶媒体である。記憶装置コントローラ１０６は、複数の外部記憶装置に接続する。記憶装置コントローラ１０６は、ＣＰＵ１０２と外部記憶装置との間で行われるデータの授受と、外部記憶装置の間で行われるデータの授受とを、ＣＰＵ１０２からの指示に応じて制御する。図１に示す例では、コントローラ１００は、外部記憶装置Ａ１０７と外部記憶装置Ｂ１０８とを有するものとする。以下では、外部記憶装置Ａ１０７がＳＳＤであり、外部記憶装置Ｂ１０８がＨＤＤである場合を例に挙げて説明する。本実施形態では、外部記憶装置Ａ１０７の方が外部記憶装置Ｂ１０８よりもアクセス速度が速いものとする。また、外部記憶装置Ｂ１０８の方が外部記憶装置Ａ１０７よりも信頼性が高いものとする。
【００１２】
図２は、コントローラ１００のうち、記憶装置コントローラ１０６、外部記憶装置Ａ１０７、および外部記憶装置Ｂ１０８Ｂの詳細な構成の一例を示すブロック図である。
記憶装置コントローラ１０６は、マイコン２０１と不揮発性メモリ２０２とを有する。マイコン２０１は、ＣＰＵ１０２と、外部記憶装置Ａ１０７および外部記憶装置Ｂ１０８との間で行われるデータの授受を制御する。不揮発性メモリ２０２は、記憶装置コントローラ１０６の設定値を保持する。
外部記憶装置Ａ１０７、外部記憶装置Ｂ１０８は、それぞれ記憶域Ａ２０３、記憶域Ｂ２０４を有する。記憶域Ａ２０３および記憶域Ｂ２０４は、論理アドレス（本実施形態では、ＬＢＡ（Logical Block Addressing）により割り当てられるアドレス）にて管理される。マイコン２０１は、ＬＢＡ［００００］からＬＢＡ［００ＦＦ］までの記憶域を記憶域Ａ２０３として使用可能であるとする。同様にマイコン２０１は、ＬＢＡ［００００］からＬＢＡ［ＦＥＦＦ］までの記憶域を記憶域Ｂ２０４として使用可能であるとする。ＬＢＡの１アドレスに割り当てる容量はシステム内部では同じであるとする。このため、図２に示す例では、記憶域Ａ２０３の総容量よりも記憶域Ｂ２０４の総容量の方が大きい。
【００１３】
図３は、一般的なＪＢＯＤボリューム３０１の一例を示す図である。
記憶装置コントローラ１０６は、ＣＰＵ１０２からの指示によってＪＢＯＤボリューム３０１を形成する。ＣＰＵ１０２からＪＢＯＤの作成が指示されると、記憶装置コントローラ１０６は、記憶域Ａ２０３を記憶域Ｂ２０４の末尾に論理的に結合し、ＬＢＡ［００００］からＬＢＡ［ＦＦＦＦ］まで使用可能なＪＢＯＤボリューム３０１を作成する。ＣＰＵ１０２は、ＪＢＯＤボリューム３０１の制御には関与せず、記憶装置コントローラ１０６が独立してＪＢＯＤボリューム３０１の制御を行う。記憶装置コントローラ１０６の不揮発性メモリ２０２内にＬＢＡ置換テーブルが記憶される。ＣＰＵ１０２は、ＬＢＡ［ＦＦ００］からＬＢＡ［ＦＦＦＦ］までの何れかの論理アドレスに対するアクセスを記憶装置コントローラ１０６に要求する。記憶装置コントローラ１０６は、ＣＰＵ１０２から要求された論理アドレスを、ＬＢＡ置換テーブルに従って、記憶域Ｂ２０４のＬＢＡ［００００］からＬＢＡ［００ＦＦ］までの何れかの論理アドレスに置換する。よって、ＣＰＵ１０２には、外部記憶装置Ａ１０７および外部記憶装置Ｂ１０８として、ＬＢＡ［００００］からＬＢＡ［ＦＦＦＦ］までの論理アドレスにアクセスすることが可能なＪＢＯＤボリューム３０１が１つだけ見える。
【００１４】
次に、図４〜図７を参照して、本実施形態の記憶装置コントローラ１０６の一例を説明する。本実施形態では、記憶装置コントローラ１０６が、ＪＢＯＤを作成する際に、内部ミラーリング構造を予め生成しておくことでＪＢＯＤミラーボリューム４０１とする。このようにすることによって、ＣＰＵ１０２は、外部記憶装置の異常時であっても画像形成装置の動作を継続させることができる。
【００１５】
図４は、本実施形態にて例示するＪＢＯＤミラーボリューム４０１と、その内部に生成されるパーティションの一例を示す図である。
マイコン２０１は、ＣＰＵ１０２からの指示によって、記憶域Ａ２０３と記憶域Ｂ２０４とを用いてＪＢＯＤミラーボリューム４０１を作成する。このとき、マイコン２０１は、記憶域Ｂ２０４（領域Ｙ４０３）の末尾に、記憶域Ａ２０３に相当する領域Ｚ４０４（ＬＢＡ［ＦＦ００］からＬＢＡ［ＦＦＦＦ］までの領域）を生成する。このように本実施形態では、領域Ｘ４０２、領域Ｙ４０３、および領域Ｚ４０４は、連続する論理アドレスに配置される。ＪＢＯＤミラーボリューム４０１においては、ＬＢＡ［００００］からＬＢＡ［ＦＦＦＦ］までの論理アドレスにアクセスすることが可能である。ただし、マイコン２０１は、ＣＰＵ１０２に対し、ＬＢＡ［００００］からＬＢＡ［ＦＥＦＦ］までの論理アドレスを開示する。領域Ｚ４０４は、領域Ｘ４０２（外部記憶装置Ａ１０７の記憶領域）のミラーリングボリュームとして扱われる。マイコン２０１は、記憶装置Ａの状態と記憶装置Ｂの状態とに応じて、ＣＰＵ１０２から指示された論理アドレスを変換する。論理アドレスの変換の方法の詳細については後述する。
【００１６】
本実施形態では、例えば、外部記憶装置Ａ１０７により第１の記憶手段の一例が実現され、外部記憶装置Ｂ１０８により第２の記憶手段の一例が実現され、論理アドレスにより、記憶位置の一例が実現される。また、例えば、領域Ｘ４０２が領域Ｚ４０４にミラーリングされることにより、前記第１の記憶手段に記憶されたデータの少なくとも一部が前記第２の記憶手段にコピーされることの一例が実現される。
【００１７】
図５は、ミラーリングのステートの遷移の一例を示す図である。不揮発性メモリ２０２には、ミラーリングフラグが記憶される。マイコン２０１は、ＪＢＯＤを構成する外部記憶装置Ａ１０７の状態と外部記憶装置Ｂ１０８の状態とに応じて、このミラーリングフラグを変更し、ミラーリングのステートを移動する。本実施形態では、ステートとして、シングルステート５０１、ミラーステート（デグレード）５０２、リビルドステート５０３、およびミラーステート（初期化）５０４が存在する場合を例に挙げて説明する。
【００１８】
外部記憶装置Ａ１０７と外部記憶装置Ｂ１０８とが正常に動作している場合、ステートは、シングルステート５０１であるものとする。このステートは定常状態でもある。ステートがシングルステート５０１である場合、マイコン２０１は、ＪＢＯＤミラーボリューム４０１のうち領域Ｘ４０２と領域Ｙ４０３のみを用いる。シングルステート５０１におけるミラーリングフラグは"０"である。
ＪＢＯＤミラーボリューム４０１を構成する外部記憶装置Ａ１０７が異常状態になると、マイコン２０１は、ミラーリングフラグを"１"として、ステートを、ミラーステート（デグレード）５０２に移行させる。このとき、故障領域である領域Ｘ４０２と、予備としていた領域Ｚ４０４とがミラーリングの対象として扱われる。ただし、領域Ｘ４０２は異常状態であるため、マイコン２０１は領域Ｘ４０２にアクセスできず、ＪＢＯＤミラーボリューム４０１はデグレード状態となる。
【００１９】
デグレード状態のＪＢＯＤミラーボリューム４０１に対して、故障していた外部記憶装置Ａ１０７が正常品に交換されると、ステートは、リビルドステート５０３に移行する。このステートでは、領域Ｚ４０４から領域Ｘ４０２に対してリビルド処理が実施される。リビルドステート５０３はミラーステートでもある。このため、マイコン２０１は、領域Ｚ４０４から領域Ｘ４０２に既存のデータをコピーすると共に、マイコン２０１を介したＣＰＵ１０２からの領域Ｘ４０２へのアクセスが、領域Ｚ４０４にも実施される。
【００２０】
リビルド処理が完了するとマイコン２０１は、ミラーリングフラグを"０"とし、ステートをシングルステート５０１に移行させる。その結果、マイコン２０１を介したＣＰＵ１０２からのアクセスは新たな領域Ｘ４０２と領域Ｙ４０３とに対して行われ、領域Ｚ４０４が予備領域に戻る。
【００２１】
尚、予備領域である領域Ｚ４０４は、ミラーステート時にただちに運用に入らねばならない。つまり、領域Ｚ４０４が領域Ｘ４０２と同等のファイル構成を予め備えている必要がある。マイコン２０１は、コントローラ１００に電源が投入された直後に、ＪＢＯＤを構築しているか否かを判定する。この判定の結果、ＪＢＯＤミラーボリューム４０１が未構築である場合、マイコン２０１は、ステートをミラーステート（初期化）５０４に移行してＪＢＯＤミラーボリューム４０１を初期化する。ＪＢＯＤミラーボリューム４０１の初期化が完了すると、ステートは、シングルステート５０１に移行する。
【００２２】
本実施形態では、例えば、マイコン２０１により、制御手段およびコピー手段の一例が実現される。また、例えば、領域Ｘ４０２に記憶されているデータにより、第１のデータの一例が実現され、領域Ｘ４０２へのアクセスにより、第１のアクセスの一例が実現される。また、例えば、領域Ｚ４０４に記憶されているデータにより、第２のデータの一例が実現され、領域Ｚ４０４へのアクセスにより、第２のアクセスの一例が実現される。また、例えば、領域Ｚ４０４により、冗長領域の一例が実現される。また、例えば、リビルド処理により、前記第１の記憶手段を異常状態から復帰させる処理の一例が実現される。また、例えば、領域Ｘ４０２および領域Ｚ４０４へのアクセスの双方が有効となること（リビルドステート５０３に移行すること）により、前記第１のアクセスと前記第２のアクセスとの双方が有効となる第１の状態の一例が実現される。また、例えば、領域Ｘ４０２へのアクセスが有効となり、領域Ｚ４０４へのアクセスが無効となること（シングルステート５０１に移行すること）により、前記第１のアクセスが有効となり前記第２のアクセスが無効となる第２の状態の一例が実現される。また、例えば、領域Ｘ４０２へのアクセスが無効となり、領域Ｚ４０４へのアクセスが有効となること（ミラーステート５０２に移行すること）により、前記第１のアクセスが無効となり前記第２のアクセスが有効となる第３の状態の一例が実現される。
【００２３】
図６は、ＬＢＡ変換テーブルの一例を示す図である。ＬＢＡ変換テーブルは、それぞれのステートにおけるＬＢＡの変換の内容を示すテーブルである。リビルドステート５０３の挙動とミラーステート（初期化）５０１の挙動とは同じである。このため、図６に示すＬＢＡ変換テーブルでは、リビルドステート５０３およびミラーステート（初期化）５０１を、同一のステートとして統合して示す。
【００２４】
本実施形態では、例えば、ＬＢＡ変換テーブルにより、前記指示手段により指定される記憶位置と前記制御手段によりアクセスする記憶位置との関係と、前記第１の記憶装置の状態と、が相互に関連付けられた情報である対応情報の一例が実現される。より具体的には、例えば、ＬＢＡ変換テーブルのＬＢＡ変換内容により、前記指示手段により指定される記憶位置と前記制御手段によりアクセスする記憶位置との関係の一例が実現される。また、例えば、ＬＢＡ変換テーブルの不揮発性メモリ内設定のステートおよびミラーリングフラグにより、前記第１の記憶装置の状態の一例が実現される。また、例えば、ＬＢＡ変換テーブルを記憶する不揮発性メモリ２０２により、第３の記憶手段の一例が実現される。
【００２５】
図７は、コントローラ１００の処理の一例を示すフローチャートである。
画像形成装置が起動すると、マイコン２０１と、外部記憶装置Ａ１０７および外部記憶装置Ｂ１０８とに電源が投入され、リセットが解除される（Ｓ７０１）。マイコン２０１は、不揮発性メモリ２０２の記憶内容を読み出し（Ｓ７０２）、不揮発性メモリ２０２にＬＢＡ変換テーブルが存在するか否かを判定する（Ｓ７０３）。
この判定の結果、不揮発性メモリ２０２にＬＢＡ変換テーブルが存在する場合（Ｓ７０３でＹＥＳの場合）、処理は、Ｓ７０４に進む。この場合、ＪＢＯＤミラーボリューム４０１が作成されているため、マイコン２０１は、外部記憶装置Ａ１０７と外部記憶装置Ｂ１０８とに"IDENTIFY DEVICE"コマンドを発行する（Ｓ７０４）。マイコン２０１は、"IDENTIFY DEVICE"コマンドに対する応答の結果に基づいて、外部記憶装置Ａ１０７の状態と外部記憶装置Ｂ１０８の状態とを確認する（Ｓ７０５）。
【００２６】
次に、マイコン２０１は、外部記憶装置Ａ１０７の状態が正常状態であるか否かを判定する（Ｓ７０６）。この判定の結果、外部記憶装置Ａ１０７の状態が正常状態である場合（Ｓ７０６でＹＥＳの場合）、マイコン２０１は、ステートをシングルステート５０１に移行させる。この場合、処理は、後述するＳ７１２に進む。一方、外部記憶装置Ａ１０７の状態が異常状態である場合（Ｓ７０６でＮＯの場合）、マイコン２０１は、不揮発性メモリ２０２内のミラーリングフラグに"１"を設定し、ステートをミラーステート（デグレード）５０２に移行させる（Ｓ７０７）。ミラーステート（デグレード）５０２では、領域Ｘ４０２と領域Ｚ４０４とがミラーリングの対象となる。ＣＰＵ１０２からの領域Ｘ４０２（ＬＢＡ［００００］からＬＢＡ［００ＦＦ］までの領域）に対するアクセスは、マイコン２０１によって領域Ｘ４０２と領域Ｚ４０４（ＬＢＡ［ＦＦ００］からＬＢＡ［ＦＦＦＦ］までの領域）とのアクセスに変換される。従って、ＣＰＵ１０２から領域Ｘ４０２に対するアクセスが指示されると、マイコン２０１は、領域Ｘ４０２と領域Ｚ４０４とに同時にアクセスする。ただし、外部記憶装置Ａ１０７は異常状態であるため、マイコン２０１は、領域Ｘ４０２にアクセスできない。よって、このときのステートは、ミラーステート（デグレード）５０２である。
【００２７】
このようにしてステートが、ミラーステート（デグレード）５０２に移行すると、マイコン２０１は、異常状態である外部記憶装置Ａ１０７が正常品と交換されたか否かを判定する（Ｓ７０８）。この判定の結果、外部記憶装置Ａ１０７が正常品と交換されると、ステートが移行する。外部記憶装置Ａ１０７が正常品と交換された場合（Ｓ７０８でＹＥＳの場合）、リビルド処理が開始される（ステートがリビルドステート５０３に移行する）。マイコン２０１は、領域Ｚ４０４から領域Ｘ４０２にデータをコピーする（Ｓ７０９）。このようにしてデータがコピーされる領域Ｘ４０２は、正常品の外部記憶装置Ａ１０７の領域である。マイコン２０１は、データのコピーが完了したか否かを判定する（Ｓ７１０）。この判定の結果、データのコピーが完了していない場合（Ｓ７１０でＮＯの場合）、処理は、Ｓ７０９に戻り、データのコピーが継続する。そして、データのコピーが完了した場合（Ｓ７１０でＹＥＳの場合）、マイコン２０１は、ミラーリングフラグを"０"にし、ステートをシングルステート５０１に移行させる（Ｓ７１１）。そして、処理は、Ｓ７１２に進む。また、７０８において、外部記憶装置Ａ１０７が正常品と交換されていないと判定された場合（Ｓ７０８のＮＯの場合）にも、処理は、Ｓ７１２に進む。
【００２８】
そして、マイコン２０１は、ＣＰＵ１０２からコマンドが発行されるまで待ち状態になる（Ｓ７１２のＮＯ）。ＣＰＵ１０２がマイコン２０１に対してコマンドを発行すると（Ｓ７１２でＹＥＳと判定されると）、マイコン２０１は、そのコマンドを受信する（Ｓ７１３）。そして、マイコン２０１は、そのコマンドが"STAND BY"コマンドであるか否かを判定する（Ｓ７１４）。この判定の結果、ＣＰＵ１０２から発行されたコマンドが"STAND BY"コマンドである場合（Ｓ７１４でＹＥＳの場合）、アクセス処理を終了する。
【００２９】
一方、ＣＰＵ１０２から発行されたコマンドが"STAND BY"コマンドではない場合（Ｓ７１４でＮＯの場合）、ＣＰＵ１０２から、外部記憶装置Ａ１０７または外部記憶装置Ｂ１０８へのアクセスが行われる。まず、ＣＰＵ１０２は、ＬＢＡ＝ｐを指定してマイコン２０１にアクセスを指示する（Ｓ７１５）。すると、マイコン２０１は、ＬＢＡ変換テーブルを確認し、現在のステートに応じて、ＣＰＵ１０２により指定されたＬＢＡを変換し、ＪＢＯＤミラーボリューム４０１の、変換後のＬＢＡにアクセスする（Ｓ７１６）。そして、マイコン２０１は、その結果をＣＰＵ１０２に応答する（Ｓ７１７）。そして、処理は、Ｓ７０８に戻る。
【００３０】
一方、Ｓ７０３において、不揮発性メモリ２０２にＬＢＡ変換テーブルが存在しないと判定された場合（Ｓ７０３でＮＯの場合）、ＪＢＯＤミラーボリューム４０１が作成されていないことになる。そこで、マイコン２０１は、外部記憶装置が存在しない旨をＣＰＵ１０２に通知する（Ｓ７１８）。ＣＰＵ１０２は、この通知に基づいて、外部記憶装置の初期化の準備を開始する。
【００３１】
マイコン２０１は、不揮発性メモリ２０２にＬＢＡ変換テーブルを作成する（Ｓ７１９）。そして、マイコン２０１は、不揮発性メモリ２０２にミラーリングフラグを作成し、当該ミラーリングフラグに"１"を設定し、ステートをミラーステート（初期化）５０４に移行させる（Ｓ７２０）。ＣＰＵ１０２は、マイコン２０１に対し、ＬＢＡ＝ｐを指定して初期化のためのアクセスを指示する（Ｓ７２１）。マイコン２０１は、ＬＢＡ変換テーブルを確認し、現在のステートに応じて、ＣＰＵ１０２により指定された論理アドレス（ＬＢＡ）を変換し、ＪＢＯＤミラーボリューム４０１の、変換後の論理アドレス（ＬＢＡ）にアクセスする（Ｓ７２２）。そして、マイコン２０１は、その結果をＣＰＵ１０２に応答する（Ｓ７２３）。そして、マイコン２０１は、ＣＰＵ１０２による初期化が完了したか否かを判定する（Ｓ７２４）。この判定の結果、ＣＰＵ１０２による初期化が完了していない場合（Ｓ７２４でＮＯの場合）、処理は、Ｓ７２０に戻る。そして、ＣＰＵ１０２による初期化が完了した場合（Ｓ７２４でＹＥＳの場合）、マイコン２０１は、ミラーリングフラグを"０"に設定して、ステートをシングルステート５０１に移行させる（Ｓ７２５）。そして、処理は、前述したＳ７０４に進む。
【００３２】
以上のように本実施形態では、記憶装置コントローラ１０６は、外部記憶装置Ａ１０７の状態に応じて、ＪＢＯＤミラーボリューム４０１内に予め用意されたミラーリング領域である領域Ｚ４０４を有効にする。そして、ＣＰＵ１０２が、外部記憶装置Ａ１０７の領域Ｘ４０２のアドレスを指定して領域Ｘ４０２に対するアクセスを指示すると、記憶装置コントローラ１０６は、当該アドレスを変換して領域Ｚ４０４にアクセスする。従って、１つの外部記憶装置として扱われるように統合された外部記憶装置Ａ１０７および外部記憶装置Ｂ１０８に記憶されているデータにＣＰＵ１０２がアクセスできなくなることを抑制することができる。例えば、外部記憶装置Ａ１０７が異常状態となり、ＪＢＯＤミラーボリューム４０１が構成できなくなった場合でも、記憶装置コントローラ１０６は、ＪＢＯＤミラーボリューム４０１としての構成を維持することができる。この際、記憶装置コントローラ１０６が、記憶域のアドレスを変換するため、ＣＰＵ１０２は、アクセスする記憶域を何ら意識する必要がない。更に、これらの記憶域のアドレスの変換は動的に実施される。また、外部記憶装置Ａ１０７を正常品と交換すれば、自動的に修復される。その結果、ＪＢＯＤミラーボリューム４０１でありながらミラーリングボリュームを構築することができ、ＣＰＵ１０２は、外部記憶装置の状態によらず、動作を継続させることができる。
【００３３】
尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【００３４】
（その他の実施例）
本発明は、前述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００３５】
１０２：ＣＰＵ、１０４：Ｉ／Ｏコントローラ、１０６：記憶装置コントローラ、１０７〜１０８：外部記憶装置
【図１】
2018190243.tif 000003
【図２】
2018190243.tif 000004
【図３】
2018190243.tif 000005
【図４】
2018190243.tif 000006
【図５】
2018190243.tif 000007
【図６】
2018190243.tif 000008
【図７】
2018190243.tif 000009