Movatterモバイル変換


[0]ホーム

URL:


US20140075086A1 - Durable transactions with storage-class memory - Google Patents

Durable transactions with storage-class memory
Download PDF

Info

Publication number
US20140075086A1
US20140075086A1US13/614,735US201213614735AUS2014075086A1US 20140075086 A1US20140075086 A1US 20140075086A1US 201213614735 AUS201213614735 AUS 201213614735AUS 2014075086 A1US2014075086 A1US 2014075086A1
Authority
US
United States
Prior art keywords
memory
cache lines
memory buffer
received transaction
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US13/614,735
Inventor
Mohammad Banikazemi
John Alan Bivens
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines CorpfiledCriticalInternational Business Machines Corp
Priority to US13/614,735priorityCriticalpatent/US20140075086A1/en
Publication of US20140075086A1publicationCriticalpatent/US20140075086A1/en
Abandonedlegal-statusCriticalCurrent

Links

Images

Classifications

Definitions

Landscapes

Abstract

A method for conducting memory transactions includes receiving a transaction. The steps of the received transaction are performed in a memory buffer. A state of the memory buffer cache lines is set as pending and unstored while the transaction is in progress. After all steps have been successfully performed, the state of the memory buffer cache lines are changed to complete and unstored. When it is determined that the memory buffer cache lines are to be written to the non-volatile main memory, the contents is written to the non-volatile main memory. The state of the memory buffer cache lines are then changed to complete and stored. When the memory buffer cache lines are in the complete and unstored state, access to modify their content is restricted.

Description

Claims (20)

What is claimed is:
1. A method for conducting memory transactions, comprising:
receiving a transaction including at least two steps;
performing a first step of the received transaction in a memory buffer including a plurality of cache lines;
setting a state of the memory buffer cache lines affected by the received transaction as pending and unstored;
performing all additional remaining steps of the received transaction in the memory buffer;
changing the state of the memory buffer cache lines affected by the received transaction to complete and unstored after all the additional remaining steps have been performed;
determining when the memory buffer cache lines affected by the received transaction are to be written to a non-volatile main memory and, when it is determined that the memory buffer cache lines affected by the received transaction are to be written to the non-volatile main memory, writing the contents of the memory buffer cache lines affected by the received transaction to corresponding locations of the non-volatile main memory; and
changing the state of the memory buffer cache lines affected by the received transaction to complete and stored after the contents of the memory buffer cache lines affected by the received transaction have been written to the corresponding locations of the non-volatile main memory,
wherein when the memory buffer cache lines affected by the received transaction are in the complete and unstored state, access to modify the content of the cache line affected by the received transaction is restricted until the cache lines affected by the received transaction are in the complete and stored state.
2. The method ofclaim 1, wherein the non-volatile main memory is a storage-class memory.
3. The method ofclaim 1, wherein the memory buffer is a memory write buffer of a CPU or CPU core.
4. The method ofclaim 3, wherein the memory buffer comprises a plurality of memory write buffers of a plurality of CPUs or CPU cores and the plurality of memory write buffers work together to provide the memory buffer in accordance with a cache coherency policy.
5. The method ofclaim 4, wherein the cache coherency policy is responsible for controlling access to modify the content of the cache lines.
6. The method ofclaim 1, wherein the memory buffer is a volatile memory.
7. The method ofclaim 1, wherein the state of each memory buffer cache line is encoded within one or more bits corresponding to each cache line.
8. The method ofclaim 1, wherein upon a disruption of power, cache lines associated with those steps of the plurality of steps that have been performed to completion are erased from the memory buffer if at least one of the steps of the plurality of steps has not been successfully transacted at the time of the disruption of power.
9. The method ofclaim 1, wherein when a second transaction requests access to modify the content of the cache lines in a complete and unstored state, the contents of the cache line is written to the corresponding location of the non-volatile main memory.
10. The method ofclaim 1, wherein when power is temporarily disrupted, all of the cache lines in both a complete and unstored state, and only these cache lines, are copied to a memory device that persists in the absence of the power.
11. The method ofclaim 10, wherein the memory device that persists in the absence of the power is supported by a battery backup.
12. The method ofclaim 10, wherein the memory device that persists in the absence of the power includes a non-volatile memory.
13. A method for conducting memory transactions, comprising:
receiving a transaction including at least two steps;
performing a first step of the received transaction in a memory buffer including a plurality of cache lines;
setting a state of the memory buffer cache lines affected by the received transaction as pending and unstored;
performing all additional remaining steps of the received transaction in the memory buffer;
changing the state of the memory buffer cache lines affected by the received transaction to complete and unstored;
determining when the memory buffer cache lines affected by the received transaction are to be written to a non-volatile main memory and, when it is determined that the memory buffer cache lines affected by the received transaction are to be written to the non-volatile main memory, writing the contents of the memory buffer cache lines affected by the received transaction to corresponding locations of the non-volatile main memory; and
changing the state of the memory buffer cache lines affected by the received transaction to complete and stored after the contents of the memory buffer cache lines affected by the received transaction have been written to the corresponding locations of the non-volatile main memory,
wherein when power is temporarily disrupted, all of the cache lines in both a complete and unstored state, and only these cache lines, are copied to a memory device that persists in the absence of the power.
14. The method ofclaim 13, wherein the non-volatile main memory is a storage-class memory.
15. The method ofclaim 13, wherein the memory buffer is a memory write buffer of a CPU or CPU core.
16. The method ofclaim 13, wherein the memory device that persists in the absence of power is supported by a battery backup.
17. The method ofclaim 13, wherein the memory device that persists in the absence of power includes a non-volatile memory.
18. The method ofclaim 14, wherein when a cache line of the plurality of cache lines is in both a complete and unstored state, access to modify the content of the cache line is restricted until the content of the cache line is written to the corresponding location of the non-volatile main memory.
19. A method for conducting memory transactions, comprising:
receiving a transaction including at least two steps;
performing a first step of the received transaction in a memory buffer including a plurality of cache lines;
setting a state of the memory buffer cache lines affected by the received transaction as pending and unstored;
performing all additional remaining steps of the received transaction in the memory buffer;
changing the state of the memory buffer cache lines affected by the received transaction to complete and unstored;
determining when the memory buffer cache lines affected by the received transaction are to be written to a non-volatile main memory in accordance with a cache coherency protocol and, when it is determined that the memory buffer cache lines affected by the received transaction are to be written to the non-volatile main memory, writing the contents of the memory buffer cache lines affected by the received transaction to corresponding locations of the non-volatile main memory; and
changing the state of the memory buffer cache lines affected by the received transaction to complete and stored after the contents of the memory buffer cache lines affected by the received transaction have been written to the corresponding locations of the non-volatile main memory,
wherein said cache coherency protocol dictates that: when the memory buffer cache lines affected by the received transaction are in the complete and unstored state, access to modify the content of the cache line affected by the received transaction is restricted until the cache lines affected by the received transaction are in the complete and stored state, and when power is temporarily disrupted, all of the cache lines in both a complete and unstored state, and only these cache lines, are copied to a memory device that persists in the absence of the power.
20. The method ofclaim 19, wherein the non-volatile main memory is a storage-class memory.
US13/614,7352012-09-132012-09-13Durable transactions with storage-class memoryAbandonedUS20140075086A1 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
US13/614,735US20140075086A1 (en)2012-09-132012-09-13Durable transactions with storage-class memory

