(57)【要約】【課題】  メモリバスなどに故障があっても、安定した動作を行い、故障に対する高い信頼性を確保する。【解決手段】  メモリバスの故障状況を確認する故障診断部１０２及び故障したメモリバス以外のメモリバスに対し転送するパケットデータの割り付けを行う転送制御部１０１を有するメモリ制御用ＬＳＩ１００と、メモリバスの故障状況を認識し、前記割り付けを行うバッファＩＣ２０２を有するメモリモジュール２００（１）、（２）、…よりなるメモリシステムを構築した。【選択図】  図１
2006285602.tif 000002
【特許請求の範囲】
【請求項１】
メモリバスの故障状況に基づいて、故障したメモリバス以外のメモリバスに対し転送するパケットデータの割り付けを行うことを特徴とするメモリシステム。
【請求項２】
前記故障状況を確認する手段及び前記割り付けを行う手段を有するメインメモリと、
前記故障状況を認識する手段及び前記割り付けを行う手段を有するメモリモジュールを有していることを特徴とする請求項１に記載のメモリシステム。
【請求項３】
請求項１または２に記載のメモリシステムを搭載した情報処理機器。
【請求項４】
メモリバスの故障状況を確認し、
故障したメモリバス以外のメモリバスに対し転送するパケットデータの割り付けを行い、
前記割り付けに従い、前記パケットデータを転送することを特徴とするデータ転送方法。
【請求項５】
コンピュータに、
メモリバスの故障状況を確認する処理と、
故障したメモリバス以外のメモリバスに対し転送するパケットデータの割り付けを行う処理と、
前記割り付けに従い、前記パケットデータを転送する処理を実行させることを特徴とするプログラム。
【請求項６】
請求項５に記載のプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理機器などに搭載されており、所定のコマンド、データを転送する機能を有するメモリシステムなどに関するものである。
【背景技術】
【０００２】
情報処理機器のハードウェアにおいては、チップセットとメインメモリとの間でなされるデータ転送が非常に高速で行うために、転送するデータをパケット化し、チップセットとメインメモリを１対１で接続したシリアル転送方式がとられている。図４は、従来の情報処理機器におけるシリアル転送方式を示す図面である。冗長構成で組まれており、チップセットとして代表的なメモリモジュール２００（１）、（２）、…に対し、それらを制御するメインメモリとして代表的なメモリ制御用ＬＳＩ１００がある。複数のメモリバス３００を以って、メモリ制御用ＬＳＩ１００及びメモリモジュール２００（１）、（２）、…をデイジーチェーン接続することにより、所定データなどをシリアル転送している。従って、メモリバス３００はシリアルインターフェースとして機能する。また、各メモリモジュール２００（１）、（２）、…はデータを記憶するメモリＩＣ２０１を有している。また、シリアル転送されたデータ、つまりシリアルデータをパラレル変換して、そのパラレル変換したデータをメモリＩＣ２０１に転送するバッファＩＣ２０２を有している。
【０００３】
しかし、このシリアル転送方式において以下の問題点がある。第１に、メモリバス３００の一つ、又は、バッファＩＣ２０２の一つが故障した場合、データ転送が不可能になる点である。例えば、図４に示す故障ライン４００があって、「×」を印した箇所で断線したなどといった故障があった場合、メモリ制御用ＬＳＩ１００から出力されたデータはメモリモジュール２００（１）には転送されるが、他のメモリモジュール２００（２）、（３）、…に転送することはできない。シリアル転送方式を採る前はメモリバス３００の一つが故障してもメモリモジュールは周知のエラー訂正手段を行うことでデータ転送を継続することは可能であった。しかし、このような手段はこのシリアル転送方式においては適用され得ない。
【０００４】
第２に、デイジーチェーンで接続する構成をとるため、複数のメモリモジュール２００（１）、（２）、…のうち中間のメモリモジュールに故障が発生すると、その後のメモリモジュールに対してはデータ転送が不可能となり、結果的に、メモリシステム全体が動作不可能となってしまう点である。シリアル転送方式を採る前はメモリ制御用ＬＳＩ１００及びメモリモジュール２００（１）、（２）、…は、いわゆる１対多接続であった。中間のメモリモジュールに故障があっても、当該故障はそのメモリモジュール内で閉じることから、メモリシステム全体に影響を与えることは無く、十分な信頼性があった。従って、デイジーチェーンのようにメモリ制御用ＬＳＩ１００及びメモリモジュール２００（１）、（２）、…を１対１で接続することにより、非常に高速なデータ転送をなし得る代わりに、上記故障に対する信頼性が劣ってしまう。
【０００５】
特許文献１にはバス・サイクルのサイクル数を変更する技術が開示されている。また、特許文献２には通信条件に応じてパラレル転送とシリアル転送を切り替える技術が開示されている。しかし、このような技術はメモリバスの故障を考慮したものではない。従って、当該故障を判定する機能を備えておらず、このような技術を利用しても上記問題点を解消するには至らない。
【特許文献１】特開平０１−３０６９３９号公報
【特許文献２】特開平１０−１７１７５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記事情を鑑みて、本発明が解決しようとする課題は、メモリバスなどに故障があっても、安定した動作を行い、故障に対する高い信頼性を確保するメモリシステムなどを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するための本発明の態様は、メモリバスの故障状況に基づいて、故障したメモリバス以外のメモリバスに対し転送するパケットデータの割り付けを行うことを特徴とするメモリシステムに関するものである。具体的には、このメモリシステムは、前記故障状況を確認する手段及び前記割り付けを行う手段を有するメインメモリと、前記故障状況を認識する手段及び前記割り付けを行う手段を有するメモリモジュールを有していることを特徴とする。
【０００８】
本発明の他の態様は、上記メモリシステムを搭載した情報処理機器に関するものである。
【０００９】
また、本発明の他の態様は、メモリバスの故障状況を確認し、故障したメモリバス以外のメモリバスに対し転送するパケットデータの割り付けを行い、前記割り付けに従い、前記パケットデータを転送することを特徴とするデータ転送方法に関するものである。
【００１０】
また、本発明の他の態様は、コンピュータに、メモリバスの故障状況を確認する処理と、故障したメモリバス以外のメモリバスに対し転送するパケットデータの割り付けを行う処理と、前記割り付けに従い、前記パケットデータを転送する処理を実行させることを特徴とするプログラムに関するものである。
【００１１】
また、本発明の他の態様は、上記プログラムを記録した記録媒体に関するものである。
【発明の効果】
【００１２】
本発明により、メモリバスに故障があっても、そのメモリバスを使用しないようにするため、安定した動作を継続し、故障に対する高い信頼性を確保することができる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明のメモリシステムを実施するための最良の形態を、このメモリシステムを搭載した情報処理機器として説明する。その際には、本明細書と同時に提出する図面を適宜参照することにする。
【００１４】
図１は、本形態の情報処理機器におけるシリアル転送方式を示す図面である。冗長構成で組まれているメモリモジュール２００（１）、（２）、…に対し、それらを制御するメモリ制御用ＬＳＩ１００がある。複数のデータ線Ｌ１、Ｌ２、…より構成されるメモリバス３００を以って、メモリ制御用ＬＳＩ１００及びメモリモジュール２００（１）、（２）、…をデイジーチェーン接続する。これにより、所定のコマンド、クロック、データ（特に、パケット化されたもの）などの転送によるシリアル転送方式を採るメモリシステムが形成されている。
【００１５】
メモリ制御用ＬＳＩ１００は転送制御部１０１及び故障診断回路１０２を有して構成されている。
【００１６】
転送制御部１０１はメモリバス３００を介してパケットデータなどを各メモリモジュール２００（１）、（２）、…へ転送する制御を行う機能を有する。また、メモリバスが故障していた場合にはそのメモリバスを介してシリアル転送を行うことのないようにパケットの変更を行う機能を有する。例えば、図１に示すように、「×」と印した箇所が断線などで故障しているデータ線Ｌ１が故障ライン４００であって、このデータ線Ｌ１でデータの転送を行えない場合には他のデータ線Ｌ０、Ｌ２、Ｌ３、…を介して転送する。そして、データ線Ｌ１で転送するように割り付けられていたパケットはデータ線Ｌ０、Ｌ２、Ｌ３、…に割り付けるように変更する。
【００１７】
故障診断部１０２はメモリバス３００の故障状況を確認する機能を有する。メモリバス３００とは別に各メモリモジュール２００（１）、（２）、…のバッファＩＣ２０２と専用ラインを組んで接続されている。故障状況の確認は一定間隔で行い、常時把握できるようにしている。具体的には、故障診断部１０２より上記専用ラインを介してバッファＩＣ２０２に所定の要求信号を一定間隔で送信している。もし、バッファＩＣ２０２がその要求信号を受信していれば、対応する応答信号を故障診断部１０２に送信する。故障診断部１０２がその応答信号を受信することによりメモリバス３００の故障は無いものと確認することができる。あるメモリモジュールのバッファＩＣ２０２より応答信号を受信できなければ、そのメモリモジュールのバッファＩＣ２０２を通過するデータ線近傍において故障が生じているものと確認することができる。故障診断部１０２が故障を確認した場合には転送制御部１０１にパケットの変更を要求し、故障したデータ線を使用してデータの転送を行わないようにさせる。また、各メモリモジュール２００（１）、（２）、…のバッファＩＣ２０２に対し、故障があった旨の通知するための故障通知情報を送信する。
【００１８】
各メモリモジュール２００（１）、（２）、…はメモリＩＣ２０１及びバッファＩＣ２０２を有して構成されている。
【００１９】
メモリＩＣ２０１はバッファＩＣ２０２より受信したデータを記憶する記憶素子である。
【００２０】
バッファＩＣ２０２はメモリバス３００を介して転送されたデータを各メモリモジュール２００（１）、（２）、…にて受信する機能を有する素子である。転送されたデータはシリアルデータであって、シリアルパラレル変換することにより、パラレル化したデータをメモリＩＣ２０１に記憶させる機能も有する。故障診断部１０２より送信される要求信号、故障通知情報を受信し、応答信号を故障診断部１０２に送信する機能も有する。故障通知情報を受信することによりメモリバス３００に故障があった旨を認識することができ、転送制御部１０１にてなされたパケットの変更に対応するべく、転送されたシリアルデータに係るパケットの変更を行う。
【００２１】
なお、本形態の情報処理機器には、当該情報処理機器を構成する各部（メモリ制御用ＬＳＩ１００、メモリモジュール２００（１）、（２）、…を含む。）の動作処理を統括的に制御する、いわば、中央処理制御を行うＣＰＵ(Central Processing Unit)と、当該ＣＰＵがその制御を行うために読み出すプログラムを記録するＲＯＭ(Read Only Memory)を有している。
【００２２】
メモリバス３００に故障があった場合に、転送制御部１０１、バッファＩＣ２０２が行うパケットの変更の様子を、図２を参照して説明する。図２はデータパケットの割り付けを表したテーブル（ａ）〜（ｃ）である。
【００２３】
（ａ）に示すように、メモリバス３００において故障が生じていない場合、全てのデータ線を使用してパケットのシリアル転送を行っている。図を見ればわかるように、データ線Ｌ０においては、Ｔ０のタイミングでアドレスＡ０が、Ｔ１のタイミングでライトデータＤＷ０が、Ｔ２のタイミングでライトデータＤＷ４が転送されている。他のデータ線も同様である。
【００２４】
ここで、データ線Ｌ１において故障が発生したものとする。すると、（ｂ）に示すように、データ線Ｌ１を介して転送されるアドレスＡ１、ライトデータＤＷ１、ライトデータＤＷ５が転送されない状態になる。故障診断部１０２はこのような状態を故障通知情報として各メモリモジュール２００（１）、（２）、…に送信する。
【００２５】
その後、（ｃ）に示すように、転送制御部１０１、バッファＩＣ２０２はパケットの再割付を行うようにして変更する。アドレスＡ１、ライトデータＤＷ１、ライトデータＤＷ５をデータ線Ｌ０、Ｌ２、Ｌ３の何れかへ割り付けている。その割り付けに伴い、他のデータも適当なクロックタイミングＴｘに転送されるように割り付けても良い。結果的に、データ線Ｌ１には何れのパケットも割り付けられないようになる。
【００２６】
メモリ制御用ＬＳＩ１００においてメモリバス３００に故障があることを確認してからパケットの変更を行うまでの動作処理は以下に説明するようになる。図４を参照しつつその説明を行う。
【００２７】
まず、メモリ制御用ＬＳＩ１００はシリアル転送における通常のパケットのリード／ライト処理を行っている（Ｓ０１）。このリード／ライト処理が終了すれば（Ｓ０２でＹＥＳ）、シリアル転送自体を終了することになるが、まだ継続するのであれば（Ｓ０２でＮＯ）、一定間隔で行う故障状況の確認を故障診断部１０２にて実行する（Ｓ０３）。
【００２８】
メモリ制御用ＬＳＩ１００において、メモリバス３００の故障に由来する不正なパケットが与えられることが無ければ（Ｓ０３でＹＥＳ）、故障が生じていないものと判断してＳ０１の処理へ続くが、不正なパケットが与えられると（Ｓ０３でＮＯ）、バス診断モードへ切り替わる（Ｓ０４）。
【００２９】
バス診断モードでは、故障診断部１０２が故障したデータ線を特定し、転送制御部１０１にパケットの変更を要求する。転送制御部１０１は故障したデータ線にパケットを割り付けないようにして変更する。その後、故障診断部１０２が上記故障があった旨を各メモリモジュール２００（１）、（２）、…に通知すべく故障通知情報を送信する（Ｓ０５）。
【００３０】
バッファＩＣ２０２においてパケットの変更を行い、当該変更に基づくリード／ライト処理を継続する（Ｓ０１）。
【００３１】
本形態を実施することにより、以下の効果を奏する。すなわち、故障したデータ線を特定し、パケットの割り付けを変更してそのデータ線を使用しないシリアル転送へ切り替えるため、処理を継続することができ、高い信頼性を確保することができる。
【００３２】
なお、上述した形態は本発明を実施するための最良のものであるが、これに限定する趣旨ではない。従って、本発明の要旨を変更しない範囲において種々変形することが可能である。
【００３３】
例えば、故障診断部１０２はメモリ制御用ＬＳＩ１００に設けられていたが、バッファＩＣ２０２に設ける形態であっても良い。これは、バッファＩＣ２０２がメモリバス３００の故障状況を確認することになることを意味する。
【００３４】
また、上記形態では、故障したデータ線が１本である例を示したが、複数本のデータ線が故障した場合であってもパケットの変更方法は同様である。すなわち、故障した複数のデータ線を使用しないようにパケットの再割付を行うようにする。
【図面の簡単な説明】
【００３５】
【図１】本形態の情報処理機器におけるシリアル転送方式を示す図面である。
【図２】データパケットの割り付けを表したテーブルである。（ａ）は正常時のテーブルである。（ｂ）は故障時のテーブルである。（ｃ）は訂正時のテーブルである。説明の便宜上、メモリバス３００を構成するデータ線はＬ０〜Ｌ３の４本とする。また、メモリバス３００を介してシリアル転送されるパケットはアドレス（Ax）、ライトコマンド（W）、ライトデータ（DWx）の３種とする。これらのパケットはクロックタイミング（Tx）によるタイミングの下、転送制御部１０１より送出されるものとする。
【図３】本形態のデータパケットの変更に関する動作を表すフローチャートである。
【図４】従来の情報処理機器におけるシリアル転送方式を示す図面である。
【符号の説明】
【００３６】
１００    メモリ制御用ＬＳＩ
１０１    転送制御部
１０２    故障診断部
２００（１）、（２）、…    メモリモジュール
２０１    メモリＩＣ
２０２    バッファＩＣ
３００    メモリバス
４００    故障ライン
【図１】
2006285602.tif 000003
【図２】
2006285602.tif 000004
【図３】
2006285602.tif 000005
【図４】
2006285602.tif 000006