Отказоустойчивое запоминающее устройство повышенной достоверности функционирования

 

Полезная модель оперативного запоминающего устройства повышенной достоверности функционирования относится к области автоматики и вычислительной техники и предназначено для повышения достоверности функционирования и обеспечения отказоустойчивости оперативных запоминающих устройств на основе корректирующих кодов и обеспечивает: обнаружение и коррекцию константных ошибок различной конфигурации (при отсутствии методической ошибки декодирования), возникающих в ОЗУ; - исправление кратных константных ошибок, возникающих в информационных и контрольных разрядах; - выявление и исправление запрещенных кодовых наборов, имеющих константные ошибки, которые трансформируются в разрешенные (ошибочные кодовые наборы, воспринимаемые как безошибочные); - обнаружение и исключение влияния на процесс коррекции скрытых константных ошибок, возникающих в кодовом наборе; - обнаружение и исключение влияния на процесс коррекции константных и перемежающихся ошибок, возникающих в тестовом наборе (при формировании и подаче тестового воздействия); - обнаружение некорректируемых константных ошибок; Это достигается организацией апостериорной коррекции ошибок, которая заключается в том, что для обнаружения возникающих ошибок используется корректирующий линейный код, исправляющий одиночную ошибку (требующий минимальных аппаратурных затрат), а определение конфигурации (ошибочных разрядов) кратной ошибки и ее коррекция проводятся по результатам анализа ответной реакции, полученной на основе подачи одного тестового воздействия (требующего минимальных временных затрат).

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

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

Недостатком устройства является отсутствие возможности выявления ошибок записи информации в ЗУ и перемежающихся неисправностей (ошибок типа сбой).

Наиболее близким по техническому решению является отказоустойчивое оперативное запоминающее устройство [2], содержащие исходный вычислительный канал и избыточный вычислительный канал (запоминающее узел), первый кодирующий узел, блок вычисления синдрома, первый дешифратор, адресные входы устройства, информационные входы устройства, вход записи, вход считывания, корректор, выходы которого являются информационными выходами устройства, отличающееся тем, что дополнительно содержит второй кодирующий узел, с первого по десятый элементы ИЛИ, с первого по четвертый элементы задержки, элемент И, блок элементов И, RS-триггер, регистр, с первого по четвертый блоки элементов

неравнозначности, второй дешифратор, элемент НЕ, блок хранения поправок, блок вычисления признака поправки, вход сброс, причем адресные входы подключены к первым входам исходного вычислительного канала, информационные входы через первый и второй элементы ИЛИ подключены ко вторым входам исходного вычислительного канала и к первым входам первого кодирующего узла, подключенного своими выходами через третий и четвертый элементы ИЛИ к первым входам избыточного вычислительного канала, вход сброс через пятый элемент ИЛИ подключен к нулевым входам регистра и RS-триггера, вход считывание подключен к входу запись регистра, через седьмой элемент ИЛИ - к третьему входу исходного вычислительного канала, к второму входу избыточного вычислительного канала и через первый элемент задержки - к единичному входу RS- триггера, вход запись к через шестой элемент ИЛИ подключен к четвертому входу исходного вычислительного канала, третьему входу избыточного вычислительного канала, выходы исходного вычислительного канала подключены ко вторым входам регистра, к первым входам блока вычисления синдрома и к первым входам первого блока элементов неравнозначности, выходы избыточного вычислительного канала подключены к вторым входам блока вычисления синдрома, к третьим входам регистра и к первым входам второго блока элементов неравнозначности, выходы блока вычисления синдрома подключены к четвертым входам регистра, единичный выход RS-триггера подключен к входу считывание регистра, через второй элемент задержки - к первому входу корректора, через третий элемент задержки - к второму входу пятого элемента ИЛИ, через четвертый элемент задержки к второму входу седьмого элемента ИЛИ, первая группа выходов регистра подключена к вторым входам с первого по четвертый элементов ИЛИ, вторая группа выходов регистра подключена к вторым входам первого блока элементов неравнозначности и к вторым входам корректора, третья и четвертая группы выходов регистра подключены соответственно к вторым входам второго блока элементов неравнозначности и к первым входам

третьего блока элементов неравнозначности, выход первого блока элементов неравнозначности - к входам второго кодирующего узла, к входам элемента И, к входам девятого элемента ИЛИ, к первым входам четвертого блока элементов неравнозначности и к первым входам блока вычисления признака поправки, выходы второго блока элементов неравнозначности подключены к входам восьмого элемента ИЛИ, выходы восьмого элемента ИЛИ, девятого элемента ИЛИ и элемента И подключены к входам первого дешифратора, первый выход которого через элемент НЕ подключен к первому входу блока элементов И, а вторая группа выходов подключена к входам десятого элемента ИЛИ, выходы третьего блока элементов неравнозначности подключена к входам второго дешифратора, подключенного своими выходами ко входам блока хранения поправок, выходы которого подключены ко вторым входам блока вычисления признака поправки, соединенного своими выходами со вторыми входами четвертого блока элементов неравнозначности, выходы четвертого блока элементов неравнозначности через блок элементов И подключены к третьим входам корректора, выходы которого являются информационными выходами устройства, выход десятого элемента ИЛИ является выходом формирования сигнала "Отказ устройства".

Недостатком устройства является низкая достоверность функционирования устройства из-за отсутствия возможности выявления ошибок записи информации в ЗУ и перемежающихся неисправностей при считывании информации (ошибок типа сбой).

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

Поставленная цель достигается тем, что устройство содержащее,

запоминающее узел, первый кодирующий узел, второй кодирующий узел, блок вычисления синдрома, дешифратор, с первого по десятый элементы ИЛИ, с первого по второй элементы И, с первого по четвертый

блоки элементов неравнозначности, регистр, элемент НЕ, блок хранения поправок, блок вычисления признака поправки, корректор, адресные входы устройства, информационные входы устройства, вход записи, вход считывания, вход сброс, информационные выходы устройства, выход "отказ устройства" отличающееся тем, что дополнительно содержит, третий кодирующий узел, первый коммутатор, второй коммутатор, третий коммутатор, четвертый коммутатор, третий элемент И, четвертый элемент И, пятый элемент И, пятый элемент неравнозначности, вход управления причем информационные входы подключены к первым входам первого коммутатора и к входам первого кодирующего узла, выходы которого подключены к вторым входам первого коммутатора, первые (инверсные) выходы регистра подключены к первым входам второго коммутатора, к первым входам первого элемента ИЛИ и к третьим входам первого коммутатора, четвертые входы которого подключены к синхронизирующим и управляющим входам, выходы первого коммутатора подключены к первым входам запоминающего узла, вторые входы которого подключены к синхронизирующему, управляющему входам, адресным входам, входу установки в нулевое состояние, входам записи и считывания, первые (информационные) выходы запоминающего узла подключены соответственно к вторым входам второго коммутатора, к первым входам регистра и к первым входам второго элемента неравнозначности, вторые выходы запоминающего узла (выходы контрольных разрядов) подключены к вторым входам первого элемента ИЛИ, к вторым входам регистра и к вторым входам второго элемента неравнозначности, выходы первого элемента ИЛИ подключены к первым входам блока вычисления синдрома, третьи входы второго коммутатора подключены к управляющему и синхронизирующим входам, а выходы подключены к входам второго кодирующего узла, выходы второго кодирующего узла подключены к вторым входам блока вычисления синдрома, выходы которого подключены к входам второго элемента ИЛИ и к первым входам третьего коммутатора, вторые входы третьего коммутатора

подключены к управляющему и синхронизирующим входам, первые выходы третьего коммутатора подключены к третьим входам регистра, а вторые выходы подключены к четвертым входам регистра, пятый вход регистра подключен к синхронизирующему и управляющему входам, входу установки в нулевое состояние, входам записи и считывания, вторые (прямые) выходы регистра подключены к третьим входам второго элемента неравнозначности и к первым входам корректора, третьи выходы регистра подключены к первым входам первого элемента неравнозначности, четвертые выходы регистра подключены соответственно к вторым входам первого элемента неравнозначности, к входам третьего элемента ИЛИ и к первым входам четвертого элемента неравнозначности, выход второго элемента ИЛИ подключен к первому входу первого элемента И, второй вход которого подключен к входу считывания с постоянного запоминающего узла, а выход подключен к первому входу десятого элемента ИЛИ, выход первого элемента неравнозначности подключен к входу четвертого элемента ИЛИ, выход которого подключен к первому входу дешифратора и к первому входу восьмого элемента ИЛИ, выход второго элемента неравнозначности подключен к входам пятого и шестого элементов ИЛИ, к входам третьего кодирующего узла, к первым входам третьего элемента неравнозначности, к первым входам пятого элемента неравнозначности, к входам пятого элемента И и к первым входам блока вычисления признака поправки, выходы пятого элемента И подключены к к третьему входу десятого элемента ИЛИ, выходы третьего элемента ИЛИ, пятого элемента ИЛИ, шестого элемента ИЛИ подключены соответственно к вторым, третьим и четвертым входам дешифратора и восьмого элемента ИЛИ, выходы третьего кодирующего узла подключены к вторым входам третьего элемента неравнозначности, выходы которого подключены к вторым входам четвертого элемента неравнозначности, выходы четвертого элемента неравнозначности подключены к входам седьмого элемента ИЛИ, к первым входам четвертого коммутатора и к входам блока хранения

поправки, выходы седьмого элемента ИЛИ подключены к пятым входам соответственно дешифратора и восьмого элемента ИЛИ, выходы дешифратора подключены к вторым входам четвертого коммутатора и к входам девятого элемента ИЛИ, выход которого через элемент НЕ подключен к первому входу второго элемента И, выход восьмого элемента ИЛИ подключен к второму входу второго элемента И, выход которого подключен к второму входу десятого элемента ИЛИ, выход десятого элемента ИЛИ подключен к первому входу третьего элемента И, второй вход которого подключен к управляющему и синхронизирующему входам, а выход является выходом "Отказ устройства или сбой", выходы блока хранения поправки подключены к вторым входам блока вычисления признака поправки, выходы которого подключены к третьим выходам четвертого коммутатора, четвертые входы которого подключены к управляющему и синхронизирующему входам, выходы четвертого коммутатора подключены к вторым входам пятого элемента неравнозначности, выходы которого подключены к вторым входам корректора, выходы корректора подключены к первым входам четвертого элемента И, вторые входы которого подключены к управляющему и синхронизирующему входам, а выходы являются выходами устройства.

На фиг.1 представлена блок-схема полезной модели отказоустойчивого запоминающего устройства повышенной достоверности функционирования. Полезная модель отказоустойчивого запоминающего устройства повышенной достоверности функционирования содержит: первый кодирующий узел 1, второй кодирующий узел 2, третий кодирующий узел 3, первый коммутатор 4, второй коммутатор 5, третий коммутатор 6, четвертый коммутатор 7, запоминающий узел 8, блок 9 вычисления синдрома, первый элемент 10 неравнозначности, второй элемент 11 неравнозначности, третий элемент 12 неравнозначности, четвертый элемент 13 неравнозначности, пятый элемент неравнозначности 14, корректор 15, первый элемент 16 ИЛИ, второй элемент 17 ИЛИ, третий

элемент 18 ИЛИ, четвертый элемент 19 ИЛИ, пятый элемент 20 ИЛИ, шестой элемент 21 ИЛИ, седьмой элемент 22 ИЛИ, восьмой элемент 23 ИЛИ, девятый элемент 24 ИЛИ, десятый элемент 25 ИЛИ, первый элемент 26 И, второй элемент 27 И, третий элемент 28 И, четвертый элемент 29 И, пятый элемент 30 И, регистр 31, дешифратор 32, элемент 33 НЕ, блок 34 хранения поправки, блок 35 вычисления признака поправки, информационные входы 36, синхронизирующий вход 37, управляющий вход 38, вход 39 считывания, вход 40 записи, вход 41 установки в нулевое состояние, адресные входы 42. выход 43 "Отказ устройства или сбой", выходы 44 устройства.

Информационные входы 36 подключены к первым входам первого коммутатора 4 и к входам первого кодирующего узла 1, выходы которого подключены к вторым входам первого коммутатора 4, первые (инверсные) выходы регистра 30 подключены к первым входам второго коммутатора 5, к первым входам первого элемента 16 ИЛИ и к третьим входам первого коммутатора 4, четвертые входы которого подключены к синхронизирующим 37 и управляющим 38 входам, выходы первого коммутатора 4 подключены к первым входам запоминающего узла 8, вторые входы которого подключены к синхронизирующему 37, управляющему 38 входам, адресным входам 42, входу 41 установки в нулевое состояние, входам записи 40 и считывания 39, первые (информационные) выходы запоминающего узла 8 подключены соответственно к вторым входам второго коммутатора 5, к первым входам регистра 31 и к первым входам второго элемента 11 неравнозначности, вторые выходы запоминающего устройства 8 (выходы контрольных разрядов) подключены к вторым входам первого элемента 16 ИЛИ, к вторым входам регистра 31 и к вторым входам второго элемента 11 неравнозначности, выходы первого элемента 16 ИЛИ подключены к первым входам блока 9 вычисления синдрома, третьи входы второго коммутатора 5 подключены к управляющему 38 и синхронизирующим 37 входам, а выходы подключены к входам второго кодирующего узла 2, выходы второго кодирующего узла 2 подключены к

вторым входам блока 9 вычисления синдрома, выходы которого подключены к входам второго элемента 17 ИЛИ и к первым входам третьего коммутатора 6, вторые входы третьего коммутатора 6 подключены к управляющему 38 и синхронизирующим 37 входам, первые выходы третьего коммутатора 6 подключены к третьим входам регистра 31, а вторые выходы подключены к четвертым входам регистра 31, пятый вход регистра 31 подключен к синхронизирующему 37 и управляющему 38 входам, входу 41 установки в нулевое состояние, входам записи 40 и считывания 39, вторые (прямые) выходы регистра 31 подключены к третьим входам второго элемента 11 неравнозначности и к первым входам корректора 15,третьи выходы регистра 31 подключены к первым входам первого элемента 10 неравнозначности, четвертые выходы регистра 31 подключены соответственно к вторым входам первого элемента 10 неравнозначности, к входам третьего элемента 18 ИЛИ и к первым входам четвертого элемента 13 неравнозначности, выход второго элемента 17 ИЛИ подключен к первому входу первого элемента 26 И, второй вход которого подключен к входу считывания 38 с постоянного запоминающего узла 8, а выход подключен к первому входу десятого элемента 25 ИЛИ, выход первого элемента 10 неравнозначности подключен к входу четвертого элемента 19 ИЛИ, выход которого подключен к первому входу дешифратора 32 и к первому входу восьмого элемента 23 ИЛИ, выход второго элемента 11 неравнозначности подключен к входам пятого 20 и шестого 21 элементов ИЛИ, к входам третьего кодирующего узла 3, к первым входам третьего элемента 12 неравнозначности, к первым входам пятого элемента 14 неравнозначности, к входам пятого элемента 30 И и к первым входам блока 35 вычисления признака поправки, выход пятого элемента 31 и подключен к третьему входу десятого элемента ИЛИ, выходы третьего элемента 18 ИЛИ, пятого элемента 20 ИЛИ, шестого элемента 21 ИЛИ подключены соответственно к вторым, третьим и четвертым входам дешифратора 32 и восьмого элемента 23 ИЛИ, выходы третьего кодирующего узла 3 подключены к вторым входам третьего элемента 12

