IP Library Granted Patent US 10,776,205
Granted Patent B2
US 10,776,205 · App. 15/966,031 · Granted Sep 15, 2020

Method, apparatus and computer program product for managing data storage in data storage systems

Inventors: Wayne Weihua Li (Beijing, CN); Jian Gao (Beijing, CN); Jamin Kang (Beijing, CN); Sheng Wang (Beijing, CN); Charles Chun Ma (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F11/1092G06F3/0604G06F3/0619G06F3/0629G06F3/0689G06F11/2094
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,776,205
App. No.
15/966,031
Granted
Sep 15, 2020
Kind
B2
Abstract

Techniques are disclosed for managing data storage. In one embodiment, the techniques determine one or more RAID extents having a disk extent supported by an extent of storage on a storage device in an inoperative state. Each of the RAID extents contains a respective set of disk extents allocated to that RAID extent and each disk extent is supported by an extent of storage on a storage device of the set of storage devices. The techniques also comprise evaluating a set of values, wherein each value indicates, for a corresponding pair of storage devices from the set of storage devices, a number of RAID extents which contain disk extents belonging to both storage devices of the pair. The techniques also comprise selecting, based on the said evaluation and for each of the one or more RAID extents, a free disk extent for facilitating rebuild of that RAID extent, wherein the said free disk extent is supported by an extent of storage of one of the set of storage devices other than one of the storage devices associated with that RAID extent.

Claims (50)

1. A method, comprising:

detecting an inoperative state relating to a storage device of a set of storage devices of a data storage system;

in response to detecting the inoperative state, determining one or more RAID extents having a disk extent supported by an extent of storage on the storage device associated with the inoperative state, wherein each of the RAID extents contains a respective set of disk extents allocated to that RAID extent and each disk extent is supported by an extent of storage on a storage device of the set of storage devices;

evaluating a set of values, wherein each value indicates, for a corresponding pair of storage devices from the set of storage devices, a number of RAID extents which contain disk extents belonging to both storage devices of the pair;

based on the said evaluation, selecting, for each of the one or more RAID extents, a free disk extent supported by an extent of storage of one of the set of storage devices other than one of the storage devices associated with that RAID extent; and

rebuilding the one or more RAID extents by utilizing the free disk extents selected for the respective RAID extents to replace the disk extents supported by the storage device associated with the inoperative state;

wherein each of the one or more RAID extents requires a free disk extent from one of the set of storage devices not associated with that RAID extent to facilitate rebuild of that RAID extent, and

wherein the said evaluating comprises:

for each of the one or more RAID extents:

calculating one or more scores in connection with one or more possible new configurations for the RAID extent that include disk extents from the operative storage devices of the RAID extent and one of the set of storage devices not associated with the RAID extent, wherein the one or more scores are calculated by summing values from the set of values that describe the one or more possible new configurations for the RAID extent;

identifying a minimum score from the said one or more scores, wherein the minimum score is associated with one of the one or more possible new configurations; and

based on the minimum score, selecting the storage device associated with the one of the one or more possible new configurations to provide the free disk extent to the RAID extent.

2. The method as claimed in claim 1 , wherein the said evaluating is performed in accordance with a neighborhood matrix that includes the values for each pair of storage device of the set of storage devices.

3. The method as claimed in claim 2 , wherein the neighborhood matrix includes N rows and N columns and wherein each entry (I, J) of the neighborhood matrix located at row I, column J denotes a count of how many times storage device I has neighbored storage device J in RAID extents such that the two storage devices I and J are neighbors with each other each time a disk extent from storage device I and a disk extent from storage device J are included in the same RAID extent.

4. The method as claimed in claim 1 , wherein the values are weighted based on the capacity of a storage device of the set of storage devices.

5. The method as claimed in claim 1 , wherein the values are weighted based on the capacity of a typical storage device of the set of storage devices and the capacity of the pair of storage devices associated with the value.

6. An apparatus, comprising:

memory; and

processing circuitry coupled to the memory, the memory storing instructions which, when executed by the processing circuitry, cause the processing circuitry to:

detect an inoperative state relating to a storage device of a set of storage devices of a data storage system;

in response to detecting the inoperative state, determine one or more RAID extents having a disk extent supported by an extent of storage on the storage device associated with the inoperative state, wherein each of the RAID extents contains a respective set of disk extents allocated to that RAID extent and each disk extent is supported by an extent of storage on a storage device of the set of storage devices;

evaluate a set of values, wherein each value indicates, for a corresponding pair of storage devices from the set of storage devices, a number of RAID extents which contain disk extents belonging to both storage devices of the pair;

based on the said evaluation, select, for each of the one or more RAID extents, a free disk extent supported by an extent of storage of one of the set of storage devices other than one of the storage devices associated with that RAID extent; and

rebuild the one or more RAID extents by utilizing the free disk extents selected for the respective RAID extents to replace the disk extents supported by the storage device associated with the inoperative state;

wherein each of the one or more RAID extents requires a free disk extent from one of the set of storage devices not associated with that RAID extent to facilitate rebuild of that RAID extent, and

wherein the said evaluating comprises:

for each of the one or more RAID extents:

calculating one or more scores in connection with one or more possible new configurations for the RAID extent that include disk extents from the operative storage devices of the RAID extent and one of the set of storage devices not associated with the RAID extent, wherein the one or more scores are calculated by summing values from the set of values that describe the one or more possible new configurations for the RAID extent;

identifying a minimum score from the said one or more scores, wherein the minimum score is associated with one of the one or more possible new configurations; and

based on the minimum score, selecting the storage device associated with the one of the one or more possible new configurations to provide the free disk extent to the RAID extent.

7. The apparatus as claimed in claim 6 , wherein the said evaluating is performed in accordance with a neighborhood matrix that includes the values for each pair of storage device of the set of storage devices.

8. The apparatus as claimed in claim 7 , wherein the neighborhood matrix includes N rows and N columns and wherein each entry (I, J) of the neighborhood matrix located at row I, column J denotes a count of how many times storage device I has neighbored storage device J in RAID extents such that the two storage devices I and J are neighbors with each other each time a disk extent from storage device I and a disk extent from storage device J are included in the same RAID extent.

9. The apparatus as claimed in claim 6 , wherein the values are weighted based on the capacity of a storage device of the set of storage devices.

10. The apparatus as claimed in claim 6 , wherein the values are weighted based on the capacity of a typical storage device of the set of storage devices and the capacity of the pair of storage devices associated with the value.

11. A computer program product having a non-transitory computer readable medium which stores a set of instructions, the set of instructions, when carried out by processing circuitry, causing the processing circuitry to perform a method of:

detecting an inoperative state relating to a storage device of a set of storage devices of a data storage system;

in response to detecting the inoperative state, determining one or more RAID extents having a disk extent supported by an extent of storage on the storage device associated with the inoperative state, wherein each of the RAID extents contains a respective set of disk extents allocated to that RAID extent and each disk extent is supported by an extent of storage on a storage device of the set of storage devices;

evaluating a set of values, wherein each value indicates, for a corresponding pair of storage devices from the set of storage devices, a number of RAID extents which contain disk extents belonging to both storage devices of the pair;

based on the said evaluation, selecting, for each of the one or more RAID extents, a free disk extent supported by an extent of storage of one of the set of storage devices other than one of the storage devices associated with that RAID extent; and

rebuilding the one or more RAID extents by utilizing the free disk extents selected for the respective RAID extents to replace the disk extents supported by the storage device associated with the inoperative state;

wherein each of the one or more RAID extents requires a free disk extent from one of the set of storage devices not associated with that RAID extent to facilitate rebuild of that RAID extent, and

wherein the said evaluating comprises:

for each of the one or more RAID extents:

calculating one or more scores in connection with one or more possible new configurations for the RAID extent that include disk extents from the operative storage devices of the RAID extent and one of the set of storage devices not associated with the RAID extent, wherein the one or more scores are calculated by summing values from the set of values that describe the one or more possible new configurations for the RAID extent;

identifying a minimum score from the said one or more scores, wherein the minimum score is associated with one of the one or more possible new configurations; and

based on the minimum score, selecting the storage device associated with the one of the one or more possible new configurations to provide the free disk extent to the RAID extent.

12. The computer program product as claimed in claim 11 , wherein the said evaluating is performed in accordance with a neighborhood matrix that includes the values for each pair of storage device of the set of storage devices.

13. The computer program product as claimed in claim 12 , wherein the neighborhood matrix includes N rows and N columns and wherein each entry (I, J) of the neighborhood matrix located at row I, column J denotes a count of how many times storage device I has neighbored storage device J in RAID extents such that the two storage devices I and J are neighbors with each other each time a disk extent from storage device I and a disk extent from storage device J are included in the same RAID extent.

14. The computer program product as claimed in claim 11 , wherein the values are weighted based on the capacity of a storage device of the set of storage devices.

15. The computer program product as claimed in claim 11 , wherein the values are weighted based on the capacity of a typical storage device of the set of storage devices and the capacity of the pair of storage devices associated with the value.

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 (046366/0014) Recorded May 20, 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 060450/0306 →
RELEASE OF SECURITY INTEREST AT REEL 046286 FRAME 0653 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0093 →
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 AGREEMENT (CREDIT) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046286/0653 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 1, 2018
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 046366/0014 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2018
From: LI, WAYNE WEIHUA; GAO, JIAN; KANG, JAMIN; WANG, SHENG; MA, CHARLES CHUN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 045664/0953 →
Priority Claims (1)
CN 2018 1 0089375 · Jan 30, 2018 · national
Continuity (1)
Related Publication 20190235957A1 · Aug 1, 2019