Afaik. there are 3 types of RAID:
- hardware - e.g. an expensive PCIE RAID card / or rarely onboard RAID which have a dedicated CPU, probably with write cache and BBU
- software - e.g. ZFS, MD, BTRFS software RAID
- fake - e.g. a cheap PCIE RAID card / or most of the onboard RAIDs which uses the RAM and CPU on the motherboard.
By using the BTRFS software RAID the filesytem knows about the drives and when it finds a block with wrong checksum, then it can use the clone (RAID1/10) or the parity (RAID5/6) to restore the affected block and fix the error. So our files won't degrade over time.
The question is whether the same self-healing mechanism works with hardware or fake RAIDs by BTRFS?
I guess there should be an API which the BTRFS can use to access the clone/parity of the affected block and fix it. I think there is a higher chance to have something like this by onboard RAID, but I don't know whether such a thing exists or every RAID is implemented differently and there is not standard API the BTRFS could use.