ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Journal influence

Higher Attestation Commission (VAK) - К1 quartile
Russian Science Citation Index (RSCI)

Bookmark

Next issue

2
Publication date:
16 June 2024

The research of architecture vulnerability to failures using the statistical method of making failures

The article was published in issue no. № 4, 2010
Abstract:The paper describes the methodology for determining the architecture vulnerability factor to failures digital blocks and the results of its application as an example of research unit of the controller finite state machine multiplex channel for information exchange made in accordance with GOST 52070-2003.
Аннотация:В статье описываются методика определения коэффициента архитектурной чувствительности к сбоям цифровых блоков и результаты ее применения на примере исследования блока автомата состояний контроллера мультиплексного канала информационного обмена, выполненного в соответствии с ГОСТ Р 52070-2003
Authors: (osipenko@niisi.msk.ru) - , Ph.D, A.A. Antonov (153287@niuitmo.ru) - The National Research University of Information Technologies, Mechanics and Optics, St. Petersburg, Russia, (levadsky@niisi.msk.ru) -
Keywords: «gray» result, microarchitectural state, reference track, architecture vulnerability factor to failures
Page views: 13157
Print version
Full issue in PDF (6.26Mb)
Download the cover in PDF (1.28Мб)

Font size:       Font:

С уменьшением проектных норм обостряется проблема одиночных сбоев в современных интегральных схемах вследствие воздействия на них одиночных частиц (ТЗЧ, протонов, нейтронов) [1]. Чтобы разрабатывать эффективные методы защиты, необходимо понимать особенности поведения интегральных схем в присутствии одиночных сбоев. Одной из них является то, что одиночные сбои в микроэлектронных устройствах не всегда приводят к ошибкам в работе системы. Так, если сбой, то есть изменение логического состояния, произошел в ячейке памяти, которая впоследствии будет перезаписана новым значением, система не почувствует его. Для количественного определения способности архитектуры системы парировать сбои используется коэффициент, равный отно- шению числа ошибок, вызванных сбоями, к их общему числу. В зарубежной литературе этот коэффициент обозначается AVF – architecture vulnerability factor [2]. В данной статье для него используется термин коэффициент архитектурной чувствительности к сбоям (Кач): Кач=Nсб/Nош, где Ncб – общее число сбоев, произошедших в системе; Nош – число ошибок, то есть нарушений корректного функционирования системы, вызванных сбоями.

Одним из методов определения Кач является метод статистического внесения сбоев (SFI – statistic fault injection) [2]. Суть его состоит в том, что в процессе моделирования исследуемого блока в один из элементов памяти в случайно выбранный момент вносится сбой, то есть состояние элемента меняется на противоположное. Необходимо определить, вызывает ли данный сбой нарушение функционирования. Проведя достаточно большое количество сеансов моделирования, можно найти искомый коэффициент.

Подпись:  
Рис. 1Примеры применения метода для исследования Кач микропроцессорных схем описаны в [3, 4]. Однако, несмотря на то, что суть его достаточно проста, конкретные детали реализации метода в рассматриваемой литературе остаются нераскрытыми. Соответственно, потребовалась разработка методики, которая детально описывает процедуру определения Кач с его помощью.

В данной статье описывается методика определения Кач цифровых блоков, реализованных на языке VerilogHDL, методом статистического внесения сбоев и приводятся результаты ее применения на примере исследования блока автомата состояний контроллера мультиплексного канала информационного обмена (МКИО), выполненного в соответствии с ГОСТ Р 52070-2003.

Методика определения коэффициента архитектурной чувствительности к сбоям

В методике определения коэффициента архитектурной чувствительности к сбоям примем следующие допущения:

−    рассматриваются только одиночные сбои;

−    сбои происходят только в элементах памяти;

−    элементы памяти имеют равную вероятность сбоя;

−    место и время появления сбоя распределены равномерно.

Методика определения факта ошибки. До начала эксперимента строится эталонная трасса выполнения тестовой программы, в которой потактно фиксируется состояние на выходах анализируемой модели в отсутствие сбоев. По окон- чании моделирования запоминается эталонное состояние всех элементов памяти (микроархитектурное состояние).

Подпись:  
Рис. 2Собственно эксперимент заключается в выполнении серии сеансов моделирования, в ходе каждого из которых случайный триггер в случайный момент меняет свое состояние. В процессе моделирования состояния выходов модели сравниваются с эталонной трассой. По окончании моделирования микроархитектурное состояние сравнивается с эталонным.

Возможны следующие варианты окончания сеанса моделирования.

1.   Расхождения трасс и микроархитектурных состояний не зафиксированы. Это означает, что сбой был парирован, и результат помечается как «отсутствие ошибки».

2.   Обнаружено расхождение трасс в любом из тактов. Эта ситуация считается ошибкой, и результат помечается как «ошибка».

3.   Расхождения трасс зафиксированы не были, но имеется расхождение в микроархитектурном состоянии по окончании моделирования. Это означает, что в процессе моделирования сбой никак не проявился, но к моменту его окончания продолжает присутствовать в схеме. Соответственно, существует вероятность, что при продолжении моделирования с использованием другого теста ошибка может проявиться. Этот результат помечается как «серый» и при подсчете Кач прибавляется к ошибкам.

