Введение
Для электронной аппаратуры космических систем, особенно модулей памяти, критически важно обеспечить надёжную защиту от ионизирующего излучения и других факторов, способных искажать или разрушать данные. Радиационное воздействие и космические частицы приводят к накоплению ошибок в ячейках памяти. Традиционные методы помехоустойчивого кодирования эффективны лишь до тех пор, пока число сбоев остаётся в допустимых пределах, после чего риск утраты информации резко возрастает. В ответственных системах применяют ECC-память (Error-Correcting Code) — тип памяти, автоматически обнаруживающий и исправляющий одиночные сбои битов в 64-битном машинном слове, что позволяет справляться с ошибками на уровне менее чем 1,5% от общего числа бит.
С целью дальнейшего повышения надёжности хранения данных особый интерес представляет голографический метод записи, основанный на свойстве делимости голограммы — восстановление полного блока информации по любому его фрагменту.
Голографический метод восстановления информации
Голографическое помехоустойчивое кодирование, способное исправлять множественные ошибки, базируется на математическом моделировании цифровой голограммы виртуального оптического объекта, представляющего собой блок входных данных. При этом k-битное двоичное слово преобразуется во вторичный позиционный код длины n = 2k с единственным «1» в позиции, заданной исходным значением, и (n – k) избыточными битами. Полученный код трактуется как виртуальная линейная голограмма. Процедура формирования голограммы и её декодирования описана по ссылке: habr.com/ru/articles/971124/.
Результаты моделирования
Корректирующая способность голографического кода оценивалась средствами MATLAB: цифровая голограмма HO подвергалась случайным и пакетным искажениям.


Устойчивость при потере данных


Устойчивость к шуму

Увеличение размера голограммы повышает её помехоустойчивость: при n=214=16384 успешное восстановление происходит даже при 95% шума. Поскольку около половины шумовых бит совпадают с информационными, максимальное число независимых случайных ошибок в большой голограмме ограничено ~50%. При превышении 50% ошибка становится детерминированной, а 100% искажений эквивалентно полной побитной инверсии.
Моделирование показало, что наиболее критическая для декодирования ситуация — случайные ошибки около 50%. Для n=256 вероятность неверного восстановления достигает 10–3 при 30% ошибок, тогда как при 25% ошибок за 10 000 испытаний ни одной ошибки не зафиксировано. Для n=1024 порог 10–3 достигается при 41% ошибок.
Коррекция пакетных ошибок
В практических системах хранения данных широко используют коды Рида–Соломона и Рида–Маллера. РС-код эффективен при пакетных ошибках, приближаясь по границе Синглтона к 50% исправляемости при высокой избыточности. РМ-код (n=2m) исправляет до 2m–2m–1≈25% любых ошибок. Однако голографический код позволяет строить универсальный декодер, способный исправлять группировки ошибок вплоть до 100% повреждений благодаря сохранению позиции максимума даже при полной инверсии.

При ~50% пакетных ошибок блок делят на две равные части и декодируют каждую в прямом и инвертированном виде. Четыре полученных варианта различаются уровнем шума (рис. 7), что позволяет по совместному анализу однозначно определить исходное значение (рис. 8).



Статистика (рис. 9) демонстрирует, что при n=1024 голографическое кодирование гарантирует восстановление при доле ошибок ниже 40% и выше 60%, что значительно повышает надёжность систем хранения, подверженных радиационному, температурному и прочему воздействию.
Заключение
Система хранения на основе голографического кодирования представляет собой модифицированный массив памяти с учётом коэффициента избыточности и контроллер, выполняющий кодирование при записи и автоматическую коррекцию ошибок при чтении. Алгоритмы могут быть реализованы в ПЛИС или сохранены в устойчивой к радиации постоянной памяти. Метод применим в любой архитектуре — достаточно дополнить контроллер модулем кодирования/декодирования.