Applications Claiming Priority (2)

Application NumberPriority DateFiling DateTitle
US13/613,704US9058244B2 (en)2012-09-132012-09-13Durable and coherent cache transactions between volatile and non-volatile memories
US13/614,735US20140075086A1 (en)2012-09-132012-09-13Durable transactions with storage-class memory

Related Parent Applications (1)

Application NumberTitlePriority DateFiling Date
US13/613,704ContinuationUS9058244B2 (en)2012-09-132012-09-13Durable and coherent cache transactions between volatile and non-volatile memories

Publications (1)

Publication NumberPublication Date
US20140075086A1true US20140075086A1 (en)2014-03-13

Family

ID=50234568

Family Applications (2)

Application NumberTitlePriority DateFiling Date
US13/613,704Expired - Fee RelatedUS9058244B2 (en)2012-09-132012-09-13Durable and coherent cache transactions between volatile and non-volatile memories
US13/614,735AbandonedUS20140075086A1 (en)2012-09-132012-09-13Durable transactions with storage-class memory

Family Applications Before (1)

Application NumberTitlePriority DateFiling Date
US13/613,704Expired - Fee RelatedUS9058244B2 (en)2012-09-132012-09-13Durable and coherent cache transactions between volatile and non-volatile memories

Country Status (1)

CountryLink
US (2)US9058244B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
WO2016187443A1 (en)*2015-05-192016-11-24Pure Storage, Inc.Transactional commits with hardware assists in remote memory
EP3506111A1 (en)*2017-12-292019-07-03Intel IP CorporationSpeculative execution tag for asynchronous dram refresh

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN104937565B (en)*2013-03-282017-11-17慧与发展有限责任合伙企业 Address range transfer from first node to second node
WO2014158168A1 (en)2013-03-282014-10-02Hewlett-Packard Development CompanyData flush of group table
FR3028125A1 (en)*2014-11-052016-05-06Bull Sas METHOD FOR RAPID RECONFIGURATION OF FAULT ROUTING OF A PORT OF A SWITCH
US11100083B2 (en)2015-01-292021-08-24Hewlett Packard Enterprise Development LpRead only bufferpool
JP6541998B2 (en)*2015-03-242019-07-10東芝メモリ株式会社 Memory device, semiconductor device, and information processing apparatus
JP6734536B2 (en)*2016-07-292020-08-05富士通株式会社 Information processing device and memory controller
US12204441B2 (en)*2020-12-242025-01-21Altera CorporationFlushing cache lines involving persistent memory
US20250173221A1 (en)*2023-11-282025-05-29Smart Modular Technologies, Inc.Selective backup to persistent memory for volatile memory

