# US 2018/0024768 A1 · Partitioning memory modules into volatile and non-volatile portions

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2018/0024768 A1
- Document ID: US20180024768A1
- Status: Published application
- Kind: A1
- Application number: 15/549,724
- Filed: 2015-02-13
- Published: 2018-01-25
- Earliest claimed: 2015-02-13
- Assignees: Hewlett Packard Enterprise Development LP
- Applicants: Hewlett Packard Enterprise Development LP
- Inventors: Vincent Nguyen; Jeffrey A. Plank; Hai Ngoc Nguyen; Han Wang; Patrick A. Raymond; Raghavan V. Venugopal; Barry L. Olawsky
- Web page: https://patentgrep.com/patent/US20180024768A1

## CPC

- G06F 3/0644: {Management of space entities, e.g. partitions, extents, pools}
- G06F 1/263: {Arrangements for using multiple switchable power supplies, e.g. battery and AC (G06F1/30 takes precedence)}
- G06F 1/28: Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
- G06F 1/30: Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations (for resetting only G06F1/24)
- G06F 3/0619: {in relation to data integrity, e.g. data losses, bit errors}
- G06F 3/0647: {Migration mechanisms}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 11/1441: {Resetting or repowering}
- G06F 12/16: Protection against loss of memory contents {(contains no material, see G06F11/00)}
- G06F 11/2015: {Redundant power supplies (power supply failure G06F1/30)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Example implementations relate to partitioning memory modules into volatile and non-volatile portions. For example, a system includes a memory controller to partition a memory module into a non-volatile portion and a volatile portion and to identify persistent data to be backed up during a power loss condition. The memory controller is further to transfer the persistent data from the volatile portion of the memory module to the non-volatile portion of the memory module, in response to the power loss condition.

## Claims

### Claim 1

A system, comprising:
a memory controller to:
partition a memory module into a non-volatile portion and a volatile portion;
identify persistent data to be backed up during a power loss condition; and
transfer the persistent data from the volatile portion of the memory module to the non-volatile portion of the memory module, in response to the power loss condition.

### Claim 2 (depends on 1)

The system of claim 1, comprising a backup power supply to provide backup power to the memory module in response to the power loss condition, the backup power to enable the transfer of the persistent data to the non-volatile portion of the memory module.

### Claim 3 (depends on 2)

The system of claim 2, wherein partition of the non-volatile portion of the memory module is based in part on a capacity of the backup power supply to successfully provide backup power to enable the transfer of the persistent data.

### Claim 4 (depends on 2)

The system of claim 2, wherein identification of the persistent data is based in part on a capacity of the backup power supply to successfully provide backup power to enable the transfer of the persistent data.

### Claim 5 (depends on 1)

The system of claim 1, wherein a size of the non-volatile portion of the memory module is less than a size of the volatile portion of the memory module.

### Claim 6 (depends on 1)

The system of claim 1, wherein the memory module includes a dual in-line memory module (DIMM).

### Claim 7 (depends on 1)

The system of claim 1, wherein the persistent data identified by the memory controller coexists in the memory module with non-persistent data in a single contiguous block, such that a memory space address map of the system is presented as a contiguous block including the persistent and the non-persistent portions.

### Claim 8 (depends on 1)

The system of claim 1, wherein the memory controller is to transfer the persistent data from non-contiguous portions of the memory module and write the persistent data to the non-volatile portion in a contiguous sequential manner

### Claim 9 (depends on 1)

The system of claim 1, wherein the memory controller is to track memory locations of the persistent data as the persistent data is transferred to the non-volatile portion, and to store the memory locations for locating the persistent data in the non-volatile portion.

### Claim 10

A method, comprising:
partitioning, by a memory controller, a subset of a plurality of memory modules into non-volatile portions and volatile portions;
identifying, by the memory controller, persistent data to be backed up in response to an interruption of primary power supply to the plurality of memory modules; and
moving, by the memory controller, the persistent data from the volatile portions of the plurality of memory modules to the non-volatile portions of the plurality of memory modules, in response to the interruption of primary power supply, using backup power provided by a backup power supply.

### Claim 11 (depends on 10)

The method of claim 10, comprising:
tracking, by the memory controller, memory locations of the persistent data as the persistent data is moved to the non-volatile memory portions of the memory modules; and
storing, by the memory controller, the memory locations in the non-volatile portions of the memory modules for locating the persistent data.

### Claim 12 (depends on 10)

The method of claim 10, wherein partitioning the subset of the plurality of memory modules into non-volatile and volatile portions is based on a capacity of the backup power supply.

### Claim 13 (depends on 10)

The method of claim 10, wherein the backup power supply is to provide backup power to the memory controller and the plurality of memory modules in response to the interruption of primary power supply for a threshold period of time.

### Claim 14

A non-transitory computer-readable storage medium encoded with instructions executable by a processor of a computing system, the computer-readable storage medium comprising instructions to:
partition a subset of a plurality of memory modules into non-volatile portions and volatile portions;
identify persistent data to be backed up from the volatile portions of the plurality of memory modules in response to a power loss condition; and
copy the persistent data from the volatile portions to the non-volatile portions of the plurality of memory modules in response to the power loss condition, using backup power from a backup power supply.

### Claim 15 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, comprising instructions to:
track memory locations of the persistent data copied to the non-volatile portions of the memory modules; and
store the memory locations in the non-volatile portions of the memory modules to locate the persistent data.
