(57)【要約】【課題】多重化された主記憶部によってコンピュータシステムを構成する装置を診断する際に、コンピュータシステムの運用に擾乱を与えずに診断できる手段を提供する。【解決手段】多重化された記憶部と、記憶部へのアクセスを制御するメモリ制御部と、メモリ制御部を介して記憶部に接続された診断対象装置を診断する診断手段とメモリ制御部に診断対象装置を診断する診断モードへの移入・復帰を指示する指示手段とを有する診断プロセッサ部と、を備える。メモリ制御部は、通常運用においては、第１及び第２の記憶部の両方にデータの書き込みを実行させるのに対し、データの読み込みは第１の記憶部のみに実行させ。診断モードにおいては、診断対象装置がアクセスしていない第１の記憶部にデータの読み書きを実行させて通常運用を行わせ、診断プロセッサ部の指示に応じて診断対象装置がアクセスしている第２の記憶部のみを診断対象装置の診断に割り当てる。【選択図】      図１
2014095989.tif 000002
【特許請求の範囲】
【請求項１】
第１の記憶部と、
第２の記憶部と、
前記第１及び第２の記憶部へのデータの読み書きを制御するメモリ制御部と、
前記メモリ制御部を介して前記第１及び第２の記憶部に接続された診断対象装置を診断する診断手段と前記メモリ制御部に対して前記診断対象装置を診断する診断モードへの移入・復帰を指示する指示手段とを有する診断プロセッサ部と、を備え、
前記メモリ制御部は、
通常のシステム運用においては、前記第１及び第２の記憶部の両方にデータの書き込みを実行させるのに対し、前記第１の記憶部のみにデータの読み込みを実行させ、
前記診断モードに移行した場合においては、前記診断対象装置がアクセスしていない前記第１の記憶部にデータの読み書きを実行させることで前記通常のシステム運用を行わせるとともに、前記診断プロセッサ部の指示に応じて前記診断対象装置がアクセスしている前記第２の記憶部のみを前記診断対象装置の診断に割り当てることを特徴とするコンピュータシステム。
【請求項２】
前記診断モードにおいて、
前記メモリ制御部は、前記通常のシステム運用で使用されている前記第１の記憶部上の記憶領域とは重ならない前記第２の記憶部上の記憶領域を診断に割り当てることを特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
前記メモリ制御部は、前記診断モードからの復帰時に前記第１の記憶部に格納されたデータを前記第２の記憶部に上書きすることを特徴とする請求項２に記載のコンピュータシステム。
【請求項４】
さらに外部装置に接続される入出力制御部を備え、
前記メモリ制御部は、前記入出力制御部を介して前記外部装置と接続され、前記外部装置を前記第１及び第２の記憶部にアクセスさせることを特徴とする請求項３に記載のコンピュータシステム。
【請求項５】
前記診断対象装置が前記外部装置であることを特徴とする請求項４に記載のコンピュータシステム。
【請求項６】
前記診断対象装置が前記入出力装置であることを特徴とする請求項４に記載のコンピュータシステム。
【請求項７】
前記メモリ制御部は、
前記診断対象装置の情報を格納する装置判別領域と、
前記診断モードであるか否かを示すフラグ領域と、を有することを特徴とする請求項４に記載のコンピュータシステム。
【請求項８】
前記診断モードにおける前記診断対象装置の診断において、
前記診断プロセッサは、
前記診断対象装置を識別するための識別子と、
前記診断対象装置がデータの読み込みと書き込みのいずれの状態であるかを区別するためのフラグと、
前記診断対象装置のデータの読み書きに用いる前記第２の記憶部上のアドレスと、を含む命令形式によって前記メモリ制御部に指示を出すことを特徴とする請求項４に記載のコンピュータシステム。
【請求項９】
第１の記憶部と、
第２の記憶部と、
前記第１及び第２の記憶部へのデータの読み書きを制御するメモリ制御部と、
前記メモリ制御部を介して前記第１及び第２の記憶部に接続された診断対象装置を診断する診断手段と前記メモリ制御部に対して前記診断対象装置を診断する診断モードへの移入・復帰を指示する指示手段とを有する診断プロセッサ部と、を備えたコンピュータシステムにおいて、
前記メモリ制御部は、
通常のシステム運用においては、前記第１及び第２の記憶部の両方にデータの書き込みを実行させるのに対し、前記第１の記憶部のみにデータの読み込みを実行させ、
前記診断モードに移行した場合においては、前記診断対象装置がアクセスしていない前記第１の記憶部にデータの読み書きを実行させることで前記通常のシステム運用を行わせるとともに、前記診断プロセッサ部の指示に応じて前記診断対象装置がアクセスしている前記第２の記憶部のみを前記診断対象装置の診断に割り当てることを特徴とするコンピュータシステムの診断方法。
【請求項１０】
第１の記憶部と、
第２の記憶部と、
前記第１及び第２の記憶部へのデータの読み書きを制御するメモリ制御部と、
前記メモリ制御部を介して前記第１及び第２の記憶部に接続された診断対象装置を診断する診断手段と前記メモリ制御部に対して前記診断対象装置を診断する診断モードへの移入・復帰を指示する指示手段とを有する診断プロセッサ部と、を備えたコンピュータシステムにおいて、
前記メモリ制御部が、前記第１及び第２の記憶部の両方にデータの書き込みを実行させ、前記第１の記憶部のみにデータの読み込みを実行させる通常のシステム運用処理と、
前記メモリ制御部が、前記診断対象装置がアクセスしていない前記第１の記憶部にデータの読み書きを実行させることによって前記通常のシステム運用を行わせるととともに、前記診断プロセッサ部の指示に応じて前記診断対象装置がアクセスしている前記第２の記憶部のみを前記診断対象装置の診断に割り当てる診断モード処理と、をコンピュータに実行させることを特徴とするコンピュータシステムの診断プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステム、コンピュータシステムの診断方法及び診断プログラムに関する。特に、２重化されたメモリを有するコンピュータシステムを構成する装置の診断に関する。
【背景技術】
【０００２】
コンピュータシステムの信頼性を向上させることを目的として、主記憶装置であるメモリを２重化する技術がある。２重化された２つのメモリに同じデータを書き込めば、マスタとなる一方のメモリに訂正不可能なエラーが発生しても、スレーブとなるもう一方のメモリのデータを使用することによってデータが保護される。
【０００３】
特許文献１には、図１０に示したように、多重化メモリ装置のオンライン診断方式について開示されている。特許文献１の計算機システム１００は、２つのメモリユニット１１１，１１２と、メモリ制御部１１３とを備えた多重化メモリシステム１１０と、中央演算処理装置１２０（ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、各装置を接続してアドレスやデータを転送するバス１３０と、多重化メモリ診断プログラム１４１を有するオペレーションシステム１４０（ＯＳ：Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）とを構成要素とする。
【０００４】
特許文献１の中央演算処理装置１２０は、機械語命令を実行し、機械語命令レベルで多重化メモリ装置１１０をアクセスするとともに、内部には多重化メモリ１１０に対するアクセスのモードを示すテストモードフラグ１２２が含まれる制御レジスタ１２１を有している。多重化メモリ診断プログラム１４１には、テストモードを設定してテストモードフラグ１２２をＯＮするテストモードアクセスＯＮ命令１４２（ＯＮ  ＴＭ）と、テストモードを解除してテストモードフラグ１２２をＯＦＦするテストモードアクセスＯＦＦ命令１４３（ＯＦＦ  ＴＭ）とが設定されている。
【０００５】
特許文献１のメモリ制御部１１３は、メモリユニット１１１，１１２のいずれかに障害が発生した場合に、その障害ユニットをシステムから切り離す制御機能に加えて、テストモードフラグ１２２の状態によりテストモードか否かを判断してアクセス先のメモリユニットを決定する制御機能を有している点に特徴がある。そのため、テストモードフラグ１２２の状態によって、システムから切り離されたメモリユニットをオンライン運用に影響を与えずに診断することができる。
【０００６】
また、一般的なコンピュータシステムでは、メモリのエラーのみならずコンピュータシステムを構成する装置、さらにはＩ／Ｏポート（Ｉ／Ｏ：Ｉｎｐｕｔ  Ｏｕｔｐｕｔ）に接続された外部装置をエラーが起こる前に診断し、コンピュータシステムの安定動作を継続して制御することが求められる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平４−７４２４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１の多重化メモリ装置のオンライン診断方式では、メモリ自体の診断はできるものの、コンピュータシステムを構成するメモリ以外の装置や外部装置の診断については言及されていない。
【０００９】
一般に、主記憶装置へのデータの読み書きを伴ってＩ／Ｏポートに接続された外部装置の診断を行う際には、当該外部装置にデータを書き込む主記憶装置上のアドレスを誤る障害が起こる場合が想定される。そのような場合、当該外部装置の診断によって、別のＩ／Ｏポートに接続された他の運用中の外部装置、または、コンピュータシステム上で処理を行うジョブに擾乱を与え、システムの運用を止めてしまう可能性がある。
【００１０】
そのため、一般的な外部装置の診断においては、主記憶装置を使わずに当該外部装置内のローカルメモリを擬似的に主記憶部に見立てて診断を行っている。しかしながら、このような一般的な方法では、外部装置が持つ本来の機能の全てを診断することができず、コンピュータシステムに外部装置を組み込んでから障害が発覚してしまうという課題があった。このような障害は、外部装置のみならずコンピュータシステムを構成する装置においても同様に起こりうる。
【００１１】
本発明のコンピュータシステムの診断装置は、少なくとも２つのメモリを有する多重化された主記憶部によってコンピュータシステムを構成する装置を診断する際に、コンピュータシステムの運用に擾乱を与えずに診断することを可能とする手段を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明のコンピュータシステムは、第１の記憶部と、第２の記憶部と、第１及び第２の記憶部へのデータの読み書きを制御するメモリ制御部と、メモリ制御部を介して第１及び第２の記憶部に接続された診断対象装置を診断する診断手段とメモリ制御部に対して診断対象装置を診断する診断モードへの移入・復帰を指示する指示手段とを有する診断プロセッサ部と、を備え、メモリ制御部は、通常のシステム運用においては、第１及び第２の記憶部の両方にデータの書き込みを実行させるのに対し、第１の記憶部のみにデータの読み込みを実行させ、診断モードに移行した場合においては、診断対象装置がアクセスしていない第１の記憶部にデータの読み書きを実行させることで通常のシステム運用を行わせるとともに、診断プロセッサ部の指示に応じて診断対象装置がアクセスしている第２の記憶部のみを診断対象装置の診断に割り当てる。
【００１３】
また、本発明のコンピュータシステムの診断方法は、第１の記憶部と、第２の記憶部と、第１及び第２の記憶部へのデータの読み書きを制御するメモリ制御部と、メモリ制御部を介して第１及び第２の記憶部に接続された診断対象装置を診断する診断手段とメモリ制御部に対して診断対象装置を診断する診断モードへの移入・復帰を指示する指示手段とを有する診断プロセッサ部と、を備えたコンピュータシステムにおいて、メモリ制御部は、通常のシステム運用においては、第１及び第２の記憶部の両方にデータの書き込みを実行させるのに対し、第１の記憶部のみにデータの読み込みを実行させ、診断モードに移行した場合においては、診断対象装置がアクセスしていない第１の記憶部にデータの読み書きを実行させることで通常のシステム運用を行わせるとともに、診断プロセッサ部の指示に応じて診断対象装置がアクセスしている第２の記憶部のみを診断対象装置の診断に割り当てることを特徴とするコンピュータシステム。
【００１４】
また、本発明のコンピュータシステムの診断プログラムは、第１の記憶部と、第２の記憶部と、第１及び第２の記憶部へのデータの読み書きを制御するメモリ制御部と、メモリ制御部を介して第１及び第２の記憶部に接続された診断対象装置を診断する診断手段とメモリ制御部に対して診断対象装置を診断する診断モードへの移入・復帰を指示する指示手段とを有する診断プロセッサ部と、を備えたコンピュータシステムにおいて、メモリ制御部が、第１及び第２の記憶部の両方にデータの書き込みを実行させ、第１の記憶部のみにデータの読み込みを実行させる通常のシステム運用処理と、メモリ制御部が、診断対象装置がアクセスしていない第１の記憶部にデータの読み書きを実行させることによって通常のシステム運用を行わせるととともに、診断プロセッサ部の指示に応じて診断対象装置がアクセスしている第２の記憶部のみを診断対象装置の診断に割り当てる診断モード処理と、をコンピュータに実行させる。
【発明の効果】
【００１５】
本発明のコンピュータシステムによれば、コンピュータシステムの運用に擾乱を与えずにコンピュータシステムを構成する装置及びコンピュータシステムに接続された外部装置を診断することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施形態に係るコンピュータシステムの構成を示す概念図である。
【図２】本発明の実施形態に係るメモリコントローラの構成例を示す概略図である。
【図３】本発明の実施形態に係るメモリコントローラへデータの読み書きを指示する命令形式の一例である。
【図４】通常モードにおけるメモリコントローラを介したデータの流れである。
【図５】診断モードにおけるメモリコントローラを介したデータの流れである。
【図６】診断モードにおける実行の流れを示すシークエンス図である。
【図７】本発明の実施例に係るコンピュータシステムの構成を示す概念図である。
【図８】本発明の実施例に係る診断モードにおけるコンピュータシステムの動作を示す概念図である。
【図９】本発明の実施例に係る診断モードにおけるコンピュータシステムの動作を示すフローチャートである。
【図１０】特許文献１に係る計算機システムの構成を示す概念図である。
【発明を実施するための形態】
【００１７】
以下に、本発明を実施するための形態について図面を用いて説明する。但し、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。
【００１８】
（実施形態）
（構成）
図１は、本発明の実施形態に係るコンピュータシステム１の構成を示す概念図である。
【００１９】
図１に示したコンピュータシステム１は、２重化された主記憶部として、第１及び第２記憶部１１，１２と、これらの主記憶部への読み書きを制御するメモリ制御部であるメモリコントローラ１３と、診断プロセッサ１４とを備えている。
【００２０】
２重化された第１及び第２記憶部１１，１２は、一般的なメモリで構成される。例えば、第１記憶部１１をマスタとし、第２記憶部１２をスレーブとすれば、マスタである第１記憶部１１に障害が発生した場合、スレーブである第２記憶部１２をマスタに切替えることによって、コンピュータシステム１の運用を継続できる。なお、状況に応じて、第２記憶部１２をマスタとし、第１記憶部１１をスレーブとしてもよい。
【００２１】
２重化された第１及び第２記憶部１１，１２は、同じ構成をとる異なるメモリであってもよく、同一のメモリ内において区分されたメモリ領域であってもよい。また、２重化された第１及び第２記憶部１１，１２は、同じ構成からなることが好ましい。ただし、メモリコントローラ１３によって同時に制御できるのであれば、２重化された第１及び第２記憶部１１，１２は、異なる構成であってもかまわない。
【００２２】
また、本実施形態では２つのメモリからなる主記憶装置について説明しているが、本発明の主記憶装置は２つ以上に多重化されてさえいればよく、本発明の範囲は必ずしも２つのメモリに限定されるわけではない。
【００２３】
メモリコントローラ１３は、メモリ制御部として機能し、２重化された第１及び第２記憶部１１，１２に対するアクセスを制御する。第１及び第２記憶部１１，１２に対するアクセスは、例えば後述する外部装置１８やコンピュータシステム１を構成する装置によって行なわれる。なお、本実施形態の説明においては、外部装置１８が後述するＩ／Ｏコントローラ１５を介して第１及び第２記憶部１１，１２にアクセスすることを例として説明するが、Ｉ／Ｏコントローラ１５自体を診断対象としてもよい。
【００２４】
診断プロセッサ１４は、後述するコンソール１９の入力装置からの指示に応じて、指定された装置を診断する診断手段１６を備えている。
【００２５】
また、診断プロセッサ１４は、メモリコントローラ１３に対して診断の直前に診断モードへの移入指示を行うとともに、メモリコントローラ１３に対して診断の直後に診断モードからの復帰指示を行う指示手段１７を有している。
【００２６】
この診断対象となる装置の異常は、例えば、図示しない検知手段によって検知される。
【００２７】
診断プロセッサ１４には、コンピュータシステム１の操作員が診断内容を入力するためのコンソール１９が接続されている。コンソール１９は、キーボードなどの入力装置と表示画面などの出力装置とを有する。
【００２８】
コンソール１９を構成する入力装置は、操作員の入力に応じたデータを後述するメモリコントローラ１３に送信する。また、コンソール１９を構成する出力装置は、診断プロセッサ１４から出力されたデータを操作員が読み取れるように表示する。
【００２９】
コンピュータシステム１は、コンピュータシステム１に外部装置１８（１８−１〜１８−Ｎ）を接続するための入出力制御部であるＩ／Ｏコントローラ１５（１５−１〜１５−Ｎ）を備えている。Ｉ／Ｏコントローラ１５は、外部装置１８を制御するだけではなく、Ｉ／Ｏコントローラ１５自身も診断対象装置となりうる。
【００３０】
本実施形態においては、Ｉ／Ｏコントローラ１５は、メモリコントローラ１３を介して外部装置１８から送信されたデータを第１及び第２記憶部１１，１２に書き込む。また、Ｉ／Ｏコントローラ１５は、第１記憶部１１のみからデータを読み出して外部装置１８に送信する。この際、第２記憶部１２からはデータの読み出しを行なわないものとする。ただし、第２記憶部１２からのデータの読み出しは設定によって制限されているものとし、第１記憶部１１に障害が発生した際には、必要に応じて第２記憶部１２からデータを読み出せる設定としてもよい。
【００３１】
図２は、本発明の実施形態に係るメモリコントローラ１３の構成の一例を示す概略図である。メモリコントローラ１３は、制御手段２１と、切替え手段２２と、一時的な記憶領域となる記憶領域２０を備えている。なお、これらの構成要素は、互いに通信可能に接続されているものとする。
【００３２】
制御手段２１は、Ｉ／Ｏコントローラ１５の制御や切替え手段２２が接続する記憶部の切替え制御を行ない、例えば、一般的な制御回路で構成することができる。
【００３３】
切替え手段２２は、制御手段２１の指示に応じて第１又は第２記憶部１１，１２のいずれにアクセスするのかを切替える。例えば、ダイオードを用いたスイッチ回路などで構成することができる。
【００３４】
例えば、メモリコントローラ１３の内部に備えられた記憶領域２０に、診断対象となる外部装置１８の情報を格納する装置判別領域２５と、診断モードであるか否かを示すフラグ領域２６を割り当てることができる。記憶領域２０としては、例えばレジスタなどで構成することができる。
【００３５】
装置判別領域２５には、診断対象装置を判別するための情報である診断対象装置判別情報が格納される。また、フラグ領域２６には、診断プロセッサ１４からの指示によって通常モードと診断モードのいずれであるかが切り替わるフラグ情報が格納される。
【００３６】
なお、装置判別領域２５及びフラグ領域２６は、メモリコントローラ１３の外部に設けられていてもよい。例えば、診断プロセッサ１４の内部にレジスタ設けたり、コンピュータシステム１に備えられた図示しない中央演算処理装置の内部にも設けたりしてもよい。さらには、第１及び第２記憶部１１，１２の少なくとも一方の内部にレジスタ領域を設け、装置判別領域２５及びフラグ領域２６を形成してもよい。なお、装置判別領域２５及びフラグ領域２６については、上述の形態に関わらず、診断対象装置判別情報及びフラグ情報を格納しさえすればよい。
【００３７】
以上が本発明の実施形態に係るコンピュータシステム１の構成の説明である。なお、実施形態に係るコンピュータシステム１は上述の形態に限定されず、種々の変形・構成要素を追加してもかまわない。また、上記においては、外部装置１８を診断することについて説明したが、外部装置１８を接続するＩ／Ｏコントローラ１５などのコンピュータシステム１を構成するその他の装置を診断することとしてもよい。
【００３８】
（動作）
次に、本実施形態のコンピュータシステム１の動作について図面を参照しながら詳細に説明する。
【００３９】
最初に、図３〜５を用いてメモリコントローラ１３の動作について説明する。
【００４０】
図３は、メモリコントローラ１３へデータの読み書きを指示する命令形式３０である。命令形式３０は、メモリコントローラ１３に対し、主記憶装置となる第１及び第２記憶部１１，１２の読み書きにおいて使用される。メモリコントローラ１３は、診断プロセッサ１４から送られる命令形式３０に従って、診断対象となる外部装置１８の読み書き動作を行なう。なお、命令形式３０は、診断に関与しない外部装置１８の命令形式としても適用可能であり、その場合は、図示しない制御手段の指示に従って読み書き動作を行なうものとする。
【００４１】
命令形式３０は、指示対象となる外部装置１８の装置識別子３１と、読み込みと書き込みの区別を示すフラグとなる読み書き区別３３と、読み書きを行う主記憶上のアドレス３５からなる。なお、命令形式３０は、必要に応じて記憶領域２０に割り当てた領域に格納することができ、装置識別子３１・読み書き区別３３・アドレス３５のそれぞれに対して領域を割り当てることが好ましい。
【００４２】
装置識別子３１は、診断対象となる外部装置１８がどの装置であるかを示す識別子である。装置識別子３１は、診断モード時、主記憶の読み書きを指示してきたのが診断対象となる外部装置１８であれば、後述するように、そのアクセスを記憶部１２のみに対して行うように制御するのに使用される。読み書き区別３３は、その装置識別子３１に対応する外部装置１８が書き込み・読み込みのいずれの動作を行なっているのかを示すフラグとなる。アドレス３５は、その装置識別子３１に対応する外部装置１８のデータを、第１及び第２の記憶装置１１，１２のどのアドレス領域で読み書きするかを示す。
【００４３】
実際の読み書きのデータは、この命令形式３０によるメモリコントローラ１３へのデータの読み書き指示の後に、外部装置１８との間で直接授受される。なお、命令形式３０については、必要に応じて図３の構成に種々の変更を加えてもよい。
【００４４】
図４は、通常モードにおけるメモリコントローラ１３を介したデータの流れである。但し、図４ではＩ／Ｏコントローラ１５を省略している。
【００４５】
外部装置１８からの書き込みデータは、メモリコントローラ１３の切替え動作に従って、第１及び第２記憶部１１，１２の両方に書き込まれる（矢印４２）。一方、外部装置１８への読み出しデータは、第１記憶部１１のみから読み出される（矢印４１）。なお、２重化された第１及び第２記憶部１１，１２のいずれかをマスタとして設定している場合、通常モードにおいては、マスタとして設定した方の記憶部から外部装置１８にデータを書き込むものとする。
【００４６】
図５は、診断モードにおけるメモリコントローラ１３を介したデータの流れである。なお、図５の診断モードに示した本実施形態においては、診断対象装置５７を診断対象である外部装置１８とする。但し、図５ではＩ／Ｏコントローラ１５を省略している。
【００４７】
診断モードであっても、診断対象装置５７以外の外部装置１８は、図４で説明した通常モード時と同じ動作を行なう。
【００４８】
データの読み書き対象となる外部装置が診断対象装置５７の場合は、診断対象装置５７からの書き込みデータは、第２記憶部１２に対してのみに書き込まれる（矢印５１）。また、診断対象装置５７への読み出しデータは、第２記憶部１２のみから読み出される（矢印５２）。
【００４９】
ここで注意すべき点は、診断対象装置５７とデータの授受を行なうのは、通常モード時に読み出しが行われる第１記憶部１１とは異なる第２記憶部１２であるということである。すなわち、診断モードでは、通常モード時にマスタとして設定された第１記憶部１１ではなく、スレーブとして設定された第２記憶部１２と診断対象装置５７との間でデータの授受を行なう。
【００５０】
次に、図６のシークエンス図を用いて、診断モードにおける実行の流れを説明する。なお、以下の説明においては、図１，２，５の符号を用いて説明する。
【００５１】
最初に、コンソール１９は、操作員によって入力された診断対象装置５７に関する診断指示を診断プロセッサ１４に送信する。ここで、診断対象装置５７は、例えば、第１及び第２記憶部１１，１２にアクセスする機能を持つ外部装置１８である。
【００５２】
指示を受けた診断プロセッサ１４は、診断を実行する前にメモリコントローラ１３に診断モードへの移入指示を行う。この際、診断プロセッサ１４は、操作員に指定された診断対象装置判別情報をメモリコントローラ１３に通知する。
【００５３】
指示を受けたメモリコントローラ１３は、診断対象装置判別情報を装置判別領域２５に格納し、診断モードに移入する。ここで、フラグ領域２６には、診断モードであることを示すフラグ情報が格納される。
【００５４】
その後、診断プロセッサ１４は、診断対象装置５７の診断を実施し、その中で、第２記憶部１２のデータの読み書きを行う。
【００５５】
診断プロセッサ１４による診断は、例えば、診断プロセッサ１４から診断対象装置５７を制御し、診断で用いる第２記憶部１２に対して、予め用意しているテストパターンのデータのアクセス（書き込み／読み出し）を実行することで行なう。その診断においては、アクセス自体がエラーとなるかどうか、書き込んだデータを読み出した際にデータが期待値である書き込みデータと比較して正しいかどうか、といったことを検証し、診断対象装置５７が故障しているかどうかを試験する。
【００５６】
そして、診断が終了すると、診断プロセッサ１４は、メモリコントローラ１３に診断モードからの復帰指示を行う。
【００５７】
復帰指示を受けたメモリコントローラ１３は、装置判別領域２５の情報をクリアしたのちに診断モードから復帰する。ここで、フラグ領域２６には、通常モードであることを示すフラグ情報が格納される。
【００５８】
フラグ領域２６が診断モードから通常モードになった段階で、メモリコントローラ１３は、第１記憶部１１の情報を第２記憶部１２に上書きコピーする。なお、このコピーの指示は、診断プロセッサ１４の判断に従うことにしてもよい。
【００５９】
メモリコントローラ１３は、必要に応じて、診断プロセッサ１４に対して、第１記憶部１１の情報が第２記憶部１２に上書きコピーされたことを通知する。なお、このコピー完了通知は省略することもできる。
【００６０】
診断プロセッサ１４は、コンソール１９の表示装置に診断対象装置５７の診断結果を表示する指示を行う。
【００６１】
以上のような流れによって、スレーブとなる第２記憶部１２によって診断対象装置５７が診断を受けた後に、マスタとなる第１記憶部１１に格納されたデータが第２記憶部１２に上書きされる。このようにすれば、診断中に診断対象装置５７が誤動作をしたとしても、記憶部への誤った書き込みは、システム運用から切り離された第２記憶部１２のみになされる。そのため、第１記憶部１１が受け持つシステム運用に関しては、診断における誤動作の影響を受けることがなくなる。また、診断終了後、第１記憶部１１に格納されたデータが第２記憶部１２に上書きされてから、第２記憶部１２を図４に示した通常モードに復帰させるため、診断から復帰した第２記憶部１２がシステム運用に誤動作を引き起こす可能性もなくなる。
【００６２】
すなわち、本実施形態のコンピュータシステム１の診断方法によれば、コンピュータシステム１の運用には影響を与えずに、外部装置１８の診断を安全に実施することができる。なお、図６に示した実行手順をコンピュータに実行させるプログラムも本発明の範囲に含まれるものとする。
【００６３】
このように、本実施形態におけるコンピュータシステムによれば、コンピュータシステムの運用に擾乱を与えずにＩ／Ｏポートに接続された外部装置を診断することが可能となる。また、コンピュータシステムを診断中であっても、コンピュータシステムの運用は複数の記憶装置に含まれる一つのメモリをミラーで使用可能であるため、その他のメモリに障害が発生しても処理を継続させて可用性を維持することが可能となる。さらに、コンピュータシステムをオンラインで運用している場面においても、オンライン状態を維持しながらのコンピュータシステムの運用が可能となる。
【００６４】
（実施例）
次に、図７のコンピュータシステム７０においてＩ／Ｏコントローラ７１によって外部装置７３を運用中に、別の外部装置７３を制御するＩ／Ｏコントローラ７２に異常が発生した場合を想定した実施例について説明する。
【００６５】
本実施例は、異常を示すＩ／Ｏコントローラ７２が、スレーブとなる第２記憶部１２上の誤ったアドレスである書き込み領域８５にデータの誤書き込み８３を実行した場合であっても、コンピュータシステム７０の運用に影響が及ばないことを説明するための例である。
【００６６】
図７には、本発明の実施例に係るコンピュータシステム７０の構成を示した。なお、コンピュータシステム７０において、コンピュータシステム１と同様の構成については同一の符号を用いた。
【００６７】
図８には、本発明の実施例に係る第１及び第２記憶部１１，１２へのデータ書き込み動作時における誤動作の一例を示した。診断モードにおいて、第１記憶部１１は、Ｘ番地からのエリアは使用せずに、Ｙ番地からのアドレスを使用して運用中装置であるＩ／Ｏコントローラ７１と接続していることを示している。また、診断モードにおいて、診断に使用される第２記憶部１２は、診断対象となるＩ／Ｏコントローラ７２の診断用領域としてＸ番地からのアドレスを使用し、運用中装置であるＩ／Ｏコントローラ７１からの書き込みはＹ番地からのアドレスに行なうことを示している。すなわち、Ｘ番地から１ＫＢのエリアは運用ではアクセスされない、診断専用のエリアとなる。
【００６８】
図８においては、診断対象装置７４から第２記憶部１２への書き込み動作で誤作動が起こり、第２記憶部１２のＸ番地からのアドレスに書き込みを行なうところ、第２記憶部１２のＹ番地からのアドレスに書き込んだ例を示している。Ｙ番地からのアドレスは、第１記憶部１１では、運用中装置であるＩ／Ｏコントローラ７１とのアクセスに用いられている領域である。
【００６９】
図９には、実施例の動作を示すフローチャートを示した。なお、図９に示した診断モードにおいて、運用中装置であるＩ／Ｏコントローラ７１は、第１記憶部１１のＹ番地からのアドレスを使用して通常モードで使用されているものとする。
【００７０】
ここで、図９を用いて、Ｉ／Ｏコントローラ７２を診断している場面で、Ｉ／Ｏコントローラ７２に異常が起こった際の実施例の動作フローを説明する。
【００７１】
図９において、Ｉ／Ｏコントローラ７２の診断指示がコンソール１９に入力される（ステップ９１でＹｅｓ）と、診断プロセッサ１４は、メモリコントローラ１３に診断対象装置識別情報としてＩ／Ｏコントローラ７２の情報を通知し、診断モードへの移入を指示する（ステップ９２）。診断指示が入力されていない場合（ステップ９１でＮｏ）、コンソール１９からの診断指示を待つ。
【００７２】
指示を受けたメモリコントローラ１３は、装置判別領域２５にＩ／Ｏコントローラ７２の識別情報を格納し（ステップ９３）、診断モードに移入する（ステップ９４）。
【００７３】
次に、診断プロセッサ１４は、Ｉ／Ｏコントローラ７２の診断を開始する（ステップ９５）。ここで、図２のフラグ領域２６には診断モードであることを示すフラグ情報が格納される。
【００７４】
さらに、診断対象であるＩ／Ｏコントローラ７２によって、運用では使われない第２記憶部１２のアドレスＸ番地から１ＫＢの領域においてデータの読み書きを行う（ステップ９６）。なお、診断中は、運用で用いている第１記憶部１１においては、アドレスＸ番地から１ｋＢの領域にはデータの読み書きを行なわないものとする。また、診断では第２記憶部１２の診断エリアを使って書き込み／読み込みの診断のアクセスを行う。この診断では、正しく書き込みがなされ、書き込みされた値が正しく読めるか等の試験を行うため、診断前から診断エリアに入っていたデータを使うことはない。
【００７５】
ここで、診断対象であるＩ／Ｏコントローラ７２は異常を示し、診断用のアドレスＸ番地にデータを書き込むべきところ、コンピュータシステム７０の運用で使用されているアドレスＹ番地に含まれる書き込み領域８５にデータの読み書きを行ったとする（ステップ９７でＹｅｓ）。診断対象であるＩ／Ｏコントローラ７２に異常が発生したことは、コンソール１９に対して通知される（ステップ９８）。
【００７６】
なお、ステップ９７で異常が起こらなかった場合（ステップ９７でＮｏ）は、異常がなかったことをコンソール１９に対して通知する（ステップ９９）。
【００７７】
コンソール１９は、Ｉ／Ｏコントローラ７２の書き込みにおける異常の有無を表示装置に表示する（ステップ１００）。
【００７８】
ここで、診断モードを継続する必要がある場合（ステップ１０１でＹｅｓ）、ステップ９５に戻る。なお、診断モードを継続するか否かは、コンソール１９への入力によって設定されるものとするが、診断モードからの復帰指示が即座に出されない場合は、一定の待機時間を経過後に自動的に再診断もしくは復帰を行なうように設定してもよい。
【００７９】
診断モードを終了する場合（ステップ１０１でＮｏ）、診断プロセッサ１４は、メモリコントローラ１３に対して診断モードからの復帰を指示する（ステップ１０２）。なお、装置判別領域２５に格納されたＩ／Ｏコントローラ７２の識別情報は、必要に応じて削除してもよく、次の診断モードの移行時まで格納しておいてもよい。
【００８０】
指示を受けたメモリコントローラ１３は、診断モードから復帰する（ステップ１０３）。
【００８１】
最後に、システム運用を継続させていた第１記憶部１１のデータを、診断に用いた第２記憶部１２に上書きして終了とする（ステップ１０４）。診断後に第１記憶部１１のデータを第２記憶部１２に上書きするのは、壊れている可能性のある第２記憶部１２のデータを第１記憶部１１の正しいデータで修復するためである。
【００８２】
ここで、図８に示したように、メモリコントローラ１３は、Ｉ／Ｏコントローラ７２による誤った書き込み領域８５へのデータの誤書き込み８３は診断に用いた第２記憶部１２に対してのみ行われたことになる。すなわち、診断による書き込み／読み込みによって診断エリアに記憶されたデータが壊れても、診断用エリアを運用で使用するエリアと分けるため、運用には影響しないことになる。
【００８３】
一方、コンピュータシステム７０の運用におけるＹ番地へのアクセスとしては、第１及び第２記憶部１１，１２の両方への書き込み８１と、システム運用に用いていた第１記憶部１１からの読み出し８２とが行われる。すなわち、コンピュータシステム７０の運用では、第１記憶部１１のみから読み出し８２を行なっていたことになる。そのため、第２記憶部１２の書き込み領域８５に誤って書き込まれたデータは、コンピュータシステム７０の運用においては、システム運用を請け負っていた第１記憶部１１には全く参照されなかったことになる。
【００８４】
仮に、診断対象のＩ／Ｏコントローラ７２が壊れており、診断時に本来は診断用エリアに書き込みしなければならないところ、誤書き込みで第２記憶部１２の診断用エリアではなくて運用で使用するエリアに書き込みしてしまったとしても、診断モードでは、Ｉ／Ｏコントローラ７２からの書き込みは、第２記憶部１２のみに対する書き込みになる。よって、データが壊されるのは第２記憶部１２のみで、第１記憶部１１のデータは壊されず、第１記憶部１１による運用に支障がでることはない。
【００８５】
そのため、先のＩ／Ｏコントローラ７２による書き込み領域８５へのデータの誤書き込み８３は、コンピュータシステム７０の運用へ擾乱を与えることはない。
【００８６】
以上が図７〜９に示した本発明の実施例に関する動作例の説明である。なお、上記の動作例は一例であって本発明の範囲を限定するものではない。また、図９に示したような実行手順をコンピュータに実行させるプログラムも本発明の範囲に含まれるものとする。
【００８７】
また、上記においては、Ｉ／Ｏコントローラの異常診断について説明したが、Ｉ／Ｏコントローラに接続された外部装置や、コンピュータを構成するその他の装置の診断についても同様の動作をし、同様の作用・効果を得られることは当然である。
【００８８】
以上、実施形態及び実施例を参照して本願発明を説明してきたが、本願発明は上記実施形態及び実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００８９】
１    コンピュータシステム
１１    第１記憶部
１２    第２記憶部
１３    メモリコントローラ
１４    診断プロセッサ
１５    Ｉ／Ｏコントローラ
１６    診断手段
１７    指示手段
１８    外部装置
１９    コンソール
２０    記憶領域
２１    制御手段
２２    切替え手段
２５    装置判別領域
２６    フラグ領域
３０    命令形式
３１    装置識別子
３３    読み書き区別
３５    アドレス
５７    診断対象装置
７０    コンピュータシステム
７１    Ｉ／Ｏコントローラ
７２    Ｉ／Ｏコントローラ
７３    外部装置
７４    診断対象装置
８５    書き込み領域
１１０    多重化メモリ装置
１１１，１１２    メモリユニット
１１３    メモリ制御部
１２０    中央演算処理装置
１２１    制御レジスタ
１２２    テストモードフラグ
１３０    バス
１４０    オペレーションシステム
１４１    多重化メモリ診断プログラム
１４２    テストモードアクセスＯＮ命令
１４３    テストモードアクセスＯＦＦ命令
【図１】
2014095989.tif 000003
【図２】
2014095989.tif 000004
【図３】
2014095989.tif 000005
【図４】
2014095989.tif 000006
【図５】
2014095989.tif 000007
【図６】
2014095989.tif 000008
【図７】
2014095989.tif 000009
【図８】
2014095989.tif 000010
【図９】
2014095989.tif 000011
【図１０】
2014095989.tif 000012