IP Library Granted Patent US 10,521,302
Granted Patent B1
US 10,521,302 · App. 15/669,882 · Granted Dec 31, 2019

Managing mapped raid extents in data storage systems

Inventors: Jian Gao (Beijing, CN); Ilya Usvyatsky (Northborough, MA); Weihua Li (Tianjin, CN); Geng Han (Beijing, CN); Xinlei Xu (Beijing, CN); Jibing Dong (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F11/1092G06F3/061G06F3/0632G06F3/0644G06F3/0647G06F3/0689G06F17/18G06F11/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,521,302
App. No.
15/669,882
Granted
Dec 31, 2019
Kind
B1
Abstract

A technique for use in managing mapped RAID extents is disclosed. A neighborhood matrix denoting a distribution of neighboring physical storage portions across the N physical storage devices of the pool is created and initialized. A disk extent consumed array denoting a disk consumption metric is created and initialized. Disks in an extent pool are analyzed to identify a least consumed disk in the extent pool and a disk extent is allocated from the identified disk. The allocated disk extent is configured as a first disk extent for a first RAID extent. The neighborhood matrix and disk extent consumed array are updated appropriately. All the disks in the extent pool are analyzed to identify a valid disk extent that will result in the lowest variance value in the neighborhood matrix. The identified valid disk extent is allocated and the neighborhood matrix and disk extent consumed array are again updated.

Claims (28)

1. A method for use in managing mapped RAID extents in data storage systems, the method comprising:

creating and initializing a neighborhood matrix denoting a distribution of neighboring physical storage portions across the N physical storage devices of the pool, 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 physical storage device I of the pool has neighbored physical storage device J of the pool;

creating and initializing a disk extent consumed array denoting a disk consumption metric, the array storing a value for each of the N physical storage devices of the pool;

analyzing disks in an extent pool to identify a disk servicing fewest input output operations (I/Os) in the extent pool and allocating a disk extent from the identified disk;

configuring the allocated disk extent as a first disk extent for a first RAID extent and updating the neighborhood matrix and the disk extent consumed array, the mapped RAID extents including the first RAID extent;

analyzing all the disks in the extent pool to identify a valid disk extent that will result in a lowest variance value of neighborhood matrix values; and

allocating the identified valid disk extent and updating the neighborhood matrix and the disk extent consumed array.

2. The method of claim 1 , wherein the two physical storage devices I and J of the pool are neighbors with each other each time a first physical storage portion from physical storage device I and a second physical storage portion from physical storage device J are included in a same mapped RAID extent that is allocated.

3. The method of claim 1 wherein the mapped RAID extents include stripes of the RAID group, and wherein each stripe of the RAID group includes M physical storage portions comprising X, one or more physical storage portions storing user data for said each stripe and Y, one or more physical storage portions storing parity information for said each stripe.

4. The method of claim 1 , wherein a first physical storage device of the N physical storage devices fails and a group X of remaining ones of the N physical storage devices of the pool that have not failed, and the method includes:

determining a first set of one or more physical storage portions of the first mapped RAID extent stored on the first physical storage device that failed; and

relocating each physical storage portion of the first set to a physical storage device of the group X, wherein said relocating is performed in accordance with criteria, said criteria including each physical storage portion of the first mapped RAID extent is stored on a different physical storage device of the group X and said criteria including evenly distributing the first set of one or more physical storage portions among the physical storage devices of group X to involve the physical storage devices of group X in a rebuilding process.

5. A system comprising:

a processor; and

a memory comprising code stored therein that, when executed, performs a method of determining slice sizes comprising:

initializing a neighborhood matrix denoting a distribution of neighboring physical storage portions across the N physical storage devices of the pool, 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 physical storage device I of the pool has neighbored physical storage device J of the pool;

creating and initializing a disk extent consumed array denoting a disk consumption metric, the array storing a value for each of the N physical storage devices of the pool;

analyzing disks in an extent pool to identify a disk servicing fewest input output operations (I/Os) disk in the extent pool and allocating a disk extent from the identified disk;

configuring the allocated disk extent as a first disk extent for a first RAID extent and updating the neighborhood matrix and the disk extent consumed array, the mapped RAID extents including the first RAID extent;

analyzing all the disks in the extent pool to identify a valid disk extent that will result in a lowest variance value of neighborhood matrix values; and

allocating the identified valid disk extent and updating the neighborhood matrix and the disk extent consumed array.

6. A non-transitory computer readable medium comprising code stored thereon that, when executed, performs a method of allocating one or more mapped RAID extents comprising:

creating and initializing a neighborhood matrix denoting a distribution of neighboring physical storage portions across the N physical storage devices of the pool, 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 physical storage device I of the pool has neighbored physical storage device J of the pool;

creating and initializing a disk extent consumed array denoting a disk consumption metric, the array storing a value for each of the N physical storage devices of the pool;

analyzing disks in an extent pool to identify a disk servicing fewest input output operations (I/Os) in the extent pool and allocating a disk extent from the identified disk;

configuring the allocated disk extent as a first disk extent for a first RAID extent and updating the neighborhood matrix and the disk extent consumed array, the mapped RAID extents including the first RAID extent;

analyzing all the disks in the extent pool to identify a valid disk extent that will result in a lowest variance value of neighborhood matrix values; and

allocating the identified valid disk extent and updating the neighborhood matrix and the disk extent consumed array.

Assignments (11)
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 (043775/0082) 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 060958/0468 →
RELEASE OF SECURITY INTEREST AT REEL 043772 FRAME 0750 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/0606 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2020
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053689/0129 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2020
From: DONG, JIBING
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053015/0634 →
KEY EMPLOYMENT AGREEMENT Recorded Jun 23, 2020
From: USVYATSKY, ILYA
To: EMC CORPORATION
Reel/Frame 053666/0145 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2018
From: GAO, JIAN; LI, WEIHUA; HAN, GENG; XU, XINLEI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046015/0603 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043772/0750 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Sep 6, 2017
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 043775/0082 →
Cited By (2)
US 12,386,519 US 12,693,787