неравнозначности, выходы которого подключены к вторым входам четвертого элемента 13 неравнозначности, выходы четвертого элемента 13 неравнозначности подключены к входам седьмого элемента 22 ИЛИ, к первым входам четвертого коммутатора 7 и к входам блока 33 хранения поправки, выходы седьмого элемента 22 ИЛИ подключены к пятым входам соответственно дешифратора 32 и восьмого элемента 23 ИЛИ, выходы дешифратора 32 подключены к вторым входам четвертого коммутатора 7 и к входам девятого элемента 24 ИЛИ, выход которого через элемент 33 НЕ подключен к первому входу второго элемента 27 И, выход восьмого элемента 23 ИЛИ подключен к второму входу второго элемента 27 И, выход которого подключен к второму входу десятого элемента 25 ИЛИ, выход десятого элемента 25 ИЛИ подключен к первому входу третьего элемента 28 И, второй вход которого подключен к управляющему 38 и синхронизирующему 37 входам, а выход 43 является выходом "Отказ устройства или сбой", выходы блока 34 хранения поправки подключены к вторым входам блока 35 вычисления признака поправки, выходы которого подключены к третьим входам четвертого коммутатора 7, четвертые входы которого подключены к управляющему 38 и синхронизирующему 39 входам, выходы четвертого коммутатора 7 подключены к вторым входам пятого элемента 14 неравнозначности, выходы которого подключены к вторым входам корректора 15, выходы корректора 15 подключены к первым входам четвертого элемента 29 И, вторые входы которого подключены к управляющему 38 и синхронизирующему 37 входам, а выходы являются выходами 44 устройства.

Первый кодирующий узел 1 (относительно примера, рассматриваемого в приложении- трех информационных разрядов) осуществляет кодирование информации записываемой в запоминающее устройство 8 и формирует значения двух контрольных разрядов r1, r 2, на которых реализуются логические функции соответственно:

r1=y1y2; r2=y 1y3;

Второй кодирующий узел 2 выполняет функции аналогичные первому кодирующему узлу 1 при считывании информации из запоминающего устройства 8 и поступлении на запоминающее устройство 8 тестового набора (относительно информации считываемой с инверсных выходов регистра 29)

Третий кодирующий узел 3 аналогичным образом осуществляет кодирование информационных разрядов тестового вектора ошибки В, формируемого на выходах второго элемента 11 неравнозначности.

Первый коммутатор 4 по значениям управляющих и синхронизирующих сигналов осуществляет подключение к входу запоминающего устройства 8 входной информации, поступающей на вход 36 или тестового набора, поступающего с инверсных выходов регистра 31.

Второй коммутатор 5 по значениям управляющих и синхронизирующих сигналов осуществляет подключение к входу второго кодирующего узла 5 информационных выходов запоминающего устройства или информационных разрядов тестового набора, поступающего с инверсных выходов регистра 31.

Третий коммутатор 6 по значениям управляющих и синхронизирующих сигналов осуществляет подключение к входам регистра 31 значения синдрома ошибки Е С или синдрома ошибки теста ЕТ.

Четвертый коммутатор 7 по сигналам, поступающим с дешифратора 32 и синхронизирующим сигналам, поступающим со входа 37 осуществляет формирование вектора ошибки Е, путем прибавления к информационным разрядам тестового вектора ошибки В, значения поправки С или прибавления к значениям контрольных разрядов кода адреса поправки ЕК.

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

Запись информации, поступающей в накопители с информационных входов 36 происходит по адресу, считываемого с адресных входов 42 при подаче сигнала на вход 40 "Запись", причем во второй накопитель информация записывается после ее кодирования первым кодирующим устройством 4.

Считывание требуемого слова памяти с накопителей происходит при подаче сигнала на соответствующие адресные входы 42 и сигнала на вход 39 "Считывание".

Синхронизация работы запоминающего узла осуществляется в соответствии с синхроимпульсами, поступающими с входа 37.

Вход 41 "Установка в нулевое состояние" предназначен для установки в нулевое состояние ячеек памяти по указанному адресу и регистра 31.

Блок 9 вычисления синдрома вычисление синдрома ошибки Е С при считывании информации путем сложения значений контрольных разрядов r1, r2 с значением контрольных разрядов сформированных вторым кодирующим узлом 2 относительно информационных разрядов и вычисления синдрома ошибки теста, путем сложения контрольных разрядов r, r, сформированных относительно информационных разрядов тестового набора с инверсными значениями контрольных разрядов тестового набора rИТ1 rИТ2, поступающих с инверсных выходов регистра 31:

Первый элемент 10 неравнозначности предназначен для формирования результата сравнения ЕР , (сравнения по mod 2 значения синдрома ошибки Е С с значением синдрома ошибки тестового набора E Т).

Второй элемент 11 неравнозначности предназначен для формирования тестового вектора ошибки В, путем сложения по mod 2 прямого значения кодового набора, считываемого с прямых выходов регистра 31 с значениями кодового набора, считываемого из запоминающего устройства 8, после

подачи на него тестового набора (инверсных значений с выходов регистра 31).

Третий элемент 12 неравнозначности предназначен для формирования кода ошибки разрядов ЕИ, путем сложения по mod 2 значений контрольных разрядов тестового вектора ошибки В, с результатом кодирования информационных разрядов тестового вектора ошибки В, поступающим с выходов третьего кодирующего узла 3.

Четвертый элемент 13 неравнозначности предназначен для формирования кода адреса поправки ЕК, путем сложения по mod 2 значения синдрома ошибки ЕС с значением кода ошибки тестовых разрядов ЕИ .

Пятый элемент 14 неравнозначности предназначен для формирования вектора ошибки Е информационных разрядов, путем сложения по mod 2 информационных разрядов тестового вектора ошибки В, с значением поправки С.

Корректор 15 предназначен для исправления возникающих ошибок путем сложения информационных и контрольных разрядов кодового набора, поступающего с прямых выходов регистра 31 с вектором ошибки Е, поступающим с выходов четвертого коммутатора 7.

Первый 16, второй 17 элементы ИЛИ предназначены для обеспечения функциональных связей между блоками устройства.

Третий 18, четвертый 19, пятый 20, шестой 21, седьмой 22 элементы ИЛИ объединяют соответственно выходы регистра 31, с которых считывается значение ЕС, выходы первого элемента 10 неравнозначности, информационные выходы тестового вектора ошибки, контрольные выходы тестового вектора ошибки, выходы четвертого элемента 13 неравнозначности, что позволяет сформировать признак корректируемой ошибки (значения ЕС, Е Р ВИ, ВК, Е К) в соответствии с правилами декодирования, представленными в табл.2, (см. приложение, табл.2).

Восьмой 23, девятый 24 и десятый 25 элементы ИЛИ совместно с первым 26, вторым 27 и третьим 28 элементами И, элементом 33 НЕ

предназначены для формирования сигнала "Отказ" при возникновении некорректируемой ошибки.

Третий 28, четвертый 29 элементы И предназначены для синхронизации выходной информации в соответствии с синхроимпульсами, поступающими с входа 37.

Пятый элемент 30 И, формирует на своем выходе единичное значение сигнала при наличии единиц во всех информационных разрядах тестового вектора ошибки В, что свидетельствует о возникновении некорректируемой ошибки (см. п.п.12.4 приложения).

