Patent attributes
A buffer availability manager ensures that buffers are available before processes write thereto. The buffer availability manager maintains a plurality of register sets corresponding to the plurality of buffers. Each register set comprises a status indicator and a generation counter. Prior to writing to a buffer, the corresponding register set is read. Data is written to an individual buffer only if the status indicator indicates that the buffer is not busy, and the current value of the generation counter is not equal to a stored value from a prior register set read. The buffer availability manager detects writing of data to the buffer, and in response updates the status indicator to indicate that the buffer is busy. After processing the data in the buffer, the buffer availability manager updates the status indicator to not busy, and updates the value of the generation counter.