High speed CAM lookup using stored encoded key
First Claim
1. A method of accessing a Content Addressable Memory (CAM) having a plurality of encoded key fields, comprising:
- encoding a search key;
storing the encoded search key; and
accessing the CAM using the stored, encoded search key.
2 Assignments
0 Petitions
Accused Products
Abstract
The search key and key fields of a CAM in a cache are encoded with a Hamming distance of at least two to increase the speed of the CAM by ensuring each mismatching match line is discharged by at least two transistors in parallel. Where the cache is physically tagged, the search key is a physical address. The page address portion of the physical address is encoded prior to being stored in a TLB. The page offset bits are encoded in parallel with the TLB access, and concatenated with the encoded TLB entry. If a page address addresses a large memory page size, a plurality of corresponding sub-page addresses may be generated, each addressing a smaller page size. These sub-page addresses may be encoded and stored in a micro TLB. The encoded key and key field are tolerant of single-bit soft errors.
46 Citations
22 Claims
-
1. A method of accessing a Content Addressable Memory (CAM) having a plurality of encoded key fields, comprising:
-
encoding a search key;
storing the encoded search key; and
accessing the CAM using the stored, encoded search key. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of matching an address in a Content Addressable Memory (CAM), comprising:
-
storing an encoded version of at the address as a key field in the CAM;
storing an encoded version of a page address portion of the address in a Translation Lookaside Buffer (TLB); and
comparing the encoded address from the TLB against a plurality of encoded key fields in the CAM to detect a match. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A processor, comprising:
-
a cache memory comprising a Content Addressable Memory (CAM) and Random Access Memory (RAM), the cache operative to store or supply data to or from a RAM entry when a search key matches a corresponding key field stored in the CAM, the key fields encoded by a Hamming distance of at least two; and
a Translation Lookaside Buffer (TLB) operative to store and output page addresses as search keys for the CAM, the page addresses encoded by the same algorithm as the CAM key fields. - View Dependent Claims (19, 20, 21, 22)
-
Specification