RU2211492C2 - Fault-tolerant random-access memory - Google Patents

Fault-tolerant random-access memory Download PDF

Info

Publication number
RU2211492C2
RU2211492C2 RU2001111743/09A RU2001111743A RU2211492C2 RU 2211492 C2 RU2211492 C2 RU 2211492C2 RU 2001111743/09 A RU2001111743/09 A RU 2001111743/09A RU 2001111743 A RU2001111743 A RU 2001111743A RU 2211492 C2 RU2211492 C2 RU 2211492C2
Authority
RU
Russia
Prior art keywords
inputs
outputs
elements
input
block
Prior art date
Application number
RU2001111743/09A
Other languages
Russian (ru)
Other versions
RU2001111743A (en
Inventor
А.А. Павлов
Ю.А. Романенко
А.В. Шандриков
И.В. Панфилов
Original Assignee
Серпуховский военный институт ракетных войск
Институт инженерной физики Российской Федерации
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Серпуховский военный институт ракетных войск, Институт инженерной физики Российской Федерации filed Critical Серпуховский военный институт ракетных войск
Priority to RU2001111743/09A priority Critical patent/RU2211492C2/en
Publication of RU2001111743A publication Critical patent/RU2001111743A/en
Application granted granted Critical
Publication of RU2211492C2 publication Critical patent/RU2211492C2/en

Links

Images

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Abstract

FIELD: automation and computer engineering. SUBSTANCE: device has two coding units, syndrome computing unit, corrector, ten OR gates, AND gate unit, RS flip-flop, register, four EXCLUSIVE OR gates, two decoders, NOT gate, correction storage unit, correction flag computing unit, source and redundancy computing channels. EFFECT: enlarged functional capabilities. 1 cl, 2 dwg

Description

Изобретение относится к вычислительной технике и может быть использовано для обеспечения отказоустойчивости оперативных запоминающих устройств. The invention relates to computer technology and can be used to provide fault tolerance of random access memory.

Известно самокорректирующееся устройство [1], содержащее исходный комбинационный логический блок, избыточный комбинационный логический блок. блок вычисления синдрома, дешифратор ошибки и корректор, входы устройства соединены с входами исходного комбинационного логического блока и входами избыточного комбинационного логического блока, информационные выходы которого подключены к входам блока вычисления синдрома, выходы которого подключены к входам синдрома дешифратора ошибки, выходы которого подключены к входам исходного комбинационного блока, а выход является выходом устройства. Known self-correcting device [1], containing the original combinational logic block, redundant combinational logic block. the syndrome calculation unit, the error decoder and the corrector, the device inputs are connected to the inputs of the original combinational logic unit and the inputs of the excess combinational logic unit, the information outputs of which are connected to the inputs of the syndrome calculation unit, the outputs of which are connected to the inputs of the error decoder syndrome, the outputs of which are connected to the inputs of the original combination unit, and the output is the output of the device.

Недостатком устройства является невозможность коррекции кратных ошибок. The disadvantage of this device is the inability to correct multiple errors.

Наиболее близким по техническому решению является самокорректирующее устройство [2] , содержащее исходный вычислительный канал (оперативное запоминающее устройство), кодирующее устройство, избыточный вычислительный канал (разряды запоминающего устройства для хранения значений контрольных разрядов), блок вычисления синдрома, дешифратор, корректор, входы устройства подключены к входам исходной схемы и к входам кодирующего устройства, выходы которого подключены к первым входам блока вычисления синдрома, выходы исходного вычислительного канала подключены к вторым входам блока вычисления синдрома и к первым входам корректора, выходы блока вычисления синдрома подключены к входам дешифратора, соединенного своими выходами со вторыми входами корректора, выходы корректора являются выходами устройства. The closest in technical solution is a self-correcting device [2], containing the source computing channel (random access memory), an encoding device, an excess computing channel (bits of a memory device for storing the values of control bits), a syndrome calculation unit, a decoder, a corrector, device inputs are connected to the inputs of the original circuit and to the inputs of the encoder, the outputs of which are connected to the first inputs of the block computing the syndrome, the outputs of the original computing the channel is connected to the second inputs of the syndrome calculation unit and to the first inputs of the corrector, the outputs of the syndrome calculation unit are connected to the inputs of the decoder connected to its outputs with the second inputs of the corrector, the outputs of the corrector are the outputs of the device.

Недостатком устройства является отсутствие возможности коррекции ошибок произвольной кратности в информационных разрядах. The disadvantage of this device is the inability to correct errors of arbitrary multiplicity in the information bits.

Целью изобретения является расширение функциональных возможностей устройства за счет обеспечения коррекции ошибок произвольной кратности, возникающих в информационных разрядах. The aim of the invention is to expand the functionality of the device by providing the correction of errors of arbitrary multiplicity arising in information bits.

Поставленная цель достигается тем, что устройство содержащее, исходный вычислительный канал, избыточный вычислительный канал. первое кодирующее устройство, блок вычисления синдрома, первый дешифратор, корректор, дополнительно содержит второе кодирующее устройство, с первого по десятый элементы ИЛИ, с первого по четвертый элементы задержки, элемент И. блок элементов И, RS-триггер, регистр, с первого по четвертый блоки элементов неравнозначности, второй дешифратор, элемент НЕ, блок хранения поправок, блок вычисления признака поправки, причем адресные входы подключены к первым входам исходного вычислительного канала, информационные входы через первый и второй элементы ИЛИ подключены ко вторым входам исходного вычислительного канала и к первым входам первого кодирующего устройства, подключенного своими выходами через третий и четвертый элементы ИЛИ к первым входам избыточного вычислительного канала, вход установки в исходное состояние через пятый элемент ИЛИ подключен к нулевым входам регистра и RS-триггера, вход "считывание" подключен к входу "запись регистра", через седьмой элемент ИЛИ к третьему входу исходного вычислительного канала, к второму входу избыточного вычислительного канала и через первый элемент задержки к единичному входу RS-триггера, вход "запись" к через шестой элемент ИЛИ подключен к четвертому входу исходного вычислительного канала, третьему входу избыточного вычислительного канала, выходы исходного вычислительного канала подключены ко вторым входам регистра, к первым входам блока вычисления синдрома и к первым входам первого блока элементов неравнозначности, выходы избыточного вычислительного канала подключены к вторым входам блока вычисления синдрома, к третьим входам регистра и к первым входам второго блока элементов неравнозначности, выходы блока вычисления синдрома подключены к четвертым входам регистра, единичный выход RS-триггера подключен к входу "считывание регистра", через второй элемент задержки к первому входу корректора, через третий элемент задержки к второму входу пятого элемента ИЛИ, через четвертый элемент задержки к второму входу седьмого элемента ИЛИ, первая группа выходов регистра подключена к вторым входам с первого по четвертый элементов ИЛИ, вторая группа выходов регистра подключена к вторым входам первого блока элементов неравнозначности и к вторым входам корректора, третья и четвертая группы выходов регистра подключены соответственно к вторым входам второго блока элементов неравнозначности и к первым входам третьего блока элементов неравнозначности, выход первого блока элементов неравнозначности - к входам второго кодирующего устройства, к входам элемента И, к входам девятого элемента ИЛИ, к первым входам четвертого блока элементов неравнозначности и к первым входам блока вычисления признака поправки, выходы восьмого элемента ИЛИ, девятого элемента ИЛИ и элемента И подключены к входам первого дешифратора, первый выход которого через элемент НЕ подключен к первому входу блока элементов И, а вторая группа выходов подключена к входам десятого элемента ИЛИ, выходы третьего блока элементов неравнозначности подключены к входам второго дешифратора, подключенного своими выходами ко входам блока хранения поправок, выходы которого подключены ко вторым входам блока вычисления признака поправки, соединенного своими выходами со вторыми входами четвертого блока элементов неравнозначности, выходы четвертого блока элементов неравнозначности через блок элементов И подключены к третьим входам корректора, выходы которого являются информационными выходами устройства, выход десятого элемента ИЛИ является выходом формирования сигнала "Отказ устройства". This goal is achieved in that the device containing the original computing channel, the excess computing channel. the first encoding device, the syndrome calculation unit, the first decoder, the corrector, further comprises a second encoding device, from the first to tenth elements OR, from the first to fourth delay elements, element I. Element block AND, RS-trigger, register, first to fourth blocks of disambiguation elements, a second decoder, a NOT element, a correction storage unit, a correction attribute calculation unit, the address inputs being connected to the first inputs of the original computing channel, the information inputs through the first and second elements ORs are connected to the second inputs of the original computing channel and to the first inputs of the first encoding device, connected by its outputs through the third and fourth elements OR to the first inputs of the redundant computing channel, the installation input through the fifth OR element is connected to the zero inputs of the register and RS- trigger, the input "read" is connected to the input "register entry", through the seventh element OR to the third input of the original computing channel, to the second input of the excess computing channel and through the first delay element to the single input of the RS-flip-flop, the input “record” to through the sixth element OR is connected to the fourth input of the original computing channel, the third input of the redundant computing channel, the outputs of the original computing channel are connected to the second inputs of the register, to the first inputs of the syndrome calculation unit and to the first inputs of the first block of disambiguation elements, the outputs of the excess computing channel are connected to the second inputs of the syndrome calculation unit, to the third inputs of the register and to the first inputs of the second eye of the ambiguity elements, the outputs of the syndrome calculation unit are connected to the fourth inputs of the register, the single output of the RS-trigger is connected to the “read register” input, through the second delay element to the first input of the corrector, through the third delay element to the second input of the fifth OR element, through the fourth element delays to the second input of the seventh OR element, the first group of register outputs connected to the second inputs from the first to fourth OR elements, the second group of register outputs connected to the second inputs of the first electronic block disambiguation points and to the second inputs of the corrector, the third and fourth groups of outputs of the register are connected respectively to the second inputs of the second block of disambiguity elements and to the first inputs of the third block of discontinuity elements, the output of the first block of discontinuity elements - to the inputs of the second encoding device, to the inputs of the element And, to the inputs of the ninth OR element, to the first inputs of the fourth block of unequal elements and to the first inputs of the correction attribute calculation unit, the outputs of the eighth OR element, ninth of the OR element and the AND element are connected to the inputs of the first decoder, the first output of which through the element is NOT connected to the first input of the block of AND elements, and the second group of outputs is connected to the inputs of the tenth OR element, the outputs of the third block of unequal elements are connected to the inputs of the second decoder connected to its outputs to the inputs of the amendment storage unit, the outputs of which are connected to the second inputs of the correction attribute calculation unit connected to its outputs with the second inputs of the fourth element block spine, the outputs of the fourth block elements nonequivalence through block elements and are connected to third inputs of the equalizer, whose outputs are the outputs of the device information, the output of the tenth OR gate is the signal output "device failure".

В настоящее время, для исправления ошибок запоминающих устройств, как правило, используются коды, корректирующие одиночные ошибки. В то же время существует необходимость исправления ошибок произвольной кратности, т.е. существует необходимость в разработке методов коррекции кратных ошибок. Currently, to correct errors of storage devices, as a rule, codes are used that correct single errors. At the same time, there is a need to correct errors of arbitrary multiplicity, i.e. There is a need to develop methods for correcting multiple errors.

Однако осуществление коррекции кратных ошибок на основе линейных кодов приводит к резкому увеличению избыточности кода и большим аппаратурным затратам на кодирование и декодирование информации, что не только не позволяет повысить надежность и достоверность функционирования отказоустойчивого вычислителя, но и снижает данные показатели. However, the implementation of the correction of multiple errors based on linear codes leads to a sharp increase in code redundancy and high hardware costs for encoding and decoding information, which not only does not improve the reliability and reliability of the fault-tolerant computer, but also reduces these indicators.

Основная идея устранения указанного противоречия состоит в апостериорной коррекции ошибок, которая заключается в том, что для обнаружения возникающих ошибок используется корректирующий линейный код, исправляющий одиночную ошибку (требующий минимальных аппаратурных затрат), а определение конфигурации (ошибочных разрядов) кратной ошибки и ее коррекция проводятся по результатам анализа ответной реакции, полученной на основе подачи одного тестового воздействия (требующего минимальных временных затрат). The main idea of eliminating this contradiction is a posteriori error correction, which consists in the fact that a correcting linear code is used to detect errors that correct a single error (requiring minimal hardware costs), and the configuration (error bits) of a multiple error is determined and corrected by the results of the analysis of the response obtained on the basis of the supply of one test effect (requiring minimal time costs).

Основные понятия и определения. Пусть исправление ошибок кодового набора обеспечивается на основе корректирующего линейного кода, исправляющего одиночную ошибку. Basic concepts and definitions. Let the code set error correction be provided on the basis of a correcting linear code correcting a single error.

Каждому рабочему входному набору ХН соответствует кодовый набор
Y={y1,y2, ..., yk,rk+1,rk+2, ..., rn}, (1)
где yi - значения сигналов в информационных разрядах; rj - значения сигналов в контрольных разрядах.
Each working input set X N corresponds to a code set
Y = {y 1 , y 2 , ..., y k , r k + 1 , r k + 2 , ..., r n }, (1)
where y i are the signal values in the information bits; r j - signal values in the control bits.

Вектор контрольных разрядов R является функцией информационных разрядов и определяется правилом кодирования информации выбранного кода:
R={rk+1,rk+2, ..., rn-k}=f(y1,y2, ..., yk). (2)
После приема сообщения относительно информационных разрядов повторно формируется вектор контрольных разрядов RП и определяется синдром ошибки
EC = R⊕RП. (3)
Каждому рабочему входному набору ХН, обеспечивающему определенное значение сигналов в информационных и контрольных разрядах Yk={у12,...,уk,rk+1, rk+2, . . .rn}, поставим в соответствие тестовый набор

Figure 00000002
порождающий противоположное значение сигналов в информационных и контрольных разрядах.The vector of control bits R is a function of information bits and is determined by the encoding rule for the information of the selected code:
R = {r k + 1 , r k + 2 , ..., r nk } = f (y 1 , y 2 , ..., y k ). (2)
After receiving a message regarding information bits, the vector of control bits R P is re-formed and the error syndrome is determined
E C = R⊕R P. (3)
Each working input set X H , providing a certain value of the signals in the information and control bits Y k = {y 1 , y 2 , ..., y k , r k + 1 , r k + 2,. . .r n }, match the test suite
Figure 00000002
generating the opposite value of signals in information and control bits.

Определение 1. Инверсное значение результата суммирования значений информационных и контрольных разрядов Yk={у12,...,уk,rk+1,rk+2,...rn}, полученных на рабочем входном наборе с информационными и контрольными разрядами YT, полученными на тестовом наборе, будем считать тестовым вектором ошибки:

Figure 00000003

Если ошибок нет, то тестовый вектор ошибки принимает нулевые значения.Definition 1. The inverse value of the result of summing the values of information and control bits Y k = {y 1 , y 2 , ..., y k , r k + 1 , r k + 2 , ... r n } obtained at the working input set with information and control bits Y T obtained on the test set, we will consider the test error vector:
Figure 00000003

If there are no errors, then the test error vector takes zero values.

Определение 2. Скрытой будем называть ошибку, которая не проявляется на рассматриваемом входном рабочем наборе. Definition 2. We will call latent an error that does not appear on the considered input working set.

Пример. Варианту единичных значений в информационных разрядах кода Хемминга (r1, r2, y2, r3, y1) соответствует безошибочный кодовый набор 01111. При наличии ошибки const1 в первом информационном разряде для рассматриваемого входного набора имеем выходной кодовый набор 01111+ (знаком "+" помечен ошибочный разряд), который не отличается от безошибочного кодового набора.Example. The variant of single values in the information bits of the Hamming code (r 1 , r 2 , y 2 , r 3 , y 1 ) corresponds to the error-free code set 01111. If there is an error const1 in the first information bit for the input set in question, we have the output code set 01111 + (sign "+" marked an error bit), which does not differ from an error-free code set.

Определение 3. Ошибочный кодовый набор будем называть "правильным", если он не содержит скрытных ошибок и "неправильным" в противном случае. Definition 3. We will call an erroneous code set “correct” if it does not contain secretive errors and “incorrect” otherwise.

Утверждение 1. Исправление "неправильного" ошибочного кодового набора на основе тестового вектора ошибки приводит к псевдокоррекции. Statement 1. Correction of the “incorrect” erroneous code set based on the test error vector leads to pseudo-correction.

Доказательство. При подаче тестового воздействия, обеспечивающего противоположное значение информационных разрядов, обнаруживаются любые ошибки. В этом случае тестовый вектор ошибки указывает номера ошибочных информационных разрядов, в том числе и разрядов, содержащих скрытые ошибки. Так как значения скрытых ошибок соответствуют рабочему входному набору, то их исправление на основе тестового вектора ошибки в свою очередь приведет к ошибке в корректируемом кодовом наборе. Evidence. When applying a test effect that provides the opposite value of information bits, any errors are detected. In this case, the test error vector indicates the numbers of erroneous information bits, including bits containing hidden errors. Since the values of hidden errors correspond to the working input set, their correction on the basis of the test error vector will in turn lead to an error in the corrected code set.

Следствие 1. Апостериорная коррекция кратных ошибок возможна при условии выявления скрытых ошибок (формирования поправки к тестовому вектору ошибки). Corollary 1. A posteriori correction of multiple errors is possible provided that hidden errors are detected (forming an amendment to the test error vector).

На основе приведенных понятий и определений ставится задача выявления конфигурации кратных ошибок по результатам алгебраических операций со значениями синдрома ошибки ЕC и значениями тестового вектора ошибки В, полученным в результате подачи тестового воздействия.Based on the above concepts and definitions, the task is to identify the configuration of multiple errors according to the results of algebraic operations with the values of the error syndrome E C and the values of the test error vector B obtained by submitting the test action.

Правила формирования значений вектора ошибки. Процедура определения вектора ошибки основана на следующих теоретических положениях. Rules for generating error vector values. The procedure for determining the error vector is based on the following theoretical provisions.

Кодирование информационных разрядов тестового вектора ошибки по правилам рассматриваемого кода дает код ошибки тестовых разрядов
Eи=f(Bи). (5)
В результате суммирования синдрома ошибки и кода ошибки тестовых разрядов получим код адреса поправки на скрытую ошибку
EK = EC⊕EИ. (6)
На основе полученных значений ЕС, ЕИ, и ЕК принимается решение на коррекцию ошибок в информационных разрядах при выполнении условия, что количество ошибок в информационных разрядах d≤k-1.
The coding of information bits of the test error vector according to the rules of the code in question gives the error code of the test bits
E u = f (B u ). (5)
As a result of summing the error syndrome and the error code of the test digits, we obtain the address code for the correction for the latent error
E K = E C ⊕E AND . (6)
Based on the obtained values of E C , E I , and E K , a decision is made to correct errors in information bits when the condition that the number of errors in information bits d≤k-1 is met.

В этом случае стратегия декодирования включает следующие положения:
коррекция возможна если разряды тестового вектора ошибки, соответствующие контрольным разрядам, имеют нулевые значения;
разрешается передача информационных разрядов без коррекции, если тестовый вектор ошибки содержит нулевые значения в информационных разрядах и единичные значения (ошибки) в контрольных разрядах;
коррекция запрещается (формируется сигнал "Отказ устройства") если все разряды тестового вектора ошибки, соответствующие информационным разрядам, имеют единичные значения (k-кратная ошибка) или при наличии единичных значений сигналов одновременно в информационных и контрольных разрядах тестового вектора ошибки;
при возникновении скрытой ошибки вектор ошибки формируется путем добавления поправки к тестовому вектору ошибки.
In this case, the decoding strategy includes the following provisions:
correction is possible if the bits of the test error vector corresponding to the control bits have zero values;
transmission of information bits without correction is allowed if the test error vector contains zero values in information bits and unit values (errors) in control bits;
correction is prohibited (the signal "Device Failure" is generated) if all the bits of the test error vector corresponding to the information bits have unit values (k-fold error) or if there are single values of the signals simultaneously in the information and control bits of the test error vector;
when a latent error occurs, an error vector is generated by adding corrections to the test error vector.

Правила формирования значений поправки при возникновении скрытой ошибки. Для определения поправки в тестовый вектор ошибки построим таблицу решений (поправок на каждую скрытую ошибку). Rules for generating correction values when a latent error occurs. To determine the correction to the test error vector, we construct a decision table (corrections for each hidden error).

В этом случае число поправок образует множество мощностью |SM| = 2k.
Каждой скрытой ошибке поставим в соответствие значение поправки и соответствующий код адреса поправки.
In this case, the number of corrections forms a set with power | S M | = 2 k .
For each hidden error, we assign a correction value and the corresponding correction address code.

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

Figure 00000004

где Cij - значения разрядов вектора поправок 0=0, 1, 2,...,2k -номер строки; j= 0, 1, 2,... k - номер столбца); eij - значения разрядов кода адреса поправки.We represent this set in the form of a defining matrix
Figure 00000004

