JP5232018B2 - エラー処理方法およびエラー処理装置 - Google Patents

エラー処理方法およびエラー処理装置 Download PDF

Info

Publication number
JP5232018B2
JP5232018B2 JP2008555429A JP2008555429A JP5232018B2 JP 5232018 B2 JP5232018 B2 JP 5232018B2 JP 2008555429 A JP2008555429 A JP 2008555429A JP 2008555429 A JP2008555429 A JP 2008555429A JP 5232018 B2 JP5232018 B2 JP 5232018B2
Authority
JP
Japan
Prior art keywords
error
memory
write request
storage area
error correction
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
JP2008555429A
Other languages
English (en)
Other versions
JP2009527820A (ja
JP2009527820A5 (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.)
NXP USA Inc
Original Assignee
NXP USA Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=38475622&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP5232018(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by NXP USA Inc filed Critical NXP USA Inc
Publication of JP2009527820A publication Critical patent/JP2009527820A/ja
Publication of JP2009527820A5 publication Critical patent/JP2009527820A5/ja
Application granted granted Critical
Publication of JP5232018B2 publication Critical patent/JP5232018B2/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
    • 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/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • G06F11/1052Bypassing or disabling error detection or correction
    • 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
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • 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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本開示はエラー制御手法に関し、特にメモリ用のエラー制御手法に関する。
RAM、フラッシュメモリ、およびハードディスクドライブのような記憶装置は、記憶エラーを含むことがある。これらのエラーは、記憶装置の物理的原因または他の要因に起因する場合がある。メモリエラーは、記憶装置から読取られる誤ったデータをもたらすことがあり、頻繁なエラーまたは繰返されるエラーは、貧弱な装置動作をもたらすことがある。
記憶装置エラーの影響を低減するために、装置はエラー訂正技術を利用できる。たとえば記憶装置は、記憶装置の記憶領域に対するエラー訂正符号(ECC)データを格納できる。エラー訂正符号データは、装置がエラーを検出可能にするパリティまたは他のデータを含む。更にエラー訂正符号データは、装置が、検出したエラーを訂正可能にするエラー訂正データを含むことができる。
メモリエラー訂正技術は、メモリの信頼度を向上できるが、装置電力や応答時間のような装置資源も消費する。資源消費は、可搬型装置や他の低電力装置のような幾つかの用途では望ましくない場合がある。
幾つかの装置は、メモリ信頼度を向上させるために、リセットイベント後、メモリが所定のデータシーケンスで満たされる手法を利用する。リセットイベントはリセット、電源投入、または他のイベントである。エラー訂正符号データは、所定シーケンスに基づきメモリに対して算出される。
しかし、この手法は、リセットイベント後の望ましくない遅延や、リセットイベント後の望ましくない電力消費をもたらすことがある。電力消費は、特に可搬型装置や、頻繁にリセットイベントする装置には望ましくないことがある。
従って、望ましくない量の装置資源を消費せずにエラー訂正できる装置が望ましい。
上記課題を解決するエラー訂正方法とエラー訂正装置が開示される。本装置は、状態指標の状態に依存して、記憶領域に対するエラー処理を無効にするメモリ制御モジュールを備える。状態指標は、記憶領域に対する有効なエラー訂正およびエラー検出情報が利用可能ではない場合(リセットまたは電源投入イベント後)、エラー処理が無効になるように設定できる。更に、メモリ制御モジュールは、エラー処理が無効な場合、部分的な書込要求である部分書込動作を、全体的な書込要求である全体書込動作に昇格できる。その結果、有効なエラー検出とエラー訂正データが記憶領域に対して算出されることを保証する。有効なエラー検出とエラー訂正情報が利用可能になるまでエラー処理を無効にすることによって、不必要または無効なエラー処理動作の数が低減される。よって、装置資源が節約される。
エラー訂正のための装置と方法が開示される。その方法の1つは、第1記憶領域に関連する第1エラー訂正状態指標の状態を判定することと、および第1エラー訂正状態指標が第1状態であるとの判定に応答して、第1記憶領域へのアクセス要求に対するエラー訂正、エラー検出、または任意のその組合せのうちの1つを無効にすることとを含む。
特定態様では、本方法は、エラー訂正状態指標が第2状態であるとの判定に応答して、第1記憶領域へのアクセス要求に対するエラー検出またはエラー訂正のうちの少なくとも1つを有効にすることを含む。
別の特定態様では、アクセス要求は部分書込動作であり、本方法は、部分書込動作を全体書込動作に昇格させることを更に含む。更に別の特定態様では、本方法は、第1全体書込動作に対するエラー訂正情報を算出することを含む。別の特定態様では、本方法は、第1部分書込動作を第1全体書込動作に昇格後、第1エラー訂正状態指標を第2状態に変更することを含む。
特定態様では、第1アクセス要求は部分書込動作であり、本方法は、エラー訂正状態指標が第2状態であるとの判定に応答して、第1記憶領域に対するエラー訂正またはエラー検出を行なうことと、第1記憶領域の一部にデータを書込むことによって第1部分書込動作を行なうこととを含む。
別の特定態様では、本方法は、リセット指示(リセット指標、reset indication)を受信することと、リセット指示の受信に応答してエラー訂正状態指標を第1状態にすることとを含む。更に別の特定態様では、第1記憶領域は第1装置に組込まれ、リセット指示は、第1装置が低電力モードからアクティブモードに移行するのに応答して受信される。
特定態様では、本方法は、第2記憶領域に関連する第2アクセス要求を受信することと、第2記憶領域に関連する第2エラー訂正状態指標の状態を判定することと、第2エラー訂正状態指標が第1状態であるとの判定に応答して、第2記憶領域へのアクセス要求に対するエラー訂正、エラー検出、または任意のそれらの組合せを無効にすることとを含む。
別の特定態様では、第1全体書込動作は、第1記憶領域に関連するエラー訂正データ単位の幅全体に亘って行なわれる。
開示された装置は、第1記憶領域を有するメモリを備える。第1記憶領域は、データ領域とエラー訂正領域を備える。本装置は、第1記憶領域に関連する第1状態指標と、メモリに接続されるエラー訂正モジュールとを更に備える。エラー訂正を行なうエラー訂正モジュールは、第1記憶領域に関連する。本装置はアクセス制御モジュールを更に備える。アクセス制御モジュールは、第1状態指標に接続される第1入力と、エラー訂正モジュールに接続される出力とを有する。アクセス制御モジュールは、第1状態指標が第1状態になるのに応答して、第1記憶領域に対するエラー訂正、エラー検出、または任意のそれらの組合せのうちの1つを無効にする。
特定態様では、第1状態指標が第1状態になるのに応答して、アクセス制御モジュールは、第1記憶領域に関連する第1部分書込動作を全体書込動作に昇格させる。
別の特定態様では、アクセス制御モジュールは、リセット信号を受信する第2入力を更に備える。アクセス制御モジュールは、第1状態指標を、リセット信号の受信に応答して第1状態にする。
更に別の特定態様では、エラー訂正モジュールは、全体書込動作に関連するエラー訂正データを算出する。
特定態様では、第1状態指標は、第1記憶領域に関連する状態フラグビットである。
別の開示された方法は、第1記憶領域に関連する第1エラー訂正状態指標の状態を判定することと、エラー訂正状態指標が第1状態であるとの判定に応答して、第1記憶領域に関連する第1部分書込動作を第1全体書込動作に昇格させることとを含む。
特定態様では、本方法は、第1部分書込動作の処理中に、エラー検出またはエラー訂正のうちの少なくとも1つを無効にすることを含む。
別の特定態様では、本方法は、リセット指示を受信することと、リセット指示の受信に応答して、エラー訂正状態指標を第1状態にすることとを含む。
更に別の特定態様では、本方法は、第1全体書込動作に対するエラー訂正情報を算出することを含む。
特定態様では、本方法は、第1部分書込動作を第1全体書込動作に昇格後に、第1エラー訂正状態指標を第2状態に変更することを含む。
本開示の多数の特徴と利点は、添付の図面に参照を付すことによって一層よく理解可能であり、当業者に明白となる。
異なる図面中の同一の参照符号の使用は、同様または同一の要素を示す。
図1は、処理装置100を示す。処理装置100はプロセッサ102、メモリ制御モジュール105、およびメモリ108を備える。プロセッサ102は、第1インタフェース103を介してメモリ制御モジュール105に接続される。揮発性のメモリ108は、第2インタフェース107を介してメモリ制御モジュール105に接続される。メモリ108は、データ領域110とエラー訂正符号領域(エラー訂正コード領域、ECC領域)112を備える。処理装置100は、ASIC、システムオンチップ(SOC)、集積回路、または他の装置であることができる。更に、処理装置100は、モバイルまたは可搬型装置、自動車の装置、または他の適切な装置のような様々な用途で使用できる。メモリ108は、RAMメモリ(DRAMまたはSRAMまたは他のRAMメモリを含む)または他の種類の揮発性メモリであることができる。
動作中にプロセッサ102は、読取要求と書込要求のようなメモリアクセス要求を、メモリ制御モジュール105に送信する。メモリ制御モジュール105は、メモリアクセス要求に関連する記憶領域に対してエラー処理が有効で適切なアクションを行なうか否か判定する。エラー処理が有効な場合、メモリ制御モジュール105は、読取要求に対するエラー検出とエラー訂正のような適切なエラー処理や、書込要求に対するパリティデータとシンドロームデータの生成を行なう。エラー処理が無効な場合、メモリ制御モジュール105はこれらの機能を行なわない。そのような処理が有効な場合に限ってエラー処理を行なうことによって、処理装置100は、不必要なエラー処理を低減できる。よって電力、時間、または他の装置資源を節約する。
たとえば処理装置100がリセットされたか、または電源が入れられた後では、メモリ108のデータ領域110におけるデータは正確ではない。従って、エラー訂正符号領域112に格納されたパリティデータやシンドロームデータのように、メモリ108に関連する任意のエラー訂正符号データは、典型的にはランダムなデータであり、従って恐らく無効である。従って、メモリ108上のエラー訂正または検出動作は、有効なデータがメモリ108に書込まれるまでは、恐らく誤った結果を返すであろう。メモリ制御モジュール105は、有効なデータがメモリ108に書込まれるまで、エラー訂正またはエラー検出のうちの少なくとも1つを無効にすることによって、不必要または無効なエラー処理動作の数を低減できる。
図示の実施形態では、メモリ制御モジュール105は、読取要求と書込要求を含む様々な種類のメモリアクセス要求に応じて、エラー処理を行なうことができる。たとえば読取要求の場合、メモリ制御モジュール105は、エラー検出を行ない、そして必要ならば、エラー処理が読取要求に関連するメモリ108の部分が有効な場合にはエラー訂正を行なう。
書込要求は、全体書込要求または部分書込要求であることが可能である。全体書込要求は、エラー訂正符号データ単位の幅全体にデータを書込む全体的な書込要求である。エラー訂正符号データ単位の幅は、単一のエラー訂正符号シンドローム値に関連するメモリ量である。一方、部分書込要求は、エラー訂正符号データ単位の幅全体よりも少なくデータを書込む部分的な書込要求である。たとえばメモリ制御モジュール105とメモリ108は、64ビットのエラー訂正符号データ単位に基づきエラー検出とエラー訂正を行なうように構成可能である。この例では、全体書込動作は64ビットの書込動作である。一方、部分書込動作は32ビット(ワード)、16ビット(ハーフワード)、または8ビット(バイト)の書込動作である。
全体書込要求の場合、メモリ制御モジュール105は、書込動作に関連するデータに対して、パリティデータのようなエラー検出情報と、シンドロームデータのようなエラー訂正情報とを算出する。書込制御モジュール206は、エラー検出情報とエラー訂正情報を、書込要求に関連するデータと同様にメモリ108に書込む。
部分書込要求の場合、書込制御モジュール206またはプロセッサ102は、エラー処理が有効な場合に部分書込動作用のエラー訂正符号データを算出するために、部分書込要求を「読取修正書込動作」に変形できる。読取修正書込動作は、エラー処理が有効な場合、部分書込要求に関連するメモリアドレスにおけるデータ単位全体を読取り、メモリ制御モジュール105はエラー検出とエラー訂正をデータ単位全体に亘って行なう。たとえば64ビットのエラー訂正符号データ単位用に構成されたメモリ108の場合、64ビットの記憶領域のすべてが、エラー訂正符号データを算出するために使用される。その後、データ単位全体の適切な部分が、部分書込動作に関連するデータに置換され、データ単位全体(置換されたデータを有する)がメモリ108に書込まれる。更新されたエラー検出とエラー訂正値は、新しい部分的な書込データ値を含む更新されたデータ単位全体に基づき算出される。
代わりに、エラー処理が無効な場合、メモリ制御モジュール105は、部分書込要求を全体書込要求に昇格できる。書込要求の昇格は、ここで使用されるように、部分書込要求を全体書込要求に変形するものとして定義される。一実施形態では、8ビット、16ビット、または32ビットの部分的なデータ書込要求は、64ビットの全体的なデータ書込要求に昇格される。これは、様々な方法で行なわれることができる。たとえばメモリ制御モジュール105は、所定のデータシーケンスを、部分書込要求に関連するデータに添付または挿入でき、その結果、変形されたデータは、エラー訂正符号データ単位全体と同じ大きさである。その後、変形されたデータは、メモリ108に書込まれることができる。更新されたエラー検出とエラー訂正値は、変形された書込データ値を含む更新されたデータ単位全体に基づき算出される。
部分書込要求を全体書込要求に昇格させることによって、データに対する有効なエラー訂正および検出値は、将来のエラー処理動作用にメモリ108に格納される。従って、部分書込要求を全体書込要求に昇格し、全体書込要求に対するエラー訂正および検出情報を算出および格納後、書込要求に関連する記憶領域に対するエラー訂正が有効になることができる。そしてエラー処理は、記憶領域に関連する後続のメモリアクセス要求に対して行なわれることができる。
更に、エラー処理動作を選択的に有効にすることと共に、部分書込要求を全体書込要求に昇格させることによって、メモリ制御モジュール105は、システム資源を節約できる。たとえば説明したように、装置リセットまたは電源投入イベント後ではメモリ108内のデータは正確ではなく、メモリ108上のエラー処理は、読取アクセスと書込アクセスに対して恐らくエラーをもたらすであろう。特に部分書込動作の場合に該当する。部分書込動作は、読取機能と書込機能の両方を含むからである。更に、全体書込または昇格された部分書込動作のいずれかが記憶領域上で行なわれる場合、各記憶領域は既知のデータで満たされる。よってメモリ108は、リセットまたは電源投入イベントの直後では、既知のデータシーケンスで予め満たされたり、または初期化されたりする必要は無く、よって時間と電力を節約できる。
図2は、図1のメモリ制御モジュール105の一実施形態を示す。図示のように、メモリ制御モジュール105は通信モジュール202、エラー処理モジュール204、書込制御モジュール206、およびメモリ状態モジュール208を備える。通信モジュール202は、第1インタフェース103と第2インタフェース107に接続される。通信モジュール202は、第3インタフェース210を介してエラー処理モジュール204に接続され、第4インタフェース212を介して書込制御モジュール206に接続され、そして第5インタフェース214を介してメモリ状態モジュール208に接続される。通信モジュール202、エラー処理モジュール204、書込制御モジュール206、およびメモリ状態モジュール208はハードウェア、ソフトウェア、ファームウェア、または任意のそれらの組合せとしてインストール可能である。例示のために、通信モジュール202,エラー処理モジュール204,および書込制御モジュール206のうちの幾つかまたはすべては、それらの対応する機能を行なうロジックとしてインストール可能である。
動作中に、メモリ制御モジュール105は、エラー処理とメモリアクセス要求処理を行なう。エラー処理を行なうために通信モジュール202は、プロセッサ102から第1インタフェース103を介してメモリアクセス要求を受信する。メモリアクセス要求は、典型的には関連する記憶領域のメモリアドレスを含む。メモリアクセス要求は書込要求の場合、メモリ108に書込まれるペイロードデータを含む。通信モジュール202は、メモリ状態モジュール208にメモリアドレスを提供する。メモリ状態モジュール208は、メモリアドレスに関連する特定の記憶領域に対してエラー処理が有効であるか否か判定する。
メモリアクセス要求に関連する特定の記憶領域に対してエラー処理が無効な場合、メモリ状態モジュール208は、エラー処理がメモリアクセス要求に対して行なわれるべきではないことを、通信モジュール202を介してエラー処理モジュール204に通信する。その後、通信モジュール202はメモリアクセス要求を、第2インタフェース107を介してメモリ108(図1)に通信する。
エラー処理が、メモリアクセス要求に関連する特定の記憶領域に対して有効な場合、メモリ状態モジュール208は、エラー処理が進められるべきであることをエラー処理モジュール204に通信する。よって、エラー処理モジュール204は、データ領域110からのデータと、エラー訂正符号領域112からのエラー訂正符号情報とを利用して、適切なエラー処理を行なう。たとえば読取要求の場合、エラー処理モジュール204は、メモリ108から読取られたデータにおけるエラーを検出し、必要な場合にエラー訂正し、エラー訂正された読取データを生成する。書込要求の場合、エラー処理モジュール204は、書込要求に関連するペイロードデータに基づき、パリティデータとシンドロームデータのようなエラー訂正符号データを算出する。
エラー処理が完了後、通信モジュール202は、メモリアクセス要求を完了すべく、プロセッサ102(図1)とメモリ108に通信する。たとえば読取要求の場合、通信モジュール202は、プロセッサ102にエラー訂正された読取データを通信する。書込要求の場合、通信モジュール202は、エラー処理モジュール204によって算出されたペイロードデータとエラー訂正符号データを、メモリ108に通信する。
エラー処理を選択的に有効にすることによって、メモリ制御モジュール105は、不必要または望ましくないエラー処理量を低減できる。たとえばエラー処理は、メモリアクセス要求に対する応答時間を改善するためにプロセッサ102によって無効にされる場合がある。よって、高速メモリ応答を必要とする重大な装置動作にとって望ましい。別の実施形態では、エラー処理は、電力消費を低減するために無効にされる場合がある。たとえばメモリ制御モジュール105を組込んだ装置は、低電力状態を含むことがあり、頻繁なエラー制御動作は、付随する電力消費のためには望ましくないからである。
更に、一実施形態では、メモリ制御モジュール105はエラー処理を制御できる。その結果、エラー処理はメモリ108の或る部分に対して有効になり、他の部分に対して無効になる。この制御は、様々な場面で役立つことがある。たとえばメモリ制御モジュール105は、エラー処理が、重大な装置データを含むメモリ108の一部分に対して有効になるが、それほど重大でないデータを格納するメモリ108の他の部分に対しては無効になるように構成できる。別の実施形態では、エラー訂正は、頻繁なエラーを被ったか、または好ましくない動作条件下で動作するメモリ108の部分に対して有効である一方で、エラー処理は、より少数の動作エラーを被るメモリ108の他の部分に対しては無効であることが可能である。別の実施形態では、エラー訂正は、初期化されたメモリ108の部分に対して有効であることが可能である。なぜならば、電源投入イベントが生じている一方、エラー処理は、まだ初期化されていないメモリ108の他の部分に対しては無効であるからである。
更に、メモリ状態モジュール208は、時間経過と共に、記憶領域に対するエラー処理状態を変更可能である。たとえばエラー処理は、書込要求が記憶領域に対して満たされるまで、特定の記憶領域に対して無効であることが可能であり、有効なエラー訂正符号データは、当該記憶領域に対して算出される。このようにメモリ制御モジュール105は、適切な状況に依存して、メモリ108に対するエラー処理構成を動的に変更できる。
別の一実施形態では、メモリ状態モジュール208は、通信モジュール202を介して、プロセッサ102からリセット指示(リセット指標)を受信できる。リセット指示に応答して、メモリ状態モジュール208は、記憶領域のすべてまたは一部に対するエラー処理を無効にできる。よってシステムリセット後、電源投入後、または他のリセットイベント後、無効または不必要なエラー処理量を低減できる。
メモリ制御モジュール105は、エラー処理後に更に、書込要求処理を行なう。通信モジュール202は、第1インタフェース103を介してプロセッサ102から書込要求を受信する。通信モジュール202は、書込制御モジュール206に、書込要求に関連するアドレスデータまたはペイロードデータを提供する。書込制御モジュール206は、書込要求が全体書込要求であるかまたは部分書込要求か判定する。書込要求の判定は、様々な方法で行なわれることができる。たとえば書込制御モジュール206は、メモリ108のエラー訂正符号データ単位のサイズに対して、ペイロードデータのサイズを比較することに基づき、全体書込要求か部分書込要求か判定できる。別の実施形態では、全体書込要求か部分書込要求かの判定は、メモリアクセス要求に関連するアドレスに基づくことができる。代替の実施形態は、任意の他の適切な方法で判定可能である。
書込要求が全体書込要求である場合、書込制御モジュール206は、全体書込要求が処理されることがあることを通信モジュール202に示す。ペイロードデータは、算出された場合にはエラー訂正符号データと共にメモリ108に書込可能である。
書込要求が部分書込要求である場合、書込制御モジュール206は、エラー処理が要求に関連する記憶領域に対して有効であるか否か判定するためにメモリ状態モジュール208を調べる。エラー処理が有効な場合、書込制御モジュール206は、部分書込要求を全体書込要求に昇格せずに、部分書込要求を満足させるために読取修正書込動作を行なうことができる。部分的な書込データ値は、「修正」動作の間、読取修正書込動作の読取動作から得られたエラーを、訂正された読取データに吸収する。記憶領域は、読取修正書込動作の書込部分の間、修正された値で続いて更新される。修正されたデータ値から算出された更新されたエラー訂正符号データもまた、格納される。エラー処理が無効な場合、書込制御モジュール206は、部分書込要求を全体書込要求に昇格させる。その後、書込制御モジュール206は、エラー訂正符号データ算出用のエラー処理モジュール204に、結果として生じる全体書込要求を提供する。更に書込制御モジュール206は、メモリ108への通信用の通信モジュール202に、結果として生じる全体書込要求に関連するデータを提供できる。
部分書込要求を全体書込要求に選択的に昇格させることによって、書込制御モジュール206は、有効なまたは既知のデータがすべての種類の書込要求に対する特定の記憶領域に書込まれることを保証できる。その後、メモリ状態モジュール208は、記憶領域に対するエラー訂正を有効にする。
図3は、図2のメモリ状態モジュール208の一実施形態を示す。メモリ状態モジュール208は、メモリ状態検出モジュール302と状態指標記憶部304を備える。メモリ状態検出モジュール302は、第5インタフェース214に接続される。メモリ状態検出モジュール302は、インタフェース306を介して状態指標記憶部304に接続される。状態指標記憶部304は、対応する記憶領域に関連する一または複数の状態指標を含む。状態指標記憶部304は、データファイル、状態レジスタ、一連の状態フラグビット、または他の適切な状態指標であることが可能である。メモリ状態検出モジュール302と状態指標記憶部304は、ハードウェア、ソフトウェア、ファームウェア、または任意のそれらの組合せとしてインストール可能である。例示のために、メモリ状態検出モジュール302と状態指標記憶部304のうちの一方または両方は、それらの対応する機能を行なうためのロジックとしてインストール可能である。
動作中に、メモリ状態検出モジュール302は、第5インタフェース214を介してメモリ状態の問合せを受信する。メモリ状態の問合せは、メモリアドレスまたはメモリアドレスに基づく指標のような問合せに関連する記憶領域の指標を含む。問合せに応答して、メモリ状態検出モジュール302は、エラー処理が記憶領域に対して有効であるか否か判定するために状態指標記憶部304にアクセスする。その後、メモリ状態検出モジュール302は、エラー処理が有効か無効かを示すべく、問合せに対する反応を返す。
更に、メモリ状態検出モジュール302は、第5インタフェース214を介してメモリ状態変更要求を受信できる。メモリ状態の問合せと同様に、メモリ状態変更要求は、記憶領域指標を含むことができる。メモリ状態変更要求に応答して、メモリ状態検出モジュール302は、一または複数の記憶領域のエラー処理状態を変更するために状態指標記憶部304にアクセスできる。たとえば状態指標記憶部304が記憶領域に関連する状態フラグビットを含む場合、メモリ状態検出モジュール302は、記憶領域に対するエラー処理を有効にするか無効にするか必要に応じて、ビットを設定またはクリアできる。
更に、メモリ状態変更要求は、複数の記憶領域に関連することが可能である。従って、メモリ状態変更要求に応答して、メモリ状態検出モジュール302は、メモリ108の領域またはメモリ装置全体に対するエラー処理を有効または無効にできる。
図4は、図2の書込制御モジュール206の一実施形態を示す。書込制御モジュール206は、書込サイズ検出モジュール402と書込昇格モジュール404を備える。書込サイズ検出モジュール402は、インタフェース406を介して書込昇格モジュール404に接続される。書込サイズ検出モジュール402と書込昇格モジュール404は、それぞれ第4インタフェース212に接続される。書込サイズ検出モジュール402と書込昇格モジュール404は、ハードウェア、ソフトウェア、ファームウェア、または任意のそれらの組合せとしてインストール可能である。例示のために、書込サイズ検出モジュール402と書込昇格モジュール404のうちの幾つかまたはすべては、それらの対応する機能を行なうためのロジックとしてインストール可能である。
動作中に、書込サイズ検出モジュール402は、第4インタフェース212を介して書込要求を受信する。書込サイズ検出モジュール402は、受信した書込要求が全体書込要求であるか部分書込要求か判定する。書込要求が部分書込要求である場合、書込サイズ検出モジュール402は、書込要求を全体書込動作に昇格させるように書込昇格モジュール404に指示する。これに応答して、書込昇格モジュール404は、第4インタフェース212を介して、部分書込動作に関連するペイロードデータを受信する。その後、書込昇格モジュール404は、部分書込動作を全体書込動作に昇格し、第4インタフェース212を介して、生成結果のペイロードデータを返す。
図5は、メモリ108に対する書込要求の処理方法の一実施形態のフローチャートを示す。ステップ502では、メモリ制御モジュール105またはプロセッサ102は、リセット指示(リセット指標)を受信する。リセット指示は、電源投入イベント、低電力状態からアクティブ状態への装置の移行、リセットイベント、または他の適切なイベントのような様々なイベント後に受信可能である。
ステップ504に進んで、メモリ制御モジュール105またはプロセッサ102は、複数の状態指標を設定する。これらの状態指標は、複数の記憶領域に関連し、記憶領域に対するエラー処理が無効になるべきであることを示すことができる。リセット指示の後に記憶領域に対するエラー処理を無効にすることによって、不必要または望ましくないエラー処理を低減可能である。
ステップ506に移動して、メモリ制御モジュール105またはプロセッサ102は、特定の記憶領域に対する書込要求を受信する。書込要求は、記憶領域に対するアドレスと、記憶領域に書込まれるデータとを含むことが可能である。
判定ステップ508では、プロセッサ102またはメモリ制御モジュール105は、受信した書込要求が部分書込要求であるかまたは全体書込要求であるか判定する。要求が全体書込要求である場合、本方法はステップ522に移動し、プロセッサ102またはメモリ制御モジュール105は、書込要求に対するエラー訂正シンドロームとパリティデータを算出する。典型的には、エラー訂正シンドロームとパリティデータは、書込要求に関連するデータに基づく。その後、本方法はステップ524に進み、書込要求に関連するデータが、適切な記憶領域に書込まれる。更に、ステップ526では、算出されたエラー訂正シンドロームとパリティデータが、記憶領域に関連するエラー訂正領域に書込まれる。エラー訂正データは、書込要求データと同一の記憶装置、または異なる装置に書込可能である。その後、本方法はステップ528に進み、記憶領域に関連する状態指標がクリアされる。よって、記憶領域への後続の書込動作に対するエラー訂正が有効になる。
判定ステップ508に戻って、書込要求が部分書込要求である場合、本方法は判定ステップ510に進み、プロセッサ102またはメモリ制御モジュール105は、書込要求に関連する記憶領域に対する状態指標が設定されているか否か判定する。状態指標が設定されている場合は、エラー処理が無効にされるべきであることを意味するため、本方法はステップ512に移動する。プロセッサ102またはメモリ制御モジュール105は、記憶領域に対するエラー検出とエラー訂正を無効にする。本方法はステップ514に移動し、プロセッサ102またはメモリ制御モジュール105は、部分書込要求を全体書込要求に昇格させる。部分書込要求を全体書込要求に昇格させることによって、有効なエラー処理データは、関連する記憶領域に対して算出可能であり、将来のメモリアクセス要求に対する有効なエラー処理を許容する。本方法はステップ522に進み、エラー訂正データは、部分書込要求の昇格に起因する全体書込要求に対して算出される。
判定ステップ510に戻って、状態指標が設定されていないと判定した場合は、エラー処理が有効であることを意味する。よって本方法はステップ516に移動し、読取修正書込動作を開始する。書込要求に関連する記憶領域のデータは、ステップ516において読取られる。ステップ518では、読取ったデータにおけるエラーが検出され、必要ならば訂正される。ステップ520では、読取ったデータの適切な部分は、部分書込要求に関連するデータに置換される。本方法はステップ522に移動し、読取修正書込動作に起因するデータに対するエラー訂正シンドロームとパリティデータを算出する。ステップ522から、本方法はステップ524に進み、先に記述した動作を行なう。
図6は、読取要求の処理方法の一実施形態のフローチャートを示す。ステップ602では、プロセッサ102またはメモリ制御モジュール105は、記憶領域に対する読取要求を受信する。読取要求は、記憶領域に関連するアドレスと、読取要求が部分読取要求であるか全体読取要求であるかの指標とを含むことが可能である。その後、記憶領域データが得られる。
判定ステップ604に移動して、プロセッサ102またはメモリ制御モジュール105は、記憶領域に関連する状態指標が設定されているか否か判定する。状態指標は、記憶領域に対するエラー処理が有効であるか否か判定するために使用される。
状態指標が設定されていないと判定した場合、本方法はステップ606に移動し、エラー検出とエラー訂正が行なわれる。エラー検出は、記憶領域に関連するパリティデータに基づくことが可能である。エラー訂正は、記憶領域に関連するエラーシンドロームデータを使用して行なわれることが可能である。またはエラー検出とエラー訂正は、任意の他の代替の方法で行なわれることが可能である。本方法はステップ610に進み、エラー訂正されたデータは、読取要求を発した装置に返される。
判定ステップ604に戻って、状態指標が記憶領域に対して設定されていないと判定した場合、本方法はステップ608に移動し、記憶領域に対するエラー検出とエラー訂正が無効にされる。本方法はステップ610に移動し、読取ったデータは、読取要求を発した装置に返される。
当業者は、図5と図6で議論した状態指標の設定状態が、如何なる特定の格納値にも限定されないことを認識するであろう。たとえばロジック「1」または「0」を含む任意の値が、本開示の範囲を逸脱せずに設定状態を示すために使用可能である。
図7は、図1の処理装置100の他の実施形態を示す。図7に示すメモリ108は、状態指標記憶部702を備える。状態指標記憶部702は、エラー処理がデータ領域110における対応する記憶領域に対して有効または無効であるべきであるかを示すために複数の状態指標を備える。メモリ制御モジュール105は、プロセッサ102から受信したメモリアクセス要求に対するエラー処理を有効にすべきか無効にすべきか判定するために、状態指標記憶部702にアクセスできる。
この場合、メモリ108に対するエラー処理を有効または無効にするために使用される状態指標は、メモリ制御モジュール105にではなく、メモリ108自体に格納できる。
本発明の原理は、特定の装置に関して上述されるが、この記述が例示としてのみなされ、本発明の範囲に対する限定としてなされていないことが明白に理解されるべきである。
エラー訂正手法を利用する処理装置のブロック図。 図1に示すメモリ制御モジュールのブロック図。 図2に示すメモリ状態モジュールのブロック図。 図2に示す書込制御モジュールのブロック図。 メモリ書込アクセス要求の処理方法のフローチャート。 メモリ読取アクセス要求の処理方法のフローチャート。 図1とは別例の処理装置のブロック図。

Claims (4)

  1. 第1記憶領域に関連する第1エラー訂正状態指標の状態を判定することであって、前記第1記憶領域には第1アクセス要求が行われることと;
    前記第1エラー訂正状態指標が第1状態であるとの判定に応答して、前記第1アクセス要求に対するエラー処理を実行しないことと
    を含むエラー処理方法であって、
    前記エラー処理は、エラー検出とエラー訂正のうち少なくともエラー検出を含み、
    前記第1アクセス要求が部分書込要求である場合、
    前記第1エラー訂正状態指標が第1状態であるとの判定に応答して、前記第1アクセス要求に対するエラー処理を実行せずに、前記部分書込要求を全体書込要求に昇格させることと;
    前記第1エラー訂正状態指標が第1状態でないとの判定に応答して、前記第1アクセス要求に対するエラー処理を実行し、前記部分書込要求を前記全体書込要求に昇格させないこととを含むことを特徴とする、エラー処理方法。
  2. 前記エラー処理方法は更に、前記全体書込要求に対するエラー訂正情報を算出することを含む、請求項記載のエラー処理方法。
  3. 前記全体書込要求に基づく全体書込動作は、前記第1記憶領域に関連するエラー訂正データ単位の幅全体に亘って行なわれる、請求項記載のエラー処理方法。
  4. データ領域とエラー訂正領域を含む記憶領域を備えるメモリと;
    前記記憶領域に関連する状態指標と;
    前記メモリに接続されるエラー処理モジュールであって、前記エラー処理モジュールは前記記憶領域に関連するエラー処理を行なうことと;
    アクセス制御モジュールと
    を備えるエラー処理装置であって、
    前記アクセス制御モジュールは、前記状態指標に接続される第1入力と、前記エラー処理モジュールに接続される出力とを有し、
    前記記憶領域に対して部分書込要求が行われた場合、前記アクセス制御モジュールは、
    記状態指標が所定状態であるとの判定に応答して、前記記憶領域に対するエラー処理を前記エラー処理モジュールに実行させないようにし、前記部分書込要求を全体書込要求に昇格させ、
    前記状態指標が前記所定状態でないとの判定に応答して、前記記憶領域に対するエラー処理を前記エラー処理モジュールに実行させ、前記部分書込要求を全体書込要求に昇格させ、
    前記エラー処理は、エラー検出とエラー訂正のうち少なくともエラー検出を含むことを特徴とする、エラー処理装置。
JP2008555429A 2006-02-21 2007-01-18 エラー処理方法およびエラー処理装置 Expired - Fee Related JP5232018B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/359,329 2006-02-21
US11/359,329 US7617437B2 (en) 2006-02-21 2006-02-21 Error correction device and method thereof
PCT/US2007/060659 WO2007103590A2 (en) 2006-02-21 2007-01-18 Error correction device and method thereof

Publications (3)

Publication Number Publication Date
JP2009527820A JP2009527820A (ja) 2009-07-30
JP2009527820A5 JP2009527820A5 (ja) 2010-02-18
JP5232018B2 true JP5232018B2 (ja) 2013-07-10

Family

ID=38475622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008555429A Expired - Fee Related JP5232018B2 (ja) 2006-02-21 2007-01-18 エラー処理方法およびエラー処理装置

Country Status (5)

Country Link
US (1) US7617437B2 (ja)
JP (1) JP5232018B2 (ja)
KR (1) KR101291525B1 (ja)
TW (1) TWI421679B (ja)
WO (1) WO2007103590A2 (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7783955B2 (en) * 2006-01-18 2010-08-24 Sandisk Il Ltd. Method for implementing error-correction codes in flash memory
EP1980946B1 (en) * 2006-01-31 2013-05-29 Fujitsu Limited Error correction code generation method and memory management device
US8725975B2 (en) * 2007-01-03 2014-05-13 Freescale Semiconductor, Inc. Progressive memory initialization with waitpoints
WO2008155850A1 (ja) * 2007-06-20 2008-12-24 Fujitsu Limited キャッシュ制御装置、キャッシュ制御方法およびキャッシュ制御プログラム
US8239732B2 (en) * 2007-10-30 2012-08-07 Spansion Llc Error correction coding in flash memory devices
FR2928769B1 (fr) * 2008-03-14 2012-07-13 Airbus France Dispositif permettant l'utilisation d'un composant programmable dans un environnement radiatif naturel
US8122308B2 (en) * 2008-06-25 2012-02-21 Intel Corporation Securely clearing an error indicator
US8112649B2 (en) * 2009-03-17 2012-02-07 Empire Technology Development Llc Energy optimization through intentional errors
JP4905510B2 (ja) * 2009-06-29 2012-03-28 富士通株式会社 ストレージ制御装置及びストレージ装置のデータ回復方法
US8738995B2 (en) 2009-09-10 2014-05-27 Hewlett-Packard Development Company, L.P. Memory subsystem having a first portion to store data with error correction code information and a second portion to store data without error correction code information
JP4837121B1 (ja) * 2010-06-23 2011-12-14 株式会社東芝 データ記憶装置及びデータ書き込み方法
US8990660B2 (en) 2010-09-13 2015-03-24 Freescale Semiconductor, Inc. Data processing system having end-to-end error correction and method therefor
US8549379B2 (en) * 2010-11-19 2013-10-01 Xilinx, Inc. Classifying a criticality of a soft error and mitigating the soft error based on the criticality
US8738993B2 (en) * 2010-12-06 2014-05-27 Intel Corporation Memory device on the fly CRC mode
US8560892B2 (en) 2010-12-14 2013-10-15 Medtronic, Inc. Memory with selectively writable error correction codes and validity bits
US8566672B2 (en) 2011-03-22 2013-10-22 Freescale Semiconductor, Inc. Selective checkbit modification for error correction
US8607121B2 (en) * 2011-04-29 2013-12-10 Freescale Semiconductor, Inc. Selective error detection and error correction for a memory interface
US8990657B2 (en) 2011-06-14 2015-03-24 Freescale Semiconductor, Inc. Selective masking for error correction
US8522091B1 (en) 2011-11-18 2013-08-27 Xilinx, Inc. Prioritized detection of memory corruption
US9612901B2 (en) * 2012-03-30 2017-04-04 Intel Corporation Memories utilizing hybrid error correcting code techniques
US9411678B1 (en) * 2012-08-01 2016-08-09 Rambus Inc. DRAM retention monitoring method for dynamic error correction
MY180992A (en) 2013-03-13 2020-12-15 Intel Corp Memory latency management
US9823864B2 (en) * 2014-06-02 2017-11-21 Micron Technology, Inc. Systems and methods for throttling packet transmission in a scalable memory system protocol
US9852811B2 (en) 2014-11-13 2017-12-26 Macronix International Co., Ltd. Device and method for detecting controller signal errors in flash memory
US9423972B2 (en) * 2014-11-17 2016-08-23 Freescale Semiconductor, Inc. Error recovery in a data processing system which implements partial writes
CN105607726B (zh) * 2015-12-24 2018-11-23 浪潮(北京)电子信息产业有限公司 一种降低高性能计算集群内存功耗的方法及装置
US11990199B2 (en) * 2021-01-21 2024-05-21 Micron Technology, Inc. Centralized error correction circuit

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6384647U (ja) * 1986-11-21 1988-06-03
JPH04364552A (ja) * 1991-06-12 1992-12-16 Nec Corp パリティ監視回路付きメモリ回路
JPH10289164A (ja) * 1997-04-16 1998-10-27 Mitsubishi Electric Corp メモリ制御方法およびメモリ制御装置
US6119248A (en) * 1998-01-26 2000-09-12 Dell Usa L.P. Operating system notification of correctable error in computer information
TW200517836A (en) * 2003-11-18 2005-06-01 Jtek Technology Corp Buffer control framework and method between different memories
US6980873B2 (en) * 2004-04-23 2005-12-27 Taiwan Semiconductor Manufacturing Company, Ltd. System and method for real-time fault detection, classification, and correction in a semiconductor manufacturing environment
US7334179B2 (en) * 2004-06-04 2008-02-19 Broadcom Corporation Method and system for detecting and correcting errors while accessing memory devices in microprocessor systems
TWI294126B (en) * 2004-06-30 2008-03-01 Hon Hai Prec Ind Co Ltd System and method for testing memory
US20060143551A1 (en) * 2004-12-29 2006-06-29 Intel Corporation Localizing error detection and recovery

Also Published As

Publication number Publication date
JP2009527820A (ja) 2009-07-30
TWI421679B (zh) 2014-01-01
TW200801932A (en) 2008-01-01
WO2007103590A3 (en) 2008-12-04
KR20080098613A (ko) 2008-11-11
US7617437B2 (en) 2009-11-10
US20070220354A1 (en) 2007-09-20
WO2007103590A2 (en) 2007-09-13
KR101291525B1 (ko) 2013-08-08

Similar Documents

Publication Publication Date Title
JP5232018B2 (ja) エラー処理方法およびエラー処理装置
US5912906A (en) Method and apparatus for recovering from correctable ECC errors
US8261140B2 (en) Uninitialized memory detection using error correction codes and built-in self test
US6216247B1 (en) 32-bit mode for a 64-bit ECC capable memory subsystem
US8689041B2 (en) Method for protecting data in damaged memory cells by dynamically switching memory mode
JP5202130B2 (ja) キャッシュメモリ、コンピュータシステム、及びメモリアクセス方法
US20080177938A1 (en) Hybrid hard disk drive, computer system including the same, and flash memory DMA circuit for hybrid HDD
US20070268905A1 (en) Non-volatile memory error correction system and method
US20130191705A1 (en) Semiconductor storage device
EP2870539B1 (en) Using slow response memory device on a fast response interface
US20110191649A1 (en) Solid state drive and method of controlling an error thereof
US11157357B2 (en) Operation methods of memory system and host, and computing system
US9384091B2 (en) Error code management in systems permitting partial writes
CN103137215A (zh) 向存储器提供低延时错误纠正码能力
US8555050B2 (en) Apparatus and method thereof for reliable booting from NAND flash memory
US7689895B2 (en) On-the fly error checking and correction CODEC system and method for supporting non-volatile memory
US20120324321A1 (en) Co-hosted cyclical redundancy check calculation
WO2007088597A1 (ja) エラー訂正コード生成方法及びメモリ管理装置
US20030217325A1 (en) Method and apparatus for providing error correction within a register file of a CPU
US11269715B2 (en) Systems and methods for adaptive proactive failure analysis for memories
US6901551B1 (en) Method and apparatus for protection of data utilizing CRC
US8667325B2 (en) Method, apparatus and system for providing memory sparing information
US20110107143A1 (en) Cache system
CN114333968A (zh) 存储器的控制方法、存储器控制器及电子装置
JPH01194046A (ja) メモリアクセス方式

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091222

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120612

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120912

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121010

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130131

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130207

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: 20130305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130322

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

Free format text: PAYMENT UNTIL: 20160329

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees