# US 2021/0240628 A1 · Changing page size in an address-based data storage system

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

- Number: US 2021/0240628 A1
- Document ID: US20210240628A1
- Status: Published application
- Kind: A1
- Application number: 16/779,749
- Filed: 2020-02-03
- Published: 2021-08-05
- Earliest claimed: 2020-02-03
- Assignees: EMC IP Holding Company LLC
- Applicants: EMC IP Holding Company LLC
- Inventors: David Meiri; Anton Kucherov
- Web page: https://patentgrep.com/patent/US20210240628A1

## CPC

- G06F 12/0882: Page mode
- G06F 3/0607: {by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device}
- G06F 3/0641: {De-duplication techniques}
- G06F 3/0665: {at area level, e.g. provisioning of virtual or logical volumes}
- G06F 3/0683: {Plurality of storage devices}
- G06F 3/0689: {Disk arrays, e.g. RAID, JBOD}
- G06F 9/5016: {the resource being the memory}
- G06F 9/542: {Event management; Broadcasting; Multicasting; Notifications}
- G06F 9/546: {Message passing systems or structures, e.g. queues}
- G06F 11/3034: {where the computing system component is a storage system, e.g. DASD based or network based (digital input from or digital output to record carriers G06F3/06; digital recording or reproducing G11B20/18; for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097)}
- G06F 11/3485: {for I/O devices}
- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 16/17: Details of further file system functions
- G06F 16/1824: {implemented using Network-attached Storage [NAS] architecture (distributed or networked storage systems G06F3/067; protocols for distributed storage of data in a network H04L67/1097)}
- G06F 16/2246: {Trees, e.g. B+trees}
- G06F 2212/7201: Logical to physical mapping or translation of blocks or pages
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Host I/O requests directed to a logical storage volume are initially processed by accessing physical pages of non-volatile data storage having a default page size. An indication of an optimal page size for the logical storage volume is received, and the size of the physical pages of non-volatile data storage accessed to process host I/O requests directed to the logical storage volume is changed from the default page size to the optimal page size for the logical storage volume. The default page size is changed to the optimal page size for the logical storage volume by changing a size of physical pages of non-volatile data storage indicated by a mapping structure that maps logical addresses in an address space the logical storage volume to corresponding physical pages of non-volatile data storage from the default page size to the optimal page size for the logical storage volume.

## Claims

### Claim 1

A method comprising:
initially processing host I/O requests directed to a logical storage volume by accessing physical pages of non-volatile data storage having a default page size;
receiving an indication of an optimal page size for the logical storage volume; and
changing the size of the physical pages of non-volatile data storage accessed to process host I/O requests directed to the logical storage volume from the default page size to the optimal page size for the logical storage volume by changing a size of physical pages of non-volatile data storage indicated by a mapping structure that maps logical addresses for the logical storage volume to corresponding physical pages of non-volatile data storage from the default page size to the optimal page size for the logical storage volume.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
wherein the physical pages of non-volatile data storage are contained in at least one non-volatile data storage device; and
wherein processing host I/O requests directed to the logical storage volume includes issuing backend I/O operations to the non-volatile data storage device based on the mapping structure that maps logical addresses for the logical storage volume to corresponding pages of non-volatile data storage.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
wherein the optimal page size for the logical storage volume is larger than the default page size; and
wherein changing the size of the physical pages accessed to process host I/O requests directed to the logical storage volume from the default page size to the optimal page size for the logical storage volume increases a page size used in the backend I/O operations issued to the non-volatile data storage device to process the host I/O requests directed to the logical storage volume from the default page size to the optimal page size for the logical storage volume.

### Claim 4 (depends on 2)

The method of claim 2, further comprising:
wherein the optimal page size for the logical storage volume is smaller than the default page size; and
wherein changing the size of the physical pages accessed to process host I/O requests directed to the logical storage volume from the default page size to the optimal page size for the logical storage volume decreases a page size used in the backend I/O operations issued to the non-volatile data storage device to process the host I/O requests directed to the logical storage volume from the default page size to the optimal page size for the logical storage volume.

### Claim 5 (depends on 1)

The method of claim 1, wherein the mapping data structure comprises a mapping tree that represents mappings between logical addresses in an address space of the logical storage volume to corresponding physical pages of non-volatile data storage contained in at least one non-volatile data storage device, and further comprising:
wherein changing the size of physical pages of non-volatile data storage indicated by the mapping structure includes changing a size of physical pages of non-volatile data storage indicated by at least one leaf node in a leaf level of the mapping tree from the default page size to the optimal page size for the logical storage volume.

### Claim 6 (depends on 5)

The method of claim 5, wherein each leaf node in the leaf level of the mapping tree individually includes an indication of a size of the physical pages of non-volatile data storage indicated by that leaf node, and further comprising:
wherein changing the size of the physical pages of non-volatile data storage indicated by the mapping structure further comprises changing an indication of the size of the physical pages of non-volatile data storage indicated by each leaf node in the mapping tree from the default page size to the optimal page size for the logical storage volume.

### Claim 7

A data storage system, comprising:
processing circuitry and memory coupled to the processing circuitry, the memory storing instructions, wherein the instructions, when executed by the processing circuitry, cause the processing circuitry to:
initially process host I/O requests directed to a logical storage volume by accessing physical pages of non-volatile data storage having a default page size;
receive an indication of an optimal page size for the logical storage volume; and
change the size of the physical pages of non-volatile data storage accessed to process host I/O requests directed to the logical storage volume from the default page size to the optimal page size for the logical storage volume by changing a size of physical pages of non-volatile data storage indicated by a mapping structure that maps logical addresses for the logical storage volume to corresponding physical pages of non-volatile data storage from the default page size to the optimal page size for the logical storage volume.

