Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: CVI Международной научно-практической конференции «Экспериментальные и теоретические исследования в современной науке» (Россия, г. Новосибирск, 28 октября 2024 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Лепёшкина Е.С., Чекмарёв С.А. ИССЛЕДОВАНИЕ РЕАЛИЗАЦИИ ПОМЕХОУСТОЙЧИВОГО КОДА С ИСПРАВЛЕНИЕМ ОДИНОЧНЫХ И ДВОЙНЫХ СМЕЖНЫХ ОШИБОК В ПЛИС // Экспериментальные и теоретические исследования в современной науке: сб. ст. по матер. CVI междунар. науч.-практ. конф. № 10(98). – Новосибирск: СибАК, 2024. – С. 14-19.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

ИССЛЕДОВАНИЕ РЕАЛИЗАЦИИ ПОМЕХОУСТОЙЧИВОГО КОДА С ИСПРАВЛЕНИЕМ ОДИНОЧНЫХ И ДВОЙНЫХ СМЕЖНЫХ ОШИБОК В ПЛИС

Лепёшкина Екатерина Сергеевна

старший преподаватель кафедры безопасности информационных технологий, Сибирский государственный университет науки и технологий имени академика М.Ф. Решетнева,

РФ, г. Красноярск

Чекмарёв Сергей Анатольевич

канд. техн. наук, доцент кафедры безопасности информационных технологий, Сибирский государственный университет науки и технологий имени академика М.Ф. Решетнева,

РФ, г. Красноярск

FPGA IMPLEMENTATION STUDY OF ERROR-CONTROL CODE WITH CORRECTION OF SINGLE AND DOUBLE ADJACENT ERRORS

 

Ekaterina Lepeshkina

Assistant Professor of Information Technology Security Department, Siberian State University of Science and Technology,

Russia, Krasnoyarsk

Sergey Chekmarev

Candidate of Science, Senior Lecturer of Information Technology Security Department, Siberian State University of Science and Technology,

Russia, Krasnoyarsk

 

АННОТАЦИЯ

В работе исследуется функциональность по исправлению однократных и двойных смежных ошибок реализованного в ПЛИС разработанного кода класса SEC-DED-DAEC (39, 32). Исследованы параметры затрат ресурсов и быстродействия устройства обнаружения и исправления ошибок, использующего разработанный код, и представлены результаты сравнения с параметрами устройства обнаружения и исправления ошибок, корректирующего одну ошибку. Предложенная реализация наименьшим способом увеличивает сложность устройства, а также не уменьшает скорость работы с памятью по сравнению с аналогичными устройствами, корректирующими одну ошибку в памяти.

ABSTRACT

In this paper, the functionality of proposed (39, 32) SEC-DED-DAEC code implemented in FPGA is explored. The parameters of resource costs and performance of the error detection and correction device using the developed code, and present the results of comparison with the parameters of the error detection and correction device correcting one error are investigated. The proposed implementation minimally increases complexity and does not reduce the speed of working with memory compared to similar devices that correct one error in memory.

 

Ключевые слова: помехоустойчивый код, SEC-DED-DAEC, однократные и двойные смежные ошибки.

Keywords: error-control code; SEC-DED-DAEC; single and double adjacent errors.

 

Совершенствование методов защиты электроники космических аппаратов от действия космической радиации является важным вопросом космического приборостроения. Микросхемы памяти наиболее подвержены влиянию на них эффектов космической радиации, в том числе, тяжелых заряженных частиц космического пространства. Сбои от тяжелых заряженных частиц в микросхемах памяти проявляются в виде битовых ошибок в информационных словах. Ошибки в памяти могут быть одиночными и множественными, последние встречаются все чаще в связи с уменьшением норм проектирования в современной микроэлектронике.

Двойные смежные ошибки встречаются наиболее часто среди прочих множественных сбоев [5]. Для борьбы с ними получил развитие класс помехоустойчивых кодов SEC-DED-DAEC – это коды с исправлением одиночных, обнаружением двойных и исправлением двойных смежных ошибок.  Сюда относят коды Dutta [3], Cha-Yoon [2] Reviriego [6],и др. В работе [1] был предложен код с исправлением одиночных и двух смежных ошибок, отличающийся минимальным количеством проверочных бит при высокой скорости кодирования и декодирования, и его математическое обеспечение.

Для подтверждения реализуемости разработанного кода в рамках существующего подхода к исправлению сбоев в памяти, функциональности по исправлению однократных и двойных смежных ошибок, а также оценки требуемых ресурсов ПЛИС и временных характеристик была проведена реализации в ПЛИС устройства EDAC для разработанного (39, 32) кода. EDAC реализован на базе софт процессора LEON3 для ПЛИС класса FPGA Altera Cyclone IV EP4CE115F23C7 (объем 114480 эквивалентных логических элементов) в составе отладочной платы Terasic DE2-115. Внутрикристальная память синтезировалась на разрядность слова данных 39 бит: 32 информационных, 7 проверочных. Для проведения скраббинга памяти дополнительно разработан соответствующий сложно-функциональный блок. Тестирующие программы для процессора LEON3 разработаны на языке C.

Для внесения ошибок в память кодер EDAC комплексирован через побитовую операцию XOR с регистром маски ошибки Error_mask (рис. 1).

 

Рисунок 1. Схема внесения ошибок в память

 

Регистр маски ошибки Error_mask позволяет вносить ошибки, имитируя, таким образом, сбои в памяти вследствие воздействия ТЗЧ. В режиме внесения сбоев перед записью эталонного слова в память к нему применяется Error_mask. В результате в память записывается искаженное ошибкой или ошибками эталонное слово. Далее для обнаружения и исправления ошибки (-ок) записанный массив данных слово за слово должен быть прочитан из памяти. Следующим шагом декордер_корректор исправляет обнаруженные ошибки, что проверяется управляющей программой. Количество исправленных ошибок фиксируется в статусном регистре «счётчик сбоев», оно должно соответствовать ожидаемому значению. Таким образом, с помощью Error_mask возможно вносить сбои любой кратности в любое слово памяти в пределах всего адресного пространства.

Для проверки механизма сбоеустойчивости были написаны тестовые программы.

Тест на проверку исправления одиночных и двойных смежных ошибок. Во входное информационное слово вносятся 39 записей с одиночным сбоем (по одному на каждый разряд кодового слова) и 38 с двойным смежным сбоем. Для каждой записи соответствует свой адрес в памяти RAM. Далее управляющая программа последовательно читает массив данных из памяти и сравнивает его с эталонным значением. Событие обнаружения сбоя фиксируется в счётчике сбоев. В результате тестирования управляющая программа выдаёт сообщение об успешном/неуспешном проходе тестового воздействия с отчётом о количестве внесённых/найденных сбоев. Итог теста: все внесенные сбои (39 одиночных и 38 двойных смежных) были обнаружены и исправлены.

Тест с применением скраббинга и проверки отсутствия накопления двойных множественных несмежных ошибок. Скраббинг предполагает периодическое фоновое сканирование памяти и исправление битовых ошибок с помощью корректирующего кода при их наличии. Размер памяти составляет 1 Кбайт, что соответствует 256 словам по 32 бита в каждом. Задав период скраббинга (время между операциями чтения), можно оценить период сканирования всей памяти на ошибки. Предложенный тест моделирует ситуацию, при которой интенсивность сбоев в одну и ту же область памяти постоянно увеличивается. Таким образом происходит ситуация возникновения множественного двойного сбоя, при которой одиночные сбои накапливаются в одном и том же слове в памяти. Результат теста зафиксировал минимальный период, при котором ошибки еще исправляются. При заданных условиях он составляет 0.2с, что совпало с ожидаемым значением.

Тест с применением скраббинга и проверки отсутствия накопления несмежных двойных групп, состоящих из двойных смежных ошибок. Данный тест аналогичен предыдущему, однако в качестве типа сбоя определяется двойная смежная ошибка. Так как предложенный код гарантировано исправляет двойные смежные ошибки, результаты тестов 2 и 3 совпадают.

Таким образом, тесты продемонстрировали соответствие предложенного своему назначению.

Приведем результаты оценки необходимых ресурсов, оцениваемых в эквивалентных логических элементах FPGA, разработанного EDAC на базе предложенного кода, при этом сравним их с ресурсами EDAC на основе помехоустойчивого кода Хсяо [4] с исправлением одной ошибки (табл.1). В обоих случаях EDAC реализованы без аппаратных задержек, соответственно они не содержат блоки памяти. Для сравнения был выбран код Хсяо в связи с его частым применением в качестве корректирующего кода микросхем памяти. При этом он относится к классу кодов SEC-DED, то есть решает задачу классом ниже – исправляет одиночные и обнаруживает двойные ошибки.

Таблица 1.

Оценка ресурсов при размещении в ПЛИС

Реализация

Код Хсяо, эквивалентных логических элементов

Предложенный код, эквивалентных логических элементов

Только кодер

30

24

Только декодер_корректор

85

137

EDAC (кодер+декодер_корректор)

115

161

 

Из таблицы 1 следует, что декодер_корректор предложенного кода требует большего количества ресурсов, чем декодер_корректор кода Хсяо. Но при этом, в целом размер EDAC предложенного кода занимает 0,14% от объёма выбранной FPGA (EDAC кода Хсяо – 0,1%), и при этом предложенный код решает более сложную задачу: исправление и одной, и двух смежных ошибок в одном слове памяти.

Анализ временных задержек реализации предложенного кода также был произведен в сравнении с реализацией кода Хсяо. Максимальная частота проекта определена в 50МГц. Расчёт временных характеристик проводился с помощью САПР QUARTUS II. САПР предлагает три сценария рабочих условий: быстрый, медленный и типичный, которые различаются между собой скоростью прохождения сигнала в микросхеме, уровнем напряжения в пределах допустимого диапазона и температурой. Успешное выполнение временного анализа для всех трёх случаев позволяет гарантировать, что цифровое устройство действительно будет работать в реальных устройствах с различными вариациями электропитания и разными температурами кристалла.

Контрольными параметрами для оценки временных задержек являются параметры отрицательного резерва для тактового сигнала и запас, с которым тактовый сигнал соответствует требуемому значению.

Полученные результаты временного анализа показали, что оба устройства EDAC отличаются по быстродействию на тысячные доли наносекунд. Поэтому можно сказать, что EDAC на основе предложенного кода с исправлением одной и двух смежных ошибок одинаков по быстродействию c EDAC, исправляющим только одну ошибку.

Таким образом, реализация устройства обнаружения и коррекции ошибок бортовой памяти на основе предложенного кода с исправлением одной и двух смежных ошибок минимально увеличивает сложность, а также не уменьшает скорость работы с памятью по сравнению с аналогичными устройствами, корректирующими одну ошибку в памяти.

 

Список литературы:

  1. Лепёшкина Е.С. Построение и исследование проверочных матриц кодов, исправляющих одиночные и двойные смежные ошибки // Доклады ТУСУР. – 2024. – Т.27. – № 2. – С. 37–43.
  2. Cha S. Efficient implementation of single error correction and double error detection code with check bit pre-computation for memories / S. Cha, H. Yoon // JSTS: J. Semiconductor Technol. Sci. – 2018. – № 12(4). – P. 418–425.
  3. Dutta A. Multiple Bit Upset Tolerant Memory Using a Selective Cycle Avoidance Based SEC-DED-DAEC Code / A. Dutta, N.A Touba // 25th IEEE VLSI Test Symposium (VTS’07). URL: https://ieeexplore.ieee.org/document/4209937 (Дата обращения 25.10.2024).
  4. Hsiao M.Y. A class of optimal minimum odd weight column SEC-DED codes // IBM Journal of Research and Development. –1970. –№14(4). –P.395–401.
  5. ICARE on-board SAC-C: More than 8 years of SEU & MBU, analysis and prediction / C. Boatella, G. Hubert, R. Ecoffet, and F. Bezerra // IEEE Trans. Nucl. Sci. – 2010. – Vol. 57. – № 4. – P. 2000-2009.
  6. Unequal error protection codes derived from SEC-DED codes / P. Reviriego, S.S. Liu, A. Sánchez-Macián, L. Xiao, J.A. Maestro // Electron. Lett. – 2016. – № 52(8). – P. 619–620.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий