Partial backup during runtime for memory modules with volatile memory and non-volatile memory

US10657003B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10657003-B2
Application numberUS-201515565213-A
CountryUS
Kind codeB2
Filing dateApr 10, 2015
Priority dateApr 10, 2015
Publication dateMay 19, 2020
Grant dateMay 19, 2020

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.

In one example in accordance with the present disclosure, a system for partial backup during runtime includes a memory module having a volatile memory and a non-volatile memory. The system also includes a backup controller. The backup controller determines that a backup should occur in the memory module. The backup controller determines a backup domain of the volatile memory. The backup controller causes a deactivation domain of the volatile memory to be deactivated, where the deactivation domain includes the backup domain. The backup controller causes the backup to initiate during normal runtime of the system. The backup includes data in the backup domain of the volatile memory being saved to the non-volatile memory.

First claim

Opening claim text (preview).

The invention claimed is: 1. A system for partial backup during runtime, the system comprising: a memory module having a volatile memory and a non-volatile memory; and a backup controller to: determine that a backup should occur in the memory module; determine a backup domain of the volatile memory; cause a deactivation domain of the volatile memory to be deactivated, where the deactivation domain includes the backup domain; and cause the backup to initiate during normal runtime of the system, the backup including data in the backup domain of the volatile memory being saved to the non-volatile memory; wherein to determine the backup domain, the backup controller accesses a change repository that indicates a portion of the volatile memory that is ready to be backed up but was not backed up during a previous backup because that portion exceeded a backup size threshold of the previous backup. 2. The system of claim 1 , wherein to determine the deactivation domain, the backup controller determines a smallest addressable portion of the volatile memory that includes the backup domain. 3. The system of claim 1 , wherein to cause the backup to initiate, the backup controller indicates to the memory module that it should initiate a self-refresh routine. 4. The system of claim 1 , wherein the backup controller is further to receive an indication that the backup completed successfully, and in response, allow access to the deactivation domain that was deactivated. 5. The system of claim 1 , wherein the backup controller is further to: cause a timer to start when the backup is initiated; listen for an indication that the backup completed successfully; and when the timer expires without the backup controller receiving the indication that the backup completed successfully, cause the data in the backup domain of the volatile memory to be saved in a different non-volatile memory external to the memory module. 6. A method for partial backup during runtime of a system, the method comprising: determining that a backup should occur in a memory module of the system having a volatile memory and a non-volatile memory; determining a backup domain of the volatile memory, the backup domain being defined by a range of memory addresses within the volatile memory module, causing a deactivation domain of the volatile memory to be deactivated, wherein the deactivation domain includes the backup domain; and causing the backup to initiate during normal runtime of the system by indicating to the memory module that it should initiate a self-refresh routine, the backup including data in the backup domain of the volatile memory being saved to the non-volatile memory; wherein indicating to the memory module that it should initiate a self-refresh routine includes sending a direct media command to a media controller of the memory module, where the media controller causes the memory module to start the self-refresh routine. 7. The method of claim 6 , wherein the deactivation domain is smaller than the total size of the volatile memory, and wherein, during the backup, access by a memory controller of the system is prevented to the deactivation domain while access to other portions of the volatile memory is allowed. 8. The method of claim 6 , wherein determining the backup domain includes accessing a change repository of the system that indicates a portion of the volatile memory that has changed since a previous backup. 9. The method of claim 6 , further comprising: cause a timer to start when the backup is initiated; listening for an indication that the backup completed successfully; and when the timer expires without the backup controller receiving the indication that the backup completed successfully, causing the data in the backup domain of the volatile memory to be saved in a different non-volatile memory external to the memory module. 10. A machine-readable storage medium encoded with instructions for partial backup during runtime, the instructions executable by a processor of a system to cause the system to: determine that a backup should occur in a memory module of the system having a volatile memory and a non-volatile memory; determine a backup domain of the volatile memory; cause a deactivation domain of the volatile memory to be deactivated, where the deactivation domain includes the backup domain; and cause the backup to initiate during normal runtime of the system by indicating to the memory module that it should initiate a self-refresh routine, the backup including data in the backup domain of the volatile memory being saved to the non-volatile memory wherein indicating to the memory module that it should initiate a self-refresh routine includes sending a direct media command to a media controller of the memory module, where the media controller causes the memory module to start the self-refresh routine. 11. A machine-readable storage medium of claim 10 , wherein indicating to the memory module that it should initiate a self-refresh routine includes sending an Asynchronous DRAM Refresh (ADR) command to a memory controller of the system, where the memory controller then signals to the memory module to start the self-refresh routine.

Assignees

Inventors

Classifications

  • Redundant power supplies (power supply failure G06F1/30) · CPC title

  • Bootstrapping (security arrangements therefor G06F21/57) · CPC title

  • Resetting or repowering · CPC title

  • where the redundant component is memory or memory area · 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 US10657003B2 cover?
In one example in accordance with the present disclosure, a system for partial backup during runtime includes a memory module having a volatile memory and a non-volatile memory. The system also includes a backup controller. The backup controller determines that a backup should occur in the memory module. The backup controller determines a backup domain of the volatile memory. The backup control…
Who is the assignee on this patent?
Hewlett Packard Entpr Dev Lp
What technology area does this patent fall under?
Primary CPC classification G06F11/1441. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 19 2020 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).