IP Library Granted Patent US 7,010,741
Granted Patent B2
US 7,010,741 · App. 10/306,732 · Granted Mar 7, 2006

Method and circuit for error correction in CAM cells

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,010,741
App. No.
10/306,732
Granted
Mar 7, 2006
Kind
B2
Abstract

A method and circuit is provided for detecting and correcting errors in an array of content addressable memory (CAM) cells. The array includes wordlines, searchlines, bitlines, and matchlines for reading from, writing to, and searching CAM cells in the array. The method includes the following steps: a row parity bit corresponding to a parity of a first plurality of bits stored along a row of CAM cells is stored; a column parity bit corresponding to the parity of a second plurality of bits stored along a column of CAM cells is stored; a parity of the first plurality of bits is read and generated and the generated parity is compared to the stored row parity bit; if the generated and stored parity bits do not match, columns of the array are cycled through; a parity of the second plurality of bits is read and generated and the generated parity is compared to the stored column parity bit until a mismatch is indicated; and, a bit located at an intersection of the mismatched row and column is inverted if the mismatch is indicated.

Claims (25)

1. A circuit for detecting and correcting errors in an array of content addressable memory (CAM) cells coupled to wordlines, searchlines, bitlines, and matchlines for reading from, writing to, and searching data in the CAM cells, said circuit comprising:

(a) at least one row parity CAM cell per row of said array, said row parity CAM cell being coupled to the matchline of an associated row, said row parity CAM cell storing a value representing a panty of a predefined portion of an associated row;

(b) at least one column parity CAM cell per column of said array, said column parity CAM cell being coupled to the bitline of an associated column, said column parity CAM cell storing a value representing a parity of a predefined portion of an associated column;

(c) a control circuit for reading, writing, and searching data stored in the CAM cells in said array; and

(d) a parity check circuit for comparing a calculated parity of said predefined portion of data read from a row of said array with data from said associated row parity CAM cell, wherein if said calculated parity and said stored parity data do not match, said parity check circuit compares a calculated parity of each column with data from associated column parity CAM cells, until a mismatch is determined, thereby identifying said error, said parity circuit inverting data stored at an intersection of said row and said column mismatches.

2. A method for detecting and correcting errors in an array of content addressable memory (CAM) cells coupled to wordlines, searchlines, bitlines, and matchlines for reading from, writing to, and searching data in the CAM cells, said method comprising the steps of:

(a) storing a row parity bit in a row parity CAM cell coupled to the matchline of an associated row, said row parity bit corresponding to a parity of a first plurality of bits stored along a row of CAM cells;

(b) storing a column parity bit in a column parity CAM cell coupled to the bitline of an associated column, said column parity bit corresponding to the parity of a second plurality of bits stored along a column of CAM cells;

(c) reading and generating a parity of said first plurality of bits and comparing said generated parity to said stored row parity bit;

(d) if said generated and stored parity bits do not match;

(i) cycling through columns of said array;

(ii) reading and generating a parity of said second plurality of bits and comparing said generated parity to said stored column parity bit until a mismatch is indicated; and

(iii) inverting a bit located at an intersection of said mismatched row and said column if said mismatch is indicated.

3. A method as defined in claim 2 wherein said searchlines are used for said step of cycling through columns of said array and match data is used for representing said second plurality of bits.

4. A circuit for writing data to a content addressable memory (CAM) cell in an array of CAM cells, said array including a parity row and a parity column for error correction and wordlines, bitlines, searchlines, and matchlines for reading from, writing to, and searching CAM cells in said array, said circuit comprising:

(a) a read sense amplifier for receiving previously stored data from said bitlines;

(b) a read latch for latching said previously stored data;

(c) a read driver for driver for driving said previously stored data onto a databus;

(d) a write latch for latching new data to be written;

(e) a write driver for driving said new data to said bitlines;

wherein the parity row comprising at least one column parity CAM cell coupled to the bitline of an associated column, the parity column comprising at least one row parity CAM cell coupled to the matchline of an associated row; and

wherein if said data read from said previously stored data is different from said new data, a corresponding column parity bit in said parity row is changed.

5. A circuit as defined in claim 4 , further comprising a parity check circuit for comparing said previously stored data with said new data for a plurality of bits and said differences between said bits are flagged for changing corresponding column parity bits in said parity row.

6. A circuit as defined in claim 5 , wherein said parity check circuit reads a plurality of bits from said parity row, changes said flagged bits, and rewrites said plurality of bits to said parity row.

7. A circuit as defined in claim 4 , further comprising a parity bit change circuit for comparing data latched by said read latch with data latched by said write latch and inverting an associate column parity bit if said comparison results in a mismatch.

Assignments (3)
MERGER Recorded Jan 28, 2016
From: SATECH GROUP A.B. LIMITED LIABILITY COMPANY
To: CHARTOLEAUX KG LIMITED LIABILITY COMPANY
Reel/Frame 037613/0632 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2008
From: MOSAID TECHNOLOGIES INCORPORATED
To: SATECH GROUP A.B. LIMITED LIABILITY COMPANY
Reel/Frame 021040/0648 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2003
From: FOSS, RICHARD; ROTH, ALAN
To: MOSAID TECHNOLOGIES
Reel/Frame 014514/0986 →