(57)【要約】【課題】  システムで異常が発生した場合に、共有メモリに格納されている正常なデータを保護する。【解決手段】  共有メモリシステム１の異常判定部は、複数あるマザーボード１０ａ〜１０ｃのうち、何れかのマザーボードで異常が発生したか否かを判定する。何れかのマザーボードで異常が発生したと判定された場合に、共有メモリシステム１のスイッチ制御部は、スイッチ状態テーブルに格納されているアクセス許可パターンのうち、状態ＮＯが“１５”に対応するアクセス許可パターンを選択して保持するとともに、当該アクセス許可パターンに基づいて全てのスイッチをＯＦＦに切り替える。【選択図】  図１
2008027310.tif 000002
【特許請求の範囲】
【請求項１】
複数のＣＰＵがアクセス可能な共有メモリを有する共有メモリシステムであって、
前記ＣＰＵによる前記共有メモリへのアクセスの種類ごとに、前記共有メモリへのアクセスを許可させるための複数のアクセス許可パターンを記憶する記憶手段と、
前記記憶手段によって記憶される前記アクセス許可パターンを順次選択し、当該選択した前記アクセス許可パターンに応じて前記ＣＰＵによる前記共有メモリへのアクセスを制御する制御手段と、
何れかの前記ＣＰＵにより異常が検知されたか否かを判定する判定手段と、を備え、
前記制御手段は、前記判定手段によって何れかの前記ＣＰＵにより異常が検知されたと判定された場合に、前記記憶手段によって記憶される前記アクセス許可パターンから、前記共有メモリへのアクセスを全て不可能とするパターンを選択して保持することを特徴とする共有メモリシステム。
【請求項２】
外部装置から送信される修理モードへの移行を指示するメッセージを受信する受信手段をさらに備え、
前記制御手段は、前記受信手段によって前記修理モードへの移行を指示するメッセージが受信された場合に、前記記憶手段によって記憶される前記アクセス許可パターンから、前記ＣＰＵのうちの予め定められた一のＣＰＵの読み込みアクセスのみを可能とするパターンを選択して保持することを特徴とする請求項１記載の共有メモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、共有メモリシステムに関する。
【背景技術】
【０００２】
下記特許文献１には、複数のＣＰＵでメモリを共有するメモリアクセスシステムが開示されている。
【特許文献１】特開平５−３４２１０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述したメモリアクセスシステムでは、システムで異常が発生したときの処理についてまでは考慮されていないため、異常発生後も、引き続き全てのＣＰＵがメモリにアクセスすることになる。この場合には、異常発生に起因して暴走したＣＰＵによってメモリに格納されているデータが書き換えられるおそれがある。
【０００４】
そこで、本発明は、上述した課題を解決するために、システムで異常が発生した場合に、共有メモリに格納されている正常なデータを保護することができる共有メモリシステムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の共有メモリシステムは、複数のＣＰＵがアクセス可能な共有メモリを有する共有メモリシステムであって、ＣＰＵによる共有メモリへのアクセスの種類ごとに、共有メモリへのアクセスを許可させるための複数のアクセス許可パターンを記憶する記憶手段と、記憶手段によって記憶されるアクセス許可パターンを順次選択し、当該選択したアクセス許可パターンに応じてＣＰＵによる共有メモリへのアクセスを制御する制御手段と、何れかのＣＰＵにより異常が検知されたか否かを判定する判定手段と、を備え、制御手段は、判定手段によって何れかのＣＰＵにより異常が検知されたと判定された場合に、記憶手段によって記憶されるアクセス許可パターンから、共有メモリへのアクセスを全て不可能とするパターンを選択して保持することを特徴とする。
【０００６】
この発明によれば、システムで異常が発生した場合には、ＣＰＵによる共有メモリへのアクセスを全て不可能にすることができるため、例えば、異常発生に起因してＣＰＵが暴走した場合であってもＣＰＵが共有メモリにアクセスすることはできない。したがって、共有メモリに格納されている正常なデータを確実に保護することができる。
【０００７】
本発明の共有メモリシステムにおいて、外部装置から送信される修理モードへの移行を指示するメッセージを受信する受信手段をさらに備え、制御手段は、受信手段によって修理モードへの移行を指示するメッセージが受信された場合に、記憶手段によって記憶される前記アクセス許可パターンから、前記ＣＰＵのうちの予め定められた一のＣＰＵの読み込みアクセスのみを可能とするパターンを選択して保持することが好ましい。このようにすれば、異常が発生したときに、予め定められた一のＣＰＵを用いて共有メモリから異常発生前のデータを読み込むことができるため、異常発生の原因が解明し易くなる。
【発明の効果】
【０００８】
本発明に係る共有メモリシステムによれば、システムで異常が発生した場合に、共有メモリに格納されている正常なデータを保護することができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明に係る共有メモリシステムの実施形態を図面に基づき説明する。なお、各図において、同一要素には同一符号を付して重複する説明を省略する。
【００１０】
図１は、実施形態における共有メモリシステム１のハードウェア構成を例示する図である。図１に示すように、共有メモリシステム１は、主に、複数のマザーボード１０ａ，１０ｂ，１０ｃと、スイッチ制御回路２０とから構成される。マザーボード１０ａ，１０ｂ，１０ｃには、ＣＰＵ１１ａ，１１ｂ，１１ｃが備えられている。各ＣＰＵ１１は、ＤＭＡ（Direct Memory Access）通信によりスイッチ制御回路２０を介して共有ＲＡＭ２にアクセスすることができる。ここで、共有ＲＡＭ２へのアクセスには、共有ＲＡＭ２からデータを読み込む際の読み込みアクセスと、共有ＲＡＭ２にデータを書き込む際の書き込みアクセスとが含まれる。
【００１１】
また、本実施形態では、図１に示すマザーボード１０ａが、メインマザーボードとして設定されている。このメインマザーボードは、スイッチ制御回路２０に制御信号を送信する機能を有する。この制御信号としては、スイッチ制御回路２０に含まれる複数のスイッチのＯＮ／ＯＦＦ切り替えを制御させるための信号が該当する。また、メインマザーボード１０ａには、ＲＡＭ１２ａが備えられている。このＲＡＭ１２ａには、上記制御信号に含まれる制御Ｂｉｔ等を記憶するスイッチ状態テーブル（記憶手段）が格納されている。このスイッチ状態テーブルの詳細については、後述する。なお、本実施形態では、共有メモリシステムに備えられているマザーボードが三枚の場合について説明しているが、マザーボードの枚数は三枚に限定されず、複数枚備えられていればよい。
【００１２】
共有メモリシステム１には、接続コネクタ３０が設けられており、メインマザーボード１０ａのＣＰＵ１１ａは、この接続コネクタ３０を介して接続された外部ツール装置４０から送信される各種のメッセージを受信する。各種のメッセージとしては、例えば、修理モードへの移行を指示する修理モード移行指示メッセージや、共有ＲＡＭ２からデータを読み込むように指示するデータ読込指示メッセージがある。
【００１３】
次に、図２を参照して、図１に示すスイッチ制御回路２０のハードウェア構成について詳細に説明する。スイッチ制御回路２０は、スイッチ駆動回路２１と、ＲＡＭ２２と、複数のスイッチＳＷ１Ｒ〜ＳＷ３Ｗと、複数のゲート回路Ｇ１〜Ｇ６とを有する。
【００１４】
スイッチ駆動回路２１は、メインマザーボード１０ａのＣＰＵ１１ａから送信される制御信号に基づいて、各スイッチＳＷのＯＮ／ＯＦＦを切り替える。一のゲート回路Ｇに対応して配置されたスイッチＳＷがＯＮになると、そのゲート回路Ｇが配置されている回線が接続状態となる。回線が接続状態になると、その回線により接続されているマザーボード１０と共有ＲＡＭ２との間において予め定められた一方向にのみデータの送信が可能となる。すなわち、そのマザーボード１０に備えられたＣＰＵ１１のみが共有ＲＡＭ２に対してデータの読み込みまたは書き込みが可能となる。また、一のゲート回路Ｇに対応して配置されたスイッチＳＷがＯＦＦになると、そのゲート回路Ｇが配置されている回線が切断状態となる。回線が切断状態になると、切断状態の回線に接続されているマザーボード１０と共有ＲＡＭ２との間でデータの送受信ができなくなる。すなわち、そのマザーボード１０に備えられたＣＰＵ１１は共有ＲＡＭ２に対してデータの読み込みまたは書き込みができなくなる。
【００１５】
ここで、スイッチＳＷ１ＲがＯＮになると、ＣＰＵ１１ａが、共有ＲＡＭ２からデータを読み込むことが可能となり、スイッチＳＷ１ＷがＯＮになると、ＣＰＵ１１ａが、共有ＲＡＭ２にデータを書き込むことが可能となる。また、スイッチＳＷ２ＲがＯＮになると、ＣＰＵ１１ｂが、共有ＲＡＭ２からデータを読み込むことが可能となり、スイッチＳＷ２ＷがＯＮになると、ＣＰＵ１１ｂが、共有ＲＡＭ２にデータを書き込むことが可能となる。さらに、スイッチＳＷ３ＲがＯＮになると、ＣＰＵ１１ｃが、共有ＲＡＭ２からデータを読み込むことが可能となり、スイッチＳＷ３ＷがＯＮになると、ＣＰＵ１１ｃが、共有ＲＡＭ２にデータを書き込むことが可能となる。
【００１６】
図２に示すＲＡＭ２２には、上述したメインマザーボード１０ａのＲＡＭ１２ａと同様に、スイッチ状態テーブルが格納されている。
【００１７】
ここで、図３を参照して、スイッチ状態テーブルのデータ構成について説明する。スイッチ状態テーブルは、ＣＰＵ１１による共有ＲＡＭ２へのアクセスの種類（読み込み、書き込み）ごとに、共有ＲＡＭ２へのアクセスを許可させるための複数のアクセス許可パターンを記憶するテーブルである。本実施形態では、アクセス許可パターンを、上述した各スイッチＳＷ１Ｒ〜ＳＷ３Ｗのスイッチ状態を用いて表すこととする。すなわち、一のスイッチのスイッチ状態がＯＮである場合には、そのスイッチに対応するアクセスが許可されていることを示し、一のスイッチのスイッチ状態がＯＦＦである場合には、そのスイッチに対応するアクセスが許可されていないことを示す。
【００１８】
図３に示すように、スイッチ状態テーブルは、データ項目として、例えば、状態ＮＯ、制御Ｂｉｔ、スイッチ状態を有する。状態ＮＯには、各スイッチＳＷ１Ｒ〜ＳＷ３Ｗのスイッチ状態により示されるアクセス許可パターンを一意に特定するための識別番号が格納される。制御Ｂｉｔには、状態ＮＯを４ビットの二進法で表したビット情報が格納される。スイッチ状態には、各スイッチＳＷ１Ｒ〜ＳＷ３ＷがＯＮであるかＯＦＦであるかを示す情報が格納される。
【００１９】
図３に示すスイッチ状態テーブルに格納されているアクセス許可パターンのうち、状態ＮＯが“０”〜“１１”に対応する複数のアクセス許可パターンは、システムが正常であるときにスイッチ制御回路２０で順次用いられるパターンである。状態ＮＯが“０”〜“１１”に対応する複数のアクセス許可パターンは、何れか一のスイッチＳＷのみがＯＮに設定されているか、または全てのスイッチＳＷがＯＦＦに設定されているパターンである。このような複数のアクセス許可パターンを状態ＮＯにしたがって順次選択し、この選択したアクセス許可パターンに基づいて各スイッチのＯＮ／ＯＦＦを制御させることによって、いずれか一のスイッチのみをＯＮ状態に設定することができる。すなわち、各スイッチＳＷ１Ｒ〜ＳＷ３Ｗを、順番に一つずつＯＮに切り替えていくことができる。これにより、正常時には、各ＣＰＵ１１ａ〜１１ｃによる共有ＲＡＭ２へのアクセスを競合させることなく、順番に一つずつ共有ＲＡＭ２にアクセスさせることができる。なお、本実施形態においては、各ＣＰＵ１１ａ〜１１ｃによる共有ＲＡＭ２へのアクセスを連続させずに、各アクセス間に空き時間を設けている。すなわち、いずれかのスイッチをＯＮにした後は、一旦、全てのスイッチをＯＦＦに切り替えて、その後、次のスイッチをＯＮにしている。これにより、データの送受信をより確実に遂行させることができる。
【００２０】
また、図３に示すスイッチ状態テーブルに格納されているアクセス許可パターンのうち、状態ＮＯが“１５”に対応するアクセス許可パターンは、システムで異常が発生したときにスイッチ制御回路２０で用いられるパターンである。状態ＮＯが“１５”に対応するアクセス許可パターンは、全てのスイッチＳＷがＯＦＦに設定されているパターンである。このようなアクセス許可パターンを選択し、この選択したアクセス許可パターンに基づいて各スイッチのＯＮ／ＯＦＦを制御させることによって、全てのスイッチをＯＦＦ状態に設定することができる。これにより、異常が発生したときには、各ＣＰＵ１１ａ〜１１ｃによる共有ＲＡＭ２への全てのアクセスを禁止させることができる。
【００２１】
また、図３に示すスイッチ状態テーブルに格納されているアクセス許可パターンのうち、状態ＮＯが“１４”に対応するアクセス許可パターンは、システムで異常が発生して修理モードに移行するときにスイッチ制御回路２０で用いられるパターンである。状態ＮＯが“１４”に対応するアクセス許可パターンは、スイッチＳＷ１ＲのみがＯＮに設定されて、その他のスイッチＳＷ１Ｗ〜ＳＷ３ＷがＯＦＦに設定されているパターンである。このようなアクセス許可パターンを選択し、この選択したアクセス許可パターンに基づいて各スイッチのＯＮ／ＯＦＦを制御させることによって、スイッチＳＷ１ＲのみをＯＮ状態に設定することができる。これにより、修理モードに移行したときには、ＣＰＵ１１ａのみが共有ＲＡＭ２からデータを読み込むことができるようになり、ＣＰＵ１１ａによる共有ＲＡＭ２へのデータの書き込みや、ＣＰＵ１１ｂ，１１ｃによる共有ＲＡＭ２への全てのアクセスを禁止させることができる。
【００２２】
次に、図４を参照して共有メモリシステム１の機能構成について説明する。図４に示すように、共有メモリシステム１は、異常判定部５１（判定手段）と、メッセージ受信部５２（受信手段）と、スイッチ制御部５３（制御手段）とを有する。
【００２３】
異常判定部５１は、複数あるマザーボード１０ａ〜１０ｃのうち、何れかのマザーボードで異常が発生したか否かを判定する。具体的に説明すると、まず、ＣＰＵ１１ｂまたはＣＰＵ１１ｃは、マザーボード１０ｂまたはマザーボード１０ｃで異常が発生したことを検知した場合に、その旨をＣＰＵ１１ａに通知する。次に、ＣＰＵ１１ａは、異常が検知された旨の通知を受信した場合、または、ＣＰＵ１１ａ自体がマザーボード１０ａで異常が発生したことを検知した場合に、何れかのマザーボード１０ａ〜１０ｃで異常が発生したと判定する。
【００２４】
メッセージ受信部５２は、外部ツール装置４０から送信される各種のメッセージを受信する。各種のメッセージとしては、例えば、修理モードへの移行を指示する修理モード移行指示メッセージや、共有ＲＡＭ２からデータを読み込むように指示するデータ読込指示メッセージがある。
【００２５】
スイッチ制御部５３は、スイッチ状態テーブルに格納されているアクセス許可パターンのうち、状態ＮＯが“０”〜“１１”に対応する複数のアクセス許可パターンを、状態ＮＯ順にしたがって順次選択することを繰り返す。スイッチ制御部５３は、選択したアクセス許可パターンに基づいて各スイッチＳＷ１Ｒ〜ＳＷ３ＷのＯＮ／ＯＦＦを制御する。これにより、各ＣＰＵ１１ａ〜１１ｃによる共有ＲＡＭ２へのアクセスが制御される。
【００２６】
スイッチ制御部５３は、異常判定部５１によって何れかのマザーボードで異常が発生したと判定された場合に、スイッチ状態テーブルに格納されているアクセス許可パターンのうち、状態ＮＯが“１５”に対応するアクセス許可パターンを選択して保持する。スイッチ制御部５３は、状態ＮＯが“１５”に対応するアクセス許可パターンに基づいて各スイッチＳＷ１Ｒ〜ＳＷ３Ｗを全てＯＦＦに切り替える。
【００２７】
具体的に説明すると、まず、ＣＰＵ１１ａは、何れかのマザーボードで異常が発生したと判定された場合に、ＲＡＭ１２ａに格納されているスイッチ状態テーブルから、状態ＮＯ“１５”に対応する制御Ｂｉｔである“１１１１”を抽出し、この抽出した制御Ｂｉｔを含む制御信号を、スイッチ制御回路２０に送信する。次に、スイッチ制御回路２０のスイッチ駆動回路２１は、受信した制御信号に含まれる制御Ｂｉｔ“１１１１”に基づいて、ＲＡＭ２２に格納されているスイッチ状態テーブルから、制御Ｂｉｔ“１１１１”に対応付けて記憶されているスイッチ状態を抽出する。次に、スイッチ駆動回路２１は、抽出したスイッチ状態に基づいて、全てのスイッチＳＷ１〜ＳＷ３をＯＦＦに切り替える。これにより、各ＣＰＵ１１ａ〜１１ｃによる共有ＲＡＭ２への全てのアクセスが禁止される。
【００２８】
また、スイッチ制御部５３は、メッセージ受信部５２によって外部ツール装置４０から送信される修理モード移行指示メッセージが受信された場合に、スイッチ状態テーブルに格納されているアクセス許可パターンのうち、状態ＮＯが“１４”に対応するアクセス許可パターンを選択して保持する。スイッチ制御部５３は、状態ＮＯが“１４”に対応するアクセス許可パターンに基づいてスイッチＳＷ１ＲのみをＯＮに切り替えて、その他のスイッチＳＷ１Ｗ〜ＳＷ３ＷをＯＦＦに切り替える。
【００２９】
具体的に説明すると、まず、ＣＰＵ１１ａは、修理モード移行指示メッセージが受信された場合に、ＲＡＭ１２ａに格納されているスイッチ状態テーブルから、状態ＮＯ“１４”に対応する制御Ｂｉｔである“１１１０”を抽出し、この抽出した制御Ｂｉｔを含む制御信号を、スイッチ制御回路２０に送信する。次に、スイッチ制御回路２０のスイッチ駆動回路２１は、受信した制御信号に含まれる制御Ｂｉｔ“１１１０”に基づいて、ＲＡＭ２２に格納されているスイッチ状態テーブルから、制御Ｂｉｔ“１１１０”に対応付けて記憶されているスイッチ状態を抽出する。次に、スイッチ駆動回路２１は、抽出したスイッチ状態に基づいて、スイッチＳＷ１ＲのみをＯＮに切り替えて、その他のスイッチＳＷ１Ｗ〜ＳＷ３ＷをＯＦＦに切り替える。これにより、ＣＰＵ１１ａのみが共有ＲＡＭ２からデータを読み込むことができ、ＣＰＵ１１ａによる共有ＲＡＭ２へのデータの書き込みや、ＣＰＵ１１ｂ，１１ｃによる共有ＲＡＭ２への全てのアクセスが禁止される。
【００３０】
次に、図５を参照して、異常が発生したときのアクセス制御処理の流れについて説明する。
【００３１】
まず、共有メモリシステム１の異常判定部５１は、複数あるマザーボード１０ａ〜１０ｃのうち、何れかのマザーボードで異常が発生したか否かを判定する（ステップＳ１）。この判定がＮＯである場合（ステップＳ１；ＮＯ）に、異常判定部５１は、ステップＳ１の判定処理を繰り返す。
【００３２】
一方、ステップＳ１の判定において、何れかのマザーボードで異常が発生したと判定された場合（ステップＳ１；ＹＥＳ）に、スイッチ制御部５３は、スイッチ状態テーブルに格納されているアクセス許可パターンのうち、状態ＮＯが“１５”に対応するアクセス許可パターンを選択して保持する（ステップＳ２）。
【００３３】
次に、スイッチ制御部５３は、状態ＮＯが“１５”に対応するアクセス許可パターンに基づいて全てのスイッチＳＷ１Ｒ〜ＳＷ３ＷをＯＦＦに切り替える（ステップＳ３）。
【００３４】
次に、図６を参照して、修理モードに移行したときのアクセス制御処理の流れについて説明する。
【００３５】
まず、共有メモリシステム１のメッセージ受信部５２によって、外部ツール装置４０から送信される修理モード移行指示メッセージが受信された場合（ステップＳ１１）に、スイッチ制御部５３は、スイッチ状態テーブルに格納されているアクセス許可パターンのうち、状態ＮＯが“１４”に対応するアクセス許可パターンを選択して保持する（ステップＳ１２）。
【００３６】
次に、スイッチ制御部５３は、状態ＮＯが“１４”に対応するアクセス許可パターンに基づいてスイッチＳＷ１ＲのみをＯＮに切り替えて、その他のスイッチＳＷ１Ｗ〜ＳＷ３ＷをＯＦＦに切り替える（ステップＳ１３）。
【００３７】
以上のように、本実施形態における共有メモリシステムによれば、何れかのマザーボードで異常が発生したと判定された場合に、各ＣＰＵ１１ａ〜１１ｃによる共有ＲＡＭ２へのアクセスを全て不可能にすることができるため、異常発生に起因してＣＰＵが暴走しても、各ＣＰＵは共有ＲＡＭ２にアクセスすることができない。したがって、共有ＲＡＭ２に格納されている正常なデータを確実に保護することができる。
【００３８】
また、異常発生によって、各ＣＰＵ１１ａ〜１１ｃによる共有ＲＡＭ２へのアクセスが全て不可能になった場合であっても、修理モード移行指示メッセージが受信された場合には、メインマザーボード１０ａのＣＰＵ１１ａのみが共有ＲＡＭ２から異常発生前のデータを読み込むことができるため、異常発生の原因を解明するのに役立てることができる。
【図面の簡単な説明】
【００３９】
【図１】発明の実施形態における共有メモリシステムのハードウェア構成を例示する図である。
【図２】図１に示すスイッチ制御回路の詳細なハードウェア構成を例示する図である。
【図３】スイッチ状態テーブルのデータ構成を例示する図である。
【図４】共有メモリシステムの機能構成を例示する図である。
【図５】異常が発生したときのアクセス制御処理の流れを説明するためのフローチャートである。
【図６】修理モードに移行したときのアクセス制御処理の流れを説明するためのフローチャートである。
【符号の説明】
【００４０】
１・・・共有メモリシステム、２・・・共有ＲＡＭ、１０（１０ａ，１０ｂ，１０ｃ）・・・マザーボード、１１（１１ａ，１１ｂ，１１ｃ）・・・ＣＰＵ、１２ａ，２２・・・ＲＡＭ、２０・・・スイッチ制御回路、２１・・・スイッチ駆動回路、３０・・・接続コネクタ、４０・・・外部ツール装置、５１・・・異常判定部、５２・・・メッセージ受信部、５３・・・スイッチ制御部。
【図１】
2008027310.tif 000003
【図２】
2008027310.tif 000004
【図３】
2008027310.tif 000005
【図４】
2008027310.tif 000006
【図５】
2008027310.tif 000007
【図６】
2008027310.tif 000008