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

Иллюстрации

Показать все

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

Реферат

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

Известно самокорректирующееся устройство [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 , r 2 f , r 3 f , r 4 f , r 5 f , r 6 f , r 7 f , r 8 f , r 9 g , r 10 g , r 11 g , r 12 g , r 13 g , r 14 g , r 15 g , r 16 g , r 17 g , r 18 g , r 19 g , r 20 g путем сложения по модулю 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, поступающих на входы входного блока кодирования, в соответствии с правилом:

выходы входного блока кодирования подключены к седьмым входам узла памяти, информационные выходы узла памяти подключены соответственно к первым входам корректора и к входам выходного блока кодирования, который формирует значения проверочных контрольных разрядов r 1 П f , , r 2 П f , r 3 П f , r 4 П f , r 5 П f , r 6 П f , r 7 П f , r 8 П f , r 9 П g , r 10 П g , r 11 П g , r 12 П g , r 13 П g , r 14 П g , r 15 П g , r 16 П g , r 17 П g , r 18 П g , r 19 П g r 20 П g путем сложения по модулю 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, о о о о, р р р р, поступающих на входы входного блока кодирования с информационных выходов узла памяти, в соответствии с правилом:

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

На фиг.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 , r 2 f , r 3 f , r 4 f , r 6 f , r 7 f , r 8 f , r 9 g , r 10 g , r 11 g , r 12 g , r 13 g , r 14 g , r 15 g , r 16 g , r 17 g , r 18 g , r 19 g , r 20 g , путем сложения по модулю 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 кодирования, в соответствии с правилом:

выходы входного блока 2 кодирования подключены к седьмым входам узла 1 памяти, информационные выходы узла 1 памяти подключены соответственно к первым входам корректора 7 и к входам выходного блока 3 кодирования, который формирует значения проверочных контрольных разрядов r 1 П f , r 2 П f , r 3 П f , r 4 П f , r 5 П f , r 6 П f , r 7 П f , r 8 П f , r 9 П g , r 10 П g , r 11 П g , r 12 П g , r 13 П g , r 14 П g , r 15 П g , r 16 П g , r 17 П g , r 18 П g , r 19 П g , r 20 П g путем сложения по модулю 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 памяти, в соответствии с правилом:

, выходы выходного блока 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 , r 2 f , r 3 f , r 4 f , r 5 f , r 6 f , r 7 f , r 8 f , r 9 g , r 10 g , r 11 g , r 12 g , r 13 g , r 14 g , r 15 g , r 16 g , r 17 g , r 18 g , r 19 g , r 20 g , полученных при кодировании исходных шестидесяти четырех разрядных двоичных наборов.

Входной блок 2 кодирования предназначен для формирования значений контрольных разрядов r 1 f , r 2 f , r 3 f , r 4 f , r 5 f , r 6 f , r 7 f , r 8 f , r 9 g , r 10 g , r 11 g , r 12 g , r 13 g , r 14 g , r 15 g , r 16 g , r 17 g , r 18 g , r 19 g , r 20 g , путем сложения по mod2 информационных символов в соответствии с правилом::

Выходной блок 3 кодирования предназначен для формирования значений проверочных контрольных разрядов r 1 П f , r 2 П f , r 3 П f , r 4 П f , r 5 П f , r 6 П f , r 7 П f , r 8 П f , r 9 П g , r 10 П g , r 11 П g , r 12 П g , r 13 П g , r 14 П g , r 15 П g , r 16 П g , r 17 П g , r 18 П g , r 19 П g , r 20 П g , путем сложения по модулю 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 памяти, в соответствии с правилом:

Блок 4 вычисления синдрома ошибки предназначен для обнаружения ошибки в кодовом наборе при считывании информации с узла 1 памяти путем сложения по mod2 значений контрольных разрядов r 1 f , r 2 f , r 3 f , r 4 f , r 6 f , r 7 f , r 8 f , r 9 g , r 10 g , r 11 g , r 12 g , r 13 g , r 14 g , r 15 g , r 16 g , r 17 g , r 18 g , r 19 g , r 20 g , считываемых с вторых выходов узла 1 памяти, соответственно с зна