JP3996623B2 - ルックアップしたエントリーの重複検出方法および装置 - Google Patents
ルックアップしたエントリーの重複検出方法および装置 Download PDFInfo
- 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
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
本発明は電子的論理設計に関し、特にマイクロプロセッサにおける電子的論理設計に関し、更に詳細には、ルックアップしたエントリーの重複検出方法および装置に関する。
ルックアップテーブルはマイクロプロセッサの設計を含む様な分野において一般に使用されている。図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はそれ自体が出力される。
特許文献22は、ランダム・アクセス・メモリとの関係においてエラーの検出を可能にするエンコーディング・スキームの提供に関係している。このスキームにおいては、2つの異なるチェック・コード・フィールドが(有用な)データと共に、そのデータと同じメモリ・アドレスに格納される。第1のチェック・コード・フィールドはデータの関数として生成され、第2のチェック・コード・フィールドはメモリ・アドレスの関数として生成される。第1のチェック・コード・フィールドは、(有用な)データのビットに基づいて生成された、サム・コードであり得る。また、第2のチェック・コード・フィールドはメモリ・アドレスから生成されたパリティ・ビットか、又はメモリ・アドレスのビットから生成されたサム・コードであり得る。データが読み出されるとき、読み出しに用いられるメモリ・アドレスと、読み出された(有用な)データとに基づき、それら2つのチェック・フィールド(例えば、サム・コード及びパリティ・ビット)が生成され、2つの格納されているチェック・フィールドと比較される。これらの手段によって、データ・エラー、誤ったメモリ・ワード・アクセス・エラー、及び複数メモリ・ワード・アクセス・エラーから得られるエラーが検出可能であると記載されている。
関連出願の相互参照
本願発明の主題は、下記に掲げる出願の主題と関連している。
本発明による方法および装置は、複数のコラムと複数のローとの交差部にデータを格納可能なエントリーを有するルックアップテーブルのルックアップしたエントリーの重複検査方法であって、コンピュータにより複数の異なる数をコラムの中の第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に示されるように格納されるか、それらは以下に記載のようにローに対するエラーコードの計算の直前に要求に応じて生成される。
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上にこのビットが出力される。
Claims (2)
- 複数のコラムと複数のローとの交差部にデータを格納可能なエントリーを有するルックアップテーブルのルックアップしたエントリーの重複検査方法であって、
コンピュータにより複数の異なる数を前記コラムの中の第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のコード部と等しくない場合は、前記ルックアップテーブルに二重エントリーが存在すると判定して、電子的論理設計を中断する、
ことを特徴とする、ルックアップしたエントリーの重複検査方法。 - 複数のコラムと複数のローとの交差部にデータを格納可能なエントリーを有するルックアップテーブルのルックアップしたエントリーの重複検査装置であって、
前記ルックアップテーブルは、複数の異なる数がそれぞれ格納された前記コラムの中の第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の論理回路と、
を備えることを特徴とする、ルックアップしたエントリーの重複検査装置。
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)
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 WO PCT/US1996/009369 patent/WO1996042052A1/en active IP Right Grant
- 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 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
-
2006
- 2006-11-13 JP JP2006306907A patent/JP3996623B2/ja not_active Expired - Fee Related
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 |