IP Library Granted Patent US 11,429,531
Granted Patent B2
US 11,429,531 · App. 16/779,749 · Granted Aug 30, 2022

Changing page size in an address-based data storage system

Inventors: David Meiri (Somerville, MA); Anton Kucherov (Dudley, MA)
Assignee: EMC IP Holding Company LLC
G06F12/0882G06F3/0607G06F3/0665G06F3/0683G06F9/5016G06F9/542G06F9/546G06F11/3034G06F12/0246G06F16/1824G06F16/2246G06F2212/7201
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,429,531
App. No.
16/779,749
Granted
Aug 30, 2022
Kind
B2
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 (53)

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, 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 each 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 and allocating a new physical block of contiguous non-volatile storage in the at least one non-volatile data storage device for each leaf node in the leaf level of the mapping tree.

2. 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.

3. 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.

4. 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.

5. The method of claim 1 , 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.

6. The method of claim 1 , wherein the logical storage volume is one of a plurality of logical storage volumes, and further comprising:

changing a size of the physical pages of non-volatile data storage accessed to process host I/O requests directed to each one of the logical storage volumes from a default page size to a corresponding optimal page size for each one of the logical storage volumes, such that each logical storage volume has a different optimal page size.

7. The method of claim 6 , wherein each one of the plurality of logical storage volumes stores host data generated by a different one of a plurality of applications.

8. The method of claim 7 , wherein each one of the logical storage volumes has its own mapping tree that represents mappings between logical addresses in an address space of that logical storage volume to corresponding physical pages of non-volatile data storage contained in the at least one non-volatile data storage device.

9. 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, 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 each 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 and allocate a new physical block of contiguous non-volatile storage in the at least one non-volatile data storage device for each leaf node in the leaf level of the mapping tree.

10. The data storage system of claim 9 , 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.

11. The data storage system of claim 10 , 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.

12. The data storage system of claim 10 , 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.

13. The data storage system of claim 9 , 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.

14. 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, 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 each 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 and allocating a new physical block of contiguous non-volatile storage in the at least one non-volatile data storage device for each leaf node in the leaf level of the mapping tree.

15. The computer program product of claim 14 , 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.

16. The computer program product of claim 15 , 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.

17. The computer program product of claim 15 , 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.

18. The computer program product of claim 14 , 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.

Assignments (13)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0582 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0441 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2020
From: MEIRI, DAVID; KUCHEROV, ANTON
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051973/0733 →