Регистр 31 предназначен для временного хранения:

кодового набора Y пр - прямых значений сигналов информационных разрядов;

rпр - прямых значений сигналов контрольных разрядов; ЕС - значений сигналов синдрома ошибки; Yинв - инверсных (тестовых) значений сигналов информационных и rинв - контрольных разрядов;

кода ошибки тестового набора Е Т.

Дешифратор 32 предназначен для управления работой четвертого коммутатора 7 (формирования вектора ошибки Е).

Блок 34 хранения поправок предназначен для хранения информации представленной матрицей поправок (8).

Блок 35 вычисления поправки предназначен для формирования прямого или обратное значение поправки С, на основе свойства 3, приведенного в приложении (поправка имеет обратное значение, если все значения разрядов вектора поправки совпадают со значениями соответствующих информационных разрядов тестового вектора ошибки и прямое в обратном случае).

Полезная модель работает следующим образом:

На подготовительных операциях, перед началом работы на вход 41 подается сигнал "Сброс", который устанавливает в нулевое состояние ОЗУ и регистр 31.

При поступлении сигнала "Запись" на вход 40 и адреса ячейки памяти на входы 42, управляющего сигнала на входе 38, обеспечивающего подключение входа 36 через первый коммутатор 4 к входам узла памяти 8, синхронизирующего импульса на выходе 37, поступающая информация записывается в выбранную ячейку памяти.

Одновременно, подаваемая информация кодируется первым кодирующим устройством 1 т.е. формируются значения контрольных разрядов, которые записываются по указанному адресу.

При выполнении операции считывания, на первом такте работы, устройство работает следующим образом: на вход 39 подается сигнал "Считывание", по адресу, указанному на входе 42, сигналу "Запись" на входе 40, поступающему на регистр 31 и синхронизирующего импульса на входе 37, значения информационных и контрольных разрядов из запоминающего устройства 8 записывается в регистр 31. При этом, значения информационных разрядов по управляющему сигналу на выходе 38 через второй коммутатор 5 поступают на вход второго кодирующего узла 2, а с его выходов, на первые входы блока 9 вычисления синдрома, на вторые входы которого, через первый элемент 16 ИЛИ поступают значения сигналов контрольных разрядов, считываемых с запоминающего узла 8.

В результате сравнения значений контрольных разрядов считываемых с запоминающего узла 8 с значениями контрольных разрядов сформированных вторым кодирующим узлом 2 относительно считываемых информационных разрядов, получим значение синдрома ошибки Е С, которое через третий коммутатор 6, управляемый сигналом со входа 38, также запишется в регистр 31.

Таким образом, на первом такте работы устройства (считывания информации из узла памяти 8) в регистре 31 будет записана следующая информация:

- значения информационных разрядов;

- значения контрольных разрядов;

значение синдрома ошибки ЕС .

На втором такте работы устройства, по сигналу "адрес ЗУ", "Сброс", "Считывание" и "Запись", управляющего и синхронизирующего импульсов поступающих соответственно со входов 42, 41, 39, 40, 38, 37 на входы ЗУ 8, регистра 31, первого 4, второго 5, третьего 6 коммутаторов, проводятся следующие операции:

- обнуляется выбранная ячейка памяти ЗУ 8;

- считывается информация с инверсных выходов регистра 31 (формируется тестовый набор);

- тестовый набор через первый коммутатор 4 записывается по указанному адресу запоминающего узла 8;

- контрольные разряды тестового, набора через первый элемент 16 ИЛИ поступают на первый вход блока 9 вычисления синдрома;

- значения информационных разрядов тестового набора, через второй коммутатор 5 поступают на вход второго кодирующего узла 2, выходные сигналы которого поступают на вторые входы блока 9 вычисления синдрома, т.е. формируется синдром ошибки тесового набора ЕТ;

- полученное значение ЕТ, через третий коммутатор записывается в регистре 31.

Таким образом, на втором такте в запоминающем устройстве по указанному адресу записывается тестовый набор, а в регистре 31 - значение синдрома ошибки ЕС тестового набора.

На третьем такте работы по сигналу "Считывание" на входе 38, "адрес ЗУ", на входе 42, управляющему и синхронизирующему импульсу на входах 38, 37 значения информационных и контрольных разрядов, считываемых из запоминающего устройства 8, поступают на первые входы второго элемента 11 неравнозначности, на вторые входы которого из регистра 31 считываются значения информационных и контрольных разрядов, записанные в него на первом такте. Второй элемент 11 неравнозначности формирует тестовый вектор ошибки В.

Одновременно на входы первого элемента 10 неравнозначности из регистра 31 подаются значения синдрома ошибки ЕС и синдрома ошибки тестового набора ЕТ. На выходе первого элемента 10 неравнозначности формируется результат сравнения ЕР.

На этом же такте работы, третьим кодирующим узлом 3. осуществляется кодирование информационных разрядов тестового вектора ошибки В. Полученная информация сравнивается со значением контрольных разрядов тестового вектора ошибки В на третьем элементе 12 неравнозначности, т.е. формируется код ошибки тестовых разрядов Е И.

Результат сравнения кола ошибки тестовых разрядов ЕИ с значением синдрома ошибки Е С четвертым элементом 13 неравнозначности, даст код адреса поправки ЕК.

Объединение выходов регистра 31, с которых считывается значение Е С, выходов первого элемента 10 неравнозначности, информационных выходов тестового вектора ошибки, контрольных выходов тестового вектора ошибки, выходов четвертого элемента 13 неравнозначности соответственно третьим 18, четвертым 19, пятым 20, шестым 21, седьмым 22 элементами ИЛИ позволяет сформировать признак корректируемой ошибки (значения ЕС, ЕР ВИ, ВК, Е К) в соответствии с правилами декодирования, представленными в табл.2, (см. приложение).

По коду адреса поправки Е К из блока 34 хранения поправки считывается значение поправки, поступающее на вход блока 35 вычисления признака поправки, на второй вход которого, поступает значение тестового вектора ошибки В.

Блоком 35 вычисления поправки на основе свойства 3, приведенного в приложении (поправка имеет обратное значение, если все значения разрядов вектора поправки совпадают со значениями соответствующих информационных разрядов тестового вектора ошибки и прямое в обратном случае) выбирается прямое или обратное значение поправки С, которое поступает на третьи входы четвертого коммутатора 7. Если ошибка

корректируемая, то в зависимости от признака корректируемой ошибки (сигналов, поступающих с выходов дешифратора 32) на входы пятого элемента 14 неравнозначности коммутируется значение поправки С или значение кода адреса поправки Е К).

При сложении пятым элементом 14 неравнозначности значения тестового вектора ошибки В с значением поправки С (Е К) формируется вектор ошибки Е.

Если ошибок нет, то вектор ошибки Е равен нулю.

При возникновении корректируемой ошибки (см. табл.2), корректором 15 осуществляется сложение по mod 2 ошибочного кодового набора с вектором ошибки Е, что позволяет исправить данную ошибку.

Условием возникновения некорректируемой ошибки является наличие единичных значений на выходах третьего 18, четвертого 19, пятого 20, шестого 21, седьмого 22 элементов ИЛИ (наличие единичного значения сигнала на выходе восьмого элемента 23 ИЛИ) и отсутствие единичного сигнала на выходе девятого элемента 24 ИЛИ.

В этом случае, единичный сигнал с выхода восьмого элемента 23 ИЛИ, через второй элемент 27 И, подготовленный к открытию сигналом с выхода элемента 33 НЕ, десятый элемент 25 ИЛИ и выходной третий элемент 28 И поступает на выход 43, что свидетельствует о возникновении некорректируемой ошибки, либо возникновения сбоя при считывании информации.

