Используя Н-матрицу и метод двойного инвертирования возможно устранение следующих двойных ошибок:
- два отказа (в двух разрядах система всегда выдает нули (единицы));
- один отказ и один сбой (в одном разряде система всегда выдает ноль (единицу) в другом произошла кратковременная самоустраняющаяся ошибка).
Пример 1
Исходный фрагмент кода в Н-матрице имеет вид ..10110.. при чтении его из памяти произошла ошибка в 2-х разрядах: ..00010.. Н-матрица устанавливает флажок двойная ошибка и в зависимости от вида ошибки выполняется коррекция методом двойного инвертирования:
1. Коррекция ошибки с двумя отказами:
- выполняем инвертирование прочитанного кода: ..11101..
- результат записываем в ту же ячейку памяти
- снова читаем код из этой ячейки : ..01001..
- после инвертирования прочитанного получаем исходный код ..10110..
- Н-матрица устанавливает флажок нет ошибки.
2. Коррекция ошибки с одним отказом и одним сбоем:
- выполняем инвертирование прочитанного кода: ..11101..
- результат записываем в ту же ячейку памяти
- снова читаем код из этой ячейки : ..11001..
- после инвертирования прочитанного получаем код с ошибкой в одном разряде ..00110..
- Н-матрица устанавливает флажок одиночная ошибка и выполняет ее исправление. В результате получаем исходный код ..10110 ..