where C ij are the values of the digits of the correction vector 0 = 0, 1, 2, ..., 2 k is the row number; j = 0, 1, 2, ... k is the column number); e ij are the bits of the correction address code.

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

Figure 00000005

где сj - прямое значение разряда вектора ошибки;
Figure 00000006
- инверсное значение разряда вектора ошибки.Property 1. Each code of the correction address (the right group of elements of the determining matrix) corresponds to the direct and inverse values of the bits of the correction vector
Figure 00000005

where c j is the direct value of the discharge of the error vector;
Figure 00000006
is the inverse value of the discharge of the error vector.

Данное свойство вытекает из определения двойственного ошибочного кодового набора (противоположным значениям ошибочного кодового набора соответствует одинаковое значение синдрома ошибки). This property follows from the definition of a dual error code set (the same value of the error syndrome corresponds to the opposite values of the error code set).

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

Figure 00000007

Свойства таблицы поправок.We select from the defining matrix (7) those rows for which the number (binary equivalent) of the values of the correction vector corresponds to 2 i , (i = 1, 2, ..., k), and construct the table of corrections:
Figure 00000007

Correction table properties.

Свойство 2. Для выбора значений поправки необходимо формировать признак поправки -V (прямого или обратного значения разрядов поправки относительно рассматриваемого кода адреса поправки). Property 2. To select the correction values, it is necessary to form the correction flag -V (direct or reverse value of the correction bits relative to the correction address code in question).

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

