Patentable/Patents/US-10817390
US-10817390

Imparting durability to a transactional memory system

PublishedOctober 27, 2020
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

A transactional memory system uses a volatile memory as primary storage for transactions. Data is selectively stored in a non-volatile memory to impart durability to the transactional memory system to allow the transactional memory system to be restored to a consistent state in the event of data loss to the volatile memory.

Patent Claims
17 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method comprising: storing, by a transactional memory system, transaction data in a volatile memory, wherein the volatile memory is a primary storage for the transaction data, wherein the transactional memory system instills properties of atomicity, consistency and isolation for transactions utilizing the transactional memory system, and wherein the transactions are associated with a plurality of processing entities that share a memory of the transactional memory system; selectively storing, by a transaction durability engine, data in a non-volatile memory, wherein the selective storing allows the transactional memory system to be restored to a consistent state in an event of data loss to the volatile memory, and wherein the selective storing comprises: copying the transaction data stored in the volatile memory into a first non-volatile memory region of the non-volatile memory; generating a checkpoint based on the copied transaction data; and logging a record that reflects a second transaction that occurred after the generation of the checkpoint in a second non-volatile memory region of the non-volatile memory; receiving partitioned logs from a log queue; determining to write the partitioned logs from the log queue to the non-volatile memory; writing the partitioned logs to the non-volatile memory; and updating a logger logical sequence number (LSN) based on writing the partitioned logs.

2

2. The method of claim 1 , further comprising associating the copied transaction data with ordering identifiers assigned by the transactional memory system to the transactions that generated the copied transaction data.

3

3. The method of claim 1 , wherein the second non-volatile memory region is associated with partitions, each of the partitions being associated with a different transaction generating entity.

4

4. The method of claim 1 , wherein the checkpoint is indicative of a full record of a heap in the volatile memory used by the transactional memory system.

5

5. The method of claim 1 , wherein the selective storing the transaction data is performed in at least one of the following memories: NAND flash memory, phase change memory, and memristor memory.

6

6. The method of claim 1 , further comprising: in response to a data loss in the volatile memory, reconstructing transactional memory data.

7

7. The method of claim 1 , wherein the volatile memory contains a full record of a current state of the transactional memory system and application state, and the method further comprises: dividing, by the transaction durability engine, the volatile memory into partitioned logs; and storing the partitioned logs in the non-volatile memory.

8

8. The method of claim 1 , wherein the logger logical sequence number (LSN) corresponds with a range of values associated with the transaction data corresponding with the partitioned logs.

9

9. An article comprising at least one non-transitory machine-readable storage medium storing instructions that upon execution cause a system having at least one processor to: store, by a transactional memory system, transaction data in a volatile memory, wherein use a volatile memory is a primary storage for the transaction data, wherein the transactions are associated with a plurality of processing entities that share a memory of the transactional memory system, wherein the transactional memory system instills properties of atomicity, consistency and isolation for the transactions utilizing the transactional memory system; selectively store, by a transaction durability engine, data in a non-volatile memory, wherein the selective storing imparts durability to the transactional memory system to allows the transactional memory system to be restored to a consistent state in an event of data loss to the volatile memory, and wherein the selective storing comprises: copying the transaction data stored in the volatile memory into a first non-volatile memory region of the non-volatile memory; generating a checkpoint based on the copied transaction data; and logging a record that reflect a second transaction that occurred after the generation of the checkpoint in a second non-volatile memory region of the non-volatile memory; receive partitioned logs from a log queue; determine to write the partitioned logs from the log queue to the non-volatile memory; write the partitioned logs to the non-volatile memory; and update a logger logical sequence number (LSN) based on writing the partitioned logs.

10

10. An apparatus comprising: a volatile memory to store transaction data, wherein the volatile memory is a primary storage for the transaction data; a non-volatile memory; a transactional memory system instilling properties of atomicity, consistency and isolation for transactions utilizing the transactional memory system, wherein the transactions are associated with a plurality of processing entities that share a memory of the transactional memory system; a transaction durability engine selectively storing data in the non-volatile memory, wherein the selective storing imparts durability to the transactional memory system to allows the transactional memory system to be restored to a consistent state in an event of data loss to the volatile memory, and wherein the selective storing comprises: copying the transaction data stored in the volatile memory into a first non-volatile memory region of the non-volatile memory; generating a checkpoint based on the copied transaction data; and logging a record that reflect a second transaction that occurred after the generation of the checkpoint in a second non-volatile memory region of the non-volatile memory; wherein the apparatus further to: receiving partitioned logs from a plurality of log queues, wherein each of the partitioned logs corresponds with one of the plurality of log queues; determining whether to write the partitioned logs from the plurality of log queues to the non-volatile memory; and generating a notification associated with the determination of whether to write the partitioned logs.

11

11. The apparatus of claim 10 , wherein the transactional memory system is further adapted to associate the copied transaction data with ordering identifiers assigned by the transactional memory system to the transactions that generated the copied transaction data.

12

12. The apparatus of claim 10 , wherein the second non-volatile memory region is associated with partitions, each of the partitions being associated with a different transaction generating entity.

13

13. The apparatus of claim 10 , wherein the checkpoint is indicative of a full record of a heap in the volatile memory used by the transactional memory system.

14

14. The apparatus of claim 10 , wherein the non-volatile memory comprises at least one of the following memories: NAND flash memory, phase change memory and memristor memory.

15

15. The apparatus of claim 10 , wherein the transactional memory system is further adapted to reconstruct transactional memory data in response to a data loss in the volatile memory.

16

16. The apparatus of claim 10 , wherein the transactional memory system is further adapted to provide confirmations to threads indicating that asynchronous transactions have been stored in the non-volatile memory.

17

17. The apparatus of claim 10 , wherein the notification is transmitted to a transaction thread.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

September 14, 2011

Publication Date

October 27, 2020

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Imparting durability to a transactional memory system” (US-10817390). https://patentable.app/patents/US-10817390

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.