В рамках данного проекта разработан прототип модуля (системы) хранения данных для малого космического аппарата, использующего технологии блокчейн и RAID для обеспечения целостности и сохранности данных. Модуль был разработан для работы на кубсате формата 3U - компактном спутнике размером 10×10×30 см.
В ходе работы FLASH-накопителя могут возникнуть повреждения памяти в результате попадания высокоэнергетических частиц в ячейки памяти или экстремальных перепадов температур. Дабы сохранить данные, нужно вовремя обнаружить повреждения памяти и восстановить поврежденные данные из хранящейся в системе копии.
Для решения этой задачи разработанный прототип системы использует частный блокчейн. Каждый блок содержит хеш предыдущего блока, временную метку, порядковый номер, размер, данные и собственный хеш. Это позволяет быстро обнаруживать поврежденные или измененные данные. Для хеширования разработана специальная функция turboHash64, обеспечивающая высокую чувствительность к изменениям данных, что позволяет оперативно идентифицировать поврежденные блоки.
Для повышения надежности системы используется технология RAID 01, которая сочетает преимущества RAID 0 (чередование дисков для повышения производительности) и RAID 1 (зеркалирование дисков для надежности). Это обеспечивает высокую скорость чтения и записи данных, а также позволяет восстановить данные в случае отказа одной или нескольких SD-карт.
Прототип системы состоит из трех микроконтроллеров ATmega. Основной микроконтроллер управляет двумя дочерними микроконтроллерами, к которым подключены SD-карты. Мастер-микроконтроллер получает тестовые данные автоматической идентификации судов через радиомодуль (NRF24L01) по протоколу SPI и передает их дочерним микроконтроллерам по UART, которые затем распределяют данные между SD-картами.
Процесс работы системы включает запись данных на SD-карты в формате блоков, где каждый блок содержит хэш предыдущего блока, обеспечивая цепочку неизменяемых записей. При изменении данных в блоке хеш-функция обнаруживает несовпадение хеша, сигнализируя о повреждении данных. Поврежденные данные восстанавливаются из зеркального блока, что обеспечивает непрерывность и целостность хранения данных.