IP Library Granted Patent US 9,575,668
Granted Patent B1
US 9,575,668 · App. 15/169,882 · Granted Feb 21, 2017

Techniques for selecting write endurance classification of flash storage based on read-write mixture of I/O workload

Inventor: Owen Martin (Hopedale, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0611G06F3/0647G06F3/0659G06F3/0688G11C16/10G11C16/26
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 9,575,668
App. No.
15/169,882
Granted
Feb 21, 2017
Kind
B1
Abstract

Processing I/O operations is described. A write operation writes first data to a first location on a logical device having a logical address space partitioned into extents. The first location is included in a first subrange of the logical address space. Each extent includes logical address subranges of the logical address space. The first subrange is one of the logical address subranges of a first extent of the logical device. Physical storage is allocated from a first physical device of a first write endurance classification of flash memory-based storage devices. The first write endurance classification is selected in accordance with a ranking of multiple write endurance classifications. The physical storage is mapped to the first subrange. The first data is stored on the allocated physical storage. First workload information for the first write endurance classification for the first extent is updated to reflect the first write operation.

Claims (56)

1. A method of determining physical storage for storing data comprising:

receiving a ranking of a plurality of write endurance classifications of storage devices, said ranking indicating a relative ordering of expected write endurance of the plurality of write endurance classifications;

determining, in accordance with first workload information, whether to relocate at least a first chunk of a first data portion currently stored on physical storage of a first of the plurality of write endurance classifications, said first workload information denoting a mixture of read and write operations directed to the first data portion; and

responsive to determining to relocate at least the first chunk of the first data portion, performing first processing including:

selecting, in accordance with the first workload information for the first data portion, a second of the plurality of write endurance classifications; and

moving at least the first chunk of the first data portion from physical storage of the first write endurance classification to other physical storage of a second of the plurality of write endurance classifications.

2. The method of claim 1 , wherein said first write endurance classification is associated with a first range of read/write ratios denoting any of a suitable and preferred workload for data stored on physical storage of the first write endurance classification, and wherein said second write endurance classification is associated with a second range of read/write ratios denoting any of a suitable and preferred workload for data stored on physical storage of the second write endurance classification.

3. The method of claim 2 , wherein said determining whether to relocate at least the first chunk of the first data portion further comprises:

determining whether the first workload information denotes a mixture of read and write operations that is within the first range; and

responsive to determining that the first workload information does not denote a mixture of read and write operations within the first range, determining to relocate at least the first chunk of the first data portion from physical storage of the first write endurance classification.

4. The method of claim 3 , wherein said selecting further comprises:

determining whether the first workload information denotes a mixture of read and write operations that is within the second range; and

responsive to determining that the first workload information denotes a mixture of read and write operations within the second range, selecting the second write endurance classification as a target write endurance classification to which at least the first chunk of the first data portion is relocated.

5. The method of claim 1 , further comprising:

receiving a write operation directed to the first chunk of the first data portion;

responsive to receiving the write operation, performing second processing including:

determining whether storage is allocated for the first chunk; and

responsive to determining that storage is currently allocated for the first chunk, performing said determining whether to relocate the first chunk of the first data portion from the first write endurance classification.

6. The method of claim 1 , wherein said plurality of write endurance classifications denote different write endurance classifications of flash memory-based storage devices.

7. The method of claim 6 , wherein said plurality of write endurance classifications include any of single level cell (SLC) flash, enterprise multi-level cell (eMLC) flash, multi-level cell (MLC) flash, tri-level cell (TLC) flash, and consumer grade multi-level cell (cMLC).

8. The method of claim 1 , wherein each of the plurality of write endurance classifications includes a same amount of storage capacity.

9. The method of claim 8 , further comprising:

modifying said ranking in accordance with one or more changes in storage capacity for one or more of the plurality of write endurance classifications.

10. The method of claim 9 , further comprising:

determining, for each of the plurality of write endurance classifications, an amount of allowable writes per unit of time based on a storage capacity of said each write endurance classification; and

determining a revised version of said ranking of the plurality of write endurance classifications in accordance with the amount of allowable writes per unit of time based on a storage capacity of each of the plurality of write endurance classifications.

11. The method of claim 1 , wherein the first data portion is an extent that includes a plurality of chunks and each of the plurality of chunks is stored on physical storage of a different one of the plurality of write endurance classifications.

12. A system comprising:

one or more processors; and

a memory comprising code stored thereon that, when executed, by one or more processors, performs a method of determining physical storage for storing data comprising:

receiving a ranking of a plurality of write endurance classifications of storage devices, said ranking indicating a relative ordering of expected write endurance of the plurality of write endurance classifications;

determining, in accordance with first workload information, whether to relocate at least a first chunk of a first data portion currently stored on physical storage of a first of the plurality of write endurance classifications, said first workload information denoting a mixture of read and write operations directed to the first data portion; and

responsive to determining to relocate at least the first chunk of the first data portion, performing first processing including:

selecting, in accordance with the first workload information for the first data portion, a second of the plurality of write endurance classifications; and

moving at least the first chunk of the first data portion from physical storage of the first write endurance classification to other physical storage of a second of the plurality of write endurance classifications.

13. A non-transitory computer readable medium comprising code stored thereon that, when executed, performs a method of determining physical storage for storing data comprising:

receiving a ranking of a plurality of write endurance classifications of storage devices, said ranking indicating a relative ordering of expected write endurance of the plurality of write endurance classifications;

determining, in accordance with first workload information, whether to relocate at least a first chunk of a first data portion currently stored on physical storage of a first of the plurality of write endurance classifications, said first workload information denoting a mixture of read and write operations directed to the first data portion; and

responsive to determining to relocate at least the first chunk of the first data portion, performing first processing including:

selecting, in accordance with the first workload information for the first data portion, a second of the plurality of write endurance classifications; and

moving at least the first chunk of the first data portion from physical storage of the first write endurance classification to other physical storage of a second of the plurality of write endurance classifications.

14. The non-transitory computer readable medium of claim 13 , wherein said first write endurance classification is associated with a first range of read/write ratios denoting any of a suitable and preferred workload for data stored on physical storage of the first write endurance classification, and wherein said second write endurance classification is associated with a second range of read/write ratios denoting any of a suitable and preferred workload for data stored on physical storage of the second write endurance classification.

15. The non-transitory computer readable medium of claim 14 , wherein said determining whether to relocate at least the first chunk of the first data portion further comprises:

determining whether the first workload information denotes a mixture of read and write operations that is within the first range; and

responsive to determining that the first workload information does not denote a mixture of read and write operations within the first range, determining to relocate at least the first chunk of the first data portion from physical storage of the first write endurance classification.

16. The non-transitory computer readable medium of claim 15 , wherein said selecting further comprises:

determining whether the first workload information denotes a mixture of read and write operations that is within the second range; and

responsive to determining that the first workload information denotes a mixture of read and write operations within the second range, selecting the second write endurance classification as a target write endurance classification to which at least the first chunk of the first data portion is relocated.

17. The non-transitory computer readable medium of claim 13 , wherein the method further comprises:

receiving a write operation directed to the first chunk of the first data portion;

responsive to receiving the write operation, performing second processing including:

determining whether storage is allocated for the first chunk; and

responsive to determining that storage is currently allocated for the first chunk, performing said determining whether to relocate the first chunk of the first data portion from the first write endurance classification.

18. The non-transitory computer readable medium of claim 13 , wherein said plurality of write endurance classifications denote different write endurance classifications of flash memory-based storage devices.

19. The non-transitory computer readable medium of claim 18 , wherein said plurality of write endurance classifications include any of single level cell (SLC) flash, enterprise multi-level cell (eMLC) flash, multi-level cell (MLC) flash, tri-level cell (TLC) flash, and consumer grade multi-level cell (cMLC).

20. The non-transitory computer readable medium of claim 13 , wherein the first data portion is an extent that includes a plurality of chunks and each of the plurality of chunks is stored on physical storage of a different one of the plurality of write endurance classifications.

Assignments (9)
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 (042769/0001) Recorded Apr 26, 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 (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0802 →
RELEASE OF SECURITY INTEREST AT REEL 042768 FRAME 0585 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058297/0536 →
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 →
SECURITY AGREEMENT Recorded Mar 21, 2019
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 049452/0223 →
PATENT SECURITY INTEREST (CREDIT) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 042768/0585 →
PATENT SECURITY INTEREST (NOTES) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 042769/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2017
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041269/0545 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2016
From: MARTIN, OWEN
To: EMC CORPORATION
Reel/Frame 038760/0414 →
Continuity (1)
Continuation 14319040 · Jun 30, 2014