IP Library Granted Patent US 10,754,573
Granted Patent B2
US 10,754,573 · App. 15/423,657 · Granted Aug 25, 2020

Optimized auto-tiering, wherein subset of data movements are selected, utilizing workload skew point, from a list that ranks data movements based on criteria other than I/O workload

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 10,754,573
App. No.
15/423,657
Granted
Aug 25, 2020
Kind
B2
Abstract

Described are techniques for performing data movement optimization processing comprising: receiving a list of proposed data movements; ranking the list in accordance with one or more criteria associated with each of the proposed data movements of the list, wherein the one or more criteria for each proposed data movement, that moves a data portion to a target storage tier, includes at least one characteristic about each proposed data movement other than I/O workload directed to the data portion; selecting a subset of the proposed data movements of the list; implementing the subset of the proposed data movements by performing each of the proposed data movements of the subset; and revising the list to remove proposed data movements of the subset implemented in said implementing. A new list may be obtained each time period. A subset of the ranked list may be implemented each time period in a cycle.

Claims (39)

1. A method of performing data movement optimization processing comprising:

receiving, using a processor, a list of proposed data movements for a plurality of data portions, wherein each proposed data movement of the list denotes a proposed movement of a data portion of the plurality of data portions from a source storage tier of a plurality of storage tiers to a target tier of the plurality of storage tiers, wherein the plurality of storage tiers are used for back-end data storage in a data storage system, and wherein each proposed data movement of the list denotes either a demotion, where the source storage tier is a higher performance tier than the target storage tier, or a promotion, where the source storage tier is a lower performance tier than the target storage tier;

ranking, using a processor, the list of proposed data movements in accordance with one or more criteria associated with each of the proposed data movements of the list, wherein the one or more criteria for said each proposed data movement includes at least one characteristic about said each proposed data movement other than I/O workload directed to the data portion of said each proposed data movement, wherein the one or more criteria for said each proposed data movement, that moves the data portion to the target storage tier, includes an indicator denoting whether the data portion includes file system metadata, wherein the file system metadata includes protection or access information indicating user permissions needed to access different data portions;

selecting, using a processor and in accordance with said ranking, a subset of the proposed data movements of the list, wherein the subset of the proposed data movements of the list is determined using a workload skew point denoting that a specified percentage of I/O workload of the plurality of data portions is directed to a specified percentage of busiest data portions of the plurality of data portions;

implementing, using a processor, the subset of the proposed data movements by performing each of the proposed data movements of the subset;

and revising, using a processor, the list to remove the subset of the proposed data movements implemented in said implementing.

2. The method of claim 1 , wherein the plurality of storage tiers are ranked based on performance.

3. The method of claim 2 , wherein the list of proposed data movements is generated by a data storage optimizer that automatically generates a new list of proposed data movements at each occurrence of a defined time period.

4. The method of claim 3 , wherein said ranking, said selecting, said implementing and said revising are repeated as a group at each occurrence of a defined time period within a cycle, wherein the cycle has a defined cycle time that is a multiple of the defined time period.

5. The method of claim 1 , wherein the one or more criteria include one or more primary criteria and one or more secondary criteria, and wherein each proposed data movement of the list meeting the one or more primary criteria is ranked higher by said ranking than any other proposed data movement of the list not meeting the primary criteria.

6. The method of claim 1 , wherein the one or more criteria includes a third level of criteria.

7. The method of claim 1 , wherein the one or more criteria for said each proposed data movement, that moves the data portion to the target storage tier, includes an indicator denoting whether the data portion includes application critical data.

8. The method of claim 1 , wherein the one or more criteria for said each proposed data movement, that moves the data portion to the target storage tier, includes an I/O workload for the data portion.

9. The method of claim 8 , wherein the I/O workload for the data portion denotes a cumulative I/O workload directed to the data portion for both reads and writes directed to the data portion.

10. The method of claim 1 , wherein the one or more criteria for said each proposed data movement, that moves the data portion to the target storage tier, includes one of a predefined set of application priorities denoting an application priority for an application using the data included in the data portion of said each proposed data movement.

11. The method of claim 1 , wherein the one or more criteria for said each proposed data movement, that moves the data portion to the target storage tier, includes one of a predefined set of quality of service levels denoting a priority or a level of importance of the data portion of said each proposed data movement, wherein the priority or the level of importance of the data portion of said each proposed data movement is with respect to an application using the data included in the data portion of said each proposed data movement.

12. The method of claim 1 , wherein a first of the plurality of storage tiers includes physical storage devices having a first write endurance and a second of the plurality of storage tiers includes physical storage devices having a second write endurance greater than the first write endurance.

13. The method of claim 12 , wherein the first endurance denotes that physical storage devices of the first storage tier wear out and are expected to sustain an expected number of write or erasure cycles that is less than a second expected number of write or erasure cycles associated with physical devices of the second storage tier.

14. The method of claim 13 , wherein the first and the second storage tiers are tiers of different flash-based physical drives.

15. The method of claim 14 , wherein the one or more criteria for said each proposed data movement, that moves the data portion to the target storage tier, includes an indicator denoting whether I/O workload directed to the data portion is read heavy or write heavy.

16. The method of claim 1 , wherein the subset of the proposed data movements is further determined using a specified increase in performance expected as a result of modeling implementation of a number of the proposed data movements of the list as ranked by said ranking.

17. A system comprising:

one or more processors;

and one or more memories comprising code stored thereon that, when executed, performs a method comprising:

receiving, using a processor, a list of proposed data movements for a plurality of data portions, wherein each proposed data movement of the list denotes a proposed movement of a data portion of the plurality of data portions from a source storage tier of a plurality of storage tiers to a target tier of the plurality of storage tiers, wherein the plurality of storage tiers are used for back-end data storage in a data storage system, and wherein each proposed data movement of the list denotes either a demotion, where the source storage tier is a higher performance tier than the target storage tier, or a promotion, where the source storage tier is a lower performance tier than the target storage tier;

ranking, using a processor, the list of proposed data movements in accordance with one or more criteria associated with each of the proposed data movements of the list, wherein the one or more criteria for said each proposed data movement includes at least one characteristic about said each proposed data movement other than I/O workload directed to the data portion of said each proposed data movement, wherein the one or more criteria for said each proposed data movement, that moves the data portion to the target storage tier, includes an indicator denoting whether the data portion includes file system metadata, wherein the file system metadata includes protection or access information indicating user permissions needed to access different data portions;

selecting, using a processor and in accordance with said ranking, a subset of the proposed data movements of the list, wherein the subset of the proposed data movements of the list is determined using a workload skew point denoting that a specified percentage of I/O workload of the plurality of data portions is directed to a specified percentage of busiest data portions of the plurality of data portions;

implementing, using a processor, the subset of the proposed data movements by performing each of the proposed data movements of the subset;

and revising, using a processor, the list to remove the subset of the proposed data movements implemented in said implementing.

18. A non-transitory computer readable medium comprising code stored thereon, that when executed, performs a method of data movement optimization processing comprising:

receiving, using a processor, a list of proposed data movements for a plurality of data portions, wherein each proposed data movement of the list denotes a proposed movement of a data portion of the plurality of data portions from a source storage tier of a plurality of storage tiers to a target tier of the plurality of storage tiers, wherein the plurality of storage tiers are used for back-end data storage in a data storage system, and wherein each proposed data movement of the list denotes either a demotion, where the source storage tier is a higher performance tier than the target storage tier, or a promotion, where the source storage tier is a lower performance tier than the target storage tier;

ranking, using a processor, the list of proposed data movements in accordance with one or more criteria associated with each of the proposed data movements of the list, wherein the one or more criteria for said each proposed data movement includes at least one characteristic about said each proposed data movement other than I/O workload directed to the data portion of said each proposed data movement, wherein the one or more criteria for said each proposed data movement, that moves the data portion to the target storage tier, includes an indicator denoting whether the data portion includes file system metadata, wherein the file system metadata includes protection or access information indicating user permissions needed to access different data portions;

selecting, using a processor and in accordance with said ranking, a subset of the proposed data movements of the list, wherein the subset of the proposed data movements of the list is determined using a workload skew point denoting that a specified percentage of I/O workload of the plurality of data portions is directed to a specified percentage of busiest data portions of the plurality of data portions;

implementing, using a processor, the subset of the proposed data movements by performing each of the proposed data movements of the subset;

and revising, using a processor, the list to remove the subset of the proposed data movements implemented in said implementing.

19. The non-transitory computer readable medium of claim 18 , wherein the subset includes a highest ranked portion of proposed data movements on the list, wherein the revising step outputs a revised list of proposed data movements in which the subset implemented have been removed, and, after performing said revising, the method further includes performing:

receiving an on-demand request to perform data movements; and

responsive to receiving the on-demand request, implementing the revised list of proposed data movements.

20. The non-transitory computer readable medium of claim 18 , wherein the subset of the proposed data movements is further determined using a specified increase in performance expected as a result of modeling implementation of a number of the proposed data movements of the list as ranked by said ranking.

Assignments (8)
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 Feb 15, 2017
From: DALMATOV, NICKOLAY A.; SHATUNOV, VLADIMIR
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041261/0484 →