Error correcting content addressable memory
First Claim
1. A content addressable memory (CAM), comprising:
- a first set of CAM locations coupled to store a first set of values;
a second set of CAM locations coupled to store a second set of values;
an input control circuit coupled to the first and second sets of CAM locations and operable in an error detection mode and a normal mode, wherein the second set of values is a copy of the first set of values when the input control circuit is in the error detection mode, and wherein the second set of values is independent from the first set of values when the input control circuit is in the normal mode; and
a comparator coupled to compare a search key value against the first and second set of values and report an error if a first location within the first set of CAM locations that produces a match is different from a first location within the second set of CAM locations that produces a match when the input control circuit is in the error detection mode.
11 Assignments
0 Petitions
Accused Products
Abstract
A CAM and method for operating a CAM are presented. Copies of a CAM database are duplicated and placed in a first set of CAM locations and a second set of CAM locations. An error detector is used to determine false matches in the case of soft errors within the entries producing those false matches. While the entries producing a match should have the same index location, errors might cause those match lines to have an offset. If so, the present CAM, through use of duplicative sets of CAM locations, will detect the offset and thereafter the values in each index location that produces a match, along with the corresponding parity or error detection encoding bit(s). If the parity or error detection encoding bit(s) indicate an error in a particular entry, then that error is located and the corresponding entry at the same index within the other, duplicative set of CAM locations is copied into the that erroneous entry. Since duplicative copies are by design placed into the first and second sets of CAM locations, whatever value exists in the opposing entry can be written into the erroneous entry to correct errors in that search location. The first and second sets of CAM locations are configurable to be duplicative or distinct in content, allowing error detection and correction to be performed at multiple user-specified granularities. The error detection and correction during search is backward compatible to interim parity scrubbing and ECC scan, as well as use of FNH bits set by a user or provider.
-
Citations
31 Claims
-
1. A content addressable memory (CAM), comprising:
-
a first set of CAM locations coupled to store a first set of values; a second set of CAM locations coupled to store a second set of values; an input control circuit coupled to the first and second sets of CAM locations and operable in an error detection mode and a normal mode, wherein the second set of values is a copy of the first set of values when the input control circuit is in the error detection mode, and wherein the second set of values is independent from the first set of values when the input control circuit is in the normal mode; and a comparator coupled to compare a search key value against the first and second set of values and report an error if a first location within the first set of CAM locations that produces a match is different from a first location within the second set of CAM locations that produces a match when the input control circuit is in the error detection mode. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A content addressable memory (CAM), comprising:
-
a first block of CAM locations; a second block of CAM locations; and an input control circuit operable in an error detection mode to receive a set of values and to store the set of values in the first block of CAM locations and a copy of the set of values in the second block of CAM locations, and operable in a normal mode to receive first and second sets of values and to store the first set of values in the first block of CAM locations and the second set of values in the second block of CAM locations. - View Dependent Claims (18, 19, 20, 21, 31)
-
-
22. A method of operation within a content addressable memory (CAM), comprising:
-
selecting between an error detection mode of operation and a normal mode of operation in response to a signal received by an input control circuit; storing a first set of values in a first set of CAM locations and a duplicative set of values in a second set of CAM locations when the error detection mode is selected; searching for matches between a key and duplicative sets of values within the respective first and second sets of CAM locations; recording the first location within the first set of CAM locations and the first location within the second set of CAM locations that produce a match; and generating an error if the first location within the first set of CAM locations is at a different index than the first location within the second set of CAM locations. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30)
-
Specification