Figure 00000008

где
Figure 00000009
- значение разряда вектора поправки (прямого или обратного).Thus, the correction of multiple errors by the proposed method is based on the values of the information bits of the test error vector and the correction values for the latent error, i.e. the error vector is:
Figure 00000008

Where
Figure 00000009
- the value of the discharge of the correction vector (direct or reverse).

Свойство 3. Поправка имеет обратное значение, если все значения разрядов вектора поправки совпадают со значениями соответствующих информационных разрядов тестового вектора ошибки и прямое в обратном случае. Property 3. The correction has the opposite value if all the values of the bits of the correction vector coincide with the values of the corresponding information bits of the test error vector and direct in the opposite case.

Пример. Рассмотрим процедуру построения корректирующего кода A(n, k) с апостериорной коррекцией кратных ошибок на примере порогового кодирования А(5, 3): (r1 = y1⊕y2; r2 = y1⊕y3).Example. Consider the procedure for constructing a correction code A (n, k) with a posteriori correction of multiple errors using the example of threshold coding A (5, 3): (r 1 = y 1 ⊕y 2 ; r 2 = y 1 ⊕y 3 ).

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

Figure 00000010

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

Допустим, необходимо закодировать сообщение
Figure 00000012

В этом случае проверочные разряды имеют значения r1r2⇒01. Таким образом, кодовый набор передается в виде YK=00101.We construct the defining matrix:
Figure 00000010

Using the determining matrix, we construct a table of corrections:
Figure 00000011

Let's say you need to encode a message
Figure 00000012

In this case, the check bits have the values r 1 r 2 ⇒01. Thus, the code set is transmitted in the form Y K = 00101.

Если ошибка не возникла, то синдром ошибки ЕC имеет нулевые значения. В результате подачи тестового воздействия, обеспечивающего противоположное значение информационных разрядов, получим тестовый вектор ошибки В=00000, т. е. код ошибки тестовых разрядов ЕИ=00, ЕК=00 и значения контрольных разрядов тестового вектора RbП= 00. Так как обратное значение поправки C=111, полученное по коду адреса поправки EК=00, не совпадает со значениями информационных разрядов вектора В, то берется прямое значение поправки С=000. Таким образом вектор ошибки равен: E = B⊕C = 000.
Пусть при передачи сообщения возникла ошибка в первом и втором информационных разрядах: Y*к=1*1*1 01. Используя приведенные выражения, для данного случая имеем:
В=11000; EИ=01; ЕС=01; EK=00; C=000; E=110. Вектор ошибки равен тестовому вектору ошибки, который указывает на ошибку в первом и втором информационных разрядах.
If no error has occurred, then the error syndrome E C has zero values. As a result of submitting a test effect providing the opposite value of information bits, we obtain a test error vector B = 00000, that is, an error code for test bits E И = 00, Е К = 00 and values of the control bits of the test vector R b П = 00. So as the inverse value of the correction C = 111, obtained by the code of the address of the correction E K = 00, does not coincide with the values of the information bits of the vector B, then the direct value of the correction C = 000 is taken. Thus, the error vector is equal to: E = B =C = 000.
Suppose that an error occurred in the transmission of a message in the first and second information bits: Y * k = 1 * 1 * 1 01. Using the above expressions, for this case we have:
B = 11000; E And = 01; E C = 01; E K = 00; C = 000; E = 110. The error vector is equal to the test error vector, which indicates an error in the first and second information bits.

Допустим, в кодовом наборе возникла "правильная" ошибка в первом информационном разряде и скрытая ошибка во втором информационном разряде Y*к=1*0+ 01, тогда:
B=11000: EИ=01; EC=11; EK=10; C=010; E=100.
Suppose that a “correct” error occurred in the code set in the first information category and a hidden error in the second information category Y * k = 1 * 0 + 01, then:
B = 11000: E And = 01; E C = 11; E K = 10; C = 010; E = 100.

Так как обратное значение поправки C=101 (полученное из таблицы поправок по коду адреса поправок EK=10) не совпадает с значением третьего информационного разряда тестового вектора ошибки, то берется прямое значение поправки С=010. Тогда Е=100, т.е. корректируется первый информационный разряд.Since the inverse value of the correction C = 101 (obtained from the table of corrections by the correction address code E K = 10) does not coincide with the value of the third information category of the test error vector, we take the direct value of the correction C = 010. Then E = 100, i.e. the first information rank is adjusted.

На фиг.1 представлена блок-схема отказоустойчивого запоминающею устройства. Отказоустойчивое запоминающее устройство содержит исходный вычислительный канал 1, избыточный вычислительный канал 2, первое кодирующее устройство 3, второе кодирующее устройство 4, блок вычисления синдрома 5, корректор 6, с первого по десятый 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 элементы ИЛИ, с первого по четвертый 17, 18, 19, 20 элементы задержки, 21-элемент И, блок 22 элементов И, RS-триггер 23, регистр 24, с первого по четвертый 25, 26, 27, 28 блоки элементов неравнозначности, первый 29 и второй 30 дешифраторы, 31-элемент HЕ, блок 32 хранения поправок, блок 33 вычисления признака поправки, входы 34, 35 являются входами блока 33 вычисления признака поправки, выход 36 является выходом блока 33 вычисления признака поправки, вход 37 "Запись", вход 38 "Считывание", вход 39 "Сброс", адресные входы 40, информационные входы 41, информационные выходы 42, выход 43 десятого элемента 16 И является выходом формирования сигнала "Отказ устройства". Figure 1 presents a block diagram of a fault-tolerant storage device. The fault-tolerant storage device comprises an initial computing channel 1, a redundant computing channel 2, a first encoding device 3, a second encoding device 4, a syndrome 5 calculation unit, corrector 6, first to tenth 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 elements OR, first through fourth 17, 18, 19, 20 delay elements, 21-element And, block 22 of AND elements, RS-trigger 23, register 24, first through fourth 25, 26, 27, 28 blocks of disambiguation elements, first 29 and second 30 decoders, 31-element HE, block 32 for storing amendments, block 33 for computing the attribute p corrections, inputs 34, 35 are inputs of the correction attribute calculation unit 33, output 36 is the output of the correction attribute calculation unit 33, input 37 “Write”, input 38 “Read”, input 39 “Reset”, address inputs 40, information inputs 41, information outputs 42, the output of the tenth element 16 And is the output of the signal formation "Device failure".

На фиг.2 представлена схема блока 33 вычисления признака поправки Он содержит группу 44-элементов И, 45-элемент И, элементы 46 равнозначности, 47-элeмeнт НЕ, группу элементов 48 неравнозначности. Figure 2 presents the diagram of the correction attribute calculation unit 33. It contains a group of 44-elements AND, a 45-element And, elements 46 of equivalence, a 47-element NOT, a group of elements 48 of unequality.

Адресные входы 40 подключены к первым входам исходного вычислительного канала 1, информационные входы 41 через первый 7 и второй 8 элементы ИЛИ подключены ко вторым входам исходного вычислительного канала 1 и к первым входам первого кодирующего устройства 3, подключенного своими выходами через третий 9 и четвертый 10 элементы ИЛИ к первым входам избыточного вычислительного канала 2, вход 39 "сброс" через пятый 11-элемент ИЛИ подключен к нулевым входам регистра 24 и RS-триггера 23, вход 38 "считывание" подключен к входу "запись" регистра 24, через седьмой 11-элемент ИЛИ к третьему входу исходного вычислительного канала 1, к второму входу избыточного вычислительного канала 2 и через первый элемент 17 задержки к единичному входу RS-триггера 23, вход 37 "запись" через шестой 12-элемент ИЛИ подключен к четвертому входу исходного вычислительного канала 1, третьему входу избыточного вычислительного канала 2, выходы исходного вычислительного канала 1 подключены ко вторым входам регистра 24, к первым входам блока 5 вычисления синдрома и к первым входам первого блока 25 элементов неравнозначности, выходы избыточного вычислительного канала 2 подключены к вторым входам блока 5 вычисления синдрома, к третьим входам регистра 24 и к первым входам второго блока 26 элементов неравнозначности, выходы блока 5 вычисления синдрома подключены к четвертым входам регистра 24, единичный выход RS-триггера 23 подключен к входу "считывание" регистра 24, через второй элемент 18 задержки к первому входу корректора 6, через третий элемент 19 задержки к второму входу пятого 11-элемента ИЛИ, через четвертый элемент 20 задержки к второму входу седьмого 13-элемента ИЛИ, первая группа выходов регистра 24 подключена к вторым входам с первого 7 по четвертый 10 элементов ИЛИ, вторая группа выходов регистра 24 подключена к вторым входам первого блока 25 элементов неравнозначности и к вторым входам корректора 6, третья и четвертая группы выходов регистра 24 подключены соответственно к вторым входам второго блока 26 элементов неравнозначности и к первым входам третьего блока 27 элементов неравнозначности, выход первого блока 25 элементов неравнозначности подключен к входам второго кодирующего устройства 4, к входам 21-элемента И, к входам девятого 15-элемента ИЛИ, к первым входам четвертого блока 28 элементов неравнозначности и к первым входам блока 33 вычисления признака поправки, выходы восьмого 14-элемента ИЛИ, девятого 15-элемента ИЛИ и 21-элемента И подключены к входам первого дешифратора 29, первый выход которого через 31-элемент НЕ подключен к первому входу блока 22 элементов И, а вторая группа выходов подключена к входам десятого 16-элемента ИЛИ, выходы третьего блока 27 элементов неравнозначности подключены к входам второго дешифратора 30, подключенного своими выходами ко входам блока 32 хранения поправок, выходы которого подключены ко вторым входам блока 33 вычисления признака поправки, соединенного своими выходами со вторыми входами четвертого блока 28 элементов неравнозначности, выходы четвертого блока 28 элементов неравнозначности через блок 22 элементов И подключены к третьим входам корректора 6, выходы которого являются информационными выходами 42 устройства, выход десятого 16-элемента ИЛИ является выходом 43 формирования сигнала "Отказ устройства". Address inputs 40 are connected to the first inputs of the original computing channel 1, information inputs 41 through the first 7 and second 8 elements OR are connected to the second inputs of the original computing channel 1 and to the first inputs of the first encoding device 3, connected to its outputs through the third 9 and fourth 10 elements OR to the first inputs of the redundant computing channel 2, input 39 is reset via the fifth 11th element OR is connected to the zero inputs of register 24 and the RS flip-flop 23, input 38 is read is connected to the input “record” of register 24, through the seventh 1 The 1-element OR to the third input of the original computing channel 1, to the second input of the redundant computing channel 2 and through the first delay element 17 to the single input of the RS flip-flop 23, the input 37 "record" through the sixth 12-element OR connected to the fourth input of the original computing channel 1, to the third input of the excess computing channel 2, the outputs of the original computing channel 1 are connected to the second inputs of the register 24, to the first inputs of the syndrome calculation unit 5 and to the first inputs of the first block of 25 disambiguation elements, accurate computing channel 2 are connected to the second inputs of the syndrome calculation unit 5, to the third inputs of the register 24 and to the first inputs of the second block 26 of unequal elements, the outputs of the syndrome calculation unit 5 are connected to the fourth inputs of the register 24, the single output of the RS-trigger 23 is connected to the input reading "register 24, through the second delay element 18 to the first input of the corrector 6, through the third delay element 19 to the second input of the fifth 11th OR element, through the fourth delay element 20 to the second input of the seventh 13th OR element, the first group PA outputs of the register 24 is connected to the second inputs from the first 7 to the fourth 10 elements OR, the second group of outputs of the register 24 is connected to the second inputs of the first block 25 of unequal elements and to the second inputs of the corrector 6, the third and fourth groups of outputs of the register 24 are connected respectively to the second inputs the second block 26 of the disambiguation elements and to the first inputs of the third block 27 of the discontinuity elements, the output of the first block 25 of the discontinuity elements is connected to the inputs of the second encoding device 4, to the inputs of the 21-element And, to the inputs of the ninth 15-element OR, to the first inputs of the fourth block 28 of unequal elements and to the first inputs of the block 33 calculating the correction attribute, the outputs of the eighth 14-element OR, the ninth 15-element OR and 21-element AND are connected to the inputs of the first decoder 29, the first output of which through the 31-element is NOT connected to the first input of the block of 22 AND elements, and the second group of outputs is connected to the inputs of the tenth 16-element OR, the outputs of the third block of 27 unequal elements are connected to the inputs of the second decoder 30 connected by its outputs and to the inputs of the correction storage unit 32, the outputs of which are connected to the second inputs of the correction attribute calculation unit 33, connected by its outputs to the second inputs of the fourth block of disambiguation elements 28, the outputs of the fourth block of 28 disambiguation elements through the block of 22 And elements connected to the third inputs of corrector 6, the outputs of which are the information outputs of the device 42, the output of the tenth 16-element OR is the output 43 of the formation of the signal "Device failure".

Исходный вычислительный канал 1 представляет собой полупроводниковое оперативное ЗУ, содержащее, например, трехразрядный накопитель (каждая ячейка памяти включает три триггера) емкостью М-ячеек памяти. The initial computing channel 1 is a semiconductor operational memory containing, for example, a three-bit storage device (each memory cell includes three triggers) with a capacity of M-memory cells.

Избыточный вычислительный канал 2 представляет собой оперативное запоминающее устройство, предназначенное для хранения значений контрольных разрядов. Redundant computing channel 2 is a random access memory device designed to store the values of the control bits.

Первое кодирующее устройство 3 (относительно трех информационных разрядов) имеет два выхода r1, r2, на которых реализуются логические функции соответственно:
r1 = y1⊕y2; r2 = y1⊕y3; (9)
Второе кодирующее устройство 4 выполняет функции, аналогичные первому кодирующему устройству 3, относительно информационных разрядов тестового вектора ошибки В:
d1 = b1⊕b2; d2 = b1⊕b3.
Блок 5 вычисления синдрома выполняет операцию повторного кодирования информации, считываемой с исходного вычислительного канала 1(r 1 1 = y 1 1 ⊕y 1 2 ; r 1 2 = y 1 1 ⊕y 1 3 ); и вычисление синдрома ошибки ЕC:

Figure 00000013

Корректор 6 предназначен для исправления возникающих ошибок путем сложения информационных разрядов с вектором ошибки:
Figure 00000014

С первого 7 по седьмой 13 элементы ИЛИ предназначены для обеспечения функциональных связей между блоками устройства, восьмой 14-элемент ИЛИ и девятый 15-элемент ИЛИ предназначены соответственно для выявления единичных значений сигналов в контрольных разрядах (отказа элементов избыточного вычислительного канала 2) и информационных разрядах тестового вектора ошибок (отказа элементов исходного вычислительного канала 1). При возникновении ошибки во всех информационных разрядах (появляется сигнал на выходе 21-элемента И) или одновременном возникновении ошибок в информационных и контрольных разрядах (сигналы на выходах восьмого 14 и девятого 15 элементов ИЛИ) на выходе десятого 16-элемента ИЛИ формируется сигнал "Отказ устройства". С первого 17 по четвертый 20 элементы задержки обеспечивают синхронизацию работы блоков устройства.The first coding device 3 (with respect to three information bits) has two outputs r 1 , r 2 , on which logical functions are implemented, respectively:
r 1 = y 1 ⊕y 2 ; r 2 = y 1 ⊕y 3 ; (9)
The second encoding device 4 performs functions similar to the first encoding device 3, relative to the information bits of the test error vector B:
d 1 = b 1 ⊕ b 2 ; d 2 = b 1 ⊕b 3 .
Block 5 calculation of the syndrome performs the operation of re-encoding information read from the original computing channel 1 (r 1 1 = y 1 1 ⊕y 1 2 ; r 1 2 = y 1 1 ⊕y 1 3 ); and calculation of the error syndrome E C :
Figure 00000013

Corrector 6 is designed to correct errors that occur by adding information bits to the error vector:
Figure 00000014

From the first 7th to the seventh 13th OR elements are designed to provide functional connections between the device blocks, the eighth 14th OR element and the ninth 15th OR element are respectively designed to identify single signal values in the control bits (failure of the elements of the redundant computing channel 2) and information bits of the test error vector (failure of the elements of the original computing channel 1). If an error occurs in all information bits (a signal appears at the output of the 21-element AND) or a simultaneous error occurs in information and control bits (signals at the outputs of the eighth 14 and ninth 15 OR elements), the signal “Device failure” is generated at the output of the tenth 16-element OR " From the first 17 to the fourth 20 delay elements provide synchronization of the device blocks.

При возникновении ошибки только в контрольных разрядах (наличие единичного сигнала на выходе восьмого 14-элемента ИЛИ и нулевого значения сигнала на выходе девятого 15-элемента ИЛИ) на выходе первого дешифратора 29 формируется сигнал, который через элемент 31 НЕ, блок 22 элементов И запрещает коррекцию информационных разрядов. If an error occurs only in the control bits (the presence of a single signal at the output of the eighth 14th OR element and a zero value of the signal at the output of the ninth 15th OR element), a signal is generated at the output of the first decoder 29, which through element 31 is NOT, block 22 of AND elements prohibits correction information categories.

RS-триггер 23 совместно с элементами задержки осуществляет управление блоками устройства. The RS-trigger 23 together with the delay elements controls the blocks of the device.

Регистр 24 предназначен для временного хранения кодового набора:
Yпр - значений сигналов информационных разрядов; Rпр- значений сигналов контрольных разрядов; ЕС-значений сигналов синдрома ошибки; yинв - инверсных (тестовых) значений сигналов информационных и Rинв - контрольных разрядов.
Register 24 is intended for temporary storage of a code set:
Y CR - the values of the signals of information bits; R CR - the values of the signals of the control bits; E C -values of the signals of the error syndrome; y inv - inverse (test) values of information signals and R inv - control digits.

Первый блок 25 элементов неравнозначности предназначен для формирования тестового вектора ошибки В путем сложения прямых значений информационных разрядов Yпр (считываемых с прямых выходов регистра 24) с информационными разрядами YT, считываемыми с исходного вычислительного канала 1 после подачи на него тестового воздействия Yинв (значений сигналов, считываемых с инверсных выходов регистра 24).The first block of 25 elements of ambiguity is intended to form a test error vector B by adding the direct values of the information bits Y pr (read from the direct outputs of register 24) with the information bits Y T read from the original computing channel 1 after the test action Y inv (values signals read from the inverse outputs of the register 24).

Второй блок 26 элементов неравнозначности предназначен для формирования сигналов в контрольных разрядах тестового вектора ошибки В путем сложения прямых значений контрольных разрядов Rпр (считываемых с прямых выходов регистра 24) с значениями контрольных разрядов RT, считываемых с избыточного вычислительного канала 2 после подачи на него тестового воздействия Rинв (значений сигналов, считываемых с инверсных выходов регистра 24).The second block 26 of the ambiguity elements is designed to generate signals in the control bits of the test error vector B by adding the direct values of the control bits R CR (read from the direct outputs of the register 24) with the values of the control bits R T read from the redundant computing channel 2 after applying the test channel to it the impact of R inv (the values of the signals read from the inverse outputs of the register 24).

Третий блок 27 элементов неравнозначности предназначен для формирования кода адреса поправки ЕK путем сложения значений кода ошибки тестовых разрядов ЕИ и значения синдрома ошибки ЕС.The third block 27 of the ambiguity elements is designed to generate the correction address code E K by adding the error code values of the test bits E AND the value of the error syndrome E C.

Четвертый блок 28 элементов неравнозначности предназначен для формирования вектора ошибки Е путем сложения информационных разрядов тестового вектора ошибки В с поправкой С. The fourth block 28 of disambiguation elements is intended to form the error vector E by adding the information bits of the test error vector B with the correction C.

Второй дешифратор 30 предназначен для выбора поправки из блока 32 хранения поправок по коду адреса поправки ЕК.The second decoder 30 is used to select the amendment from the amendment storage unit 32 according to the amendment address code E K.

Блок 32 хранения поправок предназначен для хранения информации, представленной матрицей поправок (8). The amendment storage unit 32 is intended to store information represented by the amendment matrix (8).

Блок 33 вычисления признака поправки предназначен для выбора прямого или обратного значения поправки и работает следующим образом (см. фиг.2). По значению кода адреса поправки ЕК с блока 32 хранения поправок считывается обратное значение поправки (содержащее для данной ошибки максимальное количество единиц), которое поступает на вход 35 блока вычисления признака поправки и соответственно на входы группы элементов 44 И, группы элементов 46 равнозначности и группы элементов 48 неравнозначности. Значения информационных разрядов тестового вектора ошибки поступают на входы 34 блока 33 вычисления признака поправки.Block 33 calculation of the attribute of the amendment is designed to select a direct or inverse value of the amendment and works as follows (see figure 2). By the value of the correction address code E K , the inverse correction value (containing the maximum number of units for a given error) is read from the correction storage unit 32, which is input to the input 35 of the correction attribute calculation unit and, accordingly, to the inputs of the group of elements 44 I, group of elements 46 of equivalence and elements 48 of ambiguity. The values of the information bits of the test error vector are supplied to the inputs 34 of the correction attribute calculation unit 33.

В этом случае открываются элементы И группы элементов 44 И, имеющие на своих входах единичные значения сигналов поправки и информационных разрядов тестового вектора ошибки. Если значение сигналов, поступающих с выходов элементов И, совпадают с значением поправки, то на выходах всех элементов группы элементов 46 равнозначности появляются единичные значения сигналов (открывается элемент 45 И). В этом случае сигнал на выходе элемента 47 имеет нулевое значение, поэтому с выходов элементов 48 неравнозначности снимается обратное значение поправки. Если значение поправки не совпадает с значениями сигналов тестового вектора ошибки (сигнал на выходе элемента 45 И имеет нулевое значение), то сигнал, поступающий с выхода элемента 47 НЕ на входы элементов 48 неравнозначности, обеспечивает инвертирование значений сигналов поправки (формируется прямое значение поправки). In this case, the And elements of the And 44 element group are opened, having at their inputs unit values of the correction signals and information bits of the test error vector. If the value of the signals coming from the outputs of the AND elements matches the correction value, then at the outputs of all the elements of the group of equivalence elements 46, single signal values appear (the And element 45 opens). In this case, the signal at the output of the element 47 has a zero value, therefore, the inverse of the correction value is removed from the outputs of the unequal elements 48. If the correction value does not coincide with the values of the signals of the test error vector (the signal at the output of element 45 AND has a zero value), then the signal from the output of element 47 is NOT at the inputs of the unequal elements 48, ensures the inversion of the values of the correction signals (a direct correction value is generated).

Устройство работает следующим образом. Перед началом работы на вход 39 подается сигнал "Сброс", который через пятый элемент 11 ИЛИ устанавливает в нулевое состояние триггер 23 и регистр 24. При поступлении сигнала "Запись" на вход 37 и адреса ячейки памяти на входы 40 в выбранную ячейку записывается информация, поступающая на вход 41. Одновременно подаваемая информация кодируется первым кодирующим устройством 3, и значения контрольных разрядов записываются в избыточный вычислительный канал 2. The device operates as follows. Before starting work, an “Reset” signal is applied to input 39, which, through the fifth element 11, OR sets the trigger 23 and register 24 to zero. When the “Write” signal arrives at input 37 and the address of the memory cell, inputs 40 are written to the selected cell, received at the input 41. At the same time, the supplied information is encoded by the first encoder 3, and the values of the control bits are recorded in the redundant computing channel 2.

При поступлении сигнала "Считывание" по выбранному адресу сигнал со входа 38 через седьмой элемент 13 ИЛИ поступает на вход считывания исходного вычислительного канала 1 и избыточного вычислительного канала 2. Upon receipt of the signal "Read" at the selected address, the signal from input 38 through the seventh element 13 OR is fed to the read input of the original computing channel 1 and the excess computing channel 2.

Информация, считываемая с исходного вычислительного канала 1 и избыточного вычислительного канала 2, поступает на блок 5 вычисления синдрома, где она повторно кодируется и сравнивается с значениями контрольных разрядов, т.е. вычисляется синдром ошибки. Кроме этого, сигналом, поступающим со входа 38, разрешается запись информационных разрядов и значения синдрома ошибки в регистр 24. Information read from the source computing channel 1 and the excess computing channel 2 is fed to the syndrome calculation unit 5, where it is re-encoded and compared with the values of the control bits, i.e. error syndrome is calculated. In addition, the signal from input 38 allows the recording of information bits and the values of the error syndrome in register 24.

Через время, определяемое первым элементом 17 задержки, RS-триггер 23 переводится в единичное состояние и его единичный сигнал разрешает считывание информации с регистра 24. After the time determined by the first delay element 17, the RS flip-flop 23 is brought into a single state and its single signal allows reading information from register 24.

Информация, считываемая с инверсных выходов регистра 24 (тестовое воздействие), через первый 7, второй 8, третий 9 и четвертый 10 элементы ИЛИ поступает на входы исходного вычислительного канала 1 и избыточного вычислительного канала 2. Information read from the inverse outputs of the register 24 (test effect), through the first 7, second 8, third 9 and fourth 10 OR elements is fed to the inputs of the original computing channel 1 and the excess computing channel 2.

Через время, определяемое четвертым элементом 20 задержки, сигнал с выхода RS-триггера 23 через седьмой элемент 13 ИЛИ разрешает повторное считывание информации (результатов тестового воздействия) с исходного вычислительного канала 1 и избыточного вычислительного канала 2. After the time determined by the fourth delay element 20, the signal from the output of the RS flip-flop 23 through the seventh OR element 13 allows the re-reading of information (results of the test action) from the original computing channel 1 and the excess computing channel 2.

Полученная ответная информация (YT, RT) сравнивается с исходной информацией (Yпр, Rпр) соответственно первым блоком 25 элементов неравнозначности и вторым блоком 26 элементов неравнозначности, т. е. формируется тестовый вектор ошибки В.The received response information (Y T , R T ) is compared with the initial information (Y CR , R CR ), respectively, by the first block 25 of the elements of ambiguity and the second block 26 of the elements of ambiguity, i.e., a test error vector B is generated.

Полученное значение информационных разрядов тестового вектора ошибки В кодируется вторым кодирующим устройством 4 (формируется код ошибки тестовых разрядов ЕИ) и затем сравнивается с значением синдрома ошибки ЕС на третьем блоке 27 элементов неравнозначности (формируется значение кода адреса поправки ЕК).The obtained value of the information bits of the test error vector B is encoded by the second encoding device 4 (the error code of the test bits E И is generated) and then compared with the value of the error syndrome Е С on the third block of unequal elements 27 (the value of the correction address code Е К is generated).

Если ошибок нет, то разряды тестового вектора ошибки имеют нулевые значения, соответственно код адреса поправки ЕК имеет нулевые значения. В этом случае с блока 32 хранения поправок считывается обратное значение поправки, имеющее в своих разрядах все единицы. Так как данное значение поправки не совпадает с значениями информационных разрядов тестового вектора ошибки, то блоком 33 вычисления признака поправки выбирается прямое значение поправки, т. е. нулевые значения поправки. В результате сложения значений поправки и значений информационных разрядов тестового вектора ошибки (имеющих нулевые значения) получим вектор ошибки Е, имеющий нулевые значения. Через время, определяемое вторым элементом 18 задержки, на корректор 6 поступает сигнал, разрешающий коррекцию. Так как вектор ошибки Е имеет нулевые значения, то информационные разряды поступают на выход без изменения. Через время, определяемое третьим элементом 19 задержки, триггер 23 и регистр 24 переводятся в исходное состояние.If there are no errors, then the bits of the test error vector have zero values, respectively, the correction address code E K has zero values. In this case, the inverse correction value is read from the correction storage unit 32, which has all units in its digits. Since this correction value does not coincide with the values of the information bits of the test error vector, then, by the correction attribute calculation unit 33, a direct correction value is selected, i.e., zero correction values. As a result of adding the correction values and the values of the information bits of the test error vector (having zero values), we obtain the error vector E having zero values. After a time determined by the second delay element 18, a corrector 6 receives a signal enabling correction. Since the error vector E has zero values, the information bits are output without change. After the time determined by the third delay element 19, the trigger 23 and the register 24 are reset.

При возникновении ошибки во всех информационных разрядах (появлении сигнала на выходе элемента 21 И) или одновременном возникновении ошибок в информационных и контрольных разрядах (появлении сигналов на выходе восьмого 14 и девятого элементов ИЛИ) на выходе десятого элемента 16 ИЛИ формируется сигнал "Отказ устройства". If an error occurs in all information bits (the appearance of the signal at the output of the 21 AND element) or a simultaneous error occurs in the information and control bits (appearance of the signals at the output of the eighth 14 and the ninth OR element), the output of the tenth element 16 OR forms the “Device failure” signal.

При возникновении ошибки только в контрольных разрядах (наличие единичного значения сигнала на выходе восьмого элемента 14 ИЛИ) и отсутствии ошибок в информационных разрядах (наличие нулевого значения сигнала на выходе девятого элемента 15 ИЛИ) на выходе первого дешифратора 29 появляется сигнал, который через элемент 31 НЕ, блок 22 элементов И запрещает подачу сигналов вектора ошибки Е на корректор 6. If an error occurs only in the control bits (the presence of a single signal value at the output of the eighth element OR 14) and the absence of errors in the information bits (the presence of a zero value of the signal at the output of the ninth OR element 15), a signal appears at the output of the first decoder 29, which is NOT through the element 31 , block 22 elements And prohibits the supply of signals of the vector of error E to the corrector 6.

При возникновении скрытой ошибки третьим блоком 27 неравнозначности формируется код адреса поправки ЕК, по которому вторым дешифратором 30 выбирается обратное значение поправки из блока 32 хранения поправок. В результате сравнения значения выбранной поправки с значениями информационных разрядов тестового вектора ошибки блоком 33 вычисления признака поправки выбирается прямое или обратное значение поправки. В результате сложения значений информационных разрядов тестового вектора ошибки с выбранным значением поправки четвертым блоком 28 элементов неравнозначности формируется вектор ошибки Е.When a latent error occurs, the third ambiguity unit 27 generates a correction address code E K , by which the second decoder 30 selects the inverse of the correction value from the amendment storage unit 32. As a result of comparing the values of the selected correction with the values of the information bits of the test error vector, the direct or inverse correction value is selected by the correction attribute calculation unit 33. As a result of adding the values of the information bits of the test error vector with the selected correction value by the fourth block 28 of unequal elements, an error vector E is formed.

Исправление ошибки корректором 6 осуществляется путем сложения информационных разрядов Yпр, содержащих ошибку, с вектором ошибки Е.Error correction by corrector 6 is carried out by adding information bits Y pr containing the error with the error vector E.

Предлагаемое устройство позволяет обеспечить:
обнаруживать правильные и скрытые ошибки любой кратности;
корректировать ошибки в информационных разрядах кратности d≤k-1;
минимальные аппаратурные затраты на обеспечение защиты информации по сравнению со структурными методами резервирования и традиционными методами обнаружения и коррекции кратных ошибок на основе линейных кодов, которые составляют 20-40% исходного оборудования и соизмеримы с затратами кода, исправляющего одиночную ошибку;
определение конфигурации ошибки по результатам мгновенного контроля (в результате подачи одного тестового воздействия, которое может подаваться только при возникновении ошибки), т. е. практически без снижения быстродействия исходного устройства.
The proposed device allows to provide:
detect correct and hidden errors of any multiplicity;
correct errors in information bits of multiplicity d≤k-1;
minimal hardware costs for ensuring information protection compared to structural backup methods and traditional methods for detecting and correcting multiple errors based on linear codes, which make up 20-40% of the original equipment and are comparable to the costs of a code that corrects a single error;
determination of the error configuration based on the results of instant monitoring (as a result of submitting one test action that can be given only when an error occurs), i.e., practically without reducing the speed of the original device.

Источники информации
1. Авторское свидетельство СССР 1716521, кл. G 06 F 11/18, 1989 г.
Sources of information
1. Copyright certificate of the USSR 1716521, cl. G 06 F 11/18, 1989

2. Щербаков Н. С. Достоверность работы цифровых устройств. М.: Машиностроение, 1989, с. 82, рис. 39, 224 с. 2. Scherbakov N. S. Reliability of digital devices. M.: Engineering, 1989, p. 82, fig. 39, 224 p.

Claims (1)

Отказоустойчивое оперативное запоминающее устройство, содержащее исходный вычислительный канал, избыточный вычислительный канал, первое кодирующее устройство, блок вычисления синдрома, первый дешифратор, адресные входы устройства, информационные входы устройства, вход записи, вход считывания, корректор, выходы которого являются информационными выходами устройства, отличающееся тем, что дополнительно содержит второе кодирующее устройство, с первого по десятый элементы ИЛИ, с первого по четвертый элементы задержки, элемент И, блок элементов И, RS-триггер, регистр, с первого по четвертый блоки элементов неравнозначности, второй дешифратор, элемент НЕ, блок хранения поправок, блок вычисления признака поправки, вход "Сброс", причем адресные входы подключены к первым входам исходного вычислительного канала, информационные входы через первый и второй элементы ИЛИ подключены ко вторым входам исходного вычислительного канала и к первым входам первого кодирующего устройства, подключенного своими выходами через третий и четвертый элементы ИЛИ к первым входам избыточного вычислительного канала, вход "Сброс" через пятый элемент ИЛИ подключен к нулевым входам регистра и RS-триггера, вход "Считывание" подключен к входу "Запись регистра", через седьмой элемент ИЛИ - к третьему входу исходного вычислительного канала, к второму входу избыточного вычислительного канала и через первый элемент задержки - к единичному входу RS-триггера, вход "Запись" через шестой элемент ИЛИ подключен к четвертому входу исходного вычислительного канала, третьему входу избыточного вычислительного канала, выходы исходного вычислительного канала подключены к вторым входам регистра, к первым входам блока вычисления синдрома и к первым входам первого блока элементов неравнозначности, выходы избыточного вычислительного канала подключены к вторым входам блока вычисления синдрома, к третьим входам регистра и к первым входам второго блока элементов неравнозначности, выходы блока вычисления синдрома подключены к четвертым входам регистра, единичный выход RS-триггера подключен к входу "Считывание регистра", через второй элемент задержки - к первому входу корректора, через третий элемент задержки - к второму входу пятого элемента ИЛИ, через четвертый элемент задержки к второму входу седьмого элемента ИЛИ, первая группа выходов регистра подключена к вторым входам с первого по четвертый элементов ИЛИ, вторая группа выходов регистра подключена к вторым входам первого блока элементов неравнозначности и к вторым входам корректора, третья и четвертая группы выходов регистра подключены соответственно к вторым входам второго блока элементов неравнозначности и к первым входам третьего блока элементов неравнозначности, выход первого блока элементов неравнозначности - к входам второго кодирующего устройства, к входам элемента И, к входам девятого элемента ИЛИ, к первым входам четвертого блока элементов неравнозначности и к первым входам блока вычисления признака поправки, выходы второго блока элементов неравнозначности подключены к входам восьмого элемента ИЛИ, выходы восьмого элемента ИЛИ, девятого элемента ИЛИ и элемента И подключены к входам первого дешифратора, первый выход которого через элемент НЕ подключен к первому входу блока элементов И, а вторая группа выходов подключена к входам десятого элемента ИЛИ, выходы третьего блока элементов неравнозначности подключены к входам второго дешифратора, подключенного своими выходами ко входам блока хранения поправок, выходы которого подключены ко вторым входам блока вычисления признака поправки, соединенного своими выходами со вторыми входами четвертого блока элементов неравнозначности, выходы четвертого блока элементов неравнозначности через блок элементов И подключены к третьим входам корректора, выходы которого являются информационными выходами устройства, выход десятого элемента ИЛИ является выходом формирования сигнала "Отказ устройства". A fault-tolerant random access memory containing the source computing channel, the redundant computing channel, the first coding device, the syndrome calculation unit, the first decoder, the device address inputs, the device information inputs, the write input, the read input, the corrector, the outputs of which are the information outputs of the device, characterized in that additionally contains a second encoding device, from the first to tenth elements OR, from the first to fourth delay elements, element AND, block ele cops And, RS-trigger, register, from the first to the fourth blocks of disambiguation elements, the second decoder, the element NOT, the correction storage unit, the correction attribute calculation unit, the "Reset" input, and the address inputs are connected to the first inputs of the original computing channel, information inputs through the first and second elements, OR are connected to the second inputs of the original computing channel and to the first inputs of the first encoding device, connected with its outputs through the third and fourth elements of OR to the first inputs of excess subtraction channel, the Reset input through the fifth OR element is connected to the zero inputs of the register and RS-trigger, the Read input is connected to the Register write input, through the seventh OR element to the third input of the original computing channel, to the second input of the excess computing channel and through the first delay element to the single input of the RS-trigger, the input "Record" through the sixth element OR is connected to the fourth input of the original computing channel, the third input of the redundant computing channel, the outputs of the original computing channel the channels are connected to the second inputs of the register, to the first inputs of the syndrome calculation unit and to the first inputs of the first block of disambiguation elements, the outputs of the redundant computing channel are connected to the second inputs of the syndrome calculation block, to the third inputs of the register and to the first inputs of the second block of disambiguity, outputs of the calculation block syndrome are connected to the fourth inputs of the register, a single output of the RS-trigger is connected to the input "Read register", through the second delay element to the first input of the corrector, through the third e delay element - to the second input of the fifth OR element, through the fourth delay element to the second input of the seventh OR element, the first group of register outputs is connected to the second inputs from the first to fourth OR elements, the second group of register outputs is connected to the second inputs of the first block of unequal elements and to the second inputs of the corrector, the third and fourth groups of outputs of the register are connected respectively to the second inputs of the second block of disambiguity elements and to the first inputs of the third block of discontinuity elements, the output of the first block of disambiguation elements - to the inputs of the second encoding device, to the inputs of the And element, to the inputs of the ninth OR element, to the first inputs of the fourth block of disambiguation elements and to the first inputs of the correction attribute calculation unit, the outputs of the second block of disambiguation elements are connected to the inputs of the eighth OR element , the outputs of the eighth OR element, the ninth OR element, and the AND element are connected to the inputs of the first decoder, the first output of which through the element is NOT connected to the first input of the block of AND elements, and w the paradise group of outputs is connected to the inputs of the tenth element OR, the outputs of the third block of discontinuity elements are connected to the inputs of the second decoder, connected by its outputs to the inputs of the correction storage unit, the outputs of which are connected to the second inputs of the correction attribute calculation unit, connected by its outputs to the second inputs of the fourth element block disambiguations, the outputs of the fourth block of disambiguation elements through a block of elements AND are connected to the third inputs of the corrector, the outputs of which are infor Discount output device, an output of the tenth OR is a signal output of "Fail".
RU2001111743/09A 2001-04-28 2001-04-28 Fault-tolerant random-access memory RU2211492C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2001111743/09A RU2211492C2 (en) 2001-04-28 2001-04-28 Fault-tolerant random-access memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2001111743/09A RU2211492C2 (en) 2001-04-28 2001-04-28 Fault-tolerant random-access memory

Publications (2)

Publication Number Publication Date
RU2001111743A RU2001111743A (en) 2003-03-10
RU2211492C2 true RU2211492C2 (en) 2003-08-27

Family

ID=29245437

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2001111743/09A RU2211492C2 (en) 2001-04-28 2001-04-28 Fault-tolerant random-access memory

Country Status (1)

Country Link
RU (1) RU2211492C2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2448359C1 (en) * 2011-04-05 2012-04-20 Межрегиональное общественное учреждение "Институт инженерной физики" Apparatus for storing and transmitting data with error correction in data byte and error detection in data bytes
RU2524854C1 (en) * 2013-07-12 2014-08-10 Открытое акционерное общество "Информационные спутниковые системы" имени академика М.Ф. Решетнёва" Device for detecting and correcting errors in parallel highway
RU2579954C2 (en) * 2014-07-30 2016-04-10 Межрегиональное общественное учреждение "Институт инженерной физики" Fail-safe random access memory
RU2826822C1 (en) * 2024-03-18 2024-09-17 Александр Алексеевич Павлов Data storage device with single error correction and double error detection

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ЩЕРБАКОВ Н.С. Достоверность работы цифровых устройств. - М.: Машиностроение, 1989, с.82, рис.39. *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2448359C1 (en) * 2011-04-05 2012-04-20 Межрегиональное общественное учреждение "Институт инженерной физики" Apparatus for storing and transmitting data with error correction in data byte and error detection in data bytes
RU2524854C1 (en) * 2013-07-12 2014-08-10 Открытое акционерное общество "Информационные спутниковые системы" имени академика М.Ф. Решетнёва" Device for detecting and correcting errors in parallel highway
RU2579954C2 (en) * 2014-07-30 2016-04-10 Межрегиональное общественное учреждение "Институт инженерной физики" Fail-safe random access memory
RU2826990C2 (en) * 2022-07-18 2024-09-19 ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ КАЗЕННОЕ ВОЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ Военная академия Ракетных войск стратегического назначения имени Петра Великого МИНИСТЕРСТВА ОБОРОНЫ РОССИЙСКОЙ ФЕДЕРАЦИИ Redundant memory with error correction in duplicated channels
RU2826822C1 (en) * 2024-03-18 2024-09-17 Александр Алексеевич Павлов Data storage device with single error correction and double error detection

Similar Documents

Publication Publication Date Title
EP1160987B1 (en) Method and apparatus for verifying error correcting codes
US5457702A (en) Check bit code circuit for simultaneous single bit error correction and burst error detection
US4236247A (en) Apparatus for correcting multiple errors in data words read from a memory
US20050050434A1 (en) Method for performing error corrections of digital information codified as a symbol sequence
JPS6349245B2 (en)
RU2403615C2 (en) Device for storing and transferring information with double error detection
Wang et al. Reliable and secure memories based on algebraic manipulation correction codes
US4417339A (en) Fault tolerant error correction circuit
US3218612A (en) Data transfer system
RU164633U1 (en) STORAGE AND TRANSMISSION DEVICE WITH ERROR DETECTION
RU2211492C2 (en) Fault-tolerant random-access memory
RU2450332C1 (en) Information storage device with single and double error detection
WO2022151724A1 (en) Error correction system
RU76479U1 (en) MEMORY DEVICE WITH DUAL ERROR DETECTION
RU51427U1 (en) FAULT-RESISTANT MEMORY DEVICE FOR HIGHER FUNCTIONING RELIABILITY
RU2579954C2 (en) Fail-safe random access memory
RU51428U1 (en) FAULT-RESISTANT PROCESSOR OF INCREASED FUNCTIONAL RELIABILITY
US3474412A (en) Error detection and correction equipment
RU2826990C2 (en) Redundant memory with error correction in duplicated channels
RU2297030C2 (en) Self-correcting information storage device
RU2297034C2 (en) Fault-tolerant information storage device
RU2681704C1 (en) Block code encoding and decoding method
RU2816550C1 (en) Information storage and reading device with single error correction
RU2297035C2 (en) Fault-tolerant memorizing device
RU2826822C1 (en) Data storage device with single error correction and double error detection

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20040429