Определение места и времени внесения сбоя. До начала моделирования средствами САПР из анализируемой модели извлекается полный список элементов памяти, который составляет диапазон возможных значений мест возникновения сбоя. Диапазон возможных значений времени внесения сбоя определяется как общее время работы тестовой программы. Перед началом очередного сеанса генератор случайных чисел из списка элементов выбирает элемент для внесения сбоя в процессе моделирования, а из периода работы программы – момент сбоя. Номер элемента и момент сбоя передаются как параметры в тестовый модуль insert_fault.v, внедренный в систему моделирования.

Блок-схема алгоритма определения Кач приведена на рисунке 1.

Для реализации предложенного алгоритма написаны следующие программы.

1. Программа получения эталонной трассы и микроархитектурного состояния (VerilogHDL). Подключается к тестовой системе и сохраняет в бинарном файле потактно значения всех входов и соответствующих выходов исследуемого объекта (выполняется до внесения ошибок), а также значения всех элементов памяти по окончании моделирования.

Подпись:  
а)
 
б)
Рис. 3 2. Программа получения списка элементов па­мяти (скрипт-файл в формате языка Tcl). Позволяет получить в текстовом виде список всех элементов памяти исследуемого объекта из rtl-модели.

3. Программа генерации места и времени внесения ошибки (VerilogHDL). Программа-модуль, которая подключается к тестовой системе и в случайный момент вносит одиночную ошибку в один из элементов памяти списка.

4. Программа автоматической генерации Verilog-модуля внесения ошибки (С++). Автоматически создает код модуля предыдущей программы, имея на входе список элементов памяти исследуемого объекта.

5. Программа сравнения трасс и микроархитектурного состояния (VerilogHDL). Тестовая система исследуемого объекта; проводит серию сеансов моделирования, выполняет подачу на входы исследуемого объекта данных из бинарного файла и сравнивает выходы объекта с соответствующими данными из того же файла, сохраняет статистику, вычисляет Кач.

Результаты исследований

Апробация разработанной методики проведена на примере исследования Verilog-модели блока автомата состояний контроллера МКИО, выполненного в соответствии с ГОСТ Р 52070-2003.

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

Блок представляет собой набор программно доступных регистров и автомат состояний. Его структурная схема приведена на рисунке 2. Общее количество элементов памяти – 49.

В качестве тестовых программ использованы BC_REG_TEST и BC_RESPONSE. Программа BC_REG_TEST представляет собой простейший тест регистров и выполняется примерно за 44 тысячи тактов. Программа BC_RESPONSE осуществляет более глубокую проверку функционирования блока и выполняется более чем за 330 тысяч тактов. Один сеанс моделирования с использованием САПР Verilog NC на рабочей станции Xeon X5560 с частотой 2,80 ГГц с оперативной памятью 49 Гб занимает около 1 сек.

На рисунке 3 приведены графики распреде- ления результатов моделирования тестовыми программами BC_RESPONSE (рис. 3а) и BC_REG_TEST (рис. 3б).

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

Так, если для программы BC_RESPONSE он приближается к 1 (Кач=0,97; нет ошибки – 0,03; ошибок – 0,60; «серых» – 0,37), то для программы BC_REG_TEST составляет менее 0,5 (Кач=0,4; нет ошибки – 0,60; ошибок – 0,38; «серых» – 0,02). Кроме того, очень сильно отличаются доли «серых» результатов. Таким образом, сделаем вывод, что, меняя алгоритм выполнения программы, можно повышать или понижать чувствительность архитектуры к одиночным сбоям и тем самым уменьшать или увеличивать частоту ошибочных ситуаций в реальных условиях эксплуатации.

На основании изложенного можно сделать следующее заключение. Разработаны методика и набор программ, позволяющих проводить исследования коэффициента архитектурной чувствительности к сбоям в цифровых интегральных схемах. Проведена апробация данной методики на примере блока автомата состояний контроллера МКИО. Результаты показывают, что Кач очень сильно зависит от выполняемой задачи: для 2000 сеансов Кач данного блока для теста BC_RES­PONSE составил 0,97, а для теста BC_REG_TEST – 0,38. Планируются дальнейшие исследования этого и других блоков с целью анализа влияния архитектурных решений и алгоритмов программ на Кач для его уменьшения.

Литература   1. Осипенко П.Н. Одиночные сбои – вызов для современных процессоров // Электронные компоненты. М.: 2010. № 1. C. 66–69.

2. Mukherjee S. Architecture Design for Soft Errors / Elsevier, 2008, 337 p.

3. Kim S. and Somani A.K. Soft Error Sensitivity Characterization for Microprocessor Dependability Enhancement Strategy // International Conference on Dependable Systems and Networks (DSN), June 2002, pp. 416–425.

4. Nguyen H.T., Yagil Y., Seifert N. and Reitsma M. Chip-Level Soft Error Estimation Method // IEEE Transactions on Device and Materials Reliability. September 2005. Vol. 5. No. 3, pp. 365–381.


Permanent link:
http://swsys.ru/index.php?page=article&id=2602&lang=en
Print version
Full issue in PDF (6.26Mb)
Download the cover in PDF (1.28Мб)
The article was published in issue no. № 4, 2010

Back to the list of articles