(57)【要約】【課題】  ファイルアクセス要求を処理することができるインターフェース制御回路基板を含む種々の制御基板を同一の位置に搭載することができる記憶制御システムに比べて能力の無駄を少なくできるようにする。【解決手段】  ファイルアクセス要求を処理するネットワークチャネルアダプタ（ＣＨＮ）８が、ファイルアクセス要求をブロックアクセス要求に変換する処理を行うＣＨＮ−ＮＡＳ部３と、ブロックアクセス要求を出力するＣＨＮ−ＩＯ部５とに分けられる。ＣＨＮ−ＮＡＳ部３が搭載されるパート３と、ＣＨＮ−ＩＯ部５が搭載されるパート４とが、別々の場所とされる。【選択図】図１
2007018049.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置に対するインターフェースであり、前記ホスト装置からファイルアクセス要求を受け、受けたファイルアクセス要求をブロックアクセス要求に変換し、変換後のブロックアクセス要求を出力する第一のインターフェース制御回路基板と、
記憶装置に対するインターフェースであり、前記第一のインターフェース制御基板から出力されたブロックアクセス要求を受信し、前記受信したブロックアクセス要求に従がって記憶装置にアクセスする第二のインターフェース制御回路基板と
を備え、
前記第一のインターフェース制御回路基板は、前記ホスト装置からのファイルアクセス要求をブロックアクセス要求に変換して出力する第一のサブ回路基板と、前記第一のサブ基板から出力されたブロックアクセス要求を受けて出力する第二のサブ回路基板とが通信可能に接続されることにより構成されている、
記憶制御システム。
【請求項２】
前記記憶制御システムは、電子的な情報を記憶することができる記憶域を備え、
前記第一のサブ回路基板及び前記第二のサブ回路基板の各々が、複数の回路部品を備えることができ、
前記第一のサブ回路基板及び前記第二のサブ回路基板の少なくとも一方において、前記複数の回路部品のうちの少なくとも一つが着脱可能に搭載されており、
前記記憶域が、前記第一のサブ回路基板及び前記第二のサブ回路基板のうち、回路部品を着脱可能に搭載することのできるサブ回路基板に搭載されるべき二以上の回路部品を表す構成情報を記憶し、
前記第一のサブ回路基板及び前記第二のサブ回路基板のうちの少なくとも一方が、起動の際、
回路部品を着脱可能に搭載することのできるサブ回路基板に搭載されている回路部品を検出する検出処理を実行し、
前記検出の結果と、前記記憶域に記憶されている前記構成情報とを比較する比較処理を実行し、
前記比較の結果に基づいて、前記第一のサブ回路基板及び前記第二のサブ回路基板により構成される第一のインターフェース制御回路基板の稼動の許否を決定する、
請求項１記載の記憶制御システム。
【請求項３】
前記第一のサブ回路基板及び前記第二のサブ回路基板のうち、少なくとも前記第一のサブ回路基板が、少なくとも一つの回路部品を着脱可能に備える、
請求項２記載の記憶制御システム。
【請求項４】
前記第二のサブ回路基板が、全ての回路部品を着脱不能に備え、
前記第一のサブ回路基板が、前記検出処理を実行し、
前記第二のサブ回路基板が、前記比較処理を実行する、
請求項３記載の記憶制御システム。
【請求項５】
前記記憶制御システムに、情報を表示することができる表示装置が通信可能に接続されており、
前記第一のサブ回路基板及び前記第二のサブ回路基板のうちの少なくとも一方が、
前記比較処理において、検出された回路部品毎に、適合する情報要素が前記構成情報に含まれているか否かを判定し、
回路部品毎の判定結果を前記表示装置に表示する、
請求項２記載の記憶制御システム。
【請求項６】
前記第一のサブ回路基板及び前記第二のサブ回路基板のうちの少なくとも一方が、前記比較の結果、前記構成情報が表す回路部品と適合しない回路部品が搭載されていることが認識された場合には、前記第一のサブ回路基板及び前記第二のサブ回路基板により構成される第一のインターフェース制御回路基板の稼動を許可しない、
請求項２記載の記憶制御システム。
【請求項７】
前記構成情報には、搭載すべき回路部品の種類であって、サポートされている回路部品の情報が含まれている、
請求項６記載の記憶制御システム。
【請求項８】
前記第一のサブ回路基板及び前記第二のサブ回路基板のうちの少なくとも一方が、前記比較の結果、前記構成情報が表す回路部品と適合しない回路部品が搭載されていることが認識されたとしても、その認識の結果が所定の条件にマッチする場合には、前記第一のサブ回路基板及び前記第二のサブ回路基板により構成される第一のインターフェース制御回路基板の稼動を許可する、
請求項２記載の記憶制御システム。
【請求項９】
前記記憶制御システムに、情報を表示することができる表示装置が通信可能に接続されており、
前記記憶制御システムは、起動の際の検出結果を記憶することができる検出結果記憶域を備え、
第一のインターフェース制御回路基板の稼動中において、
回路部品を着脱可能に搭載することのできるサブ回路基板が、自分に搭載されている或る回路部品に障害が発生したことを検出した場合、起動の際の検出結果を更新し、
前記第一のサブ回路基板及び前記第二のサブ回路基板のうちの少なくとも一方が、更新後の検出結果と、前記構成情報とを比較して、障害の発生した回路部品を特定し、特定された回路部品を表す情報を表示する、
請求項２記載の記憶制御システム。
【請求項１０】
前記第一のサブ回路基板及び前記第二のサブ回路基板のうちの少なくとも一方が、検出された回路部品にアクセスし、アクセス失敗の場合に、所定のエラー処理を実行する、
請求項２記載の記憶制御システム。
【請求項１１】
前記記憶制御システムに、情報を表示することができる表示装置が通信可能に接続されており、
前記記憶制御システムは、第一のサブ回路基板に対応する第一の基板ＩＤと、第二のサブ回路基板に対応する第二の基板ＩＤとの対応付けを表す基板対応情報を記憶することができる対応情報記憶域を更に備え、第一のサブ回路基板か第二のサブ回路基板であるかという基板種別と、基板ＩＤとの指定を受け付け、指定された基板種別及び基板ＩＤに対応する基板種別及び基板ＩＤを、前記対応情報記憶域に記憶されている前記基板対応情報から特定し、特定された基板種別及び基板ＩＤを前記表示装置に表示する、
請求項１記載の記憶制御システム。
【請求項１２】
前記第一のサブ回路基板と、前記第二のサブ回路基板とが、データラインと保守ラインとにより通信可能に接続されており、
前記第一のサブ回路基板及び前記第二のサブ回路基板の少なくとも一方が、データラインに障害が発生した場合には、前記保守ラインを介して相手のサブ回路基板に異常を通知する、
請求項１記載の記憶制御システム。
【請求項１３】
前記記憶制御システムは、
前記第一のサブ回路基板が搭載される第一の基板搭載パートと、
前記第二のサブ回路基板が搭載される第二の基板搭載パートと
を備え、
前記第一の基板搭載パートと前記第二の基板搭載パートとが別々の場所に存在する、
請求項１記載の記憶制御システム。
【請求項１４】
第一のサブ回路基板と、
前記第一のサブ回路基板とは物理的に別々の回路基板である第二のサブ回路基板と、
電子的な情報を記憶することができる記憶域と
を備え、
前記第一のサブ回路基板と前記第二のサブ回路基板とが通信可能に接続されることにより、所定の情報処理を実行するための回路基板が構成され、
前記第一のサブ回路基板及び前記第二のサブ回路基板の各々が、複数の回路部品を備えることができ、
前記第一のサブ回路基板及び前記第二のサブ回路基板の少なくとも一方において、前記複数の回路部品のうちの少なくとも一つが着脱可能に搭載されており、
前記記憶域が、前記第一のサブ回路基板及び前記第二のサブ回路基板のうち、回路部品を着脱可能に搭載することのできるサブ回路基板に搭載されるべき二以上の回路部品を表す構成情報を記憶し、
前記第一のサブ回路基板及び前記第二のサブ回路基板のうちの少なくとも一方が、起動の際、
回路部品を着脱可能に搭載することのできるサブ回路基板に搭載されている回路部品を検出する検出処理を実行し、
前記検出の結果と、前記記憶域に記憶されている前記構成情報とを比較する比較処理を実行し、
前記比較の結果に基づいて、前記第一のサブ回路基板及び前記第二のサブ回路基板により構成される回路基板の稼動の許否を決定する、
情報処理装置。
【請求項１５】
第一のサブ回路基板と、それとは物理的に分離しているが通信可能に接続されている第二のサブ回路基板とのうちの少なくとも一方が、起動の際、
回路部品を着脱可能に搭載することのできるサブ回路基板に搭載されている回路部品を検出し、
回路部品を着脱可能に搭載することのできるサブ回路基板に搭載されるべき二以上の回路部品を表す構成情報であって、所定の記憶域に記憶されている前記構成情報と、前記検出の結果とを比較し、
前記比較の結果に基づいて、前記第一のサブ回路基板及び前記第二のサブ回路基板により構成される回路基板の稼動の許否を決定する、
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶制御技術に関する。
【背景技術】
【０００２】
例えば、データセンタ等のような大規模なデータを取り扱うデータベースシステムでは、ホストコンピュータとは別に構成された記憶制御システムを用いてデータを管理する。この記憶制御システムは、例えば、多数の記憶デバイスをアレイ状に配設して構成されたRAID（Redundant Array of Independent Inexpensive Disks）のようなディスクアレイシステムである。
【０００３】
このような記憶制御システムには、例えば、特開２００４−２２７０９７号公報に開示されている記憶制御システムがある。この記憶制御システムは、情報処理装置からアクセス要求を受け付けるチャネル制御部が搭載される。チャネル制御部としては、ファイルアクセス要求を受け付けるネットワークチャネルアダプタ（以下、ＣＨＮ）と、ファイバチャネルプロトコルに従うブロックアクセス要求を受け付けるファイバチャネルアダプタ（以下、ＣＨＦ）と、ファイバチャネルプロトコルとは別の通信プロトコルに従うブロックアクセス要求を受け付けるチャネルアダプタ（以下、ＣＨＡ）とがある。この記憶制御システムは、ＣＨＮ、ＣＨＦ及びＣＨＡを混在させることができるようになっている。ＣＨＮには、ＣＨＮをＮＡＳ（Network Area Storage）ボードとして機能させるための制御を司るためのＣＰＵと、データやコマンドの授受を制御しＣＰＵと記憶デバイス側との間の通信を中継するＩＯプロセッサとの両方のプロセッサが搭載される。ＣＨＦ及びＣＨＡには、ＩＯプロセッサが搭載されるが、ＣＨＮに搭載されるようなＣＰＵを搭載する必要は無い。記憶制御システムには、複数のスロットがあり、各スロットには、ＣＨＮ、ＣＨＦ及びＣＨＡのうちのどれでも搭載することができる。
【０００４】
【特許文献１】特開２００４−２２７０９７号公報（例えば、段落３５、段落４１、段落４４、図６及び図７）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
一般に、ブロックアクセス要求を処理するＩＯプロセッサよりも、ファイルアクセス要求を処理するＣＰＵの方がより大きな電力を消費し、且つ、より高い熱を発する。このため、ＣＨＮは、ＣＨＦやＣＨＡといった他種のチャネル制御部に比べて、より大きな電力を消費し、且つ、より高い熱を発することになる。従って、上記の記憶制御システムのように、どのスロットにどんな種類のチャネル制御部が搭載されても良い場合には、各スロットにＣＨＮが搭載されることを想定した給電能力（例えば電源）や冷却能力（例えばファン台数）が必要になると考えられる。
【０００６】
しかし、これでは、例えば、全てのスロットにＣＨＦ或いはＣＨＡといった他種のチャネル制御部しか搭載されないような場合には、必要以上の給電能力や冷却能力が用意されることになり、給電能力や冷却能力に無駄が生じてしまう。
【０００７】
従って、本発明の目的は、ファイルアクセス要求を処理することができるインターフェース制御回路基板を含む種々の制御基板を同一の位置に搭載することができる記憶制御システムに比べて能力の無駄を少なくできるようにすることにある。
【０００８】
本発明の更なる目的は、後の記載から明らかになるであろう。
【課題を解決するための手段】
【０００９】
本発明の第一の側面に従う記憶制御システムは、第一のインターフェース制御回路基板と、第二のインターフェース制御回路基板とを備える。第一のインターフェース制御回路基板は、ホスト装置に対するインターフェースであり、前記ホスト装置からファイルアクセス要求を受け、受けたファイルアクセス要求をブロックアクセス要求に変換し、変換後のブロックアクセス要求を出力する。第二のインターフェース制御回路基板は、記憶装置に対するインターフェースであり、前記第一のインターフェース制御基板から出力されたブロックアクセス要求を受信し、前記受信したブロックアクセス要求に従がって記憶装置にアクセスする。前記第一のインターフェース制御回路基板は、前記ホスト装置からのファイルアクセス要求をブロックアクセス要求に変換して出力する第一のサブ回路基板と、前記第一のサブ基板から出力されたブロックアクセス要求を受けて出力する第二のサブ回路基板とが通信可能に接続されることにより構成されている。
【００１０】
一つの実施態様では、前記記憶制御システムは、電子的な情報を記憶することができる記憶域を備えることができる。前記第一のサブ回路基板及び前記第二のサブ回路基板の各々が、複数の回路部品（例えば、プロセッサやメモリ）を備えることができる。前記第一のサブ回路基板及び前記第二のサブ回路基板の少なくとも一方において、前記複数の回路部品のうちの少なくとも一つが着脱可能に搭載することができる。前記記憶域が、前記第一のサブ回路基板及び前記第二のサブ回路基板のうち、回路部品を着脱可能に搭載することのできるサブ回路基板に搭載されるべき二以上の回路部品を表す構成情報を記憶することができる。前記第一のサブ回路基板及び前記第二のサブ回路基板のうちの少なくとも一方が（例えば、単独で又は協働して）、起動の際、回路部品を着脱可能に搭載することのできるサブ回路基板に搭載されている回路部品を検出する検出処理を実行し、前記検出の結果と、前記記憶域に記憶されている前記構成情報とを比較する比較処理を実行し、前記比較の結果に基づいて、前記第一のサブ回路基板及び前記第二のサブ回路基板により構成される第一のインターフェース制御回路基板の稼動の許否を決定することができる。
【００１１】
一つの実施態様では、前記第一のサブ回路基板及び前記第二のサブ回路基板のうち、少なくとも前記第一のサブ回路基板が、少なくとも一つの回路部品を着脱可能に備えることができる。その場合、前記第二のサブ回路基板が、全ての回路部品を着脱不能に備えることができる。前記第一のサブ回路基板が、前記検出処理を実行し、前記第二のサブ回路基板が、前記比較処理を実行することができる。
【００１２】
一つの実施態様では、前記記憶制御システムに、情報を表示することができる表示装置が通信可能に接続されていてもよい。前記第一のサブ回路基板及び前記第二のサブ回路基板のうちの少なくとも一方が、前記比較処理において、検出された回路部品毎に、適合する情報要素が前記構成情報に含まれているか否かを判定し、回路部品毎の判定結果を前記表示装置に表示することができる。
【００１３】
一つの実施態様では、前記第一のサブ回路基板及び前記第二のサブ回路基板のうちの少なくとも一方が、前記比較の結果、前記構成情報が表す回路部品と適合しない回路部品が搭載されていることが認識された場合には、前記第一のサブ回路基板及び前記第二のサブ回路基板により構成される第一のインターフェース制御回路基板の稼動を許可しないようにすることができる。前記構成情報には、搭載すべき回路部品の種類であって、サポートされている回路部品の情報が含まれていてもよい。
【００１４】
一つの実施態様では、前記第一のサブ回路基板及び前記第二のサブ回路基板のうちの少なくとも一方が、前記比較の結果、前記構成情報が表す回路部品と適合しない回路部品が搭載されていることが認識されたとしても、その認識の結果が所定の条件にマッチする場合には、前記第一のサブ回路基板及び前記第二のサブ回路基板により構成される第一のインターフェース制御回路基板の稼動を許可することができる。
【００１５】
一つの実施態様では、前記記憶制御システムに、情報を表示することができる表示装置が通信可能に接続されていてもよい。前記記憶制御システムは、起動の際の検出結果を記憶することができる検出結果記憶域を備えることができる。第一のインターフェース制御回路基板の稼動中において、回路部品を着脱可能に搭載することのできるサブ回路基板が、自分に搭載されている或る回路部品に障害が発生したことを検出した場合、起動の際の検出結果を更新することができる。前記第一のサブ回路基板及び前記第二のサブ回路基板のうちの少なくとも一方が、更新後の検出結果と、前記構成情報とを比較して、障害の発生した回路部品を特定し、特定された回路部品を表す情報を表示することができる。
【００１６】
一つの実施態様では、前記第一のサブ回路基板及び前記第二のサブ回路基板のうちの少なくとも一方が、検出された回路部品にアクセスし、アクセス失敗の場合に、所定のエラー処理を実行することができる。
【００１７】
一つの実施態様では、前記記憶制御システムに、情報を表示することができる表示装置が通信可能に接続されていてもよい。前記記憶制御システムは、第一のサブ回路基板に対応する第一の基板ＩＤと、第二のサブ回路基板に対応する第二の基板ＩＤとの対応付けを表す基板対応情報を記憶することができる対応情報記憶域を更に備え、第一のサブ回路基板か第二のサブ回路基板であるかという基板種別と、基板ＩＤとの指定を受け付け、指定された基板種別及び基板ＩＤに対応する基板種別及び基板ＩＤを、前記対応情報記憶域に記憶されている前記基板対応情報から特定し、特定された基板種別及び基板ＩＤを前記表示装置に表示することができる。
【００１８】
一つの実施態様では、前記第一のサブ回路基板と、前記第二のサブ回路基板とが、データラインと保守ラインとにより通信可能に接続されていてもよい。前記第一のサブ回路基板及び前記第二のサブ回路基板の少なくとも一方が、データラインに障害が発生した場合には、前記保守ラインを介して相手のサブ回路基板に異常を通知することができる。
【００１９】
一つの実施態様では、前記記憶制御システムは、前記第一のサブ回路基板が搭載される第一の基板搭載パートと、前記第二のサブ回路基板が搭載される第二の基板搭載パートとを備えてもよい。前記第一の基板搭載パートと前記第二の基板搭載パートとが別々の場所に存在してもよい。
【００２０】
本発明の第二の側面に従う情報処理装置は、第一のサブ回路基板と、前記第一のサブ回路基板とは物理的に別々の回路基板である第二のサブ回路基板と、電子的な情報を記憶することができる記憶域とを備える。前記第一のサブ回路基板と前記第二のサブ回路基板とが通信可能に接続されることにより、所定の情報処理を実行するための回路基板が構成される。前記第一のサブ回路基板及び前記第二のサブ回路基板の各々が、複数の回路部品を備えることができる。前記第一のサブ回路基板及び前記第二のサブ回路基板の少なくとも一方において、前記複数の回路部品のうちの少なくとも一つが着脱可能に搭載されている。前記記憶域が、前記第一のサブ回路基板及び前記第二のサブ回路基板のうち、回路部品を着脱可能に搭載することのできるサブ回路基板に搭載されるべき二以上の回路部品を表す構成情報を記憶することができる。前記第一のサブ回路基板及び前記第二のサブ回路基板のうちの少なくとも一方が、起動の際、回路部品を着脱可能に搭載することのできるサブ回路基板に搭載されている回路部品を検出する検出処理を実行し、前記検出の結果と、前記記憶域に記憶されている前記構成情報とを比較する比較処理を実行し、前記比較の結果に基づいて、前記第一のサブ回路基板及び前記第二のサブ回路基板により構成される回路基板の稼動の許否を決定する。この情報処理装置は、記憶制御システムであっても良いし、パーソナルコンピュータ等のコンピュータマシンであってもよい。
【発明の効果】
【００２１】
本発明に従う記憶制御システムによれば、ファイルアクセス要求を処理することができるインターフェース制御回路基板を含む種々の制御回路基板を同一の位置に搭載することができる記憶制御システムに比べて能力の無駄を少なくすることができる。
【発明を実施するための最良の形態】
【００２２】
以下、図面を参照して、本発明の幾つかの実施例について説明する。
【実施例１】
【００２３】
図１Ａは、本発明の第一実施例に係る記憶制御システムの外観の概略を示す。
【００２４】
記憶制御システム１は、例えば一つの筐体１０に構築することができる。なお、筐体１０内の構成を分かり易く示すため、筐体１０は想像線（図１Ａでは点線）で示している。
【００２５】
筐体１０内には、例えば、多段（図示の例では三段）になった複数のパートが存在する。具体的には、例えば、上位パート２、中位パート４及び下位パート９が存在する。
【００２６】
上位パート２には、記憶制御システム１の高さ方向に配列された複数のＣＨＮ−ＮＡＳ部３が存在する。ＣＨＮ−ＮＡＳ部３は、一種の回路基板である。各ＣＨＮ−ＮＡＳ部３は、横にされた状態（換言すれば寝かされた状態）で搭載される。ＣＨＮ−ＮＡＳ部３については後に説明する。
【００２７】
中位パート４の正面側には、記憶制御システム１の幅方向に配列された複数枚のインターフェース制御基板が存在する。各インターフェース制御基板は、上記ＣＨＮ−ＮＡＳ部３以外の基板、例えば、ＣＨＮ−ＩＯ部５又はＣＨＡ７である。ＣＨＮ−ＩＯ部５もＣＨＡ７も、一種の回路基板である。各ＣＨＮ−ＩＯ部５又はＣＨＡ７は、縦にされた状態（換言すれば立たされた状態）で搭載される。ＣＨＮ−ＩＯ部５及びＣＨＡ７については後に説明する。
【００２８】
中位パート４の背面側には、図示しないが、記憶制御システム１の幅方向に配列された複数の記憶デバイスが存在する。各記憶デバイスは、ハードディスクドライブであるが、ハードディスクドライブに限らず、光ディスクドライブ（例えばＤＶＤドライブ）や、磁気テープドライブ等、任意の記憶デバイスであってもよい。
【００２９】
下位パート６には、電源ユニットやファンユニット等を含んだ電源部９が存在する。この電源部９からの給電により、上述した各種基板３，５及び７が駆動することができるようになっている。
【００３０】
図１Ｂは、第一実施例に係る記憶制御システム１を備えるコンピュータシステムの構成例を示すブロック図である。
【００３１】
記憶制御システム１は、ホスト装置１１が接続された第一の通信ネットワーク４９と、ホスト装置２１が接続された第二の通信ネットワーク５１とに接続されている。第一の通信ネットワーク４９は、ファイルレベルのデータがやり取りされる通信ネットワーク（例えばＬＡＮ（Local Area Network））であり、第二の通信ネットワーク５１は、ブロックレベルのデータがやり取りされる通信ネットワーク（例えばＳＡＮ（Storage Area Network））である。
【００３２】
ホスト装置１１、２１は、例えば、ＣＰＵ（Central Processing Unit）やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えば、パーソナルコンピュータ、ワークステーション、メインフレーム等として構成することができる。ホスト装置１１，２１は、例えば、記憶制御システム１を利用するためのアプリケーションプログラム（以下、ＡＰ）１３，２３や、通信ポート１５，２５や、Windows（登録商標）又はＵＮＩＸ（登録商標）等のＯＳ（オペレーティングシステム）を備えることができる。ファイルアクセス要求を発行するホスト装置１１に備えられるＡＰ１３としては、例えば、ＯＳがＵＮＩＸ（登録商標）の場合、ＮＦＳ（Network File System）であり、ＯＳがＷｉｎｄｏｗｓ（登録商標）の場合、ＣＩＦＳ（Common Interface File System）である。
【００３３】
記憶制御システム１は、例えば、複数の記憶デバイス４５を備えるＲＡＩＤシステムとすることができる。記憶制御システム１は、一又は複数のＣＨＡ（チャネルアダプタ）７と、一又は複数のＣＨＮ（ネットワークチャネルアダプタ）８と、複数のＤＫＡ（ディスクアダプタ）３５と、キャッシュメモリ４１と、共有メモリ３９と、接続部３３と、複数の記憶デバイス４５から成る記憶部４３と、コントロールユニット３１とを備えている。
【００３４】
ＣＨＡ７は、記憶デバイス４５に対するデータ入出力（書込み及び読み出しといったアクセス）のための処理を行うプロセッサ（以下、ＩＯプロセッサ）を備えたインターフェース制御基板である。ＣＨＡ７は、ホスト装置２１から第二の通信ネットワーク５１を介してブロックアクセス要求（すなわち、ブロックレベルのアクセス要求）を受け、ＩＯプロセッサがそのブロックアクセス要求を受けてＤＫＡ３５に発行することにより、記憶デバイス４５にアクセスすることができる。ＣＨＡ７とホスト装置２１との間の通信プロトコルは、ファイバチャネルなど種々のプロトコルを採用することができる。
【００３５】
ＣＨＮ８は、一種のインターフェース制御装置であり、ファイルアクセス要求（すなわち、ファイルレベルのアクセス要求）を受けてブロックアクセス要求に変換する第一の機能と、そのブロックアクセス要求を受けてＤＫＡ３５に発行する第二の機能とを有する。ＣＨＮ８は、第一の機能を有する回路基板３と、上記第二の機能を有する回路基板５とのように、複数の回路基板によって構成されている。以下、回路基板３を、上記の機能の観点から、便宜上、「ＣＨＮ−ＮＡＳ部３」と呼び、回路基板５を、「ＣＨＮ−ＩＯ部５」と呼ぶ。ＣＨＮ−ＮＡＳ部３及びＣＨＮ−ＩＯ部５については後に詳細に説明する。
【００３６】
各ＤＫＡ３５は、記憶デバイス４５との間のデータ授受を行うものである。各ＤＫＡ３５は、各ＤＫＡ３５は、ＣＰＵやメモリ等を備えた一種のインターフェース制御基板として構成されている。各ＤＫＡ３５は、ＣＨＮ−ＩＯ部５又はＣＨＡ７から発行されたアクセス要求に従って記憶デバイス４５に対してデータの読み書きを行う。
【００３７】
キャッシュメモリ４１は、例えば揮発性又は不揮発性のメモリであり、ホスト装置１１又は２１から受信されたデータや、記憶デバイス４５から読出されたデータを一時的に記憶することができる。
【００３８】
共有メモリ３９は、例えば不揮発性のメモリであり、ホスト装置１１，２１との間でやり取りされるデータに関する制御情報（例えば、キャッシュメモリ４１上に確保されたどのキャッシュ領域にどのデータが格納されるべきかを示す情報）等が格納される。なお、図示の例では、キャッシュメモリ４１と共有メモリ３９とは、物理的に分離しているが、一つのメモリであっても良い。その場合、そのメモリ上のメモリ空間が、論理的に、キャッシュメモリ用の空間と共有メモリ用の空間とに分けられても良い。
【００３９】
接続部３３は、ＣＨＮ−ＩＯ部５、ＤＫＡ３５、キャッシュメモリ４１及び共有メモリ１２０を相互に接続させる。接続部３３は、例えば、高速スイッチング動作によってデータ伝送を行う超高速クロスバスイッチ等のような高速バスとして構成することができる。また、接続部３３は、コントロールユニット３１が、ＣＨＮ−ＩＯ部５、ＣＨＡ７、ＤＫＡ３５又は共有メモリ３９にアクセスするための通信ネットワーク（例えばＬＡＮ）を含んでいても良い。
【００４０】
コントロールユニット３１は、ＣＨＮ−ＩＯ部５、ＣＨＡ７、ＤＫＡ３５又は共有メモリ３９にアクセスすることができる装置である。具体的には、例えば、コントロールユニット３１は、保守用の端末であり、管理者が操作する入力装置（例えばキーボードやマウス）や、管理者による操作に従う処理を実行する制御装置（例えばＣＰＵ等が搭載されたマザーボード）や、共有メモリ３９等に設定されている情報が表示される表示装置（例えばディスプレイ画面）を備えることができる。コントロールユニット３１は、記憶制御システム１に搭載されていても良いし、ＬＡＮ等の通信ネットワークを介して遠隔に備えられてもよい。また、コントロールユニット３１の機能が、ホスト装置１１、２１に搭載され、ホスト装置１１、２１が、コントロールユニット３１として、記憶制御システム１をコントロールしても良い。
【００４１】
このような記憶制御システム１では、以下のような流れで、記憶デバイス３５に対するデータの入出力を行うことができる。
【００４２】
例えば、データの読出しのためのファイルアクセス要求がホスト装置１１から発行された場合、ＣＨＮ−ＮＡＳ部３が、そのファイルアクセス要求を受信する。ＣＨＮ−ＮＡＳ部３は、受信したファイルアクセス要求をブロックアクセス要求に変換し、そのブロックアクセス要求をＣＨＮ−ＩＯ部５に送信することができる。ＣＨＮ−ＩＯ部５は、ブロックアクセス要求を受信し、受信したブロックアクセス要求をＤＫＡ３５に送信することができる。ＤＫＡ３５は、ブロックアクセス要求を受信し、その要求に従って、記憶デバイス３５からデータを読み出し、読み出したデータをキャッシュメモリ４１に書き込むことができる。ＣＨＮ−ＩＯ部５は、キャッシュメモリ４１に書き込まれたデータを読み出し、読み出したデータをＣＨＮ−ＮＡＳ部３に送信することができる。ＣＨＮ−ＮＡＳ部３は、ＣＨＮ−ＩＯ部５からデータを受信し、受信したデータをホスト装置１１に送信することができる。
【００４３】
また、例えば、データの書込みのためのファイルアクセス要求がホスト装置１１から発行された場合、ＣＨＮ−ＮＡＳ部３が、そのファイルアクセス要求及びデータを受信することができる。ＣＨＮ−ＮＡＳ部３は、受信したファイルアクセス要求をブロックアクセス要求に変換し、そのブロックアクセス要求及び上記受信したデータをＣＨＮ−ＩＯ部５に送信することができる。ＣＨＮ−ＩＯ部５は、ブロックアクセス要求及びデータを受信し、受信したブロックアクセス要求をＤＫＡ３５に送信し、且つ、受信したデータをキャッシュメモリ４１に書き込むことができる。ＤＫＡ３５は、ブロックアクセス要求を受信し、その要求に従って、キャッシュメモリ４１からデータを読み出し、読み出したデータを記憶デバイス４５に書き込むことができる。
【００４４】
以上が、記憶制御システム１についての概要である。次に、ＣＨＮ−ＮＡＳ部３及びＣＨＮ−ＩＯ部５について詳細に説明する。
【００４５】
図２Ａは、ＣＨＮ−ＮＡＳ部３の構成例を示すブロック図である。
【００４６】
ＣＨＮ−ＮＡＳ部３は、プリント配線された回路であり、複数の所定の位置の各々に、所定種類の回路部品（ハードウェア資源）が着脱可能に或いは不可能に搭載される。すなわち、ＣＨＮ−ＮＡＳ部３は、着脱可能な二以上の回路部品のうちのどれを搭載してどれを搭載しないかを選択することにより設計の自由度があるものとなっている。例えば、ＣＨＮ−ＮＡＳ部３に求める能力に応じて、不要な回路部品を搭載しないことで、能力の無駄やコスト高を抑えることができる。
【００４７】
ＣＨＮ−ＮＡＳ部３に搭載することができる複数の回路部品として、例えば、第一のポート６１Ａ、第二のポート６１Ｂ、第一のＬＡＮコントローラ（以下、ＬＡＮコントローラを「ＬＡＮＣ」と略記）６３Ａ、第二のＬＡＮＣ６３Ｂ、ブリッジＬＳＩ６５、メモリコントローラ６７、第一のＮＡＳメモリ６９Ａ、第二のＮＡＳメモリ６９Ｂ、第一のＮＡＳプロセッサ７７Ａ、第二のＮＡＳプロセッサ７７Ｂ及びＩＯ部接続ポート７９がある。これら複数の回路部品のうち、着脱可能な二以上の回路部品は、図２Ａに点線で例示した回路部品、すなわち、第二のポート６１Ｂ、第二のＬＡＮＣ６３Ｂ、第二のＮＡＳメモリ６９Ｂ及び第二のＮＡＳプロセッサ７７Ｂである。その他の回路部品６１Ａ、６３Ａ、６５、６７、６９Ａ、７７Ａ及び７９は、例えば半田付けにより、基板１２に着脱不可能に搭載されている。
【００４８】
ポート６１Ａ及び６１Ｂの各々は、第一の通信ネットワーク４９に接続される。
【００４９】
ＬＡＮＣ６３Ａ及び６３Ｂの各々は、メモリコントローラ６７及びブリッジＬＳＩ６５を介してＮＡＳプロセッサ７７Ａ、７７Ｂから受けた指示に従って、自分に対応するポート６１Ａ又は６１Ｂの制御を行うことができる。ＬＡＮＣ６３Ａ及び６３Ｂの代わりに、第一の通信ネットワーク４９の種類に応じた他種のインターフェース装置が搭載されてもよい。
【００５０】
ブリッジＬＳＩ６５は、例えば、ＬＡＮＣ６３Ａ及び６３Ｂとメモリコントローラ６７との相互の通信を可能とするためのＬＳＩ（Large-Scale Integrated circuit）である。
【００５１】
メモリコントローラ６７は、ＮＡＳプロセッサ７７Ａ及び７７Ｂとの間の通信を制御するためのＬＳＩである。メモリコントローラ６７は、ＮＡＳプロセッサ７７Ａ及び７７Ｂ、ＮＡＳメモリ６９Ａ及び６９Ｂ、及びブリッジＬＳＩ６５に接続される。
【００５２】
ＮＡＳメモリ６９Ａ及び６９Ｂの各々は、例えば不揮発性メモリであり、ＮＡＳプロセッサ７７Ａ及び／又は７７Ｂの制御を司るプログラムや、キャッシュメモリ４１とホスト装置１１との間でやり取りされるデータ等を記憶することができる。具体的には、例えば、ＮＡＳメモリ６９Ａ及び６９Ｂの各々は、ファイルシステムプログラム（図示せず）、ネットワーク制御プログラム（図示せず）、構成検出プログラム７１、後処理プログラム７３及び構成検出結果情報７５を記憶することができる。ファイルシステムプログラムは、例えば、ＮＡＳプロセッサ７７Ａ、７７Ｂに読み込まれて実行されることにより、ファイルアクセス要求に含まれているファイル名と、そのファイル名を有するファイルが格納されている場所のアドレス情報（例えばＬＵＮ及び先頭論理ブロックアドレス）との対応づけを管理し、その対応付けに基づいて、ファイルアクセス要求をブロックアクセス要求に変換し、変換後のブロックアクセス要求を出力することができる（なお、出力されたブロックアクセス要求は、メモリコントローラ６７及びＩＯ部接続ポート７９を介してＣＨＮ−ＩＯ部５に入力される）。ネットワーク制御プログラムは、例えば、ＮＦＳとＳａｍｂａの２つのファイルシステムプロトコルを含んで構成される。ＮＦＳは、ＮＦＳが動作するＵＮＩＸ（登録商標）オペレーティングシステムを搭載したホスト装置からのファイルアクセス要求を受け付ける。一方、Ｓａｍｂａは、ＣＩＦＳSystem）が動作するＷｉｎｄｏｗｓ（登録商標）オペレーティングシステムを搭載したホスト端末らのファイルＩＯコマンドを受け付ける。構成検出プログラム７１、後処理プログラム７３及び構成検出結果情報７５については後に説明する。
【００５３】
ＮＡＳプロセッサ７７Ａ及び７７Ｂの各々は、例えばＣＰＵ（例えば６４ビットＣＰＵ）である。ＮＡＳプロセッサ７７Ａ及び／又は７７Ｂは、例えば、後述のＩＯプロセッサ８５よりも高性能（例えば、演算処理速度が速い、動作クロック周波数が高い）である。ＮＡＳプロセッサ７７Ａ及び７７Ｂの各々は、メモリコントローラ６７に接続される。
【００５４】
ＩＯ部接続ポート７９は、ＣＨＮ−ＩＯ部５の後述のＮＡＳ部接続ポート８１に通信可能に接続される（例えばケーブル等を介して接続される）。
【００５５】
図２Ｂは、ＣＨＮ−ＩＯ部５の構成例を示すブロック図である。
【００５６】
ＣＨＮ−ＩＯ部５は、プリント配線された回路基板であり、複数の所定の位置の各々に、所定種類の回路部品（ハードウェア資源）が着脱不可能に搭載される。搭載される回路部品として、ＮＡＳ部接続ポート８１、データ転送ＬＳＩ８３、ＩＯプロセッサ８５、ＩＯメモリ８７及びコネクタ９３がある。
【００５７】
データ転送ＬＳＩ８３は、ＮＡＳ部接続ポート８１、ＩＯプロセッサ８５及びコネクタ９３に接続され、それらの間のデータ転送の制御を行うことができる。
【００５８】
ＩＯメモリ８７は、例えば不揮発性メモリであり、ＩＯプロセッサ５０４の制御を司るコンピュータプログラム等を記憶することができる。具体的には、例えば、ＩＯメモリ８７は、構成テーブル８９及び判定プログラム９１を記憶することができる。構成テーブル８９及び判定プログラム９１については後述する。
【００５９】
ＩＯプロセッサ８５は、例えばＣＰＵ（例えば３２ビットＣＰＵ）である。ＩＯプロセッサ８５は、例えば、ＩＯメモリ８７から読み出した一又は複数のコンピュータプログラムを実行することにより、接続部３３との間のデータの授受や、ＮＡＳプロセッサ７７Ａ、７７Ｂと接続部３３との間のデータ通信の中継や、その他の種々の処理を実行することができる。
【００６０】
コネクタ９３は、接続部３３に接続される。それにより、ＩＯプロセッサ８５が、コネクタ９３及びデータ転送ＬＳＩ８３を介して、接続部３３と通信可能になり、故に、接続部３３を介して、キャッシュメモリ４１、共有メモリ３９及びＤＫＡ３５と通信可能になる。
【００６１】
以下、本実施例で行われる処理の流れの一例を説明する。
【００６２】
例えば、どのＣＨＮ−ＮＡＳ部３とどのＣＨＮ−ＩＯ部５が対応するかを表す情報（以下、対応付け情報）が、記憶制御システム１における或る記憶域に設定される。この対応付け情報２６１、例えば、コントロールユニット３１から接続部３３を介して共有メモリ３９に書き込むことができる。
【００６３】
図３Ａは、対応付け情報の構成例を示す。
【００６４】
対応付け情報２６１では、例えば、ＣＨＮ−ＮＡＳ部３のＩＤ（例えば、搭載位置を表す番号）と、ＣＨＮ−ＩＯ部５のＩＤ（例えば、搭載位置を表す番号）とが対応付けられる。その対応付けは、実際に、どのＣＨＮ−ＮＡＳ部３にどのＣＨＮ−ＩＯ部５が通信可能に接続されたかに従って行われる。図示の例では、ＩＤ「１」のＣＨＮ−ＮＡＳ部３と、ＩＤ「１」のＣＨＮ−ＩＯ部５とが通信可能に接続されていることを示す。
【００６５】
なお、ＣＨＮ−ＮＡＳ部３とＣＨＮ−ＩＯ部５とは、必ずしも一対一で接続されなくても良い。例えば、ＣＨＮ−ＮＡＳ部３及びＣＨＮ−ＮＡＳ部５の各々に接続ポート７９、８１を複数個備える、或いは、ＣＨＮ−ＮＡＳ部３とＣＨＮ−ＮＡＳ部５との間にスイッチを介在させる等の方法により、ＣＨＮ−ＮＡＳ部３とＣＨＮ−ＩＯ部５とが、図示のように、一対複数、複数対一、又は複数対複数で接続されても良い。
【００６６】
コントロールユニット３１は、この対応付け情報２６１に基づいて、どのＣＨＮ−ＮＡＳ部３にどのＣＨＮ−ＩＯ部５が通信可能に接続されているかをディスプレイ装置に表示することができる。
【００６７】
図３Ｂは、コントロールユニット３１が行う対応付け表示処理の流れの一例を示す。
【００６８】
コントロールユニット３１は、共有メモリ３９にアクセスし、共有メモリ３９から対応付け情報２６１を抽出する（ステップＳ１３１）。コントロールユニット３１は、オペレータ（例えばシステム管理者）から、基板種別と基板ＩＤとの指定を受ける（Ｓ１３２）。コントロールユニット３１は、指定された基板種別及び基板ＩＤに対応する基板を、抽出された対応付け情報２６１から特定し、特定された基板を表示する。
【００６９】
この処理流れにいて、例えば、図３Ｃに例示するように、コントロールユニット３１は、記憶制御システム１の模式図を表示したＧＵＩ（グラフィカルインターフェース）を表示し、そのＧＵＩ上で、基板種別「ＮＡＳ部」で基板ＩＤ「１」の基板が指定された場合、それに対応する基板種別及び基板ＩＤを対応付け情報２６１から特定し、特定された基板種別及び基板ＩＤを有する基板（具体的には、基板種別「ＩＯ部」で基板ＩＤ「０１」の基板）を、図３Ｃに例示するように表示することができる。同様に、例えば、上記のようなＧＵＩ上で、基板種別「ＩＯ部」で基板ＩＤ「０４」の基板が指定された場合、コントロールユニット３１は、それに対応する基板種別及び基板ＩＤを対応付け情報２６１から特定し、特定された基板種別及び基板ＩＤを有する基板（具体的には、基板種別「ＮＡＳ部」で基板ＩＤ「３」及び「４」の２枚の基板）を、図３Ｄに例示するように表示することができる。
【００７０】
以上のような処理により、コントロールユニット３１のオペレータにとって、どのＣＨＮ−ＮＡＳ部３とどのＣＨＮ−ＩＯ部５とが通信可能に接続されているかの特定が容易になる。
【００７１】
上記のようにしてＣＨＮ−ＮＡＳ部３とＣＨＮ−ＩＯ部５との対応付けが登録された後（それよりも先であっても良い）、構成テーブル８９の設定が行われる。構成テーブル８９は、例えば、コントロールユニット３１から接続部３３を介して各ＣＨＮ−ＩＯ部５のＩＯメモリ８７に書き込まれる。
【００７２】
図４Ａは、構成テーブル８９の構成例を示す。
【００７３】
或るＣＨＮ−ＩＯ部５のＩＯメモリ８７に書き込まれる構成テーブル８９には、そのＣＨＮ−ＩＯ部５と通信可能のＣＨＮ−ＮＡＳ部（以下、「対応ＮＡＳ部」と称する）３に搭載されているハードウェア構成（例えば、どんな回路部品があるか）が登録される。具体的には、例えば、構成テーブル８９には、対応ＮＡＳ部３において着脱可能な回路部品毎に、部品名、部品情報及び設定有無が登録される。各回路部品の部品情報に含まれる部品情報要素としては、例えば、搭載されている個数、場所、部品種別（例えば、ポートであれば、メタルケーブル用、光ケーブル用など）、及びサポート部品データである。サポート部品データは、図４Ａでは、例えば、「NASP A」、「Slot A」、「Port A」、「LANC A」等が相当する。サポート部品データは、例えば、サポートされている部品に関するデータであり、具体例としては、部品のベンダ名、メーカ名、型番及びハードウェアＩＤのうちの少なくとも一つを含んだデータとすることができる。設定有無としては、例えば、設定される場合には、設定有りとして「１」が登録され、設定されない場合には、設定無しとして「０」が登録される。
【００７４】
以上が、構成テーブル８９の構成例についての説明である。なお、ＣＨＮ−ＮＡＳ部３とＣＨＮ−ＩＯ部５とが、複数対一或いは複数対複数で接続されている場合には、構成テーブル８９は、各対応ＮＡＳ部３別に用意されても良い。
【００７５】
ＣＨＮ−ＮＡＳ部３とＣＨＮ−ＩＯ部５との対応付けや、構成テーブル８９の設定が行われた後、例えば、記憶制御システム１の電源が投入されることにより、ＣＨＮ−ＮＡＳ部３及びＣＨＮ−ＩＯ部５に同時に又は別々のタイミングで電源が投入されたとする。ＣＨＮ−ＮＡＳ部３及びＣＨＮ−ＩＯ部５の各々は、自分の電源が投入されると、起動することができる。その起動の際、例えば、ＣＨＮ−ＮＡＳ部３のＮＡＳプロセッサ７７Ａ（及び／又は７７Ｂ）は、構成検出プログラム７１を第一のＮＡＳメモリ６９Ａ（又は第二のＮＡＳメモリ６９Ｂ）から読み込んで実行することができる。
【００７６】
図４Ｂは、ＮＡＳプロセッサ７７Ａがそれの起動時に構成検出プログラム７１を読み込んで実行することにより行われる処理の流れの一例を示す。
【００７７】
ＮＡＳプロセッサ７７Ａが、構成検出結果情報７５が記憶される第一のＮＡＳメモリ６９Ａに（例えば、少なくとも構成検出結果情報７５が記憶される領域に）、排他制御のためのロックをかける（Ｓ１）。
【００７８】
次に、ＮＡＳプロセッサ７７Ａは、自分を搭載しているＣＨＮ−ＮＡＳ部３のハードウェア構成の検出を行う（Ｓ２）。具体的には、例えば、ＮＡＳプロセッサ７７Ａは、ＣＨＮ−ＮＡＳ部３上の複数の所定位置の各々に順次にアクセスすることにより、その所定位置に存在し得る回路部品からその回路部品に関する所定の部品情報要素を取得することができる。ＮＡＳプロセッサ７７Ａは、アクセス先の所定位置に正常な回路部品が搭載されていれば、アクセス先の位置にある回路部品から所定の部品情報要素（少なくともサポート部品データ）を取得することができるが、その所定位置に故障のある回路部品が搭載されていたり、或いは、回路部品が搭載されていなかったりすれば、アクセス先から部品情報要素を取得することはできない。
【００７９】
ＮＡＳプロセッサ７７Ａは、Ｓ１による検出結果に基づいて、第一のＮＡＳメモリ６９Ａ上に構成検出結果情報７５を完成させる（Ｓ３）。
【００８０】
構成結果情報７５を完成させた後、ＮＡＳプロセッサ７７Ａは、第一のＮＡＳメモリ６９Ａのロックを解除する（Ｓ４）。
【００８１】
図５Ａは、構成検出結果情報７５の構成例を示す。
【００８２】
構成検出結果情報７５は、例えば、ＮＡＳプロセッサ７７Ａによって取得された一以上の部品情報要素の集合によって構成される。図５Ａに例示する構成検出結果情報７５には、第二のＮＡＳプロセッサ７７Ｂ及び第二のＬＡＮＣ６３Ｂの部品情報要素が含まれていない。それは、ＮＡＳプロセッサ７７Ａが、第二のＮＡＳプロセッサ７Ｂ及び第二のＬＡＮＣ６３Ｂが搭載される２つの位置以外からは部品情報要素（例えばサポート部品データ）を取得できたが、それら２つの位置からは部品情報要素を取得することができなかったため（換言すれば、第二のＮＡＳプロセッサ７７Ｂ及び第二のＬＡＮＣ６３Ｂだけを検出できなかったため）である。
【００８３】
以上が、構成検出結果情報７５の構成例についての説明である。
【００８４】
さて、ＣＨＮ−ＩＯ部５も、ＣＨＮ−ＮＡＳ部３と同様に、自分の電源が投入されると、起動することができる。その起動の際、例えば、ＣＨＮ−ＩＯ部５のＩＯプロセッサ８５は、判定プログラム９１をＩＯメモリ８７から読み込んで実行することができる。
【００８５】
図５Ｂは、ＩＯプロセッサ８５がそれの起動時に判定プログラム９１を読み込んで実行することにより行われる処理の流れの一例を示す。
【００８６】
ＩＯプロセッサ８５は、起動を開始してから少なくとも上記のロックに要する所定時間を経過した後に、対応ＮＡＳ部３内の第一のＮＡＳメモリ６９Ａにアクセスする（Ｓ１１）。その結果、ロック中であれば（Ｓ１２でＹＥＳ）、ＩＯプロセッサ８５は、アクセスのリトライを行い（Ｓ１３）、ロックが解除されるまでそれを繰り返す。
【００８７】
Ｓ１１又はＳ１３の結果、ロックが解除されている場合（Ｓ１２でＮＯ）、ＩＯプロセッサ８５は、第一のＮＡＳメモリ６９Ａから構成検出結果情報７５を抽出し（Ｓ１４）、ＩＯメモリ８７内の構成テーブル８９と、抽出された構成検出結果情報７５とを比較する（Ｓ１５）。Ｓ１５では、例えば、ＩＯプロセッサ８５は、構成テーブル８９における各部品情報要素及び設定有無と、構成検出結果情報７５における各部品情報要素とを比較する。
【００８８】
Ｓ１５の結果、構成テーブル８９において設定有りの各部品情報要素に対応する部品情報要素が構成検出結果情報７５内に存在し、構成テーブル８９において設定無しの各部品情報要素に対応する部品情報要素が構成検出結果情報７５内に存在しておらず、且つ、構成テーブル８９において設定有りの各部品情報要素と構成検出結果情報７５における各部品情報要素とが全て一致した場合には（Ｓ１６でＹＥＳ）、ＩＯプロセッサ８５は、第一のＮＡＳプロセッサＡ（及び／又は第二のＮＡＳプロセッサ７７Ｂ）に対し、判定結果として「ＯＫ」を返す（Ｓ１７）。
【００８９】
一方、Ｓ１５の結果、構成テーブル８９において設定有りの部品情報要素に対応する部品情報要素が構成検出結果情報７５内に存在しない、構成テーブル８９において設定無しの部品情報要素に対応する部品情報要素が構成検出結果情報７５内に存在する、又は、設定有りの部品情報要素とそれに対応する構成検出結果情報７５内の部品情報要素同士が一致しない場合には、ＩＯプロセッサ８５は、第一のＮＡＳプロセッサＡ（及び／又は第二のＮＡＳプロセッサ７７Ｂ）に対し、判定結果として「ＮＧ」を返す（Ｓ１８）。
【００９０】
ＮＡＳプロセッサ７７Ａは、判定結果をＩＯプロセッサ８５から受信したときに、例えば予め読み込んだ後処理プログラム７３を実行することにより、以下の処理を行うことができる。
【００９１】
図６Ａは、ＮＡＳプロセッサ７７Ａが後処理プログラム７３を実行することにより行われる処理の流れの一例を示す。
【００９２】
ＮＡＳプロセッサ７７Ａは、受信した判定結果を解析し（Ｓ２１）、判定結果が「ＯＫ」であれば（Ｓ２２でＹＥＳ）、通常処理を実行する（Ｓ２３）。ここで言う「通常処理」とは、例えば、ＮＡＳプロセッサ７７Ａが、ＣＨＮ−ＮＡＳ部３の起動が完了した旨を所定の装置（例えばホスト装置１１）に報告する処理などである。
【００９３】
一方、Ｓ２１の結果、判定結果が「ＮＧ」であれば、ＮＡＳプロセッサ７７Ａは、自分を搭載しているＣＨＮ−ＮＡＳ部３を閉塞するためのシャットダウン処理を実行する（Ｓ２４）。
【００９４】
以上が、ＣＨＮ−ＮＡＳ部３及びＣＨＮ−ＩＯ部５の起動の際に行われる処理流れの一例である。
【００９５】
なお、この処理流れにおいて、構成テーブル８９と構成検出結果情報７５との比較が行われた後、ＩＯプロセッサ８５又はコントロールユニット３１は、判定結果の詳細を、コントロールユニット３１のディスプレイ画面に表示させることができる。
【００９６】
図６Ｂは、判定結果の詳細の表示の一例を示す。この図６Ｂは、図４Ａに例示した構成テーブル８９と図５Ａに例示した構成検出結果情報７５との比較が行われた場合の表示の一例である。
【００９７】
この例によれば、判定結果の詳細として、構成テーブル８９に登録されている各回路部品毎に、部品名、部品情報、設定有無、実装有無及びサブ判定結果が表示される。
【００９８】
ここでの部品名、部品情報及び設定有無は、構成テーブル８９に登録されている情報とすることができる。
【００９９】
実装有無は、ＮＡＳプロセッサ７７Ａによって回路部品の検出ができたか否か、換言すれば、構成検出結果情報７５中にその回路部品の部品情報要素が含まれているか否かである。回路部品の検出ができた場合には、「有」とされ、できなかった場合には、「無」とされる。
【０１００】
サブ判定結果は、回路部品毎の判定結果である。サブ判定結果は、構成テーブル８９における部品情報要素及び設定有無と、構成検出結果情報７５とに基づいて、ＯＫかＮＧかが決められる。例えば、設定有無「有」の場合、部品情報要素が構成検出結果情報７５に含まれており、且つ、部品情報要素同士が一致すれば、ＩＯプロセッサ８５又はコントロールユニット３１は、ＯＫというサブ判定結果とするが、部品情報要素同士が一致しない、或いは部品情報要素が構成検出結果情報７５に含まれていなければ、ＮＧというサブ判定結果とする。また、例えば、設定有無「無」の場合、部品情報要素が構成検出結果情報７５に含まれていなければ、ＩＯプロセッサ８５又はコントロールユニット３１は、ＯＫというサブ判定結果とするが、設定有無「無」にも関わらずそれに対応する部品情報要素が構成検出結果情報７５に含まれていれば、ＮＧというサブ判定結果とする。この第一実施例では、ＩＯプロセッサ８５は、一つでもＮＧというサブ判定結果が得られた場合には、全体としての判定結果をＮＧとして、判定結果「ＮＧ」を、ＮＡＳプロセッサ７７Ａに返す。
【０１０１】
さて、この第一実施例では、起動後、ＣＨＮ８の稼動中（すなわち、ＣＨＮ−ＮＡＳ部３及びＣＨＮ−ＩＯ部５の稼動中）に、構成検出結果情報７５の更新が行われる。
【０１０２】
図７Ａは、ＣＨＮ８の稼動中に構成検出結果情報７５の更新が行われる際の処理流れの一例と、その更新が行われた後に行われる処理流れの一例とを示す。
【０１０３】
例えば、ＣＨＮ−ＮＡＳ部３における或る回路部品に異常が発生すると、割り込み信号が、第一のＮＡＳプロセッサ７７Ａ（及び／又は第二のＮＡＳプロセッサ７７Ｂ）に入力される。第一のＮＡＳプロセッサ７７Ａは、割り込み信号の入力に応答して、第一のＮＡＳメモリ６９Ａにおける構成検出結果情報７５を更新する（Ｓ３２）。具体的には、例えば、第一のＮＡＳプロセッサ７７Ａは、割り込み信号の入力元となった回路部品の部品情報要素を構成検出結果情報７５から削除する。このＳ３２の処理は、例えば、構成検出プログラム７１を実行することにより行われても良い。
【０１０４】
ＩＯプロセッサ８５は、構成検出結果情報７５が更新されたことを検出する（Ｓ３３）。具体的には、例えば、ＩＯプロセッサ８５は、構成検出結果情報７５を定期的に参照する、或いは、構成検出結果情報７５を更新したＮＡＳプロセッサ７７Ａから更新した旨の通知を受けることにより、構成検出結果情報７５が更新されたことを検出することができる。
【０１０５】
ＩＯプロセッサ８５は、構成テーブル８９と更新後の構成検出結果情報７５とを比較することにより、異常の発生した回路部品（以下、異常部品）を特定する（Ｓ３４）。ここでは、例えば、設定有無「有り」にも関わらず構成検出結果情報７５中から部品情報要素が無くなった回路部品を、異常部品として特定することができる。
【０１０６】
ＩＯプロセッサ８５は、特定された異常部品を表す情報（例えば、異常部品のサポート部品データ）を含んだ判定結果情報を、コントロールユニット３１に通知する（Ｓ３５）。コントロールユニット３１は、判定結果情報を受信し、受信した判定結果情報を表示することができる。これにより、コントロールユニット３１のオペレータは、ＣＨＮ−ＮＡＳ部３のどの回路部品に異常が発生したのかを知ることができる。
【０１０７】
また、ＩＯプロセッサ８５は、図示のように、シャットダウン命令を第一のＮＡＳプロセッサ７７Ａ（及び／又は第二のＮＡＳプロセッサ７７Ｂ）に発行しても良い（Ｓ３６）。この場合、第一のＮＡＳプロセッサ７７Ａは、そのシャットダウン命令に応答して、自分を搭載するＣＨＮ−ＮＡＳ部３を閉塞させるためのシャットダウン処理を実行しても良い（Ｓ３７）。
【０１０８】
ＣＨＮ８の稼動中は、この図７Ａに例示したような処理が行われることがある。なお、Ｓ３３〜Ｓ３５の処理は、例えば、判定プログラム９１が行っても良い。
【０１０９】
この第一実施例によれば、ＣＨＮ８が、ＣＨＮ−ＮＡＳ部３とＣＨＮ−ＩＯ部５とに分離されている。このため、図７Ｂに例示するように、一以上のＣＨＮ−ＮＡＳ部３に対するＮＡＳ用電源系統２２１Ａと、一以上のＣＨＮ−ＩＯ部５に対するＩＯ用電源系統２２１Ｂとのように、電源系統を分けることができる。そして、ＣＨＮ−ＮＡＳ部３よりもＣＨＮ−ＩＯ部５の方が消費電力が小さい。これらのことから、ＩＯ用電源系統２２１Ｂの電源容量をＮＡＳ用電源系統２２１Ａの電源容量よりも少なくすることが可能となり、故に、能力の無駄を抑えることができる。
【０１１０】
また、この第一実施例によれば、ＣＨＮ−ＮＡＳ部３とＣＨＮ−ＩＯ部５とは、物理的に離れた別々のパート２，４に搭載される。このため、図７Ｂに例示するように、一以上のＣＨＮ−ＮＡＳ部３に対するＮＡＳ用冷却系統２２３Ａと、一以上のＣＨＮ−ＩＯ部５に対するＩＯ用冷却系統２２３Ｂとのように、冷却系統を分けることができる。そして、ＣＨＮ−ＮＡＳ部３よりもＣＨＮ−ＩＯ部５の方が、発する熱の温度が低い。これらのことから、ＩＯ用冷却系統２２３Ｂの冷却能力（例えばファン設置台数或いはファン回転速度）をＮＡＳ用冷却系統２２３Ａの冷却能力よりも低くすることが可能となり、故に、能力の無駄を抑えることができる。
【０１１１】
更に、この第一実施例によれば、ＣＨＮ−ＮＡＳ部３は、少なくとも一つの回路部品が着脱可能に搭載されるようになっている。このため、ＣＨＮ−ＮＡＳ部３に対して求められる能力に不要な回路部品は搭載しなければ良いので、コストを抑えることができる。
【０１１２】
また、この第一実施例によれば、ＣＨＮ−ＮＡＳ部３に構築されるべきハードウェア構成を表す構成テーブル８９が予め登録され、ＣＨＮ−ＮＡＳ部３のハードウェア構成の検出が行われ、その検出結果を表す構成検出結果情報７５と構成テーブル８９との比較により、ＣＨＮ−ＮＡＳ部３のハードウェア構成の正否が判定される。これにより、ＣＨＮ−ＮＡＳ部３のハードウェア構成の信頼性の低下を抑えることができる。
【０１１３】
ハードウェア構成の正否は、例えば、ハードウェア構成の検出結果をコントロールユニット３１のディスプレイ画面に表示することにより、オペレータが行っても良いのかもしれない。しかし、ハードウェア構成の検出では、回路部品が搭載されていない場合だけでなく、回路部品が搭載されていたとしてもその回路部品に異常が生じている場合にも、その回路部品が存在しないものとして検出される可能性がある。そういった誤った検出を防ぐ点で、この第一実施例のような方法でＣＨＮ−ＮＡＳ部３のハードウェア構成の正否の判定を行うことは、有効である。
【０１１４】
また、上述の第一実施例によれば、ハードウェア構成の正否の判定の際、サポート部品データ同士の比較を行い、不一致であれば、判定結果がＮＧとなって、ＣＨＮ−ＮＡＳ部３を閉塞させることができる。このため、サポートされてない回路部品が搭載された状態でＣＨＮ−ＮＡＳ部３が稼動してしまうことを未然に防ぐことが可能となる。
【０１１５】
以上が、第一実施例についての説明である。
【０１１６】
なお、上記の説明では、原則として、ハードウェア構成の検出は、着脱不能な第一のＮＡＳプロセッサ７７Ａが行い、また、構成検出結果情報７５の記憶は、着脱不能な第一のＮＡＳメモリ６９Ａが行うことになっているが、必ずしもそれに限られない。すなわち、例えば、第二のＮＡＳプロセッサ７７Ｂが、ＣＨＮ−ＮＡＳ部３に電源が投入されて起動する場合に、第一のＮＡＳプロセッサ７７Ａにアクセスし、何の応答も得られない場合に、ハードウェア構成の検出を行っても良い。
【０１１７】
また、例えば、ＩＯプロセッサ８５に代えて又は加えて、ＮＡＳプロセッサ７７Ａ及び／又は７７Ｂが、構成検出結果情報７５と構成テーブル８９との比較により、ＣＨＮ−ＮＡＳ部３のハードウェア構成の正否の判定を行ってもよい。
【実施例２】
【０１１８】
以下、本発明の第二の実施例を説明する。その際、第一実施例との相違点を主に説明し、第一実施例との共通点については、重複した説明を省くため、説明を省略或いは簡略する。
【０１１９】
図８Ａは、本発明の第二実施例におけるＣＨＮ−ＮＡＳ部の構成例を示す。図８Ｂは、本発明の第二実施例におけるＣＨＮ−ＩＯ部の構成例を示す。
【０１２０】
この第二の実施例では、ＣＨＮ−ＮＡＳ部１０３には、回路部品が着脱可能には搭載されず、ＣＨＮ−ＩＯ部１０５に、回路部品が着脱可能に搭載される。着脱可能な回路部品として、例えば、第二のＩＯプロセッサ８５Ｂと、第二のＩＯメモリ８７Ｂとがあり、それに対して、第一のＩＯプロセッサ８５Ａと第一のＩＯメモリ８７Ａとが着脱不可能に搭載される。
【０１２１】
また、この第二の実施例では、第一実施例において第一のＮＡＳメモリ６９Ａに記憶された構成検出プログラム１７１、後処理プログラム１７３及び構成検出結果情報１７５は、第一のＩＯメモリ８７Ａに記憶される。代わりに、ＮＡＳメモリ６９には、第一実施例においてＩＯメモリ８７に記憶された構成テーブル１８９及び判定プログラム１９１が記憶される。従って、この第二実施例では、ハードウェア構成の検出や（図４Ｂ）、判定結果に応じた処理（図６Ａ）は、第一のＩＯプロセッサ８５Ａ（及び／又は第二のＩＯプロセッサ８５Ｂ）が行い、逆に、ハードウェア構成の正否の判定（図５Ｂ）は、ＮＡＳプロセッサ７７が行う。
【０１２２】
なお、ＣＨＮ−ＮＡＳ部もＣＨＮ−ＩＯ部の両方に、それぞれ、着脱可能に回路部品が搭載されても良い。
【実施例３】
【０１２３】
以下、本発明の第三実施例について説明する。
【０１２４】
この第三実施例では、ハードウェア構成の正否の判定の結果、正しくないと判定された場合であっても、検出されたハードウェア構成の内容と、要求される信頼性レベルとに基づいて、必ずしもシャットダウンが行われない。
【０１２５】
図９Ａは、本発明の第三実施例における判定制御テーブルの構成例を示す。
【０１２６】
判定制御テーブル２０１は、記憶制御システム１内の記憶域、例えば、ＩＯメモリ８７記憶させることができる。判定制御テーブル２０１は、検出されたハードウェア構成がどのようなハードウェア構成条件にマッチし、且つ、要求される信頼性レベルがどのようなレベルの場合に、どのような判定結果を出力するかを制御するためのテーブルである。ハードウェア構成条件としては、例えば、「少なくとも一つのＮＡＳプロセッサと少なくとも一つのＮＡＳメモリ」等のようにすることができる。また、「要求される信頼性レベル」は、例えば、ホスト装置１１毎に予め定められていても良いし、ＣＨＮ−ＮＡＳ部３との通信相手となるホスト装置１１がどのような種類かに応じて自動的に判定されたものであっても良い。
【０１２７】
ＩＯプロセッサ８５は、この判定制御テーブル２０１に基づいて、ＮＡＳプロセッサ７７Ａに通知する判定結果を制御することができる。
【０１２８】
図９Ｂは、本発明の第三実施例において行われる判定制御処理の流れの一例を示す。
【０１２９】
ＩＯプロセッサ８５は、例えば、図５のＳ１６でＮＯの場合、構成検出結果情報７５が表すハードウェア構成にマッチするハードウェア構成条件を判定制御テーブル２０１から特定する（Ｓ１０１）。そして、ＩＯプロセッサ８５は、特定されたハードウェア構成条件に対応する判定結果であって、要求される信頼性レベルに対応した判定結果を、判定制御テーブル２０１から特定する（Ｓ１０２）。Ｓ１０２の結果、判定結果が「ＯＫ」であれば（Ｓ１０３でＹＥＳ）、図５ＢのＳ１７の処理が行われ、判定結果が「ＮＧ」であれば（Ｓ１０３でＮＯ）、図５ＢのＳ１８の処理が行われる。
【０１３０】
この第三実施例によれば、検出されたハードウェア構成の正否の判定において、正しくないと判定されたとしても、検出されたハードウェア構成の内容と要求される信頼性レベルとによっては、ＣＮＮ−ＮＡＳ部３を、シャットダウンさせることなく稼動させることができる。
【実施例４】
【０１３１】
以下、本発明の第四実施例について説明する。
【０１３２】
図１０Ａは、本発明の第四実施例におけるＣＨＮ−ＮＡＳ部３とＣＨＮ−ＩＯ部５との接続構成例を示す。
【０１３３】
ＣＨＮ−ＮＡＳ部３のＩＯ部接続ポート７９と、ＣＨＮ−ＩＯ部５のＮＡＳ部接続ポート８１とが、データが転送されるケーブル（以下、データケーブル）６０１を介して接続される。データケーブル６０１を介して行われる転送は、例えば、シリアル転送であり、具体的には、例えば、PCI-Expuress（Peripheral Component Interconnect Express）の規格に従う転送である。
【０１３４】
また、ＣＨＮ−ＮＡＳ部３とＣＨＮ−ＩＯ部５とは、保守用ケーブル６０３を介して接続される。保守用ケーブル６０３を介した通信は、例えば、データケーブル６０１の異常が検出された場合に行われる。
【０１３５】
図１０Ｂは、本発明の第四実施例においてＮＡＳプロセッサ７７ＡとＩＯプロセッサ８５とにより行われる処理の流れの一例を示す。
【０１３６】
ＮＡＳプロセッサ７７Ａ又はＩＯプロセッサ８５が異常発生を検出した場合（Ｓ１１１）、データケーブル６０１を介して相手のプロセッサとの相互通信を試みる（Ｓ１１２）。
【０１３７】
Ｓ１１２の結果、データケーブル６０１に異常が無ければ（Ｓ１１２でＮＯ）、ＮＡＳプロセッサ７７ＡとＩＯプロセッサ８５とが、データケーブル６０１を介して異常を相互確認することができるが（Ｓ１１３）、データケーブル６０１に異常が有れば（Ｓ１１２でＹＥＳ）、データケーブル６０１を介して異常を相互確認することができないので、保守用ケーブル６０３を介して異常を相互確認するようにする（Ｓ１１４）。
【０１３８】
Ｓ１１３又はＳ１１４の後、ＩＯプロセッサ８５は、コントロールユニット３１に、異常の発生を通知することができる（Ｓ１１５）。
【０１３９】
この第四実施例によれば、データケーブル６０１と保守用ケーブル６０３との両方でＣＨＮ−ＮＡＳ部３とＣＨＮ−ＩＯ部５とを接続することにより、データケーブル６０１で異常があっても保守用ケーブル６０３を介して異常の相互確認を行うことができる。
【実施例５】
【０１４０】
以下、本発明の第五実施例について説明する。
【０１４１】
この第五実施例では、所定の処理段階、例えば、検出されたハードウェア構成の正否の判定の際に、その検出が正しいか否かを二重に確認する処理（以下、検出部品確認処理）が行われる。
【０１４２】
図１０Ｃは、本発明の第五実施例において行われる検出部品確認処理の流れの一例を示す。
【０１４３】
例えば、判定プログラムを実行するプロセッサ（例えばＩＯプロセッサ８５）は、検出された回路部品（すなわち、構成検出結果情報７５に含まれる部品情報要素に対応した回路部品）にアクセスする（Ｓ５１）。その結果、応答を受けない等により、アクセスに失敗したと判断されたならば（Ｓ５２でＮＯ）、当該プロセッサは、所定のエラー処理（例えば判定結果「ＮＧ」の出力）を実行することができる（Ｓ５３）。
【０１４４】
以上、本発明の幾つかの実施例を説明したが、これらは本発明の説明のための例示であって、本発明の範囲をこれらの実施例にのみ限定する趣旨ではない。本発明は、他の種々の形態でも実施することが可能である。例えば、第一実施例において、ＮＡＳプロセッサ７７Ａ又は７７Ｂが、回路部品の検出や、後処理のみならず、構成テーブル８９と構成検出結果情報７５との比較をも行っても良い。
【図面の簡単な説明】
【０１４５】
【図１】図１Ａは、本発明の第一実施例に係る記憶制御システムの外観の概略を示す。図１Ｂは、第一実施例に係る記憶制御システム１を備えるコンピュータシステムの構成例を示すブロック図である。
【図２】図２Ａは、ＣＨＮ−ＮＡＳ部３の構成例を示すブロック図である。図２Ｂは、ＣＨＮ−ＩＯ部５の構成例を示すブロック図である。
【図３】図３Ａは、対応付け情報の構成例を示す。図３Ｂは、コントロールユニット３１が行う対応付け表示処理の流れの一例を示す。図３Ｃは、コントロールユニット３１に表示されるＧＵＩの一例を示す。図３Ｄは、コントロールユニット３１に表示されるＧＵＩの別の一例を示す。
【図４】図４Ａは、構成テーブル８９の構成例を示す。図４Ｂは、ＮＡＳプロセッサ７７Ａがそれの起動時に構成検出プログラム７１を読み込んで実行することにより行われる処理の流れの一例を示す。
【図５】図５Ａは、構成検出結果情報７５の構成例を示す。図５Ｂは、ＩＯプロセッサ８５がそれの起動時に判定プログラム９１を読み込んで実行することにより行われる処理の流れの一例を示す。
【図６】図６Ａは、ＮＡＳプロセッサ７７Ａが後処理プログラム７３を実行することにより行われる処理の流れの一例を示す。図６Ｂは、判定結果の詳細の表示の一例を示す。
【図７】図７Ａは、ＣＨＮ８の稼動中に構成検出結果情報７５の更新が行われる際の処理流れの一例と、その更新が行われた後に行われる処理流れの一例とを示す。図７Ｂは、ＣＨＮ−ＮＡＳ部３とＣＨＮ−ＩＯ部５とで電源系統及び冷却系統の各々を別々にすることができることの説明図。
【図８】図８Ａは、本発明の第二実施例におけるＣＨＮ−ＮＡＳ部の構成例を示す。図８Ｂは、本発明の第二実施例におけるＣＨＮ−ＩＯ部の構成例を示す。
【図９】図９Ａは、本発明の第三実施例における判定制御テーブルの構成例を示す。図９Ｂは、本発明の第三実施例において行われる判定制御処理の流れの一例を示す。
【図１０】図１０Ａは、本発明の第四実施例におけるＣＨＮ−ＮＡＳ部３とＣＨＮ−ＩＯ部５との接続構成例を示す。図１０Ｂは、本発明の第四実施例においてＮＡＳプロセッサ７７ＡとＩＯプロセッサ８５とにより行われる処理の流れの一例を示す。図１０Ｃは、本発明の第五実施例において行われる検出部品確認処理の流れの一例を示す。
【符号の説明】
【０１４６】
１…記憶制御システム  ３…ＣＨＮ−ＮＡＳ部  ５…ＣＨＮ−ＩＯ部  ８…ＣＨＮ  ６９Ａ…第一のＮＡＳメモリ  ６９Ｂ…第二のＮＡＳメモリ  ７１…構成検出プログラム  ７３…後処理プログラム  ７５…構成検出結果情報  ７７Ａ…第一のＮＡＳプロセッサ  ７７Ｂ…第二のＮＡＳプロセッサ  ８５…ＩＯプロセッサ  ８７…ＩＯメモリ  ８９…構成テーブル  ９１…判定プログラム
【図１】
2007018049.tif 000003
【図２】
2007018049.tif 000004
【図３】
2007018049.tif 000005
【図４】
2007018049.tif 000006
【図５】
2007018049.tif 000007
【図６】
2007018049.tif 000008
【図７】
2007018049.tif 000009
【図８】
2007018049.tif 000010
【図９】
2007018049.tif 000011
【図１０】
2007018049.tif 000012