Программная радиационная защита памяти для отечественных микроконтроллеров RISC-V
Идея проекта
FDIR-менеджер (Fault Detection, Isolation, Recovery) — программная библиотека радиационной защиты памяти для отечественных микроконтроллеров архитектуры RISC-V, не имеющих аппаратного ECC.
Проблема
Радиационностойкие бортовые компьютеры космического класса (например, RAD750) стоят от 200 тыс. долларов США (по данным на 2002 год) при энергопотреблении 5 Вт и устаревшей элементной базе. Из-за цены в бюджетных CubeSat используются коммерческие МК без радиационной защиты SRAM. Среди отечественных RISC-V микроконтроллеров (МИК32, семейство Миландр MDR32VF0xI — К1986ВК025/MDR1206) массовые и доступные по цене модели также не защищены. Аппаратная защита существует лишь в дорогих специализированных решениях (например, К1921ВГ1Т — dual-core lockstep с ECC на Flash, НИИЭТ), непригодных по цене и энергопотреблению для массового CubeSat-сегмента. При этом каждый проект вынужден писать собственный FDIR-менеджер с нуля — готового переносимого решения для доступной элементной базы нет.
Архитектура (иерархия восстановления по уровням критичности сбоя)
- Код Хэмминга SECDED (блок m = 32 бита, выровнен под нативное RISC-V слово) — обнаружение и исправление одиночных битовых ошибок (SEC) в SRAM, обнаружение двойных (DED) с эскалацией на уровень выше.
- Откат к контрольной точке — восстановление состояния при ошибке, не устранимой на уровне памяти.
- Анализ телеметрии — детектирование деградации и накопления сбоев до отказа.
- Внешний аппаратный watchdog (STM32 по I2C) — полная перезагрузка МК при зависании.
- Safe Mode — пониженное энергопотребление, приём команд с Земли при серьёзном сбое.
Ценность
Программная альтернатива дорогим аппаратным решениям — как зарубежным rad-hard (RAD750), так и дорогим отечественным (К1921ВГ1Т): на порядки дешевле, быстрее в разработке и интеграции, работает на массовой доступной RISC-V элементной базе. Даёт командам CubeSat готовый переносимый FDIR-слой вместо разработки с нуля под каждый проект.
