RAID 1 и RAID 5 (и их братья 10 и 50) обеспечивают избыточность данных соответственно посредством зеркалирования и проверки четности. Это позволяет RAID-массиву по-прежнему получать доступ к данным, когда сектор на диске (или весь диск) становится нечитаемым. RAID 6 (или 60) использует дополнительную проверку, чтобы учесть двойные ошибки.
Но как может RAID-массив работать с данными, которые не совсем нечитаемы, а просто противоречивы?
Если возникает какая-либо ошибка, например, данные на полосе изменяются на диске, но это изменение не распространяется на другую (ие), вся полоса становится несовместимой. Если в зеркальном наборе диск говорит «этот бит равен 0», а другой диск говорит «этот бит равен 1», как контроллер RAID может узнать, какой из них правильный? Те же рассуждения могут быть применены к полосе RAID-5, с добавленной сложностью, что вы не можете легко определить, какой сектор на самом деле не так в полосе. Кроме того, RAID 6 смягчает эту проблему с помощью двойных проверок или же он все еще испытывает проблемы с восстановлением после повреждения данных, когда данные действительно читаемы, но где-то это неправильно, особенно если в массивах RAID 6 обычно много дисков?
Это может быть теоретически решено с помощью контрольных сумм, чтобы гарантировать, какая копия данных (или четность) является правильной; но реализует ли какой-либо RAID-контроллер такую контрольную сумму (которая, конечно, занимала бы дополнительное пространство)? Или это нужно обрабатывать на уровне ОС, где большинство файловых систем могут и будут проверять их содержимое? И если это так, то как они могут сказать контроллеру RAID «данные в секторе X на диске Y на полосе Z неверны», когда общий подход контроллера RAID состоит в том, чтобы абстрагировать ОС от нижележащего уровня хранения, как возможный?