Patent ID: 7058642

Claim:
A device comprising: a key generation unit, the key generation unit to access data in a received packet and generate a key containing at least a portion of the data; a hashing unit, the hashing unit to receive a key from the key generation unit and apply a hashing function to the received key to create an n-bit hash value; a first memory to store a key database, the key database including a number of sizes of sections, each of the sections to store at least one data entry, wherein each of the data entries within a section includes a key having the same hash value; a number of head pointer registers, the number of head pointer registers equal to the number of sizes, each of the number of head pointer registers to identify a first free section of one of the sizes of sections; and a second memory coupled with the first memory and the hashing unit, the second memory to store an index table, the index table including a number of entries, each of the entries corresponding to one n-bit hash value, said each entry including a number of valid bits to indicate allocation of one of the sections of the key database and a section pointer to identify a location in the first memory of the allocated section.