IP Library Granted Patent US 9,766,977
Granted Patent B2
US 9,766,977 · App. 14/537,046 · Granted Sep 19, 2017

System and method for improving read performance of a distributed parity RAID solution

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 9,766,977
App. No.
14/537,046
Granted
Sep 19, 2017
Kind
B2
Abstract

An information handling system includes a plurality of storage disks arranged as a redundant array of independent disks and a controller. The controller communicates with each of the storage disks. The controller determines a total amount of storage space utilized to store parity information within the storage disks based on a smallest disk size of the storage disks and a number of storage disks in the redundant array of independent disks, calculates an amount of storage space utilized to store parity information on each of the disks based on the total amount of storage space utilized to store parity information and the number of storage disks, and allocates a parity region of sectors within each of the storage disks to store the parity information. The parity region is an inner most region of a disk.

Claims (40)

1. An information handling system comprising:

a plurality of storage disks arranged as a redundant array of independent disks; and

a controller configured to communicate with each of the storage disks, wherein the controller determines a total amount of storage space utilized to store parity information within the storage disks based on a smallest disk size of the storage disks and a number of storage disks in the redundant array of independent disks, calculates an amount of storage space utilized to store parity information on each of the disks based on the total amount of storage space utilized to store parity information and the number of storage disks, and allocates innermost sectors within each of the storage disks as parity regions to store the parity information based on the amount of storage space utilized to store parity information on each of the storage disks.

2. The information handling system of claim 1 wherein the controller further calculates a number of sectors within the parity region based on the amount of storage space utilized to store the parity information divided by a size of each sector on a disk.

3. The information handling system of claim 1 the controller further to calculate an amount of storage space reserved for actual data within a data region of a disk based on the total amount of storage space on the disk minus the amount of storage space utilized to store the parity information on the disk.

4. The information handling system of claim 3 the controller further to calculate a number of sectors within the data region based on the amount of storage space reserved for the actual data divided by a size of each sector on a disk.

5. The information handling system of claim 1 wherein the controller receives a write request for a first disk of the storage disks, determines whether the write access is associated with parity information, and if the write access is associated with parity information then writes the parity information to the parity region of the first disk, otherwise writes actual data to a data region of the first disk.

6. The information handling system of claim 1 wherein each of the storage disks include a data region, wherein the data region is an outer most region of the disk.

7. The information handling system of claim 6 wherein access to the data region of each of the storage disks is faster than access to the parity region on the respective storage disk.

8. A method comprising:

determining, by a controller, a total amount of storage space utilized to store parity information within a plurality of disks a redundant array of independent disks;

calculating an amount of storage space utilized to store parity information on each of the disks based on the total amount of storage space and a number of disk within the redundant array of independent disks; and

allocating, by the controller, innermost sectors of each of the storage disks as a parity region of sectors within each of the storage disks to store the parity information, wherein the parity region is allocated to include the amount of storage space utilized to store the parity information on the disk.

9. The method of claim 8 further comprising:

calculating a number of sectors within the parity region based on the amount of storage space utilized to store the parity information divided by a size of each sector on a disk.

10. The method of claim 8 further comprising:

calculating an amount of storage space reserved for actual data within a data region of a disk based on the total amount of storage space on the disk minus the amount of storage space utilized to store the parity information on the disk.

11. The method of claim 10 further comprising:

calculating a number of sectors within the data region based on the amount of storage space reserved for the actual data divided by a size of each sector on a disk.

12. The method of claim 8 further comprising:

receiving a write request for a first disk of the storage disks;

determining whether the write access is associated with parity information; and

if the write access is associated with parity information, writing the parity information to the parity region of the first disk, otherwise writing actual data to a data region of the first disk.

13. The method of claim 8 wherein each of the storage disks include a data region, wherein the data region is an outer most region of the disk.

14. The method of claim 13 wherein accesses to the data region of each of the storage disks is faster than accesses to the parity region on the respective storage disk.

15. A method comprising:

determining a smallest disk size of a plurality of storage disks arranged in a redundant array of independent disks;

determining a number of storage disks in the redundant array of independent disks;

calculating a total amount of storage space utilized to store parity information on each of the disks based on the smallest disk size and the number of storage disks; and

allocating a first number of sectors on a first one of the storage disks as a parity region reserved for parity information, wherein the first number of sectors allocated as the parity region are innermost sectors of the first one of the storage disks and the parity region is allocated to include the amount of storage space utilized to store the parity information on the disk;

receiving a write request to write parity information to the first disk; and

writing the parity information within the parity region, wherein the parity information is written starting with an innermost sector of the parity region and moving to an outer most sector of the parity region.

16. The method of claim 15 further comprising:

calculating a number of sectors within the parity region based on the amount of storage space utilized to store the parity information on the first disk divided by a size of each sector on the first disk.

17. The method of claim 15 further comprising:

calculating an amount of storage space reserved for actual data within a data region of the first disk based on the total amount of storage space on the first disk minus the amount of storage space utilized to store the parity information on the first disk.

18. The method of claim 17 further comprising:

calculating a number of sectors within the data region based on the amount of storage space reserved for the actual data divided by a size of each sector on a disk.

19. The method of claim 18 wherein the data region is an outer most region of the disk.

20. The method of claim 19 wherein accesses to the data region of each of the storage disks is faster than accesses to the parity region on the respective storage disk.

Assignments (15)
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 (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL USA L.P.; ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
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 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF REEL 035103 FRAME 0809 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.
Reel/Frame 040027/0934 →
RELEASE OF REEL 035104 FRAME 0043 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.
Reel/Frame 040027/0123 →
RELEASE OF REEL 035103 FRAME 0536 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.
Reel/Frame 040016/0864 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Feb 26, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 035104/0043 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Feb 26, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 035103/0809 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Feb 26, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 035103/0536 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2014
From: BENDIGERI, AVINASH; DEVARAPALLI, KIRAN K.
To: DELL PRODUCTS, LP
Reel/Frame 034137/0750 →