Apparatus and method for handling write operations
US-2019171573-A1 · Jun 6, 2019 · US
US11144467B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11144467-B2 |
| Application number | US-201916416036-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 17, 2019 |
| Priority date | May 17, 2019 |
| Publication date | Oct 12, 2021 |
| Grant date | Oct 12, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.