A PERC watches every read a physical disk answers. A disk that returns an unrecoverable error, or takes longer than the controller will wait, is marked Failed and dropped; MegaRAID calls the same drive Unconfigured Bad, a drive it will not use until told to. Enterprise firmware reports the error within seconds precisely so the controller has something to act on. The virtual disk becomes Degraded: every read is now served from the survivors and, in RAID 5, computed from parity where the missing member's data should be. It works, and it works with no margin.
A hot spare, or a replacement fitted into the slot, starts a rebuild. The controller reads every stripe of every survivor to compute the missing member's contents and write them onto the new drive, including the stripes nobody has read since the array was built and the ones a survivor has been quietly working around. A survivor that throws an unrecoverable read error part-way through is either dropped, which fails the virtual disk, or, on a PERC with the option enabled, skipped, which produces a puncture: an array marked Optimal with a hole in it. Predictive failure on any survivor is the controller's warning that this is about to happen.
The bench does the same arithmetic on images. Every member is imaged with its weak areas last, including the one the controller dropped, which still holds every stripe written before it dropped. If one member was the job and the rest are healthy, its image goes back on fresh media, sector-identical, so the rebuild runs from a drive that answers every read; that is the drive site's £300 job. If the set has a second weak member, the set is reassembled from the images in software, where nothing can stall.