Коррекция ошибок (error correction code, ECC) – это технология исправления ошибок, возникающих при передаче или хранении данных.
Основная идея ECC заключается в добавлении избыточной информации к передаваемым данным. Это позволяет обнаруживать и исправлять ошибки без повторной передачи.
Существуют два основных класса кодов ECC:
- Блоковые коды. Данные делятся на блоки фиксированной длины, к каждому блоку добавляется проверочная сумма. Примеры: Хеммингов код, циклический избыточный код (CRC).
- Свёрточные коды. Данные обрабатываются с помощью линейного свёрточного кодера. Пример – код Рида-Соломона.
Преимущества
- Высокая эффективность исправления ошибок. Способны исправлять множественные ошибки в данных.
- Низкая избыточность данных. Добавляется всего несколько процентов контрольной информации.
- Широкий спектр применения. Используется в системах связи, накопителях данных, QR кодах.
- Простота реализации.
Недостатки ECC – это снижение скорости передачи данных и более сложные схемы кодирования/декодирования.
Технология ECC позволяет добиться надёжной передачи данных даже по зашумленным каналам связи. Она широко применяется в цифровых коммуникациях, компьютерных сетях, накопителях информации.