Adaptive granularity write tracking

US2019034340A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2019034340-A1
Application numberUS-201715855104-A
CountryUS
Kind codeA1
Filing dateDec 27, 2017
Priority dateDec 27, 2017
Publication dateJan 31, 2019
Grant date

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.

An embodiment of a semiconductor package apparatus may include technology to create a tracking structure for a memory controller to track a range of memory addresses of a persistent memory, identify a write request at the memory controller for a memory location within the range of tracked memory addresses, and set a flag in the tracking structure to indicate that the memory location had the identified write request. Other embodiments are disclosed and claimed.

First claim

Opening claim text (preview).

We claim: 1 . An electronic processing system, comprising: a processor; persistent memory communicatively coupled to the processor; a memory controller communicatively coupled to the processor and the persistent memory; and logic communicatively coupled to the memory controller to: create a tracking structure for the memory controller to track a range of memory addresses of the persistent memory, identify a write request at the memory controller for a memory location within the range of tracked memory addresses, and set a flag in the tracking structure to indicate that the memory location had the identified write request. 2 . The system of claim 1 , wherein the logic is further to: create the tracking structure based on provided memory address information. 3 . The system of claim 1 , wherein the logic is further to: create the tracking structure with a bitmap structure; and set a bit in the bitmap structure to indicate that the memory location had the identified write request. 4 . The system of claim 3 , wherein the logic is further to: create the bitmap structure with a hierarchical bitmap structure. 5 . The system of claim 1 , wherein the logic is further to: determine if one or more memory locations corresponding to data moved from the persistent memory to another storage region is within the range of tracked memory locations; and clear one or more flags in the tracking structure corresponding to one or more memory locations of the moved data determined to be within the range of tracked memory locations. 6 . The system of claim 1 , wherein the flag corresponds to a unit of memory having a memory size of a 2 N times multiple of a cacheline size, where N is greater than or equal to zero. 7 . A semiconductor package apparatus, comprising: one or more substrates; and logic coupled to the one or more substrates, wherein the logic is at least partly implemented in one or more of configurable logic and fixed-functionality hardware logic, the logic coupled to the one or more substrates to: create a tracking structure for a memory controller to track a range of memory addresses of a persistent memory, identify a write request at the memory controller for a memory location within the range of tracked memory addresses, and set a flag in the tracking structure to indicate that the memory location had the identified write request. 8 . The apparatus of claim 7 , wherein the logic is further to: create the tracking structure based on provided memory address information. 9 . The apparatus of claim 7 , wherein the logic is further to: create the tracking structure with a bitmap structure; and set a bit in the bitmap structure to indicate that the memory location had the identified write request. 10 . The apparatus of claim 9 , wherein the logic is further to: create the bitmap structure with a hierarchical bitmap structure. 11 . The apparatus of claim 7 , wherein the logic is further to: determine if one or more memory locations corresponding to data moved from the persistent memory to another storage region is within the range of tracked memory locations; and clear one or more flags in the tracking structure corresponding to one or more memory locations of the moved data determined to be within the range of tracked memory locations. 12 . The apparatus of claim 7 , wherein the flag corresponds to a unit of memory having a memory size of a 2 N times multiple of a cacheline size, where N is greater than or equal to zero. 13 . A method of controlling memory, comprising: creating a tracking structure for a memory controller to track a range of memory addresses of a persistent memory; identifying a write request at the memory controller for a memory location within the range of tracked memory addresses; and setting a flag in the tracking structure to indicate that the memory location had the identified write request. 14 . The method of claim 13 , wherein the logic is further to: creating the tracking structure based on provided memory address information. 15 . The method of claim 13 , wherein the logic is further to: creating the tracking structure with a bitmap structure; and setting a bit in the bitmap structure to indicate that the memory location had the identified write request. 16 . The method of claim 15 , wherein the logic is further to: creating the bitmap structure with a hierarchical bitmap structure. 17 . The method of claim 13 , wherein the logic is further to: determining if one or more memory locations corresponding to data moved from the persistent memory to another storage region is within the range of tracked memory locations; and clearing one or more flags in the tracking structure corresponding to one or more memory locations of the moved data determined to be within the range of tracked memory locations. 18 . The method of claim 13 , wherein the flag corresponds to a unit of memory having a memory size of a 2 N times multiple of a cacheline size, where N is greater than or equal to zero. 19 . At least one computer readable medium, comprising a set of instructions, which when executed by a computing device, cause the computing device to: create a tracking structure for a memory controller to track a range of memory addresses of a persistent memory; identify a write request at the memory controller for a memory location within the range of tracked memory addresses; and set a flag in the tracking structure to indicate that the memory location had the identified write request. 20 . The at least one computer readable medium of claim 19 , comprising a further set of instructions, which when executed by the computing device, cause the computing device to: create the tracking structure based on provided memory address information. 21 . The at least one computer readable medium of claim 19 , comprising a further set of instructions, which when executed by the computing device, cause the computing device to: create the tracking structure with a bitmap structure; and set a bit in the bitmap structure to indicate that the memory location had the identified write request. 22 . The at least one computer readable medium of claim 21 , comprising a further set of instructions, which when executed by the computing device, cause the computing device to: create the bitmap structure with a hierarchical bitmap structure. 23 . The at least one computer readable medium of claim 19 , comprising a further set of instructions, which when executed by the computing device, cause the computing device to: determine if one or more memory locations corresponding to data moved from the persistent memory to another storage region is within the range of tracked memory locations; and clear one or more flags in the tracking structure corresponding to one or more memory locations of the moved data determined to be within the range of tracked memory locations. 24 . The at least one computer readable medium of claim 19 , wherein the flag corresponds to a unit of memory having a memory size of a 2 N times multiple of a cacheline size, where N is greater than or equal to zero.

Assignees

Inventors

Classifications

  • Performance improvement · CPC title

  • management of metadata or control data · CPC title

  • Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory · CPC title

  • Reliability improvement, data loss prevention, degraded operation etc · CPC title

  • using a bus scheme, e.g. with bus monitoring or watching means · 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 US2019034340A1 cover?
An embodiment of a semiconductor package apparatus may include technology to create a tracking structure for a memory controller to track a range of memory addresses of a persistent memory, identify a write request at the memory controller for a memory location within the range of tracked memory addresses, and set a flag in the tracking structure to indicate that the memory location had the ide…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F12/0238. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jan 31 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).