(57)【特許請求の範囲】
【請求項１】
ＣＰＵ、システムコントローラー及びメインメモリをそれぞれ備えた複数の情報処理装置を並設させ、障害発生時の処理の引き継ぎに必要なデータを一の情報処理装置からメモリ交差バスを介して他の情報処理装置に転送する冗長化構成のメモリ二重化システムにおいて、
前記一の情報処理装置のシステムコントローラーは、前記他の情報処理装置のシステムコントローラーによって、前記一の情報処理装置からメモリ交差バスを介して他の情報処理装置に転送されたアドレス・データ構成のデータから異常を検出した場合に、当該異常のあるデータを転送した障害信号線の情報に基づき、当該障害信号線を除き、正常な信号線のみを使用した新たなプロトコルを生成し、前記アドレス・データ構成を当該新たなプロトコルによるアドレス・データ構成に変換するプロトコル変換制御部と、当該プロトコル変換制御部から入力されるメモリ交差バスの障害に関する情報を格納すると共に、当該メモリ交差バスの障害に関する情報を前記一の情報処理装置のＣＰＵに通知する障害表示部と、を備え、
前記他の情報処理装置のシステムコントローラーは、前記一の情報処理装置からメモリ交差バスを介して他の情報処理装置に転送されたアドレス・データ構成のデータから異常を検出した場合に、前記障害信号線を検出して、前記障害信号線の情報を前記一の情報処理装置のプロトコル変換制御部に通知する障害信号通知部と、前記一の情報処理装置からメモリ交差バスを介して他の情報処理装置に転送された新たなプロトコルによるアドレス・データ構成及び前記障害信号通知部から入力される障害信号線の情報に基づき、前記新たなプロトコルによるアドレス・データ構成を、前記新たなプロトコルによるアドレス・データ構成に変換する前のアドレス・データ構成に復元するプロトコル復元制御部と、を備え、
前記一の情報処理装置のシスエムコントローラーは、前記プロトコル変換制御部により生成される新たなプロトコルを順次格納し、当該格納した最新のプロトコルによるアドレス・データ構成により、前記他の情報処理装置にデータを転送し、
前記一の情報処理装置のＣＰＵは、前記メモリ交差バスの障害に関する情報及びメモリ交差バスの処理性能に基づき、前記一の情報処理装置から前記他の情報処理装置を切り離し一重化するかを判断することを特徴とするメモリ二重化システム。
【請求項２】
請求項１に記載のメモリ二重化システムにおいて、
前記一の情報処理装置から所定のアドレス・データ構成で送信された全データのうち、いずれかにデータ異常が発生した場合に、再度、前記アドレス・データ構成で全データを送信して前記データ異常を生じた信号線と同一の信号線でデータ異常が発生したとき、当該同一の信号線を異常信号線として特定することを特徴とするメモリ二重化システム。
【請求項３】
ＣＰＵ、システムコントローラー及びメインメモリを備える他の情報処理装置と連携可能な情報処理装置において、
前記情報処理装置のシステムコントローラーは、当該情報処理装置が運用系として機能する場合であって、前記他の情報処理装置がメモリ交差バスを介して転送されたアドレス・データ構成のデータから異常を検出したときに、前記他の情報処理装置から通知される当該異常のあるデータを転送した障害信号線の情報に基づき、当該障害信号線を除き、正常な信号線のみを使用した新たなプロトコルを生成し、前記アドレス・データ構成を当該新たなプロトコルによるアドレス・データ構成に変換するプロトコル変換制御部と、当該プロトコル変換制御部から入力されるメモリ交差バスの障害に関する情報を格納すると共に、当該メモリ交差バスの障害に関する情報を前記運用系の情報処理装置のＣＰＵに通知する障害表示部と、を備え、
前記運用系の情報処理装置のシステムコントローラーは、前記プロトコル変換制御部により生成される新たなプロトコルを順次格納し、当該格納した最新のプロトコルによるアドレス・データ構成にて前記他の情報処理装置にデータを転送し、
前記運用系の情報処理装置のＣＰＵは、前記メモリ交差バスの障害に関する情報及びメモリ交差バスの処理性能に基づき、前記運用系の情報処理装置から前記他の情報処理装置を切り離し一重化するかを判断することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、運用系及び待機系の情報処理装置におけるそれぞれのメモリを常に同期化させるメモリ二重化制御方式のプロセッサシステムに関し、特に、運用系と待機系との系間を接続するメモリ交差バスの信号線に障害が発生した場合であっても、メモリの二重化を継続させることができるメモリ二重化システム及び情報処理装置に関する。
【背景技術】
【０００２】
移動通信システムにおけるプロセッサシステムは、二重化の冗長化構成を取ることにより、運用系（ＡＣＴ）の情報処理装置（以下、運用系と称す）に障害が発生した場合に、待機系（ＳＢＹ）の情報処理装置（以下、待機系と称す）に切替えて運用を継続することで、システムの信頼性の向上を図っている。
【０００３】
例えば、従来の二重化メモリの同系同時書込方式は、現用系ＣＰＵから自系メモリ装置にデータ書込が行われる際に、自系バス接続装置により自系ＣＰＵバス上での書込アドレスが所定アドレス領域内のものであると判定される度に、自系バス接続装置による自律制御下に、自系バス接続装置から予備系バス接続装置へのメモリアクセス要求によって、予備系ＣＰＵバスの使用権が獲得され、かつバス接続装置間交絡バス上でのデータ／制御信号の転送方向が制御された状態で、該バス接続装置間交絡バスを介し書込データ、書込アドレスおよび書込制御信号が現用系ＣＰＵバスから予備系ＣＰＵバス上に転送されることによって、現用系メモリ装置と同時に予備系メモリ装置上の同一アドレスには、同一内容のデータ書込が行われるようにした（例えば、特許文献１参照）。
【０００４】
また、二重化で構成されたプロセッサシステムにおける一般的な制御方式としては、運用系内のメモリ内容を、運用系と待機系との系間を接続するメモリ交差バスを経由して、待機系内のメモリにコピーすることで、メモリの二重化を実現している。特に、メモリ交差バスを経由した転送データについては、誤り訂正符号（Error Correcting Code：以下、ＥＣＣと称す）のチェックを行なうことで、ハード的なデータ化けを検出し、システムの信頼性を向上させている。
【０００５】
例えば、従来の非運用系メモリ更新方式は、非運用系のＦＩＦＯおよびバッファを介して受信した受信した運用系からのデータにＣＰＵで誤りが検出されたとき、非運用系は運用系に対して再送要求部から再送要求信号を送出する。ＦＩＦＯおよびバッファを介してこの再送要求信号を受信した運用系は、ＦＩＦＯに記憶しているデータから、再送要求のあったデータを非運用系に対して再送する。このデータを受信した非運用系は受信データに誤りがなければ非運用系のメモリを更新する（例えば、特許文献２参照）。
【特許文献１】特公平８−２７７６１号公報
【特許文献２】特開平５−１６５７３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来の非運用系メモリ更新方式においては、再送要求信号に対するデータが再送され、この再送されたデータに誤りがあった場合についての運用系及び非運用系の動作が記載されていない。このため、再び、再送要求信号に対するデータに誤りがあった場合に、非運用系パッケージのＣＰＵは、再度、再送要求部を制御して運用系パッケージに対して再送要求信号を出力することになると考えられる。すなわち、データに誤りを生じさせている要因が、このデータを運用系と待機系との系間で転送している信号線にある場合には、データ転送にこの信号線を使用する限りは、系間を転送する度に必ずデータに誤りを生じ、運用系から非運用系に対する転送処理を終えることができないという問題点があった。
【０００７】
なお、この問題点を解決するための制御方式としては、非運用系から同じ誤りデータに対して連続して再送要求信号が送出された場合に、運用系のＣＰＵに対してメモリ交差バスの障害を通知したうえで、運用系のＣＰＵが、メモリ交差バスによる非運用系へのデータ転送を中止させることで、運用系と非運用系とを切り離し、二重化の運用を停止することが考えられる。
【０００８】
しかしながら、この制御方式は、メモリ交差バスのうち少なくとも１本の信号線に障害が発生した場合には、短時間で一重化の運用となるために、可用性が低く、システムとしてメモリの二重化による信頼性が得られない状態になるという問題点があった。特に、障害が運用系で生じていた場合には、システムを再開させたとしても、二重化が取れないという問題点があった。
【０００９】
この発明は、上述のような課題を解決するためになされたもので、運用系と待機系との系間を接続するメモリ交差バスの信号線に障害が発生した場合であっても、メモリの二重化を継続させることができるメモリ二重化システム及び情報処理装置を提供するものである。
【課題を解決するための手段】
【００１０】
この発明に係るメモリ二重化システムにおいては、ＣＰＵ、システムコントローラー及びメインメモリをそれぞれ備えた複数の情報処理装置を並設させ、障害発生時の処理の引き継ぎに必要なデータを一の情報処理装置からメモリ交差バスを介して他の情報処理装置に転送する冗長化構成のメモリ二重化システムにおいて、前記一の情報処理装置のシステムコントローラーは、前記他の情報処理装置のシステムコントローラーによって、前記一の情報処理装置からメモリ交差バスを介して他の情報処理装置に転送されたアドレス・データ構成のデータから異常を検出した場合に、当該異常のあるデータを転送した障害信号線の情報に基づき、当該障害信号線を除き、正常な信号線のみを使用した新たなプロトコルを生成し、前記アドレス・データ構成を当該新たなプロトコルによるアドレス・データ構成に変換するプロトコル変換制御部と、当該プロトコル変換制御部から入力されるメモリ交差バスの障害に関する情報を格納すると共に、当該メモリ交差バスの障害に関する情報を前記一の情報処理装置のＣＰＵに通知する障害表示部と、を備え、前記他の情報処理装置のシステムコントローラーは、前記一の情報処理装置からメモリ交差バスを介して他の情報処理装置に転送されたアドレス・データ構成のデータから異常を検出した場合に、前記障害信号線を検出して、前記障害信号線の情報を前記一の情報処理装置のプロトコル変換制御部に通知する障害信号通知部と、前記一の情報処理装置からメモリ交差バスを介して他の情報処理装置に転送された新たなプロトコルによるアドレス・データ構成及び前記障害信号通知部から入力される障害信号線の情報に基づき、前記新たなプロトコルによるアドレス・データ構成を、前記新たなプロトコルによるアドレス・データ構成に変換する前のアドレス・データ構成に復元するプロトコル復元制御部と、を備え、前記一の情報処理装置のシスエムコントローラーは、前記プロトコル変換制御部により生成される新たなプロトコルを順次格納し、当該格納した最新のプロトコルによるアドレス・データ構成により、前記他の情報処理装置にデータを転送し、前記一の情報処理装置のＣＰＵは、前記メモリ交差バスの障害に関する情報及びメモリ交差バスの処理性能に基づき、前記一の情報処理装置から前記他の情報処理装置を切り離し一重化するかを判断するものである。
【００１２】
また、この発明に係るメモリ二重化システムにおいては、必要に応じて、前記一の情報処理装置から所定のアドレス・データ構成で送信された全データのうち、いずれかにデータ異常が発生した場合に、再度、前記アドレス・データ構成で全データを送信して前記データ異常を生じた信号線と同一の信号線でデータ異常が発生したとき、当該同一の信号線を異常信号線として特定するものである。
【００１４】
この発明に係るメモリ情報処理装置においては、前記情報処理装置のシステムコントローラーは、当該情報処理装置が運用系として機能する場合であって、前記他の情報処理装置がメモリ交差バスを介して転送されたアドレス・データ構成のデータから異常を検出したときに、前記他の情報処理装置から通知される当該異常のあるデータを転送した障害信号線の情報に基づき、当該障害信号線を除き、正常な信号線のみを使用した新たなプロトコルを生成し、前記アドレス・データ構成を当該新たなプロトコルによるアドレス・データ構成に変換するプロトコル変換制御部と、当該プロトコル変換制御部から入力されるメモリ交差バスの障害に関する情報を格納すると共に、当該メモリ交差バスの障害に関する情報を前記運用系の情報処理装置のＣＰＵに通知する障害表示部と、を備え、前記運用系の情報処理装置のシステムコントローラーは、前記プロトコル変換制御部により生成される新たなプロトコルを順次格納し、当該格納した最新のプロトコルによるアドレス・データ構成にて前記他の情報処理装置にデータを転送し、前記運用系の情報処理装置のＣＰＵは、前記メモリ交差バスの障害に関する情報及びメモリ交差バスの処理性能に基づき、前記運用系の情報処理装置から前記他の情報処理装置を切り離し一重化するかを判断するものである。
【発明の効果】
【００１６】
この発明に係るメモリ二重化システムにおいては、ＣＰＵ、システムコントローラー及びメインメモリをそれぞれ備えた複数の情報処理装置を並設させ、障害発生時の処理の引き継ぎに必要なデータを一の情報処理装置からメモリ交差バスを介して他の情報処理装置に転送する冗長化構成のメモリ二重化システムにおいて、前記一の情報処理装置のシステムコントローラーは、前記他の情報処理装置のシステムコントローラーによって、前記一の情報処理装置からメモリ交差バスを介して他の情報処理装置に転送されたアドレス・データ構成のデータから異常を検出した場合に、当該異常のあるデータを転送した障害信号線の情報に基づき、当該障害信号線を除き、正常な信号線のみを使用した新たなプロトコルを生成し、前記アドレス・データ構成を当該新たなプロトコルによるアドレス・データ構成に変換するプロトコル変換制御部と、当該プロトコル変換制御部から入力されるメモリ交差バスの障害に関する情報を格納すると共に、当該メモリ交差バスの障害に関する情報を前記一の情報処理装置のＣＰＵに通知する障害表示部と、を備え、前記他の情報処理装置のシステムコントローラーは、前記一の情報処理装置からメモリ交差バスを介して他の情報処理装置に転送されたアドレス・データ構成のデータから異常を検出した場合に、前記障害信号線を検出して、前記障害信号線の情報を前記一の情報処理装置のプロトコル変換制御部に通知する障害信号通知部と、前記一の情報処理装置からメモリ交差バスを介して他の情報処理装置に転送された新たなプロトコルによるアドレス・データ構成及び前記障害信号通知部から入力される障害信号線の情報に基づき、前記新たなプロトコルによるアドレス・データ構成を、前記新たなプロトコルによるアドレス・データ構成に変換する前のアドレス・データ構成に復元するプロトコル復元制御部と、を備え、前記一の情報処理装置のシスエムコントローラーは、前記プロトコル変換制御部により生成される新たなプロトコルを順次格納し、当該格納した最新のプロトコルによるアドレス・データ構成により、前記他の情報処理装置にデータを転送し、前記一の情報処理装置のＣＰＵは、前記メモリ交差バスの障害に関する情報及びメモリ交差バスの処理性能に基づき、前記一の情報処理装置から前記他の情報処理装置を切り離し一重化するかを判断することにより、複数の情報処理装置間を接続するメモリ交差バスの信号線に障害が発生した場合であっても、メモリの二重化を継続させることができ、システムとしての可用性を向上させることができる。また、新たなプロトコルを用いて複数の情報処理装置間のデータ転送を制御することができ、同一の障害信号線を要因とする重複する再送（リトライ）要求を抑制することができる。
【００１８】
また、この発明に係るメモリ二重化システムにおいては、必要に応じて、前記一の情報処理装置から所定のアドレス・データ構成で送信された全データのうち、いずれかにデータ異常が発生した場合に、再度、前記アドレス・データ構成で全データを送信して前記データ異常を生じた信号線と同一の信号線でデータ異常が発生したとき、当該同一の信号線を異常信号線として特定することにより、障害信号線を検出するためのデータ転送回数を２回に制限する。
【００１９】
さらに、この発明に係るメモリ二重化システムにおいては、必要に応じて、前記一の情報処理装置のシステムコントローラーは、前記プロトコル変換制御部により生成される新たなプロトコルを順次格納され、当該格納された最新のプロトコルによるアドレス・データ構成にて前記他の情報処理装置に転送することにより、新たなプロトコルを用いて複数の情報処理装置間のデータ転送を制御することができ、同一の障害信号線を要因とする重複する再送（リトライ）要求を抑制することができる。
【００２０】
この発明に係るメモリ情報処理装置においては、前記情報処理装置のシステムコントローラーは、当該情報処理装置が運用系として機能する場合であって、前記他の情報処理装置がメモリ交差バスを介して転送されたアドレス・データ構成のデータから異常を検出したときに、前記他の情報処理装置から通知される当該異常のあるデータを転送した障害信号線の情報に基づき、当該障害信号線を除き、正常な信号線のみを使用した新たなプロトコルを生成し、前記アドレス・データ構成を当該新たなプロトコルによるアドレス・データ構成に変換するプロトコル変換制御部と、当該プロトコル変換制御部から入力されるメモリ交差バスの障害に関する情報を格納すると共に、当該メモリ交差バスの障害に関する情報を前記運用系の情報処理装置のＣＰＵに通知する障害表示部と、を備え、前記運用系の情報処理装置のシステムコントローラーは、前記プロトコル変換制御部により生成される新たなプロトコルを順次格納し、当該格納した最新のプロトコルによるアドレス・データ構成にて前記他の情報処理装置にデータを転送し、前記運用系の情報処理装置のＣＰＵは、前記メモリ交差バスの障害に関する情報及びメモリ交差バスの処理性能に基づき、前記運用系の情報処理装置から前記他の情報処理装置を切り離し一重化するかを判断することにより、複数の情報処理装置間を接続するメモリ交差バスの信号線に障害が発生した場合であっても、メモリの二重化を継続させることができ、システムとしての可用性を向上させることができる。また、新たなプロトコルを用いて複数の情報処理装置間のデータ転送を制御することができ、同一の障害信号線を要因とする重複する再送（リトライ）要求を抑制することができる。また、複数の情報処理装置間を接続するメモリ交差バスの信号線に障害が発生した場合であっても、メモリの二重化を継続させることができ、システムとしての可用性を向上させることができる。
【発明を実施するための最良の形態】
【００２２】
（本発明の第１の実施形態）
図１は第１の実施形態におけるメモリ二重化システムのシステム構成を示すブロック図、図２はＣＰＵバス及びメインメモリバスに対応するアドレス／データ構成を説明するための説明図、図３はメモリ交差バスに対応するアドレス・データ構成を説明するための説明図、図４は障害信号線を縮退した新たなプロトコルによるアドレス・データ構成の一例を説明するための説明図、図５は第１の実施形態におけるメモリ二重化システムの動作の一例を説明するためのタイミングチャート図、図６は第１の実施形態におけるメモリ二重化システムの動作を説明するためのフローチャート図、図７は図６に示すフローチャート図の続きを示すフローチャート図である。
【００２３】
なお、運用系のシステム構成と待機系のシステム構成とは同一であるために、以下の説明においては、運用系及び待機系の構成要素に対して共通の符号を用いて説明し、図１に示すように、運用系の構成要素には符号の末尾にａを、待機系の構成要素には符号の末尾にｂを付与するものとする。また、図１は、この第１の実施形態におけるメモリ二重化システムに関連しない構成要素については図示を省略しており、特に、運用系と待機系とは、図示した構成要素が異なっているが、運用系と待機系とでそれぞれ機能する構成要素のみを図示したためである。
【００２４】
図１において、メモリ二重化システムは、大別すると、データを処理する中央処理装置（Central Processing Unit：以下、ＣＰＵと称す）１と、処理したデータを保存するメインメモリ２と、ＣＰＵ１から転送されたデータをメインメモリ２に転送するシステムコントローラー３とからなる、運用系及び待機系のメインメモリ２がメモリ交差バス２００を介して通信する一対の情報処理装置１００で構成される。
【００２５】
ＣＰＵバス４はＣＰＵ１とシステムコントローラー３とを接続するバスであり、メインメモリバス５はメインメモリ２とシステムコントローラー３とを接続するバスであり、図示しないアドレスバス、データバス及び制御線（コントロールバス）の３つのバスに分類される。
【００２６】
このアドレスバスは、やり取りの相手を特定するアドレスを転送するバスであり、ＣＰＵ１はこのバスを介してメインメモリ２に対して対象となる命令やデータの所在を指定する。また、データバスは、アドレスバスで指定された対象との間でデータのやり取りを行なうために用いるバスであり、ＣＰＵ１は、メインメモリ２に対してアドレスを指定してメインメモリ２から出力されたデータ（リードデータ）をこのバスを介して読み出し、また書き込む場合にはアドレスを指定してこのバスを介して書き込むデータ（ライトデータ）を提供する。また、制御線は、メインメモリとの間で制御情報をやり取りするために用いられるバスであり、ＣＰＵ１は、メインメモリ２に対して、これからデータをこのバスを介して読み出すのか、それともこのバスを介して書き込むのかを指示する。
【００２７】
なお、ＣＰＵバス４は、図２に示すように、バス幅が３２ビット（Ａ−０、・・・、Ａ−３１を総称して、Ａと称す）のアドレスバスと、バス幅が１２８ビット（Ｄ０−０、・・・、Ｄ０−３１を総称して、ＤＯと称し、Ｄ１−０、・・・、Ｄ１−３１を総称して、Ｄ１と称し、Ｄ２−０、・・・、Ｄ２−３１を総称して、Ｄ２と称し、Ｄ３−０、・・・、Ｄ３−３１を総称して、Ｄ３と称す）のデータバスとして、アドレスバスとデータバスとが別信号線であるスプリットバスにて構成されている。
【００２８】
メモリ交差バス２００は、運用系と待機系とを接続するバスであり、図示しないアドレス・データバス及び制御線（コントロールバス）の２つのバスに分類される。
このアドレス・データバスは、アドレスの後に続けてデータを送るという多重のバスにて構成されている。
【００２９】
なお、メモリ交差バス２００のアドレス・データバスが３６本の信号線で構成されているのに対して、ＣＰＵバス４のアドレスバス幅は３２ビットであり、ＣＰＵバス４のデータバス幅は１２８ビットであるうえに、ＥＣＣのコード自体が６４ビットのデータに対して８ビットの並びで意味のあるデータコードとなっている。
【００３０】
このため、アドレス（Ａ）、データ（Ｄ０、Ｄ１、Ｄ２、Ｄ３）、ＥＣＣ（Ｅ０−１、・・・、Ｅ０−４を総称して、Ｅ０と称し、Ｅ１−１、・・・、Ｅ１−４を総称して、Ｅ１と称し、Ｅ２−１、・・・、Ｅ２−４を総称して、Ｅ２と称し、Ｅ３−１、・・・、Ｅ３−４を総称して、Ｅ３と称す）及びメモリ交差バス２００の転送種別（※１−１、・・・、※１−４を総称して、※１と称す）を、図３に示すような、メモリ交差バス２００のアドレス・データバスのバス幅（３６ビット）に対応するような構成（以下、アドレス・データ構成と称す）に変換する必要がある。
【００３１】
すなわち、６４ビットのデータを二組の３２ビットのデータに分割し、８ビットのＥＣＣを二組の４ビットのＥＣＣに分割したうえで、３２ビットのデータと４ビットのＥＣＣとを組み合わせることで、アドレス・データバスのバス幅に対応するように変換している。また、アドレスにはメモリ交差バス２００の転送種別（４ビット）が付与されている。
【００３２】
システムコントローラー３は、ＣＰＵバス４を介してＣＰＵ１に接続しＣＰＵ１とのインターフェースとなるＣＰＵＩＦ部６と、メインメモリ２や図示しないＩ／Ｏ系の素子などに対してバスの使用権を調停（アービトレーション）するアービタ部７と、メインメモリ２へのデータの書き込みやメインメモリ２からのデータの読み出しを制御するメインメモリ制御部８と、メモリ交差バス２００へのメモリ交差バス信号若しくは再送通知信号などの送信又はメモリ交差バス２００からの再送（リトライ）要求信号若しくは障害通知信号などの受信を制御するメモリ交差バス制御部９とを備えている。
【００３３】
メモリ交差バス制御部９は、大別すると、自系が運用系の場合に主に機能するメモリ交差バス送信制御部１０と、自系が待機系の場合に主に機能するメモリ交差バス受信制御部１１とからなる。
【００３４】
メモリ交差バス送信制御部１０は、系間でデータをやり取りするときに処理速度や転送速度の差を補うためにデータを一時的に保存するメモリ交差バス送信バッファ部１２と、後述する送信・リトライ制御部１４で変換したメモリ交差バス２００に対応するアドレス・データ構成を一時的に保存するリトライバッファ部１３と、ＣＰＵバス４のアドレスバス幅（３２ビット）及びデータバス幅（１２８ビット）に対応する構成（以下、アドレス／データ構成と称す）をメモリ交差バス２００のアドレス・データバス幅（３６ビット）に対応するアドレス・データ構成に変換してメモリ交差バス２００に送信したうえでリトライバッファ部１３に格納すると共に、後述する再送（リトライ）要求に対して対応するアドレス・データ構成をリトライバッファ部１３から読み出しメモリ交差バス２００に再送する送信・リトライ制御部１４と、後述するプロトコル変換制御部１６から入力されるメモリ交差バス２００の障害に関する各種情報を内部に配設された図示しないレジスタに格納すると共に、このメモリ交差バス２００の障害に関する各種情報を運用系のＣＰＵ１に通知する障害表示部１５とを備えている。
【００３５】
送信・リトライ制御部１４は、メモリ交差バス２００のうち、異常のあるデータを転送した障害のある信号線（以下、障害信号線と称す）の情報に基づき、この障害信号線を除き、正常な信号線のみを使用する、すなわち、障害信号線を縮退する新たなプロトコルを生成し、アドレス・データ構成を新たなプロトコルによるアドレス・データ構成に変換するプロトコル変換制御部１６を備えている。
【００３６】
メモリ交差バス受信制御部１１は、内部に実装された図示しないＥＣＣチェッカー回路により、常時、運用系から受信したアドレス・データ構成のデータに対してＥＣＣチェックを行なうメモリ交差バス障害検出部１７と、データが正常である場合にアドレス・データ構成を一時的に保存する受信バッファ部１８と、メモリ交差バス２００のアドレス・データバス幅（３６ビット）に対応するアドレス・データ構成をメインメモリバス５ｂのアドレスバス幅（３２ビット）及びデータバス幅（１２８ビット）に対応するアドレス／データ構成に変換するバス変換部１９とを備えている。
【００３７】
メモリ交差バス障害検出部１７は、メモリ交差バス２００のうち、異常のあるデータを転送した障害信号線を検出して、この障害信号線の情報を運用系のプロトコル変換制御部１６に通知する障害信号通知部２０を備えている。
【００３８】
バス変換部１９は、運用系からメモリ交差バス２００を介して待機系に転送された新たなプロトコルによるアドレス・データ構成及び障害信号線の情報に基づき、新たなプロトコルによるアドレス・データ構成を、障害信号線を縮退する前のアドレス・データ構成に復元するプロトコル復元制御部２１を備えている。
【００３９】
つぎに、この第１の実施形態におけるメモリ二重化システムの処理の流れを図６及び図７を用いて説明する。
なお、以下の説明においては、運用系における処理については各ステップの末尾にａを、待機系における処理については各ステップの末尾にｂを付与している。
【００４０】
まず、運用系のＣＰＵ１ａは、運用系のシステムコントローラー３ａ内のＣＰＵＩＦ部６ａ、アービタ部７ａ及びメインメモリ制御部８ａを介して、運用系のメインメモリ２ａにアクセスする（ステップＳ１ａ）。
【００４１】
ここで、アービタ部７ａは、メインメモリ２ａに対するアクセスがデータの書き込み又は読出しであるかを判断する（ステップＳ２ａ）。
ステップＳ２ａにおいて、データの書き込みでない（読み出しである）と判断した場合には、メモリ交差バス２００から待機系にデータを転送する処理は行なわずに（ステップＳ３ａ）、終了する。すなわち、運用系は次のデータ待ちの状態となる。
【００４２】
また、ステップＳ２ａにおいて、データの書き込みである（読み出しでない）と判断した場合には、運用系のＣＰＵ１ａからのデータを、運用系のメモリ交差バス送信バッファ部１２ａに一旦格納したうえで、送信・リトライ制御部１４ａ及びリトライバッファ部１３ａに出力する（ステップＳ４ａ）。
【００４３】
そして、運用系の送信・リトライ制御部１４ａは、アドレスバス幅が３２ビットであり、データバス幅が１２８ビットであるＣＰＵバス４ａに対応するアドレス／データ構成（図２参照）から、アドレス・データバス幅が３６ビットであるメモリ交差バス２００に対応するアドレス・データ構成（図３参照）となるように変換して、３６ビットのアドレス・データ構成を５サイクルで待機系に転送するプロトコルとする（ステップＳ５ａ）。なお、３６ビットのアドレス・データ幅は、３２ビットのアドレスに対して４ビットの転送種別を付与し、分割した各３２ビットのデータに対して４ビットのＥＣＣを付与することで対応する。
【００４４】
そして、運用系のシステムコントローラー３ａ内のメモリ交差バス送信制御部１０ａは、運用系と待機系との系間のメモリ交差バス２００を経由して、待機系のシステムコントローラー３ｂ内のメモリ交差バス受信制御部１１ｂに対して、１サイクル目である３２ビットのアドレス及び４ビットの転送種別からなる１パケットと、２〜５サイクル目である３２ビットのデータ及び４ビットのＥＣＣからなる４パケットとを出力する（ステップＳ６ａ）。なお、ここでの運用系から待機系におけるアドレス・データ構成の転送は、図５に示す交差バスにおける１番目のサイクル（ＡＤＤ、ＤＯ、Ｄ１、Ｄ２、Ｄ３）に対応する。
【００４５】
また、送信・リトライ制御部１４ａは、メモリ交差バス２００に出力されるアドレス・データ構成と同一のアドレス・データ構成をリトライバッファ部１３ａに格納する（ステップＳ６ａ）。
【００４６】
待機系のメモリ交差バス障害検出部１７ｂは、内部に実装されたＥＣＣチェッカー回路により、運用系から受信したデータに対してＥＣＣによるチェック（ＥＣＣチェック）を行なう（ステップＳ７ｂ）。
【００４７】
ステップＳ７ｂにおいて、ＥＣＣチェックにより、運用系から転送されたデータに異常を検出しなかった（データが正常である）場合には、待機系の受信バッファ部１８ｂにデータを格納したうえで、待機系のバス変換部１９ｂにアドレス・データ構成を出力する（ステップＳ８ｂ）。
【００４８】
そして、待機系のバス変換部１９ｂは、アドレス・データバス幅が３６ビットであるメモリ交差バス２００に対応するアドレス・データ構成（図３参照）から、アドレスバス幅が３２ビットであり、データバス幅が１２８ビットであるメインメモリバス５ｂに対応するアドレス／データ構成（図２参照）となるように、変換する（ステップＳ９ｂ）。
【００４９】
変換したアドレス／データ構成は、待機系のメインメモリ制御部８ｂに出力され、メインメモリバス５ｂを介して、待機系のメインメモリ２ｂにデータが書き込まれ（ステップＳ１０ｂ）、終了する。すなわち、待機系は次のデータ待ちの状態となる。
【００５０】
ステップＳ７ｂにおいて、ＥＣＣチェックにより、運用系から転送されたデータに異常を検出した場合には、待機系のメモリ交差バス障害検出部１７ｂは、運用系の送信・リトライ制御部１４ａに対して、メモリ交差バス２００と別線であるリトライ要求制御線３００を介して、異常を検出したデータの再送（リトライ）要求を発行する（ステップＳ１１ｂ）。なお、ここでの再送（リトライ）要求は、図５に示すリトライ要求制御線における１番目の立下り箇所に対応する。
【００５１】
再送(リトライ)要求を受信した運用系の送信・リトライ制御部１４ａは、ステップＳ６ａにおいて転送したアドレス・データ構成と同一のアドレス・データ構成を、リトライバッファ部１３ａから読み出し、待機系に２回目の転送（再送）を行なう（ステップＳ１２ａ）。なお、ここでの運用系から待機系におけるアドレス・データ構成の再送は、図５に示す交差バスにおける２番目のサイクル（ＡＤＤ、ＤＯ、Ｄ１、Ｄ２、Ｄ３）に対応する。また、図５に示すように、リトライ転送の先頭信号を示す再送通知信号が、運用系から待機系に送信される。
【００５２】
待機系のメモリ交差バス障害検出部１７ｂは、内部に実装されたＥＣＣチェッカー回路により、運用系から再送され受信したデータに対して、再度、ＥＣＣチェックを行なう（ステップＳ１３ｂ）。
【００５３】
ステップＳ１３ｂにおいて、２回目のＥＣＣチェックにより、運用系から再送されたデータに異常を検出しなかった（データが正常である）場合には、前述したステップＳ８ｂに戻る。
【００５４】
また、ステップＳ１３ｂにおいて、２回目のＥＣＣチェックにより、運用系から再送されたデータに異常を検出した場合には、メモリ交差バス障害検出部１７ｂ内の障害信号通知部２０ｂは、運用系から１回目に転送され異常が検出されたデータと、運用系から再送（２回目に転送）され異常が検出されたデータとが、メモリ交差バス２００の同一信号線によって転送されているか否かを判断する（ステップＳ１４ｂ）。
【００５５】
ステップＳ１４ｂにおいて、メモリ交差バス２００の同一信号線によって転送されていないと判断した場合には、間欠的な障害であるために、ステップ１１ｂに戻る。
また、ステップＳ１４ｂにおいて、メモリ交差バス２００の同一信号線によって転送されていると判断した場合には、固定的な障害であるために、待機系の障害信号通知部２０ｂは、異常が検出されたデータを転送した障害信号線を示す情報をコード化する（ステップＳ１５ｂ）。なお、このコード化した障害信号線の情報（エラーコード）は、例えば、メモリ交差バス２００のうち、０ビット目の信号線に障害が発生している場合には、「００００００」とし、１ビット目の信号線に障害が発生している場合には、「０００００１」とし、・・・、３６ビット目の信号線に障害が発生している場合には、「１００１００」として、付与することが考えられる。
【００５６】
そして、待機系のメモリ交差バス障害検出部１７ｂは、運用系の送信・リトライ制御部１４ａに対して、メモリ交差バス２００と別線であるリトライ要求制御線３００を介して、２回目のデータの再送（リトライ）要求を行なうと共に、待機系の障害信号通知部２０ｂは、ステップＳ１５ｂでコード化したエラーコードを、メモリ交差バス２００及びリトライ要求制御線３００と別線である障害信号通知線４００を介して、運用系のプロトコル変換制御部１６ａに通知する（ステップＳ１６ｂ）。なお、ここでの再送（リトライ）要求は、図５に示すリトライ要求制御線における２番目の立下り箇所に対応する。また、ここでのエラーコードの通知は、図５に示す障害信号通知線におけるＥＲＲＣＯＤＥに対応する。また、障害信号通知部２０ｂは、障害信号線を示す情報を、待機系のプロトコル復元制御部２１ｂに出力する（ステップＳ１６ｂ）。
【００５７】
プロトコル変換制御部１６ａは、待機系からの再送（リトライ）要求及びエラーコードで示された障害信号線の情報の通知（メモリ交差バス障害信号線通知）を受信することで、リトライバッファ部１３ａからステップＳ６ａにおいて転送したアドレス・データ構成と同一のアドレス・データ構成を読み出し、障害信号線を縮退する新たなプロトコルを生成し、新たなプロトコルによるアドレス・データ構成に変換する（ステップＳ１７ａ）。
【００５８】
例えば、図４に示すように、メモリ交差バス２００のうち３２ビット目の信号線が障害となった場合には、３２ビット目の信号線を使用せずに、図３における１サイクル目の３２ビット目に対応する「Ａ−３１」を、図４における１サイクル目の３３ビット目にシフトさせる。そして、１サイクル目の３３ビット以降、各サイクルの３２ビット目をブランクとし、アドレス、転送種別、データ又はＥＣＣを順次シフトさせ、サイクル数を５サイクルから６サイクルに増加させて、新たなプロトコロルによるアドレス・データ構成を生成する。なお、６サイクル目の６ビット目から３６ビット目は、データを割り当てていない領域（転送未使用領域）である。
【００５９】
そして、運用系の送信・リトライ制御部１４ａは、新たなプロトコルによるアドレス・データ構成を、待機系に対して転送すると共に、運用系のプロトコル変換制御部１６ａは、メモリ交差バス２００の障害に関する各種情報（メモリ交差バス送信バッファ部１２ａの使用状況、障害信号線）を、障害表示部１５ａ内のレジスタに格納して、ＣＰＵバス４ａとは別線である割り込み個別線２２ａを介して、ＣＰＵ１ａに通知する（ステップＳ１８ａ）。なお、ここでの運用系から待機系における新たなプロトコルによるアドレス・データ構成の転送は、図５に示す交差バスにおける３番目のサイクル（ＡＤＤ、ＤＯ、Ｄ１、Ｄ２、Ｄ３、Ｄ４）に対応する。また、運用系の送信・リトライ制御部１４ａは、メモリ交差バス２００に出力される新たなプロトコルによるアドレス・データ構成と同一のアドレス・データ構成をリトライバッファ部１３ａに格納する。
ここで、ＣＰＵ１ａが、メモリ交差バス２００の障害に関する各種情報（メモリ交差バス送信バッファ部１２ａの使用状況、障害信号線）を取得することによる効果を説明する。
【００６０】
この第１の実施形態においては、障害信号線の縮退により、新たなプロトコルによるアドレス・データ構成を待機系に転送するサイクル数が増加するために、データの待ち合わせが発生し易くなり、メモリ交差バス送信バッファ部１２ａにデータが蓄積される。そして、メモリ交差バス送信バッファ部１２ａが常にフル状態や閾値を越えた状態になると、メモリ交差バス２００に負荷が掛かった状態であるということで、何等かの不具合により、システム的にメモリ二重化システムの性能がすぐにダウンしてしまう可能性がある。このため、ＣＰＵ１ａは、メモリ交差バス送信バッファ部１２ａの使用状況であるデータの蓄積量を取得する必要がある。また、ＣＰＵ１ａは、障害信号線の情報を取得しておくことで、メモリ二重化システムの保守や障害の切り分けを行なう場合に、容易に障害信号線を検出することができる。
【００６１】
つぎに、新たなプロトコルによるアドレス・データ構成を受信した待機系のメモリ交差バス受信制御部１１ｂは、受信バッファ部１８ｂに新たなプロトコルによるアドレス・データ構成を格納したうえで、新たなプロトコルによるアドレス・データ構成をプロトコル復元制御部２１ｂに出力する（ステップＳ１９ｂ）。
【００６２】
待機系のプロトコル復元制御部２１ｂは、ステップＳ１６ｂにより、メモリ交差バス２００の障害信号線を認識しているために、新たなプロトコルによるアドレス・データ構成（図４参照）から障害信号線を縮退する前のアドレス・データ構成（図３参照）となるように並べ替え復元し、メモリ交差バス障害検出部１７ｂに出力する（ステップＳ２０ｂ）。
【００６３】
そして、待機系のメモリ交差バス障害検出部１７ｂは、内部に実装されたＥＣＣチェッカー回路により、プロトコル復元制御部２１ｂから入力されたアドレス・データ構成のデータに対して、ＥＣＣチェックを行なう（ステップＳ２１ｂ）。
【００６４】
ステップＳ２１ｂにおいて、ＥＣＣチェックにより、プロトコル復元制御部２１ｂから入力されたデータに異常を検出した場合には、前述したステップＳ１１ｂに戻る。ただし、ステップＳ１２ａにおいて、「ステップＳ６ａにおいて転送したアドレス・データ構成」を「ステップＳ１８ａにおいて転送した新たなプロトコルによるアドレス・データ構成」に、読み替えるものとする。
また、ステップＳ２１ｂにおいて、ＥＣＣチェックにより、運用系から転送されたデータに異常を検出しなかった（データが正常である）場合には、ステップＳ８ｂに戻る。
【００６５】
なお、以降の運用系から待機系へのデータ転送は、新たなプロトコルを用いて制御することになる。すなわち、待機系の障害信号通知部２０ｂによってメモリ交差バス２００の障害信号線を新たに検出する度に、運用系のシステムコントローラー３ａ内の送信・リトライ制御部１４ａは、プロトコル変換制御部１６ａにより生成される新たなプロトコルを順次格納され、格納された最新のプロトコルによるアドレス・データ構成を、待機系に転送する。これにより、新たなプロトコルを用いて複数の情報処理装置間のデータ転送を制御することができ、同一の障害信号線を要因とする重複する再送（リトライ）要求を抑制することができる。
【００６６】
また、運用系のＣＰＵ１ａは、ステップＳ１８ａにより取得したメモリ交差バス２００に関する各種情報に基づき、メモリ交差バス２００の処理性能を考慮して、待機系との切り離しを行なうかを判断する。これにより、運用系のシステムコントローラー３ａ内のバッファが、常にフル状態や閾値を越えた状態になる前に、メモリ二重化システムを一重化運用として、システムがダウンすることを抑制することができる。
【００６７】
なお、この第１の実施形態においては、待機系のプロトコル復元制御部２１ｂが、障害信号線を縮退する前のアドレス・データ構成となるように並べ替え復元し、メモリ交差バス障害検出部１７ｂに出力したうえで、待機系のメモリ交差バス障害検出部１７ｂが、内部に実装されたＥＣＣチェッカー回路により、プロトコル復元制御部２１ｂから入力されたアドレス・データ構成のデータに対して、ＥＣＣチェックを行なうことにしているが、待機系のプロトコル復元制御部２１ｂの内部にＥＣＣチェッカー回路を実装することで、障害信号線を縮退する前のアドレス・データ構成をメモリ交差バス障害検出部１７ｂに出力することなく、プロトコル復元制御部２１ｂでＥＣＣチェックを行なってもよい。
【００６８】
［付記］  上記実施形態に関し、更に以下の付記を開示する。
（付記１）  ＣＰＵ、システムコントローラー及びメインメモリをそれぞれ備えた複数の情報処理装置を並設させ、障害発生時の処理の引き継ぎに必要なデータを一の情報処理装置からメモリ交差バスを介して他の情報処理装置に転送する冗長化構成のメモリ二重化システムにおいて、前記メモリ交差バスの信号線に障害が発生した場合に、当該障害が発生した信号線を除き、正常な信号線のみを使用した新たなプロトコルによるアドレス・データ構成により、前記一の情報処理装置から前記他の情報処理装置にデータを転送することを特徴とするメモリ二重化システム。
【００６９】
（付記２）  前記一の情報処理装置のシステムコントローラーは、前記他の情報処理装置のシステムコントローラーによって、前記一の情報処理装置からメモリ交差バスを介して他の情報処理装置に転送されたアドレス・データ構成のデータから異常を検出した場合に、当該異常のあるデータを転送した障害信号線の情報に基づき、当該障害信号線を除き、正常な信号線のみを使用した新たなプロトコルを生成し、前記アドレス・データ構成を当該新たなプロトコルによるアドレス・データ構成に変換するプロトコル変換制御部を備えると共に、前記他の情報処理装置のシステムコントローラーは、前記一の情報処理装置からメモリ交差バスを介して他の情報処理装置に転送されたアドレス・データ構成のデータから異常を検出した場合に、前記障害信号線を検出して、前記障害信号線の情報を前記一の情報処理装置のプロトコル変換制御部に通知する障害信号通知部と、前記一の情報処理装置からメモリ交差バスを介して他の情報処理装置に転送された新たなプロトコルによるアドレス・データ構成及び前記障害信号通知部から入力される障害信号線の情報に基づき、前記新たなプロトコルによるアドレス・データ構成を、前記新たなプロトコルによるアドレス・データ構成に変換する前のアドレス・データ構成に復元するプロトコル復元制御部と、を備えることを特徴とするメモリ二重化システム。
【００７０】
（付記３）  前記一の情報処理装置から所定のアドレス・データ構成で送信された全データのうち、いずれかにデータ異常が発生した場合に、再度、前記アドレス・データ構成で全データを送信して前記データ異常を生じた信号線と同一の信号線でデータ異常が発生したとき、当該同一の信号線を異常信号線として特定することを特徴とするメモリ二重化システム。
【００７１】
（付記４）  前記一の情報処理装置のシステムコントローラーは、前記プロトコル変換制御部により生成される新たなプロトコルを順次格納され、当該格納された最新のプロトコルによるアドレス・データ構成にて前記他の情報処理装置に転送することを特徴とするメモリ二重化システム。
【００７２】
（付記５）  ＣＰＵ、システムコントローラー及びメインメモリを備える他の情報処理装置と連携可能な情報処理装置において、前記情報処理装置は、運用系として機能する場合であって、前記他の情報処理装置がメモリ交差バスを介して転送されたアドレス・データ構成のデータから異常を検出したときに、前記他の情報処理装置から通知される当該異常のあるデータを転送した障害信号線の情報に基づき、当該障害信号線を除き、正常な信号線のみを使用した新たなプロトコルを生成し、前記アドレス・データ構成を当該新たなプロトコルによるアドレス・データ構成に変換するプロトコル変換制御部を備えることを特徴とする情報処理装置。
【００７３】
（付記６）  ＣＰＵ、システムコントローラー及びメインメモリを備える他の情報処理装置と連携可能な情報処理装置において、前記情報処理装置は、待機系として機能する場合であって、前記他の情報処理装置からメモリ交差バスを介して転送されたアドレス・データ構成のデータから異常を検出したときに、当該異常のあるデータを転送した障害信号線を検出して、当該障害信号線の情報を前記他の情報処理装置に通知する障害信号通知部と、前記他の情報処理装置からメモリ交差バスを介して転送された、前記障害信号線を除き、正常な信号線のみを使用した新たなプロトコルによるアドレス・データ構成及び前記障害信号通知部から入力される障害信号線の情報に基づき、前記新たなプロトコルによるアドレス・データ構成を、前記新たなプロトコルにより変換する前のアドレス・データ構成に復元するプロトコル復元制御部と、を備えることを特徴とする情報処理装置。
【００７４】
（付記７）  前記運用系情報処理装置のシステムコントローラーは、前記プロトコル変換制御部から入力されるメモリ交差バスの障害に関する情報を格納すると共に、当該メモリ交差バスの障害に関する情報を前記運用系情報処理装置のＣＰＵに通知する障害表示部を備え、前記運用系情報処理装置のＣＰＵは、前記メモリ交差バスの障害に関する情報及びメモリ交差バスの処理性能に基づき、前記運用系情報処理装置から前記待機系情報処理装置を切り離し一重化するかを判断することを特徴するメモリ二重化システム。
【図面の簡単な説明】
【００７５】
【図１】第１の実施形態におけるメモリ二重化システムのシステム構成を示すブロック図である。
【図２】ＣＰＵバス及びメインメモリバスに対応するアドレス／データ構成を説明するための説明図である。
【図３】メモリ交差バスに対応するアドレス・データ構成を説明するための説明図である。
【図４】障害信号線を縮退した新たなプロトコルによるアドレス・データ構成の一例を説明するための説明図である。
【図５】第１の実施形態におけるメモリ二重化システムの動作の一例を説明するためのタイミングチャート図である。
【図６】第１の実施形態におけるメモリ二重化システムの動作を説明するためのフローチャート図である。
【図７】図６に示すフローチャート図の続きを示すフローチャート図である。
【符号の説明】
【００７６】
１，１ａ，１ｂ            ＣＰＵ
２，２ａ，２ｂ            メインメモリ
３，３ａ，３ｂ            システムコントローラー
４，４ａ                  ＣＰＵバス
５，５ａ，５ｂ            メインメモリバス
６，６ａ                  ＣＰＵＩＦ部
７，７ａ                  アービタ部
８，８ａ，８ｂ            メインメモリ制御部
９，９ａ，９ｂ            メモリ交差バス制御部
１０，１０ａ，１０ｂ      メモリ交差バス送信制御部
１１，１１ａ，１１ｂ      メモリ交差バス受信制御部
１２，１２ａ              メモリ交差バス送信バッファ部
１３，１３ａ              リトライバッファ部
１４，１４ａ              送信・リトライ制御部
１５，１５ａ              障害表示部
１６，１６ａ              プロトコル変換制御部
１７，１７ｂ              メモリ交差バス障害検出部
１８，１８ｂ              受信バッファ部
１９，１９ｂ              バス変換部
２０，２０ｂ              障害信号通知部
２１，２１ｂ              プロトコル復元制御部
２２ａ                    割り込み個別線
１００，１００ａ，１０ｂ  情報処理装置
２００                    メモリ交差バス
３００                    リトライ要求制御線
４００                    障害信号通知線
【図１】
0005145860.tif 000002
【図２】
0005145860.tif 000003
【図３】
0005145860.tif 000004
【図４】
0005145860.tif 000005
【図６】
0005145860.tif 000006
【図７】
0005145860.tif 000007
【図５】
0005145860.tif 000008