# US 12,001,332 B2 · Runtime de-interleave and re-interleave of system memory

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

- Number: US 12,001,332 B2
- Document ID: US12001332B2
- Status: Granted
- Kind: B2
- Application number: 17/875,135
- Filed: 2022-07-27
- Published: 2024-02-01
- Granted: 2024-06-04
- Earliest claimed: 2022-07-27
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: Stuart Allen Berke
- Web page: https://patentgrep.com/patent/US12001332B2

## CPC

- G06F 12/0607: {Interleaved addressing}
- G06F 12/0646: {Configuration or reconfiguration}
- G06F 13/1668: {Details of memory controller}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An information handling system includes a first memory device that provides a first system physical address (SPA) space for the information handling system having a first capacity. Data is stored on the first memory device with a first interleave configuration. A second memory device provides a second SPA space for the information handling system that has a second capacity that is greater than or equal to the first capacity. Without rebooting the information handling system and without halting a process, the system de-interleaves the data stored on the first memory device, stores the data on the second memory device, and re-interleaves the data.

## Claims

### Claim 1

An information handling system, comprising:
a processor;
a first memory device coupled to the processor and that provides a first system physical address (SPA) space for the information handling system, wherein data is stored on the first memory device with a first interleave configuration, and wherein the first SPA space has a first capacity; and
a second memory device coupled to the processor and that provides a second SPA space for the information handling system, wherein the second SPA space has a second capacity that is greater than or equal to the first capacity;
wherein the processor is configured to de-interleave the data stored on the first memory device, to store the data on the second memory device, and to re-interleave the data, without rebooting the information handling system and without halting a process on the processor.

### Claim 2 (depends on 1)

The information handling system of claim 1, wherein in re-interleaving the data, the processor is further configured to re-interleave the data onto the first memory device with a second interleave configuration different from the first interleave configuration.

### Claim 3 (depends on 2)

The information handling system of claim 2, wherein the processor includes an interleave pointer to store a memory address.

### Claim 4 (depends on 3)

The information handling system of claim 3, wherein, in de-interleaving the data, the processor is further configured to store a first address within the first SPA space in the interleave pointer.

### Claim 5 (depends on 4)

The information handling system of claim 4, wherein, in de-interleaving the data, the processor is further configured to retrieve first interleaved data from the first memory device from the first address based upon the interleave pointer, to store the first interleaved data on the second memory device, and to increment the interleave pointer to a second address of second interleaved data of the first memory device.

### Claim 6 (depends on 4)

The information handling system of claim 4, wherein while the processor is de-interleaving the data stored on the first memory device, the processor is further configured to provide a memory access request to a third address within the first SPA space, to determine whether the third address is higher than the first address or lower than the first address, to direct the memory access request to the first memory device when the third address is higher than the first address, and to direct the memory access request to the second memory device when the third address is lower than the first address.

### Claim 7 (depends on 3)

The information handling system of claim 3, wherein, in re-interleaving the data, the processor is further configured to store a first address within the second SPA space in the interleave pointer.

### Claim 8 (depends on 7)

The information handling system of claim 7, wherein, in re-interleaving the data, the processor is further configured to retrieve first data from the second memory device from the first address based upon the interleave pointer, to re-interleave the first data on the first memory device, and to increment the interleave pointer to a second address of second data of the second memory device.

### Claim 9 (depends on 8)

The information handling system of claim 8, wherein, while the processor is re-interleaving the data stored on the first memory device, the processor is further configured to provide a memory access request to a third address within the first SPA space, to determine whether the third address is higher than the first address or lower than the first address, to direct the memory access request to the second memory device when the third address is higher than the first address, and to direct the memory access request to the first memory device when the third address is lower than the first address.

### Claim 10

A method, comprising:
storing, on a first memory device of an information handling system coupled to a processor of the information handling system, data with a first interleave configuration, wherein the first memory device provides a first system physical address (SPA) space for the information handling system, and wherein the first SPA space has a first capacity;
without rebooting the information handling system and without halting a process on the processor:
de-interleaving the data stored on the first memory device;
storing, on a second memory device of the information handling system coupled to the processor, the data, wherein the second memory device provides a second SPA space for the information handling system, and wherein the second SPA space has a second capacity that is greater than or equal to the first capacity; and
re-interleaving the data.

### Claim 11 (depends on 10)

The method of claim 10, wherein, in re-interleaving the data, the method further comprises re-interleaving the data onto the first memory device with a second interleave configuration different from the first interleave configuration.

### Claim 12 (depends on 11)

The method of claim 11, wherein the processor includes an interleave pointer to store a memory addresses.

### Claim 13 (depends on 12)

The method of claim 12, wherein, in de-interleaving the data, the method further comprises:
storing a first address within the first SPA space in the interleave pointer.

### Claim 14 (depends on 13)

The method of claim 13, wherein, in de-interleaving the data, the method further comprises:
retrieving first interleaved data from the first memory device from the first address based upon the interleave pointer;
storing the first interleaved data on the second memory device; and
incrementing the interleave pointer a second address of second interleaved data of the first memory device.

### Claim 15 (depends on 13)

The method of claim 13, wherein, while the processor is de-interleaving the data stored on the first memory device, the method further comprises:
providing, by the processor, a memory access request to a third address within the first SPA space;
determining whether the third address is higher than the first address or lower than the first address;
directing the memory access request to the first memory device when the third address is higher than the first address; and
directing the memory access request to the second memory device when the third address is lower than the first address.

### Claim 16 (depends on 12)

The method of claim 12, wherein, in re-interleaving the data, the processor is further configured to store a first address within the second SPA space.

### Claim 17 (depends on 16)

The method of claim 16, wherein, in re-interleaving the data, the method further comprises:
retrieving first data from the second memory device from the first address based upon the interleave pointer
re-interleaving the first data on the first memory device; and
incrementing the interleave pointer a second address of second data of the second memory device.

### Claim 18 (depends on 17)

The method of claim 17, wherein, while the processor is re-interleaving the data stored on the first memory device, the method further comprises:
providing, by the processor, a memory access request to a third address within the first SPA space;
determining whether the third address is higher than the first address or lower than the first address;
directing the memory access request to the second memory device when the third address is higher than the first address; and
directing the memory access request to the first memory device when the third address is lower than the first address.

### Claim 19

An information handling system, comprising:
a first memory device coupled to a processor and that provides a first system physical address (SPA) space for the information handling system, wherein data is stored on the first memory device with a first interleave configuration, and wherein the first SPA space has a first capacity;
a second memory device that provides a second SPA space for the information handling system, wherein the second SPA space has a second capacity that is greater than or equal to the first capacity;
a third memory device that provides a third SPA space for the information handling system, wherein the third SPA space has a third capacity that is greater than or equal to the first capacity;
wherein the processor is configured to de-interleave the data stored on the first memory device, to store the data on the second memory device, and to re-interleave the data onto the third memory device with a second interleave configuration, without rebooting the information handling system and without halting a process on the processor.

### Claim 20 (depends on 19)

The information handling system of claim 19, wherein in re-interleaving the data, the processor is further configured to re-interleave the data onto the third memory device with a second interleave configuration different from the first interleave configuration.
