Electrical computers and digital processing systems: memory – Storage accessing and control – Specific memory composition
Reexamination Certificate
1998-08-07
2002-05-14
Yoo, Do Hyun (Department: 2187)
Electrical computers and digital processing systems: memory
Storage accessing and control
Specific memory composition
C711S108000, C365S049130
Reexamination Certificate
active
06389506
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to a ternary CAM.
2. Related Art
In computer networks for transmitting information, routing devices are used to process incoming messages and to determine the disposition for those messages. Most messages are ultimately forwarded to their destination, using routing information maintained at the router and used in response to routing information contained in a header for the message.
One problem in the known art is that the task of processing incoming messages by the router can take substantial time. Performing additional functions besides forwarding could also increase the amount of processing time. These additional functions can include access control, quality of service features, and implementing other administrative policies. Accordingly, it would be advantageous to reduce the amount of processing time used by the router, so as to be able to route more messages in each unit time.
One known solution is to organize routing information in the router so it can be readily accessed, such as using a tree structure, a trie structure, or a hash table. While these methods of data access are relatively quick, they still take an amount of time that grows with the number of possible different selections. For example, some of these methods take about O(log N) time to perform, where N is the number of possible different selections. When the number of possible different selections is large, this can represent a substantial amount of processing time for each message. These methods of data access also have the drawback that they take variable amounts of time. This makes allocating processing time, queueing space, and other router (or switch) resources more difficult. Accordingly, it would be advantageous to be able to process each message in a known bounded time, such as O(constant) time.
One idea with promise is to use a CAM (content addressable memory) to match key information from each incoming message with a disposition for that message. However, the information used for routing has a great deal of redundancy. Having one entry in the CAM for each possible set of routing information (or even for each set of routing information known to the router), the CAM would need to be unduly large and unwieldy. Accordingly, it would be desirable to have one entry in the CAM stand for multiple sets of routing information.
One known method by which each CAM entry can stand for multiple sets of information is to provide a ternary CAM, that is, one in which each bit entry for matching is either a logical “0,” a logical “1,” or a logical “don't care.” In known ternary CAMs, each entry for matching comprises two bits for each value bit, a first bit to indicate whether the bit need be matched at all, and a second bit to indicate (if matched) to what value the bit must match. However, by providing a mask bit for each value bit (thus, two bits total for each value bit) these known ternary CAMs have a relatively large amount of overhead. This limits the maximum size of the CAM that can be implemented in a selected chip area with a selected manufacturing technology.
Accordingly, it would be desirable to provide a method and system for flexible matching of data in a CAM that does not use the overhead of one mask bit for each matched value bit. This advantage is achieved in an embodiment of the invention in which the entries of the CAM are logically grouped in a set of blocks, each block having a single mask that applies to all entries in the block.
SUMMARY OF THE INVENTION
The invention provides a method and system for flexible matching of data in a CAM that does not use the overhead of one mask bit for each matched value bit. The entries of the CAM are logically grouped in a set of blocks, each block having a single mask that applies to all entries in the block. In a preferred embodiment, each block includes a predetermined number of CAM entries, such as a block of 16 entries. However, in alternative embodiments, the number of CAM entries for each block could be predetermined to be a different number, or could be dynamically selected with the values that are entered into the CAM.
REFERENCES:
patent: 4131767 (1978-12-01), Weinstein
patent: 4161719 (1979-07-01), Parikh et al.
patent: 4316284 (1982-02-01), Howson
patent: 4397020 (1983-08-01), Howson
patent: 4419728 (1983-12-01), Larson
patent: 4424565 (1984-01-01), Larson
patent: 4437087 (1984-03-01), Petr
patent: 4438511 (1984-03-01), Baran
patent: 4439763 (1984-03-01), Limb
patent: 4445213 (1984-04-01), Baugh et al.
patent: 4446555 (1984-05-01), Devault et al.
patent: 4456957 (1984-06-01), Schieltz
patent: 4464658 (1984-08-01), Thelen
patent: 4491945 (1985-01-01), Turner
patent: 4499576 (1985-02-01), Fraser
patent: 4506358 (1985-03-01), Montgomery
patent: 4507760 (1985-03-01), Fraser
patent: 4532626 (1985-07-01), Flores et al.
patent: 4644532 (1987-02-01), George et al.
patent: 4646287 (1987-02-01), Larson et al.
patent: 4677423 (1987-06-01), Benvenuto et al.
patent: 4679189 (1987-07-01), Olson et al.
patent: 4679227 (1987-07-01), Hughes-Hartogs
patent: 4723267 (1988-02-01), Jones et al.
patent: 4731816 (1988-03-01), Hughes-Hartogs
patent: 4750136 (1988-06-01), Arpin et al.
patent: 4757495 (1988-07-01), Decker et al.
patent: 4763191 (1988-08-01), Gordon et al.
patent: 4769810 (1988-09-01), Eckberg, Jr. et al.
patent: 4769811 (1988-09-01), Eckberg, Jr. et al.
patent: 4771425 (1988-09-01), Baran et al.
patent: 4819228 (1989-04-01), Baran et al.
patent: 4827411 (1989-05-01), Arrowood et al.
patent: 4833706 (1989-05-01), Hughes-Hartogs
patent: 4835737 (1989-05-01), Herrig et al.
patent: 4879551 (1989-11-01), Georgiou et al.
patent: 4893306 (1990-01-01), Chao et al.
patent: 4903261 (1990-02-01), Baran et al.
patent: 4922486 (1990-05-01), Lidinsky et al.
patent: 4933937 (1990-06-01), Konishi
patent: 4960310 (1990-10-01), Cushing
patent: 4962497 (1990-10-01), Ferenc et al.
patent: 4962532 (1990-10-01), Kasirai et al.
patent: 4965767 (1990-10-01), Kinoshita et al.
patent: 4965772 (1990-10-01), Daniel et al.
patent: 4970678 (1990-11-01), Sladowski et al.
patent: 4979118 (1990-12-01), Kheradpir
patent: 4980897 (1990-12-01), Decker et al.
patent: 4991169 (1991-02-01), Davis et al.
patent: 5003595 (1991-03-01), Collins et al.
patent: 5014265 (1991-05-01), Hahne et al.
patent: 5020058 (1991-05-01), Holden et al.
patent: 5033076 (1991-07-01), Jones et al.
patent: 5034919 (1991-07-01), Sasai et al.
patent: 5054034 (1991-10-01), Hughes-Hartogs
patent: 5059925 (1991-10-01), Weisbloom
patent: 5072449 (1991-12-01), Enns et al.
patent: 5088032 (1992-02-01), Bosack
patent: 5095480 (1992-03-01), Fenner
patent: RE33900 (1992-04-01), Howson
patent: 5115431 (1992-05-01), Williams et al.
patent: 5128945 (1992-07-01), Enns et al.
patent: 5136580 (1992-08-01), Videlock et al.
patent: 5166930 (1992-11-01), Braff et al.
patent: 5199049 (1993-03-01), Wilson
patent: 5206886 (1993-04-01), Bingham
patent: 5208811 (1993-05-01), Kashio et al.
patent: 5212686 (1993-05-01), Joy et al.
patent: 5224099 (1993-06-01), Corbalis et al.
patent: 5226120 (1993-07-01), Brown et al.
patent: 5228062 (1993-07-01), Bingham
patent: 5229994 (1993-07-01), Balzano et al.
patent: 5237564 (1993-08-01), Lespagnol et al.
patent: 5241682 (1993-08-01), Bryant et al.
patent: 5243342 (1993-09-01), Kattemalalavadi et al.
patent: 5243596 (1993-09-01), Port et al.
patent: 5247516 (1993-09-01), Bernstein et al.
patent: 5249178 (1993-09-01), Kurano et al.
patent: 5253251 (1993-10-01), Aramaki
patent: 5255291 (1993-10-01), Holden et al.
patent: 5260933 (1993-11-01), Rouse
patent: 5260978 (1993-11-01), Fleischer et al.
patent: 5268592 (1993-12-01), Bellamy et al.
patent: 5268900 (1993-12-01), Hluchyj et al.
patent: 5271004 (1993-12-01), Proctor et al.
patent: 5274631 (1993-12-01), Bhardwaj
patent: 5274635 (1993-12-01), Rahman et al.
patent: 5274643 (1993-12-01), Fisk
patent: 5280470 (1994-01-01), Buhrke et al.
patent: 5280480 (1994-01-01), Pitt et al.
patent: 5280500 (1994-01-01), Mazzola et al.
patent: 5283783 (1994-02-01), Nguyen et al.
patent: 5
Bechtolsheim Andreas V.
Ross Mark
Cisco Technology Inc.
Namazi Mehdi
Yoo Do Hyun
LandOfFree
Block mask ternary cam does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Block mask ternary cam, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Block mask ternary cam will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2849510