(57)【要約】エラー訂正装置はメモリ制御モジュール（１０５）を備える。メモリ制御モジュール（１０５）は、状態指標（３０４）の状態に依存して、記憶領域に対するエラー処理を無効にする。状態指標は、記憶領域に対する有効なエラー訂正と検出情報が利用可能ではない場合、たとえばリセットまたは電源投入イベント後、エラー処理が無効になるように設定できる。メモリ制御モジュールは、有効なエラー検出と訂正データが記憶領域に対して算出されることを保証すべく、エラー処理が無効な場合に部分書込要求を全体書込要求に昇格できる。有効なエラー検出と訂正情報が利用可能になるまでエラー処理を無効にすることによって、不必要または無効なエラー処理動作の数は低減される。よって装置資源を節約できる。
2009527820.tif 000002
【特許請求の範囲】
【請求項１】
エラー訂正方法であって、前記エラー訂正方法は、
第１記憶領域に関連する第１エラー訂正状態指標の状態を判定することであって、前記第1記憶領域には第1アクセス要求が行われることと、および、
前記第１エラー訂正状態指標が第１状態であるとの判定に応答して、前記第１アクセス要求に対するエラー処理を無効にすることと
を含み、
前記エラー処理は、エラー検出とエラー訂正からなるグループから選択される、エラー訂正方法。
【請求項２】
前記エラー訂正方法は更に、前記第１エラー訂正状態指標が第２状態であるとの判定に応答して、前記第１アクセス要求に対する前記エラー処理を有効にすることを含む、請求項１記載のエラー訂正方法。
【請求項３】
前記第１アクセス要求は、部分的な書込動作である部分書込動作であり、
前記エラー訂正方法は更に、前記部分書込動作を、全体的な書込動作である全体書込動作に昇格させることを含む、請求項１記載のエラー訂正方法。
【請求項４】
前記エラー訂正方法は更に、前記全体書込動作に対するエラー訂正情報を算出することを含む、請求項３記載のエラー訂正方法。
【請求項５】
前記全体書込動作は、前記第１記憶領域に関連するエラー訂正データ単位の幅全体に亘って行なわれる、請求項３記載のエラー訂正方法。
【請求項６】
前記エラー訂正方法は更に、前記部分書込動作を前記全体書込動作に昇格後、前記第１エラー訂正状態指標を第２状態に変更することを含む、請求項３記載のエラー訂正方法。
【請求項７】
前記第１アクセス要求は部分書込動作であり、
前記エラー訂正方法は更に、
前記第１エラー訂正状態指標が第２状態であるとの判定に応答して、前記第１記憶領域に対するエラー訂正またはエラー検出を行なうことと、および、
前記第１記憶領域の一部にデータを書込むことによって、前記部分書込動作を行なうことと
を含む、請求項１記載のエラー訂正方法。
【請求項８】
前記エラー訂正方法は更に、
リセット指示を受信することと、および、
前記リセット指示の受信に応答して、前記第１エラー訂正状態指標を前記第１状態にすることと
を含む、請求項１記載のエラー訂正方法。
【請求項９】
前記第１記憶領域は装置に組込まれ、
前記リセット指示は、前記装置が低電力モードからアクティブモードに移行するのに応答して受信される、請求項８記載のエラー訂正方法。
【請求項１０】
前記エラー訂正方法は更に、
第２記憶領域への第２アクセス要求を受信することと、
前記第２記憶領域に関連する第２エラー訂正状態指標の状態を判定することと、および、
前記第２エラー訂正状態指標が前記第１状態であるとの判定に応答して、前記第２アクセス要求に対するエラー処理を無効にすることと
を含む、請求項１記載のエラー訂正方法。
【請求項１１】
エラー訂正装置であって、前記エラー訂正装置は、
データ領域とエラー訂正領域を含む記憶領域を備えるメモリと、
前記記憶領域に関連する状態指標と、
前記メモリに接続されるエラー訂正モジュールであって、前記エラー訂正モジュールは前記記憶領域に関連するエラー訂正を行なうことと、
アクセス制御モジュールと
を備え、
前記アクセス制御モジュールは、前記状態指標に接続される第１入力と、前記エラー訂正モジュールに接続される出力とを有し、
前記アクセス制御モジュールは、前記状態指標が所定状態になるのに応答して、前記記憶領域に対するエラー処理を無効にし、
前記エラー処理は、エラー検出とエラー訂正からなるグループから選択される、エラー訂正装置。
【請求項１２】
前記アクセス制御モジュールは、前記状態指標が前記所定状態になるのに応答して、前記記憶領域に関連する部分書込動作を全体書込動作に昇格させる、請求項１１記載のエラー訂正装置。
【請求項１３】
前記エラー訂正モジュールは、前記全体書込動作に関連するエラー訂正データを算出する、請求項１２記載のエラー訂正装置。
【請求項１４】
前記アクセス制御モジュールは更に、リセット信号を受信する第２入力を備え、
前記アクセス制御モジュールは、前記リセット信号の受信に応答して、前記状態指標を前記所定状態にする、請求項１１記載のエラー訂正装置。
【請求項１５】
前記状態指標は、前記記憶領域に関連する状態フラグビットである、請求項１１記載のエラー訂正装置。
【請求項１６】
エラー訂正方法であって、前記エラー訂正方法は、
記憶領域への部分書込動作を受信することと、
前記記憶領域に関連するエラー訂正状態指標の状態を判定することと、および、
前記エラー訂正状態指標が第１状態であるとの判定に応答して、前記部分書込動作を全体書込動作に昇格させることと
を含む、エラー訂正方法。
【請求項１７】
前記エラー訂正方法は更に、前記部分書込動作の処理中に、エラー検出またはエラー訂正のうちの少なくとも１つを無効にすることを含む、請求項１６記載のエラー訂正方法。
【請求項１８】
前記エラー訂正方法は更に、
リセット指示を受信することと、および、
前記リセット指示の受信に応答して、前記エラー訂正状態指標を前記第１状態にすることと
を含む、請求項１６記載のエラー訂正方法。
【請求項１９】
前記エラー訂正方法は更に、前記全体書込動作に対するエラー訂正情報を算出することを含む、請求項１６記載のエラー訂正方法。
【請求項２０】
前記エラー訂正方法は更に、前記部分書込動作を前記全体書込動作に昇格時に、前記エラー訂正状態指標を第２状態に変更することを含む、請求項１６記載のエラー訂正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はエラー制御手法に関し、特にメモリ用のエラー制御手法に関する。
【背景技術】
【０００２】
ＲＡＭ、フラッシュメモリ、およびハードディスクドライブのような記憶装置は、記憶エラーを含むことがある。これらのエラーは、記憶装置の物理的原因または他の要因に起因する場合がある。メモリエラーは、記憶装置から読取られる誤ったデータをもたらすことがあり、頻繁なエラーまたは繰返されるエラーは、貧弱な装置動作をもたらすことがある。
【０００３】
記憶装置エラーの影響を低減するために、装置はエラー訂正技術を利用できる。たとえば記憶装置は、記憶装置の記憶領域に対するエラー訂正符号（ＥＣＣ）データを格納できる。エラー訂正符号データは、装置がエラーを検出可能にするパリティまたは他のデータを含む。更にエラー訂正符号データは、装置が、検出したエラーを訂正可能にするエラー訂正データを含むことができる。
【０００４】
メモリエラー訂正技術は、メモリの信頼度を向上できるが、装置電力や応答時間のような装置資源も消費する。資源消費は、可搬型装置や他の低電力装置のような幾つかの用途では望ましくない場合がある。
【０００５】
幾つかの装置は、メモリ信頼度を向上させるために、リセットイベント後、メモリが所定のデータシーケンスで満たされる手法を利用する。リセットイベントはリセット、電源投入、または他のイベントである。エラー訂正符号データは、所定シーケンスに基づきメモリに対して算出される。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、この手法は、リセットイベント後の望ましくない遅延や、リセットイベント後の望ましくない電力消費をもたらすことがある。電力消費は、特に可搬型装置や、頻繁にリセットイベントする装置には望ましくないことがある。
【０００７】
従って、望ましくない量の装置資源を消費せずにエラー訂正できる装置が望ましい。
【課題を解決するための手段】
【０００８】
上記課題を解決するエラー訂正方法とエラー訂正装置が開示される。本装置は、状態指標の状態に依存して、記憶領域に対するエラー処理を無効にするメモリ制御モジュールを備える。状態指標は、記憶領域に対する有効なエラー訂正およびエラー検出情報が利用可能ではない場合（リセットまたは電源投入イベント後）、エラー処理が無効になるように設定できる。更に、メモリ制御モジュールは、エラー処理が無効な場合、部分的な書込要求である部分書込動作を、全体的な書込要求である全体書込動作に昇格できる。その結果、有効なエラー検出とエラー訂正データが記憶領域に対して算出されることを保証する。有効なエラー検出とエラー訂正情報が利用可能になるまでエラー処理を無効にすることによって、不必要または無効なエラー処理動作の数が低減される。よって、装置資源が節約される。
【０００９】
エラー訂正のための装置と方法が開示される。その方法の１つは、第１記憶領域に関連する第１エラー訂正状態指標の状態を判定することと、および第１エラー訂正状態指標が第１状態であるとの判定に応答して、第１記憶領域へのアクセス要求に対するエラー訂正、エラー検出、または任意のその組合せのうちの１つを無効にすることとを含む。
【００１０】
特定態様では、本方法は、エラー訂正状態指標が第２状態であるとの判定に応答して、第１記憶領域へのアクセス要求に対するエラー検出またはエラー訂正のうちの少なくとも１つを有効にすることを含む。
【００１１】
別の特定態様では、アクセス要求は部分書込動作であり、本方法は、部分書込動作を全体書込動作に昇格させることを更に含む。更に別の特定態様では、本方法は、第１全体書込動作に対するエラー訂正情報を算出することを含む。別の特定態様では、本方法は、第１部分書込動作を第１全体書込動作に昇格後、第１エラー訂正状態指標を第２状態に変更することを含む。
【００１２】
特定態様では、第１アクセス要求は部分書込動作であり、本方法は、エラー訂正状態指標が第２状態であるとの判定に応答して、第１記憶領域に対するエラー訂正またはエラー検出を行なうことと、第１記憶領域の一部にデータを書込むことによって第１部分書込動作を行なうこととを含む。
【００１３】
別の特定態様では、本方法は、リセット指示（リセット指標、reset indication）を受信することと、リセット指示の受信に応答してエラー訂正状態指標を第１状態にすることとを含む。更に別の特定態様では、第１記憶領域は第１装置に組込まれ、リセット指示は、第１装置が低電力モードからアクティブモードに移行するのに応答して受信される。
【００１４】
特定態様では、本方法は、第２記憶領域に関連する第２アクセス要求を受信することと、第２記憶領域に関連する第２エラー訂正状態指標の状態を判定することと、第２エラー訂正状態指標が第１状態であるとの判定に応答して、第２記憶領域へのアクセス要求に対するエラー訂正、エラー検出、または任意のそれらの組合せを無効にすることとを含む。
【００１５】
別の特定態様では、第１全体書込動作は、第１記憶領域に関連するエラー訂正データ単位の幅全体に亘って行なわれる。
開示された装置は、第１記憶領域を有するメモリを備える。第１記憶領域は、データ領域とエラー訂正領域を備える。本装置は、第１記憶領域に関連する第１状態指標と、メモリに接続されるエラー訂正モジュールとを更に備える。エラー訂正を行なうエラー訂正モジュールは、第１記憶領域に関連する。本装置はアクセス制御モジュールを更に備える。アクセス制御モジュールは、第１状態指標に接続される第１入力と、エラー訂正モジュールに接続される出力とを有する。アクセス制御モジュールは、第１状態指標が第１状態になるのに応答して、第１記憶領域に対するエラー訂正、エラー検出、または任意のそれらの組合せのうちの１つを無効にする。
【００１６】
特定態様では、第１状態指標が第１状態になるのに応答して、アクセス制御モジュールは、第１記憶領域に関連する第１部分書込動作を全体書込動作に昇格させる。
別の特定態様では、アクセス制御モジュールは、リセット信号を受信する第２入力を更に備える。アクセス制御モジュールは、第１状態指標を、リセット信号の受信に応答して第１状態にする。
【００１７】
更に別の特定態様では、エラー訂正モジュールは、全体書込動作に関連するエラー訂正データを算出する。
特定態様では、第１状態指標は、第１記憶領域に関連する状態フラグビットである。
【００１８】
別の開示された方法は、第１記憶領域に関連する第１エラー訂正状態指標の状態を判定することと、エラー訂正状態指標が第１状態であるとの判定に応答して、第１記憶領域に関連する第１部分書込動作を第１全体書込動作に昇格させることとを含む。
【００１９】
特定態様では、本方法は、第１部分書込動作の処理中に、エラー検出またはエラー訂正のうちの少なくとも１つを無効にすることを含む。
別の特定態様では、本方法は、リセット指示を受信することと、リセット指示の受信に応答して、エラー訂正状態指標を第１状態にすることとを含む。
【００２０】
更に別の特定態様では、本方法は、第１全体書込動作に対するエラー訂正情報を算出することを含む。
特定態様では、本方法は、第１部分書込動作を第１全体書込動作に昇格後に、第１エラー訂正状態指標を第２状態に変更することを含む。
【００２１】
本開示の多数の特徴と利点は、添付の図面に参照を付すことによって一層よく理解可能であり、当業者に明白となる。
異なる図面中の同一の参照符号の使用は、同様または同一の要素を示す。
【発明を実施するための最良の形態】
【００２２】
図１は、処理装置１００を示す。処理装置１００はプロセッサ１０２、メモリ制御モジュール１０５、およびメモリ１０８を備える。プロセッサ１０２は、第１インタフェース１０３を介してメモリ制御モジュール１０５に接続される。揮発性のメモリ１０８は、第２インタフェース１０７を介してメモリ制御モジュール１０５に接続される。メモリ１０８は、データ領域１１０とエラー訂正符号領域（エラー訂正コード領域、ＥＣＣ領域）１１２を備える。処理装置１００は、ＡＳＩＣ、システムオンチップ（ＳＯＣ）、集積回路、または他の装置であることができる。更に、処理装置１００は、モバイルまたは可搬型装置、自動車の装置、または他の適切な装置のような様々な用途で使用できる。メモリ１０８は、ＲＡＭメモリ（ＤＲＡＭまたはＳＲＡＭまたは他のＲＡＭメモリを含む）または他の種類の揮発性メモリであることができる。
【００２３】
動作中にプロセッサ１０２は、読取要求と書込要求のようなメモリアクセス要求を、メモリ制御モジュール１０５に送信する。メモリ制御モジュール１０５は、メモリアクセス要求に関連する記憶領域に対してエラー処理が有効で適切なアクションを行なうか否か判定する。エラー処理が有効な場合、メモリ制御モジュール１０５は、読取要求に対するエラー検出とエラー訂正のような適切なエラー処理や、書込要求に対するパリティデータとシンドロームデータの生成を行なう。エラー処理が無効な場合、メモリ制御モジュール１０５はこれらの機能を行なわない。そのような処理が有効な場合に限ってエラー処理を行なうことによって、処理装置１００は、不必要なエラー処理を低減できる。よって電力、時間、または他の装置資源を節約する。
【００２４】
たとえば処理装置１００がリセットされたか、または電源が入れられた後では、メモリ１０８のデータ領域１１０におけるデータは正確ではない。従って、エラー訂正符号領域１１２に格納されたパリティデータやシンドロームデータのように、メモリ１０８に関連する任意のエラー訂正符号データは、典型的にはランダムなデータであり、従って恐らく無効である。従って、メモリ１０８上のエラー訂正または検出動作は、有効なデータがメモリ１０８に書込まれるまでは、恐らく誤った結果を返すであろう。メモリ制御モジュール１０５は、有効なデータがメモリ１０８に書込まれるまで、エラー訂正またはエラー検出のうちの少なくとも１つを無効にすることによって、不必要または無効なエラー処理動作の数を低減できる。
【００２５】
図示の実施形態では、メモリ制御モジュール１０５は、読取要求と書込要求を含む様々な種類のメモリアクセス要求に応じて、エラー処理を行なうことができる。たとえば読取要求の場合、メモリ制御モジュール１０５は、エラー検出を行ない、そして必要ならば、エラー処理が読取要求に関連するメモリ１０８の部分が有効な場合にはエラー訂正を行なう。
【００２６】
書込要求は、全体書込要求または部分書込要求であることが可能である。全体書込要求は、エラー訂正符号データ単位の幅全体にデータを書込む全体的な書込要求である。エラー訂正符号データ単位の幅は、単一のエラー訂正符号シンドローム値に関連するメモリ量である。一方、部分書込要求は、エラー訂正符号データ単位の幅全体よりも少なくデータを書込む部分的な書込要求である。たとえばメモリ制御モジュール１０５とメモリ１０８は、６４ビットのエラー訂正符号データ単位に基づきエラー検出とエラー訂正を行なうように構成可能である。この例では、全体書込動作は６４ビットの書込動作である。一方、部分書込動作は３２ビット（ワード）、１６ビット（ハーフワード）、または８ビット（バイト）の書込動作である。
【００２７】
全体書込要求の場合、メモリ制御モジュール１０５は、書込動作に関連するデータに対して、パリティデータのようなエラー検出情報と、シンドロームデータのようなエラー訂正情報とを算出する。書込制御モジュール２０６は、エラー検出情報とエラー訂正情報を、書込要求に関連するデータと同様にメモリ１０８に書込む。
【００２８】
部分書込要求の場合、書込制御モジュール２０６またはプロセッサ１０２は、エラー処理が有効な場合に部分書込動作用のエラー訂正符号データを算出するために、部分書込要求を「読取修正書込動作」に変形できる。読取修正書込動作は、エラー処理が有効な場合、部分書込要求に関連するメモリアドレスにおけるデータ単位全体を読取り、メモリ制御モジュール１０５はエラー検出とエラー訂正をデータ単位全体に亘って行なう。たとえば６４ビットのエラー訂正符号データ単位用に構成されたメモリ１０８の場合、６４ビットの記憶領域のすべてが、エラー訂正符号データを算出するために使用される。その後、データ単位全体の適切な部分が、部分書込動作に関連するデータに置換され、データ単位全体（置換されたデータを有する）がメモリ１０８に書込まれる。更新されたエラー検出とエラー訂正値は、新しい部分的な書込データ値を含む更新されたデータ単位全体に基づき算出される。
【００２９】
代わりに、エラー処理が無効な場合、メモリ制御モジュール１０５は、部分書込要求を全体書込要求に昇格できる。書込要求の昇格は、ここで使用されるように、部分書込要求を全体書込要求に変形するものとして定義される。一実施形態では、８ビット、１６ビット、または３２ビットの部分的なデータ書込要求は、６４ビットの全体的なデータ書込要求に昇格される。これは、様々な方法で行なわれることができる。たとえばメモリ制御モジュール１０５は、所定のデータシーケンスを、部分書込要求に関連するデータに添付または挿入でき、その結果、変形されたデータは、エラー訂正符号データ単位全体と同じ大きさである。その後、変形されたデータは、メモリ１０８に書込まれることができる。更新されたエラー検出とエラー訂正値は、変形された書込データ値を含む更新されたデータ単位全体に基づき算出される。
【００３０】
部分書込要求を全体書込要求に昇格させることによって、データに対する有効なエラー訂正および検出値は、将来のエラー処理動作用にメモリ１０８に格納される。従って、部分書込要求を全体書込要求に昇格し、全体書込要求に対するエラー訂正および検出情報を算出および格納後、書込要求に関連する記憶領域に対するエラー訂正が有効になることができる。そしてエラー処理は、記憶領域に関連する後続のメモリアクセス要求に対して行なわれることができる。
【００３１】
更に、エラー処理動作を選択的に有効にすることと共に、部分書込要求を全体書込要求に昇格させることによって、メモリ制御モジュール１０５は、システム資源を節約できる。たとえば説明したように、装置リセットまたは電源投入イベント後ではメモリ１０８内のデータは正確ではなく、メモリ１０８上のエラー処理は、読取アクセスと書込アクセスに対して恐らくエラーをもたらすであろう。特に部分書込動作の場合に該当する。部分書込動作は、読取機能と書込機能の両方を含むからである。更に、全体書込または昇格された部分書込動作のいずれかが記憶領域上で行なわれる場合、各記憶領域は既知のデータで満たされる。よってメモリ１０８は、リセットまたは電源投入イベントの直後では、既知のデータシーケンスで予め満たされたり、または初期化されたりする必要は無く、よって時間と電力を節約できる。
【００３２】
図２は、図１のメモリ制御モジュール１０５の一実施形態を示す。図示のように、メモリ制御モジュール１０５は通信モジュール２０２、エラー処理モジュール２０４、書込制御モジュール２０６、およびメモリ状態モジュール２０８を備える。通信モジュール２０２は、第１インタフェース１０３と第２インタフェース１０７に接続される。通信モジュール２０２は、第３インタフェース２１０を介してエラー処理モジュール２０４に接続され、第４インタフェース２１２を介して書込制御モジュール２０６に接続され、そして第５インタフェース２１４を介してメモリ状態モジュール２０８に接続される。通信モジュール２０２、エラー処理モジュール２０４、書込制御モジュール２０６、およびメモリ状態モジュール２０８はハードウェア、ソフトウェア、ファームウェア、または任意のそれらの組合せとしてインストール可能である。例示のために、通信モジュール２０２，エラー処理モジュール２０４，および書込制御モジュール２０６のうちの幾つかまたはすべては、それらの対応する機能を行なうロジックとしてインストール可能である。
【００３３】
動作中に、メモリ制御モジュール１０５は、エラー処理とメモリアクセス要求処理を行なう。エラー処理を行なうために通信モジュール２０２は、プロセッサ１０２から第１インタフェース１０３を介してメモリアクセス要求を受信する。メモリアクセス要求は、典型的には関連する記憶領域のメモリアドレスを含む。メモリアクセス要求は書込要求の場合、メモリ１０８に書込まれるペイロードデータを含む。通信モジュール２０２は、メモリ状態モジュール２０８にメモリアドレスを提供する。メモリ状態モジュール２０８は、メモリアドレスに関連する特定の記憶領域に対してエラー処理が有効であるか否か判定する。
【００３４】
メモリアクセス要求に関連する特定の記憶領域に対してエラー処理が無効な場合、メモリ状態モジュール２０８は、エラー処理がメモリアクセス要求に対して行なわれるべきではないことを、通信モジュール２０２を介してエラー処理モジュール２０４に通信する。その後、通信モジュール２０２はメモリアクセス要求を、第２インタフェース１０７を介してメモリ１０８（図１）に通信する。
【００３５】
エラー処理が、メモリアクセス要求に関連する特定の記憶領域に対して有効な場合、メモリ状態モジュール２０８は、エラー処理が進められるべきであることをエラー処理モジュール２０４に通信する。よって、エラー処理モジュール２０４は、データ領域１１０からのデータと、エラー訂正符号領域１１２からのエラー訂正符号情報とを利用して、適切なエラー処理を行なう。たとえば読取要求の場合、エラー処理モジュール２０４は、メモリ１０８から読取られたデータにおけるエラーを検出し、必要な場合にエラー訂正し、エラー訂正された読取データを生成する。書込要求の場合、エラー処理モジュール２０４は、書込要求に関連するペイロードデータに基づき、パリティデータとシンドロームデータのようなエラー訂正符号データを算出する。
【００３６】
エラー処理が完了後、通信モジュール２０２は、メモリアクセス要求を完了すべく、プロセッサ１０２（図１）とメモリ１０８に通信する。たとえば読取要求の場合、通信モジュール２０２は、プロセッサ１０２にエラー訂正された読取データを通信する。書込要求の場合、通信モジュール２０２は、エラー処理モジュール２０４によって算出されたペイロードデータとエラー訂正符号データを、メモリ１０８に通信する。
【００３７】
エラー処理を選択的に有効にすることによって、メモリ制御モジュール１０５は、不必要または望ましくないエラー処理量を低減できる。たとえばエラー処理は、メモリアクセス要求に対する応答時間を改善するためにプロセッサ１０２によって無効にされる場合がある。よって、高速メモリ応答を必要とする重大な装置動作にとって望ましい。別の実施形態では、エラー処理は、電力消費を低減するために無効にされる場合がある。たとえばメモリ制御モジュール１０５を組込んだ装置は、低電力状態を含むことがあり、頻繁なエラー制御動作は、付随する電力消費のためには望ましくないからである。
【００３８】
更に、一実施形態では、メモリ制御モジュール１０５はエラー処理を制御できる。その結果、エラー処理はメモリ１０８の或る部分に対して有効になり、他の部分に対して無効になる。この制御は、様々な場面で役立つことがある。たとえばメモリ制御モジュール１０５は、エラー処理が、重大な装置データを含むメモリ１０８の一部分に対して有効になるが、それほど重大でないデータを格納するメモリ１０８の他の部分に対しては無効になるように構成できる。別の実施形態では、エラー訂正は、頻繁なエラーを被ったか、または好ましくない動作条件下で動作するメモリ１０８の部分に対して有効である一方で、エラー処理は、より少数の動作エラーを被るメモリ１０８の他の部分に対しては無効であることが可能である。別の実施形態では、エラー訂正は、初期化されたメモリ１０８の部分に対して有効であることが可能である。なぜならば、電源投入イベントが生じている一方、エラー処理は、まだ初期化されていないメモリ１０８の他の部分に対しては無効であるからである。
【００３９】
更に、メモリ状態モジュール２０８は、時間経過と共に、記憶領域に対するエラー処理状態を変更可能である。たとえばエラー処理は、書込要求が記憶領域に対して満たされるまで、特定の記憶領域に対して無効であることが可能であり、有効なエラー訂正符号データは、当該記憶領域に対して算出される。このようにメモリ制御モジュール１０５は、適切な状況に依存して、メモリ１０８に対するエラー処理構成を動的に変更できる。
【００４０】
別の一実施形態では、メモリ状態モジュール２０８は、通信モジュール２０２を介して、プロセッサ１０２からリセット指示（リセット指標）を受信できる。リセット指示に応答して、メモリ状態モジュール２０８は、記憶領域のすべてまたは一部に対するエラー処理を無効にできる。よってシステムリセット後、電源投入後、または他のリセットイベント後、無効または不必要なエラー処理量を低減できる。
【００４１】
メモリ制御モジュール１０５は、エラー処理後に更に、書込要求処理を行なう。通信モジュール２０２は、第１インタフェース１０３を介してプロセッサ１０２から書込要求を受信する。通信モジュール２０２は、書込制御モジュール２０６に、書込要求に関連するアドレスデータまたはペイロードデータを提供する。書込制御モジュール２０６は、書込要求が全体書込要求であるかまたは部分書込要求か判定する。書込要求の判定は、様々な方法で行なわれることができる。たとえば書込制御モジュール２０６は、メモリ１０８のエラー訂正符号データ単位のサイズに対して、ペイロードデータのサイズを比較することに基づき、全体書込要求か部分書込要求か判定できる。別の実施形態では、全体書込要求か部分書込要求かの判定は、メモリアクセス要求に関連するアドレスに基づくことができる。代替の実施形態は、任意の他の適切な方法で判定可能である。
【００４２】
書込要求が全体書込要求である場合、書込制御モジュール２０６は、全体書込要求が処理されることがあることを通信モジュール２０２に示す。ペイロードデータは、算出された場合にはエラー訂正符号データと共にメモリ１０８に書込可能である。
【００４３】
書込要求が部分書込要求である場合、書込制御モジュール２０６は、エラー処理が要求に関連する記憶領域に対して有効であるか否か判定するためにメモリ状態モジュール２０８を調べる。エラー処理が有効な場合、書込制御モジュール２０６は、部分書込要求を全体書込要求に昇格せずに、部分書込要求を満足させるために読取修正書込動作を行なうことができる。部分的な書込データ値は、「修正」動作の間、読取修正書込動作の読取動作から得られたエラーを、訂正された読取データに吸収する。記憶領域は、読取修正書込動作の書込部分の間、修正された値で続いて更新される。修正されたデータ値から算出された更新されたエラー訂正符号データもまた、格納される。エラー処理が無効な場合、書込制御モジュール２０６は、部分書込要求を全体書込要求に昇格させる。その後、書込制御モジュール２０６は、エラー訂正符号データ算出用のエラー処理モジュール２０４に、結果として生じる全体書込要求を提供する。更に書込制御モジュール２０６は、メモリ１０８への通信用の通信モジュール２０２に、結果として生じる全体書込要求に関連するデータを提供できる。
【００４４】
部分書込要求を全体書込要求に選択的に昇格させることによって、書込制御モジュール２０６は、有効なまたは既知のデータがすべての種類の書込要求に対する特定の記憶領域に書込まれることを保証できる。その後、メモリ状態モジュール２０８は、記憶領域に対するエラー訂正を有効にする。
【００４５】
図３は、図２のメモリ状態モジュール２０８の一実施形態を示す。メモリ状態モジュール２０８は、メモリ状態検出モジュール３０２と状態指標記憶部３０４を備える。メモリ状態検出モジュール３０２は、第５インタフェース２１４に接続される。メモリ状態検出モジュール３０２は、インタフェース３０６を介して状態指標記憶部３０４に接続される。状態指標記憶部３０４は、対応する記憶領域に関連する一または複数の状態指標を含む。状態指標記憶部３０４は、データファイル、状態レジスタ、一連の状態フラグビット、または他の適切な状態指標であることが可能である。メモリ状態検出モジュール３０２と状態指標記憶部３０４は、ハードウェア、ソフトウェア、ファームウェア、または任意のそれらの組合せとしてインストール可能である。例示のために、メモリ状態検出モジュール３０２と状態指標記憶部３０４のうちの一方または両方は、それらの対応する機能を行なうためのロジックとしてインストール可能である。
【００４６】
動作中に、メモリ状態検出モジュール３０２は、第５インタフェース２１４を介してメモリ状態の問合せを受信する。メモリ状態の問合せは、メモリアドレスまたはメモリアドレスに基づく指標のような問合せに関連する記憶領域の指標を含む。問合せに応答して、メモリ状態検出モジュール３０２は、エラー処理が記憶領域に対して有効であるか否か判定するために状態指標記憶部３０４にアクセスする。その後、メモリ状態検出モジュール３０２は、エラー処理が有効か無効かを示すべく、問合せに対する反応を返す。
【００４７】
更に、メモリ状態検出モジュール３０２は、第５インタフェース２１４を介してメモリ状態変更要求を受信できる。メモリ状態の問合せと同様に、メモリ状態変更要求は、記憶領域指標を含むことができる。メモリ状態変更要求に応答して、メモリ状態検出モジュール３０２は、一または複数の記憶領域のエラー処理状態を変更するために状態指標記憶部３０４にアクセスできる。たとえば状態指標記憶部３０４が記憶領域に関連する状態フラグビットを含む場合、メモリ状態検出モジュール３０２は、記憶領域に対するエラー処理を有効にするか無効にするか必要に応じて、ビットを設定またはクリアできる。
【００４８】
更に、メモリ状態変更要求は、複数の記憶領域に関連することが可能である。従って、メモリ状態変更要求に応答して、メモリ状態検出モジュール３０２は、メモリ１０８の領域またはメモリ装置全体に対するエラー処理を有効または無効にできる。
【００４９】
図４は、図２の書込制御モジュール２０６の一実施形態を示す。書込制御モジュール２０６は、書込サイズ検出モジュール４０２と書込昇格モジュール４０４を備える。書込サイズ検出モジュール４０２は、インタフェース４０６を介して書込昇格モジュール４０４に接続される。書込サイズ検出モジュール４０２と書込昇格モジュール４０４は、それぞれ第４インタフェース２１２に接続される。書込サイズ検出モジュール４０２と書込昇格モジュール４０４は、ハードウェア、ソフトウェア、ファームウェア、または任意のそれらの組合せとしてインストール可能である。例示のために、書込サイズ検出モジュール４０２と書込昇格モジュール４０４のうちの幾つかまたはすべては、それらの対応する機能を行なうためのロジックとしてインストール可能である。
【００５０】
動作中に、書込サイズ検出モジュール４０２は、第４インタフェース２１２を介して書込要求を受信する。書込サイズ検出モジュール４０２は、受信した書込要求が全体書込要求であるか部分書込要求か判定する。書込要求が部分書込要求である場合、書込サイズ検出モジュール４０２は、書込要求を全体書込動作に昇格させるように書込昇格モジュール４０４に指示する。これに応答して、書込昇格モジュール４０４は、第４インタフェース２１２を介して、部分書込動作に関連するペイロードデータを受信する。その後、書込昇格モジュール４０４は、部分書込動作を全体書込動作に昇格し、第４インタフェース２１２を介して、生成結果のペイロードデータを返す。
【００５１】
図５は、メモリ１０８に対する書込要求の処理方法の一実施形態のフローチャートを示す。ステップ５０２では、メモリ制御モジュール１０５またはプロセッサ１０２は、リセット指示（リセット指標）を受信する。リセット指示は、電源投入イベント、低電力状態からアクティブ状態への装置の移行、リセットイベント、または他の適切なイベントのような様々なイベント後に受信可能である。
【００５２】
ステップ５０４に進んで、メモリ制御モジュール１０５またはプロセッサ１０２は、複数の状態指標を設定する。これらの状態指標は、複数の記憶領域に関連し、記憶領域に対するエラー処理が無効になるべきであることを示すことができる。リセット指示の後に記憶領域に対するエラー処理を無効にすることによって、不必要または望ましくないエラー処理を低減可能である。
【００５３】
ステップ５０６に移動して、メモリ制御モジュール１０５またはプロセッサ１０２は、特定の記憶領域に対する書込要求を受信する。書込要求は、記憶領域に対するアドレスと、記憶領域に書込まれるデータとを含むことが可能である。
【００５４】
判定ステップ５０８では、プロセッサ１０２またはメモリ制御モジュール１０５は、受信した書込要求が部分書込要求であるかまたは全体書込要求であるか判定する。要求が全体書込要求である場合、本方法はステップ５２２に移動し、プロセッサ１０２またはメモリ制御モジュール１０５は、書込要求に対するエラー訂正シンドロームとパリティデータを算出する。典型的には、エラー訂正シンドロームとパリティデータは、書込要求に関連するデータに基づく。その後、本方法はステップ５２４に進み、書込要求に関連するデータが、適切な記憶領域に書込まれる。更に、ステップ５２６では、算出されたエラー訂正シンドロームとパリティデータが、記憶領域に関連するエラー訂正領域に書込まれる。エラー訂正データは、書込要求データと同一の記憶装置、または異なる装置に書込可能である。その後、本方法はステップ５２８に進み、記憶領域に関連する状態指標がクリアされる。よって、記憶領域への後続の書込動作に対するエラー訂正が有効になる。
【００５５】
判定ステップ５０８に戻って、書込要求が部分書込要求である場合、本方法は判定ステップ５１０に進み、プロセッサ１０２またはメモリ制御モジュール１０５は、書込要求に関連する記憶領域に対する状態指標が設定されているか否か判定する。状態指標が設定されている場合は、エラー処理が無効にされるべきであることを意味するため、本方法はステップ５１２に移動する。プロセッサ１０２またはメモリ制御モジュール１０５は、記憶領域に対するエラー検出とエラー訂正を無効にする。本方法はステップ５１４に移動し、プロセッサ１０２またはメモリ制御モジュール１０５は、部分書込要求を全体書込要求に昇格させる。部分書込要求を全体書込要求に昇格させることによって、有効なエラー処理データは、関連する記憶領域に対して算出可能であり、将来のメモリアクセス要求に対する有効なエラー処理を許容する。本方法はステップ５２２に進み、エラー訂正データは、部分書込要求の昇格に起因する全体書込要求に対して算出される。
【００５６】
判定ステップ５１０に戻って、状態指標が設定されていないと判定した場合は、エラー処理が有効であることを意味する。よって本方法はステップ５１６に移動し、読取修正書込動作を開始する。書込要求に関連する記憶領域のデータは、ステップ５１６において読取られる。ステップ５１８では、読取ったデータにおけるエラーが検出され、必要ならば訂正される。ステップ５２０では、読取ったデータの適切な部分は、部分書込要求に関連するデータに置換される。本方法はステップ５２２に移動し、読取修正書込動作に起因するデータに対するエラー訂正シンドロームとパリティデータを算出する。ステップ５２２から、本方法はステップ５２４に進み、先に記述した動作を行なう。
【００５７】
図６は、読取要求の処理方法の一実施形態のフローチャートを示す。ステップ６０２では、プロセッサ１０２またはメモリ制御モジュール１０５は、記憶領域に対する読取要求を受信する。読取要求は、記憶領域に関連するアドレスと、読取要求が部分読取要求であるか全体読取要求であるかの指標とを含むことが可能である。その後、記憶領域データが得られる。
【００５８】
判定ステップ６０４に移動して、プロセッサ１０２またはメモリ制御モジュール１０５は、記憶領域に関連する状態指標が設定されているか否か判定する。状態指標は、記憶領域に対するエラー処理が有効であるか否か判定するために使用される。
【００５９】
状態指標が設定されていないと判定した場合、本方法はステップ６０６に移動し、エラー検出とエラー訂正が行なわれる。エラー検出は、記憶領域に関連するパリティデータに基づくことが可能である。エラー訂正は、記憶領域に関連するエラーシンドロームデータを使用して行なわれることが可能である。またはエラー検出とエラー訂正は、任意の他の代替の方法で行なわれることが可能である。本方法はステップ６１０に進み、エラー訂正されたデータは、読取要求を発した装置に返される。
【００６０】
判定ステップ６０４に戻って、状態指標が記憶領域に対して設定されていないと判定した場合、本方法はステップ６０８に移動し、記憶領域に対するエラー検出とエラー訂正が無効にされる。本方法はステップ６１０に移動し、読取ったデータは、読取要求を発した装置に返される。
【００６１】
当業者は、図５と図６で議論した状態指標の設定状態が、如何なる特定の格納値にも限定されないことを認識するであろう。たとえばロジック「１」または「０」を含む任意の値が、本開示の範囲を逸脱せずに設定状態を示すために使用可能である。
【００６２】
図７は、図１の処理装置１００の他の実施形態を示す。図７に示すメモリ１０８は、状態指標記憶部７０２を備える。状態指標記憶部７０２は、エラー処理がデータ領域１１０における対応する記憶領域に対して有効または無効であるべきであるかを示すために複数の状態指標を備える。メモリ制御モジュール１０５は、プロセッサ１０２から受信したメモリアクセス要求に対するエラー処理を有効にすべきか無効にすべきか判定するために、状態指標記憶部７０２にアクセスできる。
【００６３】
この場合、メモリ１０８に対するエラー処理を有効または無効にするために使用される状態指標は、メモリ制御モジュール１０５にではなく、メモリ１０８自体に格納できる。
本発明の原理は、特定の装置に関して上述されるが、この記述が例示としてのみなされ、本発明の範囲に対する限定としてなされていないことが明白に理解されるべきである。
【図面の簡単な説明】
【００６４】
【図１】エラー訂正手法を利用する処理装置のブロック図。
【図２】図１に示すメモリ制御モジュールのブロック図。
【図３】図２に示すメモリ状態モジュールのブロック図。
【図４】図２に示す書込制御モジュールのブロック図。
【図５】メモリ書込アクセス要求の処理方法のフローチャート。
【図６】メモリ読取アクセス要求の処理方法のフローチャート。
【図７】図１とは別例の処理装置のブロック図。
【図１】
2009527820.tif 000003
【図２】
2009527820.tif 000004
【図３】
2009527820.tif 000005
【図４】
2009527820.tif 000006
【図５】
2009527820.tif 000007
【図６】
2009527820.tif 000008
【図７】
2009527820.tif 000009
【国際調査報告】
2009527820.tif 000010