RU2450331C1 - Apparatus for storing and transmitting data with single error correction in data byte and arbitrary error detection in data bytes - Google Patents

Apparatus for storing and transmitting data with single error correction in data byte and arbitrary error detection in data bytes Download PDF

Info

Publication number
RU2450331C1
RU2450331C1 RU2011112829/08A RU2011112829A RU2450331C1 RU 2450331 C1 RU2450331 C1 RU 2450331C1 RU 2011112829/08 A RU2011112829/08 A RU 2011112829/08A RU 2011112829 A RU2011112829 A RU 2011112829A RU 2450331 C1 RU2450331 C1 RU 2450331C1
Authority
RU
Russia
Prior art keywords
inputs
block
input
information
outputs
Prior art date
Application number
RU2011112829/08A
Other languages
Russian (ru)
Inventor
Константин Юрьевич Борисов (RU)
Константин Юрьевич Борисов
Юрий Георгиевич Малофеев (RU)
Юрий Георгиевич Малофеев
Павел Николаевич Осипенко (RU)
Павел Николаевич Осипенко
Алексей Александрович Павлов (RU)
Алексей Александрович Павлов
Павел Александрович Павлов (RU)
Павел Александрович Павлов
Александр Алексеевич Павлов (RU)
Александр Алексеевич Павлов
Олег Владимирович Хоруженко (RU)
Олег Владимирович Хоруженко
Алексей Николаевич Царьков (RU)
Алексей Николаевич Царьков
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 RU2011112829/08A priority Critical patent/RU2450331C1/en
Application granted granted Critical
Publication of RU2450331C1 publication Critical patent/RU2450331C1/en

Links

Landscapes

  • Error Detection And Correction (AREA)

Abstract

FIELD: information technology.
SUBSTANCE: apparatus has a memory unit, an input encoding unit, an output encoding unit, an error syndrome calculating unit, a decoder, a switch, a block of switches, a corrector, a block of correctors, a first OR element, a second OR element, an inverter, an AND element, a block of AND elements, a zero state setting input, a write input, a read input, address inputs, data inputs, a clock input, data outputs and an error signal output.
EFFECT: correction of all single errors in separate data bytes and detection of arbitrary errors in data bytes.
1 dwg, 2 tbl, 1 app

Description

Изобретение относится к вычислительной технике и может быть использовано для повышения достоверности функционирования запоминающих устройств.The invention relates to computer technology and can be used to increase the reliability of the storage devices.

Известно самокорректирующееся устройство [1], использующее корректирующий код (наиболее часто используется код Хемминга, корректирующий одиночную ошибку и обнаруживающий двойную ошибку).A self-correcting device [1] is known that uses a correction code (the most frequently used Hamming code is that corrects a single error and detects a double error).

Недостатком устройства является низкая обнаруживающая способность кода, так как обнаруживаются только двойные ошибки.The disadvantage of this device is the low detecting ability of the code, since only double errors are detected.

Наиболее близким по техническому решению является отказоустойчивое устройство хранения и передачи данных, реализующее коды, исправляющие одиночные ошибки, обнаруживающие двойные независимые ошибки и обнаруживающие одиночные байты ошибок [2], содержащие узел памяти, входной блок кодирования, выходной блок кодирования, блок вычисления синдрома ошибки, дешифратор, коммутаторы ошибок байтов, корректор, входы устройства подключены к входам узла памяти и к входам входного кодирующего устройства, выходы которого подключены к первым входам блока вычисления синдрома, выходы узла памяти подключены к вторым входам блока вычисления синдрома и к первым входам корректора, выходы блока вычисления синдрома подключены к входам дешифратора, соединенного своими выходами со вторыми входами корректора, выходы корректора являются выходами устройства.The closest in technical solution is a fault-tolerant device for storing and transmitting data that implements codes correcting single errors, detecting double independent errors and detecting single error bytes [2], containing a memory node, an input coding unit, an output coding unit, an error syndrome calculation unit, decoder, byte error switches, corrector, device inputs are connected to the inputs of the memory node and to the inputs of the input encoding device, the outputs of which are connected to the first inputs calculating eye syndrome, memory unit outputs are connected to second inputs of syndrome calculation unit and to first inputs of corrector unit outputs syndrome calculation are connected to inputs of the decoder, their outputs connected to second inputs of the equalizer, the equalizer output is the output device.

Недостатком устройства является низкая обнаруживающая способность ошибок в устройстве, так как обнаруживаются только двойные независимые ошибки и обнаруживающие одиночные байты ошибок.A disadvantage of the device is the low error detection capacity of the device, since only double independent errors and single error bytes are detected.

Целью изобретения является повышение достоверности функционирования устройства за счет коррекции одиночных ошибок и обнаружения произвольных ошибок байтах информации.The aim of the invention is to increase the reliability of the device by correcting single errors and detecting arbitrary errors bytes of information.

Поставленная цель достигается тем, что устройство, содержащее узел памяти, входной блок кодирования, выходной блок кодирования, блок вычисления синдрома ошибки, дешифратор, коммутатор, блок коммутаторов, корректор, блок корректоров, отличается тем, что оно дополнительно содержит первый блок элементов ИЛИ, второй блок элементов ИЛИ, инвертор, элемент И, блок элементов И, вход установки устройства в нулевое состояние, вход записи, вход считывания, адресные входы, 24-разрядные информационные входы, вход синхронизации, информационные выходы, выход сигнала «ошибка», вход установки в нулевое состояние, вход записи, вход считывания, адресные входы подключены соответственно к первому, второму, третьему и четвертому входам узла памяти, вход синхронизации подключен к пятому входу узла памяти и к первому входу блока элементов И, информационные входы подключены к шестым входам узла памяти и к входам входного блока кодирования который формирует значения контрольных разрядов r1, r2, r3, r4, r5, r6 путем сложения по модулю 2 информационных символов x1 x2 x3, z1 z2 z3, a1 a2 a3, c1 c2 c3, e1 e2 e3, f1 f2 f3, g1 g2 g3, h1 h2 h3, поступающих на входы входного блока кодирования, в соответствии с правилом:This goal is achieved in that the device containing the memory node, the input coding unit, the output coding unit, the error syndrome calculation unit, the decoder, the switch, the switch unit, the corrector, the corrector unit, is characterized in that it additionally contains the first block of OR elements, the second OR element block, inverter, AND element, AND element block, device zero input, write input, read input, address inputs, 24-bit information inputs, synchronization input, information outputs, you “error” signal path, zero input, write input, read input, address inputs are connected respectively to the first, second, third and fourth inputs of the memory node, the synchronization input is connected to the fifth input of the memory node and to the first input of the AND block, information inputs are connected to the sixth inputs of the memory node and to the inputs of the input coding unit which generates the values of the control bits r 1 , r 2 , r 3 , r 4 , r 5 , r 6 by adding modulo 2 information symbols x 1 x 2 x 3 , z 1 z 2 z 3 , a 1 a 2 a 3 , c 1 c 2 c 3 , e 1 e 2 e 3 , f 1 f 2 f 3 , g 1 g 2 g 3 , h 1 h 2 h 3 received at the inputs of the input coding block, in accordance with the rule:

Figure 00000001
Figure 00000001

которые поступают на седьмые входы узла памяти, информационные выходы узла памяти подключены соответственно к первым входам корректора, блока корректоров и к входам выходного блока кодирования, который формирует значения проверочных контрольных разрядов r, r, r, r, r, r путем сложения по модулю 2 информационных символов x x x, z z z, a a a, c c c, e e e, f f f, g g g, h h h, поступающих на входы входного блока кодирования с информационных выходов узла памяти, в соответствии с правилом: which go to the seventh inputs of the memory node, the information outputs of the memory node are connected respectively to the first inputs of the corrector, the corrector block and the inputs of the output coding block, which generates the values of the test check bits r 1P , r 2P , r 3P , r 4P , r 5P , r 6P by adding modulo 2 information symbols x 1P x 2P x 3P , z 1P z 2P z 3P , a 1P a 2P a 3P , c 1P c 2P c 3P , e 1P e 2P e 3P , f 1P f 2P f 3P , g 1P g 2P g 3P , h 1P h 2P h 3P received at the inputs of the input coding block from the information outputs of the memory node, in accordance with the rule:

Figure 00000002
выходы выходного блока кодирования подключены к первым входам блока вычисления синдрома ошибки, к вторым входам которого подключены выходы контрольных разрядов узла памяти, первые выходы блока вычисления синдрома ошибки подключены к первым входам дешифратора, к первым входам коммутатора, к входам первого блока элементов ИЛИ и к первым входам блока коммутаторов, вторые выходы блока вычисления синдрома ошибки подключены к вторым входам дешифратора и к вторым входам первого блока элементов ИЛИ, выходы дешифратора подключены к входам второго блока элементов ИЛИ, при этом первый выход дешифратора подключен к второму входу коммутатора, а вторые выходы подключены к вторым входам блока коммутаторов, выход второго блока элементов ИЛИ через инвертор подключен к первому входу элемента И, второй вход которого подключен к выходу первого блока элементов ИЛИ, выход элемента И является выходом сигнала «ошибка», выходы коммутатора подключены к вторым входам корректора, выходы блока коммутаторов подключены к вторым входам блока корректоров, выходы корректора и блока корректоров подключены к вторым входам блока элементов И, выходы которого являются информационными выходами устройства.
Figure 00000002
the outputs of the output coding unit are connected to the first inputs of the error syndrome calculation unit, the outputs of the control bits of the memory node are connected to its second inputs, the first outputs of the error syndrome calculation unit are connected to the first inputs of the decoder, to the first inputs of the switch, to the inputs of the first block of OR elements, and to the first the inputs of the switch block, the second outputs of the error syndrome calculation block are connected to the second inputs of the decoder and to the second inputs of the first block of OR elements, the outputs of the decoder are connected to the WTO inputs of the second block of OR elements, with the first output of the decoder connected to the second input of the switch, and the second outputs connected to the second inputs of the block of switches, the output of the second block of OR elements through an inverter connected to the first input of the AND element, the second input of which is connected to the output of the first block of OR elements , the output of the AND element is the output of the “error” signal, the switch outputs are connected to the second inputs of the corrector, the outputs of the switch block are connected to the second inputs of the corrector block, the outputs of the corrector and the corrector block under lyucheny to second inputs of the AND block whose outputs are information device outputs.

На фиг.1 представлена блок-схема устройства. Устройство хранения и передачи данных с исправлением одиночных ошибок в байте информации и обнаружением произвольных ошибок в байтах информации содержит: узел 1 памяти, входной блок 2 кодирования, выходной блок 3 кодирования, блок 4 вычисления синдрома ошибки, дешифратор 5, коммутатор 6, блок 7 коммутаторов, корректор 8, блок 9 корректоров, первый элемент 10 ИЛИ, второй элемент 11 ИЛИ, инвертор 12, элемент 13 И, блок 14 элементов И, вход 15 установки в нулевое состояние, вход 16 записи, вход 17 считывания, адресные входы 18, информационные входы 19, вход 20 синхронизации, информационные выходы 21, выход 22 сигнала "ошибка".Figure 1 presents a block diagram of a device. A device for storing and transmitting data with the correction of single errors in the byte of information and the detection of arbitrary errors in the bytes of information contains: memory node 1, input coding block 2, output coding block 3, error syndrome calculation block 4, decoder 5, switch 6, switch block 7 , corrector 8, corrector block 9, first element 10 OR, second element 11 OR, inverter 12, element 13 AND, block 14 elements AND, input 15 to zero, input 16 records, input 17 read, address inputs 18, information inputs 19, input 20 sync ronization, information outputs 21, output 22 of the error signal.

Вход 15 установки в нулевое состояние, вход 16 записи, вход 17 считывания, адресные входы 18 подключены соответственно к первому, второму, третьему и четвертому входам узла 1 памяти, вход 20 синхронизации подключен к пятому входу узла 1 памяти и к первому входу блока 14 элементов И, информационные входы 19 подключены к шестым входам узла 1 памяти и к входам входного блока 2 кодирования, который формирует значения контрольных разрядов r1, r2, r3, r4, r5, r6 путем сложения по модулю 2 информационных символов x1 х2 х3, z1 z2 z3, a1 а2 а3, c1 с2 с3, e1 е2 е3, f1 f2 f3, g1 g2 g3, h1 h2 h3, поступающих на входы входного блока 2 кодирования, в соответствии с правилом:The input 15 is set to zero, input 16 records, input 17 reads, address inputs 18 are connected respectively to the first, second, third and fourth inputs of the memory node 1, the synchronization input 20 is connected to the fifth input of the memory node 1 and to the first input of the block of 14 elements And, the information inputs 19 are connected to the sixth inputs of the memory node 1 and to the inputs of the encoding input unit 2, which generates the values of the control bits r 1 , r 2 , r 3 , r 4 , r 5 , r 6 by adding modulo 2 information symbols x 1 x 2 x 3 , z 1 z 2 z 3 , a 1 a 2 a 3 , c 1 s 2 s 3 , e 1 e 2 e 3 , f 1 f 2 f 3 , g 1 g 2 g 3 , h 1 h 2 h 3 received at the inputs of the input coding unit 2, in accordance with the rule:

Figure 00000003
Figure 00000003

которые поступают на седьмые входы узла 1 памяти, информационные выходы узла памяти подключены соответственно к первым входам корректора, 8 блока 9 корректоров и к входам выходного блока 3 кодирования, который формирует значения проверочных контрольных разрядов r, r, r, r, r, r путем сложения по модулю 2 информационных символов x х х, z z z, a а а, c с с, e е е, f f f, g g g, h h h, поступающих на входы входного блока 3 кодирования с информационных выходов узла 1 памяти, в соответствии с правилом: which go to the seventh inputs of the memory node 1, the information outputs of the memory node are connected respectively to the first inputs of the corrector, 8 of the 9 corrector block and to the inputs of the output coding block 3, which generates the values of the test check bits r 1P , r 2P , r 3P , r 4P , r 5P , r 6P by adding modulo 2 information symbols x 1P x 2P x 3P , z 1P z 2P z 3P , a 1P and 2P and 3P , c 1P with 2P with 3P , e 1P 2P 3P , f 1P f 2P 3P f, g g 1P 2P 3P g, h h 1P 2P 3P h input at the input section 3 inputs coding information memory unit 1 outputs, in accordance with the rule :

Figure 00000004
Figure 00000004

выходы выходного блока 3 кодирования подключены к первым входам блока 4 вычисления синдрома ошибки, к вторым входам которого подключены выходы контрольных разрядов узла 1 памяти, первые выходы блока 4 вычисления синдрома ошибки подключены к первым входам дешифратора 5, к первым входам коммутатора 6, к входам первого блока 10 элементов ИЛИ и к первым входам блока 7 коммутаторов, вторые выходы блока 4 вычисления синдрома ошибки подключены к вторым входам дешифратора 5 и к вторым входам первого блока 10 элементов ИЛИ, выходы дешифратора 5 подключены к входам второго блока 11 элементов ИЛИ, при этом первый выход дешифратора 5 подключен к второму входу коммутатора 6, а вторые выходы подключены к вторым входам блока 7 коммутаторов, выход второго блока 11 элементов ИЛИ через инвертор 12 подключен к первому входу элемента 13 И, второй вход которого подключен к выходу первого блока 10 элементов ИЛИ, выход элемента 13 И является выходом сигнала «ошибка», выходы коммутатора 6 подключены к вторым входам корректора 8, выходы блока 7 коммутаторов подключены к вторым входам блока 9 корректоров, выходы корректора 8 и блока 9 корректоров подключены к входам блока 14 элементов И, выходы которого являются информационными выходами 21 устройства.the outputs of the output coding unit 3 are connected to the first inputs of the error syndrome calculation unit 4, the outputs of the control bits of the memory unit 1 are connected to its second inputs, the first outputs of the error syndrome calculation unit 4 are connected to the first inputs of the decoder 5, to the first inputs of the switch 6, to the inputs of the first unit 10 of the OR elements and to the first inputs of unit 7 of the switches, the second outputs of the unit 4 for calculating the error syndrome are connected to the second inputs of the decoder 5 and to the second inputs of the first block 10 of the elements OR, the outputs of the decoder 5 are connected s to the inputs of the second block 11 of the OR elements, while the first output of the decoder 5 is connected to the second input of the switch 6, and the second outputs are connected to the second inputs of the block 7 of the switches, the output of the second block 11 of the OR elements through the inverter 12 is connected to the first input of the element 13 AND, the second input of which is connected to the output of the first block of 10 elements OR, the output of element 13 AND is the output of the signal "error", the outputs of the switch 6 are connected to the second inputs of the corrector 8, the outputs of the block 7 of the switches are connected to the second inputs of the block 9 of the correctors, the outputs of projector of 8 and block 9 correctors are connected to inputs of the AND unit 14, which outputs are data outputs 21 of the device.

Узел 1 памяти, в данном случае, представляет собой статическое полупроводниковое оперативное устройство памяти и предназначен для хранения кодовых наборов: УK=x1 х2 х3, z1 z2 z3, a1 а2 а3, c1 с2 с3, e1 е2 е3, f1 f2 f3, g1 g2 g3, h1 h2 h3 r1 r2 r3 r4 r5 r6, полученных при кодировании исходных двадцатичетырехразрядных двоичных наборов.The memory node 1, in this case, is a static semiconductor operational memory device and is designed to store code sets: K = x 1 x 2 x 3 , z 1 z 2 z 3 , a 1 a 2 a 3 , c 1 s 2 s 3 , e 1 e 2 e 3 , f 1 f 2 f 3 , g 1 g 2 g 3 , h 1 h 2 h 3 r 1 r 2 r 3 r 4 r 5 r 6 obtained by encoding the original twenty-four-bit binary sets .

Входной блок 2 кодирования предназначен для формирования значений контрольных разрядов r1, r2, r3, r4, r5, r6 путем сложения по mod2 информационных символов в соответствии с правилом:The input coding unit 2 is intended for generating the values of the control bits r 1 , r 2 , r 3 , r 4 , r 5 , r 6 by adding mod2 information symbols in accordance with the rule:

Figure 00000005
Figure 00000005

Выходной блок 3 кодирования предназначен для формирования значений проверочных контрольных разрядов r, r, r, r, r, r путем сложения по mod2 информационных символов, полученных при считывании информации с узла 1 памяти в соответствии с правилом:The output coding unit 3 is designed to generate the values of test check bits r 1P , r 2P , r 3P , r 4P , r 5P , r 6P by adding mod2 information symbols received when reading information from the memory node 1 in accordance with the rule:

Figure 00000006
Figure 00000006

Блок 4 вычисления синдрома ошибки предназначен для обнаружения ошибки в кодовом наборе при считывании информации с узла 1 памяти путем сложения по mod2 значений контрольных разрядов r1, r2, r3, r4, r5 и r6, считываемых с вторых выходов узла 1 памяти, соответственно с значениями контрольных разрядов r, r, r, r и r, сформированных на выходах выходного блока 3 кодирования.Block 4 of the calculation of the error syndrome is intended to detect errors in the code set when reading information from the memory node 1 by adding mod2 values of the control bits r 1 , r 2 , r 3 , r 4 , r 5 and r 6 read from the second outputs of node 1 memory, respectively, with the values of the control bits r 1P , r 2P , r 3P , r 5P and r 6P formed at the outputs of the output coding unit 3.

Результат поразрядного сложения:The result of bitwise addition:

λ1=r1⊕r;λ 1 = r 1 ⊕r 1P ;

λ2=r2⊕r;λ 2 = r 2 ⊕r 2P ;

λ3=r3⊕r;λ 3 = r 3 ⊕r 3P ;

λ4=r4⊕r;λ 4 = r 4 ⊕r 4P ;

λ5=r5⊕r;λ 5 = r 5 ⊕r 5P ;

λ6=r6⊕r.λ 6 = r 6 ⊕r 6P .

Нулевой результат суммы свидетельствует об отсутствии ошибки и ее наличии в противном случае.A zero result of the sum indicates the absence of an error and its presence otherwise.

Выходы λ1, λ2 λ3 блока 4 вычисления синдрома ошибки позволяют определять конфигурацию ошибки (вектор ошибки λ1 λ2 λ3, содержащий единичные значения в тех разрядах, которые соответствуют ошибочным разрядам в блоке информации), выходы λ4, λ5 λ6 определяют блок информационных разрядов, в котором произошла ошибка.The outputs λ 1 , λ 2 λ 3 of the error syndrome calculation unit 4 allow the error configuration to be determined (error vector λ 1 λ 2 λ 3 containing unit values in those bits that correspond to the error bits in the information block), outputs λ 4 , λ 5 λ 6 determine the block of information bits in which an error occurred.

Дешифратор 7 формирует единичное значение сигнала на одном из своих выходов в соответствии с таблицей:The decoder 7 generates a single signal value at one of its outputs in accordance with the table:

Таблица 1Table 1 Значения синдромов для кода (30,6), исправляющего одиночные ошибкиSyndrome values for code (30.6) correcting single errors № п/пNo. p / p Безошибочный блок инфор-и 000Error-free block infor-000 Значение первой части контрольных разрядовThe value of the first part of the control bits Значения проверок второй части контрольных разрядовValues of checks of the second part of the control bits Ошибочный блок информацииIncorrect information block XX ZZ AA CC EE FF GG HH 1one 100one hundred 100one hundred 100one hundred 010010 001001 011011 110110 101101 111111 000000 22 010010 010010 010010 001001 100one hundred 101101 011011 110110 111111 000000 33 001001 001001 001001 100one hundred 010010 010010 101101 011011 111111 000000

Если значение синдрома ошибки не соответствует значениям, представленным в таблице, то произошла не корректируемая ошибка (сигналы на выходе дешифратора имеют нулевые значения).If the value of the error syndrome does not correspond to the values presented in the table, then an uncorrectable error has occurred (the signals at the decoder output have zero values).

В этом случае, о наличии не корректируемой ошибки свидетельствует наличие единичного значения сигнала на выходе первого блока 10 элементов ИЛИ и отсутствие единичного значения сигнала на выходе второго элемента 11 ИЛИ.In this case, the presence of a non-correctable error is indicated by the presence of a single signal value at the output of the first block of 10 OR elements and the absence of a single signal value at the output of the second OR element 11.

Корректор 8 (блок 9 корректоров) предназначен для исправления корректируемой ошибки путем сложения по mod2 одноименных разрядов блока информации, имеющего ошибку с значением вектора ошибки.Corrector 8 (corrector block 9) is designed to correct a correctable error by adding mod2 of the same category of information block having an error with the value of the error vector.

Устройство работает следующим образом. Перед началом работы устройства на вход 15 "установки в нулевое состояние" подается единичный сигнал, который переводит устройство в нулевое состояние.The device operates as follows. Before starting the operation of the device, a single signal is input to the input 15 of the "zero state", which puts the device into a zero state.

При записи информации в узел 1 памяти подаются единичные сигналы на вход 20 синхронизации, вход 16 записи, адресные входы 18 и информационные входы 19.When recording information in the memory node 1, single signals are sent to the synchronization input 20, recording input 16, address inputs 18 and information inputs 19.

Входной блок 2 информации формирует значения контрольных разрядов по правилу:The input information block 2 generates the values of the control bits according to the rule:

Figure 00000007
Figure 00000007

Пример. Допустим, необходимо закодировать двоичный набор:Example. Let's say you need to encode a binary set:

Figure 00000008
.
Figure 00000008
.

Тогда первая часть и вторая часть контрольных разрядов, сформированных относительно полученного кодового набора, соответственно равны:Then the first part and the second part of the control bits formed relative to the received code set are respectively equal to:

r1=1, r2=0, r3=1, r4=1, r5=1, r6=1.r 1 = 1, r 2 = 0, r 3 = 1, r 4 = 1, r 5 = 1, r 6 = 1.

Figure 00000009
.
Figure 00000009
.

При отсутствии ошибки значение кодового набора, записанного в узле 1 памяти, равно считанному (переданному кодовому набору):If there is no error, the value of the code set recorded in the memory node 1 is equal to the read value (transmitted to the code set):

Figure 00000010
.
Figure 00000010
.

В этом случае на выходе блока 4 вычисления синдрома ошибки имеем нулевые значения сигналов.In this case, at the output of the error syndrome calculation unit 4, we have zero signal values.

Пусть произошла одиночная ошибка в первом разряде третьего блока информации (А=0*01), тогда выходной блок 3 кодирования сформирует относительно полученного кодового набора значения контрольных разрядов:Suppose that a single error has occurred in the first bit of the third block of information (A = 0 * 01), then the output coding block 3 will generate the values of the control bits relative to the received code set:

r=0, r=0, r=1.r 1P = 0, r 2P = 0, r 3P = 1.

Figure 00000011
Figure 00000011

В блоке 4 вычисления синдрома ошибки складываются переданные контрольные разряды с контрольными разрядами, сформированными относительно полученного кодового набора, в результате получим синдром ошибки:In block 4 of the calculation of the error syndrome, the transmitted control bits with the control bits formed relative to the received code set are added up, as a result, we obtain the error syndrome:

Figure 00000012
.
Figure 00000012
.

В этом случае первая часть синдрома оказывает на ошибочный разряд блока информации, вторая часть синдрома указывает ошибочный блок A (см. таблицу 1).In this case, the first part of the syndrome has an erroneous discharge of an information block, the second part of the syndrome indicates an erroneous block A (see table 1).

На выходе дешифратора 7 появится единичное значение сигнала, которое открывает элементы И блока 7 коммутаторов, при этом значение вектора ошибки поступает на входы блока корректоров 9, где складывается по mod2 со значениями разрядов третьего блока информации:At the output of the decoder 7, a single signal value appears, which opens the AND elements of the switch unit 7, while the value of the error vector is fed to the inputs of the corrector block 9, where it is added mod2 to the values of the bits of the third information block:

Figure 00000013
Figure 00000013

В результате имеем правильное значение информации.As a result, we have the correct value of the information.

Пусть произошла одиночная ошибка в первом разряде первого блока информации, одиночная ошибка во втором разряде четвертого блока информации и тройная ошибка в пятом блоке информации:Let there be a single error in the first bit of the first block of information, a single error in the second bit of the fourth block of information and a triple error in the fifth block of information:

Figure 00000014
.
Figure 00000014
.

В этом случае значения контрольных разрядов, сформированные выходным блоком 3 кодирования относительно полученного двоичного набора, равны:In this case, the values of the control bits generated by the output coding unit 3 relative to the received binary set are equal to:

r=0, r=1, r=0,r 1P = 0, r 2P = 1, r 3P = 0,

r=0, r=1, r=1.r 3P = 0, r 4P = 1, r 6P = 1.

Значение синдрома ошибки, полученное блоком 4 вычисления синдрома ошибки, равно:

Figure 00000015
.The value of the error syndrome obtained by block 4 of the calculation of the error syndrome is equal to:
Figure 00000015
.

В этом случае на выходе первого блока 10 элементов ИЛИ появится единичное значение сигнала, на всех выходах дешифратора 7 присутствует нулевое значение сигнала, поэтому на выходе второго блока 11 элементов ИЛИ также имеем нулевое значение сигнала, а на выходе инвертора 12 - единичное значение сигнала, которое открывает элемент 12 И, с выхода которого снимается сигнал «ошибка».In this case, at the output of the first block of 10 OR elements, a single signal value appears, at all outputs of the decoder 7 there is a zero signal value, therefore, at the output of the second block 11 of OR elements, we also have a zero signal value, and at the output of inverter 12, a single signal value, which opens the element 12 And, the output of which is removed the signal "error".

Таким образом, в предлагаемом устройстве хранения информации корректируются одиночные ошибки в отдельном блоке информации и обнаруживаются байты ошибок, за исключением ошибок, трансформируемых в корректируемые.Thus, in the proposed information storage device, single errors are corrected in a separate information block and error bytes are detected, with the exception of errors that are transformed into correctable ones.

Источники информацииInformation sources

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

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

Приложение к заявке на изобретение: «Устройство хранения и передачи данных с исправлением одиночных ошибок в байте информации и обнаружением произвольных ошибок в байтах информации»Appendix to the application for an invention: “A device for storing and transmitting data with the correction of single errors in an information byte and the detection of arbitrary errors in information bytes”

1. Введение и постановка задачи1. Introduction and statement of the problem

Во многих случаях для обнаружения и исправления ошибок используются коды с обнаружением и исправлением байтов ошибок (в этом случае под байтом ошибок понимаются ошибки, кратность которых не превышает число разрядов b блока информации).In many cases, codes are used to detect and correct errors, with the detection and correction of error bytes (in this case, the error byte is understood to be errors whose multiplicity does not exceed the number of bits b of the information block).

К таким кодам следует отнести коды [1]:These codes include codes [1]:

- исправляющие одиночные ошибки и обнаруживающие одиночные байты ошибок;- correcting single errors and detecting single bytes of errors;

- коды, исправляющие одиночные ошибки, обнаруживающие двойные независимые ошибки и обнаруживающие одиночные байты ошибок;- codes correcting single errors, detecting double independent errors and detecting single bytes of errors;

- коды, исправляющие одиночные байты ошибок;- codes correcting single error bytes;

- коды, исправляющие одиночные и обнаруживающие двойные байты ошибок.- codes correcting single and detecting double bytes of errors.

Широкое распространение получили коды Рида-Соломона, обладающие циклическими свойствами и имеющие наибольшую обнаруживающую и корректирующую способность.Reed-Solomon codes are widely used, having cyclic properties and having the highest detecting and correcting ability.

Код Рида-Соломона (PC) - это блочный код (w, N), позволяющий обнаруживать и исправлять ошибки в байтах. Входным словом для него является блок из w байтов, выходным - кодовое слово из N байтов, состоящее из w исходных и N-w проверочных байтов. При этом гарантировано, что при декодировании в кодовом слове будут обнаружены и исправлены t=(N-w)/2 байтов независимо от их расположения внутри кодового слова. Кодирующее устройство PC реализуется на основе регистра сдвига с 2t байтовыми элементами памяти и обратными связями. Процесс кодирования и декодирования сводится к операциям сложения и умножения по модулю.Reed-Solomon code (PC) is a block code (w, N) that allows the detection and correction of errors in bytes. The input word for it is a block of w bytes, the output is a code word of N bytes, consisting of w source and N-w test bytes. It is guaranteed that during decoding, t = (N-w) / 2 bytes will be detected and corrected in the codeword, regardless of their location inside the codeword. PC encoder is implemented based on a shift register with 2t byte memory elements and feedbacks. The process of encoding and decoding is reduced to the operations of addition and multiplication modulo.

Использование данных кодов связано с большими временными затратами, что является существенным недостатком при их использовании для систем, работающих в реальном масштабе времени, поэтому существует необходимость в разработке более простой линейной процедуры построения корректирующих кодов, решающих данную задачу.The use of these codes is associated with large time costs, which is a significant drawback in their use for systems operating in real time, so there is a need to develop a simpler linear procedure for constructing corrective codes that solve this problem.

2. Разработка линейного корректирующего кода с исправлением одиночных ошибок в байте информации и обнаружением произвольных ошибок в байтах информации2. Development of a linear corrective code with the correction of single errors in an information byte and the detection of arbitrary errors in information bytes

Предлагается метод построения корректирующего кода, исправляющего одиночные и обнаруживающего двойные байты ошибок, реализующий линейную процедуру построения корректирующего кода с синдромным декодированием.A method is proposed for constructing a correcting code that corrects single and detecting double bytes of errors, which implements a linear procedure for constructing a corrective code with syndromic decoding.

Для получения кодового расстояния, позволяющего обеспечить исправление одиночных и обнаружение двойные байтов ошибок, используем 2b контрольных разрядов (оптимальное число контрольных разрядов для кодов Рида-Соломона, решающих данную задачу), в которых реализуется сложение по mod2 одноименных разрядов блоков (байтов) информации.To obtain a code distance that allows correcting single bytes and detecting double bytes of errors, we use 2b control bits (the optimal number of control bits for Reed-Solomon codes that solve this problem), which implements mod2 addition of the same bits of blocks (bytes) of information.

В результате получим кодовый набор:As a result, we get the code set:

Figure 00000016
,
Figure 00000016
,

Значения контрольных разрядов r1f r2f…rbf, r1g r2g……rbg позволяют сформировать значение синдрома ошибки, при этом первая часть контрольных разрядов r1f r2f…rbf определяет вектор ошибки (ошибочные разряды в блоке информации), а значение второй части контрольных разрядов r1g r2g……rbg предназначено для определения номера ошибочного блока (байта) информации.The values of the control bits r 1 f r 2 f ... r b f , r 1 g r 2 g ....... r b g allow you to generate the value of the error syndrome, while the first part of the control bits r 1 f r 2 f ... r b f determines the error vector (erroneous bits in the information block), and the value of the second part of the control bits r 1 g r 2 g ....... r b g is intended to determine the number of the erroneous block (byte) of information.

В этом случае число байтов информации определяется по формуле:In this case, the number of bytes of information is determined by the formula:

w=2b w = 2 b

В связи с этим возникает необходимость формирования совокупности проверок (разработки правила кодирования информации), позволяющих определить блок информации, содержащий ошибку.In this regard, it becomes necessary to form a set of checks (develop a rule for encoding information), which allows to determine a block of information containing an error.

С этой целью для каждого блока информации выберем свою совокупность проверок, обнаруживающих ошибку, используя матрицу кодирования размерностиFor this purpose, for each block of information, we choose our own set of checks that detect an error using the dimension coding matrix

b×b.b × b.

Для первого блока информации матрица кодирования имеет вид:For the first block of information, the encoding matrix has the form:

Figure 00000017
или
Figure 00000018
Figure 00000017
or
Figure 00000018

В этом случае для первого блока информации значения контрольных разрядов соответственно равны r111; r212; …rb1=xb.In this case, for the first block of information, the values of the control bits are respectively equal to r 1 1 = x 1 ; r 2 1 = x 2 ; ... r b 1 = x b .

Для второго и третьего информационных блоков матрицы кодирования имеют вид соответственно:For the second and third information blocks, the encoding matrices are of the form, respectively:

Figure 00000019
или
Figure 00000020
Figure 00000019
or
Figure 00000020

Figure 00000021
или
Figure 00000022
Figure 00000021
or
Figure 00000022

Не трудно заметить, что очередная матрица кодирования получается в результате циклической замены строк матрицы кодирования.It is not difficult to notice that the next coding matrix is obtained by cyclically replacing the rows of the coding matrix.

В результате получаем b исходных матриц кодирования, содержащих в своих строках по одной единице.As a result, we get b source coding matrices containing one unit in their rows.

Для информационных блоков, начиная с b+1 блока, матрицы кодирования включают различные сочетания двух единиц в блоке информации:For information blocks, starting with b + 1 block, coding matrices include various combinations of two units in the information block:

Figure 00000023
Figure 00000023

Значения контрольных разрядов формируются сложением по mod2 элементов столбцов, соответствующих единичным значениям.The values of the control bits are formed by adding mod2 column elements corresponding to unit values.

Так, например, если первый столбец больше не содержит единиц, то значение первого контрольного разряда равно: r1i=m1⊕m2⊕m3.So, for example, if the first column no longer contains units, then the value of the first control discharge is equal to: r 1 i = m 1 ⊕ m 2 ⊕ m 3 .

Каждая очередная матрица кодирования для блоков информации, начиная с b+2 блока по C2b-блок информации получается циклической заменой строк матрицы по аналогии с матрицей, содержащей в своих строках по одной единице.Each successive coding matrix for blocks of information, starting with b + 2 blocks in C 2 b -block information is obtained by cyclic replacement of the rows of the matrix by analogy with a matrix containing one unit in its rows.

Аналогичным образом строятся матрицы кодирования, содержащие в своих строках различные сочетания из трех единиц и т.д.Similarly, coding matrices are constructed that contain in their rows various combinations of three units, etc.

Окончательно имеем матрицу кодирования, каждый элемент которой содержит единицу. Построим также дополнительную матрицу кодирования, каждый элемент которой содержит нули.Finally, we have a coding matrix, each element of which contains a unit. We also construct an additional coding matrix, each element of which contains zeros.

Полученные таким образом значения контрольных разрядов позволяют построить код, корректирующий одиночные ошибки, и обнаруживать ошибки большей кратности.The values of the control bits obtained in this way allow one to construct a code that corrects single errors and to detect errors of higher multiplicity.

Для коррекции ошибок в блоке информации кратности b проведем модификацию полученных матриц кодирования (за исключением матриц, содержащих все единицы и все нули), для чего разобьем полученную совокупность матриц кодирования попарно и в каждой паре изменим (инвертируем) по одному одноименному элементу.To correct errors in a block of information of multiplicity b, we modify the resulting coding matrices (except for matrices containing all ones and all zeros), for which we divide the resulting set of coding matrices in pairs and change (invert) one element of the same name in each pair.

Используя модифицированные матрицы кодирования, получим проверки, определяющие значения контрольных разрядов для каждого блока информации, путем сложения по mod2 элементов, соответствующих единичным значениям в столбцах полученных матриц.Using the modified coding matrices, we obtain checks that determine the values of the control bits for each block of information by adding mod2 elements corresponding to unit values in the columns of the obtained matrices.

Объединяя по модулю по mod2 одноименные контрольные проверки для всех блоков информации, получим значения контрольных разрядов r1g r2g……rbg для второй части контрольных разрядов кодового набора.Combining modulo mod2 modulo control checks of the same name for all blocks of information, we obtain the values of the control bits r 1 g r 2 g ....... r b g for the second part of the control bits of the code set.

Таким образом, кодовый набор передается в виде:Thus, the code set is transmitted in the form:

Figure 00000024
Результат сложения по mod2 переданных значений контрольных разрядов rif, rig контрольных разрядов ri, ri, сформированных относительно полученных информационных разрядов, даст значение синдрома ошибки, включающего две части:
Figure 00000024
The result of mod2 addition of the transmitted values of the control bits r i f , r i g of the control bits r i , r i , formed relative to the received information bits, will give the value of the error syndrome, which includes two parts:

Figure 00000025
Figure 00000025

Значение синдрома ошибки Sf определяет вектор ошибки (ошибочные разряды в блоке информации), а значение синдрома ошибки Sg определяет номер ошибочного блока (байта) информации.The value of the error syndrome S f determines the error vector (erroneous bits in the information block), and the value of the error syndrome S g determines the number of the error information block (byte).

Стратегия декодирования заключается на следующих положениях:The decoding strategy is based on the following provisions:

1. Sf=0; Sg=0. Ошибок нет.1. S f = 0; S g = 0. There are no errors.

2. Sf=0; Sg≠0. Произошла ошибка в контрольных разрядах.2. S f = 0; S g ≠ 0. An error has occurred in the check bits.

3. Sf≠0; Sg≠0 (Sg=0). Произошла ошибка в информационных байтах (в одном байте - корректируемая, в двух - обнаруживаемая).3. S f ≠ 0; S g ≠ 0 (S g = 0). An error occurred in the information bytes (in one byte - correctable, in two - detectable).

Таким образом, разработанный код при оптимальном числе контрольных разрядов 2b обладает свойствами, характерными для кодов Рида-Соломона, и при этом позволяет:Thus, the developed code with the optimal number of control bits 2b has the properties characteristic of Reed-Solomon codes, and allows:

- использовать процедуру линейного кодирования;- use the linear coding procedure;

- повысить быстродействие кодирования и декодирования информации.- increase the speed of encoding and decoding information.

Пример. Допустим, имеем 24-разрядный двоичный набор, который разобьем на блоки информации по три разряда в каждом блоке:Example. Suppose we have a 24-bit binary set, which we break into blocks of information of three bits in each block:

Y=x1 х2 х3, z1 z2 z3, a1 а2 а3, c1 с2 с3, е1 е2 е3, f1 f2 f3, g1 g2 g3, h1 h2 h3.Y = x 1 x 2 x 3 , z 1 z 2 z 3 , a 1 a 2 a 3 , c 1 s 2 s 3 , e 1 e 2 e 3 , f 1 f 2 f 3 , g 1 g 2 g 3 , h 1 h 2 h 3 .

Построим исходные матрицы кодирования для каждого блока информации:We construct the source coding matrix for each block of information:

Figure 00000026
,
Figure 00000027
,
Figure 00000028
,
Figure 00000029
,
Figure 00000026
,
Figure 00000027
,
Figure 00000028
,
Figure 00000029
,

Figure 00000030
,
Figure 00000031
,
Figure 00000032
,
Figure 00000033
.
Figure 00000030
,
Figure 00000031
,
Figure 00000032
,
Figure 00000033
.

Складывая по mod2 элементы столбцов матриц, соответствующие единичным значениям, получим проверки, позволяющие получить значения контрольных разрядов для соответствующих блоков информации.Adding, according to mod2, the elements of the matrix columns corresponding to unit values, we obtain checks that allow us to obtain the values of the control bits for the corresponding blocks of information.

X→r11=x1, r21=x2, r31=x3; E→r15=e1⊕e3, r25=e1⊕e2, r35=e2⊕e3;X → r 1 1 = x 1 , r 2 1 = x 2 , r 3 1 = x 3 ; E → r 1 5 = e 1 ⊕e 3 , r 2 5 = e 1 ⊕e 2 , r 3 5 = e 2 ⊕e 3 ;

Z→r12=z3, r22=z1, r32=z2; F→r16=f1⊕f2, r26=f2⊕f3, r36=f1⊕f3;Z → r 1 2 = z 3 , r 2 2 = z 1 , r 3 2 = z 2 ; F → r 1 6 = f 1 ⊕ f 2 , r 2 6 = f 2 ⊕ f 3 , r 3 6 = f 1 ⊕ f 3 ;

A→r13=a2, r23=a3, r33=a1; G→r17=g1⊕g2⊕g3, r27=g1⊕g2⊕g3, r37=g1⊕g2⊕g3;A → r 1 3 = a 2 , r 2 3 = a 3 , r 3 3 = a 1 ; G → r 1 7 = g 1 ⊕g 2 ⊕g 3 , r 2 7 = g 1 ⊕g 2 ⊕g 3 , r 3 7 = g 1 ⊕g 2 ⊕g 3 ;

C→r14=c2⊕c3, r24=c1⊕c3, r34=c1⊕c2; H→r18=0, r28=0, r38=0.C → r 1 4 = c 2 ⊕c 3 , r 2 4 = c 1 ⊕c 3 , r 3 4 = c 1 ⊕c 2 ; H → r 1 8 = 0, r 2 8 = 0, r 3 8 = 0.

В результате значение второй части контрольных разрядов формируется проверками:As a result, the value of the second part of the control bits is formed by checks:

Figure 00000034
Figure 00000034

Полученные значения контрольных разрядов, совместно с значениями первой части контрольных разрядов, сформированных путем сложения одноименных информационных разрядов блоков информации, позволяют иметь корректирующий код, исправляющий одиночные ошибки в любом блоке информации, и обнаруживать ошибки большей кратности.The obtained values of the control bits, together with the values of the first part of the control bits formed by adding the same information bits of information blocks, allow one to have a correction code that corrects single errors in any information block and to detect errors of higher multiplicity.

В результате имеем код (30,6), корректирующий одиночные ошибки и обнаруживающий ошибки большей кратности.As a result, we have a code (30.6) that corrects single errors and detects errors of higher multiplicity.

Таблица 1Table 1 Значения синдромов для кода (30,6), исправляющего одиночные ошибкиSyndrome values for code (30.6) correcting single errors № п/пNo. p / p Безошибоч-ный
блок инфор -и 000
Unmistakable
information block 000
Значение первой части контрольных разрядовThe value of the first part of the control bits Значения проверок второй части контрольных разрядовValues of checks of the second part of the control bits
Ошибочный блок информацииIncorrect information block XX ZZ AA CC EE FF GG HH 1one 100one hundred 100one hundred 100one hundred 010010 001001 011011 110110 101101 111111 000000 22 010010 010010 010010 001001 100one hundred 101101 011011 110110 111111 000000 33 001001 001001 001001 100one hundred 010010 110110 101101 011011 111111 000000 4four 110110 110110 110110 011011 101101 110110 101101 011011 000000 000000 55 101101 101101 101101 110110 011011 101101 011011 110110 000000 000000 66 011011 011011 011011 101101 110110 011011 110110 101101 000000 000000 111111 111111 111111 111111 111111 000000 000000 000000 111111 000000

Анализ представленной таблицы показывает, что в случае возникновения одиночной ошибки значения второй части синдромов для блоков информации различаются между собой, что позволяет корректировать данные ошибки.Analysis of the presented table shows that in the event of a single error, the values of the second part of the syndromes for information blocks differ from each other, which allows you to adjust these errors.

При возникновении ошибок большей кратности или в нескольких информационных блоках значения синдромов неразличимы, в этом случае ошибка обнаруживается.In the event of errors of greater multiplicity or in several information blocks, the values of the syndromes are indistinguishable, in this case an error is detected.

При этом выделенные синдромы указывают на наличие не корректируемой ошибки, не выделенные синдромы указывают блок информации, содержащий соответствующую одиночную корректируемую ошибку.In this case, the selected syndromes indicate the presence of an uncorrectable error, the non-allocated syndromes indicate a block of information containing the corresponding single correctable error.

Пример. Допустим, необходимо закодировать двоичный набор:Example. Let's say you need to encode a binary set:

Figure 00000035
.
Figure 00000035
.

Подставляя в полученные выражения формирования второй части контрольных разрядов значения соответствующих разрядов двоичного набора, получим:Substituting the values of the corresponding bits of the binary set into the obtained expressions for the formation of the second part of the control bits, we obtain:

r1g=0⊕0⊕0⊕0⊕0⊕1⊕1⊕0⊕1⊕1⊕1⊕0=1;r 1 g = 0⊕0⊕0⊕0⊕0⊕1⊕1⊕0⊕1⊕1⊕1⊕0 = 1;

r2g=0⊕1⊕1⊕1⊕0⊕1⊕1⊕1⊕1⊕1⊕1⊕0=1;r 2 g = 0⊕1⊕1⊕1⊕0⊕1⊕1⊕1⊕1⊕1⊕1⊕0 = 1;

r3g=1⊕1⊕1⊕1⊕0⊕1⊕1⊕0⊕1⊕1⊕1⊕0=1.r 3 g = 1⊕1⊕1⊕1⊕0⊕1⊕1⊕0⊕1⊕1⊕1⊕0 = 1.

Складывая одноименные информационные разряды блоков информации, получим первую часть контрольных разрядов 101.Adding the same information bits of information blocks, we get the first part of the control bits 101.

Таким образом, безошибочный кодовый набор передается в виде:Thus, an error-free code set is transmitted in the form:

Figure 00000036
.
Figure 00000036
.

Пусть произошла одиночная ошибка в первом разряде третьего блока информации (A), тогда первая часть и вторая часть контрольных разрядов, сформированных относительно полученного кодового набора, равны соответственно:Let there be a single error in the first bit of the third block of information (A), then the first part and second part of the control bits formed relative to the received code set are equal, respectively:

r1f=0, r2f=0, r3f=1.r 1 f = 0, r 2 f = 0, r 3 f = 1.

r1g=0⊕0⊕0⊕0⊕0⊕1⊕1⊕0⊕1⊕1⊕1⊕0=1;r 1 g = 0⊕0⊕0⊕0⊕0⊕1⊕1⊕0⊕1⊕1⊕1⊕0 = 1;

r2g=0⊕1⊕1⊕1⊕0⊕1⊕1⊕1⊕1⊕1⊕1⊕0=1;r 2 g = 0⊕1⊕1⊕1⊕0⊕1⊕1⊕1⊕1⊕1⊕1⊕0 = 1;

r3g=1⊕1⊕1⊕0⊕0⊕1⊕1⊕0⊕1⊕1⊕1⊕0=0.r 3 g = 1⊕1⊕1⊕ 0 ⊕0⊕1⊕1⊕0⊕1⊕1⊕1⊕0 = 0.

Складывая переданные контрольные разряды с контрольными разрядами, сформированными относительно полученного кодового набора, получим синдром ошибки:Adding the transmitted control bits to the control bits formed relative to the received code set, we obtain the error syndrome:

Figure 00000037
.
Figure 00000037
.

В этом случае первая часть синдрома оказывает на ошибочный разряд блока информации, вторая часть синдрома указывает ошибочный блок (см. таблицу 1).In this case, the first part of the syndrome has an erroneous discharge of an information block, the second part of the syndrome indicates an erroneous block (see table 1).

Таким образом, предлагаемый метод построения корректирующих кодов, обнаруживающих и корректирующих ошибки в байтах информации, позволяет исключить процедуру деления и умножения, необходимую при использовании циклических кодов, и заменить ее на линейную, повысить быстродействие кодирования и декодирования информации, обеспечить требуемый уровень обнаружения и коррекции ошибок.Thus, the proposed method for constructing corrective codes that detect and correct errors in information bytes allows us to exclude the division and multiplication procedure necessary when using cyclic codes, and replace it with a linear one, increase the speed of encoding and decoding information, and provide the required level of error detection and correction .

ЛитератураLiterature

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

Claims (1)

Устройство хранения и передачи данных с исправлением одиночных ошибок в байте информации и обнаружением произвольных ошибок в байтах информации, содержащее узел памяти, входной блок кодирования, выходной блок кодирования, блок вычисления синдрома ошибки, дешифратор, коммутатор, блок коммутаторов, корректор, блок корректоров, отличающееся тем, что оно дополнительно содержит первый блок элементов ИЛИ, второй блок элементов ИЛИ, инвертор, элемент И, блок элементов И, вход установки устройства в нулевое состояние, вход записи, вход считывания, адресные входы, двадцатичетырехразрядные информационные входы, вход синхронизации, информационные выходы, выход сигнала «ошибка», вход установки в нулевое состояние, вход записи, вход считывания, адресные входы подключены соответственно к первому, второму, третьему и четвертому входам узла памяти, вход синхронизации подключен к пятому входу узла памяти и к первому входу блока элементов И, информационные входы подключены к шестым входам узла памяти и к входам входного блока кодирования, который формирует значения контрольных разрядов r1, r2, r3, r4, r5, r6 путем сложения по модулю 2 информационных символов x1, x2 x3, z1 z2 z3, a1 a2 a3, c1 c2 c3, e1 e2 e3, f1 f2 f3, g1 g2 g3, h1 h2 h3, поступающих на входы входного блока кодирования, в соответствии с правилом r1=x1⊕z1⊕a1⊕c1⊕e1⊕f1⊕g1⊕h1; r2=x2⊕z2⊕a2⊕c2⊕e2⊕f2⊕g2⊕h2; r3=x3⊕z3⊕a3⊕c3⊕e3⊕f3⊕g3⊕h3; r4=x1⊕z3⊕a2⊕c2⊕c3⊕e1⊕e3⊕f1⊕f2⊕g1⊕g2⊕g3; r5=x2⊕z1⊕a3⊕c1⊕c3⊕e1⊕e2⊕f2⊕f3⊕g1⊕g2⊕g3; r6=x3⊕z2⊕a1⊕c1⊕c2⊕e2⊕e3⊕f1⊕f3 ⊕g1⊕g2⊕g3, которые поступают на седьмые входы узла памяти, информационные выходы узла памяти подключены соответственно к первым входам корректора, блока корректоров и к входам выходного блока кодирования, который формирует значения проверочных контрольных разрядов r, r, r, z, r, r путем сложения по модулю 2 информационных символов x x x, z z z, a a a, c c c, e е е, f f f, g g g, h h h, поступающих на входы входного блока кодирования с информационных выходов узла памяти, в соответствии с правилом r=x⊕z⊕a⊕c⊕e⊕f⊕g⊕h; r=x⊕z⊕a⊕c⊕e⊕f⊕g⊕h; r=x⊕z⊕a⊕c⊕e⊕f⊕g⊕h; r=x⊕z⊕a⊕c⊕c⊕e⊕e⊕f⊕f⊕g⊕g⊕g; r=x⊕z⊕a⊕c⊕c⊕e⊕e⊕f⊕f⊕g⊕g⊕g; r=x⊕z⊕a⊕c⊕c⊕e⊕e⊕f⊕f⊕g⊕g⊕g, выходы выходного блока кодирования подключены к первым входам блока вычисления синдрома ошибки, к вторым входам которого подключены выходы контрольных разрядов узла памяти, первые выходы блока вычисления синдрома ошибки подключены к первым входам дешифратора, к первым входам коммутатора, к входам первого блока элементов ИЛИ и к первым входам блока коммутаторов, вторые выходы блока вычисления синдрома ошибки подключены к вторым входам дешифратора и к вторым входам первого блока элементов ИЛИ, выходы дешифратора подключены к входам второго блока элементов ИЛИ, при этом первый выход дешифратора подключен к второму входу коммутатора, а вторые выходы подключены к вторым входам блока коммутаторов, выход второго блока элементов ИЛИ через инвертор подключен к первому входу элемента И, второй вход которого подключен к выходу первого блока элементов ИЛИ, выход элемента И является выходом сигнала «ошибка», выходы коммутатора подключены к вторым входам корректора, выходы блока коммутаторов подключены к вторым входам блока корректоров, выходы корректора и блока корректоров подключены к вторым входам блока элементов И, выходы которого являются информационными выходами устройства. A device for storing and transmitting data with the correction of single errors in the byte of information and the detection of arbitrary errors in the bytes of information, comprising a memory node, an input coding unit, an output coding unit, an error syndrome calculation unit, a decoder, a switch, a switch unit, an corrector, an error corrector, the fact that it further comprises a first block of OR elements, a second block of OR elements, an inverter, an AND element, a block of AND elements, an input for setting the device to zero, a write input, a read input I, address inputs, twenty-four-bit information inputs, synchronization input, information outputs, error signal output, zero input, write input, read input, address inputs are connected respectively to the first, second, third and fourth inputs of the memory node, input synchronization is connected to the fifth input of the memory node and to the first input of the block of AND elements, information inputs are connected to the sixth inputs of the memory node and to the inputs of the input coding block, which generates the values of the control bits r 1 , r 2 , r 3 , r 4 , r 5 , r 6 by adding modulo 2 information symbols x 1 , x 2 x 3 , z 1 z 2 z 3 , a 1 a 2 a 3 , c 1 c 2 c 3 , e 1 e 2 e 3 , f 1 f 2 f 3 , g 1 g 2 g 3 , h 1 h 2 h 3 received at the inputs of the input coding block, in accordance with the rule r 1 = x 1 ⊕z 1 ⊕a 1 ⊕c 1 ⊕e 1 ⊕f 1 ⊕g 1 ⊕h 1 ; r 2 = x 2 ⊕z 2 ⊕a 2 ⊕c 2 ⊕e 2 ⊕f 2 ⊕g 2 ⊕h 2 ; r 3 = x 3 ⊕z 3 ⊕a 3 ⊕c 3 ⊕e 3 ⊕f 3 ⊕g 3 ⊕h 3 ; r 4 = x 1 ⊕z 3 ⊕a 2 ⊕c 2 ⊕c 3 ⊕e 1 ⊕e 3 ⊕f 1 ⊕f 2 ⊕g 1 ⊕g 2 ⊕g 3 ; r 5 = x 2 ⊕z 1 ⊕a 3 ⊕c 1 ⊕c 3 ⊕e 1 ⊕e 2 ⊕f 2 ⊕f 3 ⊕g 1 ⊕g 2 ⊕g 3 ; r 6 = x 3 ⊕z 2 ⊕a 1 ⊕c 1 ⊕c 2 ⊕e 2 ⊕e 3 ⊕f 1 ⊕f 3 ⊕g 1 ⊕g 2 ⊕g 3 , which are fed to the seventh inputs of the memory node, information outputs of the node memory are connected respectively to the first inputs of the corrector, the corrector block and the inputs of the output coding block, which generates the values of the test check bits r 1P , r 2P , r 3P , z 4P , r 5P , r 6P by modulo 2 adding information symbols x 1P x 2P x 3P , z 1P z 2P z 3P , a 1P a 2P a 3P , c 1P c 2P c 3P , e 1P e 2P e 3P , f 1P f 2P f 3P , g 1P g 2P g 3P , h 1P h 2P h 3P supplied to the inputs of the input coding block from the information outputs memory node, in accordance with the rule r 1P = x 1P ⊕z 1P ⊕a 1P ⊕c 1P ⊕e 1P ⊕f 1P ⊕g 1P ⊕h 1P ; r 2P = x 2P ⊕z 2P ⊕a 2P ⊕c 2P ⊕e 2P ⊕f 2P ⊕g 2P ⊕h 2P ; r = x 3P 3P 3P ⊕z ⊕a ⊕c 3P 3P 3P ⊕e ⊕f ⊕g 3P 3P 3P ⊕h; r 4P = x 1P ⊕z 3P ⊕a 2P ⊕c 2P ⊕c 3P ⊕e 1P ⊕e 3P ⊕f 1P ⊕f 2P ⊕g 1P ⊕g 2P ⊕g 3P ; r 5P = x 2P ⊕z 1P ⊕a 3P ⊕c 1P ⊕c 3P ⊕e 1P ⊕e 2P ⊕f 2P ⊕f 3P ⊕g 1P ⊕g 2P ⊕g 3P ; r 6P = x 3P ⊕z 2P ⊕a 1P ⊕c 1P ⊕c 2P ⊕e 2P ⊕e 3P ⊕f 1P ⊕f 3P ⊕g 1P ⊕g 2P ⊕g 3P , the outputs of the output coding unit are connected to the first inputs of the syndrome calculation unit errors, to the second inputs of which the outputs of the control bits of the memory node are connected, the first outputs of the error syndrome calculation unit are connected to the first inputs of the decoder, to the first inputs of the switch, to the inputs of the first block of OR elements and to the first inputs of the switch block, the second outputs of the error syndrome calculation unit to the second inputs of the decoder and to the second inputs of the first bl eye of the OR elements, the outputs of the decoder are connected to the inputs of the second block of OR elements, while the first output of the decoder is connected to the second input of the switch unit, the outputs of the second block of OR elements through the inverter are connected to the first input of the AND element, the second the input of which is connected to the output of the first block of OR elements, the output of the AND element is the output of the “error” signal, the outputs of the switch are connected to the second inputs of the corrector, the outputs of the block of switches are connected to the second inputs the corrector block, the corrector outputs and the corrector block are connected to the second inputs of the AND block, the outputs of which are the information outputs of the device.
RU2011112829/08A 2011-04-05 2011-04-05 Apparatus for storing and transmitting data with single error correction in data byte and arbitrary error detection in data bytes RU2450331C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2011112829/08A RU2450331C1 (en) 2011-04-05 2011-04-05 Apparatus for storing and transmitting data with single error correction in data byte and arbitrary error detection in data bytes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2011112829/08A RU2450331C1 (en) 2011-04-05 2011-04-05 Apparatus for storing and transmitting data with single error correction in data byte and arbitrary error detection in data bytes

Publications (1)

Publication Number Publication Date
RU2450331C1 true RU2450331C1 (en) 2012-05-10

Family

ID=46312380

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2011112829/08A RU2450331C1 (en) 2011-04-05 2011-04-05 Apparatus for storing and transmitting data with single error correction in data byte and arbitrary error detection in data bytes

Country Status (1)

Country Link
RU (1) RU2450331C1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2534499C2 (en) * 2013-03-25 2014-11-27 Межрегиональное общественное учреждение "Институт инженерной физики" Data storage and transmission device with error correction in two information bytes
RU2758065C1 (en) * 2021-01-26 2021-10-26 Межрегиональное общественное учреждение "Институт инженерной физики" Fault-tolerant processor with error correction in a byte of information
RU2758410C1 (en) * 2021-01-26 2021-10-28 Межрегиональное общественное учреждение "Институт инженерной физики" Fail-safe processor with error correction in two bytes of information
RU2816550C1 (en) * 2023-05-16 2024-04-01 Александр Алексеевич Павлов Information storage and reading device with single error correction

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1644233A1 (en) * 1988-11-24 1991-04-23 Предприятие П/Я Р-6429 Working memory with error correction
US5495491A (en) * 1993-03-05 1996-02-27 Motorola, Inc. System using a memory controller controlling an error correction means to detect and correct memory errors when and over a time interval indicated by registers in the memory controller
RU2297034C2 (en) * 2004-07-14 2007-04-10 Институт Инженерной Физики Российская Федерация (Ииф Рф) Fault-tolerant information storage device
RU2297030C2 (en) * 2004-07-14 2007-04-10 Институт Инженерной Физики Российская Федерация (Ииф Рф) Self-correcting information storage device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1644233A1 (en) * 1988-11-24 1991-04-23 Предприятие П/Я Р-6429 Working memory with error correction
US5495491A (en) * 1993-03-05 1996-02-27 Motorola, Inc. System using a memory controller controlling an error correction means to detect and correct memory errors when and over a time interval indicated by registers in the memory controller
RU2297034C2 (en) * 2004-07-14 2007-04-10 Институт Инженерной Физики Российская Федерация (Ииф Рф) Fault-tolerant information storage device
RU2297030C2 (en) * 2004-07-14 2007-04-10 Институт Инженерной Физики Российская Федерация (Ииф Рф) Self-correcting information storage device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2534499C2 (en) * 2013-03-25 2014-11-27 Межрегиональное общественное учреждение "Институт инженерной физики" Data storage and transmission device with error correction in two information bytes
RU2758065C1 (en) * 2021-01-26 2021-10-26 Межрегиональное общественное учреждение "Институт инженерной физики" Fault-tolerant processor with error correction in a byte of information
RU2758410C1 (en) * 2021-01-26 2021-10-28 Межрегиональное общественное учреждение "Институт инженерной физики" Fail-safe processor with error correction in two bytes of information
RU2816550C1 (en) * 2023-05-16 2024-04-01 Александр Алексеевич Павлов Information storage and reading device with single error correction

Similar Documents

Publication Publication Date Title
US9450613B2 (en) Apparatus and method for error correction and error detection
US8806295B2 (en) Mis-correction and no-correction rates for error control
EP1792254B1 (en) Memory array error correction
US8069395B2 (en) Three bit error detection using ECC codes
RU2448359C1 (en) Apparatus for storing and transmitting data with error correction in data byte and error detection in data bytes
JPS6349245B2 (en)
US10735028B2 (en) Data processing device and data processing method
US6519736B1 (en) Generating special uncorrectable error codes for failure isolation
RU2450331C1 (en) Apparatus for storing and transmitting data with single error correction in data byte and arbitrary error detection in data bytes
JP4979607B2 (en) Method, system, and program for correcting error of codeword pair header in data storage tape format
US3766521A (en) Multiple b-adjacent group error correction and detection codes and self-checking translators therefor
RU164633U1 (en) STORAGE AND TRANSMISSION DEVICE WITH ERROR DETECTION
US6463563B1 (en) Single symbol correction double symbol detection code employing a modular H-matrix
RU107606U1 (en) STORAGE AND TRANSMISSION DEVICE WITH SINGLE ERROR CORRECTION IN THE BYTE OF INFORMATION AND DETECTION OF ARRIVAL ERRORS IN THE BYTE OF INFORMATION
RU106771U1 (en) DEVICE FOR STORAGE AND TRANSFER OF DATA WITH CORRECTION OF ERRORS IN THE BYTE OF INFORMATION AND DETECTION OF ERRORS IN THE BYtes OF INFORMATION
RU2450332C1 (en) Information storage device with single and double error detection
RU2542665C1 (en) Device of data storage and transmission with detection and correction of errors in information bytes
RU2637426C1 (en) Device for storing and transmitting data with error detection
RU2816550C1 (en) Information storage and reading device with single error correction
RU169207U1 (en) ERROR DATA STORAGE AND TRANSMISSION DEVICE
RU175054U1 (en) STORAGE AND TRANSMISSION DEVICE WITH SINGLE AND DOUBLE ERRORS
RU147518U1 (en) STORAGE AND TRANSMISSION DEVICE FOR DETECTION AND CORRECTION OF ERRORS IN INFORMATION BYtes
RU2297030C2 (en) Self-correcting information storage device
RU2297032C2 (en) Self-correcting memorizing device
RU2297034C2 (en) Fault-tolerant information storage device

Legal Events

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

Effective date: 20140406