УСТРОЙСТВО ХРАНЕНИЯ И ПЕРЕДАЧИ ДАННЫХ С ОБНАРУЖЕНИЕМ И ИСПРАВЛЕНИЕМ ОШИБОК В БАЙТАХ ИНФОРМАЦИИ Российский патент 2015 года по МПК G06F11/08 G11C29/42 H03M13/11 

Описание патента на изобретение RU2542665C1

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

Известно самокорректирующееся устройство [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 памяти, соответственно с значениями контрольных разрядов 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 , сформированных на выходах выходного блока 3 кодирования.

Результат поразрядного сложения:

Нулевой результат суммы свидетельствует об отсутствии ошибки, и ее наличии в противном случае.

Дешифратор 5 формирует единичное значение сигнала на одном из своих выходов в соответствии с значением синдромом ошибки (формирует адрес вектора ошибки в блоке 6 хранения векторов ошибок).

В таблице 1 представлена часть значений синдромов ошибок для кода 84, 20.

Примечание: В табл.1 значения информационных разрядов, контрольных разрядов и значения ошибки в байтах информации представлены в шестнадцатеричной системе счисления, а значения синдрома ошибки - в двоичной.

Блок 6 хранения векторов ошибок предназначен для хранения значений векторов ошибок в соответствии с значениями синдромов ошибок (вектор ошибки имеет единичные значения сигналов в тех разрядах кодового набора, в которых произошла ошибка).

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

Первый 9, второй 10 блоки элементов ИЛИ, элемент 11 неравнозначности предназначены для формирования сигнала «отказ устройства» при наличии единичного сигнала на выходе первого блока 9 элементов ИЛИ и отсутствии единичного сигнала на выходе второго блока 10 элементов ИЛИ и наоборот.

Устройство работает следующим образом. Перед началом работы устройства на вход 12 "установки в нулевое состояние" подается единичный сигнал, который переводит устройство в нулевое состояние.

При записи информации в узел 1 памяти подаются единичные сигналы на вход 17 синхронизации, вход 13 записи, адресные входы 15 и информационные входы 16.

Допустим, необходимо закодировать двоичный набор:

Тогда значения контрольных разрядов, сформированных относительно полученного набора входным блоком 2 кодирования, имеют нулевые значения, т.е. имеем кодовый набор:

При отсутствии ошибки значение кодового набора, записанного в узле 1 памяти, равно считанному (переданному кодовому набору):

В этом случае на выходе блока 4 вычисления синдрома ошибки имеем нулевые значения сигналов.

Пусть произошла одиночная ошибка в четвертом разряде шестнадцатого блока информации (Р=0001*), тогда выходной блок 3 кодирования сформирует относительно полученного кодового набора значения контрольных разрядов:

В блоке 4 вычисления синдрома ошибки складываются переданные контрольные разряды с контрольными разрядами, сформированными относительно полученного кодового набора, в результате получим синдром ошибки S:

В этом случае, синдром ошибки указывает четвертый ошибочный разряд блока Р (вторая строка табл.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 блока информации.

В результате двоичный набор может быть представлен в виде:

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

Правило 2.2 Для формирования первого аддитивного вектора ошибки осуществим сложение по mod2 одноименных разрядов байтов информации начиная с первого по (b-1) - блок информации, а для формирования второго аддитивного вектора ошибки осуществим сложение по mod2 одноименных разрядов байтов информации начиная с второго по b - блок информации (осуществим операцию перемежения) и результат суммирования добавим к двоичному набору Y.

В результате получим кодовый набор YK1:

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

С этой целью осуществим кодирование блоков информации, используя 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] - при нечетном.

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

Правило 2.5 Объединяя по mod2 одноименные контрольные проверки для всех матриц кодирования, получим значения второй части контрольных разрядов

Таким образом, имеем регулярную процедуру построения кодового набора с аддитивным формирование вектора ошибки:

Результат сложения по mod2 переданных значений контрольных разрядов r i 1 f , r i 2 f , r i g и контрольных разрядов r i 1 f П , r i 2 f П , r i g П , сформированных относительно полученных информационных разрядов, даст значение синдрома ошибки, включающего две части:

Значения синдрома ошибки S 1 f , S 2 f представляют собой аддитивные векторы ошибки (указывают ошибочные разряды в блоках информации), а значение синдрома ошибки Sg определяет номера ошибочных блоков (байтов) информации.

Свойство 2.4 Возникновение ошибок в соседних байтах информации приводит к искажениям векторов ошибок.

Следствие 2.1 При возникновении ошибок в соседних байтах вектора ошибок формируются в соответствии с синдромом ошибок.

Правило 2.6 декодирования включает следующую стратегию:

Аналогичным образом строится код, корректирующий ошибки в заданном n-числе байтов информации (n≤b).

Граница числа контрольных разрядов корректирующего кода, исправляющего ошибки в заданном числе байтов информации (при нечетном значении b), оценивается выражением:

При четном значении b к данному выражению прибавляется единица.

Таким образом, предлагаемый метод коррекции ошибок в заданном числе байтов информации с аддитивным формированием вектора ошибки имеет регулярную и относительно простую процедуру матричного кодирования. Позволяет сократить временные затраты на кодирование и декодирование информации (исключить циклическую процедуру кодирования).

По отношению к коду Рида-Соломона позволяет исключить временные затраты на нахождения корней полинома локаторов ошибок. Так, для решения ключевого уравнения кода PC (78,8) по алгоритму Евклида потребуется 96 тактов работы декодирующего устройства.

Временные затраты на кодирование информации предлагаемым методом сопоставимы с временными затратами при контроле информации на четность (требующим минимальных временных затрат), что дает возможность обеспечить работу канала передачи данных в реальном масштабе времени.

Предлагаемый метод позволяет сократить аппаратурные затраты на построение декодирующего устройства, т.к. в большинстве случаев не требует аппаратурных затрат на вычисление вектора ошибки.

Использование предлагаемого метода позволяет повысить достоверность передаваемой информации за счет обнаружения некорректируемых ошибок. В отличие от кодов PC, использующих для коррекции полином ошибок наименьшей степени (при реализации декодирования по методу «максимума-правдоподобия»), что в некоторых случаях приводит к ошибочной коррекции.

Пример 2. Допустим, требуется осуществить коррекцию ошибок в двух байтах информации кратности 4, в двоичном наборе, содержащем 64 информационных разряда, т.е. построить код (84, 20).

Используя полученные правила, построим матрицы кодирования информации для формирования второй части контрольных разрядов:- r 1 g , r 2 g r Д О П i g (табл.2.1).

Контрольные проверки (значения второй части контрольных разрядов), полученные относительно полученных матриц кодирования, имеют вид:

В табл.2.2 представлена часть значений синдромов ошибок для кода 84,20.

Примечание: В табл.2.2 значения информационных разрядов, контрольных разрядов и значения ошибки в байтах информации представлены в шестнадцатеричной системе счисления, а значения синдрома ошибки - в двоичной.

Анализ таблицы показывает, что 94% синдромов ошибок имеют разные значения, т.е. не корректируется 6% ошибок в двух блоках информации.

Введение дополнительных контрольных разрядов позволяет осуществить коррекцию до 100% ошибок, однако это ведет к значительному росту аппаратурных затрат, по этому целесообразно ограничиться коррекцией данного числа ошибок.

Таким образом, разработанный метод коррекции ошибок в двух байтах информации отличается от существующих тем, что позволяет:

- осуществлять коррекцию ошибок с алгебраически-синдромным декодированием (исключить циклическую процедуру кодирования и декодирования информации);

- имеет регулярную и относительно простую процедуру кодирования информации;

- сократить временные затраты на кодирование и декодирование информации и обеспечить работу канала передачи данных в реальном масштабе времени.

Литература

1. Щербаков Н.С. Достоверность работы цифровых устройств. М.: Машиностроение, 1989, с.122, рис.45, 224 с.

Похожие патенты RU2542665C1

название год авторы номер документа
УСТРОЙСТВО ХРАНЕНИЯ И ПЕРЕДАЧИ ДАННЫХ С ИСПРАВЛЕНИЕМ ОШИБОК В БАЙТЕ ИНФОРМАЦИИ И ОБНАРУЖЕНИЕМ ОШИБОК В БАЙТАХ ИНФОРМАЦИИ 2011
  • Борисов Константин Юрьевич
  • Малофеев Юрий Георгиевич
  • Осипенко Павел Николаевич
  • Павлов Алексей Александрович
  • Павлов Павел Александрович
  • Павлов Александр Алексеевич
  • Хоруженко Олег Владимирович
  • Царьков Алексей Николаевич
RU2448359C1
УСТРОЙСТВО ХРАНЕНИЯ И ПЕРЕДАЧИ ДАННЫХ С ИСПРАВЛЕНИЕМ ОДИНОЧНЫХ ОШИБОК В БАЙТЕ ИНФОРМАЦИИ И ОБНАРУЖЕНИЕМ ПРОИЗВОЛЬНЫХ ОШИБОК В БАЙТАХ ИНФОРМАЦИИ 2011
  • Борисов Константин Юрьевич
  • Малофеев Юрий Георгиевич
  • Осипенко Павел Николаевич
  • Павлов Алексей Александрович
  • Павлов Павел Александрович
  • Павлов Александр Алексеевич
  • Хоруженко Олег Владимирович
  • Царьков Алексей Николаевич
RU2450331C1
УСТРОЙСТВО ХРАНЕНИЯ И ПЕРЕДАЧИ ДАННЫХ С ИСПРАВЛЕНИЕМ ОШИБОК В ДВУХ БАЙТАХ ИНФОРМАЦИИ 2013
  • Борисов Константин Юрьевич
  • Павлов Александр Алексеевич
  • Царьков Алексей Николаевич
  • Хоруженко Олег Владимирович
  • Гусев Александр Викторович
RU2534499C2
ОТКАЗОУСТОЙЧИВЫЙ ПРОЦЕССОР С КОРРЕКЦИЕЙ ОШИБОК В БАЙТЕ ИНФОРМАЦИИ 2021
  • Волков Данила Дмитриевич
  • Герасимов Даниил Олегович
  • Коваленко Даниил Андреевич
  • Михеев Александр Александрович
  • Павлов Александр Алексеевич
  • Романенко Александр Юрьевич
  • Царьков Алексей Николаевич
RU2758065C1
УСТРОЙСТВО ХРАНЕНИЯ И СЧИТЫВАНИЯ ИНФОРМАЦИИ С КОРРЕКЦИЕЙ ОДИНОЧНЫХ ОШИБОК 2023
  • Павлов Александр Алексеевич
  • Корнеев Игорь Игоревич
  • Макеев Максим Игоревич
  • Павлов Павел Александрович
  • Павлов Федор Алексеевич
RU2816550C1
ОТКАЗОУСТОЙЧИВЫЙ ПРОЦЕССОР С КОРРЕКЦИЕЙ ОШИБОК В ДВУХ БАЙТАХ ИНФОРМАЦИИ 2021
  • Долговязов Александр Вениаминович
  • Егоров Егор Александрович
  • Лесов Алексей Николаевич
  • Михеев Александр Александрович
  • Павлов Александр Алексеевич
  • Романенко Александр Юрьевич
  • Царьков Алексей Николаевич
RU2758410C1
ОТКАЗОУСТОЙЧИВОЕ ОПЕРАТИВНОЕ ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО 2014
  • Павлов Александр Алексеевич
  • Павлов Алексей Александрович
  • Сорокин Денис Евгеньевич
  • Гусев Александр Викторович
  • Бурмистров Алексей Андреевич
  • Царьков Алексей Николаевич
RU2579954C2
САМОКОРРЕКТИРУЮЩЕЕСЯ УСТРОЙСТВО 2004
  • Царьков Алексей Николаевич
  • Ананьев Евгений Михайлович
  • Павлов Александр Алексеевич
  • Павлов Алексей Александрович
  • Павлов Павел Александрович
  • Шандриков Алексей Витальевич
  • Ерёмина Надежда Валерьевна
  • Коршунов Виктор Николаевич
  • Долговязов Александр Вениаминович
RU2297029C2
ОТКАЗОУСТОЙЧИВОЕ УСТРОЙСТВО 2004
  • Царьков Алексей Николаевич
  • Ананьев Евгений Михайлович
  • Павлов Александр Алексеевич
  • Павлов Алексей Александрович
  • Павлов Павел Александрович
  • Шандриков Алексей Витальевич
  • Ерёмина Надежда Валерьевна
  • Коршунов Виктор Николаевич
  • Долговязов Александр Вениаминович
RU2297036C2
САМОКОНТРОЛИРУЮЩЕЕСЯ УСТРОЙСТВО 2004
  • Царьков Алексей Николаевич
  • Ананьев Евгений Михайлович
  • Павлов Александр Алексеевич
  • Павлов Алексей Александрович
  • Павлов Павел Александрович
  • Шандриков Алексей Витальевич
  • Ерёмина Надежда Валерьевна
RU2297028C2

Реферат патента 2015 года УСТРОЙСТВО ХРАНЕНИЯ И ПЕРЕДАЧИ ДАННЫХ С ОБНАРУЖЕНИЕМ И ИСПРАВЛЕНИЕМ ОШИБОК В БАЙТАХ ИНФОРМАЦИИ

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

Формула изобретения RU 2 542 665 C1

Устройство хранения и передачи данных с обнаружением и исправлением ошибок в байтах информации, содержащее узел памяти, входной блок кодирования, выходной блок кодирования, блок вычисления синдрома ошибки, дешифратор, корректор, блок элементов И, вход установки устройства в нулевое состояние, вход записи, вход считывания, адресные входы, информационные входы, вход синхронизации, информационные выходы, отличающееся тем, что дополнительно содержит блок хранения векторов ошибок, первый блок элементов ИЛИ, второй блок элементов ИЛИ, элемент неравнозначности, вход установки в нулевое состояние, вход записи, вход считывания, адресные входы подключены соответственно к первому, второму, третьему и четвертому входам узла памяти, вход синхронизации подключен к пятому входу узла памяти и к первому входу блока элементов И, информационные входы подключены к шестым входам узла памяти и к входам входного блока кодирования, который формирует значения контрольных разрядов , , , , , , , , , , , , , , , , , , , путем сложения по модулю 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, поступающих на входы входного блока кодирования, в соответствии с правилом:


выходы входного блока кодирования подключены к седьмым входам узла памяти, информационные выходы узла памяти подключены соответственно к первым входам корректора и к входам выходного блока кодирования, который формирует значения проверочных контрольных разрядов , 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, о о о о, р р р р, поступающих на входы входного блока кодирования с информационных выходов узла памяти, в соответствии с правилом:


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

Документы, цитированные в отчете о поиске Патент 2015 года RU2542665C1

УСТРОЙСТВО ХРАНЕНИЯ И ПЕРЕДАЧИ ДАННЫХ С ИСПРАВЛЕНИЕМ ОШИБОК В БАЙТЕ ИНФОРМАЦИИ И ОБНАРУЖЕНИЕМ ОШИБОК В БАЙТАХ ИНФОРМАЦИИ 2011
  • Борисов Константин Юрьевич
  • Малофеев Юрий Георгиевич
  • Осипенко Павел Николаевич
  • Павлов Алексей Александрович
  • Павлов Павел Александрович
  • Павлов Александр Алексеевич
  • Хоруженко Олег Владимирович
  • Царьков Алексей Николаевич
RU2448359C1
Виброхобот для подачи бетона 1960
  • Козлов Б.С.
  • Орлов Б.М.
  • Слесарев Ю.М.
SU135820A1
ОТКАЗОУСТОЙЧИВОЕ ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО 2004
  • Царьков Алексей Николаевич
  • Ананьев Евгений Михайлович
  • Павлов Александр Алексеевич
  • Павлов Алексей Александрович
  • Павлов Павел Александрович
  • Шандриков Алексей Витальевич
  • Ерёмина Надежда Валерьевна
  • Коршунов Виктор Николаевич
  • Долговязов Александр Вениаминович
RU2297035C2
US 2009106633 A1, 23.04.2009
US 2008320368 A1, 25.12.2008
US 5920580 A, 06.07.1999

RU 2 542 665 C1

Авторы

Павлов Алексей Александрович

Павлов Александр Алексеевич

Гусев Константин Викторович

Гусев Александр Викторович

Ласяк Максим Игоревич

Гуляев Анатолий Васильевич

Вальваков Александр Михайлович

Мурашко Александр Анатольевич

Даты

2015-02-20Публикация

2014-02-20Подача