RU2542665C1 - Устройство хранения и передачи данных с обнаружением и исправлением ошибок в байтах информации - Google Patents

Устройство хранения и передачи данных с обнаружением и исправлением ошибок в байтах информации Download PDF

Info

Publication number
RU2542665C1
RU2542665C1 RU2014106151/08A RU2014106151A RU2542665C1 RU 2542665 C1 RU2542665 C1 RU 2542665C1 RU 2014106151/08 A RU2014106151/08 A RU 2014106151/08A RU 2014106151 A RU2014106151 A RU 2014106151A RU 2542665 C1 RU2542665 C1 RU 2542665C1
Authority
RU
Russia
Prior art keywords
inputs
block
input
information
outputs
Prior art date
Application number
RU2014106151/08A
Other languages
English (en)
Inventor
Алексей Александрович Павлов
Александр Алексеевич Павлов
Константин Викторович Гусев
Александр Викторович Гусев
Максим Игоревич Ласяк
Анатолий Васильевич Гуляев
Александр Михайлович Вальваков
Александр Анатольевич Мурашко
Original Assignee
Межрегиональное общественное учреждение "Институт инженерной физики"
Федеральное государственное научное учреждение "Институт информатизации образования" Российская академия образования
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Межрегиональное общественное учреждение "Институт инженерной физики", Федеральное государственное научное учреждение "Институт информатизации образования" Российская академия образования filed Critical Межрегиональное общественное учреждение "Институт инженерной физики"
Priority to RU2014106151/08A priority Critical patent/RU2542665C1/ru
Application granted granted Critical
Publication of RU2542665C1 publication Critical patent/RU2542665C1/ru

Links

Landscapes

  • Error Detection And Correction (AREA)

Abstract

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

Description

Изобретение относится к вычислительной технике и может быть использовано для повышения достоверности функционирования запоминающих устройств.
Известно самокорректирующееся устройство [1], использующее корректирующий код (наиболее часто используется код Хемминга, корректирующий одиночную ошибку и обнаруживающий двойную ошибку).
Недостатком устройства является низкая обнаруживающая способность кода, так как обнаруживаются только двойные ошибки.
Наиболее близким по техническому решению является устройство хранения и передачи данных с исправлением ошибок в байте информации и обнаружением ошибок в байтах информации [2], содержащее узел памяти, входной блок кодирования, выходной блок кодирования, блок вычисления синдрома ошибки, дешифратор, коммутатор, блок коммутаторов, корректор, блок корректоров, первый блок элементов ИЛИ, второй блок элементов ИЛИ, инвертор, элемент И, блок элементов И, вход установки устройства в нулевое состояние, вход записи, вход считывания, адресные входы, двадцати четырех разрядные информационные входы, вход синхронизации, информационные выходы, выход сигнала «ошибка», вход установки в нулевое состояние, вход записи, вход считывания, адресные входы, подключены соответственно к первому, второму, третьему и четвертому входам узла памяти, вход синхронизации подключен к пятому входу узла памяти и к первому входу блока элементов И, информационные входы подключены к шестым входам узла памяти и к входам входного блока кодирования, который формирует значения контрольных разрядов r1, r2, r3, r4, r5, r6, r7, r8 путем сложения по модулю 2 информационных символов x1 x2 x3, z1 z2 z3, а1 a2 а3, c1 c2 c3, е1 е2 е3, 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; r33⊕z3⊕а3⊕с3⊕е3⊕f3⊕g3⊕h3; r4=x1⊕z3⊕a2⊕ а3⊕ c2⊕ e1⊕ e3⊕ f1⊕ f2⊕g1⊕ g2⊕ g3; r5=x2⊕ x3⊕ z1⊕ а3⊕ c1⊕ c3⊕e1⊕e2⊕ f2⊕g1⊕ g2⊕ g3; r6=x3⊕ z2⊕ z3© а1⊕ с1⊕ c2⊕ e2⊕ f1⊕ f3⊕g1⊕ g2⊕ g3; r7= x3⊕ z3⊕ a1⊕ а3⊕ c2⊕ e1⊕ f2⊕g1⊕ g2⊕ g3; r8=x1⊕ x2⊕ z2⊕ a2⊕ a3⊕ c3⊕ е3⊕ f2⊕f3 ⊕g1⊕ g2⊕ g3, которые поступают на седьмые входы узла памяти, информационные выходы узла памяти подключены соответственно к первым входам корректора, блока корректоров и к входам выходного блока кодирования, который формирует значения проверочных контрольных разрядов r, r, r, r, r, r r r путем сложения по модулю 2 информационных символов x x х, z z z, a a a, c c c, е е е, f f f, g g g, h h h, поступающих на входы входного блока кодирования с информационных выходов узла памяти, в соответствии с правилом: r=x1п⊕z ⊕а ⊕с ⊕e⊕f ⊕g⊕h; r=x⊕z ⊕a ⊕c⊕е⊕f ⊕g⊕h; r⊕z⊕a⊕с⊕е⊕f⊕g⊕h; r=x⊕z⊕ а⊕ а⊕ с⊕ e⊕ е⊕ f⊕ f⊕g⊕ g⊕ g; r=x⊕ х⊕ z⊕ а⊕ с⊕ с⊕е⊕е⊕ f⊕g⊕ g⊕ g; r⊕ z⊕ z⊕ а⊕ с⊕ c⊕ е⊕ f⊕ f⊕g⊕ g⊕ g; r⊕ z⊕ а⊕ а⊕ C⊕ е⊕ f⊕g⊕ g⊕ g; r⊕ х⊕ z⊕ a⊕ а⊕ с⊕ е⊕ f⊕f ⊕g⊕ g⊕ g, выходы выходного блока кодирования подключены к первым входам блока вычисления синдрома ошибки, к вторым входам которого подключены выходы контрольных разрядов узла памяти, первые выходы блока вычисления синдрома ошибки подключены к первым входам дешифратора, к первым входам коммутатора, к входам первого блока элементов ИЛИ и к первым входам блока коммутаторов, вторые выходы блока вычисления синдрома ошибки подключены к вторым входам дешифратора и к вторым входам первого блока элементов ИЛИ, выходы дешифратора подключены к входам второго блока элементов ИЛИ, при этом первый выход дешифратора подключен к второму входу коммутатора, а вторые выходы подключены к вторым входам блока коммутаторов, выход второго блока элементов ИЛИ через инвертор подключен к первому входу элемента И, второй вход которого подключен к выходу первого блока элементов ИЛИ, выход элемента И является выходом сигнала «ошибка», выходы коммутатора подключены к вторым входам корректора, выходы блока коммутаторов подключены к вторым входам блока корректоров, выходы корректора и блока корректоров подключены к вторым входам блока элементов И, выходы которого являются информационными выходами устройства.
Недостатком устройства является низкая корректирующая способность ошибок, так как корректируются только одиночные байты ошибок.
Целью изобретения является повышение отказоустойчивости устройства за счет коррекции ошибок в двух байтах информации и обнаружения не корректируемых ошибок.
Поставленная цель достигается тем, что устройство, содержащее узел памяти, входной блок кодирования, выходной блок кодирования, блок вычисления синдрома ошибки, дешифратор, корректор, блок элементов И, вход установки устройства в нулевое состояние, вход записи, вход считывания, адресные входы, информационные входы, вход синхронизации, информационные выходы, отличающееся тем, что дополнительно содержит блок хранения векторов ошибок, первый блок элементов ИЛИ, второй блок элементов ИЛИ, элемент неравнозначности, вход установки в нулевое состояние, вход записи, вход считывания, адресные входы подключены соответственно к первому, второму, третьему и четвертому входам узла памяти, вход синхронизации подключен к пятому входу узла памяти и к первому входу блока элементов И, информационные входы подключены к шестым входам узла памяти и к входам входного блока кодирования, который формирует значения контрольных разрядов r 1 f
Figure 00000001
, r 2 f
Figure 00000002
, r 3 f
Figure 00000003
, r 4 f
Figure 00000004
, r 5 f
Figure 00000005
, r 6 f
Figure 00000006
, r 7 f
Figure 00000007
, r 8 f
Figure 00000008
, r 9 g
Figure 00000009
, r 10 g
Figure 00000010
, r 11 g
Figure 00000011
, r 12 g
Figure 00000012
, r 13 g
Figure 00000013
, r 14 g
Figure 00000014
, r 15 g
Figure 00000015
, r 16 g
Figure 00000016
, r 17 g
Figure 00000017
, r 18 g
Figure 00000018
, r 19 g
Figure 00000019
, r 20 g
Figure 00000020
путем сложения по модулю 2 информационных символов а0 a1 а2 а3, b0 b1 b2 b3, c0 c1 c2 c3, d0 d1 d2 d3, e0 e1 е2 e3, f0 f1 f3, g0 g1 g2 g3, h0 h1 h2 h3, i0 i1 i2 i3, j0 j1 j2 j3, k0 k1 k2 k3, l0 l1 l2 l3, m0 m1 m2 m3, n0 n1 n2 n3, o0 o1 o2 o3, p0 p1 p2 p3, поступающих на входы входного блока кодирования, в соответствии с правилом:
Figure 00000021
Figure 00000022
выходы входного блока кодирования подключены к седьмым входам узла памяти, информационные выходы узла памяти подключены соответственно к первым входам корректора и к входам выходного блока кодирования, который формирует значения проверочных контрольных разрядов r 1 П f ,
Figure 00000023
, r 2 П f
Figure 00000024
, r 3 П f
Figure 00000025
, r 4 П f
Figure 00000026
, r 5 П f
Figure 00000027
, r 6 П f
Figure 00000028
, r 7 П f
Figure 00000029
, r 8 П f
Figure 00000030
, r 9 П g
Figure 00000031
, r 10 П g
Figure 00000032
, r 11 П g
Figure 00000033
, r 12 П g
Figure 00000034
, r 13 П g
Figure 00000035
, r 14 П g
Figure 00000036
, r 15 П g
Figure 00000037
, r 16 П g
Figure 00000038
, r 17 П g
Figure 00000039
, r 18 П g
Figure 00000040
, r 19 П g
Figure 00000041
r 20 П g
Figure 00000042
путем сложения по модулю 2 информационных символов а a а а, b b b b, с с с с, d d d d, е е е е, f f f f, g g g g, h h hh, i i i i, j j j j, k k k k, l, l l l, m m m m, n n n n, о о о о, р р р р, поступающих на входы входного блока кодирования с информационных выходов узла памяти, в соответствии с правилом:
Figure 00000043
Figure 00000044
Figure 00000045
Figure 00000046
, выходы выходного блока кодирования подключены к первым входам блока вычисления синдрома ошибки, к вторым входам которого подключены выходы контрольных разрядов узла памяти, выходы блока вычисления синдрома ошибки подключены к входам первого блока элементов ИЛИ и к входам дешифратора, выходы которого подключены к входам второго блока элементов ИЛИ и к входам блока хранения векторов ошибок, выходы блока хранения векторов ошибок подключены к вторым входам корректора, выходы которого подключены к вторым входам блока элементов И, выходы первого и второго блоков элементов ИЛИ подключены к входам элемента неравнозначности, выход которого подключен к третьему входу блока элементов И, первые выходы блока элементов И являются информационными выходами устройства, а второй выход блока элементов И является выходом «отказ устройства».
На фиг.1 представлена блок-схема устройства. Устройство хранения и передачи данных с исправлением ошибок в двух байтах информации содержит: узел 1 памяти, входной блок 2 кодирования, выходной блок 3 кодирования, блок 4 вычисления синдрома ошибки, дешифратор 5, блок 6 хранения векторов ошибок, корректор 7, блок 8 элементов И, первый блок 9 элементов ИЛИ, второй блок 10 элементов ИЛИ, элемент 11 неравнозначности, вход 12 установки к нулевое состояние, вход 13 записи, вход 14 считывания, адресные входы 15, информационные входы 16, вход 17 синхронизации, информационные выходы 18, выход 19 «отказ устройства».
Вход 12 установки в нулевое состояние, вход 13 записи, вход 14 считывания, адресные входы 15 подключены соответственно к первому, второму, третьему и четвертому входам узла 1 памяти, вход 17 синхронизации подключен к пятому входу узла 1 памяти и к первому входу блока 8 элементов И, информационные входы 16 подключены к шестым входам узла 1 памяти и к входам входного блока 2 кодирования, который формирует значения контрольных разрядов r 1 f
Figure 00000001
, r 2 f
Figure 00000002
, r 3 f
Figure 00000003
, r 4 f
Figure 00000004
, r 6 f
Figure 00000006
, r 7 f
Figure 00000007
, r 8 f
Figure 00000008
, r 9 g
Figure 00000009
, r 10 g
Figure 00000010
, r 11 g
Figure 00000011
, r 12 g
Figure 00000012
, r 13 g
Figure 00000013
, r 14 g
Figure 00000014
, r 15 g
Figure 00000015
, r 16 g
Figure 00000016
, r 17 g
Figure 00000017
, r 18 g
Figure 00000018
, r 19 g
Figure 00000019
, r 20 g
Figure 00000020
, путем сложения по модулю 2 информационных символов а0 a1 а2 а3, b0 b1 b2 b3, c0 c1 c2 c3, d0 d1 d2 d3, e0 e1 е2 е3, f0 f1 f2 f3, g0 g1 g2 g3, h0 h1 h2 h3, i0 i1 i2 i3, j0 j1 j2 j3, k0 k1 k2 k3, l0 l1 l2 l3, m0 m1 m2 m3, n0 n1 n2 n3, o0 o1 o2 o3, р0 p1 р2 p3, поступающих на входы входного блока 2 кодирования, в соответствии с правилом:
Figure 00000047
Figure 00000048
выходы входного блока 2 кодирования подключены к седьмым входам узла 1 памяти, информационные выходы узла 1 памяти подключены соответственно к первым входам корректора 7 и к входам выходного блока 3 кодирования, который формирует значения проверочных контрольных разрядов r 1 П f ,
Figure 00000023
r 2 П f
Figure 00000049
, r 3 П f
Figure 00000050
, r 4 П f
Figure 00000051
, r 5 П f
Figure 00000052
, r 6 П f
Figure 00000053
, r 7 П f
Figure 00000054
, r 8 П f
Figure 00000055
, r 9 П g
Figure 00000056
, r 10 П g
Figure 00000057
, r 11 П g
Figure 00000058
, r 12 П g
Figure 00000059
, r 13 П g
Figure 00000060
, r 14 П g
Figure 00000061
, r 15 П g
Figure 00000062
, r 16 П g
Figure 00000063
, r 17 П g
Figure 00000064
, r 18 П g
Figure 00000065
, r 19 П g
Figure 00000066
, r 20 П g
Figure 00000067
путем сложения по модулю 2 информационных символов а a а а, b b b b, с с с с, d d d d, е е е е, f f f f, g g g g, h h hh, i i i i, j j j j, k k k k, l l l l, m m m m, n n n n, о о о о, р р р р, поступающих на входы входного блока 3 кодирования с информационных выходов узла 1 памяти, в соответствии с правилом:
Figure 00000068
Figure 00000069
Figure 00000070
Figure 00000071
, выходы выходного блока 3 кодирования подключены к первым входам блока 4 вычисления синдрома ошибки, к вторым входам которого подключены выходы контрольных разрядов узла 1 памяти, выходы блока 4 вычисления синдрома ошибки подключены к входам первого блока 9 элементов ИЛИ и к входам дешифратора 5, выходы которого подключены к входам второго блока 10 элементов ИЛИ и к входам блока 6 хранения векторов ошибок, выходы блока 6 хранения векторов ошибок подключены к вторым входам корректора 7, выходы которого подключены к вторым входам блока 8 элементов И, выходы первого 9 и второго 10 блоков элементов ИЛИ подключены к входам элемента 11 неравнозначности, выход которого подключен к третьему входу блока 8 элементов И, первые выходы блока 8 элементов И являются информационными выходами 18 устройства, а второй выход 19 блока 8 элементов И является выходом «отказ устройства».
Узел 1 памяти, в данном случае, представляет собой статическое полупроводниковое оперативное устройство памяти и предназначен для хранения кодовых наборов: УК = а0 a1 а2 а3, b0 b1 b2 b3, c0 c1 c2 c3, d0 d1 d2 d3, e0 e1 е2 е3, f0 f1 f2 f3, g0 g1 g2 g3, h0 h1 h2 h3, i0 i1 i2 i3, j0 j1 j2 j3, k0 k1 k2 k3, l0 l1 l2 l3, m0 m1 m2 m3, n0 n1 n2 n3, o0 o1 o2 o3, р0 p1 р2 p3, r 1 f
Figure 00000001
, r 2 f
Figure 00000002
, r 3 f
Figure 00000003
, r 4 f
Figure 00000004
, r 5 f
Figure 00000072
, r 6 f
Figure 00000006
, r 7 f
Figure 00000007
, r 8 f
Figure 00000008
, r 9 g
Figure 00000009
, r 10 g
Figure 00000010
, r 11 g
Figure 00000011
, r 12 g
Figure 00000012
, r 13 g
Figure 00000013
, r 14 g
Figure 00000014
, r 15 g
Figure 00000015
, r 16 g
Figure 00000016
, r 17 g
Figure 00000017
, r 18 g
Figure 00000018
, r 19 g
Figure 00000019
, r 20 g
Figure 00000020
, полученных при кодировании исходных шестидесяти четырех разрядных двоичных наборов.
Входной блок 2 кодирования предназначен для формирования значений контрольных разрядов r 1 f
Figure 00000001
, r 2 f
Figure 00000002
, r 3 f
Figure 00000003
, r 4 f
Figure 00000004
, r 5 f
Figure 00000073
, r 6 f
Figure 00000006
, r 7 f
Figure 00000007
, r 8 f
Figure 00000008
, r 9 g
Figure 00000009
, r 10 g
Figure 00000010
, r 11 g
Figure 00000011
, r 12 g
Figure 00000012
, r 13 g
Figure 00000013
, r 14 g
Figure 00000014
, r 15 g
Figure 00000015
, r 16 g
Figure 00000016
, r 17 g
Figure 00000017
, r 18 g
Figure 00000018
, r 19 g
Figure 00000019
, r 20 g
Figure 00000020
, путем сложения по mod2 информационных символов в соответствии с правилом::
Figure 00000074
Figure 00000075
Выходной блок 3 кодирования предназначен для формирования значений проверочных контрольных разрядов r 1 П f ,
Figure 00000076
r 2 П f
Figure 00000049
, r 3 П f
Figure 00000050
, r 4 П f
Figure 00000051
, r 5 П f
Figure 00000052
, r 6 П f
Figure 00000053
, r 7 П f
Figure 00000054
, r 8 П f
Figure 00000055
, r 9 П g
Figure 00000056
, r 10 П g
Figure 00000057
, r 11 П g
Figure 00000058
, r 12 П g
Figure 00000059
, r 13 П g
Figure 00000060
, r 14 П g
Figure 00000061
, r 15 П g
Figure 00000062
, r 16 П g
Figure 00000063
, r 17 П g
Figure 00000064
, r 18 П g
Figure 00000065
, r 19 П g
Figure 00000066
, r 20 П g
Figure 00000067
, путем сложения по модулю 2 информационных символов а a а а, b b b b, с с с с, d d d d, е е е е, f f f f, g g g g, h h hh, i i i i, j j j j, k k k k, l l l l, m m m m, n n n n, о о о о, р р р р, поступающих на входы входного блока 3 кодирования с информационных выходов узла 1 памяти, в соответствии с правилом:
Figure 00000077
Figure 00000078
Figure 00000079
Блок 4 вычисления синдрома ошибки предназначен для обнаружения ошибки в кодовом наборе при считывании информации с узла 1 памяти путем сложения по mod2 значений контрольных разрядов r 1 f
Figure 00000001
, r 2 f
Figure 00000002
, r 3 f
Figure 00000003
, r 4 f
Figure 00000004
, r 6 f
Figure 00000006
, r 7 f
Figure 00000007
, r 8 f
Figure 00000008
, r 9 g
Figure 00000009
, r 10 g
Figure 00000010
, r 11 g
Figure 00000011
, r 12 g
Figure 00000012
, r 13 g
Figure 00000013
, r 14 g
Figure 00000014
, r 15 g
Figure 00000015
, r 16 g
Figure 00000016
, r 17 g
Figure 00000017
, r 18 g
Figure 00000018
, r 19 g
Figure 00000019
, r 20 g
Figure 00000020
, считываемых с вторых выходов узла 1 памяти, соответственно с значениями контрольных разрядов r 1 П f
Figure 00000080
, r 2 П f
Figure 00000049
, r 3 П f
Figure 00000050
, r 4 П f
Figure 00000051
, r 5 П f
Figure 00000052
, r 6 П f
Figure 00000053
, r 7 П f
Figure 00000054
, r 8 П f
Figure 00000055
, r 9 П g
Figure 00000056
, r 10 П g
Figure 00000057
, r 11 П g
Figure 00000058
, r 12 П g
Figure 00000059
, r 13 П g
Figure 00000060
, r 14 П g
Figure 00000061
, r 15 П g
Figure 00000062
, r 16 П g
Figure 00000063
, r 17 П g
Figure 00000064
, r 18 П g
Figure 00000065
, r 19 П g
Figure 00000066
, r 20 П g
Figure 00000067
, сформированных на выходах выходного блока 3 кодирования.
Результат поразрядного сложения:
Figure 00000081
Нулевой результат суммы свидетельствует об отсутствии ошибки, и ее наличии в противном случае.
Дешифратор 5 формирует единичное значение сигнала на одном из своих выходов в соответствии с значением синдромом ошибки (формирует адрес вектора ошибки в блоке 6 хранения векторов ошибок).
В таблице 1 представлена часть значений синдромов ошибок для кода 84, 20.
Примечание: В табл.1 значения информационных разрядов, контрольных разрядов и значения ошибки в байтах информации представлены в шестнадцатеричной системе счисления, а значения синдрома ошибки - в двоичной.
Figure 00000082
Figure 00000083
Figure 00000084
Figure 00000085
Блок 6 хранения векторов ошибок предназначен для хранения значений векторов ошибок в соответствии с значениями синдромов ошибок (вектор ошибки имеет единичные значения сигналов в тех разрядах кодового набора, в которых произошла ошибка).
Корректор 7 предназначен для исправления корректируемой ошибки путем сложения по mod2 одноименных разрядов блока информации, имеющего ошибку с значением вектора ошибки.
Первый 9, второй 10 блоки элементов ИЛИ, элемент 11 неравнозначности предназначены для формирования сигнала «отказ устройства» при наличии единичного сигнала на выходе первого блока 9 элементов ИЛИ и отсутствии единичного сигнала на выходе второго блока 10 элементов ИЛИ и наоборот.
Устройство работает следующим образом. Перед началом работы устройства на вход 12 "установки в нулевое состояние" подается единичный сигнал, который переводит устройство в нулевое состояние.
При записи информации в узел 1 памяти подаются единичные сигналы на вход 17 синхронизации, вход 13 записи, адресные входы 15 и информационные входы 16.
Допустим, необходимо закодировать двоичный набор:
Figure 00000086
Figure 00000087
Тогда значения контрольных разрядов, сформированных относительно полученного набора входным блоком 2 кодирования, имеют нулевые значения, т.е. имеем кодовый набор:
Figure 00000088
При отсутствии ошибки значение кодового набора, записанного в узле 1 памяти, равно считанному (переданному кодовому набору):
Figure 00000089
В этом случае на выходе блока 4 вычисления синдрома ошибки имеем нулевые значения сигналов.
Пусть произошла одиночная ошибка в четвертом разряде шестнадцатого блока информации (Р=0001*), тогда выходной блок 3 кодирования сформирует относительно полученного кодового набора значения контрольных разрядов:
Figure 00000090
В блоке 4 вычисления синдрома ошибки складываются переданные контрольные разряды с контрольными разрядами, сформированными относительно полученного кодового набора, в результате получим синдром ошибки S:
Figure 00000091
В этом случае, синдром ошибки указывает четвертый ошибочный разряд блока Р (вторая строка табл.1).
На выходе дешифратора 5 появится единичное значение сигнала, которое формирует адрес для считывания значения вектора ошибки из блока 6 хранения векторов ошибок в соответствии с значением синдрома ошибки.
В этом случае, значение вектора ошибки поступает на входы корректора 7, где складывается по mod2 с значениями информационных разрядов. В результате имеем правильное значение информации.
Аналогичным образом корректируются ошибки, возникающие в других одиночных и двойных байтах информации.
Возникновение некорректируемой ошибки (наличия единичного значения сигнала хотя бы на одном выходе блока 4 вычисления синдрома ошибки) и отсутствие единичного сигнала на выходах дешифратора 5 приводит к появлению единичного сигнала на выходе первого блока 9 элементов ИЛИ и нулевому значению сигнала на выходе второго блока 10 элементов ИЛИ. В этом случае на выходе элемента 11 неравнозначности появится единичное значение сигнала, которое свидетельствует о наличии некорректируемой ошибки (отказе устройства).
ИСТОЧНИКИ ИНФОРМАЦИИ
1. Щербаков Н.С. Достоверность работы цифровых устройств. М.: Машиностроение, 1989, с.82, рис.39, 224 с.
2. Патент РФ на изобретение №2448359 "Устройство хранения и передачи данных с исправлением ошибок в байте информации и обнаружением ошибок в байтах информации" / Борисов К.Ю., Малофеев Ю.Г., Осипенко П. Н., Павлов А.А., Павлов А.А., Павлов П.А., Царьков A.Н, Хоруженко О.В. Дата выдачи: 20.04.2012 г.
ПРИЛОЖЕНИЕ
1. Введение и постановка задачи
Во многих случаях для обнаружения и исправления ошибок используются коды с обнаружением и исправлением байтов ошибок (в этом случае, под байтом ошибок понимаются ошибки, кратность которых не превышает число разрядов b блока информации).
К таким кодам следует отнести коды [1]:
- исправляющие одиночные ошибки и обнаруживающие одиночные байты ошибок;
- коды, исправляющие одиночные ошибки, обнаруживающие двойные независимые ошибки и обнаруживающие одиночные байты ошибок;
-коды, исправляющие одиночные байты ошибок;
-коды исправляющие одиночные и обнаруживающие двойные байты ошибок.
Широкое распространение получили коды Рида-Соломона, обладающие циклическими свойствами и имеющие наибольшую обнаруживающую и корректирующую способность.
Код Рида-Соломона (РС) - это блочный код (w, N), позволяющий обнаруживать и исправлять ошибки в байтах. Входным словом для него является блок из w байтов, выходным - кодовое слово из N байтов, состоящее из w исходных и N-w проверочных байтов. При этом гарантировано, что при декодировании в кодовом слове будут обнаружены и исправлены t=(N-w)/2 байтов независимо от их расположения внутри кодового слова. Кодирующее устройство РС реализуется на основе регистра сдвига с 2t байтовыми элементами памяти и обратными связями. Процесс кодирования и декодирования сводится к операциям сложения и умножения по модулю.
Использование данных кодов связано с большими временными затратами, что является существенным недостатком при их использовании для систем, работающих в реальном масштабе времени, по этому существует необходимость в разработке более простой линейной процедуры построения корректирующих кодов, решающих данную задачу.
2. Разработка линейного корректирующего кода с исправлением ошибок в двух байтах информации
Предлагается метод построения корректирующего кода, исправляющего ошибки в двух байтах информации, реализующий линейную процедуру построения корректирующего кода с синдромным декодированием.
Правила кодирования информации
Правило 2.1 Двоичный набор Y, содержащий k информационных символов, разбивается на w=k/b байтов информации (под байтом информации понимается число информационных разрядов, не превышающих значение b, и пусть b кратно k).
Под байтом ошибок понимаются ошибки, кратность которых не превышает число разрядов b блока информации.
В результате двоичный набор может быть представлен в виде:
Figure 00000092
Определение 2.1 Вектор ошибки, полученный относительно сложения одноименных разрядов переданных и полученных байтов информации, будем называть аддитивным вектором ошибки.
Правило 2.2 Для формирования первого аддитивного вектора ошибки осуществим сложение по mod2 одноименных разрядов байтов информации начиная с первого по (b-1) - блок информации, а для формирования второго аддитивного вектора ошибки осуществим сложение по mod2 одноименных разрядов байтов информации начиная с второго по b - блок информации (осуществим операцию перемежения) и результат суммирования добавим к двоичному набору Y.
В результате получим кодовый набор YK1:
Figure 00000093
Для исправления ошибочных разрядов информации возникает необходимость формирования совокупности проверок (разработки правила кодирования информации), позволяющих определить блок (байт) информации, содержащий ошибку.
С этой целью осуществим кодирование блоков информации, используя w матриц кодирования.
Свойство 2.1 Каждая матрица кодирования содержит gH=[log2(k+1)] сток при нечетном значении b и gЧ=[log2(k+1)]+1 - при четном значении b.
Свойство 2.2 Каждая строка матрицы кодирования содержит b разрядов.
Примечание: Квадратные скобки означают округление результата в большую сторону.
Правило 2.3 Представим одноименные строки матриц кодирования двоичным набором, соответствующим одному из значений множества {2b} таким образом, чтобы результат проверки на четность строк матрицы кодирования в двоичном наборе образовывал номер ui, принадлежащий множеству {2 gH} при нечетном значении b и множеству {2 gЧ} - при четном значении b, и при этом для полученных значений номеров выполнялось условие uj--ui≥2t.
Правило 2.4 Значения контрольных проверок (значений контрольных разрядов) матрицы кодирования формируются сложением по mod2 элементов строк матрицы, имеющих единичные значения.
Свойство 2.3 Для исключения совпадения синдромов ошибок (при k=b2b) для второй части синдромов ошибок требуется r=[log2(2b2b)+1] - контрольных разрядов при четном значении b, и rgH=log2(2b2b) - при нечетном.
В этом случае, число дополнительных контрольных разрядов (строк матрицы кодирования) составит rДОПЧ=[log2(2b2b)+1-b] при четном значении b, и rДОПЧН=[log2(2b2b)-b] - при нечетном.
Граница числа контрольных разрядов для кода, корректирующего ошибки в двух байтах информации с формированием аддитивного вектора ошибки, оценивается выражением:
Figure 00000094
Правило 2.5 Объединяя по mod2 одноименные контрольные проверки для всех матриц кодирования, получим значения второй части контрольных разрядов
Figure 00000095
Таким образом, имеем регулярную процедуру построения кодового набора с аддитивным формирование вектора ошибки:
Figure 00000096
Результат сложения по mod2 переданных значений контрольных разрядов r i 1 f
Figure 00000097
, r i 2 f
Figure 00000098
, r i g
Figure 00000099
и контрольных разрядов r i 1 f П
Figure 00000100
, r i 2 f П
Figure 00000101
, r i g П
Figure 00000102
, сформированных относительно полученных информационных разрядов, даст значение синдрома ошибки, включающего две части:
Figure 00000103
Значения синдрома ошибки S 1 f
Figure 00000104
, S 2 f
Figure 00000105
представляют собой аддитивные векторы ошибки (указывают ошибочные разряды в блоках информации), а значение синдрома ошибки Sg определяет номера ошибочных блоков (байтов) информации.
Свойство 2.4 Возникновение ошибок в соседних байтах информации приводит к искажениям векторов ошибок.
Следствие 2.1 При возникновении ошибок в соседних байтах вектора ошибок формируются в соответствии с синдромом ошибок.
Правило 2.6 декодирования включает следующую стратегию:
Figure 00000106
Аналогичным образом строится код, корректирующий ошибки в заданном n-числе байтов информации (n≤b).
Граница числа контрольных разрядов корректирующего кода, исправляющего ошибки в заданном числе байтов информации (при нечетном значении b), оценивается выражением:
Figure 00000107
При четном значении b к данному выражению прибавляется единица.
Таким образом, предлагаемый метод коррекции ошибок в заданном числе байтов информации с аддитивным формированием вектора ошибки имеет регулярную и относительно простую процедуру матричного кодирования. Позволяет сократить временные затраты на кодирование и декодирование информации (исключить циклическую процедуру кодирования).
По отношению к коду Рида-Соломона позволяет исключить временные затраты на нахождения корней полинома локаторов ошибок. Так, для решения ключевого уравнения кода PC (78,8) по алгоритму Евклида потребуется 96 тактов работы декодирующего устройства.
Временные затраты на кодирование информации предлагаемым методом сопоставимы с временными затратами при контроле информации на четность (требующим минимальных временных затрат), что дает возможность обеспечить работу канала передачи данных в реальном масштабе времени.
Предлагаемый метод позволяет сократить аппаратурные затраты на построение декодирующего устройства, т.к. в большинстве случаев не требует аппаратурных затрат на вычисление вектора ошибки.
Использование предлагаемого метода позволяет повысить достоверность передаваемой информации за счет обнаружения некорректируемых ошибок. В отличие от кодов PC, использующих для коррекции полином ошибок наименьшей степени (при реализации декодирования по методу «максимума-правдоподобия»), что в некоторых случаях приводит к ошибочной коррекции.
Пример 2. Допустим, требуется осуществить коррекцию ошибок в двух байтах информации кратности 4, в двоичном наборе, содержащем 64 информационных разряда, т.е. построить код (84, 20).
Используя полученные правила, построим матрицы кодирования информации для формирования второй части контрольных разрядов:- r 1 g
Figure 00000108
, r 2 g
Figure 00000109
r Д О П i g
Figure 00000110
(табл.2.1).
Figure 00000111
Figure 00000112
Контрольные проверки (значения второй части контрольных разрядов), полученные относительно полученных матриц кодирования, имеют вид:
Figure 00000113
Figure 00000114
В табл.2.2 представлена часть значений синдромов ошибок для кода 84,20.
Примечание: В табл.2.2 значения информационных разрядов, контрольных разрядов и значения ошибки в байтах информации представлены в шестнадцатеричной системе счисления, а значения синдрома ошибки - в двоичной.
Figure 00000115
Figure 00000116
Figure 00000117
Figure 00000118
Анализ таблицы показывает, что 94% синдромов ошибок имеют разные значения, т.е. не корректируется 6% ошибок в двух блоках информации.
Введение дополнительных контрольных разрядов позволяет осуществить коррекцию до 100% ошибок, однако это ведет к значительному росту аппаратурных затрат, по этому целесообразно ограничиться коррекцией данного числа ошибок.
Таким образом, разработанный метод коррекции ошибок в двух байтах информации отличается от существующих тем, что позволяет:
- осуществлять коррекцию ошибок с алгебраически-синдромным декодированием (исключить циклическую процедуру кодирования и декодирования информации);
- имеет регулярную и относительно простую процедуру кодирования информации;
- сократить временные затраты на кодирование и декодирование информации и обеспечить работу канала передачи данных в реальном масштабе времени.
Литература
1. Щербаков Н.С. Достоверность работы цифровых устройств. М.: Машиностроение, 1989, с.122, рис.45, 224 с.

Claims (1)

  1. Устройство хранения и передачи данных с обнаружением и исправлением ошибок в байтах информации, содержащее узел памяти, входной блок кодирования, выходной блок кодирования, блок вычисления синдрома ошибки, дешифратор, корректор, блок элементов И, вход установки устройства в нулевое состояние, вход записи, вход считывания, адресные входы, информационные входы, вход синхронизации, информационные выходы, отличающееся тем, что дополнительно содержит блок хранения векторов ошибок, первый блок элементов ИЛИ, второй блок элементов ИЛИ, элемент неравнозначности, вход установки в нулевое состояние, вход записи, вход считывания, адресные входы подключены соответственно к первому, второму, третьему и четвертому входам узла памяти, вход синхронизации подключен к пятому входу узла памяти и к первому входу блока элементов И, информационные входы подключены к шестым входам узла памяти и к входам входного блока кодирования, который формирует значения контрольных разрядов
    Figure 00000001
    ,
    Figure 00000002
    ,
    Figure 00000003
    ,
    Figure 00000004
    ,
    Figure 00000119
    ,
    Figure 00000006
    ,
    Figure 00000007
    ,
    Figure 00000008
    ,
    Figure 00000009
    ,
    Figure 00000010
    ,
    Figure 00000011
    ,
    Figure 00000012
    ,
    Figure 00000013
    ,
    Figure 00000014
    ,
    Figure 00000015
    ,
    Figure 00000016
    ,
    Figure 00000017
    ,
    Figure 00000018
    ,
    Figure 00000019
    ,
    Figure 00000020
    путем сложения по модулю 2 информационных символов а0 a1 а2 а3, b0 b1 b2 b3, c0 c1 c2 c3, d0 d1 d2 d3, e0 e1 е2 е3, f0 f1 f2 f3, g0 g1 g2 g3, h0 h1 h2 h3, i0 i1 i2 i3, j0 j1 j2 j3, k0 k1 k2 k3, l0 l1 l2 l3, m0 m1 m2 m3, n0 n1 n2 n3, o0 o1 o2 o3, р0 p1 р2 p3, поступающих на входы входного блока кодирования, в соответствии с правилом:
    Figure 00000120

    Figure 00000121

    выходы входного блока кодирования подключены к седьмым входам узла памяти, информационные выходы узла памяти подключены соответственно к первым входам корректора и к входам выходного блока кодирования, который формирует значения проверочных контрольных разрядов
    Figure 00000122
    , rf, rf, rf, rf, rf, rf, rf, rg, r10Пg, r11Пg, r12Пg, r13Пg, r14Пg, r15Пg, r16Пg, r17Пg, r18Пg, r19Пg, r20Пg путем сложения по модулю 2 информационных символов а а а а, b b b b, с с с с, d d d d, е е е е, f f f f, g g g g, h h hh, i i i i, j j j j, k k k k, l l l l, m m m m, n n n n, о о о о, р р р р, поступающих на входы входного блока кодирования с информационных выходов узла памяти, в соответствии с правилом:
    Figure 00000123

    Figure 00000124

    Figure 00000125
    выходы выходного блока кодирования подключены к первым входам блока вычисления синдрома ошибки, к вторым входам которого подключены выходы контрольных разрядов узла памяти, выходы блока вычисления синдрома ошибки подключены к входам первого блока элементов ИЛИ и к входам дешифратора, выходы которого подключены к входам второго блока элементов ИЛИ и к входам блока хранения векторов ошибок, выходы блока хранения векторов ошибок подключены к вторым входам корректора, выходы которого подключены к вторым входам блока элементов И, выходы первого и второго блоков элементов ИЛИ подключены к входам элемента неравнозначности, выход которого подключен к третьему входу блока элементов И, первые выходы блока элементов И являются информационными выходами устройства, а второй выход блока элементов И является выходом «отказ устройства».
RU2014106151/08A 2014-02-20 2014-02-20 Устройство хранения и передачи данных с обнаружением и исправлением ошибок в байтах информации RU2542665C1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2014106151/08A RU2542665C1 (ru) 2014-02-20 2014-02-20 Устройство хранения и передачи данных с обнаружением и исправлением ошибок в байтах информации

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2014106151/08A RU2542665C1 (ru) 2014-02-20 2014-02-20 Устройство хранения и передачи данных с обнаружением и исправлением ошибок в байтах информации

Publications (1)

Publication Number Publication Date
RU2542665C1 true RU2542665C1 (ru) 2015-02-20

Family

ID=53289093

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2014106151/08A RU2542665C1 (ru) 2014-02-20 2014-02-20 Устройство хранения и передачи данных с обнаружением и исправлением ошибок в байтах информации

Country Status (1)

Country Link
RU (1) RU2542665C1 (ru)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2618388C1 (ru) * 2015-12-09 2017-05-03 Межрегиональное общественное учреждение "Институт инженерной физики" Контролируемое устройство хранения и передачи информации
RU2621284C1 (ru) * 2016-05-23 2017-06-01 Межрегиональное общественное учреждение "Институт инженерной физики" Устройство хранения и передачи информации с обнаружением ошибок

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5920580A (en) * 1996-03-11 1999-07-06 Integrated Device Technology, Inc. Multiple error detection in error detection correction circuits
RU2297035C2 (ru) * 2004-07-14 2007-04-10 Институт Инженерной Физики Российская Федерация (Ииф Рф) Отказоустойчивое запоминающее устройство
RU2448359C1 (ru) * 2011-04-05 2012-04-20 Межрегиональное общественное учреждение "Институт инженерной физики" Устройство хранения и передачи данных с исправлением ошибок в байте информации и обнаружением ошибок в байтах информации
RU135820U1 (ru) * 2013-04-05 2013-12-20 Межрегиональное общественное учреждение "Институт инженерной физики" Полезная модель устройства хранения и передачи данных с исправлением ошибок в двух байтах информации

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5920580A (en) * 1996-03-11 1999-07-06 Integrated Device Technology, Inc. Multiple error detection in error detection correction circuits
RU2297035C2 (ru) * 2004-07-14 2007-04-10 Институт Инженерной Физики Российская Федерация (Ииф Рф) Отказоустойчивое запоминающее устройство
RU2448359C1 (ru) * 2011-04-05 2012-04-20 Межрегиональное общественное учреждение "Институт инженерной физики" Устройство хранения и передачи данных с исправлением ошибок в байте информации и обнаружением ошибок в байтах информации
RU135820U1 (ru) * 2013-04-05 2013-12-20 Межрегиональное общественное учреждение "Институт инженерной физики" Полезная модель устройства хранения и передачи данных с исправлением ошибок в двух байтах информации

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2618388C1 (ru) * 2015-12-09 2017-05-03 Межрегиональное общественное учреждение "Институт инженерной физики" Контролируемое устройство хранения и передачи информации
RU2621284C1 (ru) * 2016-05-23 2017-06-01 Межрегиональное общественное учреждение "Институт инженерной физики" Устройство хранения и передачи информации с обнаружением ошибок

Similar Documents

Publication Publication Date Title
US9450613B2 (en) Apparatus and method for error correction and error detection
US10200065B2 (en) Apparatus and method for correcting at least one bit error within a coded bit sequence
US8806295B2 (en) Mis-correction and no-correction rates for error control
RU2448359C1 (ru) Устройство хранения и передачи данных с исправлением ошибок в байте информации и обнаружением ошибок в байтах информации
US8694850B1 (en) Fast erasure decoding for product code columns
RU164633U1 (ru) Устройство хранения и передачи информации с обнаружением ошибок
US7093183B2 (en) Symbol level error correction codes which protect against memory chip and bus line failures
RU2542665C1 (ru) Устройство хранения и передачи данных с обнаружением и исправлением ошибок в байтах информации
CN110492889B (zh) 检测纠正两位错误的编码解码方法、编码解码器及处理器
US7100103B2 (en) Efficient method for fast decoding of BCH binary codes
RU2450331C1 (ru) Устройство хранения и передачи данных с исправлением одиночных ошибок в байте информации и обнаружением произвольных ошибок в байтах информации
RU2450332C1 (ru) Устройство хранения информации с обнаружением одиночных и двойных ошибок
RU106771U1 (ru) Устройство хранения и передачи данных с исправлением ошибок в байте информации и обнаружением ошибок в байтах информации
RU147518U1 (ru) Устройство хранения и передачи данных с обнаружением и исправлением ошибок в байтах информации
RU2534499C2 (ru) Устройство хранения и передачи данных с исправлением ошибок в двух байтах информации
KR100281946B1 (ko) 신드롬 계산 장치
RU107606U1 (ru) Устройство хранения и передачи данных с исправлением одиночных ошибок в байте информации и обнаружением произвольных ошибок в байтах информации
RU2637426C1 (ru) Устройство хранения и передачи данных с обнаружением ошибок
RU2816550C1 (ru) Устройство хранения и считывания информации с коррекцией одиночных ошибок
RU175054U1 (ru) Устройство хранения и передачи данных с обнаружением одиночных и двойных ошибок
RU169207U1 (ru) Устройство хранения и передачи данных с обнаружением ошибок
RU2211492C2 (ru) Отказоустойчивое оперативное запоминающее устройство
RU109888U1 (ru) Устройство хранения информации с обнаружением ошибок
RU2210805C2 (ru) Самокорректирующееся устройство
RU2297030C2 (ru) Самокорректирующееся устройство хранения информации

Legal Events

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

Effective date: 20170221