(57)【要約】      （修正有）【課題】バイトスライスされたデータが格納されるｎ個のメモリに対しサイクル同期してアクセスを行うｎ個のメモリコントローラと、ｍ個のＭＰＵのうちの任意の１個のＭＰＵからのメモリアクセスを受信し該ｎ個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステム（ｍ，ｎは２以上の整数）に関し、システムコントローラの構成を比較的簡単にすると共に負荷を軽減し、且つ、クロスバスイッチとが別体であるメモリシステムへも適用可能なソフトエラー訂正方法を提供する。【解決手段】メモリからのリードデータに訂正可能なエラーを検出すると、エラーアドレスを対応するメモリコントローラ内に保持し、該システムコントローラに対してエラー通知を行い、該システムコントローラからＭＰＵの介在なしに該メモリコントローラを制御し、該エラーアドレスからデータをリードしてエラーを訂正してからリライトする。【選択図】図８
2006260289.tif 000002
【特許請求の範囲】
【請求項１】
バイトスライスされたデータが格納されるｎ個のメモリに対しサイクル同期してアクセスを行うｎ個のメモリコントローラと、ｍ個のＭＰＵのうちの任意の１個のＭＰＵからのメモリアクセスを受信し該ｎ個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムにおけるソフトエラー訂正方法であって、ｍ，ｎは２以上の整数であり、
メモリからのリードデータに訂正可能なエラーを検出すると、該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持すると共に、該対応するメモリコントローラから該システムコントローラに対してエラー通知を行い、
該エラー通知に応答して、該システムコントローラからＭＰＵの介在なしに該エラーアドレスを保持するメモリコントローラを制御し、対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトすることを特徴とする、ソフトエラー訂正方法。
【請求項２】
該エラー通知に応答して、該システムコントローラから該エラーアドレスを保持していないメモリコントローラを制御し、対応するメモリの予め設定されているダミーリード用のアドレスからデータをリードしてそのままライトバックすることを特徴とする、請求項１記載のソフトエラー訂正方法。
【請求項３】
該エラー通知に応答して、該システムコントローラからエラー訂正コマンドとダミーリード用のアドレスを各メモリコントローラに入力することを特徴とする、請求項１又は２記載のソフトエラー訂正方法。
【請求項４】
該エラー通知を、該メモリコントローラから該システムコントローラへのステータスを送信するためのバスを用いて行うことを特徴とする、請求項１〜３のいずれか１項記載のソフトエラー訂正方法。
【請求項５】
バイトスライスされたデータが格納されるｎ個のメモリに対しサイクル同期してアクセスを行うｎ個のメモリコントローラと、ｍ個のＭＰＵのうちの任意の１個のＭＰＵからのメモリアクセスを受信し該ｎ個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムにおけるメモリ制御装置であって、ｍ，ｎは２以上の整数であり、
メモリからのリードデータに訂正可能なエラーを検出すると、該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持すると共に、該対応するメモリコントローラから該システムコントローラに対してエラー通知を行う手段と、
該エラー通知に応答して、該システムコントローラからＭＰＵの介在なしに該エラーアドレスを保持するメモリコントローラを制御し、対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトする手段とを備えたことを特徴とする、メモリ制御装置。
【請求項６】
該エラー通知に応答して、該システムコントローラから該エラーアドレスを保持していないメモリコントローラを制御し、対応するメモリの予め設定されているダミーリード用のアドレスからデータをリードしてそのままライトバックする手段を備えたことを特徴とする、請求項５記載のメモリ制御装置。
【請求項７】
バイトスライスされたデータが格納されるｎ個のメモリに対しサイクル同期してアクセスを行うｎ個のメモリコントローラと、ｍ個のＭＰＵのうちの任意の１個のＭＰＵからのメモリアクセスを受信し該ｎ個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムであって、ｍ，ｎは２以上の整数であり、
メモリからのリードデータに訂正可能なエラーを検出すると、該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持すると共に、該対応するメモリコントローラから該システムコントローラに対してエラー通知を行い、
該エラー通知に応答して、該システムコントローラからＭＰＵの介在なしに該エラーアドレスを保持するメモリコントローラを制御し、対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトすることを特徴とする、メモリシステム。
【請求項８】
該エラー通知に応答して、該システムコントローラから該エラーアドレスを保持していないメモリコントローラを制御し、対応するメモリの予め設定されているダミーリード用のアドレスからデータをリードしてそのままライトバックすることを特徴とする、請求項７記載のメモリシステム。
【請求項９】
該エラー通知に応答して、該システムコントローラからエラー訂正コマンドとダミーリード用のアドレスを各メモリコントローラに入力することを特徴とする、請求項７又は８記載のメモリシステム。
【請求項１０】
該エラー通知を、該メモリコントローラからシステムコントローラへのステータスを送信するためのバスを用いて行うことを特徴とする、付記７〜９のいずれか１項記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトエラー訂正方法、メモリ制御装置及びメモリシステムに係り、特にメモリ内のソフトエラーを訂正するソフトエラー訂正方法、そのようなソフトエラー訂正方法に好適なメモリ制御装置及びそのようなソフトエラー訂正方法を採用するメモリシステムに関する。
【背景技術】
【０００２】
図１は、従来のメモリシステムの一例を示すブロック図である。同図に示すメモリシステム１０は、バイトスライスされたデータをアクセスする構成を有し、複数のメモリ（ＭＥＭ）１−１〜１−ｎと、複数のメモリ（アクセス）コントローラ（ＭＡＣ）２−１〜２−ｎと、システムコントローラ３（ＳＣ）と、複数のＭＰＵ５−１〜５−ｍとからなる。同図中、白抜きの矢印はデータバスを示し、太い実線の矢印はアドレスバスを示し、実線の矢印はステータスバスを示す。
【０００３】
メモリコントローラ２−１〜２−ｎは、バイトスライスされたデータのバイト単位でのメモリ１−１〜１−ｎのアクセスを同期したアクセスサイクルで行うように構成されている。つまり、メモリ１−１〜１−ｎのアクセスに同期ずれを起こさないよう、全てのメモリコントローラ２−１〜２−ｎが常に同一タイミングで全てのメモリ１−１〜１−ｎに対するメモリアクセスを同時に行う。
【０００４】
一方、ＤＲＡＭ／ＳＲＡＭ等のメモリデバイスからなるメモリ１−１〜１−ｎにおいては、一定確率でソフトエラーが発生する。そこで、メモリシステム１０に信頼性が要求される場合には、ＥＣＣ等のデータ保護機構によりメモリ１−１〜１−ｎ内のデータを訂正するようにしている。
【０００５】
例えば、１つのメモリ１−１で訂正可能なソフトエラーが発生し、システムコントローラ３でこのソフトエラーを検出した場合、システムコントローラ３のハードウェアが自立でエラー訂正動作を行うことが一般的である。この場合、以下のような一連の動作が必要となる。
【０００６】
図２及び図３は、この場合のエラー訂正動作を説明するための図である。図２は、メモリシステム１０の要部を機能的に示すブロック図であり、図３は、エラー訂正動作を説明するためのタイムチャートである。尚、図２中、破線の矢印はコマンドの流れ、太い破線の矢印はアドレスの流れ、実線の矢印はステータスの流れ、太い実線の矢印はデータの流れを示す。又、図２中、括弧内に示す数値はビット数を示す。
【０００７】
図２に示すように、各メモリコントローラ２−１〜２−ｎは、図示を省略する制御部に加え、レジスタ５２１，５２２，５２５，５２６を含む。システムコントローラ３は、図示を省略する制御部に加え、セレクタ５３１，５３２、レジスタ５３３，５３４、アンド回路５３５、エラー検出部５３６、セレクタ５３７、エラー訂正部５３８及びレジスタ５３９を含む。
【０００８】
先ず、図２及び図３に示すように、ＭＰＵ５−１からリードコマンドがアドレスと共にシステムコントローラ３に入力されると、システムコントローラ３はセレクタ３１，３２を介してリードコマンド（Read cmd）をアドレス（Address）と共にメモリコントローラ２−１に入力する。メモリコントローラ２−１は、レジスタ５２１，５２２に一旦保持されたメモリ規定のタイミングでリードコマンド（Command）とアドレス（Address）をメモリ１−１に入力する。メモリ１−１からリードされた（MEM Read）ＥＣＣを含むデータ（Data）は、メモリコントローラ２−１に入力され、メモリコントローラ２−１内のレジスタ５２５に一旦保持されて規定のタイミングでシステムコントローラ３に入力される。システムコントローラ３のエラー検出部５３６におけるＥＣＣを用いたエラー検出（Read Data Check）の結果、リードデータ（Read
Data）にエラー（Error）がなければ（Correct Data）、ＭＰＵ５−１に入力される。
【０００９】
他方、システムコントローラ３におけるＥＣＣを用いたエラー検出の結果、リードデータにエラーがあって（Error Data）ＥＣＣによる訂正（Error
Correct）が可能であると、エラーが検出されたアドレス（Error
Address）に対するエラー訂正のためのリードコマンド（Scrub
cmd）をメモリコントローラ２−１に入力することで、メモリ１−１からエラーデータ（Error Data）をリードする。ここで、リードデータのエラーはシステムコントローラ３内のエラー訂正部５３８においてＥＣＣにより訂正可能であるため、リードデータをレジスタ５３９及びセレクタ５３７を介してエラー訂正部５３８に入力して訂正してからエラー訂正のためのライトコマンドと共に訂正データをメモリコントローラ３に入力する。メモリコントローラ３は、訂正データをレジスタ５２６に一旦保持して規定のタイミングで上記エラーが検出されたアドレスにリライトする。これにより、メモリ１−１内の訂正可能なソフトエラーが訂正される。
【００１０】
尚、通常のデータライトの場合、ＭＰＵ５−１からのデータをシステムコントローラ３を介してメモリコントローラ２−１に入力する（MEM Write）。
【００１１】
上記の如く、メモリシステム１０は、全てのメモリコントローラ２−１〜２−ｎが常に同一タイミングで全てのメモリ１−１〜１−ｎに対するメモリアクセスを同時に行う構成であるため、メモリコントローラ２−１を介したメモリ１−１に対するソフトエラーの訂正動作と同様のソフトエラーの訂正動作が、メモリ１−２〜１−ｎにおけるソフトエラーの有無にかかわらず他のメモリコントローラ２−２〜２−ｎを介してメモリ１−２〜１−ｎに対しても同時に行われる。
【００１２】
尚、メモリエラーの救済方式としては、特許文献１の如き方式が知られている。
【特許文献１】特開昭５９−２１７２９８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかし、従来のメモリシステムでは、システムコントローラにおいてエラー検出及びエラー訂正を行う構成であるため、システムコントローラの構成が複雑になると共に、システムコントローラへの負荷が大きいという問題があった。又、システムコントローラとクロスバスイッチとが別体であるメモリシステムには適用できないという問題もあった。
【００１４】
そこで、本発明は、システムコントローラの構成を比較的簡単にすると共に、システムコントローラへの負荷を軽減し、且つ、システムコントローラとクロスバスイッチとが別体であるメモリシステムへも適用可能なソフトエラー訂正方法、メモリ制御装置及びメモリシステムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記の課題は、バイトスライスされたデータが格納されるｎ個のメモリに対しサイクル同期してアクセスを行うｎ個のメモリコントローラと、ｍ個のＭＰＵのうちの任意の１個のＭＰＵからのメモリアクセスを受信し該ｎ個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムにおけるソフトエラー訂正方法であって、ｍ，ｎは２以上の整数であり、メモリからのリードデータに訂正可能なエラーを検出すると、該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持すると共に、該対応するメモリコントローラから該システムコントローラに対してエラー通知を行い、該エラー通知に応答して、該システムコントローラからＭＰＵの介在なしに該エラーアドレスを保持するメモリコントローラを制御し、対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトすることを特徴とするソフトエラー訂正方法によって達成できる。
【００１６】
上記の課題は、バイトスライスされたデータが格納されるｎ個のメモリに対しサイクル同期してアクセスを行うｎ個のメモリコントローラと、ｍ個のＭＰＵのうちの任意の１個のＭＰＵからのメモリアクセスを受信し該ｎ個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムにおけるソフトエラー訂正方法であって、ｍ，ｎは２以上の整数であり、メモリからのリードデータに訂正可能なエラーを検出すると、該エラーの発生と該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持し、該エラーの発生に応答して、定期的に或いはアイドル状態が一定時間続くと、ＭＰＵの介在なしに該エラーアドレスを保持するメモリコントローラにより対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトすることを特徴とするソフトエラー訂正方法によっても達成できる。
【００１７】
上記の課題は、バイトスライスされたデータが格納されるｎ個のメモリに対しサイクル同期してアクセスを行うｎ個のメモリコントローラと、ｍ個のＭＰＵのうちの任意の１個のＭＰＵからのメモリアクセスを受信し該ｎ個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムにおけるメモリ制御装置であって、ｍ，ｎは２以上の整数であり、メモリからのリードデータに訂正可能なエラーを検出すると、該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持すると共に、該対応するメモリコントローラから該システムコントローラに対してエラー通知を行う手段と、該エラー通知に応答して、該システムコントローラからＭＰＵの介在なしに該エラーアドレスを保持するメモリコントローラを制御し、対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトする手段とを備えたことを特徴とするメモリ制御装置によっても達成できる。
【００１８】
上記の課題は、バイトスライスされたデータが格納されるｎ個のメモリに対しサイクル同期してアクセスを行うｎ個のメモリコントローラと、ｍ個のＭＰＵのうちの任意の１個のＭＰＵからのメモリアクセスを受信し該ｎ個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムにおけるメモリ制御装置であって、ｍ，ｎは２以上の整数であり、メモリからのリードデータに訂正可能なエラーを検出すると、該エラーの発生と該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持する手段と、該エラーの発生に応答して、定期的に或いはアイドル状態が一定時間続くと、ＭＰＵの介在なしに該エラーアドレスを保持するメモリコントローラにより対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトする手段とを備えたことを特徴とするメモリ制御装置によっても達成できる。
【００１９】
上記の課題は、バイトスライスされたデータが格納されるｎ個のメモリに対しサイクル同期してアクセスを行うｎ個のメモリコントローラと、ｍ個のＭＰＵのうちの任意の１個のＭＰＵからのメモリアクセスを受信し該ｎ個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムであって、ｍ，ｎは２以上の整数であり、メモリからのリードデータに訂正可能なエラーを検出すると、該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持すると共に、該対応するメモリコントローラから該システムコントローラに対してエラー通知を行い、該エラー通知に応答して、該システムコントローラからＭＰＵの介在なしに該エラーアドレスを保持するメモリコントローラを制御し、対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトすることを特徴とするメモリシステムによっても達成できる。
【００２０】
上記の課題は、バイトスライスされたデータが格納されるｎ個のメモリに対しサイクル同期してアクセスを行うｎ個のメモリコントローラと、ｍ個のＭＰＵのうちの任意の１個のＭＰＵからのメモリアクセスを受信し該ｎ個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムであって、ｍ，ｎは２以上の整数であり、メモリからのリードデータに訂正可能なエラーを検出すると、該エラーの発生と該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持する手段と、該エラーの発生に応答して、定期的に或いはアイドル状態が一定時間続くと、ＭＰＵの介在なしに該エラーアドレスを保持するメモリコントローラにより対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトする手段とを備えたことを特徴とするメモリシステムによっても達成できる。
【００２１】
上記の課題は、バイトスライスされたデータが格納されるｎ個のメモリに対しサイクル同期してアクセスを行うｎ個のメモリコントローラと、ｍ個のＭＰＵのうちの任意の１個のＭＰＵからのメモリアクセスを受信し該ｎ個のメモリコントローラにメモリアドレスを発行するシステムコントローラとメモリコントローラとＭＰＵの間でデータのスイッチングを行うクロスバスイッチとで構成されるメモリシステムにおけるソフトエラー訂正方法であって、ｍ，ｎは２以上の整数であり、メモリからのリードデータに訂正可能なエラーを検出すると、該対応するメモリコントローラから該システムコントローラに対してエラー通知と共に該エラーが検出されたエラーアドレスを送信し、該エラー通知に応答して、該システムコントローラからＭＰＵの介在なしに該メモリコントローラに該エラーが検出されたエラーアドレスを送信し、該メモリコントローラを制御し、対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトすることを特徴とするソフトエラー訂正方法、メモリ制御装置又はメモリシステムによっても達成できる。
【発明の効果】
【００２２】
本発明によれば、システムコントローラの構成を比較的簡単にすると共に、システムコントローラへの負荷を軽減し、且つ、システムコントローラとクロスバスイッチとが別体であるメモリシステムへも適用可能なソフトエラー訂正方法、メモリ制御装置及びメモリシステムを実現することができる。
【発明を実施するための最良の形態】
【００２３】
以下に、本発明になるソフトエラー訂正方法、メモリ制御装置及びメモリシステム各実施例を、図４以降と共に説明する。
と共に説明する
【実施例】
【００２４】
図４は、本発明になるメモリシステムの第１実施例を示すブロック図である。メモリシステムの本実施例は、本発明になるソフトエラー訂正方法の第１実施例を採用する。本実施例では、エラーを検出したメモリコントローラからシステムコントローラにエラーアドレスを送信し、改めてシステムコントローラから全てのメモリコントローラに対してエラーアドレスを送信してエラー訂正動作を行う。
【００２５】
図４に示すメモリシステム１３０は、バイトスライスされたデータをアクセスする構成を有し、複数のメモリ（ＭＥＭ）１０１−１〜１０１−ｎと、複数のメモリ（アクセス）コントローラ（ＭＡＣ）１０２−１〜１０２−ｎと、システムコントローラ１０３（ＳＣ）と、クロスバスイッチ（ＸＢ）１０４と、複数のＭＰＵ１０５−１〜１０５−ｍとからなる。同図中、白抜きの矢印はデータバスを示し、太い実線の矢印はアドレスバスを示し、実線の矢印はステータスバスを示し、破線の矢印はエラーアドレスバスを示す。
【００２６】
メモリコントローラ１０２−１〜１０２−ｎは、バイトスライスされたデータのバイト単位でのメモリ１０１−１〜１０１−ｎのアクセスを同期したアクセスサイクルで行うように構成されている。つまり、メモリ１０１−１〜１０１−ｎのアクセスに同期ずれを起こさないよう、全てのメモリコントローラ１０２−１〜１０２−ｎが常に同一タイミングで全てのメモリ１０１−１〜１０１−ｎに対するメモリアクセスを同時に行う。
【００２７】
一方、ＤＲＡＭ／ＳＲＡＭ等のメモリデバイスからなるメモリ１０１−１〜１０１−ｎにおいては、一定確率でソフトエラーが発生する。そこで、メモリシステム１３０に信頼性が要求される場合には、ＥＣＣ等のデータ保護機構によりメモリ１０１−１０１〜１−ｎ内のデータを訂正するようにしている。
【００２８】
例えば、１つのメモリ１０１−１で訂正可能なソフトエラーが発生し、メモリコントローラ１０２−１でこのソフトエラーを検出した場合、メモリコントローラ１０２−１〜１０２−ｎは全て同期動作しているため、ソフトエラーを検出したメモリコントローラ１０２−１が単独でエラー訂正動作を行うことができず、例えばシステムコントローラ１０３からの指示によりエラー訂正動作を行う必要がある。このため、メモリ１０１−１内で訂正可能なソフトエラーが発生し、システムコントローラ１０３がメモリコントローラ１０２−１を介してがメモリ１０１−１内のソフトエラーに対するエラー訂正動作を行う場合、以下のような一連の動作が必要となる。
【００２９】
図５及び図６は、この場合のエラー訂正動作を説明するための図である。図５は、メモリシステム１３０の要部を機能的に示すブロック図であり、図６は、第１実施例のエラー訂正動作を説明するためのタイムチャートである。尚、図５中、破線の矢印はコマンドの流れ、太い破線の矢印はアドレスの流れ、実線の矢印はステータスの流れ、太い実線の矢印はデータの流れを示す。又、図５中、括弧内に示す数値はビット数を示す。
【００３０】
尚、図６及び後述する図９においては、図３と同様の表記を用いる。
【００３１】
図５に示すように、各メモリコントローラ１０２−１〜１０２−ｎは、図示を省略する制御部に加え、レジスタ３２１〜３２６と、エラー検出部（Checker）３２７と、セレクタ３２８とエラー訂正部（Correct）３２９とを含む。システムコントローラ１０３は、図示を省略する制御部に加え、セレクタ３３１，３３２と、レジスタ３３３とを含む。
【００３２】
先ず、図５及び図６に示すように、ＭＰＵ１０５−１からリードコマンドがアドレスと共にシステムコントローラ３に入力されると、システムコントローラ１０３はセレクタ３３１，３３２を介してリードコマンドをアドレスと共にメモリコントローラ１０２−１に入力する。メモリコントローラ１０２−１は、レジスタ３２１，３２２に一旦保持されたリードコマンドとアドレスをメモリ１０１−１に入力する。メモリ１０１−１からリードされたＥＣＣを含むデータは、メモリコントローラ１０２−１に入力される。メモリコントローラ１０２−１のエラー検出部３２７におけるＥＣＣを用いたエラー検出の結果、リードデータにエラーがなければ、リードデータはレジスタ３２５に保持されてからクロスバスイッチ１０４を介してＭＰＵ１０５−１に入力される。
【００３３】
他方、メモリコントローラ１０２−１におけるＥＣＣを用いたエラー検出の結果、リードデータにエラーがあってＥＣＣによる訂正が可能であると、エラーステータス（Error Status）がレジスタ３２４に保持されてからシステムコントローラ１０３へ通知されると共に、エラーが検出されたアドレス（Error Address）がレジスタ３２３に保持されてからシステムコントローラ１０３へ通知されてシステムコントローラ１０３内のレジスタ３３３に保持される。システムコントローラ１０３は、エラーステータスによるエラー通知を受けると、ＭＰＵ１０５−１の介在なしに、エラーが検出されたアドレスに対するエラー訂正コマンド（Scrub Cmd）をセレクタ３３１に入力する。これにより、システムコントローラ１０３は、エラー訂正コマンドを、レジスタ３３３に保持されているエラーが検出されたアドレスと共にセレクタ３３１，３３２を介してメモリコントローラ１０２−１に入力することで、メモリ１０１−１からデータをリードする。ここで、リードデータのエラーはＥＣＣにより訂正可能であるため、メモリコントローラ１０２−１はエラー訂正コマンドに基づいてリードデータをエラー訂正部３２９により訂正してから上記エラーが検出されたアドレスにリライトする。具体的には、メモリコントローラ１０２−１は、リードデータをセレクタ３２８を介してエラー訂正部３２９へ入力し、エラー訂正部３２９により訂正されたリードデータをレジスタ３２６に保持してからメモリ１０１−１に入力して、訂正されたリードデータを上記エラーが検出されたアドレスにリライトする。これにより、メモリ１０１−１内の訂正可能なソフトエラーが訂正される。
【００３４】
尚、通常のデータライトの場合、ＭＰＵ１０５−１はライトデータをクロスバスイッチ１０４を介してメモリコントローラ１０２−１のセレクタ３２８に入力する。
【００３５】
上記の如く、メモリシステム１３０は、全てのメモリコントローラ１０２−１〜１０２−ｎが常に同一タイミングで全てのメモリ１０１−１〜１０１−ｎに対するメモリアクセスを同時に行う構成であるため、メモリコントローラ１０２−１を介したメモリ１０１−１に対するソフトエラーの訂正動作と同様のソフトエラーの訂正動作が、メモリ１０１−２〜１０１−ｎにおけるソフトエラーの有無にかかわらず他のメモリコントローラ１０２−２〜１０２−ｎを介してメモリ１０１−２〜１０１−ｎに対しても同時に行われる。
【００３６】
本実施例によれば、システムコントローラ１０３の構成を比較的簡単にすると共に、システムコントローラ１０３への負荷を軽減し、且つ、システムコントローラ１０３とクロスバスイッチ１０４とが別体であるメモリシステム１３０への適用が可能となる。
【００３７】
図７は、本発明になるメモリシステムの第２実施例を示すブロック図である。メモリシステムの本実施例は、本発明になるソフトエラー訂正方法の第２実施例を採用する。本実施例は、エラーアドレスがシステムコントローラ内ではなく、メモリコントローラ内に保持される点が上記第１実施例と異なる。
【００３８】
図７に示すメモリシステム３０は、バイトスライスされたデータをアクセスする構成を有し、複数のメモリ（ＭＥＭ）２１−１〜２１−ｎと、複数のメモリ（アクセス）コントローラ（ＭＡＣ）２２−１〜２２−ｎと、システムコントローラ２３（ＳＣ）と、クロスバスイッチ（ＸＢ）２４と、複数のＭＰＵ２５−１〜２５−ｍとからなる。同図中、白抜きの矢印はデータバスを示し、太い実線の矢印はアドレスバスを示し、実線の矢印はステータスバスを示す。
【００３９】
本発明になるメモリ制御装置の第１実施例は、少なくとも１つのメモリコントローラ、又は、少なくとも１つのメモリコントローラとシステムコントローラ、又は、少なくとも１つのメモリコントローラとシステムコントローラとクロスバスイッチにより構成される。
【００４０】
メモリコントローラ２２−１〜２２−ｎは、バイトスライスされたデータのバイト単位でのメモリ２１−１〜２１−ｎのアクセスを同期したアクセスサイクルで行うように構成されている。つまり、メモリ２１−１〜２１−ｎのアクセスに同期ずれを起こさないよう、全てのメモリコントローラ２２−１〜２２−ｎが常に同一タイミングで全てのメモリ２１−１〜２１−ｎに対するメモリアクセスを同時に行う。
【００４１】
一方、ＤＲＡＭ／ＳＲＡＭ等のメモリデバイスからなるメモリ２１−１〜２１−ｎにおいては、一定確率でソフトエラーが発生する。そこで、メモリシステム３０に信頼性が要求される場合には、ＥＣＣ等のデータ保護機構によりメモリ２１−１〜２１−ｎ内のデータを訂正する。
【００４２】
例えば、１つのメモリ２１−１で訂正可能なソフトエラーが発生し、メモリコントローラ２２−１でこのソフトエラーを検出した場合、メモリコントローラ２２−１〜２２−ｎは全て同期動作しているため、ソフトエラーを検出したメモリコントローラ２２−１が単独でエラー訂正動作を行うことができず、本実施例ではシステムコントローラ２３からの指示によりエラー訂正動作を行う。このため、メモリ２１−１内で訂正可能なソフトエラーが発生し、システムコントローラ２３がメモリコントローラ２２−１を介してメモリ２１−１内のソフトエラーに対するエラー訂正動作を行う場合、以下のような一連の動作が必要となる。
【００４３】
図８及び図９は、この場合のエラー訂正動作を説明するための図である。図８は、メモリシステム３０の要部を機能的に示すブロック図であり、図９は、第２実施例のエラー訂正動作を説明するためのタイムチャートである。尚、図８中、破線の矢印はコマンドの流れ、太い破線の矢印はアドレスの流れ、実線の矢印はステータスの流れ、太い実線の矢印はデータの流れを示す。又、図８中、括弧内に示す数値はビット数を示す。
【００４４】
図８に示すように、各メモリコントローラ２２−１〜２２−ｎは、図示を省略する制御部に加え、レジスタ２２１〜２２６と、エラー検出部（Checker）２２７と、セレクタ２２８，２３０とエラー訂正部（Correct）２２９とを含む。システムコントローラ２３は、図示を省略する制御部に加え、セレクタ２３１，２３２を含む。
【００４５】
先ず、図８及び図９に示すように、ＭＰＵ２５−１からリードコマンドがアドレスと共にシステムコントローラ２３に入力されると、システムコントローラ２３はセレクタ２３１，２３２を介してリードコマンドをアドレスと共にメモリコントローラ２２−１に入力する。メモリコントローラ２２−１は、レジスタ２２１に一旦保持されたリードコマンドと、レジスタ２２２に一旦保持されたアドレスをセレクタ２３０を介して、夫々メモリ２１−１に入力する。メモリ２１−１からリードされたＥＣＣを含むデータは、メモリコントローラ２２−１に入力される。メモリコントローラ２２−１のエラー検出部２２７におけるＥＣＣを用いたエラー検出の結果、リードデータにエラーがなければ、リードデータはレジスタ２２５に保持されてからそのままエラー訂正部２２９を介してクロスバスイッチ２４を介してＭＰＵ２５−１に入力される。
【００４６】
他方、メモリコントローラ２２−１におけるＥＣＣを用いたエラー検出の結果、リードデータにエラーがあってＥＣＣによる訂正が可能であると、エラーステータス（Error）がレジスタ２２４に保持されてからシステムコントローラ２３を介してＭＰＵ２５−１へ通知されると共に、エラーが検出されたアドレス（Error Address）がメモリコントローラ２２−１内のレジスタ（ＲＥＧ）２２３に保持される。他方、エラー検出部２２７によりＥＣＣにより訂正可能なエラーが検出されたリードデータは、レジスタ２２５で保持されてからエラー訂正部２２９で訂正され、訂正されたリードデータがクロスバスイッチ２４を介してＭＰＵ２５−１に入力される。
【００４７】
システムコントローラ２３は、エラーステータスによるエラー通知を受けると、ＭＰＵ２５−１が介在することなく、エラーが検出されたアドレスに対するエラー訂正コマンド（Scrub Command）と、例えば全て「０」（All
"0"）の予め設定されているダミーリード用のアドレスとを発生してこれらをセレクタ２３１，２３２を介してメモリコントローラ２２−１に入力する。これにより、エラーが検出されたアドレスをレジスタ２２３に保持しているメモリコントローラ２２−１は、セレクタ２３０によりレジスタ２２３に保持されたアドレスと、レジスタ２２１に一旦保持されたエラー訂正コマンドをメモリ２１−１に入力することで、メモリ２１−１からデータをリードする。ここで、リードデータのエラーはＥＣＣにより訂正可能であるため、メモリコントローラ２２−１はエラー訂正コマンドに基づいてリードデータをエラー訂正部２２９により訂正してから上記エラーが検出されたアドレスにリライトする。具体的には、メモリコントローラ２２−１は、エラー訂正部２２９により訂正されたリードデータをセレクタ２２８を介してレジスタ２２６に保持してからメモリ２１−１に入力して、訂正されたリードデータを上記エラーが検出されたアドレスにリライトする。これにより、メモリ２１−１内の訂正可能なソフトエラーが訂正される。
【００４８】
他方、エラーが検出されたアドレスをレジスタ２２３に保持していないメモリコントローラ２２−２〜２２−ｎは、セレクタ２３０によりダミーリード用のアドレスと、レジスタ２２１に一旦保持されたエラー訂正コマンドを対応するメモリ２１−２〜２１−ｎに入力する。これにより、メモリ２１−２〜２１−ｎに対しては、ダミーリード用のアドレスからリードしたデータを誤り検出部２２７、レジスタ２２５、誤り訂正部２２９、セレクタ２２８及びレジスタ２２６を介してそのままライトバックする。メモリシステム３０は、全てのメモリコントローラ２２−１〜２２−ｎが常に同一タイミングで全てのメモリ２１−１〜２１−ｎに対するメモリアクセスを同時に行う構成であるため、メモリコントローラ２２−１を介したメモリ２１−１に対するソフトエラーの訂正動作と同様のソフトエラーの訂正動作が、メモリ２１−２〜２１−ｎにおけるソフトエラーの有無にかかわらず他のメモリコントローラ２２−２〜２２−ｎを介してメモリ２１−２〜２１−ｎのダミーリード用のアドレスに対しても同時に行われる。
【００４９】
尚、エラーステータスによるエラー通知に応答して、システムコントローラ２３からエラーアドレスを保持していないメモリコントローラ２２−２〜２２−ｎを制御して、対応するメモリ２１−２〜２１−ｎの予め設定されているアドレスからデータをリードして、その後ライトバックにかかる時間だけ待ち合わせて実際にはライトバックを行わないようにしても良い。
【００５０】
通常のデータライトの場合、ＭＰＵ２５−１はライトデータをクロスバスイッチ４を介してメモリコントローラ２２−１のセレクタ２２８に入力する。
【００５１】
本実施例によれば、システムコントローラ２３の構成を比較的簡単にすると共に、システムコントローラ２３への負荷を軽減し、且つ、システムコントローラ２３とクロスバスイッチ２４とが別体であるメモリシステム３０への適用が可能である。
【００５２】
更に、本実施例によれば、ソフトエラーを訂正する場合、ＭＰＵ２５−１からエラーが検出されたアドレスのリードと同一アドレスへのリライトをソフトウェアで実現する必要がなく、システムコントローラ２３からのトリガに応答して誤りが検出されたアドレスを保持するメモリコントローラ２２−１によりソフトエラーが訂正されるため、ソフトウェアの実行に支障がない訂正可能なソフトエラーが発生した場合であればソフトウェアの実行を一旦中断することなく、上記の如きソフトエラーの訂正を行うことが可能である。つまり、ソフトエラーの訂正にソフトウェアが介在することなく、メモリコントローラ間の同期ずれを起こさないようにすることもできるので、ソフトウェアのオーバーヘッドを増大したりメモリのスループットを低下させることなくメモリ内のソフトエラーを訂正することが可能となる。
【００５３】
図１０は、第２実施例のメモリコントローラ２２−１のリード動作を説明するフローチャートである。同図中、ステップＳ１は、システムコントローラ２３を介してＭＰＵ２５−１からのリードコマンドを受信する。ステップＳ２は、メモリ２１−１にリードコマンドを発行する。ステップＳ３は、メモリ２１−１からリードデータを受信し、エラー検出部２２７によりリードデータのエラー検出（チェック）を行う。ステップＳ４は、リードデータ中に訂正可能なエラーが検出されたか否かを判定する。ステップＳ４の判定結果がＮＯであると、ステップＳ５は、リードデータをクロスバスイッチ２４を介してＭＰＵ２５−１に返送し、処理は終了する。
【００５４】
他方、ステップＳ４の判定結果がＹＥＳであると、ステップＳ６と、ステップＳ７，Ｓ８とが並行して実行される。ステップＳ６は、エラーをエラー訂正部２２９により訂正したリードデータをクロスバスイッチ２４を介してＭＰＵ２５−１に返送する。ステップＳ７は、メモリコントローラ２２−１内のレジスタ２２３にエラーが検出されたアドレス（エラーアドレス）を保持（記録）し、ステップＳ８は、システムコントローラ２３にエラーステータスによりエラーの発生を通知する（エラー通知）。この時点では、メモリ２１−１内のエラーが発生したアドレスのデータは、まだ訂正されてリライトされることはない。ステップＳ６及びステップＳ７，Ｓ８の後、処理は終了する。
【００５５】
尚、上記第１実施例の場合には、ステップＳ７においてエラーアドレスをメモリコントローラ内のレジスタ２２３ではなく、システムコントローラ１２３内のレジスタ３３３に保持（記録）する点が異なるだけであり、基本的には第２実施例の場合と同様のリード動作となる。
【００５６】
図１１は、第２実施例のメモリコントローラ２２−１〜２２−ｎのエラー訂正動作を説明するフローチャートである。同図中、ステップＳ１１は、システムコントローラ２３からのエラー訂正コマンドを受信する。上記の如く、システムコントローラ２３は、メモリコントローラ２２−１からのエラーステータスによるエラー通知に応答して、エラー訂正コマンドをダミーリード用のアドレスと共に発生する。ステップＳ１２は、後続のメモリアクセスを抑止する。これにより、エラー訂正動作が行われている間は、ＭＰＵ２５−１等からによるメモリアクセスが抑止される。
【００５７】
ステップＳ１３は、レジスタ２２３の内容をチェックし、ステップＳ１４は、各メモリコントローラ２２−１〜２２−ｎ内にエラーアドレスが保持されているか否かを判定する。メモリコントローラ２２−１のようにエラーアドレスを保持しておりステップＳ１４の判定結果がＹＥＳの場合、ステップＳ１５は、対応するメモリ２１−１にリードコマンドを発行してエラーアドレスからデータをリードする。ステップＳ１６は、エラーアドレスからのリードデータをエラー訂正部２２９で訂正する。又、ステップＳ１７は、対応するメモリ２１−１にライトコマンドを発行してエラーアドレスに訂正したリードデータをリライトし、ステップＳ１８は、後続のメモリアクセスの抑止を解除して再開可能とし、処理は終了する。
【００５８】
他方、メモリコントローラ２２−２〜２２−ｎのようにエラーアドレスを保持しておらずステップＳ１４の判定結果がＮＯであると、ステップＳ２１は、対応するメモリ２１−２〜２１−ｎにリードコマンドを発行してダミーリード用のアドレスからデータをリードする。ステップＳ２２は、対応するメモリ２１−２〜２１−ｎにライトコマンドを発行してダミーリード用のアドレスにリードデータをそのままライトバックし、ステップＳ１８は、後続のメモリアクセスの抑止を解除して再開可能とし、処理は終了する。これにより、メモリコントローラ２２−１〜２２−ｎ間の同期ずれを起こさずにメモリ２１−１〜２１−ｎ内のソフトエラーを訂正することができる。
【００５９】
尚、メモリコントローラ２２−１からシステムコントローラ２３へのステータスバスを、上記エラー通知以外に、メモリコントローラ２２−１からシステムコントローラ２３へのステータス通知で使用する場合には、メモリコントローラ２２−１からエラー通知を発行する優先度を他のステータス通知より低くすることで、ステータスバスを共用した場合にも同期ずれを起こさないようにすれば良い。
【００６０】
次に、第１の変形例について説明する。上記第２実施例では、メモリコントローラ２２−１からのエラー通知を受けたシステムコントローラ２３からのトリガに応答してメモリコントローラ２２−１によるエラー訂正動作が開始されるが、本変形例では、定期的にエラー訂正動作を行う。
【００６１】
本変形例では、各メモリコントローラ２２−１〜２２−ｎ内に、互いに同期して動作する時計等のカウンタ手段を設け、予め設定されたタイミングでエラー訂正動作を開始する。この場合、例えばメモリコントローラ２２−１でメモリ２１−１内のソフトエラーを検出しても、システムコントローラ２３にはエラー通知を行わず、エラー訂正動作の開始時刻までメモリコントローラ２２−１内でエラーアドレスを保持しておき、エラー訂正動作の開始時刻になったら上記の如きエラー訂正動作を行う。これにより、システムコントローラ２３内には、エラー訂正処理のための回路を設ける必要がなくなり、メモリシステム３０の構成が更に簡単になる。
【００６２】
次に、第２の変形例について説明する。上記第１実施例では、メモリコントローラ２２−１からのエラー通知を受けたシステムコントローラ２３からのトリガに応答してメモリコントローラ２２−１によるエラー訂正動作が開始されるが、本変形例では、メモリコントローラ２２−１のアイドル（Idle）状態が一定時間続くとエラー訂正動作を行う。
【００６３】
本変形例では、各メモリコントローラ２２−１〜２２−ｎにビジー（Busy）状態を判定する回路を設け、一定時間ＩＤＬＥ状態が続いたらエラー訂正処理を開始する。これにより、システムコントローラ２３内には、エラー訂正処理のための回路を設ける必要がなくなり、メモリシステム３０の構成が更に簡単になる。
【産業上の利用可能性】
【００６４】
本発明は、メモリコントローラ間の同期ずれを起こさずにメモリ内のソフトエラーを訂正する必要のある構成を有するメモリシステムに好適である。
【００６５】
尚、本発明は、以下に付記する発明をも包含するものである。
（付記１）  バイトスライスされたデータが格納されるｎ個のメモリに対しサイクル同期してアクセスを行うｎ個のメモリコントローラと、ｍ個のＭＰＵのうちの任意の１個のＭＰＵからのメモリアクセスを受信し該ｎ個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムにおけるソフトエラー訂正方法であって、ｍ，ｎは２以上の整数であり、
メモリからのリードデータに訂正可能なエラーを検出すると、該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持すると共に、該対応するメモリコントローラから該システムコントローラに対してエラー通知を行い、
該エラー通知に応答して、該システムコントローラからＭＰＵの介在なしに該エラーアドレスを保持するメモリコントローラを制御し、対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトすることを特徴とする、ソフトエラー訂正方法。
（付記２）  該エラーが検出された該エラーアドレスを該対応するメモリコントローラ内に保持する代わりに、該エラーアドレスを一旦該システムコントローラに送信して、該システムコントローラからエラー訂正コマンドと該エラーアドレスを一斉に各メモリコントローラに入力することを特徴とする、付記１記載のソフトエラー訂正方法。
（付記３）  該エラー通知に応答して、該システムコントローラから該エラーアドレスを保持していないメモリコントローラを制御し、対応するメモリの予め設定されているアドレスからデータをリードして、その後のライトバックにかかる時間だけ待ち合わせを行うことを特徴とする、付記１又は２記載のソフトエラー訂正方法。
（付記４）  該エラー通知に応答して、該システムコントローラから該エラーアドレスを保持していないメモリコントローラを制御し、対応するメモリの予め設定されているダミーリード用のアドレスからデータをリードしてそのままライトバックすることを特徴とする、付記１記載のソフトエラー訂正方法。
（付記５）  該エラー通知に応答して、該システムコントローラからエラー訂正コマンドとダミーリード用のアドレスを各メモリコントローラに入力することを特徴とする、付記１又は４記載のソフトエラー訂正方法。
（付記６）  該エラー通知を、該メモリコントローラから該システムコントローラへのステータスを送信するためのバスを用いて行うことを特徴とする、付記１、４、５のいずれか１項記載のソフトエラー訂正方法。
（付記７）  バイトスライスされたデータが格納されるｎ個のメモリに対しサイクル同期してアクセスを行うｎ個のメモリコントローラと、ｍ個のＭＰＵのうちの任意の１個のＭＰＵからのメモリアクセスを受信し該ｎ個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムにおけるソフトエラー訂正方法であって、ｍ，ｎは２以上の整数であり、
メモリからのリードデータに訂正可能なエラーを検出すると、該エラーの発生と該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持し、
該エラーの発生に応答して、定期的に或いはアイドル状態が一定時間続くと、ＭＰＵの介在なしに該エラーアドレスを保持するメモリコントローラにより対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトすることを特徴とする、ソフトエラー訂正方法。
（付記８）  バイトスライスされたデータが格納されるｎ個のメモリに対しサイクル同期してアクセスを行うｎ個のメモリコントローラと、ｍ個のＭＰＵのうちの任意の１個のＭＰＵからのメモリアクセスを受信し該ｎ個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムにおけるメモリ制御装置であって、ｍ，ｎは２以上の整数であり、
メモリからのリードデータに訂正可能なエラーを検出すると、該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持すると共に、該対応するメモリコントローラから該システムコントローラに対してエラー通知を行う手段と、
該エラー通知に応答して、該システムコントローラからＭＰＵの介在なしに該エラーアドレスを保持するメモリコントローラを制御し、対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトする手段とを備えたことを特徴とする、メモリ制御装置。
（付記９）  該エラーが検出された該エラーアドレスを該対応するメモリコントローラ内に保持する代わりに、該エラーアドレスを一旦該システムコントローラに送信して、該システムコントローラからエラー訂正コマンドと該エラーアドレスを一斉に各メモリコントローラに入力することを特徴とする、付記８記載のメモリ制御装置。
（付記１０）  該エラー通知に応答して、該システムコントローラから該エラーアドレスを保持していないメモリコントローラを制御し、対応するメモリの予め設定されているアドレスからデータをリードして、その後のライトバックにかかる時間だけ待ち合わせを行うことを特徴とする、付記８又は９記載のメモリ制御装置。
（付記１１）  該エラー通知に応答して、該システムコントローラから該エラーアドレスを保持していないメモリコントローラを制御し、対応するメモリの予め設定されているダミーリード用のアドレスからデータをリードしてそのままライトバックする手段を備えたことを特徴とする、付記８記載のメモリ制御装置。
（付記１２）  該エラー通知に応答して、該システムコントローラからエラー訂正コマンドとダミーリード用のアドレスを各メモリコントローラに入力する手段を備えたことを特徴とする、付記８又は１１記載のメモリ制御装置。
（付記１３）  該エラー通知を、該メモリコントローラから該システムコントローラへのステータスを送信するためのバスを用いて行うことを特徴とする、付記８、１１、１２のいずれか１項記載のメモリ制御装置。
（付記１４）  バイトスライスされたデータが格納されるｎ個のメモリに対しサイクル同期してアクセスを行うｎ個のメモリコントローラと、ｍ個のＭＰＵのうちの任意の１個のＭＰＵからのメモリアクセスを受信し該ｎ個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムにおけるメモリ制御装置であって、ｍ，ｎは２以上の整数であり、
メモリからのリードデータに訂正可能なエラーを検出すると、該エラーの発生と該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持する手段と、
該エラーの発生に応答して、定期的に或いはアイドル状態が一定時間続くと、ＭＰＵの介在なしに該エラーアドレスを保持するメモリコントローラにより対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトする手段とを備えたことを特徴とする、メモリ制御装置。
（付記１５）  バイトスライスされたデータが格納されるｎ個のメモリに対しサイクル同期してアクセスを行うｎ個のメモリコントローラと、ｍ個のＭＰＵのうちの任意の１個のＭＰＵからのメモリアクセスを受信し該ｎ個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムであって、ｍ，ｎは２以上の整数であり、
メモリからのリードデータに訂正可能なエラーを検出すると、該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持すると共に、該対応するメモリコントローラから該システムコントローラに対してエラー通知を行い、
該エラー通知に応答して、該システムコントローラからＭＰＵの介在なしに該エラーアドレスを保持するメモリコントローラを制御し、対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトすることを特徴とする、メモリシステム。
（付記１６）  該エラーが検出された該エラーアドレスを該対応するメモリコントローラ内に保持する代わりに、該エラーアドレスを一旦該システムコントローラに送信して、該システムコントローラからエラー訂正コマンドと該エラーアドレスを一斉に各メモリコントローラに入力することを特徴とする、付記１５記載のメモリシステム。
（付記１７）  該エラー通知に応答して、該システムコントローラから該エラーアドレスを保持していないメモリコントローラを制御し、対応するメモリの予め設定されているアドレスからデータをリードして、その後のライトバックにかかる時間だけ待ち合わせを行うことを特徴とする、付記１５又は１６記載のメモリシステム。
（付記１８）  該エラー通知に応答して、該システムコントローラから該エラーアドレスを保持していないメモリコントローラを制御し、対応するメモリのダミーリード用のアドレスからデータをリードしてそのままライトバックすることを特徴とする、付記１５記載のメモリシステム。
（付記１９）  該エラー通知に応答して、該システムコントローラからエラー訂正コマンドとダミーリード用のアドレスを各メモリコントローラに入力することを特徴とする、付記１５又は１８記載のメモリシステム。
（付記２０）  該エラー通知を、該メモリコントローラから該システムコントローラへのステータスを送信するためのバスを用いて行うことを特徴とする、付記１５、１８、１９のいずれか１項記載のメモリシステム。
（付記２１）  バイトスライスされたデータが格納されるｎ個のメモリに対しサイクル同期してアクセスを行うｎ個のメモリコントローラと、ｍ個のＭＰＵのうちの任意の１個のＭＰＵからのメモリアクセスを受信し該ｎ個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムであって、ｍ，ｎは２以上の整数であり、
メモリからのリードデータに訂正可能なエラーを検出すると、該エラーの発生と該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持する手段と、
該エラーの発生に応答して、定期的に或いはアイドル状態が一定時間続くと、ＭＰＵの介在なしに該エラーアドレスを保持するメモリコントローラにより対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトする手段とを備えたことを特徴とする、メモリシステム。
（付記２２）  バイトスライスされたデータが格納されるｎ個のメモリに対しサイクル同期してアクセスを行うｎ個のメモリコントローラと、ｍ個のＭＰＵのうちの任意の１個のＭＰＵからのメモリアクセスを受信し該ｎ個のメモリコントローラにメモリアドレスを発行するシステムコントローラとメモリコントローラとＭＰＵの間でデータのスイッチングを行うクロスバスイッチとで構成されるメモリシステムにおけるソフトエラー訂正方法であって、ｍ，ｎは２以上の整数であり、
メモリからのリードデータに訂正可能なエラーを検出すると、該対応するメモリコントローラから該システムコントローラに対してエラー通知と共に該エラーが検出されたエラーアドレスを送信し、
該エラー通知に応答して、該システムコントローラからＭＰＵの介在なしに該メモリコントローラに該エラーが検出されたエラーアドレスを送信し、該メモリコントローラを制御し、対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトすることを特徴とする、ソフトエラー訂正方法。
【００６６】
以上、本発明を実施例により説明したが、本発明は上記実施例に限定されるものではなく、種々の変形及び改良が可能であることは、言うまでもない。
【図面の簡単な説明】
【００６７】
【図１】従来のメモリシステムの一例を示すブロック図である。
【図２】メモリシステムの要部を機能的に示すブロック図である。
【図３】エラー訂正動作を説明するためのタイムチャートである。
【図４】本発明になるメモリシステムの第１実施例を示すブロック図である。
【図５】メモリシステムの第１実施例の要部を機能的に示すブロック図である。
【図６】第１実施例のエラー訂正動作を説明するためのタイムチャートである。
【図７】本発明になるメモリシステムの第２実施例を示すブロック図である。
【図８】メモリシステムの第２実施例の要部を機能的に示すブロック図である。
【図９】第２実施例のエラー訂正動作を説明するためのタイムチャートである。
【図１０】第２実施例のメモリコントローラのリード動作を説明するフローチャートである。
【図１１】第２実施例のメモリコントローラのエラー訂正動作を説明するフローチャートである。
【符号の説明】
【００６８】
２１−１〜２１−ｎ，１０１−１〜１０１−ｎ      メモリ
２２−１〜２２−ｎ，１０２−１〜１０２−ｎ      メモリコントローラ
２３，１０３      システムコントローラ
２４，１０４      クロスバスイッチ
２５−１〜２５−ｍ，１０５−１〜１０５−ｍ      ＭＰＵ
３０，１３０      メモリシステム
２２１〜２２６，３２１〜３２６，３３３      レジスタ
２２７，３２７      エラー検出部
２２９，３２９      エラー訂正部
２２８，２３０〜２３２，３２８，３３１，３３２      セレクタ
【図１】
2006260289.tif 000003
【図２】
2006260289.tif 000004
【図３】
2006260289.tif 000005
【図４】
2006260289.tif 000006
【図５】
2006260289.tif 000007
【図６】
2006260289.tif 000008
【図７】
2006260289.tif 000009
【図８】
2006260289.tif 000010
【図９】
2006260289.tif 000011
【図１０】
2006260289.tif 000012
【図１１】
2006260289.tif 000013