Patent ID: 9146920
Filing Date: 2015-09-29
Classification: G06F

Abstract:
1. A transactional memory that receives a hash key, comprising: a memory that stores a hash table and a data structure table, wherein the data structure table includes a plurality of data structures, wherein the hash table includes a plurality of hash buckets, wherein each hash bucket includes a plurality of hash bucket locations, wherein each hash bucket location includes a lock field and a hash key field, and wherein each hash bucket location corresponds to an associated data structure in the data structure table; and a hardware engine that causes the transactional memory to perform an Atomic Look-Up, Add, and Lock (ALAL) operation by receiving a hash index that corresponds to a hash bucket and a hash key, and determining a hash bucket address based on the hash index, and by performing a hash lookup operation and thereby determining if the hash key is present in the hash table, and returning a result packet when the hash key is present in the table, wherein the hardware engine further comprises: a state machine array comprising a plurality of state machines, wherein an ALAL command is received by one of the plurality of state machines; and a register pool comprising a controller and a plurality of registers, wherein one of the plurality of state machines causes a pull command to be sent to a processor, and wherein the pull command causes the hash key to be communicated from the processor and to the transactional memory such that the hash key is written into one of the plurality of registers within the register pool.