Citations (3)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20030046495A1 (en)*2001-08-282003-03-06Venkitakrishnan Padmanabha I.Streamlined cache coherency protocol system and method for a multiple processor single chip device
US20080301256A1 (en)*2007-05-302008-12-04Mcwilliams Thomas MSystem including a fine-grained memory and a less-fine-grained memory
US20100106754A1 (en)*2008-10-242010-04-29Microsoft CorporationHardware and Operating System Support for Persistent Memory On A Memory Bus

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US7389308B2 (en)2003-05-302008-06-17Microsoft CorporationShadow paging
US7801866B1 (en)*2004-02-202010-09-21Microsoft CorporationSystems and methods for reading only durably committed data in a system that otherwise permits lazy commit of transactions
US7765186B1 (en)2005-04-132010-07-27Progress Software CorporationUpdate-anywhere replication of distributed systems
US20100306256A1 (en)2009-06-022010-12-02Sun Microsystems, Inc.Distributed Database Write Caching With Limited Durability
US9355109B2 (en)2010-06-112016-05-31The Research Foundation For The State University Of New YorkMulti-tier caching

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20030046495A1 (en)*2001-08-282003-03-06Venkitakrishnan Padmanabha I.Streamlined cache coherency protocol system and method for a multiple processor single chip device
US20080301256A1 (en)*2007-05-302008-12-04Mcwilliams Thomas MSystem including a fine-grained memory and a less-fine-grained memory
US20100106754A1 (en)*2008-10-242010-04-29Microsoft CorporationHardware and Operating System Support for Persistent Memory On A Memory Bus

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Banikazemi et al., "Eucalyptus: Support for Effective Use of Persistent Memory," May 2012, IEEE, 2012 IEEE 26th International Parallel and Distributed Processing Symposium Workshops & PhD Forum (IPDPSW).*
Condit et al., "Better I/O through byte-addressable, persistent memory," October 2009, ACM, SOSP '09 Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles, Pages 133-146.*
Valos et al., "Mnemosyne: Lightweight Persistent Memory," March 2011, ACM, ASPLOS XVI Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems, Pages 91-104.*

Cited By (3)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
WO2016187443A1 (en)*2015-05-192016-11-24Pure Storage, Inc.Transactional commits with hardware assists in remote memory
EP3506111A1 (en)*2017-12-292019-07-03Intel IP CorporationSpeculative execution tag for asynchronous dram refresh
US10481958B2 (en)2017-12-292019-11-19Intel IP CorporationSpeculative execution tag for asynchronous DRAM refresh

Also Published As

Publication numberPublication date
US20140075122A1 (en)2014-03-13
US9058244B2 (en)2015-06-16

Similar Documents

PublicationPublication DateTitle
US9058244B2 (en)Durable and coherent cache transactions between volatile and non-volatile memories
JP6556911B2 (en) Method and apparatus for performing an annotated atomic write operation
US9064330B2 (en)Shared virtual memory between a host and discrete graphics device in a computing system
US10204051B2 (en)Technique to share information among different cache coherency domains
US8103834B2 (en)Coherence protocol with dynamic privatization
CN101097545B (en)Exclusive ownership snoop filter
JP3888769B2 (en) Data supply method and computer system
US10176190B2 (en)Data integrity and loss resistance in high performance and high capacity storage deduplication
US7111134B2 (en)Subsystem and subsystem processing method
US20200133800A1 (en)Key-value store on persistent memory
US10331568B2 (en)Locking a cache line for write operations on a bus
US20070050548A1 (en)Dynamic optimization of cache memory
CN110018790B (en)Method and system for ensuring data breakdown consistency in persistent memory
US7752396B2 (en)Promoting a line from shared to exclusive in a cache
US10078587B2 (en)Mirroring a cache having a modified cache state
CN103714015A (en)Reducing back invalidation transactions from a snoop filter
US20060224639A1 (en)Backup system, program and backup method
US20060179185A1 (en)Method to preserve ordering of read and write operations in a DMA system by delaying read access
CN110716887B (en)Hardware cache data loading method supporting write hint
Lin et al.When caching systems meet emerging storage devices: A case study
US20070038814A1 (en)Systems and methods for selectively inclusive cache
EP4328755B1 (en)Systems, methods, and apparatus for accessing data in versions of memory pages
Ni et al.Leveraging ssd's flexible address mapping to accelerate data copy operations
CN111414318B (en) A Data Consistency Implementation Method Based on Advance Update
CN115599592A (en)Memory mirroring method and computing device

Legal Events

DateCodeTitleDescription
STCBInformation on status: application discontinuation

Free format text:ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION


[8]ページ先頭

©2009-2025 Movatter.jp