A storage system having a plurality of drives for improved RAID rebuilds, comprising in at least one of the drives: a queue internal to said at least one drive comprising rebuild IOs and host IOs requests, which queue tells, in a queue form, the at least one of the drives which IO request to process and in what sequence; firmware to issue rebuild IOs to a head of the queue in a periodic manner, having a plurality of stages comprising the period, comprising a first stage (T0→T5), a second stage (T5→T10), and a third stage (T10→T70), wherein the first stage (T0→T5) comprises measuring a rebuild read IO response time of the at least one drive in the storage system, the second stage (T5→T10) comprises calibrating (16, 340) a delay T, and the third stage (T10→T70) comprises delaying issuance of rebuild IOs to head of the queue; firmware to perform the first stage (T0→T5), which comprises to measure a rebuild read IO response time of the at least one drive in the storage system, the measuring comprising reading a response time of the drive's head reading data during a normal rebuild, which is rebuilding by issuing rebuild IOs to the queue without introduction of any added delay, and computing an average rebuild IO read response time; firmware to perform the second stage (T5→T10) that is reached when (330, NO) the computed average rebuild response time exceeds a threshold or when a rebuild rate and average rebuild response time exceed predetermined thresholds for rebuild rate and response time, which second stage (T5→T10) comprises to calibrate (16, 340) the delay T according to the parameters of average rebuild read head-of-queue response times for the drive's head reading data during the head-of-queue rebuilds involving the queue, a time allotted for rebuild (240, 250, 260) compared to the total time, and a number of rebuild threads of said at least one drive; and firmware to perform the third stage (T10→T70), which comprises to delay issuance of rebuild IOs to the queue by issuing a rebuild IO command to the head of the queue, with the calibrated delay of a duration T, using a SCSI IO tag head-of-queue, if (330, NO) the computed average rebuild response time exceeds a threshold or when a rebuild rate and average rebuild response time exceed predetermined thresholds for rebuild rate and response time, to thereby delay the execution of the SCSI IO head-of-queue-tagged rebuild IOs by the calibrated delay T, wherein a pause conferred by the delayed execution of the SCSI IO head-of-queue-tagged rebuild IOs, in which pause no rebuild IOs are issued to the queue, allows said at least one drive to execute the queue, and prevents the SCSI head-of-queue-tagged rebuild IOs from effectively taking over said drive while starving the rest of the queue. a queue internal to said at least one drive comprising rebuild IOs and host IOs requests, which queue tells, in a queue form, the at least one of the drives which IO request to process and in what sequence; firmware to issue rebuild IOs to a head of the queue in a periodic manner, having a plurality of stages comprising the period, comprising a first stage (T0→T5), a second stage (T5→T10), and a third stage (T10→T70), wherein the first stage (T0→T5) comprises measuring a rebuild read IO response time of the at least one drive in the storage system, the second stage (T5→T10) comprises calibrating (16, 340) a delay T, and the third stage (T10→T70) comprises delaying issuance of rebuild IOs to head of the queue; firmware to perform the first stage (T0→T5), which comprises to measure a rebuild read IO response time of the at least one drive in the storage system, the measuring comprising reading a response time of the drive's head reading data during a normal rebuild, which is rebuilding by issuing rebuild IOs to the queue without introduction of any added delay, and computing an average rebuild IO read response time; firmware to perform the second stage (T5→T10) that is reached when (330, NO) the computed average rebuild response time exceeds a threshold or when a rebuild rate and average rebuild response time exceed predetermined thresholds for rebuild rate and response time, which second stage (T5→T10) comprises to calibrate (16, 340) the delay T according to the parameters of average rebuild read head-of-queue response times for the drive's head reading data during the head-of-queue rebuilds involving the queue, a time allotted for rebuild (240, 250, 260) compared to the total time, and a number of rebuild threads of said at least one drive; and firmware to perform the third stage (T10→T70), which comprises to delay issuance of rebuild IOs to the queue by issuing a rebuild IO command to the head of the queue, with the calibrated delay of a duration T, using a SCSI IO tag head-of-queue, if (330, NO) the computed average rebuild response time exceeds a threshold or when a rebuild rate and average rebuild response time exceed predetermined thresholds for rebuild rate and response time, to thereby delay the execution of the SCSI IO head-of-queue-tagged rebuild IOs by the calibrated delay T, wherein a pause conferred by the delayed execution of the SCSI IO head-of-queue-tagged rebuild IOs, in which pause no rebuild IOs are issued to the queue, allows said at least one drive to execute the queue, and prevents the SCSI head-of-queue-tagged rebuild IOs from effectively taking over said drive while starving the rest of the queue.