Bypassing cache memory in a write transaction in a system with multi-level memory

US11144467B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11144467-B2
Application numberUS-201916416036-A
CountryUS
Kind codeB2
Filing dateMay 17, 2019
Priority dateMay 17, 2019
Publication dateOct 12, 2021
Grant dateOct 12, 2021

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.

Embodiments of the present disclosure relate to an apparatus, comprising a first memory controller, to receive a signal from a component coupled with the first memory controller, where the signal indicates that data is to bypass a volatile memory device coupled with the first memory controller and be written to a byte-addressable write-in-place persistent memory device coupled with the first memory controller; determine, in response to the received signal, whether a write buffer in a second memory controller, coupled with the first memory controller, is empty; direct, if the write buffer is empty, the data to the write buffer for temporary storage prior to storage in the persistent memory device, to bypass the volatile memory device; and direct, if the write buffer is not empty, the data to the volatile memory device.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus, comprising: a first memory controller, to operate a persistent memory device to store data, and a volatile memory device to store the data before the data is to be written to the persistent memory device, wherein the first memory controller is to: maintain one or more tags that indicate whether existing data is stored in the volatile memory device; receive a signal from a component coupled with the first memory controller, wherein the signal indicates that the data is to bypass the volatile memory device and be written to the persistent memory device, wherein the component comprises one of: a central processing unit, a digital system processor, or a peripheral device, wherein the signal is provided via a bus connecting the component with the first memory controller, wherein the signal is generated according to a bus protocol operating the bus; determine, in response to the received signal, whether a write buffer included in a second memory controller is empty, wherein the second memory controller comprises a persistent memory controller that is coupled with the first memory controller to operate the persistent memory device, wherein the write buffer is to temporarily store the data that is to bypass the volatile memory device, before the data is to be written to the persistent memory device; direct, if the write buffer is empty, the data to the write buffer for temporary storage prior to storage in the persistent memory device, to bypass the volatile memory device; direct, if the write buffer is not empty, the data to the volatile memory device; determine, if the write buffer is empty, whether the data was present in the volatile memory device at a time of receipt of the signal; and in response to a determination that the data was present in the volatile memory device at the time of receipt of the signal, update a tag of the one or more tags to indicate that the data that was present in the volatile memory device is invalid. 2. The apparatus of claim 1 , wherein the first memory controller is a multi-level memory controller. 3. The apparatus of claim 2 , wherein the multi-level memory controller is a two-level memory controller. 4. The apparatus of claim 1 , wherein the signal is a Write-To-Point-of-Persistence (WTP) signal. 5. The apparatus of claim 1 , wherein the signal is separate from the data. 6. The apparatus of claim 1 , wherein the first memory controller is further to: mark, if the data is directed to the volatile memory device, a tag of the one or more tags to indicate that the data is stored in the volatile memory device. 7. The apparatus of claim 1 , wherein the first memory controller is further to: receive a volatile memory write signal, wherein the volatile memory write signal indicates that other data is to be written to the volatile memory device; direct, in response to the volatile memory write signal, the other data to the volatile memory device; and mark a tag of the one or more tags to indicate that the other data is stored in the volatile memory device. 8. The apparatus of claim 1 , wherein the first memory controller is included in a processor coupled with the persistent memory device and the volatile memory device. 9. The apparatus of claim 1 , wherein the persistent memory device is a three-dimensional crosspoint memory device. 10. One or more non-transitory computer-readable media having instructions stored thereon that, when executed on a processor, cause a first memory controller, coupled with the processor to operate a persistent memory device to store data, and a volatile memory device to store the data before it is to be written to the persistent memory device, to: maintain one or more tags that indicate whether existing data is stored in the volatile memory device; receive a signal from a component coupled with the first memory controller, wherein the signal indicates that the data is to bypass the volatile memory device and be written to the persistent memory device, wherein the component comprises one of: a central processing unit, a digital system processor, or a peripheral device, wherein the signal is provided via a bus connecting the component with the first memory controller, wherein the signal is generated according to a bus protocol operating the bus; determine, in response to the received signal, whether a write buffer included in a second memory controller is empty, wherein the second memory controller comprises a persistent memory controller that is coupled with the first memory controller to operate the persistent memory device, wherein the write buffer is to temporarily store the data that is to bypass the volatile memory device, before the data is to be written to the persistent memory device; direct, if the write buffer is empty, the data to the write buffer for temporary storage prior to storage in the persistent memory device, to bypass the volatile memory device; direct, if the write buffer is not empty, the data to the volatile memory device; determine, if the write buffer is empty, whether the data was present in the volatile memory device at a time of receipt of the signal; and in response to a determination that the data was present in the volatile memory device at the time of receipt of the signal, update a tag of the one or more tags to indicate that the data that was present in the volatile memory device is invalid. 11. The one or more non-transitory, computer-readable media of claim 10 , wherein the first memory controller is a multi-level memory controller. 12. The one or more non-transitory, computer-readable media of claim 10 , wherein the signal is separate from the data. 13. The one or more non-transitory, computer-readable media of claim 10 , wherein the persistent memory device is a three-dimensional crosspoint memory device. 14. A computer system, comprising: a first memory controller comprising a two-level memory controller (2LMC); a persistent memory device coupled with the first memory controller to store data; and a volatile memory device, coupled with the first memory controller, to store the data before the data is to be written to the persistent memory device; wherein the first memory controller is to: maintain one or more tags that indicate whether existing data is stored in the volatile memory device; receive a signal from a component coupled with the 2LMC, wherein the signal indicates that the data is to bypass the volatile memory device and be written to the persistent memory device, wherein the component comprises one of: a central processing unit, a digital system processor, or a peripheral device, wherein the signal is provided via a bus connecting the component with the first memory controller, wherein the signal is generated according to a bus protocol operating the bus; determine, in response to the received signal, whether a write buffer included in a second memory controller is empty, wherein the second memory controller comprises a persistent memory controller that is coupled with the first memory controller to operate the persistent memory device, wherein the write buffer is to temporarily store the data that is to bypass the volatile memory device, before the data is to be written to the persistent memory device; direct, if the write buffer is empty, the data to the write buffer for temporary storage prior to storage in the persistent memory device, to bypass the volatile memory device; direct, if the write buffer is not empty, the data to the volatile memory device, determine, if the write buffer is empty, whether the data was present in the volatile memory device at a time of receipt of

Assignees

Inventors

Classifications

  • using selective caching, e.g. bypass · CPC title

  • using clearing, invalidating or resetting means · CPC title

  • Details relating to cache mapping · CPC title

  • Energy efficient computing, e.g. low power processors, power management or thermal management · CPC title

  • Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches · 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 US11144467B2 cover?
Embodiments of the present disclosure relate to an apparatus, comprising a first memory controller, to receive a signal from a component coupled with the first memory controller, where the signal indicates that data is to bypass a volatile memory device coupled with the first memory controller and be written to a byte-addressable write-in-place persistent memory device coupled with the first me…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F12/0888. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 12 2021 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 5 related publications on this page (citations in our corpus or others sharing the same primary CPC).