JP3996623B2 - ルックアップしたエントリーの重複検出方法および装置 - Google Patents

ルックアップしたエントリーの重複検出方法および装置 Download PDF

Info

Publication number
JP3996623B2
JP3996623B2 JP2006306907A JP2006306907A JP3996623B2 JP 3996623 B2 JP3996623 B2 JP 3996623B2 JP 2006306907 A JP2006306907 A JP 2006306907A JP 2006306907 A JP2006306907 A JP 2006306907A JP 3996623 B2 JP3996623 B2 JP 3996623B2
Authority
JP
Japan
Prior art keywords
code
code part
column
entry
logic circuit
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
JP2006306907A
Other languages
English (en)
Other versions
JP2007087413A (ja
Inventor
アール. サクセナ,ナーマル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2007087413A publication Critical patent/JP2007087413A/ja
Application granted granted Critical
Publication of JP3996623B2 publication Critical patent/JP3996623B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/1012Adding 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/1016Error in accessing a memory location, i.e. addressing error
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital 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/04Digital 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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
    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C2029/5002Characteristic

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

発明の分野
本発明は電子的論理設計に関し、特にマイクロプロセッサにおける電子的論理設計に関し、更に詳細には、ルックアップしたエントリーの重複検出方法および装置に関する
発明の背景
ルックアップテーブルはマイクロプロセッサの設計を含む様な分野において一般に使用されている。図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の所望のインデックスエントリーと一致する。
特許文献22は、ランダム・アクセス・メモリとの関係においてエラーの検出を可能にするエンコーディング・スキームの提供に関係している。このスキームにおいては、2つの異なるチェック・コード・フィールドが(有用な)データと共に、そのデータと同じメモリ・アドレスに格納される。第1のチェック・コード・フィールドはデータの関数として生成され、第2のチェック・コード・フィールドはメモリ・アドレスの関数として生成される。第1のチェック・コード・フィールドは、(有用な)データのビットに基づいて生成された、サム・コードであり得る。また、第2のチェック・コード・フィールドはメモリ・アドレスから生成されたパリティ・ビットか、又はメモリ・アドレスのビットから生成されたサム・コードであり得る。データが読み出されるとき、読み出しに用いられるメモリ・アドレスと、読み出された(有用な)データとに基づき、それら2つのチェック・フィールド(例えば、サム・コード及びパリティ・ビット)が生成され、2つの格納されているチェック・フィールドと比較される。これらの手段によって、データ・エラー、誤ったメモリ・ワード・アクセス・エラー、及び複数メモリ・ワード・アクセス・エラーから得られるエラーが検出可能であると記載されている。
関連出願の相互参照
本願発明の主題は、下記に掲げる出願の主題と関連している。
米国特許出願番号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およびMichaelC. 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日に出願
米国特許第3963908号明細書
サーチメカニズムに依存して、二重エントリーの位置に関連する出力は誤りとなる。誤ったローがフラグされて出力され、又は両ローからのデータの結合が選択されて出力されるからである。
多数の同等インデックスエントリーの検出を可能にする出力回路を設計することは、出力回路に複雑性を加えることになり、それによりシステム性能が劣化し、集積回路上の様々なスペースが必要となる。出力回路の性能に対して重大な劣化をもたらすことなく、又は集積回路上に大きなスペースを必要とすることなく、そのような状態を検出することが望まれる。
発明の要旨
本発明による方法および装置は、複数のコラムと複数のローとの交差部にデータを格納可能なエントリーを有するルックアップテーブルのルックアップしたエントリーの重複検査方法であって、コンピュータにより複数の異なる数をコラムの中の第1のコラムに含まれる複数のテーブル・エントリーにそれぞれ格納するとともに、異なる数の補数である複数のエラー検出コードをコラムの中の第2のコラムに含まれる複数のテーブル・エントリーに格納し、ローのうちの2つのローに対応する異なる数に対するルックアップ結果の論理和を第1の論理回路により第1のコード部とするとともに、ローのうちの2つのローに対応するエラー検出コードに対するルックアップ結果の論理和を第2の論理回路により第2のコード部とし、第1のコード部と第2のコード部のいずれか一方の補数を第3の論理回路により第3のコード部とし、第1のコード部と第2のコード部のうち補数を取られなかったコード部を第4の論理回路により第4のコード部とし、比較手段により第3のコードを第4のコードと比較し、第第3のコード部が第4のコード部と等しい場合は、ルックアップテーブルに二重エントリーが存在しないと判定して、電子的論理設計を継続し、第3のコード部が第4のコード部と等しくない場合は、ルックアップテーブルに二重エントリーが存在すると判定して、電子的論理設計を中断することを特徴とする、ルックアップしたエントリーの重複検査方法および装置である。
好ましい実施例の簡単な記載
図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に格納されるか、又は必要に応じて生成される。
エラー検出コード内のビット数はlog2 N以上である。ここで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がとられたエラーコードとをビット単位で非等価性のためにテストすることにより比較621が遂行されることを除き、図6Aと同様に動作する。
メモリ内に配置された従来のルックアップテーブルの概略ブロック図である。 本発明による、入力におけるセットビット数の計数の補数に等しい2ビット出力を生成するデバイスの概略図である。 本発明による、6ビットワード内のセットビットの数の計数の補数を与えるために使用される4つの高速アダーと3つのインバータを示す概略図である。 本発明による、入力におけるセットビットの数の計数に等しい2ビット出力を生成するデバイスの概略図である。 第2の入力に等しい第1の入力を出力ラインのセットにドライブする従来の回路の概略図である。 一対のビットを出力ラインのセットにドライブする従来の回路の概略図である。 グループ当たり3ビットの5つのグループの論理的ORを取る従来の回路の概略図である。 本発明によるエラー検出回路の概略図である。 本発明による方法を示すフローチャートである。 本発明による他の方法を示すフローチャートである。

Claims (2)

  1. 複数のコラムと複数のローとの交差部にデータを格納可能なエントリーを有するルックアップテーブルのルックアップしたエントリーの重複検査方法であって、
    コンピュータにより複数の異なる数を前記コラムの中の第1のコラムに含まれる複数のテーブル・エントリー(126,128,130)にそれぞれ格納するとともに、前記異なる数の補数である複数のエラー検出コードを前記コラムの中の第2のコラムに含まれる複数のテーブル・エントリー(154,156,158)に格納し、
    前記ローのうちの2つのローに対応する前記異なる数に対するルックアップ結果の論理和を第1の論理回路により第1のコード部とするとともに、前記ローのうちの2つのローに対応する前記エラー検出コードに対するルックアップ結果の論理和を第2の論理回路により第2のコード部とし、
    前記第1のコード部と前記第2のコード部のいずれか一方の補数を第3の論理回路により第3のコード部とし、
    前記第1のコード部と前記第2のコード部のうち補数を取られなかったコード部を第4の論理回路により第4のコード部とし、
    比較手段により前記第3のコードを前記第4のコードと比較し、前記第3のコード部が前記第4のコード部と等しい場合は、前記ルックアップテーブルに二重エントリーが存在しないと判定して、電子的論理設計を継続し、
    前記第3のコード部が前記第4のコード部と等しくない場合は、前記ルックアップテーブルに二重エントリーが存在すると判定して、電子的論理設計を中断する、
    ことを特徴とする、ルックアップしたエントリーの重複検査方法。
  2. 複数のコラムと複数のローとの交差部にデータを格納可能なエントリーを有するルックアップテーブルのルックアップしたエントリーの重複検査装置であって、
    前記ルックアップテーブルは、複数の異なる数がそれぞれ格納された前記コラムの中の第1のコラムに含まれる複数のテーブル・エントリー(126,128,130)と、前記異なる数の補数である複数のエラー検出コードがそれぞれ格納された前記コラムの中の第2のコラムに含まれる複数のテーブル・エントリー(154,156,158)とを備え、
    前記装置は、
    前記ローのうちの2つのローに対応する前記異なる数に対するルックアップ結果の論理和を第1のコード部とするとともに、前記ローのうちの2つのローに対応する前記エラー検出コードに対するルックアップ結果の論理和を第2のコード部とする第1の論理回路と、
    前記第1のコード部と前記第2のコード部のいずれか一方の補数を第3のコード部とする第2の論理回路と、
    前記第1のコード部と前記第2のコード部のうち補数を取られなかったコード部を第4のコード部とする第3の論理回路と、
    前記第3のコード部が前記第4のコード部と等しい場合は、前記ルックアップテーブルに二重エントリーが存在しないと判定して、電子的論理設計を継続する第4の論理回路と、
    前記第3のコード部が前記第4のコード部と等しくない場合は、前記ルックアップテーブルに二重エントリーが存在すると判定して、電子的論理設計を中断する第5の論理回路と、
    を備えることを特徴とする、ルックアップしたエントリーの重複検査装置。
JP2006306907A 1995-06-09 2006-11-13 ルックアップしたエントリーの重複検出方法および装置 Expired - Fee Related JP3996623B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/488,816 US5652580A (en) 1995-06-09 1995-06-09 Method and apparatus for detecting duplicate entries in a look-up table

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP50317797A Division JP3920336B2 (ja) 1995-06-09 1996-06-07 ルックアップテーブルのルックアップ結果が二重になるテーブル・エントリがあるかどうかのテスト装置

Publications (2)

Publication Number Publication Date
JP2007087413A JP2007087413A (ja) 2007-04-05
JP3996623B2 true JP3996623B2 (ja) 2007-10-24

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 Before (1)

Application Number Title Priority Date Filing Date
JP50317797A Expired - Fee Related JP3920336B2 (ja) 1995-06-09 1996-06-07 ルックアップテーブルのルックアップ結果が二重になるテーブル・エントリがあるかどうかのテスト装置

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
EP0843852B1 (en) 2003-09-03
DE69637427D1 (de) 2008-03-20
JP2007087413A (ja) 2007-04-05
US5652580A (en) 1997-07-29
JP3920336B2 (ja) 2007-05-30
DE69629823D1 (de) 2003-10-09
WO1996042052A1 (en) 1996-12-27
EP0843852A1 (en) 1998-05-27
JPH11515118A (ja) 1999-12-21
DE69629823T2 (de) 2004-05-13
DE69637427T2 (de) 2009-01-29
EP1383050B1 (en) 2008-02-06
EP1383050A1 (en) 2004-01-21

Similar Documents

Publication Publication Date Title
US5796758A (en) Self-checking content-addressable memory and method of operation for detecting multiple selected word lines
US5099484A (en) Multiple bit error detection and correction system employing a modified Reed-Solomon code incorporating address parity and catastrophic failure detection
US3579199A (en) Method and apparatus for fault testing a digital computer memory
US4740968A (en) ECC circuit failure detector/quick word verifier
TWI416317B (zh) 微處理器以及其所適用之操作、測試、初始化方法
US8010875B2 (en) Error correcting code with chip kill capability and power saving enhancement
US7100097B2 (en) Detection of bit errors in maskable content addressable memories
JP3996623B2 (ja) ルックアップしたエントリーの重複検出方法および装置
US20100083065A1 (en) Method and apparatus for error detection and correction
JPS60179851A (ja) デ−タ処理装置
EP0834125B1 (en) Error detection and correction method
US5357521A (en) Address sensitive memory testing
JPH0548502B2 (ja)
KR101001068B1 (ko) 저장된 데이터의 소프트웨어 오류 취약성의 감소
KR100402638B1 (ko) 리던던트 디바이스 초기화 방법 및 장치
US8365055B2 (en) High performance cache directory error correction code
EP1278123A1 (en) High integrity cache directory
US7065694B2 (en) Adaptive runtime repairable entry register file
US5734664A (en) Method and apparatus to efficiently store error codes
US6513053B1 (en) Data processing circuit and method for determining the first and subsequent occurences of a predetermined value in a sequence of data bits
JP3849884B2 (ja) 2進数の1つのシーケンスを生成する装置、記憶モジュール内の障害に対するテストを行う方法、および記憶モジュールに対するテストを行うシステム
Lu et al. Built-in Scrambling analysis for yield enhancement of embedded memories
WO1996042053A1 (en) Method and apparatus for detecting memory addressing errors
JP4159896B2 (ja) 連想メモリ
SU868844A1 (ru) Запоминающее устройство с контролем

Legal Events

Date Code Title Description
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: 20070703

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070802

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

Free format text: PAYMENT UNTIL: 20100810

Year of fee payment: 3

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110810

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120810

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120810

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130810

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees