ИНФОРМАЦИОННО-УПРАВЛЯЮЩИЕ СИСТЕМЫ X
УДК 681.3
АНАЛИЗ НАДЕЖНОСТИ ЦИФРОВЫХ УСТРОЙСТВ СО СТРУКТУРНЫМ РЕЗЕРВИРОВАНИЕМ И ПЕРИОДИЧЕСКИМ ВОССТАНОВЛЕНИЕМ РАБОТОСПОСОБНОГО СОСТОЯНИЯ УЗЛОВ
С. Л. Максименко,
старший преподаватель В. Ф. Мелехин,
доктор техн. наук, профессор
Санкт-Петербургский государственный политехнический университет
Предлагается метод оценки надежности цифровых устройств, представленных в виде сети троированных узлов, учитывающий цикличность вычислительных процессов и периодическое восстановление информации в узлах. Метод основан на разбиении устройства на ячейки с независимыми отказами. Для произвольной ячейки предложена приближенная оценка вероятности безотказной работы для случая, когда период восстановления информации в узлах много меньше среднего интервала между отказами. Получена зависимость интенсивности отказов ячейки от периода восстановления информации и показано, что эта зависимость линейная независимо от структуры связей в ячейке.
Ключевые слова — цифровые устройства, интегральные схемы, сбои, отказы, периодическое восстановление, надежность, резервирование, оценка, модель, структура, троирование, мажоритар.
Введение
Анализ влияния радиационных эффектов на информационные процессы в цифровых устройствах [1, 2] подтверждает актуальность совместного использования методов повышения устойчивости к радиационным воздействиям на различных уровнях организации системы. Основным методом, применяемым на уровнях функциональной организации и схемотехнической реализации устройств управления и обработки информации, является структурное резервирование узлов с использованием голосующих элементов (мажоритаров) для блокирования отказов.
В статье [2] на основе аналитического обзора работ по влиянию радиации на цифровую аппаратуру установлено, что восстанавливаемые отказы, проявляющиеся в искажении информации, возникают значительно чаще, чем невосста-навливаемые отказы, проявляющиеся в изменении полупроводниковой структуры. Показано также, что существенно повысить надежность устройства можно путем организации циклической работы узлов с периодическим восстановле-
нием информации. В ходе проектирования необходимо осуществить выбор оптимального варианта резервирования с учетом процессов восстановления информации при ограничениях на аппаратные ресурсы и быстродействие устройства.
Для выбора оптимального варианта необходимо иметь механизм построения оценки параметров надежности при заданном варианте резервирования и организации вычислительных процессов.
В работе [3] предложена модель, позволяющая оценить надежность троированного узла при периодическом восстановлении информации. Оценка основана на предположении, что работа узла организована циклически, и с началом нового цикла происходит загрузка в узел новой информации, что обеспечивает восстановление узла после отказа, если он имел место на предыдущем цикле. Показано, что при низкой вероятности отказа за один цикл работы узла и при большом количестве циклов интенсивность потока отказов троированного узла пропорциональна периоду восстановления информации.
Цифровое устройство можно представить как сеть резервированных узлов. Будем рассматри-
■ Рис. 1. Сеть троированных узлов с троированными мажоритарами
вать широко распространенный на практике вариант резервирования, когда каждый узел троируется и тройки узлов (а, с, d) соединены через троированные мажоритары (Ь). Пример такой системы показан на рис. 1.
Будем считать систему исправной, если в каждой тройке элементов хотя бы два формируют правильное выходное значение. В свою очередь, элемент формирует правильный выход, если он исправен и на его входы поступают правильные значения. Мажоритар формирует правильное значение, если он исправен и хотя бы на два его входа поступают правильные значения.
Оценка надежности сети троированных узлов даже при известных параметрах элементов является сложной задачей, так как отказы узлов в сети в общем случае не являются независимыми.
Рассмотрим устройство, структура которого представлена на рис. 1. Сбой в мажоритаре Ь приводит к отказу узлов С1 и dl, причем восстановление информации в узлах произойдет только
с началом их следующего цикла работы. Для оценки вероятности исправности системы необходимо определить все сочетания отказов элементов, при которых система остается исправной, и вероятности наступления данных комбинаций отказов. Далее мы построим аналитическую оценку, параметрами которой являются интенсивности отказов элементов и периоды их работы.
Структура сети резервированных элементов
Система, представляющая собой сеть из троированных узлов, соединенных мажоритарами с соблюдением ряда ограничений, может быть разбита на «домены» — «наборы не связанных друг с другом узлов с голосующим устройством на входе и ациклической структурой» [4].
Рассмотрение системы как множества доменов удобно тем, что в силу наличия в доменах голосующих элементов на входе отказы доменов происходят независимо, что позволяет существенно сократить сложность задачи анализа системы: в некоторый момент времени вероятность нахождения системы в исправном состоянии равна произведению вероятностей исправности всех доменов.
Близкий подход, использующий разбиение системы на группы резервированных узлов, предложен в работе [5]. Ее авторы показывают, что любая сеть троированных элементов TMR network может быть разбита на ячейки (TMR cells). На рис. 2 пун-
ктиром приведен пример сети TMR network, где выделены TMR cells 1-6. Ячейка состоит из троек мажоритаров и троек резервированных модулей. Функция работоспособности ячейки задается как условие, что в каждой тройке модулей, входящей в ячейку, как минимум два сформируют правильное значение (т. е. будут исправны они сами и все мажоритары на их входе). В работе [5] предложен алгоритм численного расчета надежности ячейки, однако он не позволяет учесть цикличность работы элементов и процессы восстановления информации.
Отметим, что наличие мажоритара на входе некоторой группы не связано с привязкой мажо-ритара к входу или выходу блока. В любом случае граф, описывающий структуру устройства, можно разбить на ячейки или домены для расчета надежности. В случае размещения мажорита-ров на выходах групп узлов количество мажори-таров может быть несколько меньше, однако несколько групп резервированных узлов могут попасть в одну ячейку, что усложнит расчет.
Рассмотрим пример сети, приведенный на рис. 2. В ячейке 5 выходы узлов b не являются выходами ячейки, а используются как входы мажоритаров с. Выделение групп с и d в отдельную ячейку невозможно, поскольку узлы d связаны по входу непосредственно с мажоритарами а.
Наличие у ячейки «многослойной» структуры, когда она включает мажоритары, не являю-
щиеся входными элементами ячейки, усложняет задачу анализа, так как не позволяет построить простой критерий допустимости заданной комбинации отказов.
Не изменяя структуры связей, можно рассматривать выходы узлов b как выходы ячейки, а входы узлов с — как входы ячейки. Тогда мы получим структуру, показанную на рис. 3.
С точки зрения расчета надежности узлы f и g можно рассматривать как один узел. В результате ячейка представляется «двухслойной» структурой: в первом слое стоят мажоритары, а во втором — резервированные узлы. Входы каждого узла подключены к одному или нескольким ма-жоритарам.
Любую ячейку, применяя описанное преобразование ко всем мажоритарам, не являющимся входными элементами, можно привести к «двухслойному» виду. Далее будем строить оценки надежности такой преобразованной ячейки.
Оценка надежности ячейки с учетом периода восстановления информации
Пусть M — множество троек узлов (modules) ячейки, \M\ = Nm; V — множество троек мажоритаров (voters), \V\ = Nv. К выходу каждого ма-жоритара подключен один или несколько узлов. Найдем функцию out:V ^ 2м, определяющую множество троек узлов, подключенных к выходам заданной тройки мажоритаров. Например, на рис. 2 out(a) = {b, d}.
Для построения оценки надежности ячейки с учетом процессов восстановления рассмотрим более подробно отказы в узлах и мажоритарах.
Пусть поток отказов каждого узла i и каждого мажоритара i — пуассоновский с интенсивностью \ и 5i соответственно.
Пусть обновление информации в узле Mt выполняется периодически с периодом tm. Будем рассматривать поведение ячейки на интервале времени T таком, что T кратно любому tm, причем для Vie1:Nv, 5iT << 1 и Vie1:Nm, XtT << 1.
Отказы в узлах и мажоритарах по-разному влияют на работоспособность ячейки. Отказ в узле нарушает его работоспособность до конца текущего периода обновления. Ячейка (и вся система) выходит из строя, если на каком-либо периоде обновления произошел отказ в двух или более экземплярах какого-либо узла.
Сам по себе информационный отказ мажори-тара не приводит к отказу ячейки, поскольку ма-жоритар не имеет элементов памяти, и состояние его выходов восстанавливается, как только рассасывается заряд, порожденный попаданием частицы. Однако отказ мажоритара вызывает отказ всех подключенных к нему узлов, причем отказ
в узле устраняется только с началом следующего цикла обновления соответствующего узла. Ячейка откажет, если отказы в мажоритарах (в одном или нескольких) произойдут на одном цикле обновления некоторого узла и выведут из строя хотя бы два его элемента.
Поскольку узлы имеют пуассоновский поток отказов, вероятность ровно одного отказа в элементе ] за период Т равна XjTe "к*Т » XjT(1 — XjT).
2,
Вероятность двух отказов равна
х2т2
л 2™2
Х І1 -X Т
(1 — XjT) Будем рассматривать разложение
функции вероятности безотказной работы ячейки по степеням Т до второй степени. Из приведенных выражений видно, что для этого достаточно рассмотреть случаи возникновения нуля, одного и двух отказов в элементах.
Рассмотрим вероятность исправности ячейки как сумму вероятностей трех несовместных событий, когда произошло ни одного, один и два отказа: Р(Т) = S0 + Sl + S2. Случаи трех и более отказов рассматривать не будем, поскольку это величины малого порядка, и их разложение в степенной ряд имеет слагаемые со степенями Т не менее трех.
Вероятность того, что не отказал ни один элемент в тройке, равна
е-3ХТ = і - зхт+9ХуТ
2
о(Т2).
Для нуля отказов имеем
9Х2т2 1-3Х Т+—у---------
' О
П
952т2 1-35 Т+—1---------
' О
2т2
л-3 е хт+9 е х;хт2+9 е Х2Т
і, }єімт — 2
І<1
Іє1: N т і, ує1 : Ит іє1: ^
і< І
2
-3 Е 5Т + 9 Е 5і5Т2
Іє1 :Nv і,Іє1:Nv
І<І
+ 9 Е 52Т2+9 Е І
іЄ1:^ 2 іЄІ:Ит,
ІЄІ:Лт,
При ровно одном отказе в любом элементе система остается работоспособной.
Найдем вероятность ровно одного отказа в тройке узлов у:
3ХіТє-ХіТ [е-ХТ)2 » 3ХІТ(1- 3ХТ).
Тогда вероятность одного отказа узла в ячейке (и отсутствия отказов в мажоритарах)
&1ы = Е
ІЄІ:Ит
3(хут-3х2т2) П
іЄ1:Ит
і^І
1-3ХТ+
9Х?Т2
х П
іЄ1:И,
1-35,Т+
95?Т2
ІЄІ:Ит
3 Е (ХТ-3Х2Т2
1-3 Е ХіТ+9 Е ХіХкТ2 +9 Е Л
х2т2
іє1:Ит
і,кє1:Ит
і,к^і,і<к
іє1:Ит
і^І
1-3 Е 5Т
іЄ1:И„
* Е
ІЄ1:Ит
Xт-3х2т2-3 Е хіХуТ2
іє1:Ит,
і^І
1-3 Е 5Т»3 Е Xт-9 Е ХіХТ2 -
іє1:И Іє1:Ит і, Іє1:Ит
і^І
-9 Е Х2Т2-9 Е 5іХТ2.
іє1:Ит iЄ1:Nv
іЄ1:Ит
Аналогично вероятность одного отказа в ма-жоритаре
^ = 3 £ 5уТ — 9 £ 5;5Т2 —
jEl:Nv ^1:^и
І^j
— 9 £ 52Т2 — 9 £ ^XТ2.
Вероятность возникновения ровно одного отказа S1 = SM1 + SF1.
Оценим теперь вероятность исправности ячейки при двух отказах:
^2 £ £ ротк(у',Ъ)^испр_отк(у',й)риспр_ост(у',Ъ)’
j’ kE.1-.Ng
где Ne — количество всех троек в ячейке (Ne = = Nm + Nv); Ротк0- щ — вероятность возникновения по одному отказу в тройках ] и Щ (если ] = Щ — то вероятность двух отказов в одной тройке); Риспр отк(у, щ — апостериорная вероятность того, что система останется исправной после двух таких отказов; Риспр ост(у- щ — вероятность того, что в остальных тройках отказов не будет. При разложении в ряд Риспр ост(у, Щ) по степеням Т получим 1 + ^Т + ^Т2 + ... . Поскольку мы рассматриваем разложение Р(Т) до второй степени, данным множителем можно пренебречь, и далее он не указывается.
Будем отдельно рассматривать взаимоисключающие варианты, когда отказы возникли в различных тройках узлов, в одной тройке узлов,
У йнФОРмдййонно-упрдВЛяюшйЕсйсгЁмы ~7
в различных тройках мажоритаров, одной тройке мажоритаров, мажоритаре и узле:
^2 = ^М2 + ^М1 + ^У2 + ^У 1 + ^У.М »
» £ £ Ротк_М (j’ Ъ) риспр_отк_М (j’ Ъ) +
j’ ЪЕ1Мт
+ £ £ Ротк_М( j’ j) риспр_отк_М(j’ j) +
+ £ £ Ротк_У(j’ Ъ)риспр_откУ(j’ Ъ) +
j’ Ъе1:^
+ £ £ ротк_У (j’ j) риспр_отк_У(j’ j) +
jEl:Nm
+ £ £ Pотк_УiMj■ Pиспр_отк_УiMj■.
ie1:Nv 161:^
В отличие от приведенных ранее рассуждений здесь необходимо отдельно рассматривать узлы и мажоритары.
Для случая одного отказа в двух различных тройках узлов (система при этом всегда остается исправной)
«М2 = Е 3ХТе 3Х;Т 3ХкТе
-3ХъТ
;, ЪєNm
;<ъ
! 9 Е Х/ХъТ2.
1’ kENm
1<Ъ
Для случая двух отказов в одной тройке узлов важно, произошли ли отказы в одном экземпляре или в разных. Если отказы произошли в одном экземпляре, система останется исправной. Если отказы произошли в разных экземплярах на одном периоде обновления, система откажет, иначе останется исправной.
Найдем вероятность двух отказов в тройке:
Р'] разн — вероятность возникновения отказов в различных экземплярах узла;
Pj одинак — вероятность возникновения двух отказов в одном экземпляре узла.
Вероятность двух отказов равна
Р, разн + Р’ одинак = Ов (XТе—1 )2 е—XТ +
х2т2 -3Хт 9
-Х2Т2. 2
Plгр — вероятность того, что два отказа произойдут в одном экземпляре при условии, что сбои произошли, равна 1/3;
P2гр — вероятность того, что два отказа произойдут в разных экземплярах при условии, что сбои произошли, равна 2/3;
Pиспр 1 — вероятность того, что система оста-
нется исправной при условии, что два отказа произойдут в одном экземпляре, равна 1;
Риспр 2гр — вероятность того, что система останется исправной при условии, что два отказа произойдут в разных экземплярах, равна вероятности того, что отказы не произойдут на одном цикле обновления, и составит 1——.
Т
«М1 — Е (РІ, разн + РІ,
ІЄ1:Ит
одинак >
' (Р1гррИспр_1гр + Р2грРИспр_2гр)
9,
— Е 2х2т2
ІЄ1:Ит 2
9
3М1
1 2 1 1-Е
3 3 \ Т
—2 Е х2Т2 -3 Е Х2ет
2 іЄ1:Ит іЄ1:Ит
Вероятность отказа в двух различных мажо-ритарах ] и к составляет 95у5ЩТ2.
Система откажет, если отказы произойдут на одном цикле обновления хотя бы для одного узла, подключенного к обоим мажоритарам, причем отказы произойдут в разных элементах тройки:
«V 2 = Е
І, Ъє1:Nv
95 :5ъТ2 ■ Р
^иъ
испр_отк_V(І , Ъ).
Можно показать, что вероятность появления отказов на одном цикле обновления составляет
К ' tR _тах(1, Ъ)
Т ’
где 1 ^ K ^ 2 а ^Д_шах(у, к) = тах^йг}геои^./) п out(k). При кратных периодах обновления в узлах
К = 1.
Если два мажоритара, в которых произошли отказы, не имеют общих выходных узлов, такое событие не может вызвать отказа ячейки. Учтем этот случай, определив tR тах(у- к) = 0 при ои^у^пои^к) = 0.
Вероятность появления отказов в разных элементах при условии, что отказы возникли, составляет 2/3. Тогда вероятность исправности ячейки при двух отказах в различных тройках мажоритаров
«V 2 — Е 95;5ъТ
І, Ъє1:Nv
2
1 2 К;Ъ ■ _шах(;', Ъ)
3 Т
— 9 Е 5;5ъТ2 -6 Е 5 ;5ъК;ъ ■ Іе_шах(і,Ъ)Т.
І, Ъє1:Nv І, Ъє1:Nv
Вероятность возникновения двух сбоев в трой-
9 2 2
ке мажоритаров у составляет —5;Т . Аналогично
предыдущему случаю, система откажет, если отказы произойдут на одном цикле обновления хотя бы для одного узла, подключенного к мажо-
ритару, причем отказы произойдут в разных элементах тройки:
9,
. 2
•:N v
= Е 2 s2t2
jGl:Nv 2
9 ^ ^ ^ф2
SV1 = Е ^SjT ' Pиcпp_oтк_V(j)
jGl:N,
1 — 2 Kj ' ^~R _max( j)
3 T
— 2 Е 52Т2 - 3 Е 52К ■ ІЕ шах(і)1,
2 ;Є1:И ДИ
^й_шах{ у) _
Шах{ід^} ;єои^{ у).
Осталось рассмотреть случай, когда возникает один сбой в мажоритаре и один в узле. Система откажет, если узел подключен к данному мажоритару и если отказы произойдут на одном цикле обновления, причем в разных элементах.
Определим L{i, к) следующим образом:
Г1, Ъ Є оиі;(і)
L(i, k) = ,
[0, k ^ out(i)
Вероятность возникновения двух отказов в мажоритаре iи узле j
POTK _ VM = 3SiTe-35iT SXkTe-3XkT.
Тогда
SVM ^ / POTK_ViMj pICnp_OTK_V;Mj
ie1:W„
= Е
iGl:Nv
kGl:N_
3StTe—35iT 3!kTe—3!kT
= 9 Е Si!kT2 — б Е L(i, k)' Si!ktRkT =
iGl:Nv iGl:Nv
kЄl:Nm kGl:Nm
= 9 £ 5iXkT2 — 6 £ ^^Т-,
^1:^ ie1:Nv
ke1:Nm уео^^)
«2 = 9 £ XX? + 9 £ х2т2 —3 £ X2#R1•T+
7’Ъе^ 2 7е1:^
1<Ъ
+ 9 £ 515ЪТ — 6 £ 515ЪК}Ъ *В_тах(1’ Ъ)Т +
у, Ъе1:^ у, Ъе1:^
+ 2 £ 52т2 —3 £ 52К -*В тах(1)Т +
2 уе1:^ у£1:^
+ 9 £ 5iXkT2 — 6 £ 5iX*В?
iе1:Nv iе1:Nv
kе1:Nm уео^^)
Построим теперь выражение для Р(Т), суммируя выражения, полученные для S(), Sl, S2, и выполняя сокращения слагаемых:
Р(Т) = «о + ^ + «2 =
= 1 — 3 £ ^вТ — 6 £ 515ЪК1Ъ ' *В_тах(1, Ъ)Т —
jе1:Nm 7’ kе1:Nv
— 3 £ 52к -*в_тах(1)Т — 6 £ 5iX*вуТ.
^е1:Nv iе1:Nv
у'ео^^)
Получим теперь оценку вероятности исправного состояния системы через время Тм после старта. Пусть Тм = NT. Тогда Р(Т.) = P(T)N =
Т
= еШ(Р(Т)^ » е(1-Р(Т))Т..
__X Т
Подставляя Р(Т), получаем, что Р(ТМ)» е s М’
где
Xs = 3 £ + 3 £ 52К1 ' *В_тах(1) +
ie^:Nm 7е1:Nv
+ 6 515ЪК1Ъ ' *В_тах(1’ Ъ) + ® 5^/*£.
1’ Ъе1:^ i£l:Nv
уЕо^^)
Таким образом, для произвольной ячейки с «двухслойной» структурой, показанной на рис. 4, получена оценка вероятности безотказной работы с учетом процессов восстановления информации в узлах. Из полученного выражения видно, что суммарная интенсивность потока отказов ячейки линейно зависит от периода восстановления информации.
Поскольку отказы в ячейках независимы, вероятность исправности системы составит Р^ (ТМ) = = ^ Р1 (Т.)’ где Рг — вероятность исправно-
iе1:Ncell
■ Рис. 4. Двухслойная структура ячейки
№ 3, 2013
ИН^ 21
сти £-й ячейки. Периоды восстановления узлов различных ячеек могут быть разными.
Заключение
Предложенный метод расчета надежности устройств учитывает периодичность процессов в резервированных узлах, а также структуру информационных связей, расположение и параметры надежности мажоритаров. Учет влияния ма-жоритаров на надежность устройства особенно важен при резервировании на уровне отдельных регистров или операционных узлов, когда сложность мажоритара сравнима со сложностью ре-
Литература
1. Глухих М. И., Максименко С. Л., Мелехин В. Ф., Филиппов А. С. Организация и проектирование высоконадежных вычислительных систем // Научнотехнические ведомости СПбГПУ. 2011. № 6.1(138). С. 54-61.
2. Максименко С. Л., Мелехин В. Ф., Филиппов А. С.
Анализ проблемы построения радиационно-стойких информационно-управляющих систем // Ин-формационно-управляющие системы. 2012. № 2. С. 18-25.
3. Максименко С. Л., Мелехин В. Ф. Анализ надежности функциональных узлов цифровых СБИС со структурным резервированием и периодическим
зервируемого узла, а количество мажоритаров велико. Метод может быть обобщен на узлы, защищенные не троированием, а помехоустойчивым кодированием информации.
Полученные результаты позволяют не только рассчитывать надежность, но и решать задачи синтеза. Можно планировать распределение «ненадежности» по узлам с учетом их уязвимости к внешним воздействиям и рассчитывать необходимые периоды восстановления. Это позволяет разработать методику проектирования устройств с учетом требований ко всем трем показателям: надежности, сложности реализации и быстродействию.
восстановлением работоспособного состояния // Ин-формационно-управляющие системы. 2013. № 2. С. 18-23.
4. Глухих М. И. Разработка методов синтеза инфор-мационно-управляющих систем специального назначения со структурным резервированием: авто-реф. дис. ... канд. техн. наук. — СПб.: СПбГПУ, 2006. — 29 с.
5. Jacob A. Abraham, Daniel P. Siewiorek. An Algorithm for the Accurate Reliability Evaluation of Triple Modular Redundancy Networks // IEEE Transactions on Computers. 1974. Vol. C-23. N 7. Р. 682-692.