IP Library › Granted Patent US 11,748,196
Granted Patent B2
US 11,748,196 · App. 16/022,928 · Granted Sep 5, 2023

Adaptive parity rotation for redundant arrays of independent disks

Inventors: Glen Jaquette (Tucson, AZ); Jacob Smalts (Richmond, TX); David Mullen (Houston, TX); Van Smith (Houston, TX)
Assignee: International Business Machines Corporation
G06F11/1076G06F3/064G06F3/067G06F3/0614G06F11/2094G06F2211/1004G06F2211/1014
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 11,748,196
App. No.
16/022,928
Granted
Sep 5, 2023
Kind
B2
Abstract

A method for more efficiently utilizing storage space in a redundant array of independent disks (RAID) is disclosed. In one embodiment, such a method implements a RAID from multiple storage drives. The RAID utilizes data striping with distributed parity values to provide desired data protection/redundancy. The distributed parity values are placed on selected storage drives of the RAID in accordance with a designated parity rotation. The method further adaptively alters the parity rotation of the RAID to provide an increased concentration of parity values in certain storage drives of the RAID compared to other storage drives of the RAID. This parity rotation may be adapted based on residual storage capacity in each storage drive, consumed space in each storage drive, or the like. A corresponding system and computer program product are also disclosed.

Claims (31)

1. A method for more efficiently utilizing storage space in a redundant array of independent disks (RAID), the method comprising:

implementing a RAID comprising a plurality of storage drives, the RAID utilizing data striping with distributed parity values, the distributed parity values being placed on selected storage drives of the RAID in accordance with a parity rotation;

in a first portion of the RAID, using a fixed parity rotation wherein each storage drive of the RAID participates substantially equally in storing parity values; and

in a second portion of the RAID, adaptively altering the parity rotation of the RAID to provide an increased concentration of parity values in storage drives of the RAID having a larger remaining storage capacity compared to storage drives of the RAID having a smaller remaining storage capacity.

2. The method of claim 1 , wherein adaptively altering the parity rotation comprises repeatedly determining which storage drive of the RAID has the most residual storage capacity.

3. The method of claim 2 , wherein adaptively altering the parity rotation comprises storing a parity value in the storage drive of the RAID having the most residual storage capacity.

4. The method of claim 1 , wherein adaptively altering the parity rotation comprises consuming storage space in each storage drive of the RAID at a substantially consistent rate.

5. The method of claim 1 , wherein using the fixed parity rotation comprises using the fixed parity rotation for a selected number of strides in the RAID.

6. The method of claim 1 , wherein the storage drives comprise storage drives of differing storage capacity.

7. The method of claim 1 , wherein the storage drives store compressed data.

8. A computer program product for utilizing storage space in a redundant array of independent disks (RAID), the computer program product comprising a computer-readable medium having computer-usable program code embodied therein, the computer-usable program code configured to perform the following when executed by at least one processor:

implement a RAID comprising a plurality of storage drives, the RAID utilizing data striping with distributed parity values, the distributed parity values being placed on selected storage drives of the RAID in accordance with a parity rotation;

in a first portion of the RAID, use a fixed parity rotation wherein each storage drive of the RAID participates substantially equally in storing parity values; and

in a second portion of the RAID, adaptively alter the parity rotation of the RAID to provide an increased concentration of parity values in storage drives of the RAID having a larger remaining storage capacity compared to storage drives of the RAID having a smaller remaining storage capacity.

9. The computer program product of claim 8 , wherein adaptively altering the parity rotation comprises repeatedly determining which storage drive of the RAID has the most residual storage capacity.

10. The computer program product of claim 9 , wherein adaptively altering the parity rotation comprises storing a parity value in the storage drive of the RAID having the most residual storage capacity.

11. The computer program product of claim 8 , wherein adaptively altering the parity rotation comprises consuming storage space in each storage drive of the RAID at a substantially consistent rate.

12. The computer program product of claim 8 , wherein using the fixed parity rotation comprises using the fixed parity rotation for a selected number of strides in the RAID.

13. The computer program product of claim 8 , wherein the storage drives comprise storage drives of differing storage capacity.

14. The computer program product of claim 8 , wherein the storage drives store compressed data.

15. A system for recovering a failed storage drive in a redundant array of independent disks (RAID) utilizing wide striping and distributed spares, the system comprising:

at least one processor;

at least one memory device coupled to the at least one processor and storing instructions for execution on the at least one processor, the instructions causing the at least one processor to:

implement a RAID comprising a plurality of storage drives, the RAID utilizing data striping with distributed parity values, the distributed parity values being placed on selected storage drives of the RAID in accordance with a parity rotation;

in a first portion of the RAID, use a fixed parity rotation wherein each storage drive of the RAID participates substantially equally in storing parity values; and

in a second portion of the RAID, adaptively alter the parity rotation of the RAID to provide an increased concentration of parity values in storage drives of the RAID having a larger remaining storage capacity compared to storage drives of the RAID having a smaller remaining storage capacity.

16. The system of claim 15 , wherein adaptively altering the parity rotation comprises repeatedly determining which storage drive of the RAID has the most residual storage capacity.

17. The system of claim 16 , wherein adaptively altering the parity rotation comprises storing a parity value in the storage drive of the RAID having the most residual storage capacity.

18. The system of claim 15 , wherein adaptively altering the parity rotation comprises consuming storage space in each storage drive of the RAID at a substantially consistent rate.

19. The system of claim 15 , wherein using the fixed parity rotation comprises using the fixed parity rotation for a selected number of strides in the RAID.

20. The system of claim 15 , wherein the storage drives comprise storage drives of differing storage capacity.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2018
From: JAQUETTE, GLEN; SMALTS, JACOB; MULLEN, DAVID; SMITH, VAN
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 046247/0785 →
Continuity (1)
Related Publication 20200004630A1 · Jan 2, 2020