Claims
- 1. A method of searching a Content Addressable Memory for entities which are smaller than Content Addressable Memory entries comprising:
storing entities in respective columns of the Content Addressable Memory; selecting a column to be searched based on a property of an entity search key; and applying the entity search key to the selected column to search for a match.
- 2. The method of claim 1 wherein the column is selected based on a result of a hash function performed on at least a portion of the entity search key.
- 3. The method of claim 1 wherein the column is selected based on a result of a hash function performed on less than all bits in the entity search key.
- 4. The method of claim 1 wherein the entity search key is applied by shifting the entity search key to bit locations in a Content Addressable Memory search key corresponding to the selected column and performing a masked search masking nonselected columns.
- 5. The method of claim 2 wherein the hash function evenly distributes entities across the plurality of columns in the Content Addressable Memory.
- 6. The method of claim 5 wherein the hash function performs a parity test on the portion of the entity search key.
- 7. The method of claim 5 wherein the hash function performs a CRC test on the portion of the entity search key.
- 8. The method of claim 2 wherein the Content Addressable Memory has 4 columns for storing IP addresses, the hash function performed on 16 most significant bits of the entity search key.
- 9. The method of claim 8 wherein the hash function computes parity of even bits and parity of odd bits in the 16 most significant bits of the entity search key.
- 10. An apparatus for searching a Content Addressable Memory for entities which are smaller than Content Addressable Memory entries comprising:
categorization function logic which selects a column of the Content Addressable Memory to be searched based on a property of an entity search key, the Content Addressable Memory storing entities in respective columns; and bit shift logic which applies the entity search key to the selected column to search for a match.
- 11. The apparatus of claim 10 wherein the column is selected based on a result of a hash function performed on at least a portion of the search key.
- 12. The apparatus of claim 10 wherein the column is selected based on a result of a hash function performed on less than all of bits in the entity search key.
- 13. The apparatus of claim 10 wherein the bit shift logic applies the entity search key by shifting the entity search key to bit locations in a Content Addressable Memory search key corresponding to the selected column and performing a masked search masking nonselected columns.
- 14. The apparatus of claim 11 wherein the hash function evenly distributes entities across the plurality of columns in the Content Addressable Memory.
- 15. The apparatus of claim 14 wherein the hash function performs a parity test on the portion of the entity search key.
- 16. The apparatus of claim 14 wherein the hash function performs a CRC test on the portion of the entity search key.
- 17. The apparatus of claim 11 wherein the Content Addressable Memory has 4 columns, each columns storing an IP addresses, the hash function performed on 16 most significant bits of the column.
- 18. The apparatus of claim 17 wherein the hash function computes parity of even bits and parity of odd bits in the 16 most significant bits of the entity search key.
- 19. An apparatus for searching a Content Addressable Memory for entities which are smaller than Content Addressable Memory entries comprising:
means for storing entities in respective columns of the Content Addressable Memory; means for selecting a column to be searched based on a property of an entity search key; and means for applying the entity search key to the selected column to search for a match.
RELATED APPLICATION
[0001] This application claims the benefit of U.S. Provisional Application No. 60/434,840, filed on Dec. 19, 2002. The entire teachings of the above application are incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60434840 |
Dec 2002 |
US |