Patent ID: 7472237

Claim:
A processor for offloading processing in a storage environment, comprising: a zero bus turnaround (“ZBT”) interface that interfaces said processor to a network processor configured to perform a storage function; a hash bucket memory having an array of bit-bucket pointers that each operate as a head pointer to a linked list of active semaphore structures, the hash bucket memory addressable by a hash address derived through application of a hash function to a semaphore value and wherein each semaphore structure accommodates a current thread that owns a semaphore and potentially one or more waiting threads in a queue waiting for release of the semaphore; semaphore circuitry, coupled to said ZBT interface, that receives a signal from said network processor, and that controls said semaphore associated with the corresponding predetermined linked list of active semaphore structures in the hash bucket memory wherein the received signal and said semaphore are related to locking and unlocking access to data in the storage environment; and an update engine, further included in the semaphore circuitry, that upon receipt of a received signal from said network processor relating to a thread on said network processor, processes said semaphore related to said received signal and responds, as required, by sending a transmitted signal back to said network processor in association with said semaphore.