TIMESTAMP BASED TRANSACTIONAL MEMORY
First Claim
1. A computing apparatus, comprising:
- a main memory system;
multiple processing units in communication with said main memory system, said processing units execute software that performs transactions of memory accesses for said main memory system, said transactions include transactional write operations and transactional read operations;
a transaction processing control circuit in communication with said multiple processing units;
a first memory circuit in communication with said transaction processing circuit, said transaction processing circuit stores temporary write data in said first memory circuit in response to transactional write operations; and
a second memory circuit in communication with said transaction processing circuit, said second memory circuit stores timestamps, each time stamp is associated with data for said main memory system, said transactional processing system commits a particular transaction by allowing data from said first memory circuit corresponding to a transaction write for said particular transaction to be written to said main memory system if a set of one or more timestamps stored in said second memory system that correspond to transactional reads for said particular transaction are prior to a start time for said particular transaction.
2 Assignments
0 Petitions
Accused Products
Abstract
A hardware implemented transactional memory system includes a mechanism to allow multiple processors to access the same memory system. A set of timestamps are stored that each correspond to a region of memory. A time stamp is updated when any memory in its associated region is updated. For each memory transaction, the time at which the transaction begins is recorded. Write operations that are part of a transaction are performed by writing the data to temporary memory. When a transaction is to be recorded, the hardware automatically commits the transaction by determining whether the timestamps associated with data read for the transaction are all prior to the start time for the transaction. In this manner, the software need not check the data for all other processes or otherwise manage collision of data with respect to different processes. The software need only identify which reads and writes are part of a transaction.
97 Citations
20 Claims
-
1. A computing apparatus, comprising:
-
a main memory system; multiple processing units in communication with said main memory system, said processing units execute software that performs transactions of memory accesses for said main memory system, said transactions include transactional write operations and transactional read operations; a transaction processing control circuit in communication with said multiple processing units; a first memory circuit in communication with said transaction processing circuit, said transaction processing circuit stores temporary write data in said first memory circuit in response to transactional write operations; and a second memory circuit in communication with said transaction processing circuit, said second memory circuit stores timestamps, each time stamp is associated with data for said main memory system, said transactional processing system commits a particular transaction by allowing data from said first memory circuit corresponding to a transaction write for said particular transaction to be written to said main memory system if a set of one or more timestamps stored in said second memory system that correspond to transactional reads for said particular transaction are prior to a start time for said particular transaction. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method performed by a computing system that performs transactions of memory accesses, said transactions includes transactional writes and transactional reads, said method comprising:
-
storing read addresses in response to transactional reads; storing write data in a temporary condition in response to transactional writes; using hardware to create timestamps and associate said timestamps with memory, said timestamps are not referenced by software; and committing transactions, said committing transactions is performed by hardware without software in said computing system checking other processes'"'"' data to avoid collisions of memory accesses. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A computing apparatus, comprising:
-
a main memory system; multiple processing units in communication with said main memory system, said processing units execute software that performs transactions of memory accesses for said main memory system, said transactions includes transactional reads and transactional writes; an interface circuit in communication with said processing units and said main memory system; a transactional control circuit in communication with said interface circuit; a memory circuit, in communication with said transactional control circuit, that stores transactional start times; a memory circuit, in communication with said transactional control circuit, that stores transactional identifications; a memory circuit, in communication with said transactional control circuit, that stores transactional read addresses; one or more memory circuits, in communication with said transactional control circuit, that store transactional write addresses and transactional write data; and a memory circuit, in communication with said transactional control circuit, that stores timestamps associated with said main memory system. - View Dependent Claims (18, 19, 20)
-
Specification