### Claim 8 (depends on 7)

The data storage system of claim 7, further comprising:
at least one non-volatile data storage device, wherein the physical pages of non-volatile data storage are contained in the least one non-volatile data storage device; and
wherein the instructions, when executed by the processing circuitry to process host I/O requests directed to the logical storage volume further cause the processing circuitry to issue backend I/O operations to the non-volatile data storage device based on the mapping structure that maps logical addresses for the logical storage volume to corresponding pages of non-volatile data storage.

### Claim 9 (depends on 8)

The data storage system of claim 8, further comprising:
wherein the optimal page size for the logical storage volume is larger than the default page size; and
wherein the instructions, when executed by the processing circuitry to change the size of the physical pages accessed to process host I/O requests directed to the logical storage volume from the default page size to the optimal page size for the logical storage volume cause the processing circuitry to increase a page size used in the backend I/O operations issued to the non-volatile data storage device to process the host I/O requests directed to the logical storage volume from the default page size to the optimal page size for the logical storage volume.

### Claim 10 (depends on 8)

The data storage system of claim 8, further comprising:
wherein the optimal page size for the logical storage volume is smaller than the default page size; and
wherein the instructions, when executed by the processing circuitry to change the size of the physical pages accessed to process host I/O requests directed to the logical storage volume from the default page size to the optimal page size for the logical storage volume cause the processing circuitry to decrease a page size used in the backend I/O operations issued to the non-volatile data storage device to process the host I/O requests directed to the logical storage volume from the default page size to the optimal page size for the logical storage volume.

### Claim 11 (depends on 7)

The data storage system of claim 7, further comprising:
wherein the mapping data structure comprises a mapping tree that represents mappings between logical addresses in an address space of the logical storage volume to corresponding physical pages of non-volatile data storage contained in at least one non-volatile data storage device; and
wherein the instructions, when executed by the processing circuitry to change the size of physical pages of non-volatile data storage indicated by the mapping structure cause the processing circuitry to change a size of physical pages of non-volatile data storage indicated by at least one leaf node in a leaf level of the mapping tree from the default page size to the optimal page size for the logical storage volume.

### Claim 12 (depends on 11)

The data storage system of claim 11, further comprising:
wherein each leaf node in the leaf level of the mapping tree individually includes an indication of a size of the physical pages of non-volatile data storage indicated by that leaf node; and
wherein the instructions, when executed by the processing circuitry to change the size of the physical pages of non-volatile data storage indicated by the mapping structure further cause the processing circuitry to change an indication of the size of the physical pages of non-volatile data storage indicated by each leaf node in the mapping tree from the default page size to the optimal page size for the logical storage volume.

### Claim 13

A computer program product, comprising:
a non-transitory, computer-readable medium having instructions stored thereon that, when executed by processing circuitry in a data storage system, cause the processing circuitry to perform a method comprising:
initially processing host I/O requests directed to a logical storage volume by accessing physical pages of non-volatile data storage having a default page size;
receiving an indication of an optimal page size for the logical storage volume; and
changing the size of the physical pages of non-volatile data storage accessed to process host I/O requests directed to the logical storage volume from the default page size to the optimal page size for the logical storage volume by changing a size of physical pages of non-volatile data storage indicated by a mapping structure that maps logical addresses for the logical storage volume to corresponding physical pages of non-volatile data storage from the default page size to the optimal page size for the logical storage volume.

### Claim 14 (depends on 13)

The computer program product of claim 13, further comprising:
wherein the physical pages of non-volatile data storage are contained in at least one non-volatile data storage device; and
wherein processing host I/O requests directed to the logical storage volume includes issuing backend I/O operations to the non-volatile data storage device based on the mapping structure that maps logical addresses for the logical storage volume to corresponding pages of non-volatile data storage.

### Claim 15 (depends on 14)

The computer program product of claim 14, further comprising:
wherein the optimal page size for the logical storage volume is larger than the default page size; and
wherein changing the size of the physical pages accessed to process host I/O requests directed to the logical storage volume from the default page size to the optimal page size for the logical storage volume increases a page size used in the backend I/O operations issued to the non-volatile data storage device to process the host I/O requests directed to the logical storage volume from the default page size to the optimal page size for the logical storage volume.

### Claim 16 (depends on 14)

The computer program product of claim 14, further comprising:
wherein the optimal page size for the logical storage volume is smaller than the default page size; and
wherein changing the size of the physical pages accessed to process host I/O requests directed to the logical storage volume from the default page size to the optimal page size for the logical storage volume decreases a page size used in the backend I/O operations issued to the non-volatile data storage device to process the host I/O requests directed to the logical storage volume from the default page size to the optimal page size for the logical storage volume.

### Claim 17 (depends on 13)

The computer program product of claim 13, further comprising:
wherein the mapping data structure comprises a mapping tree that represents mappings between logical addresses in an address space of the logical storage volume to corresponding physical pages of non-volatile data storage contained in at least one non-volatile data storage device; and
wherein changing the size of physical pages of non-volatile data storage indicated by the mapping structure includes changing a size of physical pages of non-volatile data storage indicated by at least one leaf node in a leaf level of the mapping tree from the default page size to the optimal page size for the logical storage volume.

### Claim 18 (depends on 17)

The computer program product of claim 17, further comprising:
wherein each leaf node in the leaf level of the mapping tree individually includes an indication of a size of the physical pages of non-volatile data storage indicated by that leaf node; and
wherein changing the size of the physical pages of non-volatile data storage indicated by the mapping structure further comprises changing an indication of the size of the physical pages of non-volatile data storage indicated by each leaf node in the mapping tree from the default page size to the optimal page size for the logical storage volume.