Условием возникновения некорректируемой ошибки является также появление единичного сигнала на выходе пятого элемента 30 И, что свидетельствует о наличии единичных значений во вех разрядах тестового вектора ошибки. Этот сигнал, через десятый элемент 25 ИЛИ поступает на выход 43 "Отказ устройства".

Условием обнаружения ошибки при считывании информации с ПЗУ является наличие единичного значения сигнала на выходе первого элемента 26 И, т.е. наличие единичного значения сигнала в синдроме ошибки Е С

(наличие единичного значения сигнала на выходе второго элемента 17 ИЛИ, поступающего на первый вход первого элемента 26 И) и сигнала "Считывание с ПЗУ", поступающего на второй вход первого элемента 26 И.

В этом случае, сигнал с выхода первого элемента 26 И, через десятый элемент 25 ИЛИ. открытый третий элемент 28 И, поступает на выход 43 "Отказ, сбой устройства", что свидетельствует о возникновении некорректируемой ошибки, либо возникновения сбоя при считывании информации. При возникновении сбоя, ошибка устраняется при повторном считывании информации.

При считывании последующих операндов устройство работает аналогичным образом.

Приложение

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

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

Для повышения достоверности функционирования данных устройств, широко применяются линейные коды, корректирующие одиночные ошибки.

В этом случае предполагается, что в дискретных устройствах наиболее вероятно возникновение одиночных ошибок, так как в нормальных условиях эксплуатации радиоэлектронной аппаратуры до 75% составляют одиночные ошибки, а 25% составляют ошибки большей кратности.

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

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

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

Кроме этого, при использовании корректирующих кодов существует вероятность появления запрещенных (ошибочных) кодовых наборов, которые трансформируются в разрешенные кодовые наборы (т.е. существует зона "нечувствительности" корректирующего кода), что, в свою очередь приводит к принятию ошибочного решения.

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

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

Однако в настоящее время неизвестны эффективные методы построения линейных кодов исправляющих больше двух-кратной.

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

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

Задачей апостериорной коррекции ошибок является:

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

- исправление кратных константных ошибок, возникающих в информационных и контрольных разрядах;

- выявление и исправление запрещенных кодовых наборов, имеющих константные ошибки, которые трансформируются в разрешенные (ошибочные кодовые наборы, воспринимаемые как безошибочные);

- обнаружение и исключение влияния на процесс коррекции скрытых константных ошибок (пояснение данного понятия будет приведено ниже), возникающих в кодовом наборе;

- обнаружение и исключение влияния на процесс коррекции константных и перемежающихся ошибок, возникающих в тестовом наборе (при формировании и подаче тестового воздействия);

- обнаружение некорректируемых константных ошибок;

б) обнаружение ошибок, в том числе перемежающихся (ошибок типа сбой), возникающих:

- при записи информации в ОЗУ;

- при считывании информации с ОЗУ;

- при считывании информации с ПЗУ;

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

г) обеспечение минимальных временных затрат на процедуру апостериорной коррекции ошибок (исправление ошибок по результатам мгновенного контроля - в результате подачи одного тестового воздействия);

д) обнаружение ошибок, возникающих в большей части декодирующего устройства.

Анализ исполнения устройств памяти позволяет осуществить их деление по приспособленности к техническому диагностированию:

1) устройства памяти-ОЗУ, допускающие обнаружение, локализацию и исправление, возникающих ошибок на основе подачи тестовых воздействий (допускающие апостериорную коррекцию);

2) устройства памяти-ПЗУ, не позволяющие локализовать место отказа на основе тестового диагностирования (в этом случае проводится только обнаружение возникающих ошибок по значению синдрома ошибки линейного кода, исправляющего одиночную ошибку).

Основные понятия и определения

Пусть исправление ошибок кодового набора обеспечивается на основе корректирующего линейного кода, исправляющего одиночную ошибку.

Каждому рабочему входному набору ХН соответствует кодовый набор

где уi - значения сигналов в информационных разрядах; rj - значения сигналов в контрольных разрядах.

Вектор контрольных разрядов R является функцией информационных разрядов и определяется правилом кодирования информации выбранного кода:

После приема сообщения относительно информационных разрядов повторно формируется вектор контрольных разрядов R и определяется синдром ошибки

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

Определение 1. Инверсное значение результата суммирования значений информационных и контрольных разрядов полученных на рабочем входном наборе с информационными и контрольными разрядами YТР, полученными на тестовом наборе, будем считать тестовым вектором ошибки:

Если ошибок нет, то тестовый вектор ошибки принимает нулевые значения.

Определение 2. Скрытой будем называть ошибку, которая не проявляется на рассматриваемом входном рабочем наборе.

Пример. Варианту единичных значений в информационных разрядах кода Хемминга (r1r 2y2r3y 1) соответствует безошибочный кодовый набор 01111. При наличии ошибки const 1 в первом информационном разряде для рассматриваемого входного набора имеем выходной кодовый набор 01111 +

(знаком "+" помечен ошибочный разряд), который не отличается от безошибочного кодового набора.

Определение 3. Ошибочный кодовый набор будем называть "правильным", если он не содержит скрытных ошибок и "неправильным" в противном случае.

Утверждение 1. Исправление "неправильного" ошибочного кодового набора на основе тестового вектора ошибки приводит к псевдокоррекции.

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

Следствие 1. Апостериорная коррекция кратных ошибок возможна при условии выявления скрытых ошибок (формирования поправки к тестовому вектору ошибки).

На основе приведенных понятий и определений ставится задача выявления конфигурации кратных ошибок по результатам алгебраических операций со значениями синдрома ошибки ЕС и значениями тестового вектора ошибки В, полученным в результате подачи тестового воздействия.

Правила формирования значений вектора ошибки

Процедура определения вектора ошибки основана на следующих теоретических положениях.

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

В результате суммирования синдрома ошибки и кода ошибки тестовых разрядов получим код адреса поправки на скрытую ошибку

Для обнаружения ошибок в тестовом наборе, формируется синдром ошибки тестового набора ЕТ.

Кодирование информационных разрядов тестового набора по правилам рассматриваемого кода и сложение полученного результата с значением контрольных разрядов тестового набора дает синдром ошибки тестовых разрядов:

Условие 1. Тестовый набор YТ сформирован правильно (не содержит ошибки), если инверсия результата сложения синдрома ошибки с синдромом ошибки тестовых разрядов равна нулю: н ЕРСЕТ=0.

На основе полученных значений ЕС, ЕР, ЕИ, и ЕК принимается решение на коррекцию ошибок.

Правила формирования значений поправки при возникновении скрытой ошибки

Для определения поправки в тестовый вектор ошибки построим таблицу решений (поправок на каждую скрытую ошибку).

В этом случае число поправок образует множество мощностью

Каждой скрытой ошибке поставим в соответствие значение поправки и соответствующий код адреса поправки.

Данную совокупность представим в виде определяющей матрицы

где cij - значения разрядов вектора поправок (i=0,1,2,...,2k - номер строки;

j=0,1,2,...k-номер столбца); eij - значения разрядов кода адреса поправки.

Свойство 1. Каждому коду адреса поправок (правой группе элементов определяющей матрицы) соответствует прямое и обратное значение разрядов вектора поправок

где сi - прямое значение разряда вектора ошибки; - инверсное значение разряда вектора ошибки.

Данное свойство вытекает из определения двойственного ошибочного кодового набора (противоположным значениям ошибочного кодового набора соответствует одинаковое значение синдрома ошибки).

Выберем из определяющей матрицы (7) те строки, у которых номер (двоичный эквивалент) значений вектора поправок соответствует 2 i, (i=1,2,...,k), и построим таблицу поправок:

Свойства таблицы поправок:

Свойство 2. Для выбора значений поправки необходимо формировать признак поправки -V (прямого или обратного значения разрядов поправки относительно рассматриваемого кода адреса поправки).

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

где - значение разряда вектора поправки (прямого или обратного).

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

Рассмотрим процедуру построения корректирующего кода A(n,k) с апостериорной коррекцией кратных ошибок на примере порогового кодирования А(5,3): (r1 1у2; r2=y 1y3)

Построим определяющую матрицу:

По определяющей матрице построим таблицу поправок:

Допустим, необходимо закодировать сообщение Y={y 1, y2, y3}001. В этом случае проверочные разряды имеют значения r 1r201. Таким образом, кодовый набор передается в виде Y К=00101.

Примеры обнаружения и коррекции ошибок при считывании информации с ОЗУ

1) исправная работа ОЗУ

Если ошибка не возникла, то синдром ошибки Е C, имеет нулевые значения. В результате подачи тестового воздействия (и отсутствии ошибок в тестовом наборе Е Р=0), обеспечивающего противоположное значение информационных разрядов, получим тестовый вектор ошибки В=000 00, т.е. код ошибки тестовых разрядов ЕИ=00, соответственно в результате сложения ЕС и Е И получим значение кода адреса поправки. E К=00.

Так как обратное значение поправки С=111, полученное по коду адреса поправки ЕК=00, не совпадает со значениями информационных разрядов вектора В, то берется прямое значение поправки С=000 00. Таким образом вектор ошибки равен: Е=ВС=000 00

Таким образом, кодовый набор передается без коррекции, если: ЕС=0, Е P=0, В=0 / ВИ=0, В К=0, где

ВИ, В К соответственно значения информационных и контрольных разрядов тестового вектора ошибки.

2) константная ошибка в информационных разрядах

Пусть, в кодовом наборе возникли константные ошибки в первом и втором информационных разрядах: =1*1*1 01.

В этом случае получим синдром ошибки ЕС =01,

На основе полученной информации сформируем тестовый набор: YТ=000 10 (ЕТ =10, ЕР=00), при подаче которого и наличия константных ошибок получим значение ответной реакции:

Y ТР=110 10

Сложение значения кодового набора с значением ответной реакции тестового набора и инверсия полученного результата даст значение тестового вектора ошибки:

Тогда, В=110 00.

В этом случае код ошибки тестовых разрядов равен: ЕИ=01, соответственно код адреса поправки ЕК СЕИ=00. По полученному значению Е К сформируем значение поправки, которое в данном случае равно: С=000 00.

Следовательно, вектор ошибки Е (Е=ВС) равен тестовому вектору ошибки В, который указывает на ошибку в первом и втором информационных разрядах.

Таким образом, коррекция константных ошибок информационных разрядов проводится, если: Ес0, ЕР=0, В0, / ВИ0, ВК=0, С=0.

3) константная ошибка в контрольных разрядах

Пусть, в кодовом наборе возникли константные ошибки в первом контрольном разряде:Y К=001 1*1.

В этом случае получим синдром ошибки ЕС=10,

На основе полученной информации сформируем тестовый набор: YТ =110 00 (ЕТ=01, EР =00), при подаче которого и наличия константной ошибки в контрольном разряде, получим значение ответной реакции:

Y ТР=110 10

Сложение значения кодового набора с значением ответной реакции тестового набора и инверсия полученного результата даст значение тестового вектора ошибки:

Тогда, В=000 10.

В этом случае код ошибки тестовых разрядов равен: ЕИ=10, соответственно код адреса поправки ЕК СЕИ=00.

Примечание: 1) Если информационные разряды тестового вектора ошибки содержат нулевые значения, а контрольные имеют единичные, то значение поправки равно значению кода адреса поправки.

Для рассматриваемого примера ЕК=00, следовательно, вектор ошибки Е (Е=ВЕК) равен тестовому вектору ошибки В, который указывает на ошибку в первом контрольном разряде.

Таким образом, коррекция константных ошибок контрольных разрядов проводится, если: ЕС0, ЕР=0, В0 / ВИ=0, ВК0.

4)Коррекция скрытых константных ошибок в информационных разрядах

Пусть, в кодовом наборе возникли константная скрытая ошибка в первом информационном разряде: yk =0+01 01.

В этом случае получим синдром ошибки ЕС=00,

На основе полученной информации сформируем тестовый набор: YТ =110 10 (ЕТ=11, ЕР =00), при подаче которого и наличия константных ошибок получим значение ответной реакции: YТР=010 10.

Сложение значения кодового набора с значением ответной реакции тестового набора и инверсия полученного результата даст значение тестового вектора ошибки:

Тогда, В=100 00.

В этом случае код ошибки тестовых разрядов равен: ЕИ=11, соответственно код адреса поправки ЕК СЕИ=11.

По полученному значению ЕК сформируем значение поправки, которое в данном случае равно: С=100 00.

Следовательно, вектор ошибки Е (Е=ВС) равен: 000 00, т.е. кодовый набор передается без коррекции.

Таким образом, коррекция информационных разрядов проводится,

если: ЕС0, ЕР=0, В0 / ВИ0, ВК=0, С0.

5)Коррекция скрытых константных ошибок в контрольных разрядах

Пусть, в кодовом наборе возникли константная скрытая ошибка в первом контрольном разряде: YК =001 0+ 1.

В этом случае получим синдром ошибки ЕС=00,

На основе полученной информации сформируем тестовый набор: YТ =110 10 (ЕТ=11, ЕР =00), при подаче которого и наличия константных ошибок получим значение ответной реакции:

YТР=110 00.

Сложение значения кодового набора с значением ответной реакции тестового набора и инверсия полученного результата даст значение тестового вектора ошибки:

Тогда, В=000 10.

В этом случае код ошибки тестовых разрядов равен: ЕИ=10, соответственно код адреса поправки ЕК СЕИ=10.

Так как, информационные разряды тестового вектора ошибки равны нулю, то код адреса поправки прибавляется к контрольным разрядам

тестового вектора ошибки, В этом случае Е=000 00, т.е. кодовый набор передается без коррекции.

Таким образом, при возникновении скрытых ошибок в контрольных разрядах, вводится поправка в контрольные разряды тестового вектора ошибки равная ЕК , разрядов, если: ЕС0, ЕР=0, В0 / ВИ=0, ВК0, С=ЕКК0.

6) прямые и скрытые ошибки в информационных разрядах

Допустим, в кодовом наборе возникла "правильная" ошибка в первом информационном разряде и скрытая ошибка во втором информационном разряде =1*0+101, тогда:

В=11000; ЕИ=01; ЕС =11; ЕК=10; C=010; Е=100.

Так как обратное значение поправки С=101 (полученное из таблицы поправок по коду адреса поправок ЕК=10) не совпадает с значением третьего информационного разряда тестового вектора ошибки, то берется прямое значение поправки С=010. Тогда Е=100, т.е. корректируется первый информационный разряд.

7) прямые и скрытые ошибки в контрольных разрядах

Допустим, в кодовом наборе возникла "правильная" ошибка в первом контрольном разряде и скрытая ошибка во втором контрольном разряде =0011*1+, тогда:

В=00011; ЕИ=11; ЕC =10; ЕК=01; C=00010; Е=00010.

Так как обратное значение ВИ=0, а В К0, то поправки ЕК берется к значениям контрольных разрядов, т.е. корректируется первый контрольный разряд.

