IP Library Granted Patent US 10,990,480
Granted Patent B1
US 10,990,480 · App. 16/376,497 · Granted Apr 27, 2021

Performance of RAID rebuild operations by a storage group controller of a storage system

Inventors: Andrew R. Bernat (Mountain View, CA); Logan Jennings (Menlo Park, CA); Peter E. Kirkpatrick (Mountain View, CA)
Assignee: PURE STORAGE, INC.
G06F11/1092G06F3/065G06F3/0619G06F3/0685G06F3/0689G06F11/2069G06F12/0253
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,990,480
App. No.
16/376,497
Granted
Apr 27, 2021
Kind
B1
Abstract

A storage system includes a plurality of solid-state storage devices and a storage group controller. The storage group controller receives, from a central storage controller, a command comprising information associated with a RAID rebuild operation to reconstruct data stored at the set of solid-state storage devices. In response to receiving the information associated with the RAID rebuild operation, the storage group controller reads other data and parity data stored associated with the data to be reconstructed at the set of solid-state storage devices based on the information associated with the RAID rebuild operation. Upon reading the other data and the parity data stored at the set of solid-state storage devices, the storage group controller reconstructs the data based on the other data, the parity data and the information associated with the RAID rebuild operation and transmits, to the central storage controller, the reconstructed data.

Claims (40)

1. A storage system comprising:

a plurality of solid-state storage devices; and

a storage group controller operatively coupled to a set of solid-state storage devices of the plurality of solid-state storage devices, the storage group controller comprising a processing device, the processing device configured to:

receive, from a central storage controller, a command comprising information associated with a RAID rebuild operation to reconstruct data stored at the set of solid-state storage devices, wherein the information associated with the RAID rebuild operation comprises a threshold amount of time to reconstruct the data;

read other data and parity data associated with the data to be reconstructed at the set of solid-state storage devices based on the information associated with the RAID rebuild operation upon receiving the information associated with the RAID rebuild operation;

upon reading the other data and the parity data stored at the set of solid-state storage devices, reconstruct the data based on the other data, the parity data and the information associated with the RAID rebuild operation; and

transmit, to the central storage controller, the reconstructed data.

2. The storage system of claim 1 , wherein the information associated with the RAID rebuild operation comprises address information corresponding to data blocks storing the other data and the parity data at the set of solid-state storage devices and a RAID specification for the RAID rebuild operation.

3. The storage system of claim 2 , wherein to read the other data and the parity data stored at the set of solid-state storage devices, the processing device is further configured to:

transmit, to the set of solid-state storage devices, the address information corresponding to the data blocks storing the other data and the parity data wherein the other data and the parity data at the data blocks are received from the set of solid-state storage devices upon transmitting the address information.

4. The storage system of claim 1 , wherein the processing device is further configured to:

store a data segment comprising the reconstructed data to the set of solid-state storage devices upon receiving the data segment from the central storage controller.

5. The storage system of claim 1 , wherein the information associated with the RAID rebuild operation further comprises address information associated with a destination erase block of the set of solid-state storage devices, the processing device configured to:

perform garbage collection on the destination erase block of the set of solid-state storage devices.

6. The storage system of claim 1 , wherein the command comprises at least one of a vendor-specific NVMe command, a side-band command or a REST command.

7. A method, comprising:

receiving, by a storage group controller from a central storage controller, a command comprising information associated with a RAID rebuild operation to reconstruct data stored at a set of solid-state storage devices and data blocks of the set of solid-state storage devices for storage of the reconstructed data, wherein the information associated with the RAID rebuild operation comprises a threshold amount of time to reconstruct the data;

reconstructing, by a processing device of the storage group controller, the data stored at the set of solid-state storage devices based on the information associated with the RAID rebuild operation upon receiving the information associated with the RAID rebuild operation; and

storing the reconstructed data at the data blocks of the set of solid-state storage devices.

8. The method of claim 7 , wherein the command comprises at least one of a side-band, REST or NVMe command and wherein the information associated with the RAID rebuild operation specifies data blocks at the set of solid-state storage devices storing other data and parity data associated with the data to be reconstructed and a RAID specification for the RAID rebuild operation.

9. The method of claim 7 , wherein the information associated with the RAID rebuild operation further comprises address information of a destination erase block associated with the data blocks of the set of solid-state storage devices for storage gf the reconstructed data, the method further comprising:

performing garbage collection on the destination erase block of the set of solid-state storage devices.

10. The method of claim 7 , further comprising:

upon storing the reconstructed data at the data blocks of the set of solid-state storage devices, transmitting, to the central storage controller, an indication that the reconstructed data has been stored at the data blocks of the set of solid-state storage devices.

11. The method of claim 7 , further comprising:

transmitting, to the central storage controller, an indication of outstanding operations at the storage group controller upon receiving a query for outstanding operations at the storage group controller, wherein the indication comprises an acknowledgment of receipt of the command associated with the RAID rebuild operation.

12. The method of claim 7 , wherein programming the reconstructed data to the data blocks of the set of solid-state storage devices further comprises:

transmitting, to the set of solid-state storage devices, a reservation associated with the data blocks to enable storage of the reconstructed data at the data blocks of the set of solid-state storage devices.

13. A non-transitory computer readable storage medium storing instructions, which when executed, cause a processing device to:

receive, from a central storage controller, a command comprising information associated with a RAID rebuild operation to reconstruct data stored at a set of solid-state storage devices, wherein the information associated with the RAID rebuild operation comprises a threshold amount of time to reconstruct the data;

read other data and parity data associated with the data to be reconstructed at the set of solid-state storage devices based on the information associated with the RAID rebuild operation upon receiving the information associated with the RAID rebuild operation;

upon reading the other data and parity data stored at the set of solid-state storage devices, reconstruct the data based on the other data, the parity data and the information associated with the RAID rebuild operation; and

transmit, to the central storage controller, the reconstructed data.

14. The non-transitory computer readable storage medium of claim 13 , wherein the information associated with the RAID rebuild operation comprises address information corresponding to data blocks storing the other data and the parity data at the set of solid-state storage devices and a RAID specification for the RAID rebuild operation.

15. The non-transitory computer readable storage medium of claim 14 , wherein to read the other data and the parity data stored at the set of solid-state storage devices, the processing device is further configured to:

receive, from the set of solid-state storage devices, the other data and the parity data stored at the data blocks upon transmitting the address information corresponding to the data blocks storing the other data and the parity data to the set of solid-state storage devices.

16. The non-transitory computer readable storage medium of claim 13 , wherein the processing device is further configured to:

store a data segment comprising the reconstructed data to the set of solid-state storage devices upon receiving the data segment from the central storage controller.

17. The non-transitory computer readable storage medium of claim 13 , wherein the information associated with the RAID rebuild operation further comprises address information associated with a destination erase block of the set of solid-state storage devices, the processing device configured to:

perform garbage collection on the destination erase block of the set of solid-state storage devices.

Assignments (3)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2019
From: BERNAT, ANDREW R.; JENNINGS, LOGAN; KIRKPATRICK, PETER E.
To: PURE STORAGE, INC.
Reel/Frame 048847/0739 →
Cited By (9)
US 12,282,686 US 12,299,508 US 12,321,396 US 12,373,414 US 12,443,360 US 12,613,864 US 12,639,379 US 12,670,170 US 12,711,032