IP Library › Granted Patent US 11,816,365
Granted Patent B2
US 11,816,365 · App. 17/580,938 · Granted Nov 14, 2023

Storage volume creation using performance volumes and capacity volumes

Inventors: Manish Patil (Bangalore, IN); Sanjay Kumar Tiwari (Bangalore, IN)
Assignee: Dell Products L.P.
G06F3/0664G06F3/0611G06F3/0613G06F3/0659G06F3/0683
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,816,365
App. No.
17/580,938
Granted
Nov 14, 2023
Kind
B2
Abstract

Methods, apparatus, and processor-readable storage media are provided herein for storage volume creation using performance volumes and capacity volumes. An example computer-implemented method includes configuring a storage system with at least first and second storage tiers each comprising a plurality of storage devices; creating a virtual storage volume having a first portion corresponding to at least a portion of the plurality of storage devices of the first storage tier and a second portion corresponding to at least a portion of the plurality of storage devices of the second storage tier; and processing input-output requests from one or more host devices associated with the virtual storage volume, wherein the processing comprises moving data between the first portion and the second portion of the virtual storage volume so that each of the input-output requests is processed using the first portion of the virtual storage volume.

Claims (59)

1. A computer-implemented method comprising:

configuring a storage system with at least first and second storage tiers each comprising a plurality of storage devices;

creating a virtual storage volume having a first portion corresponding to at least a portion of the plurality of storage devices of the first storage tier and a second portion corresponding to at least a portion of the plurality of storage devices of the second storage tier; and

processing input-output requests from one or more host devices associated with the virtual storage volume, wherein the processing comprises moving data between the first portion and the second portion of the virtual storage volume, based at least in part on two or more lists related to data movement operations between the first portion and the second portion, so that each of the input-output requests is processed using the first portion of the virtual storage volume, and wherein the two or more lists are maintained on the first portion of the virtual storage volume and comprise a first list comprising pointers to items of data stored on the first portion that are most recently used and a second list comprising pointers to items of data stored on the first portion that are most frequently used;

wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

2. The computer-implemented method of claim 1 , wherein the storage devices of the first storage tier provide at least one of: a higher throughput and a faster response time relative to the storage devices of the second storage tier.

3. The computer-implemented method of claim 2 , wherein at least one of:

the storage devices on the first storage tier comprise one or more non-volatile memory express drive devices, and

the storage devices on the second storage tier comprise one or more hard disk drive devices.

4. The computer-implemented method of claim 1 , wherein the two or more lists further comprise a third list comprising pointers to items of data that have been moved from the first portion to the second portion of the virtual storage volume.

5. The computer-implemented method of claim 4 , wherein a given one of the input-output requests comprises a read request, and wherein the processing comprises:

in response to determining that the first portion of the virtual storage volume does not comprise data associated with the read request, searching at least one of: the first, second, and third lists to identify a location of the data associated with the read request;

moving the data associated with the read request to the first portion of the virtual storage volume; and

providing a response to the read request.

6. The computer-implemented method of claim 1 , wherein a given one of the input-output requests comprises a write request, and wherein the processing comprises:

in response to determining that the first portion does not have storage space to process the write request, moving one or more portions of data stored on the first portion of the virtual storage volume to the second portion of the virtual storage volume; and

allocating, based at least in part on the moving, storage space on the first portion of the virtual storage volume for the write request.

7. The computer-implemented method of claim 1 , wherein the processing comprises:

identifying data on the first portion of the virtual storage volume that is at least one of: (i) least recently used and (ii) least frequently used relative to other data on the first portion of the virtual storage volume; and

moving the identified data from the first portion to the second portion of the virtual storage volume.

8. The computer-implemented method of claim 1 , wherein the processing comprises:

identifying that the input-output requests comprise sequential input-output requests;

prefetching, from the second portion of the virtual storage volume, one or more portions of data associated with the sequential input-output requests; and

loading the prefetched data to the first portion of the virtual storage volume.

9. The computer-implemented method of claim 1 , wherein the processing comprises moving data from the first portion to the second portion of the virtual storage volume based on at least one of:

a storage capacity threshold associated with the first portion of the storage volume;

an input-output activity threshold; and

one or more specified schedules.

10. The computer-implemented method of claim 1 , wherein at least one of:

the first portion of the virtual storage volume is associated with a first RAID configuration of a first type; and

the second portion of the storage volume is associated with a second RAID configuration of a second type.

11. A non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device:

to configure a storage system with at least first and second storage tiers each comprising a plurality of storage devices;

to create a virtual storage volume having a first portion corresponding to at least a portion of the plurality of storage devices of the first storage tier and a second portion corresponding to at least a portion of the plurality of storage devices of the second storage tier; and

to process input-output requests from one or more host devices associated with the virtual storage volume, wherein the processing comprises moving data between the first portion and the second portion of the virtual storage volume, based at least in part on two or more lists related to data movement operations between the first portion and the second portion, so that each of the input-output requests is processed using the first portion of the virtual storage volume, and wherein the two or more lists are maintained on the first portion of the virtual storage volume and comprise a first list comprising pointers to items of data stored on the first portion that are most recently used and a second list comprising pointers to items of data stored on the first portion that are most frequently used.

12. The non-transitory processor-readable storage medium of claim 11 , wherein the storage devices of the first storage tier provide at least one of: a higher throughput and a faster response time relative to the storage devices of the second storage tier.

13. The non-transitory processor-readable storage medium of claim 12 , wherein at least one of:

the storage devices on the first storage tier comprise one or more non-volatile memory express drive devices, and

the storage devices on the second storage tier comprise one or more hard disk drive devices.

14. The non-transitory processor-readable storage medium of claim 11 , wherein the two or more lists further comprise a third list comprising pointers to items of data that have been moved from the first portion to the second portion of the virtual storage volume.

15. The non-transitory processor-readable storage medium of claim 14 , wherein a given one of the input-output requests comprises a read request, and wherein the processing comprises:

in response to determining that the first portion of the virtual storage volume does not comprise data associated with the read request, searching at least one of: the first, second, and third lists to identify a location of the data associated with the read request;

moving the data associated with the read request to the first portion of the virtual storage volume; and

providing a response to the read request.

16. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

the at least one processing device being configured:

to configure a storage system with at least first and second storage tiers each comprising a plurality of storage devices;

to create a virtual storage volume having a first portion corresponding to at least a portion of the plurality of storage devices of the first storage tier and a second portion corresponding to at least a portion of the plurality of storage devices of the second storage tier; and

to process input-output requests from one or more host devices associated with the virtual storage volume, wherein the processing comprises moving data between the first portion and the second portion of the virtual storage volume, based at least in part on two or more lists related to data movement operations between the first portion and the second portion, so that each of the input-output requests is processed using the first portion of the virtual storage volume, and wherein the two or more lists are maintained on the first portion of the virtual storage volume and comprise a first list comprising pointers to items of data stored on the first portion that are most recently used and a second list comprising pointers to items of data stored on the first portion that are most frequently used.

17. The apparatus of claim 16 , wherein the storage devices of the first storage tier provide at least one of: a higher throughput and a faster response time relative to the storage devices of the second storage tier.

18. The apparatus of claim 17 , wherein at least one of:

the storage devices on the first storage tier comprise one or more non-volatile memory express drive devices, and

the storage devices on the second storage tier comprise one or more hard disk drive devices.

19. The apparatus of claim 16 , wherein the two or more lists further comprise a third list comprising pointers to items of data that have been moved from the first portion to the second portion of the virtual storage volume.

20. The apparatus of claim 19 , wherein a given one of the input-output requests comprises a read request, and wherein the processing comprises:

in response to determining that the first portion of the virtual storage volume does not comprise data associated with the read request, searching at least one of: the first, second, and third lists to identify a location of the data associated with the read request;

moving the requested data to the first portion of the virtual storage volume; and

providing a response to the read request.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2022
From: PATIL, MANISH; TIWARI, SANJAY KUMAR
To: DELL PRODUCTS L.P.
Reel/Frame 058722/0500 →
Continuity (1)
Related Publication 20230236768A1 · Jul 27, 2023