8) Одновременное возникновение правильных константных ошибок в информационных и контрольных разрядах

Допустим, в кодовом наборе возникла "правильная" ошибка в первом и втором информационных разрядах и первом контрольном разряде, тогда: Y*=1*1 *11*1, соответственно:

В=11010; ЕИ=11; ЕС=11; Е Р=00, C=000 00; E=11010.

Так как код адреса поправки ЕК=00 и С=000 00, то вектор ошибки Е равен тестовому вектору ошибки В, т.е. правильные константные ошибки в информационных и контрольных разрядах корректируется если: Ес0, ЕР=0, В0 / ВИ0, ВК0, С=0/ЕК=0.

9) Ошибка информационных разрядов тестового набора

Допустим, при формировании теста для кодового набора: Y=001 01, возникла ошибка в первом разряде тесового набора: YТ=0* 10 10, тогда:

ЕС=00; Е Т=00; ЕР0; В=100 00; ЕИ=11; Е К=11, соответственно С=100 00, а Е=000 00, т.е. будет проведена правильная коррекция ошибки.

10) Ошибка контрольных разрядов тестового набора

Допустим, при формировании теста для кодового набора: Y=001 01, возникла ошибка в первом контрольном разряде тесового набора: YТ=110 0 *0,тогда:

ЕС=00; Е Т=01; ЕР0; В=000 10; ЕИ=10; Е К=10, соответственно С=100 00, а Е=000 00, т.е. будет проведена правильная коррекция ошибки.

11) Запрещенные кодовые наборы, трансформированные в разрешенные, содержащие правильные константные ошибки

Допустим в кодовом наборе: Y=001 01, возникли ошибки во втором информационном разряде и в первом контрольном разряде: Y=01* 1 1*1, тогда:

ЕС=00; ЕТ=00; ЕР=00; В=010 10; ЕИ =00; ЕК=00, соответственно С=000 00, а Е=010 10, т.е. при трансформировании запрещенного кодового набора в разрешенный, правильные константные ошибки обнаруживаются и корректируются.

Примечание: не обнаруживаются и не корректируются запрещенные кодовые наборы, содержащие ошибки записи (сбоя).

12) Некорректируемые константные ошибки

12.1) Ошибка записи или сбой при считывании информации

Допустим, в кодовом наборе возникла ошибка записи во втором информационных разряде, тогда: Y*=01з 101, соответственно получим: ЕС=10; E Т=01; ЕР=00; В=000 00; Е И=00; ЕК=10. Если считать, что ошибка записи произошла во втором информационных разряде, то C010 00, Е=010 00, т.е. будет проведена правильная коррекция ошибки.

В то же время при возникновении ошибки записи в первом контрольном разряде: Y*=001 1з 1 имеем: ЕС=10; ЕТ =01; ЕР=00; В=000 00; Е И=00; ЕК=10, т.е. набор векторов ЕС, ЕТ, Е Р, В, ЕИ и ЕК имеет точно такое же значение как и при ошибке во втором информационном разряде, что не позволяет однозначно определить в какие разряды (информационные или контрольные) тестового вектора ошибки В вводить поправку С.

Таким образом, ошибка является некорректируемой, если:

Ес0, ЕР=0, В=0 / ЕК0.

12.2.) Ошибка записи (сбой при считывании) в информационных разрядах и ошибка информационных разрядов тестового набора

Допустим, в кодовом наборе возникла ошибка записи во втором информационных разряде, тогда: Y*=01 з1 01, а при формировании тестового набора возникла ошибка в третьем информационном разряде YТ=101 * 10, в результате получим:

ЕС =10; ЕТ=00; ЕР00; В=001 00; ЕИ=01; Е К=11.

В этом случае 0100 00, соответственно Е=101 00, т.е. будет проведена "неправильная" коррекция ошибки.

12.3) Ошибка записи (сбой при считывании) в информационных разрядах и ошибка контрольных разрядов тестового набора

Допустим, в кодовом наборе возникла ошибка записи во втором информационных разряде, тогда: Y*=01з1 01, а при формировании тестового набора возникла ошибка в первом контрольном разряде YТ=101 0* 0, в результате получим:

ЕС=10; Е Т=10; ЕР00; В=000 10; ЕИ=10; Е К=00.

В этом случае С=000 00, соответственно Е=000 10, т.е. будет проведена "неправильная" коррекция ошибки.

12.4) k-Кратная константная ошибка в информационных разрядах или k-кратная константная ошибка информационных разрядов тестового набора

Допустим, в кодовом наборе возникла k-кратная ошибка в информационных разрядах, тогда: Y*=1 *1*0* 01, в результате получим: ЕС=00; Е Т=11; ЕР=00; В=111 00; Е И=00; ЕК=00,

C=111 00, соответственно Е=000 00, т.е. будет проведена "неправильная" коррекция ошибки.

То же самое, при формировании тестового набора относительно кодового набора: YК=001 01 и возникновении k-кратной ошибки в его информационных разрядах: YТ=0*0 *1* 10 имеем:

Е С=00; ЕТ=11; ЕР =00; В=111 00; ЕИ=00; Е К=00, С=111 00, соответственно Е=000 00, т.е. возникает неопределенность по этому данные ошибки не корректируются. (т.е. при В=111 коррекция запрещена).

12.5) Одновременное возникновение кратных константных ошибок в информационных и контрольных разрядах тестового набора

Допустим, при формировании тестового набора относительно кодового набора: YК=001 01 возникла кратная ошибка: YТ=0 *0*00*0 имеем:

ЕС=00; ЕТ=00; ЕР=11; В=110 10; ЕИ =11; ЕК=11, С=100 00, соответственно Е=010 00, т.е. ошибка не корректируются.

12.6) Одновременное возникновение ошибки записи (сбоя) в кодовом наборе и возникновение константной ошибки тестовом наборе

Допустим, в кодовом наборе возникла ошибка записи в во втором информационных разрядах: Y*=0131 01, а в тестовом наборе возникла константная ошибка в первом контрольном разряде YТ=100 0* 0, в результате получим:

EС=10; Е Т=11; ЕР00; В=000 10; ЕИ=10; Е К=00, Е=000 10, т.е. ошибка не корректируется.

В этом случае С=010 00, соответственно Е=100 10, т.е. будет проведена "неправильная" коррекция ошибки. На основе рассмотренных примеров построим таблицу ошибочных состояний(табл. 1)

На основе анализа табл.1 определим правила декодирования тестово-кодового метода коррекции ошибок, представленные в табл.2.

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

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

- исправление кратных константных ошибок, возникающих в информационных и контрольных разрядах;

- выявление и исправление запрещенных кодовых наборов, имеющих константные ошибки, которые трансформируются в разрешенные (ошибочные кодовые наборы, воспринимаемые как безошибочные);

- обнаружение и исключение влияния на процесс коррекции скрытых константных ошибок (пояснение данного понятия будет приведено ниже), возникающих в кодовом наборе;

- обнаружение и исключение влияния на процесс коррекции константных и перемежающихся ошибок, возникающих в тестовом наборе (при формировании и подаче тестового воздействия);

- обнаружение некорректируемых константных ошибок;

б) обнаружение ошибок, в том числе перемежающихся (ошибок типа сбой):

- при записи информации в ОЗУ;

- при считывании информации с ОЗУ;

- при считывании информации с ПЗУ;

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

г) обеспечение минимальных временных затрат на процедуру апостериорной коррекции ошибок (исправление ошибок по результатам мгновенного контроля -в результате подачи одного тестового воздействия);

д) обеспечение простоты технической реализации, предлагаемого метода;

ИСТОЧНИКИ ИНФОРМАЦИИ

