Patent ID: 8930644
Filing Date: 2015-01-06
Classification: G06F

Abstract:
1. A configurable transactional memory for synchronizing a plurality of transactions from a plurality of clients, each client having a respective transaction in progress until a completion status is generated for the respective transaction, the respective transaction in progress from the client including at least one access, each access is one of a read access or a write access referencing a location in the configurable transactional memory, comprising: a memory buffer including allocation control and storage, wherein the allocation control is configurable to selectively allocate the storage between a transactional buffer and a data buffer for the data words, the transactional buffer arranged to store state indicating each combination of a data word and a client for which the data word is referenced by a write access in the respective transaction in progress from the client; and a transactional arbiter coupled to the memory buffer and configured to generate, in response to the state, the completion status of the respective transaction in progress from each client, wherein the completion status is one of committed in response to an absence of a collision and aborted in response to a presence of a collision, and the collision is present for an access that references a data word of the respective transaction from the client following a write access that references the data word of another transaction in progress from another client; wherein the transactional arbiter notifies the client that the client is permitted to commit the respective transaction because of the absence of the collision for the respective transaction.