IP Library Granted Patent US 10,564,878
Granted Patent B2
US 10,564,878 · App. 16/021,673 · Granted Feb 18, 2020

Processing a write request using a redundant array of independent disks (RAID)

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,564,878
App. No.
16/021,673
Granted
Feb 18, 2020
Kind
B2
Abstract

Implementations of the subject matter described herein provide a storage management method and system. The storage management method comprises: in response to receiving a write request, dividing data to be written into a plurality of data blocks with a predetermined size, the plurality of data blocks having their respective logic block addresses; evenly mapping, based on the logic block addresses, the plurality of data blocks to a plurality of RAID extents of a Redundant Array of Independent Disks (RAID); mapping the plurality of data blocks in the plurality of RAID extents to the disk, so that the plurality of data blocks are distributed in order of size of logic block addresses in the disk.

Claims (55)

1. A storage management method, comprising:

in response to receiving a write request, dividing data to be written into a plurality of data blocks with a predetermined size, the plurality of data blocks having respective logic block addresses;

evenly mapping, based on the logic block addresses, the plurality of data blocks to a plurality of Redundant Array of Independent Disks (RAID) extents of a RAID; and

mapping the plurality of data blocks in the plurality of RAID extents to a disk such that the plurality of data blocks are distributed in order of size of the logic block addresses in the disk,

wherein determining position information of the plurality of data blocks which are evenly mapped to the plurality of RAID extents comprises:

determining, based on indices of the data blocks in a related logic unit and the number of the RAID extents, position information of the data blocks which are mapped to the RAID extents, and

wherein determining position information of the data blocks which are mapped to the RAID extents comprises:

determining, based on remainders obtained by dividing indices by a number of the RAID extents, sequence numbers of the data blocks which are mapped to the RAID extents; and

determining, based on quotients obtained by dividing the indices by the number of the RAID extents, internal offsets of the data blocks which are distributed to the RAID extents.

2. The method according to claim 1 , wherein a number of data blocks in the RAID is greater than a number of RAID extents in the RAID, such that the data blocks in the logic unit are evenly mapped to all the RAID extents of the RAID.

3. A storage management method, comprising:

in response to receiving a write request, dividing data to be written into a plurality of data blocks with a predetermined size, the plurality of data blocks having respective logic block addresses;

evenly mapping, based on the logic block addresses, the plurality of data blocks to a plurality of Redundant Array of Independent Disks (RAID) extents of a RAID; and

mapping the plurality of data blocks in the plurality of RAID extents to a disk such that the plurality of data blocks are distributed in order of size of the logic block addresses in the disk,

wherein determining position information of the plurality of data blocks which are mapped to a disk comprises:

determining internal offsets of the data blocks which are mapped to the disk based on a number of disk extents included in the disk, a number of data blocks included in the disk extents and indices of the data blocks in a related logic unit.

4. The method according to claim 3 , wherein a number of data blocks in the RAID is greater than a number of RAID extents in the RAID, such that the data blocks in the logic unit are evenly mapped to all the RAID extents of the RAID.

5. A storage management system, comprising:

a storage unit configured to store one or more programs; and

a processing unit coupled to the storage unit and configured to execute the one or more programs to cause the system to perform acts comprising:

in response to receiving a write request, dividing data to be written into a plurality of data blocks with a predetermined size, the plurality of data blocks having their respective logic block addresses;

evenly mapping, based on the logic block addresses, the plurality of data blocks to a plurality of Redundant Array of Independent Disks (RAID) extents of a RAID; and

mapping the plurality of data blocks in the plurality of RAID extents to a disk such that the plurality of data blocks are distributed in order of size of the logic block addresses in the disk,

wherein determining position information of the plurality of data blocks which are evenly mapped to the plurality of RAID extents comprises:

determining, based on indices of the data blocks in a related logic unit and the number of the RAID extents, position information of the data blocks which are mapped to the RAID extent, and

wherein determining position information of the data blocks which are mapped to the RAID extents comprises:

determining, based on remainders obtained by dividing indices by a number of the RAID extents, sequence numbers of the data blocks which are mapped to the RAID extents; and

determining, based on quotients obtained by dividing the indices by the number of the RAID extents, internal offsets of the data blocks which are distributed to the RAID extents.

6. The system according to claim 5 , wherein a number of data blocks in the RAID is greater than a number of RAID extents in the RAID, such that the data blocks in the logic unit are evenly mapped to all the RAID extents of the RAID.

7. A storage management system, comprising:

a storage unit configured to store one or more programs; and

a processing unit coupled to the storage unit and configured to execute the one or more programs to cause the system to perform acts comprising:

in response to receiving a write request, dividing data to be written into a plurality of data blocks with a predetermined size, the plurality of data blocks having their respective logic block addresses;

evenly mapping, based on the logic block addresses, the plurality of data blocks to a plurality of Redundant Array of Independent Disks (RAID) extents of a RAID; and

mapping the plurality of data blocks in the plurality of RAID extents to a disk such that the plurality of data blocks are distributed in order of size of the logic block addresses in the disk,

wherein determining position information of the plurality of data blocks which are mapped to a disk comprises:

determining internal offsets of the data blocks which are mapped to the disk based on a number of disk extents included in the disk, a number of data blocks included in the disk extents and indices of the data blocks in a related logic unit.

8. The system according to claim 7 , wherein a number of data blocks in the RAID is greater than a number of RAID extents in the RAID, such that the data blocks in the logic unit are evenly mapped to all the RAID extents of the RAID.

9. A computer program product for storage management, the computer program product comprising: a non-transitory computer readable medium encoded with computer-executable code, the code configured for the execution of:

in response to receiving a write request, dividing data to be written into a plurality of data blocks with a predetermined size, the plurality of data blocks having respective logic block addresses;

evenly mapping, based on the logic block addresses, the plurality of data blocks to a plurality of Redundant Array of Independent Disks (RAID) extents of a RAID; and

mapping the plurality of data blocks in the plurality of RAID extents to a disk such that the plurality of data blocks are distributed in order of size of the logic block addresses in the disk;

wherein determining position information of the plurality of data blocks which are evenly mapped to the plurality of RAID extents comprises:

determining, based on indices of the data blocks in a related logic unit and the number of the RAID extents, position information of the data blocks which are mapped to the RAID extents; and

wherein determining position information of the data blocks which are mapped to the RAID extents comprises:

determining, based on remainders obtained by dividing indices by a number of the RAID extents, sequence numbers of the data blocks which are mapped to the RAID extents; and

determining, based on quotients obtained by dividing the indices by the number of the RAID extents, internal offsets of the data blocks which are distributed to the RAID extents.

10. The computer program product of claim 9 , wherein a number of data blocks in the RAID is greater than a number of RAID extents in the RAID, such that the data blocks in the logic unit are evenly mapped to all the RAID extents of the RAID.

11. A computer program product for storage management, the computer program product comprising: a non-transitory computer readable medium encoded with computer-executable code, the code configured for the execution of:

in response to receiving a write request, dividing data to be written into a plurality of data blocks with a predetermined size, the plurality of data blocks having respective logic block addresses;

evenly mapping, based on the logic block addresses, the plurality of data blocks to a plurality of Redundant Array of Independent Disks (RAID) extents of a RAID; and

mapping the plurality of data blocks in the plurality of RAID extents to a disk such that the plurality of data blocks are distributed in order of size of the logic block addresses in the disk,

wherein determining position information of the plurality of data blocks which are mapped to a disk comprises:

determining internal offsets of the data blocks which are mapped to the disk based on a number of disk extents included in the disk, a number of data blocks included in the disk extents and indices of the data blocks in a related logic unit.

12. The computer program product of claim 11 , wherein a number of data blocks in the RAID is greater than a number of RAID extents in the RAID, such that the data blocks in the logic unit are evenly mapped to all the RAID extents of the RAID.

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 (047648/0422) 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 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 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/0510 →
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 Oct 12, 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 047648/0346 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 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 047648/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2018
From: KANG, JAMIN; LI, LIAM XIONGCHENG; GAO, JIAN; HAN, GENG; XU, XINLEI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046384/0090 →