1. Щербаков Н.С. Достоверность работы цифровых устройств. М: Машиностроение, 1989, с.82, рис.39., 224 с.

2. Отказоустойчивое оперативное запоминающее устройство./ Патент на изобретение №2211492 от 27.08. 2003 г. Авторы: Павлов А.А., Шандриков А.В., Романенко Ю.А..

Таблица 1. Ошибочные состояния
Ошибка№п/пЕс ЕРВ ИВК Вид ошибки
Коррек-тируемая ошибка10 000 Устройство исправно (необнаруживаемая шибка записи, считывания, сбой)
2101 0правильная, скрытая или одновременно прямая и скрытая константные ошибки в информационных разрядах
31 001 правильная, скрытая или одновременно прямая и скрытая константные ошибки в контрольных разрядах
410 11Правильная константная ошибка одновременно в информационных и контрольных разрядах кодового набора
5011 0Правильная константная ошибка в информационных разрядах тестового набора
601 01Правильная константная ошибка в контрольных разрядах тестового набора
701 11Правильная константная ошибка в информационных и контрольных разрядах тестового набора
Некор-ректиру-емая ошибка81 000 Ошибка записи (сбой при считывании) в информационных и контрольных разрядов кодового набора
911 10Ошибка записи (сбой) в информационных разрядах кодового и тестового наборов
101 101 Ошибка записи (сбой) в информационных разрядах кодового набора и правильная ошибка контрольных разрядов тестового набора
110 010 k-кратная ошибка кодового или тестового наборов
120 001 Ошибка в декодирующем устройстве
1300 11Ошибка в декодирующем устройстве
14 010 0Ошибка в декодирующем устройстве
151 100 Ошибка в декодирующем устройстве
1611 11Ошибка в декодирующем устройстве

Таблица 2. Правила декодирования
Ошибка Признак корректируемой ошибки Правила коррекции ошибок
№п/пЕс ЕРВ ИВК ЕК
Коррек-тируемая ошибка1 000 00Устройство исправно Е=000 000
2 101 00/1Е=ВС
3 100 10/1E=BЕК
410 110 Е=ВС
5 101 11Е=ВЕК
601 101 Ошибка тестаБез коррекции
701 111 Ошибка тестаБез коррекции
801 011 Ошибка тестаБез коррекции
"Отказ"9 1/01/01/0 1/01/0Любые другие значения, отличные от значений Ес, Е Р, ВИ ЕК для корректируемых ошибок свидетельствуют об отказе устройства

Отказоустойчивое запоминающее устройство повышенной достоверности функционирования, содержащее запоминающий узел, первый кодирующий узел, второй кодирующий узел, блок вычисления синдрома, дешифратор, с первого по десятый элементы ИЛИ, с первого по второй элементы И, с первого по четвертый блоки элементов неравнозначности, регистр, элемент НЕ, блок хранения поправок, блок вычисления признака поправки, корректор, адресные входы устройства, информационные входы устройства, вход записи, вход считывания, вход сброс, информационные выходы устройства, выход "отказ устройства", отличающееся тем, что дополнительно содержит третий кодирующий узел, первый коммутатор, второй коммутатор, третий коммутатор, четвертый коммутатор, третий элемент И, четвертый элемент И, пятый элемент И, пятый элемент неравнозначности, вход управления, причем информационные входы подключены к первым входам первого коммутатора и к входам первого кодирующего узла, выходы которого подключены к вторым входам первого коммутатора, первые (инверсные) выходы регистра подключены к первым входам второго коммутатора, к первым входам первого элемента ИЛИ и к третьим входам первого коммутатора, четвертые входы которого подключены к синхронизирующим и управляющим входам, выходы первого коммутатора подключены к первым входам запоминающего узла, вторые входы которого подключены к синхронизирующему, управляющему входам, адресным входам, входу установки в нулевое состояние, входам записи и считывания, первые (информационные) выходы запоминающего узла подключены соответственно к вторым входам второго коммутатора, к первым входам регистра и к первым входам второго элемента неравнозначности, вторые выходы запоминающего узла (выходы контрольных разрядов) подключены к вторым входам первого элемента ИЛИ, к вторым входам регистра и к вторым входам второго элемента неравнозначности, выходы первого элемента ИЛИ подключены к первым входам блока вычисления синдрома, третьи входы второго коммутатора подключены к управляющему и синхронизирующим входам, а выходы подключены к входам второго кодирующего узла, выходы второго кодирующего узла подключены к вторым входам блока вычисления синдрома, выходы которого подключены к входам второго элемента ИЛИ и к первым входам третьего коммутатора, вторые входы третьего коммутатора подключены к управляющему и синхронизирующим входам, первые выходы третьего коммутатора подключены к третьим входам регистра, а вторые выходы подключены к четвертым входам регистра, пятый вход регистра подключен к синхронизирующему и управляющему входам, входу установки в нулевое состояние, входам записи и считывания, вторые (прямые) выходы регистра подключены к третьим входам второго элемента неравнозначности и к первым входам корректора, третьи выходы регистра подключены к первым входам первого элемента неравнозначности, четвертые выходы регистра подключены соответственно к вторым входам первого элемента неравнозначности, к входам третьего элемента ИЛИ и к первым входам четвертого элемента неравнозначности, выход второго элемента ИЛИ подключен к первому входу первого элемента И, второй вход которого подключен к входу считывания с постоянного запоминающего узла, а выход подключен к первому входу десятого элемента ИЛИ, выход первого элемента неравнозначности подключен к входу четвертого элемента ИЛИ, выход которого подключен к первому входу дешифратора и к первому входу восьмого элемента ИЛИ, выход второго элемента неравнозначности подключен к входам пятого и шестого элементов ИЛИ, к входам третьего кодирующего узла, к первым входам третьего элемента неравнозначности, к первым входам пятого элемента неравнозначности, к входам пятого элемента И и к первым входам блока вычисления признака поправки, выходы пятого элемента И подключены и к третьему входу десятого элемента ИЛИ, выходы третьего элемента ИЛИ, пятого элемента ИЛИ, шестого элемента ИЛИ подключены соответственно к вторым, третьим и четвертым входам дешифратора и восьмого элемента ИЛИ, выходы третьего кодирующего узла подключены к вторым входам третьего элемента неравнозначности, выходы которого подключены к вторым входам четвертого элемента неравнозначности, выходы четвертого элемента неравнозначности подключены к входам седьмого элемента ИЛИ, к первым входам четвертого коммутатора и к входам блока хранения поправки, выходы седьмого элемента ИЛИ подключены к пятым входам соответственно дешифратора и восьмого элемента ИЛИ, выходы дешифратора подключены к вторым входам четвертого коммутатора и к входам девятого элемента ИЛИ, выход которого через элемент НЕ подключен к первому входу второго элемента И, выход восьмого элемента ИЛИ подключен к второму входу второго элемента И, выход которого подключен к второму входу десятого элемента ИЛИ, выход десятого элемента ИЛИ подключен к первому входу третьего элемента И, второй вход которого подключен к управляющему и синхронизирующему входам, а выход является выходом "Отказ устройства или сбой", выходы блока хранения поправки подключены к вторым входам блока вычисления признака поправки, выходы которого подключены к третьим выходам четвертого коммутатора, четвертые входы которого подключены к управляющему и синхронизирующему входам, выходы четвертого коммутатора подключены к вторым входам пятого элемента неравнозначности, выходы которого подключены к вторым входам корректора, выходы корректора подключены к первым входам четвертого элемента И, вторые входы которого подключены к управляющему и синхронизирующему входам, а выходы являются выходами устройства.



 

Наверх