Method and apparatus for matching data items of variable length in a content addressable memory
First Claim
1. A content addressable memory (CAM) structure for storing and locating data items of various lengths, the structure comprising:
- a set of CAM data words, each having a predetermined number of data bits and a plurality of control bits, including a match till now bit and a begin bit to be set when a respective CAM data word contains a first word of a stored data item;
means for inputting one word at a time of a sequence of input data words for simultaneous comparison with all of the CAM data words;
a comparator circuit associated with each respective CAM data word, for comparing the respective CAM data word with the inputted one word of input data, and generating a word match signal for the respective CAM data word as a result of the comparison;
match logic associated with each CAM data word, for generating a match till now signal indicating that the CAM data word and a preceding CAM data word have matched with a corresponding succession of input data words;
means associated with each CAM data word, for generating an exact match signal if the match till now signal is generated for the respective CAM data word and the respective CAM data word contains a last word of a stored data item; and
global match logic, for generating global match signals based on the match till now signals and exact match signals generated in all of the CAM data words,wherein the match logic determines a setting for the match till now bit of the respective CAM data word based on the begin bit, the respective word match signal, a setting of the match till now bit associated with a preceding CAM data word, and a global signal indicating that a current input data word is a first word of an input data item.
13 Assignments
0 Petitions
Accused Products
Abstract
A content addressable memory (CAM) structure, and a method for its use, wherein data items of different selected lengths stored in the CAM may be located by matching sequences of CAM data words with sequences of input data words. Extension bits associated with each CAM data word control a sequence of comparison cycles to permit an input data item to be compared simultaneously with multiple input data items of the same length stored in the CAM structure. The CAM structure can be used without modification to store data items of various selected lengths. A begin bit associated with each CAM data word is used to mark the beginning of each stored data item and, in an exact match mode of operation, a global line is used to mark the beginning of an input data item. Match logic associated with each CAM data word generates a match till now signal in each comparison cycle, and the signal is propagated to the end of the data item if an exact match is detected. The exact match and match till now signals are used to generate various global match indications in the CAM structure. The same CAM structure can also be operated in a sliding match mode in which each stored data item is compared with every possible sequence of input data words.
-
Citations
16 Claims
-
1. A content addressable memory (CAM) structure for storing and locating data items of various lengths, the structure comprising:
-
a set of CAM data words, each having a predetermined number of data bits and a plurality of control bits, including a match till now bit and a begin bit to be set when a respective CAM data word contains a first word of a stored data item; means for inputting one word at a time of a sequence of input data words for simultaneous comparison with all of the CAM data words; a comparator circuit associated with each respective CAM data word, for comparing the respective CAM data word with the inputted one word of input data, and generating a word match signal for the respective CAM data word as a result of the comparison; match logic associated with each CAM data word, for generating a match till now signal indicating that the CAM data word and a preceding CAM data word have matched with a corresponding succession of input data words; means associated with each CAM data word, for generating an exact match signal if the match till now signal is generated for the respective CAM data word and the respective CAM data word contains a last word of a stored data item; and global match logic, for generating global match signals based on the match till now signals and exact match signals generated in all of the CAM data words, wherein the match logic determines a setting for the match till now bit of the respective CAM data word based on the begin bit, the respective word match signal, a setting of the match till now bit associated with a preceding CAM data word, and a global signal indicating that a current input data word is a first word of an input data item. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of operation of a content addressable memory (CAM) structure for storing and locating data items of various lengths, the CAM structure including a set of CAM data words, each having a predetermined number of data bits and a plurality of control bits, including a match till now bit and a begin bit to be set when a respective CAM data word contains a first word of a stored data item, the method comprising the steps of:
-
inputting one word at a time of a sequence of input data words for simultaneous comparison with all of the CAM data words; comparing, in a comparator circuit associated with each respective CAM data word, the respective CAM data word with the inputted one word of input data, and generating a word match signal for the respective CAM data word as a result of the comparison; generating for each CAM data word a match till now signal indicating whether the respective CAM data word and a preceding CAM data word have matched with a corresponding succession of input data words; generating for each CAM data word an exact match signal if the match till now signal is generated for the respective CAM data word and the respective CAM data word contains a last word of a stored data item; and generating global match signals based on the match till now signals and exact match signals generated in all of the CAM data words, wherein the step of generating a match till now signal for the respective CAM data word is based on the begin bit, the respective word match signal, the match till now bit associated with a preceding CAM data word, and a global signal indicating that a current input data word is a first word of an input data item. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification