IP Library Granted Patent US 10,922,002
Granted Patent B2
US 10,922,002 · App. 16/750,166 · Granted Feb 16, 2021

Processing I/O requests using a redundant array of independent disks (RAID)

Inventors: Jamin Jianbin Kang (Beijing, CN); Liam Xiongcheng Li (Beijing, CN); Jian Gao (Beijing, CN); Geng Han (Beijing, CN); Xinlei Xu (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F3/064G06F3/061G06F3/0604G06F3/0689
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,922,002
App. No.
16/750,166
Granted
Feb 16, 2021
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 (30)

1. A storage management method, comprising:

in response to receiving an I/O request for a plurality of data blocks, determining, based on respective logic block addresses of the plurality of data blocks, position information of the plurality of data blocks which are evenly mapped to a plurality of RAID extents of a RAID;

determining, based on the position information of the plurality of data blocks mapped to the RAID extents, position information of the plurality of data blocks which are mapped to a disk such that the plurality of data blocks are distributed in order of size of the logic block addresses in the disk, at least in part by:

determining, based on remainders obtained by dividing indices of the data blocks in a related logic unit 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 of the data blocks by the number of the RAID extents, internal offsets of the data blocks which are distributed to the RAID extents; and

reading/writing the plurality of data blocks based on the position information of the plurality of data blocks in the disk.

2. The method according to claim 1 , 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 the related logic unit.

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

4. 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 apparatus to perform acts comprising:

in response to receiving an I/O request for a plurality of data blocks, determining, based on respective logic block addresses of the plurality of data blocks, position information of the plurality of data blocks which are evenly mapped to the plurality of RAID extents of the RAID;

determining, based on the position information of the plurality of data blocks mapped to the RAID extents, position information of the plurality of data blocks which are mapped to a disk such that the plurality of data blocks are distributed in order of size the logic block addresses in the disk, at least in part by:

determining, based on remainders obtained by dividing indices of the data blocks in a related logic unit 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 of the data blocks by the number of the RAID extents, internal offsets of the data blocks which are distributed to the RAID extents; and

reading/writing the plurality of data blocks based on the position information of the plurality of data blocks in the disk.

5. The system according to claim 4 , 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 the related logic unit.

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

7. 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 an I/O request for a plurality of data blocks, determining, based on respective logic block addresses of the plurality of data blocks, position information of the plurality of data blocks which are evenly mapped to a plurality of RAID extents of a RAID;

determining, based on the position information of the plurality of data blocks mapped to the RAID extents, position information of the plurality of data blocks which are mapped to a disk such that the plurality of data blocks are distributed in order of size of the logic block addresses in the disk, at least in part by:

determining, based on remainders obtained by dividing indices of the data blocks in a related logic unit 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 of the data blocks by the number of the RAID extents, internal offsets of the data blocks which are distributed to the RAID extents; and

reading/writing the plurality of data blocks based on the position information of the plurality of data blocks in the disk.

8. The computer program product according to claim 7 , 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 the related logic unit.

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

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 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 060438/0742 →
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 (052216/0758) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY INTEREST Recorded Jun 5, 2020
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 053311/0169 →
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 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2020
From: KANG, JAMIN JIANBIN; LI, LIAM XIONGCHENG; GAO, JIAN; HAN, GENG; XU, XINLEI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051896/0910 →