(57)【要約】【解決課題】MSI（Message Signal Interrupt）を利用した割込み制御に、信号線割込み方式を組み込むことができる割込み制御システムを提供する。【解決手段】第１のPCIインターフェース４０と、第２のPCIインターフェース４３と、前記第１のPCIインターフェースを前記第２のインターフェースにブリッジするPCIブリッジ４４と、割込み信号に対する制御を行う制御回路５４と、を備え、前記PCIブリッジは、前記第２のPCIインターフェースから前記第２のPCIインターフェースに発行されたメッセージシグナル割込みを認識して、当該メッセージシグナル割込みを前記制御回路にバイパスし、前記制御回路は前記メッセージシグナル割込みを割込み信号に変更して信号線を介して出力する割込み変換部を備えている。【選択図】図４
2008090375.tif 000002
【特許請求の範囲】
【請求項１】
第１のPCIインターフェースと、第２のPCIインターフェースと、前記第１のPCIインターフェースを前記第２のインターフェースにブリッジするPCIブリッジと、割込み信号に対する制御を行う制御回路と、を備え、
前記PCIブリッジは、前記第１のPCIインターフェースから前記第２のPCIインターフェースに発行されたメッセージシグナル割込みを認識して、当該メッセージシグナル割込みを前記制御回路にバイパスし、
前記制御回路は前記メッセージシグナル割込みを割込み信号に変更して信号線を介して出力する割込み変換部を備えている、割込み制御システム。
【請求項２】
前記第１のPCIインターフェースは第１のコントローラに接続され、前記第２のPCIインターフェースは第２のコントローラに接続され、前記第２のコントローラは割込み制御部を備え、前記割込み変換部は前記割込み制御部と前記割込み変換部との間に設けられた信号線を介して、前記変換後の割込み信号を前記割込み制御部に出力する、請求項１記載の割込み制御システム。
【請求項３】
前記第１のコントローラと前記第１のPCIインターフェースとは、PCI Expressバスによって接続されている、請求項２記載の割込み制御システム。
【請求項４】
前記第２のコントローラと前記第２のPCIインターフェースとは、PCIバス又はPCI Expressによって接続されている、請求項２記載の割込み制御システム。
【請求項５】
前記制御回路は前記割込み変換部を制御するためのレジスタを備えており、当該レジスタは第１の領域と第２の領域とを備え、前記制御回路は、前記PCIブリッジが前記メッセージ割込みを検出したことを示す第１の情報を前記第１の領域にセットし、前記変換後の割込み信号の出力を禁止する第２の情報をセットする第２の領域と、を備え、前記制御回路は前記第１の情報と前記第２の情報に基づいて、前記変換後の割込み信号を前記割込み変換部から出力するかしないかを決定する、請求項１記載の割込み制御システム。
【請求項６】
前記第２のコントローラが前記第２の情報を前記第２の領域にセット可能である、請求項５割込み制御システム。
【請求項７】
前記第２のコントローラは前記変換後の割込み信号に基づく割込みを検出すると前記第２の情報を前記第２の領域にセットし、当該割込みが終了すると当該第２の情報および前記第１の情報をクリアする、請求項５記載の割込み制御システム。
【請求項８】
前記制御回路は前記PCIの障害を検出し、これを前記割込み信号線を介して前記第２のコントローラに通知する、請求項２記載の割込み制御システム。
【請求項９】
前記１のコントローラはコマンドに続いて前記メッセージ割込みを前記第２のコントローラに対して発行し、前記割込み変換部は前記変換後の割込み信号を前記第２のコントローラに発行し、次いで前記割込み変換部は割り込みのクリアを契機に、そのことを示す制御信号を前記第２のコントローラのメモリに書き込み、当該第２のコントローラはこのメモリをチェックし当該制御信号を確認した後前記コマンドに基づく割込み処理を終了する、請求項２記載の割込み制御システム。
【請求項１０】
割込み信号に対する変換回路が実行する割込み制御方法であって、前記変換回路は、当該変換回路に入力されたメッセージシグナル割込みを割込み信号に変換し、当該変換後の割込み信号を、信号線を介して前記メッセージシグナル割込みの発行先である制御回路に送信するようにした、割込み制御方法。
【請求項１１】
情報処理装置と記憶装置との間の情報のやりとりを制御する制御装置を備える、記憶制御システムにおいて、
前記制御装置は、
当該制御装置と前記情報処理装置との間、および当該制御装置と前記記憶装置との間での情報のやりとりとを制御する第１のコントローラと、前記第１のコントローラを制御する第２のコントローラと、前記第１のコントローラと前記第２のコントローラとの間での情報の交換を制御する第３のコントローラと、を備え、
前記第３のコントローラは、前記第１のコントローラから前記第２のコントローラに発行されたメッセージ割込みを割込み信号に変換し、変換後の割込み信号を前記第２のコントローラに出力する割込み変換部を備える、記憶制御システム。
【請求項１２】
前記第２のコントローラと前記第３のコントローラとの間に割込み信号線が設けられてなり、前記割込み変換部は前記変換後の割込み信号を、前記信号線を介して前記第２のコントローラに出力する、請求項１１記載の記憶制御システム。
【請求項１３】
前記第３のコントローラは、第１のPCIインターフェースと、第２のPCIフェースと、前記第１のPCIインターフェースを前記第２のインターフェースにブリッジするPCIブリッジとを備え、
前記PCIブリッジは、前記第１のPCIインターフェースから前記第２のPCIインターフェースに発行された前記メッセージシグナル割込みを認識して、当該メッセージシグナル割込みを前記変換部にバイパスする、請求項１１記載の記憶制御システム。
【請求項１４】
前記第１のPCIインターフェースは前記第１のコントローラに接続され、前記第２のPCIインターフェースは前記第２のコントローラに接続され、前記第１のPCIインターフェースと前記第１のコントローラとはPCI Expressバスによって接続されている、請求項１３記載の記憶制御システム。
【請求項１５】
前記第１のコントローラは、前記情報処理装置との間の情報の授受を制御する第１のLSIと前記記憶デバイスとの間の情報の授受を制御する第２のLSIと、を備えてなり、前記第１のPCIインターフェースは前記第１のLSIと接続する第３のPCIインターフェースと、前記第２のLSIと接続する第４のPCIインターフェースとを備えてなり、前記第１のLSIと前記第３のPCIインターフェースと、前記第２のLSIと前記第４のPCIインターフェースとが前記PCI Expressバスによって接続されてなる、請求項１４記載の記憶制御システム。
【請求項１６】
前記２のコントローラは、マイクロプロセッサと、前記第２のPCIインターフェースからの情報を前記マイクロプロセッサにブリッジするブリッジ回路と、割込み制御部を備え、前記第２のPCIインターフェースと前記第ブリッジ回路はPCIバス又はPCI Expressバスで接続され、前記割込み制御部は前記変換後の割込み信号を出力する前記信号線に接続している、請求項１２記載の記憶制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は割込み制御システム、及び、この割込み制御システムを利用した記憶制御システムに関するものである。詳しくは、メッセージシグナル割込み（Message Signal Interrupt、以下「MSI」と略称する。）を用いた割込み制御システム、及びこれを利用した記憶制御システムに関するものである。
【背景技術】
【０００２】
従来から、記憶制御システムは、情報処理装置との間の情報通信を制御するホスト制御LSIと、記憶デバイスとの間の情報通信を制御する(記憶)ディスク制御LSIと、キャッシュメモリと、データ転送制御LSIと、MP制御部と、を備えている。データ転送制御LSIは、ホスト制御LSIとMP制御部間、もしくはディスク制御LSIとMP制御部間の制御情報（例えば、データ入出力要求）のブリッジを行い、また、ホスト制御LSIとキャッシュメモリ間、もしくはディスク制御LSIとキャッシュメモリ間のデータ転送のための制御を行う。MP制御部は、ホスト装置からの制御情報（例えば、データ入出力要求）に対して、ホスト制御LSI、ディスク制御LSI、及びデータ転送制御LSIを制御する。
【０００３】
ホスト制御LSIとデータ転送制御LSIとの間、ディスク制御LSIとデータ転送制御LSIとの間はPCIバスによって接続され、ホスト制御LSI、ディスク制御LSIは、それぞれ自身に発生したイベントに基づいて、割込み信号線を介して割込みをMP制御部に送信するように構成されていた。
【０００４】
この種の割込み制御に関する関連技術として、例えば、特開平７―８４９７０号公報に記載されたものが存在する。この公報に記載された割込み制御方式は、割込み発生デバイスに対するデータ処理を行うＣＰＵとは別のＣＰＵへの割込みにもとづき、別のＣＰＵにおけるデータ処理が中断されることをなくして、データ処理性能を向上することを目的とするものであり、複数のＣＰＵと複数のデバイスとを具備し、ＣＰＵが予め定められたデバイスに関するデータ処理を行うデータ処理方法において、デバイスから割込み信号が出力されたとき、割込み元デバイスを認識する割込みコントローラと、割込みコントローラにデバイスとＣＰＵとの対応関係を設定する割込みテーブルを具備することを特徴とするものである。
【０００５】
さらに、特開平９−９７１７７号公報に記載された、コンピュータシステムの割込み制御方式は、拡張ユニットの使用可能なラップトップ型やノートブック型等のパーソナルコンピュータにおいて、複数の割込み信号を最小限の信号線により転送できるようにして、拡張ユニットの信号数の使用範囲の拡大やシステムの信号線の配線構成の簡単化を図ることを目的とするものであり、複数の割込み信号を入力し、各割込み信号毎に予め決定された用途の種類を認識する割込みコントローラを有するコンピュータシステムの割込み制御方式において、前記プロセッサに対して割込み要求を行なう要求元装置からの複数の割込み信号をシリアルデータに変換する割込みエンコーダ手段と、前記シリアルデータを転送するためのシリアル転送手段と、前記シリアル転送手段により転送された前記シリアルデータを元の複数の割込み信号に変換して前記割込みコントローラに与える割込みデコーダ手段とを具備したことを特徴とするものである。
【０００６】
さらに、特開２００１−３３１３２９号公報に記載された発明は、様々な状況に動的に対応し、常に最適なシステム性能を実現できるような割込み制御方法及び制御装置を得ることを目的とするものであり、システムの状態を監視し、測定した監視結果に基づいて、プロセッサ割込みを生成する際に集約するデバイス割込みの数を動的に可変に設定し、前記設定されたデバイス割込みの数を集約してプロセッサ割込みを生成し、プロセッサに出力することを特徴とするものである。
【特許文献１】特開平７―８４９７０号公報
【特許文献２】特開平９−９７１７７号公報
【特許文献３】特開２００１−３３１３２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
PCIにおける割込み制御システムは割込み信号線を必要とすることにより、基板への制御素子の実装効率が悪いという問題があった。一方、PCI Expressと称されるシリアル転送インターフェースはMSIを前提にしているために，割込み信号線を必要としない利点がある。MSI或いはMSI-Xは、PCI Express上のメッセージとして割込み要求を送出するため規格である。
【０００８】
MSIを受信したLSIは割込みの要求を認識して割込み処理を実行する。すなわち、PCI ExpressをサポートするLSIは信号線によって割込み信号を受信することに代えて、MSIを判定することができる。したがって、MSIを利用した通信規格は、割込み信号線を不要とするために制御基板に対するLSIや配線の実装効率を向上することができる。さらに、MSIを利用した割込みアーキテクチャは、メッセージという多様な割込み情報を利用することができる。割込み信号線を利用しただけの割込みアーキテクチャは信号のON／OFF(割込みの有り又は無し)のみ利用できるに過ぎなかった。
【０００９】
しかしながら、PCI Expressに対応していないOSに準拠したLSIは、MSIを利用できない。そのために、全てのLSIをPCI Express サポート可能なもの交換し、かつ、OSのアップグレードも必須であった。
【００１０】
そこで、本発明は、既述の課題を解決するために、MSIを利用した割込み制御に、信号線割込み方式を組み込むことができる割込み制御システムを提供することを目的とする。本発明の他の目的は、MSIと信号線割込みとを併用して、MSI方式単独よりも性能を向上させた割込み制御システムを提供することにある。本発明のさらに他の目的は、MSIを信号線割込みへ変換することを実現する割込み制御システムを提供することにある。本発明のさらに他の目的は、この割込み制御システムを利用した記憶制御システムを提供することにある。
【課題を解決するための手段】
【００１１】
前記目的を達成するために、本発明は、第１のコントローラから第２のコントローラに送られる情報からMSIを認識し、このMSIを信号線割込みに変換する変換部を備えた割込み制御システムを提供することを特徴とするものである。
【００１２】
すなわち、本発明の第１の形態は、第１のPCIインターフェースと、第２のPCIインターフェースと、前記第１のPCIインターフェースを前記第２のインターフェースにブリッジするPCIブリッジと、割込み信号に対する制御を行う制御回路とを備え、前記PCIブリッジは、前記第２のPCIインターフェースから前記第２のPCIインターフェースに発行されたメッセージシグナル割込みを認識して、当該メッセージシグナル割込みを前記制御回路にバイパスし、前記制御回路は前記メッセージシグナル割込みを割込み信号に変更して信号線を介して出力する割込み変換部を備えている、割込み制御システムであることを特徴とするものである。
【００１３】
本発明の第２の形態は、割込み信号に対する変換回路が実行する割込み制御方法であって、前記変換回路は、当該変換回路に入力されたメッセージシグナル割込みを割込み信号に変換し、当該変換後の割込み信号を、信号線を介して前記メッセージシグナル割込みの発行先である制御回路に送信するようにした、ことを特徴とするものである。
【００１４】
本発明の第３の形態は、情報処理装置と記憶装置との間の情報のやりとりを制御する制御装置を備える、記憶制御システムにおいて、前記制御装置は、当該制御装置と前記情報処理装置との間、および当該制御装置と前記記憶装置との間での情報のやりとりとを制御する第１のコントローラと、前記第１のコントローラを制御する第２のコントローラと、前記第１のコントローラと前記第２のコントローラとの間での情報の交換を制御する第３のコントローラと、を備え、前記第３のコントローラは、前記第１のコントローラから前記第２のコントローラに発行されたメッセージ割込みを割込み信号に変換し、変換後の割込み信号を前記第２のコントローラに出力する割込み変換部を備える、ことを特徴とするものである。
【発明の効果】
【００１５】
以上説明した本発明によれば、MSIを利用した割込み制御に、信号線割込み方式を組み込むことができる割込み制御システムを提供することができる。さらに、MSIと信号線割込みとを併用して、MSI方式単独よりも性能を向上させた割込み制御システムを提供することができる。さらに、MSIを、信号線を用いた割込み信号へ変換することを実現する割込み制御システムを提供することができる。さらに、この割込み制御システムを利用した記憶制御システムを提供することができる。
【発明を実施するための最良の形態】
【００１６】
次に本発明に係わる記憶制御システムの実施形態について説明する。図１は記憶制御システム全体のハードウエアブロック図である。記憶制御システムはストレージシステムとも呼ばれ、複数の記憶デバイスを備え、情報処理装置に大規模な記憶領域を提供するものである。
【００１７】
ストレージシステム１０は、ストレージ制御装置１２と、ストレージ駆動装置１３とを備える。ストレージ制御装置１０は、上位装置としての情報処理装置１４から受信したコマンドに従ってストレージ駆動装置１２に対する制御を行う。例えば、情報処理装置１４からストレージ駆動装置に対するデータ入出力要求を受信して、ストレージ駆動装置が備える記憶ボリューム２８に対してデータの読み書きを行う。
【００１８】
情報処理装置はCPU（Central Processing Unit）やメモリを備えたコンピュータ等の情報機器である。情報処理装置が備えるCPUにより各種プログラムが実行されることにより様々な機能が実現される。
【００１９】
図１において、情報処理装置１４Ａ，１４ＢはSAN（Storage Area network）１６を介してストレージ制御装置１２と通信可能に接続されている。SANは、ストレージ制御装置１２と情報処理装置１４Ａ，１４Ｂとの間でデータ入出力要求やデータの送受信をファイバチャネルプロトコルに従って行うネットワークである。
【００２０】
情報処理装置１４Ｃ，１４Ｄは、IP-SAN（Internet Protocol -SAN)１８を介してストレージ制御装置に接続されている。IP-SANは、ストレージ制御装置と情報処理装置１４Ｃ，１４Ｄとの間でデータ入出力要求やデータの送受信をインターネットプロトコルに従って行うネットワークである。
【００２１】
ストレージ駆動装置１３は、データを記憶するための多数の物理ディスクドライブを備えている。物理ディススクドライブは記憶デバイスの一例である。記憶デバイスとして、フラッシュメモリなどの半導体メモリを使用することもできる。
【００２２】
ストレージ駆動装置１３は多数の物理ディスクドライブをアレイ状に収納しているために、情報処理装置１４に対して大容量の記憶領域を提供することができる。物理ディスクドライブは、ハードディスクドライブなどのデータ記憶媒体、あるいは、RAID（Redundant Arrays of Inexpensive Disks）を構成する複数のハードディスクドライブにより構成することができる。
【００２３】
また、物理ディスクドライブにより提供される物理的な記憶領域である物理ボリュームには、論理的な記憶領域である論理ボリュームを設定することができる。物理ボリュームと論理ボリュームとを含む、データを記憶するための記憶領域を記憶ボリュームとも称する。図１は複数の記憶ボリューム２８Ａ，２８Ｂを示している。
【００２４】
ストレージ制御装置とストレージ駆動装置とは図１のように直接に接続される形態のほか、ネットワークを介して両者が接続されるようにもできる。さらに、ストレージ駆動装置とストレージ制御装置とを同一の筐体として一体にして構成することもできる。
【００２５】
ストレージ制御装置１２はホスト制御LSI２０（２０Ａ，２０Ｂ）、データ転送制御LSI２４、ディスク制御LSI２６（２６Ａ，２６Ｂ）、キャッシュメモリ２２、MP制御部３０と、を備える。ストレージ制御装置は、ホスト制御LSI２０よりSAN/IP-SANを介して情報処理装置１〜４との間の通信を行う。ホスト制御LSI２０のホストとは情報処理装置（ホスト装置）を意味するものである。ディスク制御LSI２６のディスクは記憶デバイスであるハードディスクを意味するものである。
【００２６】
ホスト制御LSI２０は、ファイバチャネルプロトコルもしくはインターネットプロトコルを用いて情報処理装置１４との間で通信を行い、情報処理装置からデータ入出力要求を受信し、情報処理装置との間でデータの送受信を行う。ディスク制御LSI２６は、データを記憶する記憶ボリュームと通信可能に接続され、ストレージ駆動装置の制御を行う。
【００２７】
データ転送制御LSI２４は、ホスト制御LSI２０とMP制御部間３０もしくはディスク制御LSI２６とMP制御部間３０の制御情報（例えば、データ入出力要求）のブリッジを行い、また、ホスト制御LSI２０とキャッシュメモリ２２間、もしくはディスク制御LSI２６とキャッシュメモリ２２間のデータ転送制御を行う。MP制御部３０は、情報処理装置からの制御情報（例えば、データ入出力要求）に対して、ホスト制御LSI２０、ディスク制御LSI２６、データ転送制御LSI２４を制御する。キャッシュメモリ２２は、ホスト制御LSI２０と記憶ボリューム２８、ディスク制御LSI２６と記憶ボリューム２８の間で授受されるデータを一次記憶するメモリである。
【００２８】
例えば、あるホスト制御LSI２０が情報処理装置１４からデータ入力要求を受信した場合には、データ転送制御LSI２４を介してMP制御部３０に同要求を転送する。転送されたデータ入力要求を検出したMP制御部３０は同要求に従ってデータ転送制御LSI２４をセットアップし、ホスト制御LSI２０に対してデータ転送の開始を指示し、データはホスト制御LSIよりデータ転送制御LSI２４を介してキャッシュメモリ２２に格納される。
【００２９】
データをキャッシュメモリ２２に格納したホスト制御LSI２０は、MP制御部３０に格納が終了したことを伝える。そして、データの格納の終了を検出したMP制御部３０は、データ転送制御LSI２４をセットアップし、ディスク制御LSI２６対して記憶ボリューム２８へのデータの転送を指示し、データはキャッシュメモリ２２よりデータ転送制御LSI２４、ディスク制御LSI２６を介して、記憶ボリューム２８に格納される。
【００３０】
また、あるホスト制御LSI２０が情報処理装置１４からデータ出力要求を受信した場合には、読み出し対象となるデータが、キャッシュメモリ２２に存在するかどうかを調べる。MP制御部３０は、キャッシュメモリ２２に読み出しデータが存在しない場合には、データ転送制御LSI２４をセットアップし、ディスク制御LSI２６に対してデータ転送の開始を指示し、読み出し対象となるデータを、記憶ボリューム２８からキャッシュメモリ２２に格納する。
一方、読み出しデータがキャッシュメモリに存在する場合、また、前記転送でキャッシュメモリ２２に当該データを格納した場合に、MP制御部３０は、データ転送制御LSI２６をセットアップし、ホスト制御LSI２０に対してデータ転送の開始を指示し、情報処理装置１４にその読み出しデータを送信する。ホスト制御LSI２０とディスク制御LSI２６が請求項記載の第１のコントローラに相当し、MP制御部が第２のコントローラに相当し、データ転送制御LSI２４が第３のコントローラに相当する。
【００３１】
図２は、MP制御部３０（「MP」はマイクロプロセッサの略称である。）のハードウエアの詳細ブロック構成を含めたストレージ制御装置１２のブロック図である。MP制御部は、 MP１、MP２、MPブリッジ４６、割込みコントローラ４８、ローカルメモリ４０と、を備えている。MP１，MP２がローカルメモリ４０に格納された各種プログラムを実行することにより、MP制御部３０はデータの入出力制御やその他様々な機能を実現する。
【００３２】
MPブリッジ４６は、MP１,MP２、ローカルメモリ４０、さらに割込みコントローラ４８間を結び、さらにMP制御部３０の外部I/FとしてPCIを備えている。割込みコントローラ４８はMP制御
部３０の外部から、図２ではデータ転送LSI２４を介してホスト制御LSI２０などにおける割込み要因を信号として取り込み、これをMP１，MP２に伝える機能を有している。
【００３３】
ホスト制御LSI２０とデータ転送制御LSI２４の間のバス３２Ａ，３２Ｂ、ディスク制御LSI２６とデータ転送制御LSI２４の間のバス３４Ａ，３４Ｂにおける通信は、それぞれPCI Express規格をサポートしている。MPブリッジ４６とデータ転送制御LSI２４の間のバス３３における通信は、PCIX、PCI Expressを含むPCIインターフェース規格をサポートしている。データ転送制御LSI２４はPCI-PCIブリッジの機能をも有している。PCIの最新仕様であるPCI Expressは、従来のPCI/PCIXでの複数の信号線で制御するパラレルIFをシリアルIFに変更している。PCI Expressでは、割込みはMSIが前提となっている。
【００３４】
ホスト制御LSI２０、ディスク制御LSI２６は、それぞれ自身で発生した要因に基づき、MSI割込み３１を形成し、これを、PCI Expressバス３２，３４を介してデータ転送LSI２４に送る。データ転送制御LSI２４と割込みコントローラ４８との間には、“Ｈ”又は“Ｌ”であるビットで構成された割込み信号を送る為の信号線３５が設けられている。信号線の数に応じたビット数、例えば信号線が４本の場合には、４ビットで構成される割込み信号を、データ転送LSI２４は割込みコントローラ４８に送る。割込みコントローラから割込み信号を受けたMP（MP１又はMP２）は、ローカルメモリ４０に複数ある割込みハンドラから特定の割込みハンドラを選択して実行する。
【００３５】
PCI-PCIブリッジを実施しているデータ転送制御LSI２４は、MSIをトラップし信号線割込み信号に変換する。MP制御部３０は割込み信号線３５を介して割込み信号を受けるので、必ずしもPCI Expressに対応するものでなくても良い。なお、MP制御部３０がPCI Express に対応するものである場合には、データ転送制御LSIはMSIを信号線割込みに変換することなく,MSIを、PCI Expressバス３３を介して受信するようにできる。もっとも、MP制御部がPCI,PCIXをサポートしていることに留まる場合には、既述のとおり割込み信号線３５を介して割込み信号を受信する。MSIとはPCI仕様の一部であり、詳しくはPCI-SIGで規定されている、PCI Local Bus Specification, Revision 3.0, PCI Express Base Specification, Revision1.0,1.0a,1.1で説明されている。
【００３６】
参考のために、図２の比較例に係わるストレージ制御装置のブロック図を図３に示す。図２と異なるのは、ホスト制御LSI２０から割込み信号線３７が、そして、ディスク制御LSI２６から割込み信号線が、割込みコントローラ４８に向けて形成されている点である。図３では、ホスト制御LSIとデータ転送制御LSIとの間、ディスク制御LSIとデータ転送制御LSIとの間はPCIバスによって接続されている。
【００３７】
図４は、データ転送制御LSI２４の構造を説明する為のハードウエアブロック図である。データ転送制御LSI２４は、PCIを制御するPCI-IF４０,４２,４３とキャッシュメモリ２２を制御するメモリIF４８を備えている。PCI-IF４０はホスト制御LSI２０との間のPCIを制御するインターフェースであり、PCI-IF４２はディスク制御LSI２６との間のPCIを制御するインターフェースであり、PCI-IF４３はMPブリッジ４６との間のPCIを制御するインターフェースである。
【００３８】
データ転送制御LSI２４は、さらにPCI-IF間を接続するブリッジ４４、４６、そして、PCI-IFとメモリIF間でMP制御部３０が設定したパラメータに基づきデータ転送制御を行うDMA５０,５２を備えている。さらに、データ転送制御LSI２４は、MSIを信号線によってMP制御部３０に出力される信号線割込みに変換する割込み変換部５４を備えている。
【００３９】
PCI-IF４０とPCI-IF４３との間のMSIはブリッジ４４に、PCI-IF４２とPCI-IF４３との間のMSIはブリッジ４６によってそれぞれトラップされ、MSIは割込み変換部５４に送られる。DMA５０及びDMA５２はメモリIF４８を介してキャッシュメモリ２２と接続されている。さらに、DMA５０，５２は前記パラメータ設定のためにPCI-IF４３と、また、DMA５０，５２内部で発生した割込みを通知するために割込み換部５４と接続されている。
【００４０】
次に、図１及び図４に基づいて割込み処理の一例を、順を追って説明する。先ず、情報処理装置から送られたデータをストレージ制御装置１２がキャッシュメモリ２２に転送する動作について説明する。MP制御部３０はデータ転送制御LSIのDMA５０,５２の転送パラメータを設定する。データ転送制御LSIはホスト制御LSI２０からのデータ転送の開始を待つ。MP制御部はホスト制御LSIに転送の開始を指示する。ホスト制御LSIはデータ転送制御LSIに対してライトデータの転送を開始する。
【００４１】
次いで、データ転送LSIはホストLSIからのデータを前記DMAの設定値に基づきキャッシュメモリ２２へライト転送する。ホスト制御LSIはデータ転送LSIへのデータ転送を終了すると、MP制御部へ割込みを通知する（割込み通知＃１）。MP制御部は割込み＃１によってホスト制御LSIがデータ転送を終了したことを判定する(割込み処理＃１)。データ転送LSIのＤＭＡ５０,５２がキャッシュメモリへのデータ転送終了後、ＤＭＡはMP制御部に割込みを通知する（割込み通知＃２）。MP制御部３０は割込み＃２によって、データ転送LSIがキャッシュメモリへのデータの転送を終了したことを判定する（割込み処理＃２）。
【００４２】
このように、通常は情報処理装置からのライトデータをキャッシュメモリに転送する過程で、MP制御部３０への割込み通知、及びMP制御部３０での割込み処理がそれぞれ２回発生する。
【００４３】
しかしながら、図４に示すように、割込み変換部５４がホスト制御ＬＳＩ２０から割込み通知（MSI）を認識することで、具体的には、この割込みがデータの転送が終了したことを意味するものである場合、ＤＭＡの割込み通知を一定時間待ち、二つの割込みを一つにまとめることにより、ＭＰ制御部３０の割込み処理を１回にすることができる。割込みをまとめる、まとめないの判定は、割込み内容、具体的にはMSIのアドレスで判定がデータ転送終了に関する内容か否かで判定する。データ転送終了割込みである場合ＨＡ，ＤＭＡの割込みが必ず存在するはずなので、二つ揃うまで、割込みを待つことができる。
【００４４】
一定時間待っても揃わない場合は、何か内部で異常が起こっていることが考えられるので、その旨の割込みをＭＰ制御部に送信することができる。また、キャッシュメモリにあるデータを、ＤＭＡを介してホスト制御ＬＳＩに転送する場合は、ＤＭＡの割込み通利を検出した後、ホスト制御ＬＳＩからの割込み通知を一定時間待つことで実現できる。
【００４５】
図５は割込み変換処理を説明するためのブロック図である。ブリッジ４４（４６）のローカルメモリ６０Ａには、ホスト制御LSI２０,ディスク制御LSI２６から送られるMSI６０Ｂに対応するアドレス表６０が存在する。ブリッジはこのアドレス表に基づいて、PCI-IF４０（４２）からPCI-IF４３に送られたMSIを認識する。PCI-IF４３に対するMSIのアドレスは予め定まっているために、ブリッジはPCI-IF４０（４２）からPCI-IF４３に向けた制御情報の中からアドレス表６０に基づいてMSIを認識することができる。
【００４６】
ブリッジ４４(４６)が予め設定されたMSI対応アドレス表に同一のアドレスを持ったコマンドを認識した場合、ブリッジはこれをMSIとして認識し、MSIをPCI-IF４３に送出することなく、MSIを割込み変換部５４に転送する。なお、MSIアドレス表６０におけるアドレス０・・・・アドレスｎは、MSIのアドレスを示している。
【００４７】
割込み変換部５４は認識したMSIをデコードして、信号線を用いる割込み信号に変換する。図６の１００は、MSIを信号線割込み信号に変換するためのテーブルを示したものである。MSIと割込み信号との対応関係が決定される。図５での例示にしたがい信号線を４本とすると、割込み信号は（ａ，ｂ，ｃ，ｄ）の４ビットから構成される。各ビットが信号線の「Ｈ」又は「Ｌ」に対応している。割込み変換部５４はこのビット信号の組み合わせに基づいて信号線変換表６１に各信号線（信号線０〜ｍ）のON/OFFを登録する。
【００４８】
図６の１０２は各ビット割込み信号に対応する割込みハンドラを示している。MP制御部のMP１，MP２は割込み変換部から割込みコントローラを介して受信したビット割込み信号によって特定の割込みハンドラを決定し、次いでこれを実行する。信号線３５を介した割込み処理の種類は、信号線の数の制約を受けるために、送出されるMSIの種類より少ないのが普通である。割込み変換部５４は制御レジスタ６２に登録された制御信号に基づいて割込み信号の出力を行う。
【００４９】
図７は割込み変換部が行う割込み信号の出力処理を示すタイミングチャートである。ホスト制御LSIは、自身に割込み要因が発生する（７００）とMSIを送出する（７０２）。データ転送制御LSIはMSIを検出し（７０４）、PENDレジスタにMSIの要因、具体的には、ＰＥＮＤレジスタの各ビットは、MSIの各アドレスに対応しており、前者ビットに“1”を設定することで要因を保持する（７０６）。すなわち、PENDレジスタはデータ転送制御LSIがMSIを検出したときに設定されるものである。
【００５０】
データ転送制御LSIは、PENDレジスタと同様に、MSIの各アドレスに対応したMSKレジスタの値とPENDレジスタの値との論理積を実施して、その結果をSTSレジスタに反映させる（７０６）。MSKレジスタは、PENDレジスタをマスクするためのものであり、MSKレジスタに特定値を登録することによりPENDレジスタを無効化、すなわち、特定のMSI要因を無効にすることができる。
【００５１】
データ転送制御LSIがMSIを検出すると、PENDレジスタをセットする。この時、MSKレジスタはPENDレジスタを有効にする値が格納されていることから、両者の論理積であるSTSレジスタに基づいて信号線のオン・オフが図６にしたがって決定される、即ち割込み信号がMP制御部（プログラム）に出力される（７０８）。
【００５２】
割込み信号による割込みがMP制御部に発生する（７１０）。MP制御部はデータ転送制御LSI内のSTSレジスタをリードして割込みを判定する（７１２）。割込みを判定したMP制御部はMSKレジスタをライトして前記PENDレジスタをマスクする（７１４）。この時、データ転送制御LSIはPENDレジスタとMSKレジスタとの論理積を計算することにより割込み信号をOFFする（７１６）。
【００５３】
MP制御部は割込みを判定するとホスト制御LSIに対して割込み処理を行う（７１８）。MP制御部は割込み処理を終了したら、PENDレジスタをライトして割込みをクリアする（７２０）。これによりPENDレジスタの保持要因はクリアされる（７２１）。MP制御部はMSKレジスタをライト処理して、PENDレジスタのマスク（割込みマスク）を解除する。以上によって、ホスト制御LSIからのMSIに基づくMP制御部への割込み処理が終了する。
【００５４】
さらに、図８に基づいて、割込み変換部本発明における、割込み処理の動作の発展例について説明する。この発展例は、制御レジスタ郡の“INTPASS”を利用するものである。図５に示すように、ブリッジ４４（４６）で検出されたMSIを割込み変換部５４が割込み信号に変換する。したがって、ホスト制御LSI又はディスク制御LSIからPCI-IF４３に送られたコマンドはブリッジからPCI-IF４３に送られるが、MSIはブリッジから割込み変換部５４から信号線３５を介して割込みコントローラに送られる。したがって、PCI-IF４３における処理がビジーやあるいはPCIの障害により、コマンドがPCI-IF４３で待たされることがあると、MP制御部は割込み変換部から割込み信号を受けても割込み処理行うことができない。“INTPASS”はこのような場合でも割込み処理を可能にするための制御情報である。
【００５５】
以下にINTPASSを用いた割込み処理の詳細について説明する。ここで、図８に示すようにMP制御部が第１のコマンドであるQUE(1)の割込み処理を実施中に、第２のコマンドであるQUE(2)とそのMSIがホスト制御LSIより送出された場合について説明する。
【００５６】
ホスト制御LSIに割込み要因が発生する（８００）と、ホスト制御LSIは、PCI-IF４０、ブリッジ４４、PCI-IF４３、及びMPブリッジ４６を介してローカルメモリ４０にQUE(1)をライトする（８０２）。ホスト制御LSIがQUE(1)に続いてMSIを送出すると（８０４）、データ転送制御部はMSIを割込み信号に変換する（８０４）。
【００５７】
MPプログラムは割込み信号に基づく割込み発生（８０６）を検出して割込み判定を行い、次いで、割込みをマスクする（８０８）。割込みのマスクによりデータ転送LSIは割込み信号をOFFする。これは図７の７１０乃至７１６と同様である。MPプログラムは、ローカルメモリからQUE(1)をリードし（８１６）、割込み処理を実行する。ローカルメモリには制御レジスタ群６２の“INTPASS”が書き込まれるINTPASSエリアが存在する。MPプログラムはINTPASSエリアを初期化する（８２４）。
【００５８】
一方、ホスト制御LSIはQUE(2)をさらに発行する（８２０）と、QUE(2)はブリッジ４４（４６）を通過してPCI-IF４３に送出されるが、MSIは前述のようにPCI-IF４３ではなく割込み変換部５４に送出される（８２２）。このとき、MPプログラムが割込みクリア（８２６）に基づいて、割込み変換部のPENDレジスタで保持していたMSI要因をクリア（８２８）際に、QUE(2)によるMSI要因も同時にクリアしてしまう可能性がある。
【００５９】
MP制御部がローカルメモリに書かれたQUE番号を再リードすれば、本来であればQUE番号がQUE(2)に更新されているはずで、MP制御部は更新されたQUE(2)によって８２２のMSIによる割込みの有無を検出できるはずであるが、QUE(2)が、PCI-IF４３のPCIのビジー等によりローカルメモリにQUE(2)をライトできないでデータ転送制御LSI内部のPCI-IF４３で待たされている場合が存在する。この場合、ローカルメモリ上のQUE番号はQUE(2)に更新されていないために、MP制御部はQUE(2)に基づく割込みを検出することが不可能となる。
【００６０】
ここで、QUE(1)の割込み処理でQUE(2)の割込み要因を同時にクリア（８２８）した場合でも、データ転送制御LSIは制御レジスタのINTPASSの値をローカルメモリのINTPASSエリアに書き込み更新する（８３０）。MP制御部がローカルメモリ上のINTPASSの更新を確認してからQUE番号の再リードを行ってQUE(2)を実行して割込み処理を行う（８３２，８３４）。次いで、MP制御部MSKレジスタにライト処理を行って割込みマスクの解除を行う。
【００６１】
このようにINTPASSを利用した機能とは、MP制御部による割込みクリア指示をデータ転送制御LSIが受信した場合、割込みのクリアを契機に、ホスト制御LSIが予め設定されたローカルメモリ内のアドレス（INTPASS領域）に固定値をライトする機能であって、MP制御部は割込み変換部に割込みクリア指示をする前に同アドレスを初期化し、割込みクリア指示後、同アドレスが更新されたか否か確認することで、データ転送制御ＬＳＩ内部の割込み変換に関する処理が終了したことを判定する機能である。すなわち、更新確認後、ＱＵＥを再リードすることで、ＱＵＥ（２）の要因を検出することができる。
【００６２】
次に、データ転送制御LSIの他の動作について説明する。PCI-IF４３もしくは、MP制御部３０とデータ転送制御LSI間のPCIに障害が発生した場合、そもそもMP制御部に障害情報を送ることができなかったために、MP制御部がPCIの障害内容を認識することができなかった。
【００６３】
データ転送制御LSIの割込み変換部５４はMSIを変換するために設けた複数の割込み信号線を備えるために、同信号線を用いてデータ転送制御LSIの障害であるPCIの障害をMP制御部に伝えることができる。割込み変換部５４には、ＰＣＩ−ＩＦ４３割込み線、具体的にはＰＣＩで障害発生時に変化する信号線が引き込まれており、同信号が変換した場合にＰＣＩ−ＩＦ４３内部の障害レジスタを自らリードする機能を有している。さらに、その小がレジスタの内容を複数の割込み信号線３５を用いてＭＰ制御部３０へ送出する。
【００６４】
MP制御部３０は、割込み信号線からの割込み信号をデコードすることで、従来知り得なかったPCIの障害内容を認識することができるようになった。そして、MP制御部が障害を判定した後MP制御部とデータ転送制御情報との間の各種制御情報の通信を割込み信号線を利用して行うことができる。すなわち、割込み信号線はPCIバスに対する冗長性を向上させることになる。
【００６５】
以上説明した実施形態によれば、PCI に基づくMSIを割込み信号に変換し、変換後の割込み信号をコントローラに出力することにより、コントローラがMSIをサポートしていない場合でも、ハードウエアやＯＳのアップグレードをすることなく、MSIに基づく割込を利用した割込み制御システムを提供することができる。以上説明した実施形態は一例であり、当業者が適宜変更可能である。
【図面の簡単な説明】
【００６６】
【図１】本発明に係わる記憶制御システムの一例を示すハードウエアブロック図である。
【図２】図１のストレージ制御装置の詳細な構成の一例を示すハードウエアブロック図である。
【図３】図２に対する比較例とした、ストレージ駆動装置の詳細な構成を示すハードウエアブロック図である。
【図４】データ転送制御LSIの一例の詳細な構成を示すハードウエアブロック図である。
【図５】データ転送制御LSIの割込み変換部の詳細な構成を示すブロック図である。
【図６】MSIから割込み信号への割込み変換を実現するための制御テーブルの一例である。
【図７】割込み変換処理の一例に係わるタイミングチャートである。
【図８】割込み変換処理の他の例に係わるタイミングチャートである。
【図９】割込み信号線を利用した、PCIでの障害処理の一例に係わるタイミングチャートである。
【符号の説明】
【００６７】
１０  記憶制御システム、１２  ストレージ制御装置、１３  ストレージ駆動装置、１４  情報処理装置（ホスト）、２０  ホスト制御LSI、２２  キャッシュメモリ、２４  データ転送制御LSI、２６  ディスク制御LSI、３０  MP制御部、４０，４２，４３  PCI インターフェース、４４  PCI ブリッジ、５４  割込み変換部
【図１】
2008090375.tif 000003
【図２】
2008090375.tif 000004
【図３】
2008090375.tif 000005
【図４】
2008090375.tif 000006
【図５】
2008090375.tif 000007
【図６】
2008090375.tif 000008
【図７】
2008090375.tif 000009
【図８】
2008090375.tif 000010
【図９】
2008090375.tif 000011