(57)【要約】【課題】  プロセッサが起動する前の処理において、誤ったデータコードがプロセッサに読込まれてしまわないようにする。【解決手段】  マイクロプロセッサ（以下、ＭＰ）１１１と、ブートメモリ１１５、１１７との間の通信経路上に、ＰＬＤ１２１が介在する。ブートメモリ１１５、１１７には、ＭＰ１１１が起動するために必要なＭＰ起動用データと、ＭＰ起動用データの保護コードである起動用保護コードとが記憶されている。ＰＬＤ１２１は、ブートメモリ１１５、１１７からＭＰ起動用データ及びそれの起動用保護コードを読込み、その起動用保護コードを用いてＭＰ起動用データの正否のチェックをハードウェア的に行い、否定的なチェック結果が得られた場合、ＭＰ１１１をリセットし、肯定的なチェック結果が得られた場合、読込まれた起動用データをＭＰ１１１に入力する。【選択図】図２
2005309580.tif 000002
【特許請求の範囲】
【請求項１】
外部装置に接続される記憶制御システムにおいて、
データを記憶する複数の記憶デバイスと、
前記記憶デバイスと前記外部装置との間でやり取りされるデータを一時的に記憶するキャッシュメモリと、
前記記憶デバイスと前記キャッシュメモリを介して前記外部装置との間で行われるデータのやり取りを制御する制御装置と
を備え、
前記制御装置は、
前記やり取りを制御するプロセッサと、
前記プロセッサが起動するために必要な起動用データと、前記起動用データの保護コードである起動用保護コードとを記憶した起動用メモリ領域と、
前記プロセッサからの要求に応答して、前記起動用メモリ領域から前記起動用データ及びそれの起動用保護コードを読込み、前記起動用保護コード及び前記起動用データの少なくとも一方の正否のチェックを行い、否定的なチェック結果が得られた場合、前記プロセッサをリセットし、肯定的なチェック結果が得られた場合、前記読込まれた起動用データを前記プロセッサに入力するデータチェックハードウェアと
を備える、
記憶制御システム。
【請求項２】
前記データチェックハードウェアは、前記プロセッサから起動用データを受信して前記起動用保護コードを生成し、前記起動用データ及び前記起動用保護データを前記起動用メモリ領域に格納する、
請求項１記載の記憶制御システム。
【請求項３】
前記起動用データは、前記起動用データの上位側の要素である起動用データ上位要素と、前記起動用データの下位側の要素である起動用データ下位要素とから構成され、
前記起動用保護コードには、前記起動用データ上位要素の保護コードである起動用上位保護コードと、前記起動用データ下位要素の保護コードである起動用下位保護コードとが含まれ、
前記起動用メモリ領域には、第１の起動用サブメモリ領域と、第２の起動用サブメモリ領域とがあり、
前記第１の起動用サブメモリ領域には、前記起動用データ上位要素と前記起動用下位保護コードとが格納され、
前記第２の起動用サブメモリ領域には、前記起動用データ下位要素と前記起動用上位保護コードとが格納され、
前記データチェックハードウェアは、
前記起動用下位保護コード及び前記起動用データ上位要素を前記第１の起動用サブメモリ領域から読込み、
前記起動用上位保護コード及び前記起動用データ下位要素を前記第２の起動用サブメモリ領域から読込み、
前記起動用上位保護コード及び前記起動用データ上位要素の少なくとも一方の正否をチェックする第１のサブチェックと、前記起動用下位保護コード及び前記起動用データ下位要素の少なくとも一方の正否をチェックする第２のサブチェックとを行い、
前記第１のサブチェックと前記第２のサブチェックの少なくとも１つにおいて否定的なチェック結果が得られた場合に、前記プロセッサをリセットし、
前記第１のサブチェックと前記第２のサブチェックの両方において肯定的なチェック結果が得られた場合に、前記起動用データ上位要素及び前記起動用データ下位要素を前記プロセッサに入力する、
請求項１記載の記憶制御システム。
【請求項４】
前記データチェックハードウェアは、
前記プロセッサから受信した起動用データを前記起動用データ上位要素と前記起動用データ下位要素とに分割する分割回路と、
前記起動用データ上位要素に基づいて前記起動用上位保護コードを生成し、且つ、前記起動用データ下位要素に基づいて前記起動用下位保護コードを生成する保護コード生成回路と、
前記起動用データ上位要素及び前記起動用下位保護コードを前記第１の起動用サブメモリ領域に格納し、且つ、前記起動用データ下位要素及び前記起動用上位保護コードを前記第２の起動用サブメモリ領域に格納するデータ格納回路と
を備える、
請求項３記載の記憶制御システム。
【請求項５】
プロセッサと、
前記プロセッサが起動するために必要な起動用データと、前記起動用データの保護コードである起動用保護コードとを記憶した起動用メモリ領域と、
前記起動用メモリ領域から前記起動用データ及びそれの起動用保護コードを読込み、前記起動用保護コード及び前記起動用データの少なくとも一方の正否のチェックを行い、否定的なチェック結果が得られた場合、前記プロセッサをリセットし、肯定的なチェック結果が得られた場合、前記読込まれた起動用データを前記プロセッサに入力するデータチェックハードウェアと
を備えたブート制御システム。
【請求項６】
前記データチェックハードウェアは、前記プロセッサから起動用データを受信して前記起動用保護コードを生成し、前記起動用データ及び前記起動用保護データを前記起動用メモリ領域に格納する、
請求項５記載のブート制御システム。
【請求項７】
前記起動用データは、前記起動用データの上位側の要素である起動用データ上位要素と、前記起動用データの下位側の要素である起動用データ下位要素とから構成され、
前記起動用保護コードには、前記起動用データ上位要素の保護コードである起動用上位保護コードと、前記起動用データ下位要素の保護コードである起動用下位保護コードとが含まれ、
前記起動用メモリ領域には、第１の起動用サブメモリ領域と、第２の起動用サブメモリ領域とがあり、
前記第１の起動用サブメモリ領域には、前記起動用データ上位要素と前記起動用下位保護コードとが格納され、
前記第２の起動用サブメモリ領域には、前記起動用データ下位要素と前記起動用上位保護コードとが格納され、
前記データチェックハードウェアは、
前記起動用下位保護コード及び前記起動用データ上位要素を前記第１の起動用サブメモリ領域から読込み、
前記起動用上位保護コード及び前記起動用データ下位要素を前記第２の起動用サブメモリ領域から読込み、
前記起動用上位保護コード及び前記起動用データ上位要素の少なくとも一方の正否をチェックする第１のサブチェックと、前記起動用下位保護コード及び前記起動用データ下位要素の少なくとも一方の正否をチェックする第２のサブチェックとを行い、
前記第１のサブチェックと前記第２のサブチェックの少なくとも１つにおいて否定的なチェック結果が得られた場合に、前記プロセッサをリセットし、
前記第１のサブチェックと前記第２のサブチェックの両方において肯定的なチェック結果が得られた場合に、前記起動用データ上位要素及び前記起動用データ下位要素を前記プロセッサに入力する、
請求項５記載のブート制御システム。
【請求項８】
前記データチェックハードウェアは、
前記プロセッサから受信した起動用データを前記起動用データ上位要素と前記起動用データ下位要素とに分割し、
前記起動用データ上位要素に基づいて前記起動用上位保護コードを生成し、
前記起動用データ下位要素に基づいて前記起動用下位保護コードを生成し、
前記起動用データ上位要素及び前記起動用下位保護コードを前記第１の起動用サブメモリ領域に格納し、
前記起動用データ下位要素及び前記起動用上位保護コードを前記第２の起動用サブメモリ領域に格納する、
請求項７記載のブート制御システム。
【請求項９】
プロセッサコアと、
前記プロセッサコアが起動するために必要な起動用データと、前記起動用データの保護コードである起動用保護コードとを記憶した起動用メモリ領域と、
前記プロセッサコアからの要求に応答して、前記起動用メモリ領域から前記起動用データ及びそれの起動用保護コードを読込み、前記起動用保護コード及び前記起動用データの少なくとも一方の正否のチェックを行い、否定的なチェック結果が得られた場合、前記プロセッサコアをリセットし、肯定的なチェック結果が得られた場合、前記読込まれた起動用データを前記プロセッサに入力するデータチェックハードウェアと
を備えたプロセッサチップ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶制御システム、及びプロセッサのブート制御のための技術に関する。
【背景技術】
【０００２】
プロセッサが読込むデータの保護に関する技術として、例えば、特開２００１−１０９６２９号公報、特開２００３−１９６０９７号公報、及び特開２００４−１３９０５号公報に開示されている技術がある。
【０００３】
特開２００１−１０９６２９号公報には、プロセッサが使用するブートプログラムを二つ用意しておき、一方のブートプログラムを読込んでも正常に起動しない場合には、他方のブートプログラムを読み出すことが開示されている。
【０００４】
特開２００３−１９６０９７号公報には、命令の他にその命令のチェックサム期待値をブートロムに格納しておき、ＤＳＰ（Digital Signal Processor）が、ブートロム内の命令を読込んで命令メモリに書込み、命令メモリに書き込まれた命令について、ブートロム内のチェックサム期待値を用いてチェックサムを行うことが開示されている。
【０００５】
特開２００４−１３９０５号公報には、ブートプログラム中のコードの保護に関する技術が開示されている。
【０００６】
【特許文献１】特開２００１−１０９６２９号公報。
【特許文献２】特開２００３−１９６０９７号公報。
【特許文献３】特開２００４−１３９０５号公報。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
一般に、プロセッサは、起動するための処理を行う場合、まず、プロセッサのレジスタ値をリセットし、初期化を行う。次に、プロセッサは、ＲＯＭ等のメモリ（以下、説明の便宜上「ブートメモリ」と言う）からブートプログラムを読込み、読込んだブートプログラムを、そのプロセッサに接続されたローカルメモリに展開し、ローカルメモリに展開されたブートプログラムに従って、ブートメモリからＯＳ（オペレーティングシステム）を読込んでローカルメモリに展開する。これにより、プロセッサは起動する。
【０００８】
この場合、プロセッサに読込まれてレジスタ等に書かれるブートプログラムやＯＳを構成するデータコードに誤りがあると、その誤ったデータコードを用いてプロセッサが起動することになるので、プロセッサがハングアップしてしまう（例えば、本来行うはずの処理とは別の処理を行ってしまう）可能性がある。これは、例えば、バージョンアップされたＯＳ等がブートメモリ上に上書きされるような場合には、上書きの失敗等の原因によって、誤ったデータコードがブートメモリに書かれてしまうことがあるので、上記のような可能性が更に高まってしまうと考えられる。
【０００９】
従って、本発明の目的は、プロセッサが起動する前の処理において、誤ったデータコードがプロセッサに読込まれてしまわないようにすることにある。
【００１０】
本発明の他の目的は、後述の説明から明らかになるであろう。
【課題を解決するための手段】
【００１１】
本発明の第１の観点に従う記憶制御システムは、データを記憶する複数の記憶デバイスと、前記記憶デバイス（具体的には、複数の記憶デバイスの中から選択された記憶デバイス）と前記外部装置との間でやり取りされるデータを一時的に記憶するキャッシュメモリと、前記記憶デバイスと前記キャッシュメモリを介して前記外部装置との間で行われるデータのやり取りを制御する制御装置とを備える。前記制御装置は、プロセッサと、起動用メモリ領域と、データチェックハードウェアとを備える。前記プロセッサは、前記やり取りを制御する。前記起動用メモリ領域には、前記プロセッサが起動するために必要な起動用データと、前記起動用データの保護コードである起動用保護コードとが記憶されている。前記データチェックハードウェアは、前記起動用メモリ領域から前記起動用データ及びそれの起動用保護コードを読込み、前記起動用保護コード及び前記起動用データの少なくとも一方の正否のチェックを行い、否定的なチェック結果が得られた場合、前記プロセッサをリセットし、肯定的なチェック結果が得られた場合、前記読込まれた起動用データを前記プロセッサに入力する。
【００１２】
なお、「起動用データ」とは、例えば、プロセッサのＯＳのブートプログラム、及び、そのブートプログラムに従って読み出されるＯＳそれ自体の構成要素である。また、「起動用保護コード」とは、例えば、パリティ或いはＥＣＣ（Error-Correcting
Code）である。
【００１３】
また、「前記起動用保護コード及び前記起動用データの少なくとも一方の正否のチェック」とは、例えば、起動用保護コードを用いて起動用データの正否をチェックすること、及び、起動用データを用いて起動用保護コードの正否をチェックすることの少なくとも一方である。
【００１４】
本発明の第１の観点における第１の好適な実施形態では、前記データチェックハードウェアは、前記プロセッサから起動用データを受信して前記起動用保護コードを生成し、前記起動用データ及び前記起動用保護データを前記起動用メモリ領域に格納する。
【００１５】
本発明の第１の観点における第２の好適な実施形態では、前記起動用データは、前記起動用データの上位側の要素である起動用データ上位要素と、前記起動用データの下位側の要素である起動用データ下位要素とから構成される。前記起動用保護コードには、前記起動用データ上位要素の保護コードである起動用上位保護コードと、前記起動用データ下位要素の保護コードである起動用下位保護コードとが含まれる。前記起動用メモリ領域には、第１の起動用サブメモリ領域と、第２の起動用サブメモリ領域とがある。前記第１の起動用サブメモリ領域には、前記起動用データ上位要素と前記起動用下位保護コードとが格納される。前記第２の起動用サブメモリ領域には、前記起動用データ下位要素と前記起動用上位保護コードとが格納される。前記データチェックハードウェアは、前記起動用下位保護コード及び前記起動用データ上位要素を前記第１の起動用サブメモリ領域から読込み、前記起動用上位保護コード及び前記起動用データ下位要素を前記第２の起動用サブメモリ領域から読込み、前記起動用上位保護コード及び前記起動用データ上位要素の少なくとも一方の正否をチェックする第１のサブチェックと、前記起動用下位保護コード及び前記起動用データ下位要素の少なくとも一方の正否をチェックする第２のサブチェックとを行い、前記第１のサブチェックと前記第２のサブチェックの少なくとも１つにおいて否定的なチェック結果が得られた場合に、前記プロセッサをリセットし、前記第１のサブチェックと前記第２のサブチェックの両方において肯定的なチェック結果が得られた場合に、前記起動用データ上位要素及び前記起動用データ下位要素を前記プロセッサに入力する。
【００１６】
本発明の第１の観点における第３の好適な実施形態では、前記第２の好適な実施形態において、前記データチェックハードウェアは、前記プロセッサから受信した起動用データを前記起動用データ上位要素と前記起動用データ下位要素とに分割する分割回路と、前記起動用データ上位要素に基づいて前記起動用上位保護コードを生成し、且つ、前記起動用データ下位要素に基づいて前記起動用下位保護コードを生成する保護コード生成回路と、前記起動用データ上位要素及び前記起動用下位保護コードを前記第１の起動用サブメモリ領域に格納し、且つ、前記起動用データ下位要素及び前記起動用上位保護コードを前記第２の起動用サブメモリ領域に格納するデータ格納回路とを備える。
【００１７】
本発明の第２の観点に従うブート制御システムは、プロセッサと、起動用メモリ領域と、データチェックハードウェアとを備える。前記起動用メモリ領域には、前記プロセッサが起動するために必要な起動用データと、前記起動用データの保護コードである起動用保護コードを記憶した起動用メモリ領域とが記憶されている。前記データチェックハードウェアは、前記プロセッサからの要求に応答して、前記起動用メモリ領域から前記起動用データ及びそれの起動用保護コードを読込み、前記起動用保護コード及び前記起動用データの少なくとも一方の正否のチェックを行い、否定的なチェック結果が得られた場合、前記プロセッサをリセットし、肯定的な結果が得られた場合、前記起動用データを前記プロセッサに入力する。
【００１８】
このブート制御システムは、プロセッサを備える種々の電子機器に搭載することができる。
【００１９】
本発明の第３の観点に従うプロセッサチップは、プロセッサコアと、起動用メモリ領域と、データチェックハードウェアとを備える。前記起動用メモリ領域には、前記プロセッサコアが起動するために必要な起動用データと、記起動用データの保護コードである起動用保護コードとが記憶されている。前記データチェックハードウェアは、前記プロセッサコアからの要求に応答して、前記起動用メモリ領域から前記起動用データ及びそれの起動用保護コードを読込み、前記起動用保護コード及び前記起動用データの少なくとも一方の正否のチェックを行い、否定的なチェック結果が得られた場合、前記プロセッサコアをリセットし、肯定的な結果が得られた場合、前記起動用データを前記プロセッサコアに入力する。
【００２０】
本発明の第４の観点に従うブート制御方法は、プロセッサの起動用データの保護コードである起動用保護コードを生成するステップと、前記起動用データ及び前記起動用保護データを起動用メモリ領域に格納するステップと、プロセッサコアからの要求に応答して、前記起動用メモリ領域から前記起動用データ及びそれの起動用保護コードを読込むステップと、前記読込まれた起動用保護コード及び前記起動用データの少なくとも一方の正否のチェックを行うステップと、否定的なチェック結果が得られた場合、前記プロセッサコアをリセットするステップと、肯定的な結果が得られた場合、前記起動用データを前記プロセッサに入力するステップとを有する。
【発明の効果】
【００２１】
本発明によれば、プロセッサが起動する前の処理において誤ったデータコードがプロセッサに読込まれてしまわないようにすることができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の一実施形態に係るブート制御システムが記憶制御システムに適用された場合を例に採り、図面を参照して、本発明の一実施形態について説明する。
【００２３】
図１は、本発明の一実施形態に係る記憶制御システムを備えたコンピュータシステムの全体構成を示す。
【００２４】
このコンピュータシステム１００には、記憶制御システム３と、その記憶制御システム３に接続された１又は複数のホスト装置１とが備えられる。
【００２５】
ホスト装置１は、例えば、パーソナルコンピュータやワークステーション等であり、ＣＰＵ（Central Processing Unit）やメモリ等を備えたコンピュータシステムである。ホスト装置１のＣＰＵが各種プログラムを実行することにより、種々の機能が実現される。ホスト装置１は、例えば、ＬＡＮ等の通信ネットワークを介して記憶制御システム３に接続される。
【００２６】
記憶制御システム３は、例えば、アレイ状に配設された複数のディスク型記憶装置を有する１以上の物理ディスク群９を有するＲＡＩＤ（Redundant Array of Independent Inexpensive Disks）システムである。記憶制御システム３は、１又は複数のチャネル制御部１３と、キャッシュメモリ１５と、制御メモリ１７と、１以上の物理ディスク群９と、１以上のディスク制御部１９と、スイッチング制御部２１と、ＳＶＰ（Service
Processor）１２とを備えている。
【００２７】
チャネル制御部１３は、ホスト装置１に接続される。チャネル制御部１３は、ハードウェア回路、ソフトウェア、又はそれらの組み合わせで構成することができ、この記憶制御システム３とそれに接続されているホスト装置１との間のデータ通信を行う。チャネル制御部１３は、接続されているホスト装置１と通信を行うための通信インターフェースを有し、また、ホスト装置１から受信した各種コマンドを解釈して処理するためのプロセッサも有する。チャネル制御部１３は、制御メモリ１７に登録されている情報を参照して、キャッシュメモリ１５に格納されているデータを読み出してホスト装置１に送信したり、ホスト装置１から受信した書込み対象のデータをキャッシュメモリ１５に格納したりする。
【００２８】
キャッシュメモリ１５は、各チャネル制御部１３や各ディスク制御部１９により共有されるメモリである。キャッシュメモリ１５には、チャネル制御部１３とディスク制御部１９との間でやり取りされるデータが一時的に格納される。
【００２９】
制御メモリ１７も、各チャネル制御部１３や各ディスク制御部１９により共有されるメモリである。制御メモリ１７には、後述する論理ボリューム１１にホスト装置１からのデータを書き込んだり、論理ボリューム１１から読み出されたデータをホスト装置１に送信すること等に関する制御情報が登録される。
【００３０】
各物理ディスク群９は、複数のディスク型記憶装置をアレイ状に配設して構成されている。物理ディスク群９を構成するディスク型記憶装置としては、例えば、ハードディスク装置、フレキシブルディスク装置、半導体記憶装置等の種々のデバイスを用いることができる。１以上の物理ディスク群９により提供される物理的な記憶領域上には、論理的な記憶領域である複数の論理ボリューム１１が設定される。
【００３１】
各ディスク制御部１９は、例えば、各物理ディスク群９毎に備えられており、その所定の物理ディスク群９を制御するものである。ディスク制御部１９は、ハードウェア回路、ソフトウェア、又はそれらの組み合わせで構成することができる。例えば、ディスク制御部１９は、制御メモリ１７に記録されている制御情報に基づいて、複数の論理ボリューム１１の中から選択された論理ボリュームに対してデータの読出し又は書込みを行なう。また、ディスク制御部１９は、論理アドレスを物理アドレスに変換することにより、論理ボリューム１１に対するデータアクセス要求を物理ディスクへのデータアクセス要求に変換する。
【００３２】
スイッチング制御部２１は、例えば、高速スイッチング動作によりデータ伝送を行う超高速クロスバスイッチ等のような高速バスとして構成することができる。スイッチング制御部２１は、各チャネル制御部１３と、各ディスク制御部１９と、制御メモリ１７と、キャッシュメモリ１５とを相互に通信可能に接続する。これらの各チャネル制御部１３と、各ディスク制御部１９と、制御メモリ１７と、キャッシュメモリ１５との間のデータやコマンドの授受は、スイッチング制御部２１を介して行われる。
【００３３】
ＳＶＰ１２は、ディスプレイ画面を備えた情報処理端末（例えばノート型のパーソナルコンピュータ）である。ＳＶＰ１２は、通信ネットワーク（例えばＬＡＮ）を介して、各ディスク制御部１３及び各ディスク制御部１９上の図示しないマイクロプロセッサに接続されている。ＳＶＰ１２は、マイクロプロセッサから受信した情報をディスプレイ画面に表示することができる。
【００３４】
以上が、この実施形態に係るコンピュータシステム１００の概要である。なお、このコンピュータシステム１００では、例えば、各ディスク制御部１９と各物理ディスク群９とは、直接的に接続してもよいし、ネットワークを介して間接的に接続してもよい。また、物理ディスク群９とディスク制御部１９とを一体的に構成しても良い。また、各チャネル制御部１３毎にそれぞれ１つの論理ボリューム１１が割り当てられても良いし、複数のチャネル制御部１３で１つの論理ボリューム１１が共有されても良い。
【００３５】
さて、前述した通り、図１には示していないが、チャネル制御部１３及びディスク制御部１９には、１又は複数のマイクロプロセッサ（以下、ＭＰ）が搭載されている。１又は複数のマイクロプロセッサによって、それらを搭載しているチャネル制御部１３或いはディスク制御部１９の動作が制御される。本実施形態では、各チャネル制御部１３及び各ディスク制御部１９は、それに搭載されたＭＰが起動する前にそこに誤ったデータコードが読込まれてしまうことがないよう工夫されたブート制御システムを備えている。以下、そのブート制御システムについて説明する。
【００３６】
図２は、ブート制御システムの構成例を示す。図３は、このブート制御システムに備えられるＭＰが使用する２つのブートメモリ１１５、１１７と、そのＭＰのローカルメモリとにおけるデータ構造を示す。なお、以下の説明では、ブートメモリ１１５、１１７とＭＰ１１１との間でやり取りされるデータを、ホスト装置１と記憶制御システム３との間でやり取りされるデータと区別するために、「ＭＰデータ」と称する。
【００３７】
図２に示すように、本実施形態に係るブート制御システム１２０には、第１ブートメモリ１１５と、第２ブートメモリ１１７と、ローカルメモリ１５９と、ＭＰ１１１と、ＰＬＤ（Programable Logic Device）１２１とが含まれている。
【００３８】
第１ブートメモリ１１５及び第２ブートメモリ１１７は、それぞれ、例えば８バイトの不揮発性メモリ（例えばＲＯＭ或いはフラッシュＲＯＭ）である。第１ブートメモリ１１５には、複数のメモリ空間、例えば、第１直接実行空間１１５Ｂと、第１ファイル空間１１５Ｆとが備えられている。同様に、第２ブートメモリ１１７にも、複数のメモリ空間、例えば、第２直接実行空間１１７Ｂと、第２ファイル空間１１７Ｆとが備えられている。
【００３９】
直接実行空間１１５Ｂ、１１７Ｂとは、ＭＰ１１１のＯＳが起動するために（換言すれば、ＯＳが起動する前までに）ＭＰ１１１に読込まれる必要のあるＭＰデータ（以下、起動用ＭＰデータ）が格納されるメモリ空間である。具体的には、第１直接実行空間１１５Ｂには、例えば１バイトの起動用ＭＰデータ上位要素（以下、「起動用ＤＨ」と言う）と、例えば１バイトの下位保護データ（以下、「ＰＬ」と言う）とが交互に並んでいる。第２直接実行空間１１７Ｂには、例えば１バイトの起動用ＭＰデータ下位要素（以下、「起動用ＤＬ」と言う）と、例えば１バイトの上位保護データ（以下、「ＰＨ」と言う）とが交互に並んでいる。
【００４０】
なお、起動用ＤＨとは、起動用ＭＰデータの上位側のＭＰデータ要素であり、起動用ＤＬとは、起動用ＭＰデータの下位側のＭＰデータ要素である。起動用ＤＨと起動用ＤＬのデータサイズは同じであっても異なっていても良い。起動用ＤＨ（例えば１バイト）と起動用ＤＬ（例えば１バイト）とは、起動用ＭＰデータ（例えば２バイト）が分割されたものである。ちなみに、起動用ＭＰデータは、例えば、ＭＰ１１１のブートプログラム及びそのブートプログラムに従って読み出されるＯＳの少なくとも一方の構成要素である。
【００４１】
また、ＰＨとは、起動用ＤＨの保護コードである起動用上位保護コードと、その起動用ＤＨの第１ブートメモリ１１５における第１アドレスと、その第１アドレスの保護コードである第１アドレス保護コードとのうち、少なくとも起動用上位保護コードを含んだＭＰデータである。それに対し、ＰＬとは、起動用ＤＬの保護コードである起動用下位保護コードと、その起動用ＤＬの第２ブートメモリ１１７における第２アドレスと、その第２アドレスの保護コードである第２アドレス保護コードとのうち、少なくとも起動用下位保護コードを含んだＭＰデータである。なお、保護コードは、例えば、パリティ或いはＥＣＣ（Error-Correcting Code）である。
【００４２】
これらの記述と図３とから分かる通り、第１直接実行空間１１５Ｂには、１つの起動用ＤＨに対して１つのＰＬが格納される。一方、第２直接実行空間１１７Ｂには、１つの起動用ＤＬに対して１つのＰＨが格納される。
【００４３】
さて、ファイル空間１１５Ｆ、１１７Ｆとは、ＭＰ１１１のＯＳが起動した後に、そのＯＳによって使用されるＭＰデータ（以下、ＯＳ用ＭＰデータ）が格納されるメモリ空間である。ＯＳ用ＭＰデータは、例えば２バイトである。図３には、起動用ＭＰデータ及びＯＳ用データの上位１バイトをハッチングで示し、下位１バイトを網点で示す。なお、ファイル空間１１５Ｆ、１１７Ｆには、各ＯＳ用ＭＰデータについてチェックサム期待値が格納されていても良い。また、第１直接実行空間１１５Ｂ及び第１ファイル空間１１５Ｆの少なくとも一方、及び／又は、第２直接実行空間１１７Ｂ及び第２ファイル空間１１７Ｆの少なくとも一方は、可変であっても良い（例えばユーザからの要求に応じてＭＰ１１１が各空間容量を調整しても良い）。また、直接実行空間１１５Ｂ、１１７Ｂは、第１サブブートメモリ（例えばＤＲＡＭ）上に存在し、ファイル空間１１５Ｆ、１１７Ｆは、第１サブブートメモリとは別の第２サブブートメモリ（例えばＳＲＡＭ）上に存在しても良い。
【００４４】
以上が、第１ブートメモリ１１５及び第２ブートメモリ１１７についての説明である。なお、第１ブートメモリ１１５及び第２ブートメモリ１１７は、必ずしも別々のメモリでなくても良く、例えば、同一のメモリ上に、第１ブートメモリ１１５に相当する第１のメモリ空間と、第２ブートメモリ１１７に相当する第２メモリ空間とが備えられていても良い。また、第１ブートメモリ１１５及び第２ブートメモリ１１７は、各ＭＰ毎に備えられても良いし、複数のＭＰに共有されても良い。
【００４５】
ローカルメモリ１５９は、ＭＰ１１１のワーク領域や、このブート制御システム１２０の外部（例えばホスト装置１或いは論理ボリューム１１）から受信されたデータが一時的に蓄積される受信バッファ領域等としてＭＰ１１１に使用される。ローカルメモリ１５９には、第１ブートメモリ１１５及び第２ブートメモリ１１７からＭＰ１１１に読込まれた起動用ＭＰデータ及びＯＳ用ＭＰデータが展開される。展開された結果例を図３に示す。すなわち、ローカルメモリ１５９の第１の所定領域１５９Ａに、第１直接実行空間１１５Ｂから読み出された起動用ＤＨ及びＰＬと、第２直接実行空間１１５Ｆから読み出された起動用ＤＬ及びＰＨとが展開される。また、ローカルメモリ１５９の第２の所定領域１５９Ｂに、第１ファイル空間１１５Ｆから読み出されたＯＳ用ＭＰデータと、第２ファイル空間１１７Ｆから読み出されたＯＳ用ＭＰデータとが展開される。
【００４６】
図２に示すＭＰ１１１は、自分を搭載しているチャネル制御部１３又はディスク制御部１９の動作を制御する。ＭＰ１１１は、チャネル制御部１３に搭載されている場合は、例えば、ホスト装置１から受信したデータをキャッシュメモリ１５に書き込んだり、ディスク制御部１９によってキャッシュメモリ１５に書き込まれたデータを読み出してホスト装置１に送信したりする。また、ＭＰ１１１は、ディスク制御部１９に搭載されている場合は、例えば、論理ボリューム１１から読み出したデータをキャッシュメモリ１５に書き込んだり、チャネル制御部１３によってキャッシュメモリ１５に書き込まれたデータを読み出して論理ボリューム１１に格納したりする。このようなＭＰ１１１は、ＭＰデータを読込む場合、ＭＰ１１１のレジスタ１２３に予め登録されている読込用オリジナルアドレスを、ＰＬＤ１２１に出力し、それに従って、ブートメモリ１１５、１１７からデータペアを受信した場合には、そのデータペアをローカルメモリ１５９の第１所定領域１５９Ａに展開する。また、ＭＰ１１１は、起動用ＭＰデータ及びそれの格納先を表す格納用オリジナルアドレスを、ＰＬＤ１２１に出力する。なお、「オリジナルアドレス」とは、ＭＰ１１１によって管理されているアドレスであり、ブートメモリ１１５、１１７のアドレスとは異なる。オリジナルアドレスに基づき、ＰＬＤ１２１によって、第１ブートメモリ１１５のアドレスである第１アドレスと、第２ブートメモリ１１７のアドレスである第２アドレスとが生成される。以下、読込用オリジナルアドレス及び格納用アドレスを総称する場合には単に「オリジナルアドレス」と言う。
【００４７】
ＰＬＤ１２１は、ＭＰ１１１と第１ブートメモリ１１５及び第２ブートメモリ１１７との間の通信経路上に介在する、例えば純粋なハードウェア回路である。ＰＬＤ１２１には、アドレスバッファ１０１、アドレス変換回路１０２、読出しバッファ１０９、データチェック回路１０７、アドレス保護コード生成回路１０５、データバッファ１０３、分割保護生成回路１１９、結合及び結合回路２５１が備えられる。
【００４８】
アドレスバッファ１０１は、ＭＰ１１１からデータ入出力線８を介して入力されたオリジナルアドレスを一時的に蓄積するバッファである。
【００４９】
アドレス変換回路１０２は、アドレスバッファ１０１からオリジナルアドレスを取得し、そのオリジナルアドレスを基に、第１アドレス（すなわち第１ブートメモリ１１５のアドレス）と第２アドレス（すなわち第２ブートメモリ１１７のアドレス）とを生成し出力する。アドレス変換回路１０２には、どのオリジナルアドレスを受けた場合にはどのような第１アドレス及び第２アドレスを生成するかの規則が予め決められており、その規則に基づいて、第１アドレス及び第２アドレスが生成されて出力される。出力された第１アドレスは、第１アドレスライン２Ａを介して第１ブートメモリ１１５に入力され、第２アドレスは、第２アドレスライン２Ｂを介して第２ブートメモリ１１７に入力される。また、第１アドレス及び第２アドレスは、アドレス保護コード生成回路１０５に入力される。なお、例えば、第１アドレスには、１バイトの起動用ＤＨを読む又は書くための第１サブアドレスと、１バイトのＰＬを読む又は書くための第２サブアドレスとが含まれている。また、第２アドレスには、例えば、１バイトの起動用ＤＬを読む又は書くための第３サブアドレスと、１バイトのＰＨを読む又は書くための第４サブアドレスとが含まれている。
【００５０】
第１ブートメモリ１１５に入力された第１アドレスが、読込用オリジナルアドレスを基に生成されたものである場合、第１ブートメモリ１１５の第１アドレスに存在するＭＰデータが第１データライン４Ａを介してＰＬＤ１２１に出力される。また、第２ブートメモリ１１７に入力された第２アドレスが、読込用オリジナルアドレスを基に生成されたものである場合、第２ブートメモリ１１７の第２アドレスに存在するＭＰデータが第２データライン４Ｂを介してＰＬＤ１２１に出力される。第１データライン４Ａ及び第２データライン４Ｂの各々を介して出力されたＭＰデータは、読出しバッファ１０９が一時的に蓄積する。なお、ＭＰ１１１の起動前は、起動用ＤＨとＰＬ、及び、起動用ＤＬとＰＨが読出しバッファ１０９に読み出される。その際、読み出される起動用ＤＨと起動用ＤＬは、同一のＭＰデータの構成要素となるものである。換言すれば、例えば、或る起動用ＤＨ及びＰＬのペアが読み出される場合、その起動用ＤＨと同一のＭＰデータを構成しない別の起動用ＤＬを含んだペアが読み出されるのではなく、その起動用ＤＨと同一のＭＰデータを構成する起動用ＤＬが読み出される。それは、アドレス変換回路１０２によって生成される第１アドレスと第２アドレスが、そのように読み出されるような内容になっているからである。
【００５１】
データチェック回路１０７は、読出しバッファ１０９内の起動用ＤＨ及びＰＬと起動用ＤＬ及びＰＨとを用いてデータチェックを行う。例えば、データチェック回路１０７は、起動用ＤＨ及びＰＨの少なくとも一方の正否のチェックである第１チェックと、起動用ＤＬ及びＰＬの少なくとも一方の正否のチェックである第２チェックとを行う。具体的には、例えば、第１チェックでは、データチェック回路１０７は、ＰＨに含まれている起動用上位保護コードを用いて起動用ＤＨの正否をチェックし、第２チェックでは、ＰＬに含まれている起動用下位保護コードを用いて起動用ＤＬの正否をチェックする。データチェック回路１０７は、第１チェック及び第２チェックの両方で肯定的なチェック結果が得られた場合、読出しバッファ１０９内の起動用ＤＨ及びＰＬと、起動用ＤＬ及びＰＨとを、データ入出力線８を介してＭＰ１１１に入力する。一方、データチェック回路１０７は、第１チェック及び第２チェックの少なくとも一方で否定的なチェック結果が得られた場合、起動用ＤＨ及びＰＬと起動用ＤＬ及びＰＨのいずれをもＭＰ１１１に出力しないようにし、所定のエラー処理を実行する。エラー処理として、例えば、データチェック回路１０７は、ＰＨ及びＰＬに含まれている第１アドレス及び第２アドレスを第１ブートメモリ１１５及び第２ブートメモリ１１７に出力して、同一の起動用ＤＨとＰＬ、及び、起動用ＤＬとＰＨを読出しバッファ１０９に読出し、再度、第１チェック及び第２チェックを行う。また、エラー処理として、例えば、データチェック回路１０７は、リセット信号線６を介してＭＰ１１１をリセットする。なお、データチェック回路１２１は、必ずしも第１及び第２のチェックを行う必要は無く、例えば、第１チェックによって否定的なチェック結果が得られた場合には、第２チェックを行うことなくエラー処理を行っても良い。
【００５２】
データバッファ１０３は、ＭＰ１１１からデータ入出力線８を介して入力された起動用ＭＰデータを一時的に蓄積するバッファである。
【００５３】
分割保護生成回路１１９は、データバッファ１０３内の起動用ＭＰデータを起動用ＤＨと起動用ＤＬに分割する。また、分割保護生成回路１１９は、分割によって得られた起動用ＤＨを基に起動用上位保護コードを生成し、且つ、分割によって得られた起動用ＤＬを基に起動用下位保護コードを生成する。分割保護生成回路１１９は、起動用ＤＨ、起動用ＤＬ、起動用上位保護コード及び起動用下位保護コードを生成して出力する。
【００５４】
アドレス保護コード生成回路１０５は、アドレス変換回路１０２からの第１アドレスを基に第１アドレス保護コードを生成し、第２アドレスを基に第２アドレス保護コードを生成する。アドレス保護コード生成回路１０５は、生成した第１アドレス保護コード及び第２アドレス保護コードと、アドレス変換回路１０２からの第１アドレス及び第２アドレスとを出力する。
【００５５】
結合回路２５１は、アドレス保護コード生成回路１０５からの第１アドレス保護コード、第１アドレス及び起動用上位保護コードを結合してＰＨを生成し、そのＰＨと、分割保護生成回路１１９からの起動用ＤＨ及び起動用ＤＬの中から選択した起動用ＤＬとを、第２データライン４Ｂを介して第２ブートメモリ１１７に出力する。これにより、アドレス変換回路１０２から第２アドレスライン２Ｂを介して第２ブートメモリ１１７に入力された第２アドレスが表す場所に、起動用ＤＬとＰＨとが書き込まれる。また、結合回路２５１は、アドレス保護コード生成回路１０５からの第２アドレス保護コード、第２アドレス及び起動用下位保護コードを結合してＰＬを生成し、そのＰＬと、分割保護生成回路１１９からの起動用ＤＨ及び起動用ＤＬの中から選択した起動用ＤＨとを、第１データライン４Ａを介して第１ブートメモリ１１５に出力する。これにより、アドレス変換回路１０２から第１アドレスライン２Ａを介して第１ブートメモリ１１５に入力された第１アドレスが表す場所に、起動用ＤＨとＰＬとが書き込まれる。
【００５６】
以下、このブート制御システム１２０において行われる処理流れを説明する。
【００５７】
図４は、ＭＰ１１１が起動用ＭＰデータを読込む場合に行なわれる処理流れを示す。
【００５８】
ＭＰ１１１は、例えばＭＰ１１１の電源がターンオンした場合に、レジスタ１２３の値をリセットし（ステップＳ１）、レジスタ１２３の初期化を行う（Ｓ２）。これにより、レジスタ１２３に、起動用ＭＰデータの読込用オリジナルアドレスが書かれる。ＭＰ１１１は、レジスタ１２３に書かれている読込用オリジナルアドレス（例えば、ブートプログラムを読込むためのオリジナルアドレス）をＰＬＤ１２１に出力する（Ｓ３）。
【００５９】
ＭＰ１１１からＰＬＤ１２１に出力された読込用オリジナルアドレスは、アドレスバッファ１０１に蓄積される。アドレス変換回路１０２は、アドレスバッファ１０１内の読込用オリジナルアドレスに基づいて第１アドレス及び第２アドレスを生成し、第１アドレスを第１ブートメモリ１１５に指定し、第２アドレスを第２ブートメモリ１１７に指定する（Ｓ４）。それにより、第１ブートメモリ１１５の第１アドレスに存在する起動用ＤＨ及びＰＬが読み出しバッファ１０９に格納され、且つ、第２ブートメモリ１１７の第２アドレスに存在する起動用ＤＬ及びＰＨが読み出しバッファ１０９に格納される（Ｓ５）。
【００６０】
データチェック回路１０７は、読出しバッファ１０９内のＰＨに含まれている起動用上位保護コードを用いて起動用ＤＨの正否をチェックし（つまり第１チェックを行い）、且つ、ＰＬに含まれている起動用下位保護コードを用いて起動用ＤＬの正否をチェックする（つまり第２チェックを行う）（Ｓ７）。
【００６１】
データチェック回路１０７は、第１チェック及び第２チェックの少なくとも一方で否定的なチェック結果が得られた場合（Ｓ７でＮ）、起動用ＤＨ及びＰＬと起動用ＤＬ及びＰＨのいずれをもＭＰ１１１に出力しないようにし、所定のエラー処理として、例えば、リセット信号線６を介してＭＰ１１１をリセットする（Ｓ８）。これにより、ＭＰ１１１が閉塞する（Ｓ１１）。
【００６２】
Ｓ７において、データチェック回路１０７は、第１チェック及び第２チェックの両方で肯定的なチェック結果が得られた場合（Ｓ７でＹ）、読出しバッファ１０９内の起動用ＤＨ及びＰＬと、起動用ＤＬ及びＰＨとをＭＰ１１１に転送する（Ｓ９）。換言すれば、データチェック回路１０７は、起動用ＤＨ及びＰＬと、起動用ＤＬ及びＰＨとのＭＰ１１１への読み込みを許可する。
【００６３】
Ｓ６〜Ｓ９の処理は、ブートプログラムについての、全ての起動用ＤＨ及びＰＬと起動用ＤＬ及びＰＨとについて行われる（Ｓ１０でＮ）。
【００６４】
ＭＰ１１１は、起動用ＤＨ及びＰＬと起動用ＤＬ及びＰＨとをＰＬＤ１２１を介して読込めた場合、読込んだ起動用ＤＨ及びＰＬと起動用ＤＬ及びＰＨとをローカルメモリ１５９に展開する（Ｓ１２）。
【００６５】
ＭＰ１１１は、ブートプログラムについての、全ての起動用ＤＨ及びＰＬと起動用ＤＬ及びＰＨとがローカルメモリ１５９に登録された場合（Ｓ１３でＹ）、すなわち、ローカルメモリ１５９に正常なブートプログラムが書かれた場合、そのブートプログラムに従って、ＯＳを読込むための読込用オリジナルアドレスを出力する（Ｓ１４）。これにより、前述したＳ４〜Ｓ１０の処理が行われる。すなわち、ブートメモリ１１５、１１７から読み出されるＯＳ中に誤りのあるコードが含まれていた場合には、ＰＬＤ１２１からのリセット信号に従ってＭＰ１１１は閉塞するし（Ｓ１５）、そうでない場合には、ローカルメモリ１５９にＯＳが展開されてＭＰ１１１のＯＳが起動する（Ｓ１６、Ｓ１７でＹ、Ｓ１８）。
【００６６】
なお、ＯＳが起動した場合、例えば、ファイル空間１１５Ｆ、１１７Ｆに、ＯＳが使用するＯＳ用ＭＰデータについてチェックサム期待値が格納されていれば、ＭＰ１１１のＯＳは、ＯＳ用ＭＰデータについてサムチェックを行っても良い。換言すれば、ＭＰ１１１が起動する前は、ＭＰ１１１に読込まれるＭＰデータをハードウェア的にチェックし、ＭＰ１１１が起動した後は、ＭＰ１１１に読込まれるＭＰデータをＯＳによってソフトウェア的にチェックすることができる。
【００６７】
図５は、ＭＰ１１１が起動用ＭＰデータを書込む場合に行なわれる処理流れを示す。
【００６８】
ＭＰ１１１は、ブートプログラム或いはＯＳを構成する起動用ＭＰデータ群の格納用オリジナルアドレスと、それら起動用ＭＰデータ群とをＰＬＤ１２１に送信する（Ｓ５１）。
【００６９】
ＭＰ１１１からＰＬＤ１２１に送信された起動用ＭＰデータ群は、データバッファ１０３に蓄積される。
【００７０】
分割保護生成回路１１９は、データバッファ１０３内の起動用ＭＰデータ群の各々を起動用ＤＨと起動用ＤＬに分割する（Ｓ５３）。また、分割保護生成回路１１９は、分割によって得られた起動用ＤＨを基に起動用上位保護コードを生成し、且つ、分割によって得られた起動用ＤＬを基に起動用下位保護コードを生成する（Ｓ５４）。分割保護生成回路１１９は、起動用ＤＨ、起動用ＤＬ、起動用上位保護コード及び起動用下位保護コードを生成して出力する（Ｓ５５）。
【００７１】
ＭＰ１１１からＰＬＤ１２１に送信された格納用オリジナルアドレスは、アドレスバッファ１０１に蓄積される。アドレス変換回路１０２は、アドレスバッファ１０１内の格納用オリジナルアドレスに基づいて第１アドレス及び第２アドレスを生成し、第１アドレスを第１ブートメモリ１１５に指定し、第２アドレスを第２ブートメモリ１１７に指定する（Ｓ５６）。また、アドレス変換回路１０２は、第１アドレス及び第２アドレスをアドレス保護コード生成回路１０５に出力する。
【００７２】
アドレス保護コード生成回路１０５は、アドレス変換回路１０２からの第１アドレスを基に第１アドレス保護コードを生成し、第２アドレスを基に第２アドレス保護コードを生成する（Ｓ５７）。アドレス保護コード生成回路１０５は、生成した第１アドレス保護コード及び第２アドレス保護コードと、アドレス変換回路１０２からの第１アドレス及び第２アドレスとを出力する（Ｓ５８）。
【００７３】
結合回路２５１は、アドレス保護コード生成回路１０５からの第２アドレス保護コード、第２アドレス及び起動用下位保護コードを結合してＰＬを生成し、そのＰＬと、分割保護生成回路１１９からの起動用ＤＨ及び起動用ＤＬの中から選択した起動用ＤＨとを、第１データライン４Ａを介して第１ブートメモリ１１５に書込む（Ｓ５９）。また、結合回路２５１は、アドレス保護コード生成回路１０５からの第１アドレス保護コード、第１アドレス及び起動用上位保護コードを結合してＰＨを生成し、そのＰＨと、分割保護生成回路１１９からの起動用ＤＨ及び起動用ＤＬの中から選択した起動用ＤＬとを、第２データライン４Ｂを介して第２ブートメモリ１１７に書込む（Ｓ６０）。
【００７４】
以上、上述した実施形態によれば、ＭＰ１１１とブートメモリ１１５、１１７との間の通信経路上にＰＬＤ１２１が介在する。ブートメモリ１１５、１１７には、起動用ＭＰデータとそれの保護コードが格納されている。ＭＰ１１１が起動するために起動用ＭＰデータ及びそれの保護コードがブートメモリ１１５、１１７から出力された場合、ＰＬＤ１２１が、起動用ＭＰデータの正否のチェックをそれの保護コードを用いてハードウェア的に行う。その結果、否定的なチェック結果が得られた場合には、ＰＬＤ１２１は、起動用ＭＰデータをＭＰ１１１に出力しない。これにより、ＭＰ１１１の起動していなくても、ＭＰ１１１に要求されたＭＰデータの正否のチェックが行われ、そのＭＰデータに誤ったデータコードが含まれている可能性がある場合には、そのＭＰデータがＭＰ１１１に読込まれないようになっているので、ＭＰ１１１が誤ったデータコードを用いて動作することでハングアップしてしまう等の不具合を未然に防ぐことができる。
【００７５】
また、上述した実施形態によれば、ＭＰデータを構成する起動用ＤＨ及び起動用ＤＬは、別々のブートメモリ１１５、１１７に格納され、起動用ＤＨの保護コードを含んだＰＨは、起動用ＤＬが格納される第２ブートメモリ１１７に格納され、起動用ＤＬの保護コードを含んだＰＬは、起動用ＤＨが格納される第１ブートメモリ１１９に格納される。換言すれば、同一のブートメモリには、起動用ＭＰデータの或るＭＰデータ要素に対し、それの保護コードではなく、それとは別のＭＰデータ要素の保護コードが格納される。これにより、例えば、第２ブートメモリ１１７に障害が発生した等の原因により、起動用ＤＬ及びＰＨに誤ったコードが含まれた場合（例えば、全ての構成コードがゼロになってしまった場合）、そのＰＨを用いて起動用ＤＨの正否をチェックすれば否定的なチェック結果が得られるし、正常なＰＬを用いて異常な起動用ＤＬの正否をチェックしても否定的なチェック結果が得られ、結果として、起動用ＤＬ及びＰＨのみならず起動用ＤＨ及びＰＬも異常であるという判断を行うことができる。従って、異常なデータがＭＰ１１１に読込まれてしまうことを防止することの確実性を高めることができる。
【００７６】
また、上述した実施形態によれば、各ブートメモリ１１５、１１７のメモリ空間は、格納されるデータの性質に応じて区分されている。例えば、各ブートメモリ１１５、１１７は、起動用ＭＰデータが格納される直接実行空間１１５Ｂ、１１７Ｂと、起動後に使用されるＯＳ用データが格納されるファイル空間１１５Ｆ、１１７Ｆとに区分されている。これにより、空間の種類に応じた異なる方法で、ＭＰ１１１に読込まれるデータをチェックすることができる。
【００７７】
ところで、上述した実施形態では、幾つかの変形例が考えられる。以下、それらの変形例について説明する。なお、以下、上述した実施形態との相違点を主に説明し、重複する部分については説明を省略或いは簡略する。
【００７８】
（１）第１の変形例。
【００７９】
図６は、本発明の一実施形態の第１の変形例に係るチャネル制御部を示す。
【００８０】
チャネル制御部１３には、例えば、マイクロプロセッサユニット（以下、ＭＰＵ）２０１と、ローカルメモリ１５９と、ホスト装置１に接続されるホストインターフェース回路（以下、ホストＩ／Ｆ）２０４と、スイッチング制御部２１に接続されるスイッチインターフェース回路（以下、スイッチＩ／Ｆ）２０８とが備えられる。ＭＰＵ２０１には、プロセッサコア２０３と、プロセッサコア２０３に読込まれる起動用ＭＰデータ等を記憶する第１ブートメモリ１１５及び第２ブートメモリ１１７と、プロセッサコア２０３とブートメモリ１１５、１１７との通信経路上に介在するＰＬＤ１２１とが備えられる。また、ＭＰＵ２０１には、ダイレクトメモリアクセスを制御するＤＭＡコントローラ２０７と、プロセッサコア２０３のローカルメモリ１５９に対するアクセスを制御するメモリコントローラ２０９と、プロセッサコア２０３とＭＰＵ２０１外部にあるデバイスとのＰＣＩバス２０６を介した通信を制御するＩ／Ｆコントローラとが備えられる。プロセッサコア２０３は、ブートメモリ１１５、１１７からＯＳを読込めた場合に起動する。ブートメモリ１１５、１１７は、ＳＲＡＭであってもＤＲＡＭであっても良い。
【００８１】
この第１の変形例では、図６に示されている通り、ＭＰＵ２０１という１つのチップに、上述したブート制御システムと同様のシステムが搭載される。これにより、ブート制御システムの構築に必要な部品点数の削減が期待できる。
【００８２】
なお、チャネル制御部１３を代表的に例に採って図示したが、ディスク制御部１９にもＭＰＵ２０１を搭載することができる。
【００８３】
（２）第２の変形例。
【００８４】
図７は、本発明の一実施形態の第２の変形例を説明するための図である。
【００８５】
チャネル制御部１３（又はディスク制御部１９）に、ブート制御システム１２３が搭載されている。ブート制御システム１２３内のＭＰ１１１には、ＬＡＮ等の通信ネットワークを介してＳＶＰ１２が接続されている。
【００８６】
ＳＶＰ１２は、各チャネル制御部１３及び各ディスク制御部１９上の各ＭＰを監視している（例えば、各ＭＰに定期的に信号を発信し、所定の応答信号が返ってくるか否かを監視している）。ＳＶＰ１２は、起動したはずのＭＰを検出できない場合（例えば、起動したはずのＭＰから応答信号が返ってこない場合）、例えば図７に示すように、そのＭＰが起動しなかった旨と、ブートプログラム及びＯＳの再インストールを提案する旨のメッセージをディスプレイ画面に表示する。
【００８７】
以上、本発明の好適な実施形態と幾つかの変形例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこの実施形態及び変形例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。
【図面の簡単な説明】
【００８８】
【図１】本発明の一実施形態に係る記憶制御システムを備えたコンピュータシステムの全体構成を示す。
【図２】ブート制御システムの構成例を示す。
【図３】ブート制御システムに備えられるＭＰが使用する２つのブートメモリ１１５、１１７と、そのＭＰのローカルメモリとにおけるデータ構造を示す。
【図４】ＭＰ１１１が起動用ＭＰデータを読込む場合に行なわれる処理流れを示す。
【図５】ＭＰ１１１が起動用ＭＰデータを書込む場合に行なわれる処理流れを示す。
【図６】本発明の一実施形態の第１の変形例に係るチャネル制御部を示す。
【図７】本発明の一実施形態の第２の変形例を説明するための図である。
【符号の説明】
【００８９】
１…ホスト装置  ３…記憶制御システム  ９…物理ディスク群  １１…論理ボリューム  １２…ＳＶＰ（Service Processor）  １３…チャネル制御部  １５…キャッシュメモリ  １７…制御メモリ  １９…ディスク制御部  ２１…スイッチング制御部  １１１…ＭＰ  １１５…第１のブートメモリ  １１７…第２のブートメモリ  １２０…ブート制御システム  １２１…ＰＬＤ
【図１】
2005309580.tif 000003
【図２】
2005309580.tif 000004
【図３】
2005309580.tif 000005
【図４】
2005309580.tif 000006
【図５】
2005309580.tif 000007
【図６】
2005309580.tif 000008
【図７】
2005309580.tif 000009