Устройство хранения и передачи данных с обнаружением и исправлением ошибок в байтах информации
Иллюстрации
Показать всеИзобретение относится к области телемеханики, автоматики и вычислительной техники и предназначено для использования в устройствах хранения и передачи информации. Техническим результатом является повышение отказоустойчивости устройства за счет коррекции ошибок в двух байтах информации и обнаружения некорректируемых ошибок. Устройство содержит узел памяти, входной блок кодирования, выходной блок кодирования, блок вычисления синдрома ошибки, дешифратор, блок хранения векторов ошибок, корректор, блок элементов И, блоки элементов ИЛИ, элемент неравнозначности. 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; r3=х3⊕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, которые поступают на седьмые входы узла памяти, информационные выходы узла памяти подключены соответственно к первым входам корректора, блока корректоров и к входам выходного блока кодирования, который формирует значения проверочных контрольных разрядов r1П, r2П, r3П, r4П, r5П, r6П r7П r8П путем сложения по модулю 2 информационных символов x1П x2П х3П, z1П z2П z3П, a1П a2П a3П, c1П c2П c3П, е1П е2П е3П, f1П f2П f3П, g1П g2П g3П, h1П h2П h3П, поступающих на входы входного блока кодирования с информационных выходов узла памяти, в соответствии с правилом: r1П=x1п⊕z1П ⊕а1П ⊕с1П ⊕e1П⊕f1П ⊕g1П⊕h1П; r2П=x2П⊕z2П ⊕a2П ⊕c2П⊕е2П⊕f2П ⊕g2П⊕h2П; r3П=х3П⊕z3П⊕a3П⊕с3П⊕е3П⊕f3П⊕g3П⊕h3П; r4П=x1П⊕z3П⊕ а2П⊕ а3П⊕ с2П⊕ e1П⊕ е3П⊕ f1П⊕ f2П⊕g1П⊕ g2П⊕ g3П; r5П=x2П⊕ х3П⊕ z1П⊕ а3П⊕ с1П⊕ с3П⊕е1П⊕е2П⊕ f2П⊕g1П⊕ g2П⊕ g3П; r6П=х3П⊕ z2П⊕ z3П⊕ а1П⊕ с1П⊕ c2П⊕ е2П⊕ f1П⊕ f3П⊕g1П⊕ g2П⊕ g3П; r7П=х3П⊕ z3П⊕ а1П⊕ а3П⊕ C2П⊕ е1П⊕ f2П⊕g1П⊕ g2П⊕ g3П; r8П=х1П⊕ х2П⊕ z2П⊕ a2П⊕ а3П⊕ с3П⊕ е3П⊕ f2П⊕f3П ⊕g1П⊕ g2П⊕ g3П, выходы выходного блока кодирования подключены к первым входам блока вычисления синдрома ошибки, к вторым входам которого подключены выходы контрольных разрядов узла памяти, первые выходы блока вычисления синдрома ошибки подключены к первым входам дешифратора, к первым входам коммутатора, к входам первого блока элементов ИЛИ и к первым входам блока коммутаторов, вторые выходы блока вычисления синдрома ошибки подключены к вторым входам дешифратора и к вторым входам первого блока элементов ИЛИ, выходы дешифратора подключены к входам второго блока элементов ИЛИ, при этом первый выход дешифратора подключен к второму входу коммутатора, а вторые выходы подключены к вторым входам блока коммутаторов, выход второго блока элементов ИЛИ через инвертор подключен к первому входу элемента И, второй вход которого подключен к выходу первого блока элементов ИЛИ, выход элемента И является выходом сигнала «ошибка», выходы коммутатора подключены к вторым входам корректора, выходы блока коммутаторов подключены к вторым входам блока корректоров, выходы корректора и блока корректоров подключены к вторым входам блока элементов И, выходы которого являются информационными выходами устройства.
Недостатком устройства является низкая корректирующая способность ошибок, так как корректируются только одиночные байты ошибок.
Целью изобретения является повышение отказоустойчивости устройства за счет коррекции ошибок в двух байтах информации и обнаружения не корректируемых ошибок.
Поставленная цель достигается тем, что устройство, содержащее узел памяти, входной блок кодирования, выходной блок кодирования, блок вычисления синдрома ошибки, дешифратор, корректор, блок элементов И, вход установки устройства в нулевое состояние, вход записи, вход считывания, адресные входы, информационные входы, вход синхронизации, информационные выходы, отличающееся тем, что дополнительно содержит блок хранения векторов ошибок, первый блок элементов ИЛИ, второй блок элементов ИЛИ, элемент неравнозначности, вход установки в нулевое состояние, вход записи, вход считывания, адресные входы подключены соответственно к первому, второму, третьему и четвертому входам узла памяти, вход синхронизации подключен к пятому входу узла памяти и к первому входу блока элементов И, информационные входы подключены к шестым входам узла памяти и к входам входного блока кодирования, который формирует значения контрольных разрядов 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 информационных символов а0П a1П а2П а3П, b0П b1П b2П b3П, с0П с1П с2П с3П, d0П d1П d2П d3П, е0П е1П е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П, о0П о1П о2П о3П, р0П р1П р2П р3П, поступающих на входы входного блока кодирования с информационных выходов узла памяти, в соответствии с правилом:
, выходы выходного блока кодирования подключены к первым входам блока вычисления синдрома ошибки, к вторым входам которого подключены выходы контрольных разрядов узла памяти, выходы блока вычисления синдрома ошибки подключены к входам первого блока элементов ИЛИ и к входам дешифратора, выходы которого подключены к входам второго блока элементов ИЛИ и к входам блока хранения векторов ошибок, выходы блока хранения векторов ошибок подключены к вторым входам корректора, выходы которого подключены к вторым входам блока элементов И, выходы первого и второго блоков элементов ИЛИ подключены к входам элемента неравнозначности, выход которого подключен к третьему входу блока элементов И, первые выходы блока элементов И являются информационными выходами устройства, а второй выход блока элементов И является выходом «отказ устройства».
На фиг.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 информационных символов а0П a1П а2П а3П, b0П b1П b2П b3П, с0П с1П с2П с3П, d0П d1П d2П d3П, е0П е1П е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П, о0П о1П о2П о3П, р0П р1П р2П р3П, поступающих на входы входного блока 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 информационных символов а0П a1П а2П а3П, b0П b1П b2П b3П, с0П с1П с2П с3П, d0П d1П d2П d3П, е0П е1П е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П, о0П о1П о2П о3П, р0П р1П р2П р3П, поступающих на входы входного блока 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 памяти, соответственно с зна