IP Library › Granted Patent US 10,761,738
Granted Patent B2
US 10,761,738 · App. 16/034,581 · Granted Sep 1, 2020

Raid performance by offloading tasks to expanders

Inventors: Indrajit Zagade (Pune, IN); Vishal Thakkar (Pune, IN); Prasad Ramchandra Kadam (Pune, IN)
Assignee: Seagate Technology LLC
G06F3/0613G06F3/0653G06F3/0689G06F13/4282G06F2213/0008G06F2213/0026G06F2213/0028
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,761,738
App. No.
16/034,581
Granted
Sep 1, 2020
Kind
B2
Abstract

A RAID storage management system includes a plurality of RAID storage devices and a controller configured to manage the plurality of RAID storage devices. The RAID storage management system also includes at least one expander operatively connected to the controller and operatively connected to the plurality of RAID storage devices. The expander is configured to receive a request from the controller for a RAID operation. The expander is also configured to, upon receiving the request, operate to assist the controller in performing the requested RAID operation.

Claims (32)

1. A redundant array of independent disks (RAID) storage management system, comprising:

a plurality of RAID storage devices;

a controller configured to manage the plurality of RAID storage devices; and

at least one expander operatively connected to the controller and operatively connected to the plurality of RAID storage devices, the expander configured to:

receive a request from the controller to at least partially offload a RAID operation from the controller to the expander, and

upon receiving the request, operate to assist the controller in performing the offloaded RAID operation,

wherein the controller is configured to operatively monitor progress of offloaded tasks by querying a progress watermark of the offloaded RAID operation, and

wherein the controller is further configured to communicate I/O operations to a least one of the plurality of RAID storage devices based on the progress watermark in order to manage the plurality of RAID storage devices.

2. The system of claim 1 , wherein the RAID operation includes at least an initialization, rebuild, or copyback operation.

3. The system of claim 1 , wherein the expander is configured to delay assisting the controller if the expander is presently in use.

4. The system of claim 1 , wherein the expander is a serial-attached small computer serial interface expander.

5. The system of claim 1 , wherein the at least one expander is an expander that utilizes a protocol selected from the group consisting of: Non-Volatile Memory Host Controller Interface Specification, Peripheral Component Interconnect Express, and Fibre Channel.

6. The system of claim 1 , wherein the entire RAID operation is offloaded from the RAID controller to the expander.

7. The system of claim 1 , wherein the controller is configured to at least partially throttle the offloaded RAID operation by sending command parameters to the at least one expander, wherein the command parameters include at least a virtual disk number and a throttle percentage, and wherein the throttle percentage is a percentage of expander resources or physical disk queue depth.

8. A method of managing a redundant array of independent disks (RAID), comprising:

receiving a first request to at least partially offload a RAID operation from a controller to at least one expander operatively connected to the controller;

transmitting a second request to the at least one expander, the second request including instructions for the expander to assist the controller in performing the offloaded RAID operation such that the expander assists the controller in performing the offloaded RAID operation

receiving a progress watermark of the offloaded RAID operation; and

communicating I/O operations to a least one of the plurality of RAID storage devices based on the received progress watermark in order to manage the plurality of RAID storage devices.

9. The method of claim 8 , wherein the RAID operation includes at least an initialization, rebuild, or copyback operation.

10. The method of claim 8 , wherein the expander is configured to delay assisting the controller if the expander is presently in use.

11. The method of claim 8 , wherein the expander is a serial-attached small computer serial interface expander.

12. The method of claim 8 , wherein the at least one expander is an expander that utilizes a protocol selected from the group consisting of: Non-Volatile Memory Host Controller Interface Specification, Peripheral Component Interconnect Express, and Fibre Channel.

13. The method of claim 8 , wherein the entire RAID operation is offloaded from the RAID controller to the expander.

14. The method of claim 8 , further comprising at least partially throttling the offloaded RAID operation using the controller by sending command parameters to the at least one expander, wherein the command parameters include at least a virtual disk number and a throttle percentage, and wherein the throttle percentage is a percentage of expander resources or physical disk queue depth.

15. A computer program product for managing a redundant array of independent disks (RAID), the computer program product comprising a computer-readable storage medium having program code embodied therewith, the program code comprising computer-readable program code configured to perform a method, comprising:

receiving a first request to at least partially offload a RAID operation from a controller to at least one expander operatively connected to the controller;

transmitting a second request to the at least one expander, the second request including instructions for the expander to assist the controller in performing the offloaded RAID operation such that the expander assists the controller in performing the offloaded RAID operation, and

using the controller to query a progress watermark of the offloaded RAID operation, and communicating I/O operations to a least one of the plurality of RAID storage devices based on the progress watermark in order to manage the plurality of RAID storage devices,

wherein the RAID operation includes at least an initialization, rebuild, or copyback operation.

16. The computer program product of claim 15 , wherein the entire RAID operation is offloaded from the RAID controller to the expander.

17. The computer program product of claim 15 , wherein the expander is configured to delay assisting the controller if the expander is presently in use.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2018
From: ZAGADE, INDRAJIT; THAKKAR, VISHAL; KADAM, PRASAD RAMCHANDRA
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 046342/0730 →
Continuity (1)
Related Publication 20200019323A1 · Jan 16, 2020
Cited By (1)
US 12,321,233