JP2004514184A - デジタル・データにおけるソフト・エラーを訂正するための方法および装置 - Google Patents
デジタル・データにおけるソフト・エラーを訂正するための方法および装置 Download PDFInfo
- Publication number
- JP2004514184A JP2004514184A JP2001517261A JP2001517261A JP2004514184A JP 2004514184 A JP2004514184 A JP 2004514184A JP 2001517261 A JP2001517261 A JP 2001517261A JP 2001517261 A JP2001517261 A JP 2001517261A JP 2004514184 A JP2004514184 A JP 2004514184A
- Authority
- JP
- Japan
- Prior art keywords
- data
- error
- parity
- memory
- row
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1064—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
デジタル・データ処理システムにおけるキャッシュ・メモリーへのデータ書込みの際に、その時点で所望のキャッシュ・ストレージ行に記憶されている既存のデータが読み出され、パリティ・チェックを受ける。パリティ・エラーがない場合は読み出されたデータは新しいデータによって変更される。パリティ・エラーが検出された場合は、キャッシュ・ミスが信号で伝えられ、データの読み出された行がそのキャッシュ・メモリーにライトバックされる。キャッシュ・メモリーへのライトバック経路上の障害のあるデータの行の上でエラー訂正コード検査およびエラー訂正が実施される。
【選択図】図3
【選択図】図3
Description
【0001】
【発明の技術分野】本発明は、デジタル・データにおけるソフト・エラーを訂正するための方法および装置に関し、より詳細には、コンピュータ・メモリー内のソフト・エラーを訂正するために有用である。
【0002】
【発明の背景】現代の集積回路メモリー・チップ上に記憶されているデータは、ガンマ線、宇宙線、アルファ粒子、および他の環境要因によって生じるいわゆる「ソフト・エラー」を被り易い。ガンマ線のメモリー・チップ通過は、例えば、記憶されているデータ・ビットの2進状態を反転させるに十分な障害を生じる場合がある。これは、チップ構造に永続的な障害を与えるものではなく、また、障害を受けたメモリー・セルは、その後データを記憶する上で完璧に再利用することができることから「ソフト」エラーと呼ばれる。
【0003】ソフト・エラーは、小型で高速のキャッシュ・メモリー・チップの場合には特に厄介である。ソフト・エラーの有無に関わらず「汚い」キャッシュに記憶の更新が行われる場合、特にデータの変更されていないセグメント内にエラーがある場合、データの保全性は即座に失われる。訂正しないまま放置されると、ソフト・エラーは、致命的なダブルビット・エラーに変化する可能性がある。
【0004】ソフト・エラーを訂正するためには、様々なエラー訂正方法が提案されてきた。提案された1つの方法は、ソフト・エラー事象の結果変化したビットを検出し、位置付けるために使用することができるエラー訂正コード・ビットの集合を生成し、記憶されているデータの各行に含めるという方法である。データの各行が後でメモリーから読み出される際、エラー訂正コード・ビットを含むすべてのデータ・ビットは1つのグループとして復号され、デコーダ出力は、仮にあるならば、どのデータ・ビットにエラーがあるかを示す。そのデータは、エラー・ビットの2進状態を反転することによって訂正される。
【0005】残念ながら、このエラー訂正方法は、時間がかかり、システム性能に悪影響を及ぼし、かつ待ち時間を延長するものである。
【0006】
【発明の概要】本発明は、データ保全性の問題に対する解決策を、待ち時間とデータ処理能力に多大な妥協を強いることなく提供するものである。具体的には、エラー訂正試験は、すべてのデータ・サンプル上またはすべてのデータ・セグメント上で実施されるものではない。これは必要なときだけ実施されるものである。エラー訂正がいつ必要かを判定するために、簡単なパリティ・チェックが使用される。
【0007】キャッシュ・メモリーに記憶されているデータの場合、例えば、そのキャッシュ・メモリーへのデータ書き込みの際、所望のキャッシュ・ストレージ行上にその時点で記憶されている既存のデータが読み出され、パリティ・チェックが施される。読み出されたデータは、パリティ・エラーがない場合のみ新しいデータによって変更される。パリティ・エラーが検出された場合、キャッシュ・ミスが信号で伝えられ、データの読み出された行がそのキャッシュ・メモリーにライトバックされる。エラー訂正コードの検査およびエラー訂正が、キャッシュ・メモリーへのライトバック経路上のデータの不良行上で実施される。
【0008】本発明を、別の利点および機能と共によりよく理解するためには、添付の図面と共に以下の説明を参照するものとし、本発明の範囲は添付の特許請求の範囲で指摘するものとする。
【0009】
【好適な実施形態の説明】図1を参照すると、メモリー内のソフト・エラーを訂正するための装置を含むデジタル・データ処理システムが示されている。当該メモリーは、キャッシュ・メモリー10で表わされる。このキャッシュ・メモリー10はデータの複数の行を記憶しており、そのうちの1つの行の構成を図2に示す。図2のデータ・フィールドには、データの複数のバイト、典型的には4または8バイトが含まれる。パリティ・フィールドには、そのデータ・フィールド内の各バイトに対する1つのパリティ・チェック・ビットが含まれる。ECC(エラー訂正コード)フィールドは、行全体に対するエラー訂正コード・ビットを含む。これらのECCビットによって、エラー・ビットのキャッシュ・ストレージ行内における位置を判定することが可能になる。
【0010】図1に示す装置は、例えば、いわゆる「マイクロプロセッサ」の形式をとるデジタル・データ・プロセッサ11によって発行された命令信号および制御信号によって操作および制御される。図1の装置は、さらに、キャッシュ10の中にデータの行を記憶するための書込み回路12を含み、データのそのような各行は図2に示す構成を有する。このデータは、データ・バス13から獲得され、データ・マージ回路14によって書込み回路12に供給される。読み込み回路15は、キャッシュ・メモリー10からデータの行を読み出し、それをデータ・バス13に供するために提供されている。パリティ・チェッカー16は、読み出し回路15の出力に接続されており、各読み出されたバイトのパリティをチェックし、何れかのバイトにパリティ・エラーが検出された場合には、エラー信号を生成する。このパリティ・エラー信号は、試みたキャッシュ・アクセスに失敗したことをプロセッサ11に示す「キャッシュ・ミス」信号としてプロセッサ11に供給される。キャッシュ10における読み出すべきまたは書き込むべき特定記憶行の選択は、プロセッサ11によってキャッシュ10に供給されるアドレス信号によって達成される。
【0011】図1の装置は、パリティ・エラーを有するデータを訂正し、エラーのない訂正されたデータを生成するためのエラー・コレクタ17をも含む。訂正されるべきデータは、データ・バス13によって獲得され、訂正されたデータは、キャッシュ10にライトバックするために書込み回路12に供給される。ECC(エラー訂正コード)ジェネレータ18は、データの行がキャッシュ10に書き込まれる時に、記憶されるべきECCビットを生成するために設けられている。ECCジェネレータ18は、書込み回路12に供給するデータの行を調べ、キャッシュ10に記憶するための適切なECCビットを生成する。
【0012】さらなる、大きなメモリー・ユニットまたはストレージ・ユニット20も、適切な書込み回路21および読み込み回路22によってデータ・バス13に接続されている。ストレージ・ユニット20のアクセスは、プロセッサ11から供給されるアドレス信号によって達成される。
【0013】図3を参照すると、本発明を実施するための代表的な方法を説明する流れ図が示されている。この方法は、キャッシュ10に書込みむ際のソフト・エラーを訂正するために使用される。ブロック30によって示されるように、プロセッサ11は、キャッシュ・オペレーションへの記憶を開始し、データを書き込むことが望まれる特定キャッシュ行のために適切なアドレスをキャッシュ10に送信するものである。ブロック31で表わされる次のステップは、その時点で、プロセッサ11によってアドレスされる所定の記憶行上に常駐する既存のデータを読み込む。ブロック32で示すように、パリティ・チェッカー16は、この既存のデータの各バイトのパリティをチェックし、既存のデータの何れかのバイトに対するパリティ・エラーが検出された場合、パリティ・エラー信号を生成する。
【0014】ブロック33で示すように、パリティ・エラーが検出されない場合、記憶されることが望まれる新しい1つまたは複数のバイトは、既存のデータとマージされ、それによって生じたマージされたデータは、既存のデータを獲得したのと同じ行アドレスのキャッシュ10に書き込まれる。このマージングはデータ・マージ回路14によって達成され、新しいデータ・バイトと既存のデータ・バイトは、データ・バス13によってそこに供給される。その新しいバイトは、新しいバイトによって専有されるバイト位置で既存のバイトに取って代わる。その結果生じるマージされたデータは、書込み回路12によってキャッシュ10に書き込まれる。書込みが成功裏に完了したことに引き続き、新しいデータの行のためのECCビットがキャッシュ10に記憶される。
【0015】一方、ブロック34で示すように、パリティ・エラーがデータの読み出された行に関して検出された場合、キャッシュ・ミスがプロセッサ11に信号で伝えられ、マージされたデータの書込みは発生しない。障害のあるデータの読み出された行は、ブロック35で示すようにストレージ・ユニット20に転送され、プロセッサ11は、キャッシュ10へのこの障害のある行のライトバックを開始するが、このようなライトバックは、障害のあるデータが獲得された同じキャッシュ行に対するものである。ブロック36で示すように、このライトバックおいてECCの検査とエラー訂正が行われる。より具体的には、データの障害のある行はストレージ・ユニット20から読み出され、エラー・コレクタ17に供給される。この実施形態では、エラー・コレクタ17は、シングル・ビットのエラー・コレクタである。したがって、エラー・コレクタ17は、エラー・ビットのビット位置を判定するためにECCビットを含むデータの行全体の、ECCタイプの復号を行う。エラー・コレクタ17は、次いでエラー・ビットの2進状態を反転し、それによって、エラーのないデータの行を生成する。この訂正されたデータの行は、それの以前のアドレスにあるキャッシュ10に書き込まれる。このようにしてソフト・エラーは訂正され、プロセッサ11は、中断されたキャッシュ書込み要求をいつでも再度開始することができるようになる。
【0016】本発明の利点は、ECCエラー訂正オペレーションが必要なときだけ実施されるということである。これは、キャッシュに書き込むたびに実施されるのではなく、ソフト・エラーが発見される比較的まれな機会にのみ実施されるものである。したがって、データの保全性は、システム性能とデータ処理能力の速度への影響を最小限にして維持される。その結果、キャッシュ・ストアは、必要に応じて容易にパイプライン処理することができる。
【0017】本発明が簡易であることは顕著である。より時間の掛かるエラー訂正手続きを実行する必要があるかどうかを判定するために簡単な高速パリティ・チェックが使用される。
【0018】図4に、データのバイトのパリティをチェックするためのパリティ・チェッカー16において使用される排他的論理和回路ツリー40を示す。回路ツリー40には、排他的論理和回路41〜48が含まれており、データ・ビット0〜7はXOR回路41〜44に供給され、パリティ・チェック・ビットPはXOR回路48に供給される。パリティが誤っている場合、出力された行49でエラー信号が生成される。キャッシュ10から読み出されたデータの行にある他のバイトに対しても、ツリー40のような別のXOR回路ツリーが設けられている。
【0019】図5は、図1のエラー・コレクタ17の構成の代表的な形式を示す。図5のエラー・コレクタの実施形態には、異なるデータ・ビットの2進状態を個別に反転するためのマルチプレクサ回路M0、M1、...MN集合が含まれる。データのキャッシュ行の各ビットに1つのマルチプレクサ回路がある。これらのデータ・ビットは、D0、D1、...DNとして識別される。各データ・ビットDが、そのマルチプレクサの第1の入力に供給される。インバータ回路「I」は、そのデータ・ビットの反転した複製を、そのマルチプレクサの第2の入力に供給する。切替信号Sは、2つの入力のどちらがマルチプレクサのその出力行に渡されることを許可されているかを判定する。データ・ビットにエラーがない場合、反転されていないビットがマルチプレクサの出力に渡される。反対に言えば、データ・ビットにエラーがある場合、反転された複製がマルチプレクサの出力に渡される。このようにして、エラー・データ・ビットの2進状態が反転される。
【0020】図5のエラー・コレクタには、さらに、エラー・ビットのビット位置を判定するためにECCビットを含めてデータのキャッシュ行全体のECCタイプの復号を行うためのデコーダ50が含まれる。デコーダ50は、切替信号出力線S0、S1、...SNの集合を有し、そのような出力線はデータのキャッシュ行の各ビットにある。これらの切替信号出力線は、マルチプレクサ入力の選択を制御するためにマルチプレクサM0、M1、...MNのそれぞれに向かう。エラー・Dビットがない場合、すべてのマルチプレクサは、反転されていない入力を選択するためにセットされる。一方、エラー・Dビットがある場合、そのDビットに対するマルチプレクサは、反転された入力を選択するためにそのS信号によってセットされる。
【0021】現時点で本発明の好ましい実施形態と見なされるものを記述したが、当業者には、本発明の範囲を逸脱することなく、様々な変更および修正形態が可能であり、したがって、すべてのそのような変更および修正形態は本発明の趣旨および範囲内に含まれることが明らかになろう。
【図面の簡単な説明】
【図1】本発明の代表的実施形態を示すデータ処理システムのブロック図である。
【図2】図1のキャッシュ・メモリー内のデータの行の内容を示す図である。
【図3】本発明の代表的実施形態を実施するための図1に使用されているステップを示す流れ図である。
【図4】図1のパリティ・チェッカーの一実施形態で使用される排他的論理和ツリーの概略回路図である。
【図5】図1のエラー・コレクタ用の代表的な形式を示す概略的回路図である。
【発明の技術分野】本発明は、デジタル・データにおけるソフト・エラーを訂正するための方法および装置に関し、より詳細には、コンピュータ・メモリー内のソフト・エラーを訂正するために有用である。
【0002】
【発明の背景】現代の集積回路メモリー・チップ上に記憶されているデータは、ガンマ線、宇宙線、アルファ粒子、および他の環境要因によって生じるいわゆる「ソフト・エラー」を被り易い。ガンマ線のメモリー・チップ通過は、例えば、記憶されているデータ・ビットの2進状態を反転させるに十分な障害を生じる場合がある。これは、チップ構造に永続的な障害を与えるものではなく、また、障害を受けたメモリー・セルは、その後データを記憶する上で完璧に再利用することができることから「ソフト」エラーと呼ばれる。
【0003】ソフト・エラーは、小型で高速のキャッシュ・メモリー・チップの場合には特に厄介である。ソフト・エラーの有無に関わらず「汚い」キャッシュに記憶の更新が行われる場合、特にデータの変更されていないセグメント内にエラーがある場合、データの保全性は即座に失われる。訂正しないまま放置されると、ソフト・エラーは、致命的なダブルビット・エラーに変化する可能性がある。
【0004】ソフト・エラーを訂正するためには、様々なエラー訂正方法が提案されてきた。提案された1つの方法は、ソフト・エラー事象の結果変化したビットを検出し、位置付けるために使用することができるエラー訂正コード・ビットの集合を生成し、記憶されているデータの各行に含めるという方法である。データの各行が後でメモリーから読み出される際、エラー訂正コード・ビットを含むすべてのデータ・ビットは1つのグループとして復号され、デコーダ出力は、仮にあるならば、どのデータ・ビットにエラーがあるかを示す。そのデータは、エラー・ビットの2進状態を反転することによって訂正される。
【0005】残念ながら、このエラー訂正方法は、時間がかかり、システム性能に悪影響を及ぼし、かつ待ち時間を延長するものである。
【0006】
【発明の概要】本発明は、データ保全性の問題に対する解決策を、待ち時間とデータ処理能力に多大な妥協を強いることなく提供するものである。具体的には、エラー訂正試験は、すべてのデータ・サンプル上またはすべてのデータ・セグメント上で実施されるものではない。これは必要なときだけ実施されるものである。エラー訂正がいつ必要かを判定するために、簡単なパリティ・チェックが使用される。
【0007】キャッシュ・メモリーに記憶されているデータの場合、例えば、そのキャッシュ・メモリーへのデータ書き込みの際、所望のキャッシュ・ストレージ行上にその時点で記憶されている既存のデータが読み出され、パリティ・チェックが施される。読み出されたデータは、パリティ・エラーがない場合のみ新しいデータによって変更される。パリティ・エラーが検出された場合、キャッシュ・ミスが信号で伝えられ、データの読み出された行がそのキャッシュ・メモリーにライトバックされる。エラー訂正コードの検査およびエラー訂正が、キャッシュ・メモリーへのライトバック経路上のデータの不良行上で実施される。
【0008】本発明を、別の利点および機能と共によりよく理解するためには、添付の図面と共に以下の説明を参照するものとし、本発明の範囲は添付の特許請求の範囲で指摘するものとする。
【0009】
【好適な実施形態の説明】図1を参照すると、メモリー内のソフト・エラーを訂正するための装置を含むデジタル・データ処理システムが示されている。当該メモリーは、キャッシュ・メモリー10で表わされる。このキャッシュ・メモリー10はデータの複数の行を記憶しており、そのうちの1つの行の構成を図2に示す。図2のデータ・フィールドには、データの複数のバイト、典型的には4または8バイトが含まれる。パリティ・フィールドには、そのデータ・フィールド内の各バイトに対する1つのパリティ・チェック・ビットが含まれる。ECC(エラー訂正コード)フィールドは、行全体に対するエラー訂正コード・ビットを含む。これらのECCビットによって、エラー・ビットのキャッシュ・ストレージ行内における位置を判定することが可能になる。
【0010】図1に示す装置は、例えば、いわゆる「マイクロプロセッサ」の形式をとるデジタル・データ・プロセッサ11によって発行された命令信号および制御信号によって操作および制御される。図1の装置は、さらに、キャッシュ10の中にデータの行を記憶するための書込み回路12を含み、データのそのような各行は図2に示す構成を有する。このデータは、データ・バス13から獲得され、データ・マージ回路14によって書込み回路12に供給される。読み込み回路15は、キャッシュ・メモリー10からデータの行を読み出し、それをデータ・バス13に供するために提供されている。パリティ・チェッカー16は、読み出し回路15の出力に接続されており、各読み出されたバイトのパリティをチェックし、何れかのバイトにパリティ・エラーが検出された場合には、エラー信号を生成する。このパリティ・エラー信号は、試みたキャッシュ・アクセスに失敗したことをプロセッサ11に示す「キャッシュ・ミス」信号としてプロセッサ11に供給される。キャッシュ10における読み出すべきまたは書き込むべき特定記憶行の選択は、プロセッサ11によってキャッシュ10に供給されるアドレス信号によって達成される。
【0011】図1の装置は、パリティ・エラーを有するデータを訂正し、エラーのない訂正されたデータを生成するためのエラー・コレクタ17をも含む。訂正されるべきデータは、データ・バス13によって獲得され、訂正されたデータは、キャッシュ10にライトバックするために書込み回路12に供給される。ECC(エラー訂正コード)ジェネレータ18は、データの行がキャッシュ10に書き込まれる時に、記憶されるべきECCビットを生成するために設けられている。ECCジェネレータ18は、書込み回路12に供給するデータの行を調べ、キャッシュ10に記憶するための適切なECCビットを生成する。
【0012】さらなる、大きなメモリー・ユニットまたはストレージ・ユニット20も、適切な書込み回路21および読み込み回路22によってデータ・バス13に接続されている。ストレージ・ユニット20のアクセスは、プロセッサ11から供給されるアドレス信号によって達成される。
【0013】図3を参照すると、本発明を実施するための代表的な方法を説明する流れ図が示されている。この方法は、キャッシュ10に書込みむ際のソフト・エラーを訂正するために使用される。ブロック30によって示されるように、プロセッサ11は、キャッシュ・オペレーションへの記憶を開始し、データを書き込むことが望まれる特定キャッシュ行のために適切なアドレスをキャッシュ10に送信するものである。ブロック31で表わされる次のステップは、その時点で、プロセッサ11によってアドレスされる所定の記憶行上に常駐する既存のデータを読み込む。ブロック32で示すように、パリティ・チェッカー16は、この既存のデータの各バイトのパリティをチェックし、既存のデータの何れかのバイトに対するパリティ・エラーが検出された場合、パリティ・エラー信号を生成する。
【0014】ブロック33で示すように、パリティ・エラーが検出されない場合、記憶されることが望まれる新しい1つまたは複数のバイトは、既存のデータとマージされ、それによって生じたマージされたデータは、既存のデータを獲得したのと同じ行アドレスのキャッシュ10に書き込まれる。このマージングはデータ・マージ回路14によって達成され、新しいデータ・バイトと既存のデータ・バイトは、データ・バス13によってそこに供給される。その新しいバイトは、新しいバイトによって専有されるバイト位置で既存のバイトに取って代わる。その結果生じるマージされたデータは、書込み回路12によってキャッシュ10に書き込まれる。書込みが成功裏に完了したことに引き続き、新しいデータの行のためのECCビットがキャッシュ10に記憶される。
【0015】一方、ブロック34で示すように、パリティ・エラーがデータの読み出された行に関して検出された場合、キャッシュ・ミスがプロセッサ11に信号で伝えられ、マージされたデータの書込みは発生しない。障害のあるデータの読み出された行は、ブロック35で示すようにストレージ・ユニット20に転送され、プロセッサ11は、キャッシュ10へのこの障害のある行のライトバックを開始するが、このようなライトバックは、障害のあるデータが獲得された同じキャッシュ行に対するものである。ブロック36で示すように、このライトバックおいてECCの検査とエラー訂正が行われる。より具体的には、データの障害のある行はストレージ・ユニット20から読み出され、エラー・コレクタ17に供給される。この実施形態では、エラー・コレクタ17は、シングル・ビットのエラー・コレクタである。したがって、エラー・コレクタ17は、エラー・ビットのビット位置を判定するためにECCビットを含むデータの行全体の、ECCタイプの復号を行う。エラー・コレクタ17は、次いでエラー・ビットの2進状態を反転し、それによって、エラーのないデータの行を生成する。この訂正されたデータの行は、それの以前のアドレスにあるキャッシュ10に書き込まれる。このようにしてソフト・エラーは訂正され、プロセッサ11は、中断されたキャッシュ書込み要求をいつでも再度開始することができるようになる。
【0016】本発明の利点は、ECCエラー訂正オペレーションが必要なときだけ実施されるということである。これは、キャッシュに書き込むたびに実施されるのではなく、ソフト・エラーが発見される比較的まれな機会にのみ実施されるものである。したがって、データの保全性は、システム性能とデータ処理能力の速度への影響を最小限にして維持される。その結果、キャッシュ・ストアは、必要に応じて容易にパイプライン処理することができる。
【0017】本発明が簡易であることは顕著である。より時間の掛かるエラー訂正手続きを実行する必要があるかどうかを判定するために簡単な高速パリティ・チェックが使用される。
【0018】図4に、データのバイトのパリティをチェックするためのパリティ・チェッカー16において使用される排他的論理和回路ツリー40を示す。回路ツリー40には、排他的論理和回路41〜48が含まれており、データ・ビット0〜7はXOR回路41〜44に供給され、パリティ・チェック・ビットPはXOR回路48に供給される。パリティが誤っている場合、出力された行49でエラー信号が生成される。キャッシュ10から読み出されたデータの行にある他のバイトに対しても、ツリー40のような別のXOR回路ツリーが設けられている。
【0019】図5は、図1のエラー・コレクタ17の構成の代表的な形式を示す。図5のエラー・コレクタの実施形態には、異なるデータ・ビットの2進状態を個別に反転するためのマルチプレクサ回路M0、M1、...MN集合が含まれる。データのキャッシュ行の各ビットに1つのマルチプレクサ回路がある。これらのデータ・ビットは、D0、D1、...DNとして識別される。各データ・ビットDが、そのマルチプレクサの第1の入力に供給される。インバータ回路「I」は、そのデータ・ビットの反転した複製を、そのマルチプレクサの第2の入力に供給する。切替信号Sは、2つの入力のどちらがマルチプレクサのその出力行に渡されることを許可されているかを判定する。データ・ビットにエラーがない場合、反転されていないビットがマルチプレクサの出力に渡される。反対に言えば、データ・ビットにエラーがある場合、反転された複製がマルチプレクサの出力に渡される。このようにして、エラー・データ・ビットの2進状態が反転される。
【0020】図5のエラー・コレクタには、さらに、エラー・ビットのビット位置を判定するためにECCビットを含めてデータのキャッシュ行全体のECCタイプの復号を行うためのデコーダ50が含まれる。デコーダ50は、切替信号出力線S0、S1、...SNの集合を有し、そのような出力線はデータのキャッシュ行の各ビットにある。これらの切替信号出力線は、マルチプレクサ入力の選択を制御するためにマルチプレクサM0、M1、...MNのそれぞれに向かう。エラー・Dビットがない場合、すべてのマルチプレクサは、反転されていない入力を選択するためにセットされる。一方、エラー・Dビットがある場合、そのDビットに対するマルチプレクサは、反転された入力を選択するためにそのS信号によってセットされる。
【0021】現時点で本発明の好ましい実施形態と見なされるものを記述したが、当業者には、本発明の範囲を逸脱することなく、様々な変更および修正形態が可能であり、したがって、すべてのそのような変更および修正形態は本発明の趣旨および範囲内に含まれることが明らかになろう。
【図面の簡単な説明】
【図1】本発明の代表的実施形態を示すデータ処理システムのブロック図である。
【図2】図1のキャッシュ・メモリー内のデータの行の内容を示す図である。
【図3】本発明の代表的実施形態を実施するための図1に使用されているステップを示す流れ図である。
【図4】図1のパリティ・チェッカーの一実施形態で使用される排他的論理和ツリーの概略回路図である。
【図5】図1のエラー・コレクタ用の代表的な形式を示す概略的回路図である。
Claims (18)
- データ・サンプル内のエラーを訂正するための方法であって、
データ・サンプルのパリティをチェックし、
パリティ・エラーが検出された場合に、前記データ・サンプルに対しエラー訂正を実行し、
パリティ・エラーが検出されなかった場合に、少なくとも1つの後のデータ処理オペレーションにおいて、訂正をすることなく前記データ・サンプルを使用する、
ことを備えた方法。 - 複数バイトのデータ・サンプル内のエラーを訂正するための方法であって、
複数バイトのデータ・サンプルにおける各バイトのパリティをチェックし、
何れかのバイトにおいてパリティ・エラーが検出された場合に、前記全データ・サンプルに対しエラー訂正を実行し、
パリティ・エラーが検出されなかった場合に、少なくとも1つの後のデータ処理オペレーションにおいて、訂正をすることなく前記データ・サンプルを使用する、
ことを備えた方法。 - メモリー内のソフト・エラーを訂正するための方法であって、
メモリー内の所定の位置からデータを読み出し、
前記データのパリティをチェックし、
パリティ・エラーが検出された場合に、前記データに対しエラー訂正を実行すると共に、該訂正されたデータを前記所定のメモリー位置に書き戻す、
ことを備えた方法。 - 前記データが複数バイトのデータ・セグメントであり、各バイトの前記パリティがチェックされ、何れかのバイトにおいてパリティ・エラーが検出された場合に、前記全データ・セグメントに対して前記エラー訂正が実行されるものである請求項3に記載の方法。
- メモリー内のソフト・エラーを訂正するための方法であって、
メモリー内にデータを記憶し、
前記メモリー内に前記データのパリティ・ビットを記憶し、
前記メモリー内に前記データのエラー訂正コード・ビットを記憶し、
前記データ、並びにそのパリティ・ビット及びエラー訂正コード・ビットを、前記メモリーから読み出し、
前記データの正当性を判断するために前記パリティ・ビットを使用し、
不正なデータを訂正するために前記エラー訂正コード・ビットを使用する、
ことを備えた方法。 - 前記パリティ・ビットが、前記データのパリティをチェックし、更に、パリティ・エラーが検出された場合のエラー信号を生成するために使用され、
パリティ・エラーが検出された場合にのみ、前記データに対するエラー訂正が実行されるものである請求項5に記載の方法。 - メモリーへのデータ書き込みの際に、メモリー内のソフト・エラーを訂正するための方法であって、
メモリー内の所定のストレージ行への書き込みを開始し、
前記所定のストレージ行に現在ある既存データを読み出し、
前記読み出した既存データのパリティをチェックし、
パリティ・エラーが検出されなかった場合に、前記既存データに新たなデータをマージすると共に、該マージしたデータを前記メモリー内の前記所定のストレージ行へ書き込み、
パリティ・エラーが検出された場合に、前記既存データに対しエラー訂正を実行すると共に、該訂正済みデータを前記メモリー内の前記所定のストレージ行へ書き込む、
ことを備えた方法。 - 前記所定のストレージ行への前記書き込みの要求が、前記訂正済みの既存データの書き込みが成功した後に再開される請求項7に記載の方法。
- メモリー内のソフト・エラーを訂正するための装置であって、
データを記憶するためのメモリーと、
前記メモリーからデータを読み出すための回路と、
前記読み出したデータのパリティをチェックし、パリティ・エラーが検出された場合にエラー信号を生成するためのパリティ・チェッカーと、
パリティ・エラーのあるデータを訂正するためのエラー・コレクタと、
前記パリティ・エラー信号に応じて、訂正済みデータを生成するために、前記読み出したデータが前記エラー・コレクタに提供されるようにする回路と、
前記メモリーへ前記訂正済みデータを書き戻すための回路と、
を備えた装置。 - 前記メモリーがキャッシュ・メモリーである請求項9に記載の装置。
- 前記パリティ・チェッカーが、排他的論理和回路ツリーである請求項9に記載の装置。
- 前記エラー・コレクタが、前記読み出されたデータ内のエラー・ビットを特定し、そのビットの2進状態を反転するシングル・ビット・エラー・コレクタである請求項9に記載の装置。
- メモリー内のソフト・エラーを訂正するための装置であって、
データの複数の行を記憶するためのメモリーと、
前記メモリー内にデータの行を書き込むための書き込み回路であって、前記各行が、複数のデータ・バイト、該データ・バイトに対するパリティ・ビット、及び該行全体に対するエラー訂正コード・ビットを備えているものと、
前記メモリーからデータの行を読み出すための読み出し回路と、
前記読み出し回路に接続され、各読み出したバイトのパリティをチェックし、何れかのバイトにおいてパリティ・エラーが検出された場合にエラー信号を生成するパリティ・チェッカーと、
前記読み出したデータの行においてエラー訂正を実行するためのエラー・コレクタと、
パリティ・エラー信号に応じて、これに関連する前記読み出されたデータの行が前記エラー・コレクタに提供されるようにし、訂正されたデータの行を生成し、更に、前記訂正されたデータの行を前記メモリーに書き戻すよう、これを前記書き込み回路へ提供する制御回路と、
を備えた装置。 - 前記メモリーがキャッシュ・メモリーであり、
前記パリティ・チェッカーが、排他的論理和回路ツリーであり、
前記エラー・コレクタが、前記読み出されたデータの行内のエラー・ビットを特定し、そのビットの2進状態を反転するシングル・ビット・エラー・コレクタである、
請求項13に記載の装置。 - 新しいデータを読み出したデータの行にマージし、該マージしたデータを、前記メモリーに記憶するために前記書き込み回路へ提供するデータ・マージ回路を更に含み、前記制御回路が、パリティ・エラー信号が検出されたときに前記データ・マージ・オペレーションをキャンセルするものである請求項13に記載の装置。
- データ・サンプル内のエラーを検出し、訂正する方法であって、
少なくとも1つのデータ・バイト、各データ・バイト毎の少なくとも1つのパリティ・ビット、及び該データ・サンプルに対する少なくとも1つのエラー訂正コード・ビットを含むデータ・サンプルを、コンピュータ・データ・キャッシュから読み出し、
前記データ・サンプルに対して、少なくとも1つのデータ・バイトのパリティをチェックし、
パリティ・エラーが検出された場合に、前記少なくとも1つのエラー訂正コード・ビットを用いて、前記少なくとも1つのデータ・バイトに対してエラー訂正を実行し、訂正された前記少なくとも1つのデータ・バイトを前記キャッシュへ書き戻して、不正な前記少なくとも1つのデータ・バイトを置き換える、
ことを備えた方法。 - 前記データ・サンプル内にパリティ・エラーが検出されなかった場合に、新たなデータを導入し、該修正されたデータ・サンプルを該データ・サンプルが読み出されたキャッシュ上の位置において該キャッシュに書き戻されることにより、前記データ・サンプルが修正されることを許容する、
ことを更に備えた請求項16に記載の方法。 - 前記データ・サンプル内にパリティ・エラーが検出されなかった場合に、前記データ・サンプルが前記キャッシュから読み出され、少なくとも1つのコンピュータ・オペレーションで使用されることを許容する、
ことを更に備えた請求項16に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/376,702 US6408417B1 (en) | 1999-08-17 | 1999-08-17 | Method and apparatus for correcting soft errors in digital data |
PCT/US2000/020326 WO2001013234A1 (en) | 1999-08-17 | 2000-07-26 | Methods and apparatus for correcting soft errors in digital data |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004514184A true JP2004514184A (ja) | 2004-05-13 |
Family
ID=23486108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001517261A Pending JP2004514184A (ja) | 1999-08-17 | 2000-07-26 | デジタル・データにおけるソフト・エラーを訂正するための方法および装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US6408417B1 (ja) |
EP (1) | EP1206739B1 (ja) |
JP (1) | JP2004514184A (ja) |
KR (1) | KR20020029925A (ja) |
DE (1) | DE60027902D1 (ja) |
WO (1) | WO2001013234A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008165449A (ja) * | 2006-12-27 | 2008-07-17 | Fujitsu Ltd | エラー訂正コード生成方法、およびメモリ制御装置 |
WO2008155850A1 (ja) | 2007-06-20 | 2008-12-24 | Fujitsu Limited | キャッシュ制御装置、キャッシュ制御方法およびキャッシュ制御プログラム |
JP2010244093A (ja) * | 2009-04-01 | 2010-10-28 | Seiko Epson Corp | 記憶装置、基板、液体容器、不揮発性のデータ記憶部の制御方法、ホスト回路と着脱可能な記憶装置を含むシステム |
US8782326B2 (en) | 2009-04-01 | 2014-07-15 | Seiko Epson Corporation | Memory device and system including a memory device electronically connectable to a host circuit |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6546501B1 (en) * | 1999-09-08 | 2003-04-08 | Fujitsu Limited | Cache memory apparatus and computer readable recording medium on which a program for controlling a cache memory is recorded |
JP2002007225A (ja) * | 2000-06-22 | 2002-01-11 | Fujitsu Ltd | アドレスパリティエラー処理方法並びに情報処理装置および記憶装置 |
US6700827B2 (en) | 2001-02-08 | 2004-03-02 | Integrated Device Technology, Inc. | Cam circuit with error correction |
US7340659B2 (en) * | 2002-05-15 | 2008-03-04 | Infineon Technologies, A.G. | Method of testing multiple modules on an integrated circuit |
US7272773B2 (en) * | 2003-04-17 | 2007-09-18 | International Business Machines Corporation | Cache directory array recovery mechanism to support special ECC stuck bit matrix |
US7320096B2 (en) * | 2003-05-09 | 2008-01-15 | Hewlett-Packard Development Company, L.P. | System and method for testing memory at full bandwidth |
US7193876B1 (en) | 2003-07-15 | 2007-03-20 | Kee Park | Content addressable memory (CAM) arrays having memory cells therein with different susceptibilities to soft errors |
US6870749B1 (en) | 2003-07-15 | 2005-03-22 | Integrated Device Technology, Inc. | Content addressable memory (CAM) devices with dual-function check bit cells that support column redundancy and check bit cells with reduced susceptibility to soft errors |
US6987684B1 (en) | 2003-07-15 | 2006-01-17 | Integrated Device Technology, Inc. | Content addressable memory (CAM) devices having multi-block error detection logic and entry selective error correction logic therein |
US7304875B1 (en) | 2003-12-17 | 2007-12-04 | Integrated Device Technology. Inc. | Content addressable memory (CAM) devices that support background BIST and BISR operations and methods of operating same |
US7437597B1 (en) * | 2005-05-18 | 2008-10-14 | Azul Systems, Inc. | Write-back cache with different ECC codings for clean and dirty lines with refetching of uncorrectable clean lines |
US8117497B1 (en) * | 2008-11-17 | 2012-02-14 | Xilinx, Inc. | Method and apparatus for error upset detection and correction |
US8645796B2 (en) | 2010-06-24 | 2014-02-04 | International Business Machines Corporation | Dynamic pipeline cache error correction |
US8553441B1 (en) | 2010-08-31 | 2013-10-08 | Netlogic Microsystems, Inc. | Ternary content addressable memory cell having two transistor pull-down stack |
US8462532B1 (en) | 2010-08-31 | 2013-06-11 | Netlogic Microsystems, Inc. | Fast quaternary content addressable memory cell |
US8625320B1 (en) | 2010-08-31 | 2014-01-07 | Netlogic Microsystems, Inc. | Quaternary content addressable memory cell having one transistor pull-down stack |
US8582338B1 (en) | 2010-08-31 | 2013-11-12 | Netlogic Microsystems, Inc. | Ternary content addressable memory cell having single transistor pull-down stack |
US8837188B1 (en) | 2011-06-23 | 2014-09-16 | Netlogic Microsystems, Inc. | Content addressable memory row having virtual ground and charge sharing |
US8773880B2 (en) | 2011-06-23 | 2014-07-08 | Netlogic Microsystems, Inc. | Content addressable memory array having virtual ground nodes |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3744023A (en) * | 1971-05-17 | 1973-07-03 | Storage Technology Corp | Detection and correction of phase encoded data |
US4604750A (en) * | 1983-11-07 | 1986-08-05 | Digital Equipment Corporation | Pipeline error correction |
DE3379192D1 (en) | 1983-12-19 | 1989-03-16 | Itt Ind Gmbh Deutsche | Correction method for symbol errors in video/teletext signals |
US4617664A (en) | 1984-06-29 | 1986-10-14 | International Business Machines Corporation | Error correction for multiple bit output chips |
DE3431770A1 (de) | 1984-08-29 | 1986-03-13 | Siemens AG, 1000 Berlin und 8000 München | Verfahren und anordnung zur sicherung von wichtigen informationen in speichereinheiten mit wahlweisem zugriff, insbesondere solchen aus ram-bausteinen |
US5233616A (en) * | 1990-10-01 | 1993-08-03 | Digital Equipment Corporation | Write-back cache with ECC protection |
DE59008549D1 (de) * | 1990-12-18 | 1995-03-30 | Siemens Nixdorf Inf Syst | Verfahren und Schaltungsanordnung zur Datensicherung in Speichereinheiten. |
US5784548A (en) * | 1996-03-08 | 1998-07-21 | Mylex Corporation | Modular mirrored cache memory battery backup system |
KR100190377B1 (ko) * | 1996-11-07 | 1999-06-01 | 김영환 | 마이크로 프로세서의 버스 인터페이스 유닛 |
US6304992B1 (en) * | 1998-09-24 | 2001-10-16 | Sun Microsystems, Inc. | Technique for correcting single-bit errors in caches with sub-block parity bits |
-
1999
- 1999-08-17 US US09/376,702 patent/US6408417B1/en not_active Expired - Lifetime
-
2000
- 2000-07-26 KR KR1020027002023A patent/KR20020029925A/ko not_active Application Discontinuation
- 2000-07-26 EP EP00950708A patent/EP1206739B1/en not_active Expired - Lifetime
- 2000-07-26 JP JP2001517261A patent/JP2004514184A/ja active Pending
- 2000-07-26 DE DE60027902T patent/DE60027902D1/de not_active Expired - Lifetime
- 2000-07-26 WO PCT/US2000/020326 patent/WO2001013234A1/en active IP Right Grant
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008165449A (ja) * | 2006-12-27 | 2008-07-17 | Fujitsu Ltd | エラー訂正コード生成方法、およびメモリ制御装置 |
US8127205B2 (en) | 2006-12-27 | 2012-02-28 | Fujitsu Limited | Error correction code generation method and memory control device |
WO2008155850A1 (ja) | 2007-06-20 | 2008-12-24 | Fujitsu Limited | キャッシュ制御装置、キャッシュ制御方法およびキャッシュ制御プログラム |
JPWO2008155850A1 (ja) * | 2007-06-20 | 2010-08-26 | 富士通株式会社 | キャッシュ制御装置、キャッシュ制御方法およびキャッシュ制御プログラム |
JP4764945B2 (ja) * | 2007-06-20 | 2011-09-07 | 富士通株式会社 | キャッシュ制御装置、キャッシュ制御方法およびキャッシュ制御プログラム |
US8533565B2 (en) | 2007-06-20 | 2013-09-10 | Fujitsu Limited | Cache controller and cache controlling method |
JP2010244093A (ja) * | 2009-04-01 | 2010-10-28 | Seiko Epson Corp | 記憶装置、基板、液体容器、不揮発性のデータ記憶部の制御方法、ホスト回路と着脱可能な記憶装置を含むシステム |
US8627190B2 (en) | 2009-04-01 | 2014-01-07 | Seiko Epson Corporation | Memory device, circuit board, liquid receptacle, method of controlling a nonvolatile data memory section, and system including a memory device detachably connectable to a host circuit |
US8782326B2 (en) | 2009-04-01 | 2014-07-15 | Seiko Epson Corporation | Memory device and system including a memory device electronically connectable to a host circuit |
Also Published As
Publication number | Publication date |
---|---|
KR20020029925A (ko) | 2002-04-20 |
WO2001013234A1 (en) | 2001-02-22 |
EP1206739B1 (en) | 2006-05-10 |
US6408417B1 (en) | 2002-06-18 |
EP1206739A1 (en) | 2002-05-22 |
DE60027902D1 (de) | 2006-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004514184A (ja) | デジタル・データにおけるソフト・エラーを訂正するための方法および装置 | |
JP4071940B2 (ja) | メモリ設計のための共有式誤り訂正 | |
US5177744A (en) | Method and apparatus for error recovery in arrays | |
JP4019061B2 (ja) | Ecc保護機構における固定ビット障害を解決するための特殊eccマトリクスの適用方法 | |
US5267242A (en) | Method and apparatus for substituting spare memory chip for malfunctioning memory chip with scrubbing | |
US7797609B2 (en) | Apparatus and method for merging data blocks with error correction code protection | |
US9252814B2 (en) | Combined group ECC protection and subgroup parity protection | |
US5663969A (en) | Parity-based error detection in a memory controller | |
US20020124129A1 (en) | Method for using RAM buffers with multiple accesses in flash-based storage systems | |
JP2772391B2 (ja) | 不良データアルゴリズム | |
JPS6061837A (ja) | エラ−訂正装置 | |
JP2000112830A (ja) | メモリシステム、コンピュ―タシステムおよびデ―タ・ブロック中のビットエラ―を訂正する方法 | |
US7257762B2 (en) | Memory interface with write buffer and encoder | |
EP0041999A4 (en) | SYSTEM AND METHOD FOR SELF-CORRECTING STORAGE. | |
JPH01195557A (ja) | データ処理システムにおけるデータ転送方法 | |
JPH07191915A (ja) | コンピュータ・システム、メモリ・カード、及びその操作方法 | |
US7302619B1 (en) | Error correction in a cache memory | |
JPS6310460B2 (ja) | ||
JP3922844B2 (ja) | キャッシュtag制御方法及びこの制御方法を用いた情報処理装置 | |
JP3190867B2 (ja) | メモリ再書き込み動作誤り検出装置及び方法 | |
JP3450132B2 (ja) | キャッシュ制御回路 | |
JPH04115339A (ja) | メモリエラー処理システム | |
JPH0520215A (ja) | 情報処理装置 | |
JP2005339745A (ja) | Cam装置 | |
JPS5837638B2 (ja) | キオクソウチ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20020227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050222 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050520 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20051025 |