Cache coherence protocol for persistent memories

US9448938B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9448938-B2
Application numberUS-79752210-A
CountryUS
Kind codeB2
Filing dateJun 9, 2010
Priority dateJun 9, 2010
Publication dateSep 20, 2016
Grant dateSep 20, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A memory device having a memory controller, a main memory with at least a portion comprising persistent memory, and at least two processing entities, wherein the memory controller enables the processing entities to access the main memory according to a cache coherence protocol. The cache coherency protocol can signal when the main memory is being updated and when the update has finished. The processing entities can be configured to wait for the main memory to be updated or can access previously stored memory.

First claim

Opening claim text (preview).

What is claimed is: 1. A memory device comprising: a memory controller having at least a first interface to a main memory and at least a second interface to two or more processing entities, wherein said memory controller is configured to enable said processing entities to access said main memory according to a cache coherency protocol, the cache coherency protocol comprising an in-process state and a committed state; wherein the in-process state indicates that information in the main memory is being updated, and the memory controller is configured to: select between and perform actions of: a). waiting to load the information updated during the in-process state from the main memory to a cache until the committed state indicates that a memory update is complete and the cache may reload information from the main memory, or b). ignoring an update causing the in-process state and loading a previous cache content of the information; wherein at least a portion of said main memory comprises persistent memory; and wherein said memory controller is configured to enable a memory hierarchy including one or more levels of cache memory shared among said two or more processing entities, wherein at least a portion of said one or more levels of cache memory comprise persistent memory. 2. The memory device of claim 1 , wherein said memory controller is further configured to enable a memory descriptor to identify said at least a portion of said main memory comprising persistent memory. 3. The memory device of claim 1 , wherein said persistent memory comprises phase change memory (PCM). 4. The memory device of claim 1 , wherein said persistent memory comprises a memory having asymmetrical read/write speeds. 5. The memory device of claim 1 , wherein said two or more processing entities comprise a plurality of central processing units (CPUs). 6. The memory device of claim 1 , wherein said main memory is entirely persistent memory. 7. The memory device of claim 1 , wherein said processing entities access said persistent memory according to said cache coherency protocol. 8. A method comprising: providing a memory device comprising a memory controller having at least a first interface to a main memory and at least a second interface to two or more processing entities; and managing a cache coherency protocol comprising an in-process state and a committed state with the memory controller to allow the two or more processing entities to share the main memory-according to the cache coherency protocol; wherein the in-process state indicates that information in the main memory is being updated, and the memory controller is configured to: select between and perform actions of: a). waiting to load the information updated during the in-process state from the main memory to a cache until the committed state indicates that a memory update is complete and the cache may reload information from the main memory, or b). ignoring an update causing the in-process state and loading a previous cache content of the information; wherein at least a portion of said main memory comprises persistent memory; and wherein said memory controller is configured to enable a memory hierarchy including one or more levels of cache memory shared among said two or more processing entities, wherein at least a portion of said one or more levels of cache memory comprise persistent memory. 9. The method of claim 8 , wherein said persistent memory comprises phase change memory (PCM). 10. The method of claim 8 , wherein said persistent memory comprises a memory having asymmetrical read/write speeds. 11. The method of claim 8 , wherein said cache coherency protocol is based, at least in part, on one or more latency properties of said persistent memory. 12. The method of claim 8 , wherein said plurality of processing entities comprise one or more central processing units (CPUs). 13. A system comprising: a plurality of processing entities; and a memory device comprising: a memory controller having at least a first interface to a main memory and at least a second interface to said plurality of processing entities, wherein said memory controller is configured to enable said plurality of processing entities to access said main memory according to a cache coherency protocol comprising an in-process state and a committed state; wherein the in-process state indicates that information in the main memory is being updated, and the memory controller is configured to: select between and perform actions of: a). waiting to load the information updated during the in-process state from the main memory to a cache until the committed state indicates that a memory update is complete and the cache may reload information from the main memory, or b). ignoring an update causing the in-process state and loading a previous cache content of the information; wherein at least a portion of said main memory comprises persistent memory; and wherein said memory controller is configured to enable a memory hierarchy including one or more levels of cache memory shared among said two or more processing entities, wherein at least a portion of said one or more levels of cache memory comprise persistent memory. 14. The system of claim 13 , wherein said memory controller is further configured to signal to at least one of said plurality of processing entities to wait to access said main memory during said update process. 15. The system of claim 13 , wherein said processing entity is configured to wait to access said main memory during said update process.

Assignees

Inventors

Classifications

  • using a bus scheme, e.g. with bus monitoring or watching means · CPC title

  • for access to memory bus (G06F13/28 takes precedence) · CPC title

  • G06F12/00Primary

    Accessing, addressing or allocating within memory systems or architectures (digital input from, or digital output to record carriers, e.g. to disk storage units, G06F3/06) · CPC title

  • in hierarchically structured memory systems, e.g. virtual memory systems · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9448938B2 cover?
A memory device having a memory controller, a main memory with at least a portion comprising persistent memory, and at least two processing entities, wherein the memory controller enables the processing entities to access the main memory according to a cache coherence protocol. The cache coherency protocol can signal when the main memory is being updated and when the update has finished. The pr…
Who is the assignee on this patent?
Rudelic John, Camber August, Abdulla Mostafa Naguib, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F12/0831. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 20 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).