×

Lookups by collisionless direct tables and CAMs

  • US 7,116,664 B2
  • Filed: 05/13/2002
  • Issued: 10/03/2006
  • Est. Priority Date: 05/13/2002
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method of preventing collisions between two or more binary keys wherein each binary key corresponds to an action to be taken, comprising the steps of:

  • providing a hash table having a plurality of entries indexed by a selected portion of hash values of said binary keys, each entry pointing to a location in a data structure for storing the non-selected portions of, or the entire hash value of, the binary key and action data corresponding to the value of the binary key, and a contact addressable memory (CAM) having a plurality of entries, each configured to store a binary key, or a value unique to a binary key, and an association to a corresponding action associated therewith;

    storing in said hash table a pointer to said data structure using a selected one portion of the hash values of binary keys as an index into the hash table when and only when said selected one portion of the hash value is not the selected one portion of the hash value of any other binary key, and storing in the CAM binary keys or values unique to said binary keys, and establishing an association between said CAM entry locations and locations of said data structures, when and only when the selected portion of the hash value of any such binary key is the same as the selected portion of the hash value of one or more other binary keys, and wherein deletion of an entry from the hash table or CAM is accomplished by;

    seeking the binary key in the CAM and, if found, then deleting this key and ending the program;

    if the key is not found, then seek the selected portion of the hash value in the hash table, if a match is not found, end program;

    if a match is found, compare the remainder of hash value,if a match is found, delete portion of hash value from hash table;

    if a match is not found, end program.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×