System and method for improved rebuild in RAID
First Claim
1. A storage system having a plurality of drives for improved RAID rebuilds, comprising:
- firmware to determine an average rebuild IO response time of a drive in the storage system;
a queue internal to the drive comprising rebuild IOs and host IOs requests;
firmware to delay issuance of rebuild IOs to the queue;
firmware to calibrate the delay according to the parameters of average rebuild response times from the queue, a time allotted for rebuild compared to a total time and a number of rebuild threads; and
firmware to issue rebuild IOs to the queue using a SCSI IO tag head-of-queue if the average rebuild response time exceeds a threshold.
9 Assignments
0 Petitions
Accused Products
Abstract
The present disclosure is a system and method for improved RAID rebuilds under host IO conditions, that greatly improves rebuild times and prevents host IO starvation. A queue in a drive that is part of the RAID is used to store rebuild and host IO requests, with rebuild IOs issued to the head of the drive queue. Rebuild requests in the drive are delayed by a delay time. This delay ensures there is no unintended side effect of this invention that may result in host IO starvation for the RAID system. Delay is computed as a heuristic function from a plurality of variables, such as disk head response times, time allotted for rebuild, number of rebuild threads, drive behavior, rebuild IO profile, host IO profile including workload and locality, and a timeline of sequenced events, which in one preferred embodiment cycles every 70 seconds.
47 Citations
17 Claims
-
1. A storage system having a plurality of drives for improved RAID rebuilds, comprising:
-
firmware to determine an average rebuild IO response time of a drive in the storage system; a queue internal to the drive comprising rebuild IOs and host IOs requests; firmware to delay issuance of rebuild IOs to the queue; firmware to calibrate the delay according to the parameters of average rebuild response times from the queue, a time allotted for rebuild compared to a total time and a number of rebuild threads; and firmware to issue rebuild IOs to the queue using a SCSI IO tag head-of-queue if the average rebuild response time exceeds a threshold. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for RAID rebuilds for a plurality of drives in a storage system comprising the steps of:
-
determining average rebuild IO response times in a RAID system operating rebuilds; computing a delay by which to delay issuance of a rebuild IO to the head of queue of a drive in the RAID according to parameters of average rebuild response times from the queue, a time allotted for rebuild compared to total time and the number of rebuild threads; and
,issuing rebuild IOs to the queue using a SCSI IO tag head-of-queue if the average rebuild response time exceeds a threshold and delaying execution of the rebuild IOs by the delay. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. An apparatus for RAID rebuilds for RAID rebuilds under host IO conditions comprising:
-
means for measuring rebuild IO responses in a RAID storage system; means for queuing for storing rebuild IO and host IO requests for said RAID storage system; means for computing a delay to delay issuance of said rebuild IO requests to the head of said queue comprising a delay time in milliseconds; means for issuing rebuild IOs to head of said queue and delaying the execution of the rebuild IOs by said delay time; means for setting a rebuild rate for said RAID system; said RAID storage system means for measuring rebuild IO responses, means for computing delay and means for issuing rebuild IOs operate in a periodic manner, wherein, said means for measuring rebuild IO responses in a first time period computes the average rebuild response times of the RAID system when operating in a traditional manner, until such time either one of the response rate of the RAID system and the response times of the RAID system rise above predetermined values; said means for computing a delay in a second time period computes the optimal delay by computing the average rebuild response time when said RAID system is operating with said delay instructions added to head of said drive queue, the rebuild rate of said means for setting a rebuild rate, and the number of threads in said RAID system; and
,said means for issuing rebuild IOs delays issuance of a rebuild IO request in a third time period to head of said drive queue by said optimal delay computed in said second time. - View Dependent Claims (17)
-
Specification