JP4734003B2 - ソフトエラー訂正方法、メモリ制御装置及びメモリシステム - Google Patents

ソフトエラー訂正方法、メモリ制御装置及びメモリシステム Download PDF

Info

Publication number
JP4734003B2
JP4734003B2 JP2005078010A JP2005078010A JP4734003B2 JP 4734003 B2 JP4734003 B2 JP 4734003B2 JP 2005078010 A JP2005078010 A JP 2005078010A JP 2005078010 A JP2005078010 A JP 2005078010A JP 4734003 B2 JP4734003 B2 JP 4734003B2
Authority
JP
Japan
Prior art keywords
memory
error
address
controller
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005078010A
Other languages
English (en)
Other versions
JP2006260289A (ja
Inventor
賢司 鈴木
育史 本田
孝 小口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005078010A priority Critical patent/JP4734003B2/ja
Priority to DE602005024104T priority patent/DE602005024104D1/de
Priority to EP05254873A priority patent/EP1703398B1/en
Priority to US11/197,261 priority patent/US7631244B2/en
Priority to KR1020050076013A priority patent/KR100725469B1/ko
Priority to CNB2005100933550A priority patent/CN100442241C/zh
Publication of JP2006260289A publication Critical patent/JP2006260289A/ja
Priority to US12/573,491 priority patent/US8365031B2/en
Application granted granted Critical
Publication of JP4734003B2 publication Critical patent/JP4734003B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、ソフトエラー訂正方法、メモリ制御装置及びメモリシステムに係り、特にメモリ内のソフトエラーを訂正するソフトエラー訂正方法、そのようなソフトエラー訂正方法に好適なメモリ制御装置及びそのようなソフトエラー訂正方法を採用するメモリシステムに関する。
図1は、従来のメモリシステムの一例を示すブロック図である。同図に示すメモリシステム10は、バイトスライスされたデータをアクセスする構成を有し、複数のメモリ(MEM)1−1〜1−nと、複数のメモリ(アクセス)コントローラ(MAC)2−1〜2−nと、システムコントローラ3(SC)と、複数のMPU5−1〜5−mとからなる。同図中、白抜きの矢印はデータバスを示し、太い実線の矢印はアドレスバスを示し、実線の矢印はステータスバスを示す。
メモリコントローラ2−1〜2−nは、バイトスライスされたデータのバイト単位でのメモリ1−1〜1−nのアクセスを同期したアクセスサイクルで行うように構成されている。つまり、メモリ1−1〜1−nのアクセスに同期ずれを起こさないよう、全てのメモリコントローラ2−1〜2−nが常に同一タイミングで全てのメモリ1−1〜1−nに対するメモリアクセスを同時に行う。
一方、DRAM/SRAM等のメモリデバイスからなるメモリ1−1〜1−nにおいては、一定確率でソフトエラーが発生する。そこで、メモリシステム10に信頼性が要求される場合には、ECC等のデータ保護機構によりメモリ1−1〜1−n内のデータを訂正するようにしている。
例えば、1つのメモリ1−1で訂正可能なソフトエラーが発生し、システムコントローラ3でこのソフトエラーを検出した場合、システムコントローラ3のハードウェアが自立でエラー訂正動作を行うことが一般的である。この場合、以下のような一連の動作が必要となる。
図2及び図3は、この場合のエラー訂正動作を説明するための図である。図2は、メモリシステム10の要部を機能的に示すブロック図であり、図3は、エラー訂正動作を説明するためのタイムチャートである。尚、図2中、破線の矢印はコマンドの流れ、太い破線の矢印はアドレスの流れ、実線の矢印はステータスの流れ、太い実線の矢印はデータの流れを示す。又、図2中、括弧内に示す数値はビット数を示す。
図2に示すように、各メモリコントローラ2−1〜2−nは、図示を省略する制御部に加え、レジスタ521,522,525,526を含む。システムコントローラ3は、図示を省略する制御部に加え、セレクタ531,532、レジスタ533,534、アンド回路535、エラー検出部536、セレクタ537、エラー訂正部538及びレジスタ539を含む。
先ず、図2及び図3に示すように、MPU5−1からリードコマンドがアドレスと共にシステムコントローラ3に入力されると、システムコントローラ3はセレクタ31,32を介してリードコマンド(Read cmd)をアドレス(Address)と共にメモリコントローラ2−1に入力する。メモリコントローラ2−1は、レジスタ521,522に一旦保持されたメモリ規定のタイミングでリードコマンド(Command)とアドレス(Address)をメモリ1−1に入力する。メモリ1−1からリードされた(MEM Read)ECCを含むデータ(Data)は、メモリコントローラ2−1に入力され、メモリコントローラ2−1内のレジスタ525に一旦保持されて規定のタイミングでシステムコントローラ3に入力される。システムコントローラ3のエラー検出部536におけるECCを用いたエラー検出(Read Data Check)の結果、リードデータ(Read
Data)にエラー(Error)がなければ(Correct Data)、MPU5−1に入力される。
他方、システムコントローラ3におけるECCを用いたエラー検出の結果、リードデータにエラーがあって(Error Data)ECCによる訂正(Error
Correct)が可能であると、エラーが検出されたアドレス(Error
Address)に対するエラー訂正のためのリードコマンド(Scrub
cmd)をメモリコントローラ2−1に入力することで、メモリ1−1からエラーデータ(Error Data)をリードする。ここで、リードデータのエラーはシステムコントローラ3内のエラー訂正部538においてECCにより訂正可能であるため、リードデータをレジスタ539及びセレクタ537を介してエラー訂正部538に入力して訂正してからエラー訂正のためのライトコマンドと共に訂正データをメモリコントローラ3に入力する。メモリコントローラ3は、訂正データをレジスタ526に一旦保持して規定のタイミングで上記エラーが検出されたアドレスにリライトする。これにより、メモリ1−1内の訂正可能なソフトエラーが訂正される。
尚、通常のデータライトの場合、MPU5−1からのデータをシステムコントローラ3を介してメモリコントローラ2−1に入力する(MEM Write)。
上記の如く、メモリシステム10は、全てのメモリコントローラ2−1〜2−nが常に同一タイミングで全てのメモリ1−1〜1−nに対するメモリアクセスを同時に行う構成であるため、メモリコントローラ2−1を介したメモリ1−1に対するソフトエラーの訂正動作と同様のソフトエラーの訂正動作が、メモリ1−2〜1−nにおけるソフトエラーの有無にかかわらず他のメモリコントローラ2−2〜2−nを介してメモリ1−2〜1−nに対しても同時に行われる。
尚、メモリエラーの救済方式としては、特許文献1の如き方式が知られている。
特開昭59−217298号公報
しかし、従来のメモリシステムでは、システムコントローラにおいてエラー検出及びエラー訂正を行う構成であるため、システムコントローラの構成が複雑になると共に、システムコントローラへの負荷が大きいという問題があった。又、システムコントローラとクロスバスイッチとが別体であるメモリシステムには適用できないという問題もあった。
そこで、本発明は、システムコントローラの構成を比較的簡単にすると共に、システムコントローラへの負荷を軽減し、且つ、システムコントローラとクロスバスイッチとが別体であるメモリシステムへも適用可能なソフトエラー訂正方法、メモリ制御装置及びメモリシステムを提供することを目的とする。
上記の課題は、バイトスライスされたデータが格納されるn個のメモリに対しサイクル同期してアクセスを行うn個のメモリコントローラと、m個のMPUのうちの任意の1個のMPUからのメモリアクセスを受信し該n個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムにおけるソフトエラー訂正方法であって、m,nは2以上の整数であり、メモリからのリードデータに訂正可能なエラーを検出すると、該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持すると共に、該対応するメモリコントローラから該システムコントローラに対してエラー通知を行い、該エラー通知に応答して、該システムコントローラからMPUの介在なしに該エラーアドレスを保持するメモリコントローラを制御し、対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトすることを特徴とするソフトエラー訂正方法によって達成できる。
上記の課題は、バイトスライスされたデータが格納されるn個のメモリに対しサイクル同期してアクセスを行うn個のメモリコントローラと、m個のMPUのうちの任意の1個のMPUからのメモリアクセスを受信し該n個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムにおけるソフトエラー訂正方法であって、m,nは2以上の整数であり、メモリからのリードデータに訂正可能なエラーを検出すると、該エラーの発生と該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持し、該エラーの発生に応答して、定期的に或いはアイドル状態が一定時間続くと、MPUの介在なしに該エラーアドレスを保持するメモリコントローラにより対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトすることを特徴とするソフトエラー訂正方法によっても達成できる。
上記の課題は、バイトスライスされたデータが格納されるn個のメモリに対しサイクル同期してアクセスを行うn個のメモリコントローラと、m個のMPUのうちの任意の1個のMPUからのメモリアクセスを受信し該n個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムにおけるメモリ制御装置であって、m,nは2以上の整数であり、メモリからのリードデータに訂正可能なエラーを検出すると、該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持すると共に、該対応するメモリコントローラから該システムコントローラに対してエラー通知を行う手段と、該エラー通知に応答して、該システムコントローラからMPUの介在なしに該エラーアドレスを保持するメモリコントローラを制御し、対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトする手段とを備えたことを特徴とするメモリ制御装置によっても達成できる。
上記の課題は、バイトスライスされたデータが格納されるn個のメモリに対しサイクル同期してアクセスを行うn個のメモリコントローラと、m個のMPUのうちの任意の1個のMPUからのメモリアクセスを受信し該n個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムにおけるメモリ制御装置であって、m,nは2以上の整数であり、メモリからのリードデータに訂正可能なエラーを検出すると、該エラーの発生と該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持する手段と、該エラーの発生に応答して、定期的に或いはアイドル状態が一定時間続くと、MPUの介在なしに該エラーアドレスを保持するメモリコントローラにより対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトする手段とを備えたことを特徴とするメモリ制御装置によっても達成できる。
上記の課題は、バイトスライスされたデータが格納されるn個のメモリに対しサイクル同期してアクセスを行うn個のメモリコントローラと、m個のMPUのうちの任意の1個のMPUからのメモリアクセスを受信し該n個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムであって、m,nは2以上の整数であり、メモリからのリードデータに訂正可能なエラーを検出すると、該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持すると共に、該対応するメモリコントローラから該システムコントローラに対してエラー通知を行い、該エラー通知に応答して、該システムコントローラからMPUの介在なしに該エラーアドレスを保持するメモリコントローラを制御し、対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトすることを特徴とするメモリシステムによっても達成できる。
上記の課題は、バイトスライスされたデータが格納されるn個のメモリに対しサイクル同期してアクセスを行うn個のメモリコントローラと、m個のMPUのうちの任意の1個のMPUからのメモリアクセスを受信し該n個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムであって、m,nは2以上の整数であり、メモリからのリードデータに訂正可能なエラーを検出すると、該エラーの発生と該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持する手段と、該エラーの発生に応答して、定期的に或いはアイドル状態が一定時間続くと、MPUの介在なしに該エラーアドレスを保持するメモリコントローラにより対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトする手段とを備えたことを特徴とするメモリシステムによっても達成できる。
上記の課題は、バイトスライスされたデータが格納されるn個のメモリに対しサイクル同期してアクセスを行うn個のメモリコントローラと、m個のMPUのうちの任意の1個のMPUからのメモリアクセスを受信し該n個のメモリコントローラにメモリアドレスを発行するシステムコントローラとメモリコントローラとMPUの間でデータのスイッチングを行うクロスバスイッチとで構成されるメモリシステムにおけるソフトエラー訂正方法であって、m,nは2以上の整数であり、メモリからのリードデータに訂正可能なエラーを検出すると、該対応するメモリコントローラから該システムコントローラに対してエラー通知と共に該エラーが検出されたエラーアドレスを送信し、該エラー通知に応答して、該システムコントローラからMPUの介在なしに該メモリコントローラに該エラーが検出されたエラーアドレスを送信し、該メモリコントローラを制御し、対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトすることを特徴とするソフトエラー訂正方法、メモリ制御装置又はメモリシステムによっても達成できる。
本発明によれば、システムコントローラの構成を比較的簡単にすると共に、システムコントローラへの負荷を軽減し、且つ、システムコントローラとクロスバスイッチとが別体であるメモリシステムへも適用可能なソフトエラー訂正方法、メモリ制御装置及びメモリシステムを実現することができる。
以下に、本発明になるソフトエラー訂正方法、メモリ制御装置及びメモリシステム各実施例を、図4以降と共に説明する。
と共に説明する
図4は、本発明になるメモリシステムの第1実施例を示すブロック図である。メモリシステムの本実施例は、本発明になるソフトエラー訂正方法の第1実施例を採用する。本実施例では、エラーを検出したメモリコントローラからシステムコントローラにエラーアドレスを送信し、改めてシステムコントローラから全てのメモリコントローラに対してエラーアドレスを送信してエラー訂正動作を行う。
図4に示すメモリシステム130は、バイトスライスされたデータをアクセスする構成を有し、複数のメモリ(MEM)101−1〜101−nと、複数のメモリ(アクセス)コントローラ(MAC)102−1〜102−nと、システムコントローラ103(SC)と、クロスバスイッチ(XB)104と、複数のMPU105−1〜105−mとからなる。同図中、白抜きの矢印はデータバスを示し、太い実線の矢印はアドレスバスを示し、実線の矢印はステータスバスを示し、破線の矢印はエラーアドレスバスを示す。
メモリコントローラ102−1〜102−nは、バイトスライスされたデータのバイト単位でのメモリ101−1〜101−nのアクセスを同期したアクセスサイクルで行うように構成されている。つまり、メモリ101−1〜101−nのアクセスに同期ずれを起こさないよう、全てのメモリコントローラ102−1〜102−nが常に同一タイミングで全てのメモリ101−1〜101−nに対するメモリアクセスを同時に行う。
一方、DRAM/SRAM等のメモリデバイスからなるメモリ101−1〜101−nにおいては、一定確率でソフトエラーが発生する。そこで、メモリシステム130に信頼性が要求される場合には、ECC等のデータ保護機構によりメモリ101−101〜1−n内のデータを訂正するようにしている。
例えば、1つのメモリ101−1で訂正可能なソフトエラーが発生し、メモリコントローラ102−1でこのソフトエラーを検出した場合、メモリコントローラ102−1〜102−nは全て同期動作しているため、ソフトエラーを検出したメモリコントローラ102−1が単独でエラー訂正動作を行うことができず、例えばシステムコントローラ103からの指示によりエラー訂正動作を行う必要がある。このため、メモリ101−1内で訂正可能なソフトエラーが発生し、システムコントローラ103がメモリコントローラ102−1を介してがメモリ101−1内のソフトエラーに対するエラー訂正動作を行う場合、以下のような一連の動作が必要となる。
図5及び図6は、この場合のエラー訂正動作を説明するための図である。図5は、メモリシステム130の要部を機能的に示すブロック図であり、図6は、第1実施例のエラー訂正動作を説明するためのタイムチャートである。尚、図5中、破線の矢印はコマンドの流れ、太い破線の矢印はアドレスの流れ、実線の矢印はステータスの流れ、太い実線の矢印はデータの流れを示す。又、図5中、括弧内に示す数値はビット数を示す。
尚、図6及び後述する図9においては、図3と同様の表記を用いる。
図5に示すように、各メモリコントローラ102−1〜102−nは、図示を省略する制御部に加え、レジスタ321〜326と、エラー検出部(Checker)327と、セレクタ328とエラー訂正部(Correct)329とを含む。システムコントローラ103は、図示を省略する制御部に加え、セレクタ331,332と、レジスタ333とを含む。
先ず、図5及び図6に示すように、MPU105−1からリードコマンドがアドレスと共にシステムコントローラ3に入力されると、システムコントローラ103はセレクタ331,332を介してリードコマンドをアドレスと共にメモリコントローラ102−1に入力する。メモリコントローラ102−1は、レジスタ321,322に一旦保持されたリードコマンドとアドレスをメモリ101−1に入力する。メモリ101−1からリードされたECCを含むデータは、メモリコントローラ102−1に入力される。メモリコントローラ102−1のエラー検出部327におけるECCを用いたエラー検出の結果、リードデータにエラーがなければ、リードデータはレジスタ325に保持されてからクロスバスイッチ104を介してMPU105−1に入力される。
他方、メモリコントローラ102−1におけるECCを用いたエラー検出の結果、リードデータにエラーがあってECCによる訂正が可能であると、エラーステータス(Error Status)がレジスタ324に保持されてからシステムコントローラ103へ通知されると共に、エラーが検出されたアドレス(Error Address)がレジスタ323に保持されてからシステムコントローラ103へ通知されてシステムコントローラ103内のレジスタ333に保持される。システムコントローラ103は、エラーステータスによるエラー通知を受けると、MPU105−1の介在なしに、エラーが検出されたアドレスに対するエラー訂正コマンド(Scrub Cmd)をセレクタ331に入力する。これにより、システムコントローラ103は、エラー訂正コマンドを、レジスタ333に保持されているエラーが検出されたアドレスと共にセレクタ331,332を介してメモリコントローラ102−1に入力することで、メモリ101−1からデータをリードする。ここで、リードデータのエラーはECCにより訂正可能であるため、メモリコントローラ102−1はエラー訂正コマンドに基づいてリードデータをエラー訂正部329により訂正してから上記エラーが検出されたアドレスにリライトする。具体的には、メモリコントローラ102−1は、リードデータをセレクタ328を介してエラー訂正部329へ入力し、エラー訂正部329により訂正されたリードデータをレジスタ326に保持してからメモリ101−1に入力して、訂正されたリードデータを上記エラーが検出されたアドレスにリライトする。これにより、メモリ101−1内の訂正可能なソフトエラーが訂正される。
尚、通常のデータライトの場合、MPU105−1はライトデータをクロスバスイッチ104を介してメモリコントローラ102−1のセレクタ328に入力する。
上記の如く、メモリシステム130は、全てのメモリコントローラ102−1〜102−nが常に同一タイミングで全てのメモリ101−1〜101−nに対するメモリアクセスを同時に行う構成であるため、メモリコントローラ102−1を介したメモリ101−1に対するソフトエラーの訂正動作と同様のソフトエラーの訂正動作が、メモリ101−2〜101−nにおけるソフトエラーの有無にかかわらず他のメモリコントローラ102−2〜102−nを介してメモリ101−2〜101−nに対しても同時に行われる。
本実施例によれば、システムコントローラ103の構成を比較的簡単にすると共に、システムコントローラ103への負荷を軽減し、且つ、システムコントローラ103とクロスバスイッチ104とが別体であるメモリシステム130への適用が可能となる。
図7は、本発明になるメモリシステムの第2実施例を示すブロック図である。メモリシステムの本実施例は、本発明になるソフトエラー訂正方法の第2実施例を採用する。本実施例は、エラーアドレスがシステムコントローラ内ではなく、メモリコントローラ内に保持される点が上記第1実施例と異なる。
図7に示すメモリシステム30は、バイトスライスされたデータをアクセスする構成を有し、複数のメモリ(MEM)21−1〜21−nと、複数のメモリ(アクセス)コントローラ(MAC)22−1〜22−nと、システムコントローラ23(SC)と、クロスバスイッチ(XB)24と、複数のMPU25−1〜25−mとからなる。同図中、白抜きの矢印はデータバスを示し、太い実線の矢印はアドレスバスを示し、実線の矢印はステータスバスを示す。
本発明になるメモリ制御装置の第1実施例は、少なくとも1つのメモリコントローラ、又は、少なくとも1つのメモリコントローラとシステムコントローラ、又は、少なくとも1つのメモリコントローラとシステムコントローラとクロスバスイッチにより構成される。
メモリコントローラ22−1〜22−nは、バイトスライスされたデータのバイト単位でのメモリ21−1〜21−nのアクセスを同期したアクセスサイクルで行うように構成されている。つまり、メモリ21−1〜21−nのアクセスに同期ずれを起こさないよう、全てのメモリコントローラ22−1〜22−nが常に同一タイミングで全てのメモリ21−1〜21−nに対するメモリアクセスを同時に行う。
一方、DRAM/SRAM等のメモリデバイスからなるメモリ21−1〜21−nにおいては、一定確率でソフトエラーが発生する。そこで、メモリシステム30に信頼性が要求される場合には、ECC等のデータ保護機構によりメモリ21−1〜21−n内のデータを訂正する。
例えば、1つのメモリ21−1で訂正可能なソフトエラーが発生し、メモリコントローラ22−1でこのソフトエラーを検出した場合、メモリコントローラ22−1〜22−nは全て同期動作しているため、ソフトエラーを検出したメモリコントローラ22−1が単独でエラー訂正動作を行うことができず、本実施例ではシステムコントローラ23からの指示によりエラー訂正動作を行う。このため、メモリ21−1内で訂正可能なソフトエラーが発生し、システムコントローラ23がメモリコントローラ22−1を介してメモリ21−1内のソフトエラーに対するエラー訂正動作を行う場合、以下のような一連の動作が必要となる。
図8及び図9は、この場合のエラー訂正動作を説明するための図である。図8は、メモリシステム30の要部を機能的に示すブロック図であり、図9は、第2実施例のエラー訂正動作を説明するためのタイムチャートである。尚、図8中、破線の矢印はコマンドの流れ、太い破線の矢印はアドレスの流れ、実線の矢印はステータスの流れ、太い実線の矢印はデータの流れを示す。又、図8中、括弧内に示す数値はビット数を示す。
図8に示すように、各メモリコントローラ22−1〜22−nは、図示を省略する制御部に加え、レジスタ221〜226と、エラー検出部(Checker)227と、セレクタ228,230とエラー訂正部(Correct)229とを含む。システムコントローラ23は、図示を省略する制御部に加え、セレクタ231,232を含む。
先ず、図8及び図9に示すように、MPU25−1からリードコマンドがアドレスと共にシステムコントローラ23に入力されると、システムコントローラ23はセレクタ231,232を介してリードコマンドをアドレスと共にメモリコントローラ22−1に入力する。メモリコントローラ22−1は、レジスタ221に一旦保持されたリードコマンドと、レジスタ222に一旦保持されたアドレスをセレクタ230を介して、夫々メモリ21−1に入力する。メモリ21−1からリードされたECCを含むデータは、メモリコントローラ22−1に入力される。メモリコントローラ22−1のエラー検出部227におけるECCを用いたエラー検出の結果、リードデータにエラーがなければ、リードデータはレジスタ225に保持されてからそのままエラー訂正部229を介してクロスバスイッチ24を介してMPU25−1に入力される。
他方、メモリコントローラ22−1におけるECCを用いたエラー検出の結果、リードデータにエラーがあってECCによる訂正が可能であると、エラーステータス(Error)がレジスタ224に保持されてからシステムコントローラ23を介してMPU25−1へ通知されると共に、エラーが検出されたアドレス(Error Address)がメモリコントローラ22−1内のレジスタ(REG)223に保持される。他方、エラー検出部227によりECCにより訂正可能なエラーが検出されたリードデータは、レジスタ225で保持されてからエラー訂正部229で訂正され、訂正されたリードデータがクロスバスイッチ24を介してMPU25−1に入力される。
システムコントローラ23は、エラーステータスによるエラー通知を受けると、MPU25−1が介在することなく、エラーが検出されたアドレスに対するエラー訂正コマンド(Scrub Command)と、例えば全て「0」(All
"0")の予め設定されているダミーリード用のアドレスとを発生してこれらをセレクタ231,232を介してメモリコントローラ22−1に入力する。これにより、エラーが検出されたアドレスをレジスタ223に保持しているメモリコントローラ22−1は、セレクタ230によりレジスタ223に保持されたアドレスと、レジスタ221に一旦保持されたエラー訂正コマンドをメモリ21−1に入力することで、メモリ21−1からデータをリードする。ここで、リードデータのエラーはECCにより訂正可能であるため、メモリコントローラ22−1はエラー訂正コマンドに基づいてリードデータをエラー訂正部229により訂正してから上記エラーが検出されたアドレスにリライトする。具体的には、メモリコントローラ22−1は、エラー訂正部229により訂正されたリードデータをセレクタ228を介してレジスタ226に保持してからメモリ21−1に入力して、訂正されたリードデータを上記エラーが検出されたアドレスにリライトする。これにより、メモリ21−1内の訂正可能なソフトエラーが訂正される。
他方、エラーが検出されたアドレスをレジスタ223に保持していないメモリコントローラ22−2〜22−nは、セレクタ230によりダミーリード用のアドレスと、レジスタ221に一旦保持されたエラー訂正コマンドを対応するメモリ21−2〜21−nに入力する。これにより、メモリ21−2〜21−nに対しては、ダミーリード用のアドレスからリードしたデータを誤り検出部227、レジスタ225、誤り訂正部229、セレクタ228及びレジスタ226を介してそのままライトバックする。メモリシステム30は、全てのメモリコントローラ22−1〜22−nが常に同一タイミングで全てのメモリ21−1〜21−nに対するメモリアクセスを同時に行う構成であるため、メモリコントローラ22−1を介したメモリ21−1に対するソフトエラーの訂正動作と同様のソフトエラーの訂正動作が、メモリ21−2〜21−nにおけるソフトエラーの有無にかかわらず他のメモリコントローラ22−2〜22−nを介してメモリ21−2〜21−nのダミーリード用のアドレスに対しても同時に行われる。
尚、エラーステータスによるエラー通知に応答して、システムコントローラ23からエラーアドレスを保持していないメモリコントローラ22−2〜22−nを制御して、対応するメモリ21−2〜21−nの予め設定されているアドレスからデータをリードして、その後ライトバックにかかる時間だけ待ち合わせて実際にはライトバックを行わないようにしても良い。
通常のデータライトの場合、MPU25−1はライトデータをクロスバスイッチ4を介してメモリコントローラ22−1のセレクタ228に入力する。
本実施例によれば、システムコントローラ23の構成を比較的簡単にすると共に、システムコントローラ23への負荷を軽減し、且つ、システムコントローラ23とクロスバスイッチ24とが別体であるメモリシステム30への適用が可能である。
更に、本実施例によれば、ソフトエラーを訂正する場合、MPU25−1からエラーが検出されたアドレスのリードと同一アドレスへのリライトをソフトウェアで実現する必要がなく、システムコントローラ23からのトリガに応答して誤りが検出されたアドレスを保持するメモリコントローラ22−1によりソフトエラーが訂正されるため、ソフトウェアの実行に支障がない訂正可能なソフトエラーが発生した場合であればソフトウェアの実行を一旦中断することなく、上記の如きソフトエラーの訂正を行うことが可能である。つまり、ソフトエラーの訂正にソフトウェアが介在することなく、メモリコントローラ間の同期ずれを起こさないようにすることもできるので、ソフトウェアのオーバーヘッドを増大したりメモリのスループットを低下させることなくメモリ内のソフトエラーを訂正することが可能となる。
図10は、第2実施例のメモリコントローラ22−1のリード動作を説明するフローチャートである。同図中、ステップS1は、システムコントローラ23を介してMPU25−1からのリードコマンドを受信する。ステップS2は、メモリ21−1にリードコマンドを発行する。ステップS3は、メモリ21−1からリードデータを受信し、エラー検出部227によりリードデータのエラー検出(チェック)を行う。ステップS4は、リードデータ中に訂正可能なエラーが検出されたか否かを判定する。ステップS4の判定結果がNOであると、ステップS5は、リードデータをクロスバスイッチ24を介してMPU25−1に返送し、処理は終了する。
他方、ステップS4の判定結果がYESであると、ステップS6と、ステップS7,S8とが並行して実行される。ステップS6は、エラーをエラー訂正部229により訂正したリードデータをクロスバスイッチ24を介してMPU25−1に返送する。ステップS7は、メモリコントローラ22−1内のレジスタ223にエラーが検出されたアドレス(エラーアドレス)を保持(記録)し、ステップS8は、システムコントローラ23にエラーステータスによりエラーの発生を通知する(エラー通知)。この時点では、メモリ21−1内のエラーが発生したアドレスのデータは、まだ訂正されてリライトされることはない。ステップS6及びステップS7,S8の後、処理は終了する。
尚、上記第1実施例の場合には、ステップS7においてエラーアドレスをメモリコントローラ内のレジスタ223ではなく、システムコントローラ123内のレジスタ333に保持(記録)する点が異なるだけであり、基本的には第2実施例の場合と同様のリード動作となる。
図11は、第2実施例のメモリコントローラ22−1〜22−nのエラー訂正動作を説明するフローチャートである。同図中、ステップS11は、システムコントローラ23からのエラー訂正コマンドを受信する。上記の如く、システムコントローラ23は、メモリコントローラ22−1からのエラーステータスによるエラー通知に応答して、エラー訂正コマンドをダミーリード用のアドレスと共に発生する。ステップS12は、後続のメモリアクセスを抑止する。これにより、エラー訂正動作が行われている間は、MPU25−1等からによるメモリアクセスが抑止される。
ステップS13は、レジスタ223の内容をチェックし、ステップS14は、各メモリコントローラ22−1〜22−n内にエラーアドレスが保持されているか否かを判定する。メモリコントローラ22−1のようにエラーアドレスを保持しておりステップS14の判定結果がYESの場合、ステップS15は、対応するメモリ21−1にリードコマンドを発行してエラーアドレスからデータをリードする。ステップS16は、エラーアドレスからのリードデータをエラー訂正部229で訂正する。又、ステップS17は、対応するメモリ21−1にライトコマンドを発行してエラーアドレスに訂正したリードデータをリライトし、ステップS18は、後続のメモリアクセスの抑止を解除して再開可能とし、処理は終了する。
他方、メモリコントローラ22−2〜22−nのようにエラーアドレスを保持しておらずステップS14の判定結果がNOであると、ステップS21は、対応するメモリ21−2〜21−nにリードコマンドを発行してダミーリード用のアドレスからデータをリードする。ステップS22は、対応するメモリ21−2〜21−nにライトコマンドを発行してダミーリード用のアドレスにリードデータをそのままライトバックし、ステップS18は、後続のメモリアクセスの抑止を解除して再開可能とし、処理は終了する。これにより、メモリコントローラ22−1〜22−n間の同期ずれを起こさずにメモリ21−1〜21−n内のソフトエラーを訂正することができる。
尚、メモリコントローラ22−1からシステムコントローラ23へのステータスバスを、上記エラー通知以外に、メモリコントローラ22−1からシステムコントローラ23へのステータス通知で使用する場合には、メモリコントローラ22−1からエラー通知を発行する優先度を他のステータス通知より低くすることで、ステータスバスを共用した場合にも同期ずれを起こさないようにすれば良い。
次に、第1の変形例について説明する。上記第2実施例では、メモリコントローラ22−1からのエラー通知を受けたシステムコントローラ23からのトリガに応答してメモリコントローラ22−1によるエラー訂正動作が開始されるが、本変形例では、定期的にエラー訂正動作を行う。
本変形例では、各メモリコントローラ22−1〜22−n内に、互いに同期して動作する時計等のカウンタ手段を設け、予め設定されたタイミングでエラー訂正動作を開始する。この場合、例えばメモリコントローラ22−1でメモリ21−1内のソフトエラーを検出しても、システムコントローラ23にはエラー通知を行わず、エラー訂正動作の開始時刻までメモリコントローラ22−1内でエラーアドレスを保持しておき、エラー訂正動作の開始時刻になったら上記の如きエラー訂正動作を行う。これにより、システムコントローラ23内には、エラー訂正処理のための回路を設ける必要がなくなり、メモリシステム30の構成が更に簡単になる。
次に、第2の変形例について説明する。上記第1実施例では、メモリコントローラ22−1からのエラー通知を受けたシステムコントローラ23からのトリガに応答してメモリコントローラ22−1によるエラー訂正動作が開始されるが、本変形例では、メモリコントローラ22−1のアイドル(Idle)状態が一定時間続くとエラー訂正動作を行う。
本変形例では、各メモリコントローラ22−1〜22−nにビジー(Busy)状態を判定する回路を設け、一定時間IDLE状態が続いたらエラー訂正処理を開始する。これにより、システムコントローラ23内には、エラー訂正処理のための回路を設ける必要がなくなり、メモリシステム30の構成が更に簡単になる。
本発明は、メモリコントローラ間の同期ずれを起こさずにメモリ内のソフトエラーを訂正する必要のある構成を有するメモリシステムに好適である。
尚、本発明は、以下に付記する発明をも包含するものである。
(付記1) バイトスライスされたデータが格納されるn個のメモリに対しサイクル同期してアクセスを行うn個のメモリコントローラと、m個のMPUのうちの任意の1個のMPUからのメモリアクセスを受信し該n個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムにおけるソフトエラー訂正方法であって、m,nは2以上の整数であり、
メモリからのリードデータに訂正可能なエラーを検出すると、該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持すると共に、該対応するメモリコントローラから該システムコントローラに対してエラー通知を行い、
該エラー通知に応答して、該システムコントローラからMPUの介在なしに該エラーアドレスを保持するメモリコントローラを制御し、対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトすることを特徴とする、ソフトエラー訂正方法。
(付記2) 該エラーが検出された該エラーアドレスを該対応するメモリコントローラ内に保持する代わりに、該エラーアドレスを一旦該システムコントローラに送信して、該システムコントローラからエラー訂正コマンドと該エラーアドレスを一斉に各メモリコントローラに入力することを特徴とする、付記1記載のソフトエラー訂正方法。
(付記3) 該エラー通知に応答して、該システムコントローラから該エラーアドレスを保持していないメモリコントローラを制御し、対応するメモリの予め設定されているアドレスからデータをリードして、その後のライトバックにかかる時間だけ待ち合わせを行うことを特徴とする、付記1又は2記載のソフトエラー訂正方法。
(付記4) 該エラー通知に応答して、該システムコントローラから該エラーアドレスを保持していないメモリコントローラを制御し、対応するメモリの予め設定されているダミーリード用のアドレスからデータをリードしてそのままライトバックすることを特徴とする、付記1記載のソフトエラー訂正方法。
(付記5) 該エラー通知に応答して、該システムコントローラからエラー訂正コマンドとダミーリード用のアドレスを各メモリコントローラに入力することを特徴とする、付記1又は4記載のソフトエラー訂正方法。
(付記6) 該エラー通知を、該メモリコントローラから該システムコントローラへのステータスを送信するためのバスを用いて行うことを特徴とする、付記1、4、5のいずれか1項記載のソフトエラー訂正方法。
(付記7) バイトスライスされたデータが格納されるn個のメモリに対しサイクル同期してアクセスを行うn個のメモリコントローラと、m個のMPUのうちの任意の1個のMPUからのメモリアクセスを受信し該n個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムにおけるソフトエラー訂正方法であって、m,nは2以上の整数であり、
メモリからのリードデータに訂正可能なエラーを検出すると、該エラーの発生と該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持し、
該エラーの発生に応答して、定期的に或いはアイドル状態が一定時間続くと、MPUの介在なしに該エラーアドレスを保持するメモリコントローラにより対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトすることを特徴とする、ソフトエラー訂正方法。
(付記8) バイトスライスされたデータが格納されるn個のメモリに対しサイクル同期してアクセスを行うn個のメモリコントローラと、m個のMPUのうちの任意の1個のMPUからのメモリアクセスを受信し該n個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムにおけるメモリ制御装置であって、m,nは2以上の整数であり、
メモリからのリードデータに訂正可能なエラーを検出すると、該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持すると共に、該対応するメモリコントローラから該システムコントローラに対してエラー通知を行う手段と、
該エラー通知に応答して、該システムコントローラからMPUの介在なしに該エラーアドレスを保持するメモリコントローラを制御し、対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトする手段とを備えたことを特徴とする、メモリ制御装置。
(付記9) 該エラーが検出された該エラーアドレスを該対応するメモリコントローラ内に保持する代わりに、該エラーアドレスを一旦該システムコントローラに送信して、該システムコントローラからエラー訂正コマンドと該エラーアドレスを一斉に各メモリコントローラに入力することを特徴とする、付記8記載のメモリ制御装置。
(付記10) 該エラー通知に応答して、該システムコントローラから該エラーアドレスを保持していないメモリコントローラを制御し、対応するメモリの予め設定されているアドレスからデータをリードして、その後のライトバックにかかる時間だけ待ち合わせを行うことを特徴とする、付記8又は9記載のメモリ制御装置。
(付記11) 該エラー通知に応答して、該システムコントローラから該エラーアドレスを保持していないメモリコントローラを制御し、対応するメモリの予め設定されているダミーリード用のアドレスからデータをリードしてそのままライトバックする手段を備えたことを特徴とする、付記8記載のメモリ制御装置。
(付記12) 該エラー通知に応答して、該システムコントローラからエラー訂正コマンドとダミーリード用のアドレスを各メモリコントローラに入力する手段を備えたことを特徴とする、付記8又は11記載のメモリ制御装置。
(付記13) 該エラー通知を、該メモリコントローラから該システムコントローラへのステータスを送信するためのバスを用いて行うことを特徴とする、付記8、11、12のいずれか1項記載のメモリ制御装置。
(付記14) バイトスライスされたデータが格納されるn個のメモリに対しサイクル同期してアクセスを行うn個のメモリコントローラと、m個のMPUのうちの任意の1個のMPUからのメモリアクセスを受信し該n個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムにおけるメモリ制御装置であって、m,nは2以上の整数であり、
メモリからのリードデータに訂正可能なエラーを検出すると、該エラーの発生と該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持する手段と、
該エラーの発生に応答して、定期的に或いはアイドル状態が一定時間続くと、MPUの介在なしに該エラーアドレスを保持するメモリコントローラにより対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトする手段とを備えたことを特徴とする、メモリ制御装置。
(付記15) バイトスライスされたデータが格納されるn個のメモリに対しサイクル同期してアクセスを行うn個のメモリコントローラと、m個のMPUのうちの任意の1個のMPUからのメモリアクセスを受信し該n個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムであって、m,nは2以上の整数であり、
メモリからのリードデータに訂正可能なエラーを検出すると、該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持すると共に、該対応するメモリコントローラから該システムコントローラに対してエラー通知を行い、
該エラー通知に応答して、該システムコントローラからMPUの介在なしに該エラーアドレスを保持するメモリコントローラを制御し、対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトすることを特徴とする、メモリシステム。
(付記16) 該エラーが検出された該エラーアドレスを該対応するメモリコントローラ内に保持する代わりに、該エラーアドレスを一旦該システムコントローラに送信して、該システムコントローラからエラー訂正コマンドと該エラーアドレスを一斉に各メモリコントローラに入力することを特徴とする、付記15記載のメモリシステム。
(付記17) 該エラー通知に応答して、該システムコントローラから該エラーアドレスを保持していないメモリコントローラを制御し、対応するメモリの予め設定されているアドレスからデータをリードして、その後のライトバックにかかる時間だけ待ち合わせを行うことを特徴とする、付記15又は16記載のメモリシステム。
(付記18) 該エラー通知に応答して、該システムコントローラから該エラーアドレスを保持していないメモリコントローラを制御し、対応するメモリのダミーリード用のアドレスからデータをリードしてそのままライトバックすることを特徴とする、付記15記載のメモリシステム。
(付記19) 該エラー通知に応答して、該システムコントローラからエラー訂正コマンドとダミーリード用のアドレスを各メモリコントローラに入力することを特徴とする、付記15又は18記載のメモリシステム。
(付記20) 該エラー通知を、該メモリコントローラから該システムコントローラへのステータスを送信するためのバスを用いて行うことを特徴とする、付記15、18、19のいずれか1項記載のメモリシステム。
(付記21) バイトスライスされたデータが格納されるn個のメモリに対しサイクル同期してアクセスを行うn個のメモリコントローラと、m個のMPUのうちの任意の1個のMPUからのメモリアクセスを受信し該n個のメモリコントローラにメモリアドレスを発行するシステムコントローラとで構成されるメモリシステムであって、m,nは2以上の整数であり、
メモリからのリードデータに訂正可能なエラーを検出すると、該エラーの発生と該エラーが検出されたエラーアドレスを対応するメモリコントローラ内に保持する手段と、
該エラーの発生に応答して、定期的に或いはアイドル状態が一定時間続くと、MPUの介在なしに該エラーアドレスを保持するメモリコントローラにより対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトする手段とを備えたことを特徴とする、メモリシステム。
(付記22) バイトスライスされたデータが格納されるn個のメモリに対しサイクル同期してアクセスを行うn個のメモリコントローラと、m個のMPUのうちの任意の1個のMPUからのメモリアクセスを受信し該n個のメモリコントローラにメモリアドレスを発行するシステムコントローラとメモリコントローラとMPUの間でデータのスイッチングを行うクロスバスイッチとで構成されるメモリシステムにおけるソフトエラー訂正方法であって、m,nは2以上の整数であり、
メモリからのリードデータに訂正可能なエラーを検出すると、該対応するメモリコントローラから該システムコントローラに対してエラー通知と共に該エラーが検出されたエラーアドレスを送信し、
該エラー通知に応答して、該システムコントローラからMPUの介在なしに該メモリコントローラに該エラーが検出されたエラーアドレスを送信し、該メモリコントローラを制御し、対応するメモリの該エラーアドレスからデータをリードしてエラーを訂正してからリライトすることを特徴とする、ソフトエラー訂正方法。
以上、本発明を実施例により説明したが、本発明は上記実施例に限定されるものではなく、種々の変形及び改良が可能であることは、言うまでもない。
従来のメモリシステムの一例を示すブロック図である。 メモリシステムの要部を機能的に示すブロック図である。 エラー訂正動作を説明するためのタイムチャートである。 本発明になるメモリシステムの第1実施例を示すブロック図である。 メモリシステムの第1実施例の要部を機能的に示すブロック図である。 第1実施例のエラー訂正動作を説明するためのタイムチャートである。 本発明になるメモリシステムの第2実施例を示すブロック図である。 メモリシステムの第2実施例の要部を機能的に示すブロック図である。 第2実施例のエラー訂正動作を説明するためのタイムチャートである。 第2実施例のメモリコントローラのリード動作を説明するフローチャートである。 第2実施例のメモリコントローラのエラー訂正動作を説明するフローチャートである。
符号の説明
21−1〜21−n,101−1〜101−n メモリ
22−1〜22−n,102−1〜102−n メモリコントローラ
23,103 システムコントローラ
24,104 クロスバスイッチ
25−1〜25−m,105−1〜105−m MPU
30,130 メモリシステム
221〜226,321〜326,333 レジスタ
227,327 エラー検出部
229,329 エラー訂正部
228,230〜232,328,331,332 セレクタ

Claims (3)

  1. バイトスライスされたデータが格納される複数のメモリのいずれかに対し、互いにサイクル同期してアクセスを行う複数のメモリコントローラと、MPUからのメモリアクセスを受信して、前記複数のメモリコントローラの各々リード要求を発行するシステムコントローラとを有するメモリシステムにおけるソフトエラー訂正方法であって、
    前記メモリコントローラのいずれかが、メモリからのリードデータに訂正可能なエラーを検出した場合、該エラーが検出されたエラーアドレスを保持すると共に、前記システムコントローラに対してエラー訂正通知を行い、
    前記メモリコントローラからのエラー通知に応答して、前記システムコントローラから各メモリコントローラに対してエラー訂正要求とダミーリード用アドレスとを送信し、
    前記エラーアドレスを保持するメモリコントローラは、前記エラー訂正要求を受信した場合に前記エラーアドレスからデータをリードしてソフトエラー訂正動作を行い、
    前記エラーアドレスを保持していないメモリコントローラは、受信したダミーリード用アドレスからデータをリードして当該データをライトバックすることを特徴とする、ソフトエラー訂正方法。
  2. バイトスライスされたデータが格納される複数のメモリと、前記メモリのいずれかに対応し、対応するメモリに対しサイクル同期してアクセスを行う複数のメモリコントローラと、受信したメモリアクセス要求に基づいて、前記複数のメモリコントローラにリード要求を発行するシステムコントローラとを有するメモリシステムにおけるメモリコントローラにおいて、
    メモリからのリードデータに訂正可能なエラーを検出した場合に該エラーが検出されたエラーアドレスを保持する手段と、
    前記システムコントローラに対してエラー通知を行う手段と、
    前記システムコントローラからのエラー訂正要求とダミーリード用アドレスとを受信する手段と、
    自身が前記エラーアドレスを保持している場合には、前記エラー訂正要求を受信したときに、前記エラーアドレスからデータをリードしてソフトエラー訂正を行うと共に、自身がエラーアドレスを保持していない場合には、受信した前記ダミーリード用アドレスからデータをリードして当該データをライトバックする手段と、
    を備えたことを特徴とする、メモリコントローラ
  3. バイトスライスされたデータが格納される複数のメモリと、
    前記メモリのいずれかに対応し、対応するメモリに対しサイクル同期してアクセスを行う複数のメモリコントローラと、
    受信したメモリアクセス要求に基づいて、前記複数のメモリコントローラの各々リード要求を発行するシステムコントローラとを有し、
    前記メモリコントローラは、
    メモリからのリードデータに訂正可能なエラーを検出した場合に該エラーが検出されたエラーアドレスを保持する手段と、
    前記システムコントローラに対してエラー通知を行う手段と、
    前記システムコントローラからのエラー訂正要求とダミーリード用アドレスとを受信する手段と、
    自身が前記エラーアドレスを保持している場合には、前記エラー訂正要求を受信したときに、前記エラーアドレスからデータをリードしてソフトエラー訂正を行うと共に、自身がエラーアドレスを保持していない場合には、受信した前記ダミーリード用アドレスからデータをリードして当該データをライトバックする手段とを備え、
    前記システムコントローラは、
    いずれかのメモリコントローラからエラー通知を受けた場合、エラー訂正要求とダミーリード用アドレスとを各メモリコントローラに送信する手段を備えたことを特徴とする、メモリシステム。
JP2005078010A 2005-03-17 2005-03-17 ソフトエラー訂正方法、メモリ制御装置及びメモリシステム Expired - Fee Related JP4734003B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2005078010A JP4734003B2 (ja) 2005-03-17 2005-03-17 ソフトエラー訂正方法、メモリ制御装置及びメモリシステム
DE602005024104T DE602005024104D1 (de) 2005-03-17 2005-08-04 Techniken zur Korrektur von Software-Fehlern
EP05254873A EP1703398B1 (en) 2005-03-17 2005-08-04 Techniques for soft error correction
US11/197,261 US7631244B2 (en) 2005-03-17 2005-08-05 Soft error correction method, memory control apparatus and memory system
KR1020050076013A KR100725469B1 (ko) 2005-03-17 2005-08-19 소프트 에러 정정 방법, 메모리 제어 장치 및 메모리시스템
CNB2005100933550A CN100442241C (zh) 2005-03-17 2005-08-26 软错误纠正方法、存储控制设备及存储系统
US12/573,491 US8365031B2 (en) 2005-03-17 2009-10-05 Soft error correction method, memory control apparatus and memory system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005078010A JP4734003B2 (ja) 2005-03-17 2005-03-17 ソフトエラー訂正方法、メモリ制御装置及びメモリシステム

Publications (2)

Publication Number Publication Date
JP2006260289A JP2006260289A (ja) 2006-09-28
JP4734003B2 true JP4734003B2 (ja) 2011-07-27

Family

ID=36638018

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005078010A Expired - Fee Related JP4734003B2 (ja) 2005-03-17 2005-03-17 ソフトエラー訂正方法、メモリ制御装置及びメモリシステム

Country Status (6)

Country Link
US (2) US7631244B2 (ja)
EP (1) EP1703398B1 (ja)
JP (1) JP4734003B2 (ja)
KR (1) KR100725469B1 (ja)
CN (1) CN100442241C (ja)
DE (1) DE602005024104D1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7769942B2 (en) * 2006-07-27 2010-08-03 Rambus, Inc. Cross-threaded memory system
EP2095234B1 (en) * 2006-11-21 2014-04-09 Freescale Semiconductor, Inc. Memory system with ecc-unit and further processing arrangement
JP5051514B2 (ja) * 2007-02-23 2012-10-17 日本電気株式会社 メモリエラーパターン記録システム、メモリエラーパターン記録方法
KR100890546B1 (ko) * 2007-04-30 2009-03-27 슈어소프트테크주식회사 메모리 오류 검출 방법
US20090158122A1 (en) * 2007-12-12 2009-06-18 Intel Corporation Forward error correction of an error acknowledgement command protocol
US8621159B2 (en) 2009-02-11 2013-12-31 Rambus Inc. Shared access memory scheme
JP2010231619A (ja) * 2009-03-27 2010-10-14 Renesas Electronics Corp 情報処理装置
US20120185741A1 (en) * 2011-01-14 2012-07-19 Sergey Sergeevich Grekhov Apparatus and method for detecting a memory access error
US8826097B2 (en) * 2011-03-30 2014-09-02 Arm Limited Memory scrubbing
US20140281678A1 (en) * 2013-03-14 2014-09-18 Kabushiki Kaisha Toshiba Memory controller and memory system
US9043638B1 (en) * 2014-11-14 2015-05-26 Quanta Computer Inc. Method for enhancing memory fault tolerance
US10001947B1 (en) * 2015-05-08 2018-06-19 American Megatrends, Inc. Systems, methods and devices for performing efficient patrol read operations in a storage system
WO2017048261A1 (en) 2015-09-17 2017-03-23 Hewlett Packard Enterprise Development Lp Memory store error check
WO2017078679A1 (en) * 2015-11-03 2017-05-11 Hewlett Packard Enterprise Development Lp Recovery from data corruption in a storage array
KR102469099B1 (ko) * 2016-03-24 2022-11-24 에스케이하이닉스 주식회사 반도체 시스템
CN110535861B (zh) * 2019-08-30 2022-01-25 杭州迪普信息技术有限公司 一种识别syn攻击行为中统计syn包数量的方法及装置
CN117806855A (zh) * 2022-09-26 2024-04-02 华为技术有限公司 内存错误处理方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003030057A (ja) * 2001-07-11 2003-01-31 Nec Commun Syst Ltd 二重化装置
JP2004171106A (ja) * 2002-11-18 2004-06-17 Hitachi Ltd データ記憶制御方法および装置

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3781812A (en) * 1971-06-28 1973-12-25 Burroughs Corp Addressing system responsive to a transfer vector for accessing a memory
US4174537A (en) * 1977-04-04 1979-11-13 Burroughs Corporation Time-shared, multi-phase memory accessing system having automatically updatable error logging means
US4371949A (en) * 1977-05-31 1983-02-01 Burroughs Corporation Time-shared, multi-phase memory accessing system having automatically updatable error logging means
US4234918A (en) * 1977-05-31 1980-11-18 Burroughs Corporation Time-shared, multi-phase memory system with error checking and data correcting
US4255808A (en) * 1979-04-19 1981-03-10 Sperry Corporation Hard or soft cell failure differentiator
JPS6051749B2 (ja) * 1979-08-31 1985-11-15 富士通株式会社 エラ−訂正方式
JPS6042506B2 (ja) * 1980-10-03 1985-09-24 日本電気株式会社 記憶内容のエラ−訂正方式
JPS58175197A (ja) * 1982-04-06 1983-10-14 Nec Corp 主記憶装置
JPS59217298A (ja) 1983-05-24 1984-12-07 Nippon Telegr & Teleph Corp <Ntt> メモリエラ−救済方式
US4955024A (en) * 1987-09-14 1990-09-04 Visual Information Technologies, Inc. High speed image processing computer with error correction and logging
US4920539A (en) * 1988-06-20 1990-04-24 Prime Computer, Inc. Memory error correction system
US5263032A (en) * 1991-06-27 1993-11-16 Digital Equipment Corporation Computer system operation with corrected read data function
US5331646A (en) * 1992-05-08 1994-07-19 Compaq Computer Corporation Error correcting code technique for improving reliablility of a disk array
US5412661A (en) * 1992-10-06 1995-05-02 International Business Machines Corporation Two-dimensional disk array
US5528755A (en) * 1992-12-22 1996-06-18 International Business Machines Corporation Invalid data detection, recording and nullification
GB2289779B (en) * 1994-05-24 1999-04-28 Intel Corp Method and apparatus for automatically scrubbing ECC errors in memory via hardware
JPH10143448A (ja) * 1996-11-14 1998-05-29 Ricoh Co Ltd メモリシステム
JPH10198608A (ja) * 1997-01-08 1998-07-31 Mitsubishi Electric Corp メモリカード
US5951691A (en) * 1997-05-16 1999-09-14 International Business Machines Corporation Method and system for detection and reconstruction of corrupted data in a data storage subsystem
US6112277A (en) * 1997-09-25 2000-08-29 International Business Machines Corporation Method and means for reducing device contention by random accessing and partial track staging of records according to a first DASD format but device mapped according to a second DASD format
US6038676A (en) * 1997-09-25 2000-03-14 International Business Machines Corporation Method and circuit for data integrity verification during DASD data transfer
JP2000010871A (ja) 1998-06-25 2000-01-14 Nec Kofu Ltd メモリパトロールの方法と方式
US6349390B1 (en) * 1999-01-04 2002-02-19 International Business Machines Corporation On-board scrubbing of soft errors memory module
US6832340B2 (en) * 2000-01-26 2004-12-14 Hewlett-Packard Development Company, L.P. Real-time hardware memory scrubbing
US6715116B2 (en) * 2000-01-26 2004-03-30 Hewlett-Packard Company, L.P. Memory data verify operation
US7007210B2 (en) * 2002-01-30 2006-02-28 International Business Machines Corporation Method and system for handling multiple bit errors to enhance system reliability
US7020802B2 (en) * 2002-10-17 2006-03-28 Sun Microsystems, Inc. Method and apparatus for monitoring and recording computer system performance parameters
US7480774B2 (en) 2003-04-01 2009-01-20 International Business Machines Corporation Method for performing a command cancel function in a DRAM
US6853602B2 (en) * 2003-05-09 2005-02-08 Taiwan Semiconductor Manufacturing Company, Ltd. Hiding error detecting/correcting latency in dynamic random access memory (DRAM)
US7320100B2 (en) * 2003-05-20 2008-01-15 Cray Inc. Apparatus and method for memory with bit swapping on the fly and testing
US6965537B1 (en) * 2004-08-31 2005-11-15 Micron Technology, Inc. Memory system and method using ECC to achieve low power refresh

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003030057A (ja) * 2001-07-11 2003-01-31 Nec Commun Syst Ltd 二重化装置
JP2004171106A (ja) * 2002-11-18 2004-06-17 Hitachi Ltd データ記憶制御方法および装置

Also Published As

Publication number Publication date
JP2006260289A (ja) 2006-09-28
US7631244B2 (en) 2009-12-08
CN100442241C (zh) 2008-12-10
EP1703398A8 (en) 2010-09-15
US20100023827A1 (en) 2010-01-28
KR20060101172A (ko) 2006-09-22
DE602005024104D1 (de) 2010-11-25
KR100725469B1 (ko) 2007-06-08
US20060236208A1 (en) 2006-10-19
EP1703398A2 (en) 2006-09-20
US8365031B2 (en) 2013-01-29
EP1703398B1 (en) 2010-10-13
EP1703398A3 (en) 2009-07-08
CN1834928A (zh) 2006-09-20

Similar Documents

Publication Publication Date Title
JP4734003B2 (ja) ソフトエラー訂正方法、メモリ制御装置及びメモリシステム
US7328365B2 (en) System and method for providing error check and correction in memory systems
US5701313A (en) Method and apparatus for removing soft errors from a memory
JP2018005902A (ja) メモリ装置へのアクセスを制御するための装置及びそのような装置内においてメンテナンス作業を行う方法
US8176388B1 (en) System and method for soft error scrubbing
JPWO2007099584A1 (ja) エラー検出装置
JPWO2004046926A1 (ja) イベント通知方法、デバイス及びプロセッサシステム
JP4621292B2 (ja) キャッシュ制御装置およびキャッシュ制御方法
JP5213061B2 (ja) ミラーリング制御装置、ミラーリング制御回路、ミラーリング制御方法およびそのプログラム
JP7379932B2 (ja) 制御装置、ユーザプログラムの実行制御方法、およびシステムプログラム
JP5748214B2 (ja) 二重化情報処理システム
JP2008102686A (ja) フィールド制御装置
JP4292477B2 (ja) 二重化プロセッサ装置
JP7202990B2 (ja) Dram診断方法
JP4747062B2 (ja) デバイスの移行方式、デバイスの移行方法、移行制御装置、及びプログラム
JP5888419B2 (ja) データ処理装置、プロセッサ、及び動作履歴記録方法
JP5076348B2 (ja) 共有メモリのアクセス方式
JP3068491B2 (ja) キャッシュ索引障害処理方式
JP3741077B2 (ja) データ転送装置
JP2012174049A (ja) 記憶装置
JPH04162161A (ja) 記憶制御装置
JPH05210597A (ja) 記憶装置のパトロール回路
JP2009276983A (ja) 多重化計算機システム、及びその処理方法
JPH0520215A (ja) 情報処理装置
JPH10247157A (ja) トランザクション処理システムおよびそのリカバリ方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070803

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110307

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110425

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140428

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4734003

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees