(57)【特許請求の範囲】
【請求項１】
一方が運用状態で他が待機状態となる冗長構成の２つのホストユニットと、該２つのホストユニットがデータの書き込み及び読み出しを行う共通メモリと、前記２つのホストユニット及び前記共通メモリのそれぞれを接続する共通バスと、前記２つのホストユニット間に配線され、前記２つのホストユニットの一方の運転状態から待機状態への遷移又は待機状態から運転状態への遷移である系切り替えを他のホストユニットに通知する切替信号と、を有するＣＰＵシステムであって、
前記共通バスと前記切替信号とが接続され、前記切替信号からの前記通知によって前記系切り替えを検出し、前記系切り替え時における前記共通バス上のアドレス、データ、前記共通メモリへの書き込み若しくは読み出しを示す転送方法及び転送サイズに係る転送属性を保持する共通バス状態記録部を備え、
前記２つのホストユニットのうち、前記系切り替えで待機状態から運転状態に遷移したホストユニットは、前記共通バス状態記録部に予め割り当てられたアドレスにリードアクセスを実行して前記共通バス状態記録部が保持する前記転送属性を取得し、前記転送属性が有する前記転送方法が前記共通メモリへの書き込みを示す場合に、前記アドレスのデータは不正データに書き変わっている可能性があると判断することを特徴とするＣＰＵシステム。
【請求項２】
前記共通バス状態記録部は、
前記切替信号が接続され、前記切替信号からの前記通知によってラッチ信号を生成するラッチ信号生成部と、
該ラッチ信号を受信し、該受信をトリガとして前記系切り替え時における前記共通バス上のアドレス、データ、前記共通メモリへの書き込み若しくは読み出しを示す転送方法及び転送サイズに係る転送属性を保持する共通バスラッチ部と、
前記系切り替えで待機状態から運転状態に遷移したホストユニットからの、前記予め割り当てられたアドレスに対するリードアクセスを検出し、リードバッファのイネーブル信号を有効にするバッファ制御部と、
該イネーブル信号が有効とされたとき、前記共通バスラッチ部に保持されている前記転送属性を前記共通バスへ中継する前記リードバッファと、
を備え、
前記系切り替えで待機状態から運転状態に遷移したホストユニットは、前記共通バスへ中継された前記転送属性を取得することを特徴とする請求項１に記載のＣＰＵシステム。
【請求項３】
前記共通メモリは２つあり、リードアクセスでは該２つの共通メモリの一方が運用状態で他が待機状態となり、ライトアクセスでは前記２つの共通メモリに同じデータが書き込まれる冗長構成を有し、
前記２つの共通メモリを接続し、前記２つの共通メモリの一方の運転状態から待機状態への遷移又は待機状態から運転状態への遷移を他の共通メモリに通知する切替信号を別途備え、
該別途備える切替信号は、前記共通バス状態記録部に接続され、
前記共通バス状態記録部は、前記別途備える切替信号により、前記２つの共通メモリの一方の運転状態から待機状態への遷移又は待機状態から運転状態への遷移を検出し、そのタイミングにおける前記共通バス上のアドレス、データ、前記２つの共通メモリへの書き込み若しくは読み出しを示す転送方法及び転送サイズに係る転送属性を保持することを特徴とする請求項１又は２に記載のＣＰＵシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＰＵシステムに関し、特に、ホストユニットの系の切替を行えるＣＰＵシステムに関する。
【背景技術】
【０００２】
プロセッサ（以下ＣＰＵ）を搭載したホストユニットが冗長構成を成し、運用系のホストユニットのみアクセス可能で共通バス上に配置する共通メモリを有することで、ホストユニットの系切り替え時に処理の引き継ぎを行う従来のＣＰＵシステムの構成を図５、運用系ホストユニットに障害が発生した場合の共通バスの状態を図６に示し説明する。
【０００３】
本構成において、ホストユニット１が運用状態、ホストユニット２が待機状態であるとした場合、ホストユニット１は該ＣＰＵシステムを機能させるためのデータ（情報）を共通バス１０３を介して共通メモリ部３へ書き込み又は、読み出しを行う。
【０００４】
この状態で保守者によるホストユニットの系切り替え制御が実行された場合、ホストユニット１のソフトウェアは実行途中の処理を完了後、切替信号１０１によりホストユニット２に対して、自系が待機となることを通知し、正常待機状態であったホストユニット２は切替信号１０２により運用状態に遷移したことをホストユニット１へ通知する。
【０００５】
これによりソフトウェアが介在した正規の系切り替え手順を踏んだ系切り替えが完了する。
【０００６】
一方、運用系ホストユニット１にハードウェア障害が発生した場合や強制リセットが実行された場合には実行中の処理に関係無く、切替信号１０１によりホストユニット２に対して、自系が運用できない状態となったことを通知し、正常待機状態であったホストユニット２は運用状態に遷移することで強制的に系切り替えが行われる。
【特許文献１】特開平０１−０９９１３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、従来の冗長構成におけるホストユニット切り替え方法には次のような問題点があった。
【０００８】
その問題点は、運用系ホストユニット１にハードウェア障害が発生した場合や強制リセットが実行された場合には実行中の処理に関係無く強制的に系切り替えが行われ、この時、ホストユニット１による共通メモリ部３に対するバスアクセスが実行中であれば、共通バス１０３上のバスアクセスは中断され、ライトアクセスであった場合にはそのアドレスのデータは不正データに書き変わってしまう恐れがあり、新たに運用系となったホストユニット２がホストユニット１の処理引き継ぎとして該アドレスのデータを使用した場合に不正データであるためにホストユニット２も障害に至り、システムダウンに陥る可能があるということである。
【０００９】
そこで、本発明は、新たに運用系となったホストユニットにおける共通メモリ内の不正データに起因した障害を未然に防止することを目的とする。
【課題を解決するための手段】
【００１０】
上述の問題を解決するため、本発明に係るＣＰＵシステムは、一方が運用状態で他が待機状態となる冗長構成の２つのホストユニットと、該２つのホストユニットがデータの書き込み及び読み出しを行う共通メモリと、前記２つのホストユニット及び前記共通メモリのそれぞれを接続する共通バスと、前記２つのホストユニット間に配線され、前記２つのホストユニットの一方の運転状態から待機状態への遷移又は待機状態から運転状態への遷移である系切り替えを他のホストユニットに通知する切替信号と、を有するＣＰＵシステムであって、前記共通バスと前記切替信号とが接続され、前記切替信号からの前記通知によって前記系切り替えを検出し、前記系切り替え時における前記共通バス上のアドレス、データ、前記共通メモリへの書き込み若しくは読み出しを示す転送方法及び転送サイズに係る転送属性を保持する共通バス状態記録部を備え、前記２つのホストユニットのうち、前記系切り替えで待機状態から運転状態に遷移したホストユニットは、前記共通バス状態記録部に予め割り当てられたアドレスにリードアクセスを実行して前記共通バス状態記録部が保持する前記転送属性を取得し、前記転送属性が有する前記転送方法が前記共通メモリへの書き込みを示す場合に、前記アドレスのデータは不正データに書き変わっている可能性があると判断することを特徴とする。
【００１１】
上述の問題を解決するため、本発明に係るＣＰＵシステムは、前記共通バス状態記録部は、前記切替信号が接続され、前記切替信号からの前記通知によってラッチ信号を生成するラッチ信号生成部と、該ラッチ信号を受信し、該受信をトリガとして前記系切り替え時における前記共通バス上のアドレス、データ、前記共通メモリへの書き込み若しくは読み出しを示す転送方法及び転送サイズに係る転送属性を保持する共通バスラッチ部と、前記系切り替えで待機状態から運転状態に遷移したホストユニットからの、前記予め割り当てられたアドレスに対するリードアクセスを検出し、リードバッファのイネーブル信号を有効にするバッファ制御部と、該イネーブル信号が有効とされたとき、前記共通バスラッチ部に保持されている前記転送属性を前記共通バスへ中継する前記リードバッファと、を備え、前記系切り替えで待機状態から運転状態に遷移したホストユニットは、前記共通バスへ中継された前記転送属性を取得することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、ホストユニットが冗長構成を成し、運用系のホストユニットのみアクセス可能で共通バス上に配置する共通メモリを有することでホストユニットの系切り替え時に処理の引き継ぎを行うＣＰＵシステムにおいて、新たに運用系となったホストユニットにおける共通メモリ内の不正データに起因した障害を未然に防止することができる。
【００１３】
その理由は、ホストユニットの系切り替えが発生したタイミングにおける共通バスの状態を共通バス状態記録部が保持することで、新たに運用系となったホストユニットは中断されたバスアクセスが存在するか否か、中断されたバスアクセスが存在する場合は、アドレス情報から不正データに書き変わってしまっている恐れのある共通メモリ内の特定データを認識することが可能となるためである。
【００１４】
本発明によれば、ホストユニットが冗長構成を成す場合に限らず、負荷分散を目的とした複数のホストユニットが全て運用系となるＣＰＵシステムにおいても共通メモリ内の不正データに起因した障害を未然に防止することができる。
【００１５】
その理由は、共通バス状態を保持する契機となるホストユニットの切替信号に変え、ホストユニットの運用状態を示す信号を使用することで、運用を続けるホストユニットは障害が発生したホストユニットが共通メモリを更新中であったか否かを確認することが可能となり、中断されたバスアクセスが存在する場合は、アドレス情報から不正データに書き変わってしまっている恐れのある共通メモリ内の特定データを認識することが可能となるためである。
【発明を実施するための最良の形態】
【００１６】
以下、添付図面を参照して本発明を実施するための最良の実施の形態を説明する。
【００１７】
［構成の説明］
本発明の一実施の形態として、ホストユニットが冗長構成を成し、運用系のホストユニットのみアクセス可能で共通バス上に配置する共通メモリを有することでホストユニットの系切り替え時に処理の引き継ぎを行うＣＰＵシステムにおけるホストユニット及び共通メモリ周辺の構成を図１、共通バス状態記録部４の内部構成を図２に示し説明する。
【００１８】
図１において、ホストユニット１及び２は共通バス１０３を介して共通メモリ部３へ接続され、共通メモリ部３に格納するデータの書き込み及び、読み出しを行う。
【００１９】
また、共通バス１０３は共通バス状態記録部４へも接続され、ホストユニット１及び２が実行する共通バス１０３上のバスアクセスは共通バス状態記録部４へも入力される。
【００２０】
ホストユニット１とホストユニット２の系切り替えを制御する切替信号１０１及び１０２は、ホストユニット間に配線され、共通バス状態記録部４へも接続される。
【００２１】
図２において、共通バス状態記録部４に入力される共通バス１０３は共通バスラッチ部５へ接続され、切替信号１０１及び１０２はラッチ信号生成部７へ接続される。
【００２２】
切替信号１０１又は１０２からの通知によりホストユニットの系切り替えが発生したことを検出したラッチ信号生成部７は共通バスラッチ部５へ接続されるラッチ信号を生成し、共通バスラッチ部５は、そのラッチ信号をトリガとして、そのタイミングにおける共通バス１０３上のアドレス、データ、書き込み又は読み出しを示す転送方法、転送サイズなどの転送属性から成る系切り替え発生時の共通バス状態を保持する。
【００２３】
ホストユニットの系切り替え発生タイミングにおける共通バス状態の読み出しは、共通バス状態記録部４に予め割り当てられたアドレスに対するリードバスアクセスにより実行され、バッファ制御部８は入力される共通バス１０３のアドレスバス及び転送属性からホストユニットにより開始されたバスアクセスが共通バス状態記録部４に予め割り当てられたアドレスであること且つリードアクセスであることを検出すると、リードバッファ６のイネーブル信号を有効にする。
【００２４】
イネーブルされたリードバッファ６は共通バスラッチ部５に保持されている情報を共通バス１０３のデータバスへ中継し、ホストユニットは自ユニットが運用系となった系切り替え発生タイミングにおける共通バス１０３の状態を得ることができる。
【００２５】
［動作の説明］
前述のＣＰＵシステムにおけるホストユニット及び共通メモリ周辺の構成を図１、共通バス状態記録部４の内部構成を図２、運用系ホストユニットの障害発生により系切り替えが発生した場合の動作フローチャートを図３に示し本発明の動作を説明する。
【００２６】
ホストユニット１が運用状態、ホストユニット２が待機状態であるとした場合、ホストユニット１は該ＣＰＵシステムを機能させるためのデータ（情報）を共通バス１０３を介して共通メモリ部３へ書き込み又は、読み出しを随時実行しており、ホストユニット１が実行する共通バス１０３上のバスアクセスは共通バス状態記録部４へも入力され、ホストユニットの系切り替えを制御する切替信号１０１及び１０２も共通バス状態記録部４へ入力される。
【００２７】
この状態で保守者によるホストユニットの系切り替え制御が実行された場合、ホストユニット１のソフトウェアは実行途中の処理を完了後、切替信号１０１によりホストユニット２に対して、自系が待機となることを通知し、正常待機状態であったホストユニット２は切替信号１０２により運用状態に遷移したことをホストユニット１へ通知する。
【００２８】
これによりソフトウェアが介在した正規の系切り替え手順を踏んだ系切り替えが完了する。
【００２９】
共通バス状態記録部４においては、切替信号１０１の変化によりホストユニットの系切替が発生したことを検出したラッチ信号生成部７は共通バスラッチ部５へ接続されるラッチ信号を生成し、共通バスラッチ部５はそのタイミングにおける共通バス１０３上のアドレス、データ、書き込み又は読み出しを示す転送方法、転送サイズなどの転送属性から成る系切り替え発生時の共通バス状態を保持する。
【００３０】
この時、ホストユニット１による実行途中の処理はないため、共通バス１０３上で実行されているバスアクセスは存在せず、共通バスラッチ部５は非アクティブ状態の共通バス状態を保持することになる。
【００３１】
系切り替えにより新たに運用系となったホストユニット２は共通バス状態記録部４に予め割り当てられたアドレスに対するリードバスアクセスを実行する。
【００３２】
共通バス１０３のアドレスバス及び転送属性が入力されるバッファ制御部８はホストユニット２により開始されたバスアクセスが共通バス記録部４に予め割り当てられたアドレスであること且つリードアクセスであることを検出し、リードバッファ６のイネーブル信号を有効にする。
【００３３】
イネーブルされたリードバッファ６は共通バスラッチ部５に保持されている情報を共通バス１０３のデータバスへ中継し、ホストユニット２は自ユニットが運用系となった系切り替え発生タイミングにおける共通バス１０３の状態、即ち、非アクティブ状態を示す状態（プルアップ終端であれば全信号がＨｉレベル）を得て、共通メモリ部３に格納されるデータに、不正な可能性があるデータが存在しないことを認識した上で運用系ホストユニットとしての処理を引き継ぐ。
【００３４】
一方、ハードウェア障害や強制リセットに代表される正規の系切り替え手順を踏まない系切り替えは、ホストユニット１が実行中の処理に関係無く、切替信号１０１によりホストユニット２に対して、自系が運用できない状態となったことを通知し、正常待機状態であったホストユニット２は運用状態に遷移することで強制的に系切り替えが行われる。
【００３５】
正規な系切り替え時と同様に、共通バス状態記録部４において、切替信号１０１の変化によりホストユニットの系切り替えが発生したことを検出したラッチ信号生成部７は共通バスラッチ部５へ接続されるラッチ信号を生成し、共通バスラッチ部５はそのタイミングにおける共通バス１０３上のアドレス、データ、書き込み又は読み出しを示す転送方法、転送サイズなどの転送属性から成る系切り替え発生時の共通バス状態を保持する。
【００３６】
系切り替え発生時にホストユニット１による共通メモリ部３に対するバスアクセス実行中であれば、共通バスラッチ部５はそのバスアクセスが示すアドレス、データ、転送属性を保持し、バスアクセス実行中でなければ共通非アクティブ状態の共通バス状態を保持する。
【００３７】
系切り替えにより新たに運用系となったホストユニット２は共通バス状態記録部４に予め割り当てられたアドレスに対するリードバスアクセスを実行する。
【００３８】
共通バス１０３のアドレスバス及び転送属性が入力されるバッファ制御部８はホストユニット２により開始されたバスアクセスが共通バス記録部４に予め割り当てられたアドレスであること且つリードアクセスであることを検出し、リードバッファ６のイネーブル信号を有効にする。
【００３９】
イネーブルされたリードバッファ６は共通バスラッチ部５に保持されている情報である転送属性を共通バス１０３のデータバスへ中継し、ホストユニット２はこの転送属性を取得することにより、自ユニットが運用系となった系切り替え発生タイミングにおける共通バス１０３の状態、即ち、系切り替え発生時にホストユニット１による共通メモリ部３に対するバスアクセス実行中であれば、強制的に中断されたバスアクセスが示すアドレス、データ、転送属性、バスアクセス実行中でなければ非アクティブ状態を示す状態（プルアップ終端であれば全信号がＨｉレベル）を得る。
【００４０】
共通バスの状態が非アクティブ状態であれば、共通メモリ部３に格納されるデータに、不正な可能性があるデータが存在しないことを認識した上で運用系ホストユニットとしての処理を継続し、共通メモリ部３へのライトアクセスを示す場合、すなわち前述の転送属性が有する転送方法が共通メモリ３への書き込みを示す場合は、そのアドレスのデータは不正データに書き変わっている可能性があると判断し、以降の処理では使用しないなど、そのデータを無効として運用系ホストユニットとしての処理を引き継ぐ。
【００４１】
［他の実施の形態］
本発明の他の実施の形態について、図４を参照して説明する。
【００４２】
図４に示すホストユニットが冗長構成を成し、共通バス上に配置する共通メモリを有することでホストユニットの系切り替え時に処理の引き継ぎを行うＣＰＵシステムにおけるホストユニット及び共通メモリ周辺の構成に対し、共通メモリ部が３−１及び３−２による冗長構成を成し、共通メモリの切替信号３０１及び３０２が共通バス記録部４へ入力され、共通バス状態記録部４では共通メモリ部の系切り替え発生時も切替信号３０１又は３０２の変化により共通メモリ部の系切り替えが発生したことを検出し、そのタイミングにおける共通バス１０３の状態、すなわち共通バス１０３上のアドレス、データ、共通メモリ３−１、３−２への書き込み若しくは読み出しを示す転送方法及び転送サイズに係る転送属性を保持する。
【００４３】
なお、共通メモリ部３−１及び３−２へ対するバスアクセスは運用系アドレスへのみ実行され、ライトアクセスでは運用系共通メモリへの書き込みと同時に待機系共通メモリも同じデータが書き込まれ、リードアクセスでは運用系共通メモリのみがデータ出力を行うものとする。
【００４４】
本実施の形態は、共通メモリ部の系切り替えが発生したタイミングにおける共通バスの状態を確認することが可能となるため、運用系共通メモリ部のメモリ不良が原因の様な障害により系切り替えが発生した場合に不良箇所の特定など障害調査のために有益な情報を得ることができるという新たな効果を有する。
【産業上の利用可能性】
【００４５】
本発明は、共通メモリ内の不正データに起因した障害を未然に防止するようなＣＰＵシステムに利用できる。
【図面の簡単な説明】
【００４６】
【図１】本発明の一実施の形態としてのＣＰＵシステムの構成を示すブロック図である。
【図２】共通バス状態記録部の内部構成を示すブロック図である。
【図３】本発明の一実施の形態としてのＣＰＵシステムの動作を示すブロック図である。
【図４】本発明の他の実施の形態の構成を示すブロック図である。
【図５】従来のＣＰＵシステムの構成を示すブロック図である。
【図６】運用系ホストユニットに障害が発生した場合の共通バスの状態を示すブロック図である。
【符号の説明】
【００４７】
１  ホストユニット
２  ホストユニット
３  共通メモリ部
４  共通バス状態記録部
５  共通バスラッチ部
６  リードバッファ
７  ラッチ信号生成部
８  バッファ制御部
１０１  切替信号
１０２  切替信号
１０３  共通バス
【図１】
0004411236.tif 000002
【図２】
0004411236.tif 000003
【図３】
0004411236.tif 000004
【図４】
0004411236.tif 000005
【図５】
0004411236.tif 000006
【図６】
0004411236.tif 000007