JP3920336B2 - ルックアップテーブルのルックアップ結果が二重になるテーブル・エントリがあるかどうかのテスト装置 - Google Patents
ルックアップテーブルのルックアップ結果が二重になるテーブル・エントリがあるかどうかのテスト装置 Download PDFInfo
- Publication number
- JP3920336B2 JP3920336B2 JP50317797A JP50317797A JP3920336B2 JP 3920336 B2 JP3920336 B2 JP 3920336B2 JP 50317797 A JP50317797 A JP 50317797A JP 50317797 A JP50317797 A JP 50317797A JP 3920336 B2 JP3920336 B2 JP 3920336B2
- Authority
- JP
- Japan
- Prior art keywords
- column
- code
- lookup
- entries
- bits
- 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
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
- 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/1012—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 using codes or arrangements adapted for a specific type of error
- G06F11/1016—Error in accessing a memory location, i.e. addressing error
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
- G11C15/04—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
-
- 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/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C2029/5002—Characteristic
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Detection And Correction Of Errors (AREA)
Description
本発明は電子的論理設計に関し、特にマイクロプロセッサにおける電子的論理設計に関し、更に詳細には、ルックアップテーブルのルックアップ結果が二重になるテーブル・エントリがあるかどうかのテスト装置に関する。
関連出願の相互参照
本願発明の主題は、下記に掲げる出願の主題と関連している。
米国出願番号08/943、911、「記憶装置テスト用2進数を効率的に生成する方法、システムおよび装置」の名称で、Nirmal R.Saxenaによって1995年6月9日に出願、
出願番号08/488、615「メモリアドレッシングエラーを検出する方法および装置」の名称で、Nirmal R.Saxenaによって1995年6月9日に出願、
出願番号08/457、049、「並列データプロセッサにおけるアクティブ命令を回転させる方法および装置」の名称で、Sunil Savkar、Michael C.Shebanow、Gene W.ShenおよびFarnad Sajjadianによって1995年6月1日に出願、
出願番号08/456、746、「プログラマブル命令トラップシステムおよび方法」の名称で、Sunil Savkar、Gene W.Shen、Farnad SajjadianおよびMichael C.Shebanowによって1995年6月1日に出願、
出願番号08/388、602、「スーパースケーラ マイクロプロセッサ用命令フロー制御回路」の名称で、Takeshi Kitaharaによって1995年2月14日に出願、
出願番号08/388、389、「格納命令に関して負荷命令を順不同に実行するアドレッシング方法」の名称で、Michael A.SimoneおよびMichael C.Shebanowによって1995年2月14日に出願、
出願番号08/388、606、名前を付け替えられたレジスタに結果を効率的に書き込む方法および装置」の名称で、DeForest W.Tovey、Michael C.ShebanowおよびJohn Gmuenderによって1995年2月14日に出願、
出願番号08/388、364、「マイクロプロセッサにおける物理レジスタの利用を調整する方法および装置」の名称で、DeForest W.Tovey、Michael C.ShebanowおよびJohn Gmuenderによって1995年2月14日に出願、
出願番号08/390、885「精密な状態を保持するため命令状態をトラッキングするプロセッサ構造および方法」の名称で、Gene W.Shen、John Szeto、Niteen A.PatkarおよびMichael C.Shebanowによって1995年2月14日に出願、
出願番号08/397、810「アドレス変換の高速化のための並列アクセス マイクロ−TLB」の名称で、Chih-Wei David Chang、Kioumars Dawallu、Joel F.Boney、Ming-Ying LiおよびJen-Hong Charles Chenによって1995年3月3日に出願、
出願番号08/397、809「コンピュータシステムにおけるアドレス変換用ルックアサイドバッファ」の名称で、Leon Kuo-Liang Peng、Yolin LinおよびChih-Wei David Changによって1995年3月3日に出願、
出願番号08/397、893、「データプロセッサにおけるプロセッサ資源の再生利用」の名称で、Michael C.Shebanow、Gene W.Shen、Ravi Swami、Niteen A.Patkarによって1995年3月3日に出願、
出願番号08/397、891、「実行準備ができたものから命令を選択する方法および装置」の名称で、Michael C.Shebanow、John Gmuender、Michael A.Simone、John R.F.S.Szeto、Takumi MaruyamaおよびDeForest W.Toveyによって1995年3月3日に出願、
出願番号08/397、911、「不履行命令の高速ソフトウェア エミュレーション用ハードウェアサポート」の名称で、Shalesh Thusoo、Farnad Sajjadian、Jaspal KohliおよびNiteen A.Patkarによって1995年3月3日に出願、
出願番号08/398、284、「制御転送リターンを加速する方法および装置」の名称で、Akiro Katsuno、Sunil SavkarおよびMichael C.Shebanowによって1995年3月3日に出願、
出願番号08/398、066、「フェッチプログラムカウンタの更新方法」の名称で、Akira Katsuno、Niteen A.Patkar、Sunil SavkarおよびMichael C.Shebanowによって1995年3月3日に出願、
出願番号08/397、910、「コンピュータシステムにおけるエラーの優先化および処理方法および装置」の名称で、Chih-Wei David Chang、Joel Fredrick BoneyおよびJaspal Kohliによって1995年3月3日に出願、
出願番号08/398、151、「制御転送命令の迅速な実行方法および装置」の名称で、Sunil W.Savkarによって1995年3月3日に出願、
出願番号08/397、800、「マイクロプロセッサにおけるゼロビット状態フラッグの生成方法および装置」の名称で、Michael Simoneによって1995年3月3日に出願、
出願番号08/397、912、「パイプライン化読取り−修正−書込みアクセスを備えたECC保護メモリ編成」の名称で、Chien ChenおよびYuzhi Luによって1995年3月3日に出願および、
出願番号08/398、299、「精密な状態を保持するため命令状態をトラッキングするプロセッサ構造および方法」の名称で、Chien Chen、John R.F.S.Szeto、Niteen A.Patkar、Michael C.Shebanow、Hideki Osone、Takumi MaruyamaおよびMichael A.Simoneによって1995年3月3日に出願、
参考として、上記の出願の全ては本願発明の全体に亘って関連している。
発明の背景
ルックアップテーブルはマイクロプロセッサの設計を含む様な分野において一般に使用されている。図1において、従来のルックアップテーブル110はいくつかのコラム120、122、124、150といくつかのローからなっている。各コラム120、122、124、150内のデータは一つのロー内に関連するデータ(例えば、最下段のローではデータ144、146、130,158)を配置することによりアレンジできる。1例および図1において、関連するデータ130、144、146、158は、他の物理的配置も可能であるが、ローフォーマットに物理的に配置されている。従来のルックアップテーブル110においては、1つのコラム120内のエントリー140、142、144はテーブル110に対するインデックスコラムとして使用される。インデックスコラム120内のデータ140、142、144の特定の値が検索され、即ち、「ルックアップ」され、見つかれば、他のコラム内の同一のロー内の他の関連するデータが出力される。しばしば、見つかったロー内のインデックスエントリー140、142、144はそれ自体が出力される。
残念ながら、インデックスデータ140、142、144は、データ140、142、144がルックアップテーブル110を代表する物理的格納デバイスに書き込まれる時のデータメモリセル又は電気的インターフェースの障害といった様々な要因によりしばしば損なわれる。これが起きると、誤りデータが格納され、サーチ結果を損う。例えば、データ140が101の値を持つようにして誤って格納されると、2つのエントリー140、144が101の所望のインデックスエントリーと一致する。サーチメカニズムに依存して、二重エントリーの位置に関連する出力は誤りとなる。誤ったローがフラグされて出力され、又は両ローからのデータの結合が選択されて出力されるからである。
多数の同等インデックスエントリーの検出を可能にする出力回路を設計することは、出力回路に複雑性を加えることになり、それによりシステム性能が劣化し、集積回路上の様々なスペースが必要となる。出力回路の性能に対して重大な劣化をもたらすことなく、又は集積回路上に大きなスペースを必要とすることなく、そのような状態を検出することが望まれる。
米国特許第3963908号明細書は、ランダム・アクセス・メモリとの関係においてエラーの検出を可能にするエンコーディング・スキームの提供に関係している。このスキームにおいては、2つの異なるチェック・コード・フィールドが(有用な)データと共に、そのデータと同じメモリ・アドレスに格納される。第1のチェック・コード・フィールドはデータの関数として生成され、第2のチェック・コード・フィールドはメモリ・アドレスの関数として生成される。第1のチェック・コード・フィールドは、(有用な)データのビットに基づいて生成された、サム・コードであり得る。また、第2のチェック・コード・フィールドはメモリ・アドレスから生成されたパリティ・ビットか、又はメモリ・アドレスのビットから生成されたサム・コードであり得る。データが読み出されるとき、読み出しに用いられるメモリ・アドレスと、読み出された(有用な)データとに基づき、それら2つのチェック・フィールド(例えば、サム・コード及びパリティ・ビット)が生成され、2つの格納されているチェック・フィールドと比較される。これらの手段によって、データ・エラー、誤ったメモリ・ワード・アクセス・エラー、及び複数メモリ・ワード・アクセス・エラーから得られるエラーが検出可能であると記載されている。
発明の要旨
本発明による装置は、複数のコラムと複数のローとの交差部にデータが関係付けられ得るエントリを有するルックアップテーブルのルックアップ結果が二重になるテーブル・エントリがあるかどうかのテスト方法であって、複数の異なる数をコラムの中の第1のコラムに含まれる複数のテーブル・エントリにそれぞれ関係付けるとともに、異なる数の補数である複数のエラー検出コードをコラムの中の第2のコラムに含まれる複数のテーブル・エントリに関係付け、ローのうちの2つのローに対応する異なる数に対するルックアップ結果の論理和を第1のコード部とするとともに、ローのうちの2つのローに対応するエラー検出コードに対するルックアップ結果の論理和を第2のコード部とし、第1のコード部と第2のコード部のいずれか一方の補数を第3のコード部とし、第1のコード部と第2のコード部のうち補数を取られなかったコード部を第4のコード部とし、第3のコード部が第4のコード部と等しくない場合は、ルックアップテーブルに二重エントリが存在すると判定する、
ことを特徴とする、二重になるテーブル・エントリがあるかどうかのテスト装置である。
【図面の簡単な説明】
図1はメモリ内に配置された従来のルックアップテーブルの概略ブロック図である。
図2Aは本発明による、入力におけるセットビット数の計数の補数に等しい2ビット出力を生成するデバイスの概略図である。
図2Bは本発明による、6ビットワード内のセットビットの数の計数の補数を与えるために使用される4つの高速アダーと3つのインバータを示す概略図である。
図2Cは本発明による、入力におけるセットビットの数の計数に等しい2ビット出力を生成するデバイスの概略図である。
図3Aは第2の入力に等しい第1の入力を出カラインのセットにドライブする従来の回路の概略図である。
図3Bは一対のビットを出力ラインのセットにドライブする従来の回路の概略図である。
図4はグループ当たり3ビットの5つのグループの論理的ORを取る従来の回路の概略図である。
図5は本発明によるエラー検出回路の概略図である。
図6Aは本発明による方法を示すフローチャートである。
図6Bは本発明による他の方法を示すフローチャートである。
好ましい実施例の簡単な記載
図1において、コラムおよびローの他の数を使用できるが、4コラム、3ローのルックアップテーブルが示されている。1実施例においては、非繰り返しコラム124として指定されるコラムは数の非繰り返しのセットを含んでいる。数の非繰り返しのセットとは、セットの2つの要素が等しくない数のセットのことをいう。要求はされないが、任意の繰り返し数を持つことが殆ど有り得ない非繰り返しコラムを持つことが有効である。1実施例においては、非繰り返し数は、ロー0から始まる2進フォーマットでのロー番号であり、これらのロー番号126、128、130はROMに格納され、それによりそれらのロー番号はコラム124における繰り返し数を生じ得るエラーにさらされることが極めて少なくなる。ロー番号は図1に示されるように格納されるか、それらは以下に記載のようにローに対するエラーコードの計算の直前に要求に応じて生成される。
第2のコラム120は、インデックスコラムとして指定され、「ルックアップ」即ち検索されて1つ以上の特定数に等しいコラム120内のエントリーを捜し出すための数のセットを含む。1実施例においては、インデックスコラム120は、すべてがユニークで各サーチに対して1つのエントリーのみを生成する数のセットを含むと考えられる。この実施例においては、本発明が用いられてインデックスコラム120内の2重のエントリー、即ち、コラム120の1つのロー内の数であってそれがコラム120の他のロー内で少なくとも1回繰り返されるもの、を検出する。他の実施例においては、本発明は結果的に2つ以上のエントリーを生ずる任意のサーチを検出するために使用される。
1実施例においては、サーチイネーブルコラム122が提供されて、特定の値を持つサーチイネーブルコラム122内のエントリーと同一のロー内にあるインデックスコラム120内のエントリーに対するサーチを制限する。例えば、ロー1および2は値1を持つコラムエントリー146,148を有するので、これらのローのみがサーチに含まれ、ロー0はスキップされ、即ちサーチされない。サーチイネーブルコラム122の使用は本発明によっては要求されない。
本発明においては、いくつかの又はすべてのローのエラー検出コードはそのローに対する非繰り返しコラム124のエントリーに基づいて生成され、そのローに結合され、そのエラー検出コードが生成されたローから以下に記載のようにエラーの検出を可能にする。エラー検出コードはコラム150内のエントリ154,156,158に格納されるか、又は必要に応じて生成される。
エラー検出コード内のビット数はlog2N以上である。ここでNは、少なくとも、非繰り返しコラム124内の非繰り返し数126、128、130を表すために要求されるビット数である。1実施例においては、エラー検出コードは、非繰り返しコラム内の“1”といった特定の値に等しいビット数の補数に等しい。2進数の補数は、各オリジナルの“1”を“0”で置き換え、各オリジナルの“0”を“1”で置き換えた2進数に等しい。例えば、10に等しい非繰り返し数130のためのエラーコードを生成するためには、数10は“1”に等しい1ビットを有する。1は2進数の01で表され、01の補数は10である。
さて図2Aを参照すると、2ビットワードにおけるセットビットの数の計数の補数を生成する装置の1実施例が示されている。ワード内の各ビット210,212は排他的NORゲート214に接続されてその装置の下位出力を生成する。2ビット210,212は2入力NANDゲート218に接続されてその装置の上位出力を生成する。出力216,220は2つのビット210,212に対応するローに接続される。図1および図2Aにおいて、2つのビット210,212は非繰り返しコラム124の単一ロー内のビットに対応している。出力216,220は、2つのビット210,212が来た同じロー内のコラム150に格納され得る。これに替えて、出力216,220は、以下に記載のインデックスコラム120上のサーチが実行される時又はその近くの時に計算できる。
他の実施例においては、セットビットの数の補数を計算するために、非繰り返しコラムのビットは1つ以上の高速アダーに入力され得る。図2Bにおいて、高速アダー250、252、254、256が6ビットワード内のセットビットの数の計数の補数を得ることを可能にする接続が示されている。
下位ビットであるビット0はアダーの入力271に接続されており、残りのビット1,2,3,4,および5はそれぞれ入力268、266、264、263、および260に接続されている。キャリー入力270は論理0に接続されており、他の方法では出力として使用されない。アダーの出力282、284、286は入力271、268、266、264、262、260におけるセットビットの数の計数を生成する。出力282、284、286は、計数の補数をとって出力296、298、299にエラー検出コードを生成するインバータ290、293、294を用いて反転される。
図2Cは本発明による、入力におけるセットビットの数の計数230,232に等しい2ビット出力236,240を生成するデバイスの概略図である。
1実施例においては、テーブル110に対する従来のサーチ機能が、予め選択された数に一致するインデックスコラム120内のエントリーを持つインデックスコラム120内のローを探索することにより実行される。図1および図3Aにおいて、コラム120内のエントリーが特定の数に一致するかどうかを判定するための装置が示されている。その特定の数は排他的論理和ゲート314に接続された入力320に与えられる。コラム120の1つのロー310内の各ビット340、342、344は排他的論理和ゲート314の1つの第2の入力322に接続され、その排他的論理和ゲート314は、ビット340、342、344が対応する入力320に等しい場合にハイを出力する。排他的論理和ゲート314は、すべてのビット340、342、344が対応する入力320に一致するとハイを出力する出力318を有するANDゲート316に接続されている。出力318はANDゲート315の第1の入力に接続されている。入力330、332、334はその位置に対応するビット340、342、344を受けるように接続されており、コラム120内のロー310が入力320と一致すると出力ライン321上にこのビットが出力される。
図1、図3Aおよび図3Bを参照して、1実施例において、出力318はANDゲート350、352に接続されており、そのANDゲート350、352は、入力370、372で提供されたコラム150からのエラーコードビット360、362を、非繰り返しコラム124の1つ又は複数の選択されたローに対応する出力380上にドライブするために接続されている。
1実施例において、選択された1つ又は複数のローは、インデックスコラム120内のエントリーで予め選択された数に一致するものを持つすべてのローの論理的ORをとることにより出力される。論理的ORを取る手段、即ち、論理和を取る手段は各ビットの論理和を計算する。例えば、100と101とのOR即ち論理和は101である。論理的ORの機能は集積回路内で実現するために効率的であるが、論理的ORを取ることは1つだけの数が期待されている時に2つの数のORが取られたという事実をマスクできる。図1及び図4において、ORゲート460、462、464、466、468を用いて出力450、452、454、456、458を生成するための論理的ORをとる入力440、442、444、446、448のための装置が示されている。ボックス420内のコラムは非繰り返しコラム120の各エントリー内の個々のビットを表しており、ボックス422は図4内の各ボックスが1ビットを保持している場合のエラーコードコラムを表している。このようなORを取る機能は図においては厄介なものであるが、集積回路においては、このような機能は上記のように多数の一致出力エラーをマスクするが極めて効率的である。
選択されたロー又はORが取られたローに対応する非繰り返しコラムエントリー及びエラーコードが出力450、452、454、456、458に現れた後に、選択された1つ又は複数のローの非繰り返しコラム124に対応するORが取られた出力450、452、454を用いて、再計算されたエラーコードが計算される。再計算されたエラーコードはエラーコードコラム150に対応するORが取られた出力456、458と比較される。1つだけのエントリーが出力された場合は、エラーコードコラム150に対応する出力456、458は再計算されたエラーコードに等しくなる筈である。そうでない場合は、そのような同一性は現れない。図2A又は図2Bに示した装置又はその装置の組合せは再計算されたエラーコードを計算するために使用される。
図5において、同等性を検出する装置の1実施例が示されている。ORが取られたエラーコード及び再計算されたエラーコードは図5に示した装置を用いてビット法で等価性がテストされる。ORがとられたエラーコードからの下位ビットは排他的論理和ゲートの入力510に接続され、上位ビットは排他的論理和ゲートの入力514に接続される。再計算されたエラーコードからの下位ビットは排他的論理和ゲートの入力512に接続され、上位ビットは排他的論理和ゲートに入力516に接続される。1実施例においては、ゲート522は2入力ORゲートであり、ORが取られたエラーコードが再計算されたエラーコードに等しくない場合は出力524にハイを出力し、上記のような二重選択によるエラーの可能性が存在することを知らせる。
他の実施例においては、ゲート522はNORゲートであり、反対の信号を出力する。他の実施例においては、ゲート522はオープンコレクタのORゲートであり、単一の信号を出力する。
図4を参照して、他の実施例においては、再計算されたエラーコードは上記した方法と異なる方法で計算される。再計算されたエラーコードはORされたセットビット456、458の和である。ORされたエラーコード及び再計算されたエラーコードは、より単純な回路を提供するために、ビット単位で等価性のテストがされ。例えば、非繰り返しコラムエントリにおいて、図2Cの装置が用いられ、これは出力240、236が図2Aの出力220、216から反転されている点を除き、図2Aと同じである。他の実施例においては、インバータ290、292、294なしで図2Bの装置が用いられる。この代わりに、出力282、284、286は出力296、298、299と置き代わる。そのような装置が使用されるとき、ORがとられたエラーコードの各ビットは再計算されたエラーコードの反対の筈であるか、又は多数選択エラーが生じたかである。この状況を検出するために、ゲート522が等価性を検出するためのANDゲート、NANDゲート、又はオープンコレクタバージョンであることを除き、図5の装置が上記のように使用される。
図6Aにおいて、本発明の方法の1実施例が示されている。ステップ610で、2つ以上のローのエラーコードは、非繰り返しコラム内のエントリー内にセットされたビットの数を計算し補数を得ることにより生成される。次いで、ステップ612で、その生成されたエラーコードは、そのエラーコードが生成された非繰り返しコラムからのエントリーと関係付けられる。次いで、ステップ614で、例えば、予め選択された数に一致している1つのコラム内のデータを含むすべてのローを選択することにより、あるローが選択される。次いで、ステップ616で、選択されたロー内の対応するビットは互いに論理的にORが取られる。次いでステップ618で、非繰り返しコラム内の結果的にORがとられたエラーコードは、非繰り返しコラム内にセットされた論理的にORされたビットの数を計数し、その計数の補数をとることにより再計算される。次いでステップ620で、再計算されたエラーコードはコラムの結果的に得られるORされたエラーコードと比較される。次いでステップ622で、再計算されたエラーコードがORされたエラーコードに等しい場合は、第1の信号が生成される。再計算されたエラーコードがORされたエラーコードに等しくない場合は、ステップ624で、第2の信号が生成される。第1及び第2の信号は多数一致の欠如又は存在を示す。第1の信号及び第2の信号の生成は、等価性又は非等価性が検出される場合にのみ単一の信号の生成で置き換えることができ、そうでない場合には信号は生成されない。
図6Bにおいて、本発明の他の方法が示されている。この方法は、ステップ619で、再計算されたエラーコードは、セットされたビットの数を計数することにより計算され、ステップ621で再計算されたエラーコードとORがとられたエラーコードとをビット単位で非等価性のためにテストすることにより比較が遂行されることを除き、図6Aと同様に動作する。
Claims (1)
- 複数のコラムと複数のローとの交差部にデータが関係付けられ得るエントリを有するルックアップテーブルのルックアップ結果が二重になるテーブル・エントリがあるかどうかをテストする装置であって、
前記ルックアップテーブルは、複数の異なる数がそれぞれ関係付けられた前記コラムの中の第1のコラムに含まれる複数のテーブル・エントリ(126,128,130)と、前記異なる数の補数である複数のエラー検出コードがそれぞれ関係付けられた前記コラムの中の第2のコラムに含まれる複数のテーブル・エントリ(154,156,158)とを備え、
前記装置は、
前記ローのうちの2つのローに対応する前記異なる数に対するルックアップ結果の論理和を第1のコード部とするとともに、前記ローのうちの2つのローに対応する前記エラー検出コードに対するルックアップ結果の論理和を第2のコード部とする第1の論理回路と、
前記第1のコード部と前記第2のコード部のいずれか一方の補数を第3のコード部とする第2の論理回路と、
前記第1のコード部と前記第2のコード部のうち補数を取られなかったコード部を第4のコード部とする第3の論理回路と、
前記第3のコード部が前記第4のコード部と等しくない場合は、前記ルックアップテーブルに二重エントリが存在すると判定する第4の論理回路と、
を備えることを特徴とする、二重になるテーブル・エントリがあるかどうかをテストする装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/488,816 | 1995-06-09 | ||
US08/488,816 US5652580A (en) | 1995-06-09 | 1995-06-09 | Method and apparatus for detecting duplicate entries in a look-up table |
PCT/US1996/009369 WO1996042052A1 (en) | 1995-06-09 | 1996-06-07 | Method and apparatus for detecting duplicate entries in a look-up table |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006306907A Division JP3996623B2 (ja) | 1995-06-09 | 2006-11-13 | ルックアップしたエントリーの重複検出方法および装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11515118A JPH11515118A (ja) | 1999-12-21 |
JP3920336B2 true JP3920336B2 (ja) | 2007-05-30 |
Family
ID=23941242
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP50317797A Expired - Fee Related JP3920336B2 (ja) | 1995-06-09 | 1996-06-07 | ルックアップテーブルのルックアップ結果が二重になるテーブル・エントリがあるかどうかのテスト装置 |
JP2006306907A Expired - Fee Related JP3996623B2 (ja) | 1995-06-09 | 2006-11-13 | ルックアップしたエントリーの重複検出方法および装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006306907A Expired - Fee Related JP3996623B2 (ja) | 1995-06-09 | 2006-11-13 | ルックアップしたエントリーの重複検出方法および装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5652580A (ja) |
EP (2) | EP1383050B1 (ja) |
JP (2) | JP3920336B2 (ja) |
DE (2) | DE69637427T2 (ja) |
WO (1) | WO1996042052A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7328203B2 (en) * | 2004-12-16 | 2008-02-05 | International Business Machines Corporation | System and method for executing complex if-then clauses |
US7761774B2 (en) * | 2005-10-28 | 2010-07-20 | Qualcomm Incorporated | High speed CAM lookup using stored encoded key |
US8001432B2 (en) * | 2008-11-20 | 2011-08-16 | Lsi Corporation | Uninitialized memory detection using error correction codes and built-in self test |
JP4945618B2 (ja) * | 2009-09-18 | 2012-06-06 | 株式会社東芝 | A/dコンバータ |
US8787059B1 (en) * | 2011-12-05 | 2014-07-22 | Netlogic Microsystems, Inc. | Cascaded content addressable memory array having multiple row segment activation |
US10037190B2 (en) | 2016-03-24 | 2018-07-31 | International Business Machines Corporation | Transformation on input operands to reduce hardware overhead for implementing addition |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3963908A (en) * | 1975-02-24 | 1976-06-15 | North Electric Company | Encoding scheme for failure detection in random access memories |
US4547882A (en) * | 1983-03-01 | 1985-10-15 | The Board Of Trustees Of The Leland Stanford Jr. University | Error detecting and correcting memories |
JPS6476596A (en) * | 1987-09-18 | 1989-03-22 | Oki Electric Ind Co Ltd | Error of eeprom detecting device |
US5220526A (en) * | 1991-03-01 | 1993-06-15 | Motorola, Inc. | Method and apparatus for indicating a duplication of entries in a content addressable storage device |
-
1995
- 1995-06-09 US US08/488,816 patent/US5652580A/en not_active Expired - Lifetime
-
1996
- 1996-06-07 EP EP03019505A patent/EP1383050B1/en not_active Expired - Lifetime
- 1996-06-07 JP JP50317797A patent/JP3920336B2/ja not_active Expired - Fee Related
- 1996-06-07 EP EP96918285A patent/EP0843852B1/en not_active Expired - Lifetime
- 1996-06-07 DE DE69637427T patent/DE69637427T2/de not_active Expired - Lifetime
- 1996-06-07 DE DE69629823T patent/DE69629823T2/de not_active Expired - Lifetime
- 1996-06-07 WO PCT/US1996/009369 patent/WO1996042052A1/en active IP Right Grant
-
2006
- 2006-11-13 JP JP2006306907A patent/JP3996623B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE69637427D1 (de) | 2008-03-20 |
WO1996042052A1 (en) | 1996-12-27 |
DE69629823T2 (de) | 2004-05-13 |
US5652580A (en) | 1997-07-29 |
EP1383050A1 (en) | 2004-01-21 |
EP0843852B1 (en) | 2003-09-03 |
JP3996623B2 (ja) | 2007-10-24 |
JPH11515118A (ja) | 1999-12-21 |
EP1383050B1 (en) | 2008-02-06 |
DE69629823D1 (de) | 2003-10-09 |
JP2007087413A (ja) | 2007-04-05 |
EP0843852A1 (en) | 1998-05-27 |
DE69637427T2 (de) | 2009-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7797609B2 (en) | Apparatus and method for merging data blocks with error correction code protection | |
US8145961B2 (en) | Fast ECC memory testing by software including ECC check byte | |
US5099484A (en) | Multiple bit error detection and correction system employing a modified Reed-Solomon code incorporating address parity and catastrophic failure detection | |
TWI416317B (zh) | 微處理器以及其所適用之操作、測試、初始化方法 | |
US5396641A (en) | Reconfigurable memory processor | |
US8010875B2 (en) | Error correcting code with chip kill capability and power saving enhancement | |
JP3996623B2 (ja) | ルックアップしたエントリーの重複検出方法および装置 | |
JPS60179851A (ja) | デ−タ処理装置 | |
JPH0782446B2 (ja) | 多重エラー訂正方法 | |
KR101001068B1 (ko) | 저장된 데이터의 소프트웨어 오류 취약성의 감소 | |
KR100402638B1 (ko) | 리던던트 디바이스 초기화 방법 및 장치 | |
JPH06236326A (ja) | ランダムアクセスメモリにデータを記憶するために非原子レベルパリティ保護を実行する方法および装置 | |
US7380099B2 (en) | Apparatus and method for an address generation circuit | |
US8365055B2 (en) | High performance cache directory error correction code | |
US5734664A (en) | Method and apparatus to efficiently store error codes | |
JP3011522B2 (ja) | アレイのメモリ・セルの障害を検査する装置及び方法 | |
US5628002A (en) | Binary tree flag bit arrangement and partitioning method and apparatus | |
JP3849884B2 (ja) | 2進数の1つのシーケンスを生成する装置、記憶モジュール内の障害に対するテストを行う方法、および記憶モジュールに対するテストを行うシステム | |
Lu et al. | Built-in Scrambling analysis for yield enhancement of embedded memories | |
US10673464B1 (en) | Encoding and decoding information for detecting and correcting bit errors | |
WO1996042053A1 (en) | Method and apparatus for detecting memory addressing errors | |
Pavlov et al. | Error Detection in Arithmetic-Logic Devices of Information-Measurement System Processors | |
JPH05298893A (ja) | 連想記憶装置 | |
JPH01119843A (ja) | アドレス変換装置 | |
JPS58115694A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051025 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051226 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060912 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061113 |
|
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: 20070116 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070215 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110223 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110223 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120223 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |