RU107606U1 - STORAGE AND TRANSMISSION DEVICE WITH SINGLE ERROR CORRECTION IN THE BYTE OF INFORMATION AND DETECTION OF ARRIVAL ERRORS IN THE BYTE OF INFORMATION - Google Patents
STORAGE AND TRANSMISSION DEVICE WITH SINGLE ERROR CORRECTION IN THE BYTE OF INFORMATION AND DETECTION OF ARRIVAL ERRORS IN THE BYTE OF INFORMATION Download PDFInfo
- Publication number
- RU107606U1 RU107606U1 RU2011114399/08U RU2011114399U RU107606U1 RU 107606 U1 RU107606 U1 RU 107606U1 RU 2011114399/08 U RU2011114399/08 U RU 2011114399/08U RU 2011114399 U RU2011114399 U RU 2011114399U RU 107606 U1 RU107606 U1 RU 107606U1
- Authority
- RU
- Russia
- Prior art keywords
- inputs
- block
- input
- information
- outputs
- Prior art date
Links
Landscapes
- Error Detection And Correction (AREA)
Abstract
Устройство хранения и передачи данных с исправлением одиночных ошибок в байте информации и обнаружением произвольных ошибок в байтах информации, содержащие узел памяти, входной блок кодирования, выходной блок кодирования, блок вычисления синдрома ошибки, дешифратор, коммутатор, блок коммутаторов, корректор, блок корректоров, отличающееся тем, что оно дополнительно содержит первый блок элементов ИЛИ, второй блок элементов ИЛИ, инвертор, элемент И, блок элементов И, вход установки устройства в нулевое состояние, вход записи, вход считывания, адресные входы, 24-разрядные информационные входы, вход синхронизации, информационные выходы, выход сигнала «ошибка», вход установки в нулевое состояние, вход записи, вход считывания, адресные входы, подключены соответственно к первому, второму, третьему и четвертому входам узла памяти, вход синхронизации подключен к пятому входу узла памяти и к первому входу блока элементов И, информационные входы подключены к шестым входам узла памяти и к входам входного блока кодирования, который формирует значения контрольных разрядов r1, r2, r3, r4, r5, r6 путем сложения по модулю 2 информационных символов x1x2x3, z1z2z3, a1a2a3, c1c2c3, e1e2e3, f1f2f3, g1g2g3, h1h2h3., поступающих на входы входного блока кодирования, в соответствии с правилом: r1=x1⊕z1⊕a1⊕с1⊕e1⊕f1⊕g1⊕h1; r2=x2⊕z2⊕a2⊕с2⊕e2⊕f2⊕g2⊕h2; r3=x3⊕z3⊕a3⊕с3⊕e3⊕f3⊕g3⊕h3; r4=x1⊕z3⊕a2⊕с2⊕c3⊕e1⊕e3⊕f1⊕f2⊕g1⊕g2⊕g3; ! r5=x2⊕z1⊕a3⊕с1⊕c3⊕e1⊕e2⊕f2⊕f3⊕g1⊕g2⊕g3; r6=x3⊕z2⊕a1⊕с1⊕c2⊕e2⊕e3⊕f1⊕f3⊕g1⊕g2⊕g3, которые поступают на седьмые входы узла памяти, информационные выходы узла памяти подключены соответственно к первым входам корректора, блока корректоров и к входам выходного блока кодирования, который фор 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, containing a memory node, input coding unit, output coding unit, error syndrome calculation unit, decoder, switch, switch unit, corrector, corrector unit, 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, 24-bit information inputs, synchronization input, information outputs, error signal output, zero input, write input, read input, address inputs, are connected to the first, second, third and fourth inputs of the node, respectively memory, the synchronization input is connected to the fifth input of the memory node and to the first input of the block of elements AND, 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 r1, r2, r3, r4, r5, r6 p Then we add modulo 2 information symbols x1x2x3, z1z2z3, a1a2a3, c1c2c3, e1e2e3, f1f2f3, g1g2g3, h1h2h3., received at the inputs of the input coding block, in accordance with the rule: r1 = x1⊕z1⊕a1⊕1⊕c g1⊕h1; r2 = x2⊕z2⊕a2⊕c2⊕e2⊕f2⊕g2⊕h2; r3 = x3⊕z3⊕a3⊕с3⊕e3⊕f3⊕g3⊕h3; r4 = x1⊕z3⊕a2⊕с2⊕c3⊕e1⊕e3⊕f1⊕f2⊕g1⊕g2⊕g3; ! r5 = x2⊕z1⊕a3⊕с1⊕c3⊕e1⊕e2⊕f2⊕f3⊕g1⊕g2⊕g3; r6 = x3⊕z2⊕a1⊕с1⊕c2⊕e2⊕e3⊕f1⊕f3⊕g1⊕g2⊕g3, which are fed 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 output coding unit which for
Description
Полезная модель относится к вычислительной технике и может быть использовано для повышения достоверности функционирования запоминающих устройств.The utility model relates to computer technology and can be used to increase the reliability of the functioning of storage devices.
Известно самокорректирующееся устройство [1], использующие корректирующий код (наиболее часто используется код Хемминга корректирующий одиночную ошибку и обнаруживающий двойную ошибку).A self-correcting device is known [1], using a correction code (the most frequently used Hamming code is a single error correction and detecting 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 fail-safe data storage and transmission device that implements codes correcting single errors, detecting double independent errors and detecting single error bytes [2], containing a memory node, an input encoding block, an output encoding block, an error syndrome calculation block, 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 purpose of the utility model is to increase the reliability of the device by correcting single errors, and detecting arbitrary errors bytes of information.
Поставленная цель достигается тем, что устройство, содержащие узел памяти, входной блок кодирования, выходной блок кодирования, блок вычисления синдрома ошибки, дешифратор, коммутатор, блок коммутаторов, корректор, блок корректоров, отличающаяся тем, что оно дополнительно содержит первый блок элементов ИЛИ, второй блок элементов ИЛИ, инвертор, элемент И, блок элементов И, вход установки устройства в нулевое состояние, вход записи, вход считывания, адресные входы, двадцати четырех разрядные информационные входы, вход синхронизации, информационные выходы, выход сигнала «ошибка», вход установки в нулевое состояние, вход записи, вход считывания, адресные входы, подключены соответственно к первому, второму, третьему и четвертому входам узла памяти, вход синхронизации подключен к пятому входу узла памяти и к первому входу блока элементов И, информационные входы подключены к шестым входам узла памяти и к входам входного блока кодирования который формирует значения контрольных разрядов r1, r2, r3, r4, r5, r6 путем сложения по модулю 2 информационных символов x1x2x3, z1z2z3, a1a2a3, c1c2c3, e1e2e3, f1f2f3; g1g2g3, h1h2h3, поступающих на входы входного блока кодирования, в соответствии с правилом: r1=x1⊕z1⊕a1⊕с1⊕e1⊕f1⊕g1⊕h1; r2=x2⊕z2⊕a2⊕с2⊕e2⊕f2⊕g2⊕h2; r3=x3⊕z3⊕a3⊕с3⊕e3⊕f3⊕g3⊕h3; r4=x1⊕z3⊕a2⊕с2⊕c3⊕e1⊕e3⊕f1⊕f2⊕g1⊕g2⊕g3; r5=x2⊕z1⊕a3⊕с1⊕c3⊕e1⊕e2⊕f2⊕f3⊕g1⊕g2⊕g3; r6=x3⊕z2⊕a1⊕с1⊕c2⊕e2⊕e3⊕f1⊕f3⊕g1⊕g2⊕g3 которые поступают на седьмые входы узла памяти, информационные выходы узла памяти подключены соответственно к первым входам корректора, блока корректоров и к входам выходного блока кодирования, который формирует значения проверочных контрольных разрядов 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П⊕с1П⊕e1П⊕f1П⊕g1П⊕h1П; r2П=x2П⊕z2П⊕a2П⊕с2П⊕e2П⊕f2П⊕g2П⊕h2П; r3П=x3П⊕z3П⊕a3П⊕с3П⊕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П; выходы выходного блока кодирования подключены к первым входам блока вычисления синдрома ошибки к вторым входам которого, подключены выходы контрольных разрядов узла памяти, первые выходы блока вычисления синдрома ошибки подключены к первым входам дешифратора, к первым входам коммутатора, к входам первого блока элементов ИЛИ и к первым входам блока коммутаторов, вторые выходы блока вычисления синдрома ошибки подключены к вторым входам дешифратора и к вторым входам первого блока элементов ИЛИ, выходы дешифратора подключены к входам второго блока элементов ИЛИ, при этом первый выход дешифратора подключен к второму входу коммутатора, а вторые выходы подключены к вторым входам блока коммутаторов, выход второго блока элементов ИЛИ через инвертор подключен к первому входу элемента И, второй вход которого подключен к выходу первого блока элементов ИЛИ, выход элемента И является выходом сигнала «ошибка», выходы коммутатора подключены к вторым входам корректора, выходы блока коммутаторов подключены к вторым входам блока корректоров, выходы корректора и блока корректоров подключены к вторым входам блока элементов И, выходы которого являются информационными выходами устройства.This goal is achieved in that the device containing a memory node, an input coding unit, an output coding unit, an error syndrome calculation unit, a decoder, a switch, a switch unit, a corrector, a corrector unit, characterized in that it further comprises a first block of OR elements, a second block of OR elements, inverter, AND element, block of AND elements, input to set the device to zero, write input, read input, address inputs, twenty-four bit information inputs, synchronization input, information output outputs, error output, 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 block of elements AND, 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 ⊕с 1 ⊕e 1 ⊕f 1 ⊕g 1 ⊕ h 1 ; r 2 = x 2 ⊕z 2 ⊕a 2 ⊕с 2 ⊕e 2 ⊕f 2 ⊕g 2 ⊕h 2 ; r 3 = x 3 ⊕z 3 ⊕a 3 ⊕с 3 ⊕e 3 ⊕f 3 ⊕g 3 ⊕h 3 ; r 4 = x 1 ⊕z 3 ⊕a 2 ⊕с 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 ⊕с 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 memory node 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 evil memory, in accordance with the rule: r 1P = x 1P ⊕z 1P ⊕a 1P ⊕s 1P ⊕e 1P ⊕f 1P ⊕g 1P ⊕h 1P ; r 2P = x 2P ⊕z 2P ⊕a 2P ⊕s 2P ⊕e 2P ⊕f 2P ⊕g 2P ⊕h 2P ; r 3P = x 3P ⊕z 3P ⊕a 3P ⊕s 3P ⊕e 3P ⊕f 3P ⊕g 3P ⊕h 3P ; 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 error syndrome calculation unit 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 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 utility model. 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 информационных символов x1x2x3, z1z2z3, a1a2a3, c1c2c3, e1e2e3, f1f2f3; g1g2g3, h1h2h3., поступающих на входы входного блока 2 кодирования, в соответствии с правилом: r1=x1⊕z1⊕a1⊕с1⊕e1⊕f1⊕g1⊕h1; r2=x2⊕z2⊕a2⊕с2⊕e2⊕f2⊕g2⊕h2; r3=x3⊕z3⊕a3⊕с3⊕e3⊕f3⊕g3⊕h3; r4=x1⊕z3⊕a2⊕с2⊕c3⊕e1⊕e3⊕f1⊕f2⊕g1⊕g2⊕g3; r5=x2⊕z1⊕a3⊕с1⊕c3⊕e1⊕e2⊕f2⊕f3⊕g1⊕g2⊕g3; r6=x3⊕z2⊕a1⊕с1⊕c2⊕e2⊕e3⊕f1⊕f3⊕g1⊕g2⊕g3, которые поступают на седьмые входы узла 1 памяти, информационные выходы узла памяти подключены соответственно к первым входам корректора, 8 блока 9 корректоров и к входам выходного блока 3 кодирования, который формирует значения проверочных контрольных разрядов 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П поступающих на входы входного блока 3 кодирования с информационных выходов узла 1 памяти, в соответствии с правилом: r1П=x1П⊕z1П⊕a1П⊕с1П⊕e1П⊕f1П⊕g1П⊕h1П; r2П=x2П⊕z2П⊕a2П⊕с2П⊕e2П⊕f2П⊕g2П⊕h2П; r3П=x3П⊕z3П⊕a3П⊕с3П⊕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П выходы выходного блока 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 input 15 is set to zero, input 16 records, input 17 read, 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 block 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 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. , coming to the inputs of the input coding block 2, in accordance with the rule: r 1 = x 1 ⊕z 1 ⊕a 1 ⊕с 1 ⊕e 1 ⊕f 1 ⊕g 1 ⊕h 1 ; r 2 = x 2 ⊕z 2 ⊕a 2 ⊕с 2 ⊕e 2 ⊕f 2 ⊕g 2 ⊕h 2 ; r 3 = x 3 ⊕z 3 ⊕a 3 ⊕с 3 ⊕e 3 ⊕f 3 ⊕g 3 ⊕h 3 ; r 4 = x 1 ⊕z 3 ⊕a 2 ⊕с 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 ⊕с 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 ⊕с 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 1, information outputs of the memory node are connected respectively to the first inputs of the corrector, 8 block 9 of the corrector 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 modulo 2 information characters 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 h 1P 2P 3P h fed to the input of the input unit 3 coding information O rows of memory unit 1 in accordance with the rule: r = x 1P 1P 1P ⊕z ⊕a ⊕s 1P 1P 1P ⊕e ⊕f ⊕g 1P 1P 1P ⊕h; r 2P = x 2P ⊕z 2P ⊕a 2P ⊕s 2P ⊕e 2P ⊕f 2P ⊕g 2P ⊕h 2P ; r 3P = x 3P ⊕z 3P ⊕a 3P ⊕s 3P ⊕e 3P ⊕f 3P ⊕g 3P ⊕h 3P ; 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 encoding output unit 3 are connected to the first inputs of the calculation unit 4 an error syndrome, to the second inputs of which the outputs of the control bits of the memory node 1 are connected, the first outputs of the calculation unit 4 of the error syndrome are connected to the first inputs of the decoder 5, to the first inputs of the switch 6, to the inputs of the first block of 10 OR elements and to the first inputs of block 7 of the switches , the second outputs of the error syndrome calculation unit 4 are connected to the second inputs of the decoder 5 and to the second inputs the first block of 10 OR elements, the outputs of the decoder 5 are connected 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 of 11 OR elements through an 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 the element 13 And is the output of the error signal, the outputs of the switch 6 are connected to the second inputs of the corrector 8, the outputs of the block 7 switch a second input connected to the unit 9 correctors, the outputs of the corrector 8 and the block 9 are connected to the inputs of corrector unit 14 of AND gates, whose outputs are data outputs 21 of the device.
Узел 1 памяти, в данном случае, представляет собой статическое полупроводниковое оперативное устройство памяти и предназначен для хранения кодовых наборов: УК=x1x2x3, z1z2z3, a1a2a3, c1c2c3, e1e2e3 f1f2f3, g1g2g3, h1h2h3r1r2r3r4r5r6, полученных при кодировании исходных двадцати четырех разрядных двоичных наборов.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 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 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:
r1=x1⊕z1⊕a1⊕с1⊕e1⊕f1⊕g1⊕h1; r2=x2⊕z2⊕a2⊕с2⊕e2⊕f2⊕g2⊕h2; r3=x3⊕z3⊕a3⊕с3⊕e3⊕f3⊕g3⊕h3; r4=x1⊕z3⊕a2⊕с2⊕c3⊕e1⊕e3⊕f1⊕f2⊕g1⊕g2⊕g3; r5=x2⊕z1⊕a3⊕с1⊕c3⊕e1⊕e2⊕f2⊕f3⊕g1⊕g2⊕g3; r6=x3⊕z2⊕a1⊕с1⊕c2⊕e2⊕e3⊕f1⊕f3⊕g1⊕g2⊕g3.r 1 = x 1 ⊕z 1 ⊕a 1 ⊕с 1 ⊕e 1 ⊕f 1 ⊕g 1 ⊕h 1 ; r 2 = x 2 ⊕z 2 ⊕a 2 ⊕с 2 ⊕e 2 ⊕f 2 ⊕g 2 ⊕h 2 ; r 3 = x 3 ⊕z 3 ⊕a 3 ⊕с 3 ⊕e 3 ⊕f 3 ⊕g 3 ⊕h 3 ; r 4 = x 1 ⊕z 3 ⊕a 2 ⊕с 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 ⊕с 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 ⊕с 1 ⊕c 2 ⊕e 2 ⊕e 3 ⊕f 1 ⊕f 3 ⊕g 1 ⊕g 2 ⊕g 3 .
Выходной блок 3 кодирования предназначен для формирования значений проверочных контрольных разрядов r1П, r2П, r3П, r4П, r5П, r6П, путем сложения по mod2 информационных символов, полученных при считывании информации с узла 1 памяти в соответствии с правилом:The output coding unit 3 is intended for generating the values of the 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:
r1П=x1П⊕z1П⊕a1П⊕с1П⊕e1П⊕f1П⊕g1П⊕h1П; r2П=x2П⊕z2П⊕a2П⊕с2П⊕e2П⊕f2П⊕g2П⊕h2П; r3П=x3П⊕z3П⊕a3П⊕с3П⊕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 1P = x 1P ⊕z 1P ⊕a 1P ⊕s 1P ⊕e 1P ⊕f 1P ⊕g 1P ⊕h 1P ; r 2P = x 2P ⊕z 2P ⊕a 2P ⊕s 2P ⊕e 2P ⊕f 2P ⊕g 2P ⊕h 2P ; r 3P = x 3P ⊕z 3P ⊕a 3P ⊕s 3P ⊕e 3P ⊕f 3P ⊕g 3P ⊕h 3P ; 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 ,
Блок 4 вычисления синдрома ошибки предназначен для обнаружения ошибки в кодовом наборе при считывании информации с узла 1 памяти путем сложения по mod2 значений контрольных разрядов r1, r2, r3, r4, r5 и r6 считываемых с вторых выходов узла 1 памяти, соответственно с значениями контрольных разрядов r1П, r2П, r3П, r5П, и r6П сформированных на выходах выходного блока 3 кодирования.Block 4 of the calculation of the error syndrome is designed 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 the memory node 1 , respectively, with the values of the control bits r 1P , r 2P , r 3P , r 5P , and r 6P generated at the outputs of the output coding unit 3.
Результат поразрядного сложения:The result of bitwise addition:
λ1=r1⊕r1П;λ 1 = r 1 ⊕r 1P ;
λ2=r2⊕r2П;λ 2 = r 2 ⊕r 2P ;
λ3=r3⊕r3П;λ 3 = r 3 ⊕r 3P ;
λ4=r4⊕r4П;λ 4 = r 4 ⊕r 4P ;
λ5=r5⊕r5П;λ 5 = r 5 ⊕r 5P ;
λ6=r6⊕r6П.λ 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 one to determine the error configuration (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:
Если значение синдрома ошибки не соответствует значениям, представленным в таблице, то произошла не корректируемая ошибка (сигналы на выходе дешифратора имеют нулевые значения).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 (block 9 of correctors) are intended to correct a correctable error by adding mod2 of the same bits of the 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 supplied 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:
r1=x1⊕z1⊕a1⊕с1⊕e1⊕f1⊕g1⊕h1; r2=x2⊕z2⊕a2⊕с2⊕e2⊕f2⊕g2⊕h2; r3=x3⊕z3⊕a3⊕с3⊕e3⊕f3⊕g3⊕h3; r4=x1⊕z3⊕a2⊕с2⊕c3⊕e1⊕e3⊕f1⊕f2⊕g1⊕g2⊕g3; r5=x2⊕z1⊕a3⊕с1⊕c3⊕e1⊕e2⊕f2⊕f3⊕g1⊕g2⊕g3; r6=x3⊕z2⊕a1⊕с1⊕c2⊕e2⊕e3⊕f1⊕f3⊕g1⊕g2⊕g3.r 1 = x 1 ⊕z 1 ⊕a 1 ⊕с 1 ⊕e 1 ⊕f 1 ⊕g 1 ⊕h 1 ; r 2 = x 2 ⊕z 2 ⊕a 2 ⊕с 2 ⊕e 2 ⊕f 2 ⊕g 2 ⊕h 2 ; r 3 = x 3 ⊕z 3 ⊕a 3 ⊕с 3 ⊕e 3 ⊕f 3 ⊕g 3 ⊕h 3 ; r 4 = x 1 ⊕z 3 ⊕a 2 ⊕с 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 ⊕с 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 ⊕с 1 ⊕c 2 ⊕e 2 ⊕e 3 ⊕f 1 ⊕f 3 ⊕g 1 ⊕g 2 ⊕g 3 .
Пример. Допустим, необходимо закодировать двоичный набор:Example. Let's say you need to encode a binary set:
Тогда первая часть и вторая часть контрольных разрядов, сформированных относительно полученного кодового набора, соответственно равны: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.
При отсутствии ошибки, значение кодового набора записанного в узле 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):
В этом случае на выходе блока 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 unit 3 will generate, relative to the received code set, the values of the control bits:
r1П=0, r2П=0, r3П=1.r 1P = 0, r 2P = 0, r 3P = 1.
r3П=0⊕0⊕0⊕0⊕0⊕1⊕1⊕0⊕1⊕1⊕1⊕0=1;r 3P = 0⊕0⊕0⊕0⊕0⊕1⊕1⊕0⊕1⊕1⊕1⊕0 = 1;
r4П=0⊕1⊕1⊕1⊕0⊕1⊕1⊕1⊕1⊕1⊕1⊕0=1;r 4P = 0⊕1⊕1⊕1⊕0⊕1⊕1⊕1⊕1⊕1⊕1⊕0 = 1;
r6П=1⊕1⊕1⊕0⊕0⊕1⊕1⊕0⊕1⊕1⊕1⊕0=0;r 6P = 1⊕1⊕1⊕0⊕0⊕1⊕1⊕0⊕1⊕1⊕1⊕0 = 0;
В блоке 4 вычисления синдрома ошибки складываются, переданные контрольные разряды с контрольными разрядами, сформированными относительно полученного кодового набора, в результате получим синдром ошибки:In block 4, the calculations of the error syndrome are added, the transmitted control bits with the control bits formed relative to the received code set, as a result, we obtain the error syndrome:
В этом случае, первая часть синдрома оказывает на ошибочный разряд блока информации, вторая часть синдрома указывает ошибочный блок А (см. табл.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 block 7, while the error vector values are 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:
В результате имеем правильное значение информации.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.
В этом случае, значения контрольных разрядов, сформированные выходным блоком 3 кодирования относительно полученного двоичного набора равны:In this case, the values of the control bits generated by the output coding unit 3 relative to the received binary set are:
r1П=0, r2П=1, r3П=0,r 1P = 0, r 2P = 1, r 3P = 0,
r3П=0, r4П=1, r6П=1.r 3P = 0, r 4P = 1, r 6P = 1.
Значение синдрома ошибки, полученные блоком 4 вычисления синдрома ошибки равно: .The value of the error syndrome obtained by block 4 of the calculation of the error syndrome is equal to: .
В этом случае, на выходе первого блока 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 the inverter 12 a single value signal, 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 unit and error bytes are detected, with the exception of errors that are transformed into correctable.
ИСТОЧНИКИ ИНФОРМАЦИИINFORMATION SOURCES
1. Щербаков Н.С. Достоверность работы цифровых устройств. М: Машиностроение, 1989, с.82, рис.39., 224 с.1. Scherbakov N.S. The reliability of digital devices. M: Mechanical Engineering, 1989, p. 82, fig. 39., 224 p.
2. Щербаков Н.С. Достоверность работы цифровых устройств. М: Машиностроение, 1989, с.122, рис.45., 224 с.2. Scherbakov N.S. The reliability of digital devices. M: Mechanical Engineering, 1989, p. 122, fig. 45., 224 p.
Приложениеapplication
1. Введение и постановка задачи1. Introduction and statement of the problem
Во многих случаях для обнаружения и исправления ошибок используются коды с обнаружением и исправлением байтов ошибок (в этом случае, под байтом ошибок понимаются ошибки, кратность которых не превышает число разрядов b блока информации).In many cases, codes for detecting and correcting errors are used with the detection and correction of error bytes (in this case, the error byte means 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 when using them for systems operating in real time, therefore 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 for constructing a correcting code that corrects single and detecting double bytes of errors is proposed that 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 implement mod2 addition of the same bits of blocks (bytes) of information.
В результате поучим кодовый набор:As a result, we will teach a code set:
Значение контрольных разрядов , , позволяют сформировать значение синдрома ошибки при этом, первая часть контрольных разрядов определяет вектор ошибки (ошибочные разряды в блоке информации), а значение второй части контрольных разрядов предназначено для определения номер ошибочного блока (байта) информации.The value of the control bits , , allow to form the value of the error syndrome in this case, the first part of the control bits determines the error vector (erroneous bits in the information block), and the value of the second part of the control bits is intended to determine the number of an 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, there is a need to form a set of checks (develop a rule for encoding information), which allows to determine an information block 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:
В этом случае, для первого блока информации значения контрольных разрядов соответственно равны ; ; .In this case, for the first block of information, the values of the control bits are respectively equal ; ; .
Для второго и третьего информационных блоков, матрицы кодирования имеет вид соответственно:For the second and third information blocks, the encoding matrix has the form, respectively:
Не трудно заметить, что очередная матрица кодирования получается в результате циклической замены строк матрицы кодирования.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:
Значения контрольных разрядов формируются сложением по mod2 элементов столбцов, соответствующих единичным значениям.The values of the control bits are formed by adding mod2 column elements corresponding to unit values.
Так, например, если первый столбец больше не содержит единиц, то значение первого контрольного разряда равно: .So, for example, if the first column no longer contains units, then the value of the first control bit is: .
Каждая очередная матрица кодирования для блоков информации, начиная с b+2 блока по информации получается циклической заменой строк матрицы по аналогии с матрицей, содержащей в своих строках по одной единице.Each successive coding matrix for information blocks, starting with b + 2 blocks by information is obtained by cyclic replacement of the rows of the matrix by analogy with a matrix containing one unit in each row.
Аналогичным образом строятся матрицы кодирования, содержащие в своих строках различные сочетания из трех единиц и.т.д.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, in each pair, change (invert) one element of the same name.
Используя модифицированные матрицы кодирования, получим проверки, определяющие значения контрольных разрядов для каждого блока информации, путем сложения по 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 одноименные контрольные проверки для всех блоков информации, получим значения контрольных разрядов для второй части контрольных разрядов кодового набора.Combining modulo mod2 modulo control checks of the same name for all blocks of information, we obtain the values of the control bits for the second part of the control bits of the code set.
Таким образом, кодовый набор передается в виде:Thus, the code set is transmitted in the form:
Результат сложения по mod2 переданных значений контрольных разрядов , и контрольных разрядов , сформированных относительно полученных информационных разрядов даст значение синдрома ошибки, включающего две части:The result of mod2 addition of the transmitted values of the control bits , and control bits , formed relative to the received information bits will give the value of the error syndrome, which includes two parts:
Значение синдрома ошибки 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:
Таким образом, разработанный код, при оптимальном числе контрольных разрядов 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.
Пример: Допустим, имеем двадцати четырех разрядный двоичный набор, который разобьем на блоки информации по три разряда в каждом блоке:Example: Suppose we have twenty-four bit binary sets that we break into blocks of information of three bits in each block:
У= x1x2x3, z1z2z3, a1a2a3, c1c2c3, e1e2e3, f1f2f3; g1g2g3, h1h2h3.Y = 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 .
Построим исходные матрицы кодирования для каждого блока информации:We construct the source coding matrix for each block of information:
Складывая по 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.
В результате значения второй части контрольных разрядов формируется проверками:As a result, the values of the second part of the control bits are formed by checks:
Полученные значения контрольных разрядов, совместно с значениями первой части контрольных разрядов, сформированных путем сложения одноименных информационных разрядов блоков информации, позволяют иметь корректирующий код, исправляющий одиночные ошибки в любом блоке информации и обнаруживать ошибки большей кратности.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) correcting single errors and detecting errors of higher multiplicity.
Анализ представленной таблицы показывает, что в случае возникновения одиночной ошибки, значения второй части синдромов для блоков информации различаются между собой, что позволяет корректировать данные ошибки.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.
При возникновении ошибок большей кратности или в нескольких информационных блока значения синдромов неразличимы, в этом случае ошибка обнаруживается.If errors of a greater multiplicity occur or in several information blocks, the values of the syndromes are indistinguishable, in this case an error is detected.
При этом, выделенные синдромы указывают на наличие не корректируемой ошибки, не выделенные синдромы, указывают блок информации, содержащий соответствующую одиночную корректируемую ошибку.At the same time, the selected syndromes indicate the presence of an uncorrectable error, the non-distinguished syndromes indicate an information block containing the corresponding single correctable error.
Пример. Допустим, необходимо закодировать двоичный набор:Example. Let's say you need to encode a binary set:
Подставляя, в полученные выражения формирования второй части контрольных разрядов, значения соответствующих разрядов двоичного набора получим:Substituting, into the obtained expressions, the formation of the second part of the control bits, the values of the corresponding bits of the binary set will receive:
Складывая, одноименные информационные разряды блоков информации, получим первую часть контрольных разрядов 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:
Пусть, произошла одиночная ошибка в первом разряде третьего блока информации (А), тогда первая часть и вторая часть контрольных разрядов, сформированных относительно полученного кодового набора равны соответственно: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:
Складывая, переданные контрольные разряды с контрольными разрядами, сформированными относительно полученного кодового набора, получим синдром ошибки:Adding the transmitted control bits to the control bits formed relative to the received code set, we obtain the error syndrome:
В этом случае, первая часть синдрома оказывает на ошибочный разряд блока информации, вторая часть синдрома указывает ошибочный блок (см. табл.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 information encoding and decoding, and provide the required level of error detection and correction.
Литература:Literature:
1. Щербаков Н.C. Достоверность работы цифровых устройств. М: Машиностроение, 1989, с.122, рис.45., 224 с.1. Scherbakov N.C. The reliability of digital devices. M: Mechanical Engineering, 1989, p. 122, fig. 45., 224 p.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2011114399/08U RU107606U1 (en) | 2011-04-14 | 2011-04-14 | STORAGE AND TRANSMISSION DEVICE WITH SINGLE ERROR CORRECTION IN THE BYTE OF INFORMATION AND DETECTION OF ARRIVAL ERRORS IN THE BYTE OF INFORMATION |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2011114399/08U RU107606U1 (en) | 2011-04-14 | 2011-04-14 | STORAGE AND TRANSMISSION DEVICE WITH SINGLE ERROR CORRECTION IN THE BYTE OF INFORMATION AND DETECTION OF ARRIVAL ERRORS IN THE BYTE OF INFORMATION |
Publications (1)
Publication Number | Publication Date |
---|---|
RU107606U1 true RU107606U1 (en) | 2011-08-20 |
Family
ID=44756113
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2011114399/08U RU107606U1 (en) | 2011-04-14 | 2011-04-14 | STORAGE AND TRANSMISSION DEVICE WITH SINGLE ERROR CORRECTION IN THE BYTE OF INFORMATION AND DETECTION OF ARRIVAL ERRORS IN THE BYTE OF INFORMATION |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU107606U1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU169207U1 (en) * | 2016-11-17 | 2017-03-09 | Межрегиональное общественное учреждение "Институт инженерной физики" | ERROR DATA STORAGE AND TRANSMISSION DEVICE |
RU2621284C1 (en) * | 2016-05-23 | 2017-06-01 | Межрегиональное общественное учреждение "Институт инженерной физики" | Device for storage and transmission of information with error detection |
-
2011
- 2011-04-14 RU RU2011114399/08U patent/RU107606U1/en not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2621284C1 (en) * | 2016-05-23 | 2017-06-01 | Межрегиональное общественное учреждение "Институт инженерной физики" | Device for storage and transmission of information with error detection |
RU169207U1 (en) * | 2016-11-17 | 2017-03-09 | Межрегиональное общественное учреждение "Институт инженерной физики" | ERROR DATA STORAGE AND TRANSMISSION DEVICE |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9450613B2 (en) | Apparatus and method for error correction and error detection | |
US4486882A (en) | System for transmitting binary data via a plurality of channels by means of a convolutional code | |
US4354269A (en) | Apparatus for the processing of an information stream with the aid of an error-correcting convolutional code and apparatus for the detection of an error still irremediable in this processing | |
RU2448359C1 (en) | Apparatus for storing and transmitting data with error correction in data byte and error detection in data bytes | |
US5856987A (en) | Encoder and decoder for an SEC-DED-S4ED rotational code | |
SE451928B (en) | SET TO DECOD DIGITAL ERROR CORRECT INFORMATION | |
US10735028B2 (en) | Data processing device and data processing method | |
JPS6349245B2 (en) | ||
US6519736B1 (en) | Generating special uncorrectable error codes for failure isolation | |
US3766521A (en) | Multiple b-adjacent group error correction and detection codes and self-checking translators therefor | |
RU2450331C1 (en) | Apparatus for storing and transmitting data with single error correction in data byte and arbitrary error detection in data bytes | |
RU164633U1 (en) | STORAGE AND TRANSMISSION DEVICE WITH ERROR DETECTION | |
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 | |
US6463563B1 (en) | Single symbol correction double symbol detection code employing a modular H-matrix | |
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 | |
SU1226536A1 (en) | Storage with error correction | |
RU42685U1 (en) | FAILURE-RESISTANT DEVICE | |
RU109888U1 (en) | ERROR DETECTION INFORMATION STORAGE DEVICE |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM1K | Utility model has become invalid (non-payment of fees) |
Effective date: 20160415 |