Вид РИД
Изобретение
Устройство хранения и передачи данных с обнаружением одиночных и двойных ошибок относится к вычислительной технике и может быть использовано для повышения достоверности функционирования запоминающих устройств.
Известно устройство памяти с обнаружением двойных ошибок [1], содержащее узел памяти, входной блок кодирования, формирующий значения контрольных разрядов r1, r2 и r3, выходной блок кодирования, формирующий значения проверочных контрольных разрядов r1p, r2р, r3р, блок выявления ошибки, блок элементов ИЛИ, блок элементов И, элемент И, вход установки устройства в нулевое состояние, вход записи, вход считывания, адресные входы, информационные входы, вход синхронизации, информационные выходы, выход сигнала при возникновении ошибки, вход установки в нулевое состояние, вход записи, вход считывания, адресные входы, вход синхронизации подключены соответственно к первому, второму, третьему и четвертому, пятому входам узла памяти, информационные входы подключены к шестым входам узла памяти и к входам входного кодирующего устройства, выходы которого подключены к седьмым входам узла памяти, информационные выходы узла памяти подключены к входам выходного блока кодирования и к первым входам блока элементов И, выходы выходного блока кодирования подключены к первым входам блока выявления ошибки, вторые входы которого подключены к выходом контрольных разрядов узла памяти, а выходы подключены к входам блока элементов ИЛИ, выход которого подключен к первому входу элемента И, второй вход блока элементов И и второй вход элемента И подключены к входу синхронизации, выходы первого блока элементов И являются информационными выходами устройства, выход элемента И является выходом сигнала "Ошибка", входной блок кодирования формирует значение контрольного разрядов r1 путем сложения по модулю 2 информационных символов у1,у2,у3, у4,у5,у6, у7,у8,у9, у10,у11,у12, поступающих на его входы, в соответствии с правилом: r1=у3 ⊕ у4 ⊕ у5 ⊕ у6 ⊕ у9 ⊕ у10 ⊕ у11 ⊕ у12, значение контрольного разряда r2 - путем сложения по модулю 2 информационных символов у1,у2,у3, у4,у5,у6, у7,у8,у9, y10у11,у12, поступающих на его входы, в соответствии с правилом: r2=у3 ⊕ у6 ⊕ у7 ⊕ у8 ⊕ у9 ⊕ у10 ⊕ у11 ⊕ у12, значение контрольного разряда r3 - путем сложения по модулю 2 информационных символов у1,у2,у3, у4,у5,у6, у7,у8,у9, у10,у11,у12, поступающих на его входы, в соответствии с правилом: r3=у1 ⊕ у2 ⊕ у4 ⊕ у5 ⊕ у7 ⊕ у8 ⊕ у10 ⊕ у11, выходной блок кодирования, формирующий значения проверочных контрольных разрядов r1p, r2р, r3р путем сложения по модулю 2 информационных символов у1p,у2p,у3p, у4р,у5р,у6р, у7р,у8р,у9р, у10р,у11р,у12р, поступающих на его входы при считывании информации с информационных выходов узла памяти в соответствии с правилом: r1p=у3р ⊕ у4р ⊕ у5p ⊕ у6р ⊕ у9р ⊕ у10р ⊕ у11р ⊕ у12р; r2р=у3р ⊕ у6р ⊕ у7р ⊕ у8р ⊕ у9р ⊕ у10р ⊕ у11р ⊕ у12р; r3p=у1p ⊕ у2р ⊕ у4р ⊕ у5р ⊕ у7р ⊕ у8р ⊕ у10р ⊕ у11р, блок выявления ошибки осуществляет поразрядное сложения по mod2 значений контрольных разрядов r1S, r2S и r3S, считываемых с вторых выходов узла 1 памяти, соответственно с значениями контрольных разрядов r1p, r2р, r3р, сформированных на выходах выходного блока 3 кодирования.
Недостатком устройства является низкая обнаруживающая способность двойных ошибок, так как обнаруживается 10% от числа возможных одиночных и двойных ошибок (см. приложение).
Наиболее близким по техническому решению является устройство хранения и передачи данных с обнаружением ошибок [2], содержащее узел памяти, входной блок кодирования, формирующий значения контрольных разрядов r1, r2 и r3, выходной блок кодирования, формирующий значения проверочных контрольных разрядов r1р, r2р, r3р, блок выявления ошибки, блок элементов ИЛИ, блок элементов И, элемент И, вход установки устройства в нулевое состояние, вход записи, вход считывания, адресные входы, информационные входы, вход синхронизации, информационные выходы, выход сигнала при возникновении ошибки, вход установки в нулевое состояние, вход записи, вход считывания, адресные входы, вход синхронизации подключены соответственно к первому, второму, третьему и четвертому, пятому входам узла памяти, информационные входы подключены к шестым входам узла памяти и к входам входного кодирующего устройства, выходы которого подключены к седьмым входам узла памяти, информационные выходы узла памяти подключены к входам выходного блока кодирования и к первым входам блока элементов И, выходы выходного блока кодирования подключены к первым входам блока выявления ошибки, вторые входы которого подключены к выходам контрольных разрядов узла памяти, а выходы подключены к входам блока элементов ИЛИ выход которого подключен к первому входу элемента И, второй вход блока элементов И и второй вход элемента И подключены к входу синхронизации, выходы первого блока элементов И являются информационными выходами устройства, выход элемента И является выходом сигнала "Ошибка", входной блок кодирования формирует значение контрольного разряда r1 путем сложения по модулю 2 информационных символов у1,у2,у3, у4,у5,у6, у7,у8,у9, у10,у11,у12, поступающих на его входы, в соответствии с правилом: r1=у3 ⊕ у6 ⊕ у7 ⊕ у8 ⊕ у9 ⊕ у10 ⊕ у11 ⊕ у12, значение контрольного разряда r2 - путем сложения по модулю 2 информационных символов у1,у2,у3, у4,у5,у6, у7,у8,у9, у10,у11,у12, поступающих на его входы, в соответствии с правилом: r2=у2 ⊕ у4 ⊕ у5 ⊕ у8 ⊕ у9 ⊕ у10 ⊕ у11 ⊕ у12, значение контрольного разряда r3 - путем сложения по модулю 2 информационных символов у1,у2,у3, у4,у5,у6, у7,у8,у9, у10,у11,у12, поступающих на его входы, в соответствии с правилом: r3=у1 ⊕ у4 ⊕ у5 ⊕ у6 ⊕ у7 ⊕ у10 ⊕ у11 ⊕ у12, выходной блок кодирования, формирующий значения проверочных контрольных разрядов r1р, r2р, r3р, путем сложения по модулю 2 информационных символов у1p,у2p,у3p, у4р,у5р,у6р, у7р,у8р,у9р, у10р,у11р,у12р, поступающих на его входы при считывании информации с информационных выходов узла памяти, в соответствии с правилом: r1р=у3р ⊕ у6р ⊕ у7p ⊕ у8р ⊕ у9р ⊕ у10р ⊕ у11р ⊕ у12р; r2р=у2р ⊕ у4р ⊕ у5р ⊕ у8р ⊕ у9р ⊕ у10р ⊕ у11р ⊕ у12р; r3p=у1p ⊕ у4р ⊕ у5р ⊕ у6р ⊕ у7р ⊕ у10р ⊕ у11р ⊕ у12р, блок выявления ошибки осуществляет поразрядное сложения по mod2 значений контрольных разрядов r1S, r2S и r3S, считываемых с вторых выходов узла 1 памяти соответственно с значениями контрольных разрядов r1р, r2р, r3р, сформированных на выходах выходного блока 3 кодирования.
Недостатком устройства является повышенная аппаратурная избыточность.
Целью изобретения является сокращение аппаратурной избыточности за счет рационального кодирования информации.
Поставленная цель достигается тем, что устройство хранения и передачи данных с обнаружением одиночных и двойных ошибок, содержащее узел памяти, входной блок кодирования, формирующий значения контрольных разрядов r1, r2 и r3, выходной блок кодирования, формирующий значения проверочных контрольных разрядов r1p, r2р, r3р, блок выявления ошибки, блок элементов ИЛИ, блок элементов И, элемент И, вход установки устройства в нулевое состояние, вход записи, вход считывания, адресные входы, информационные входы, вход синхронизации, информационные выходы, выход сигнала при возникновении ошибки, вход установки в нулевое состояние, вход записи, вход считывания, адресные входы, вход синхронизации подключены соответственно к первому, второму, третьему и четвертому, пятому входам узла памяти, информационные входы подключены к шестым входам узла памяти и к входам входного кодирующего устройства, выходы которого подключены к седьмым входам узла памяти, информационные выходы узла памяти подключены к входам выходного блока кодирования и к первым входам блока элементов И, выходы выходного блока кодирования подключены к первым входам блока выявления ошибки, вторые входы которого подключены к выходам контрольных разрядов узла памяти, а выходы подключены к входам блока элементов ИЛИ, выход которого подключен к первому входу элемента И, второй вход блока элементов И и второй вход элемента И подключены к входу синхронизации, выходы первого блока элементов И являются информационными выходами устройства, выход элемента И является выходом сигнала "Ошибка" отличающееся тем, что входной блок кодирования формирует значение контрольного разряда r1 путем сложения по модулю 2 информационных символов у1,у2,у3, у4,у5,у6, у7,у8,у9, у10,у11,у12, поступающих на его входы, в соответствии с правилом: r1=у3 ⊕ у6 ⊕ у7 ⊕ у8 ⊕ у9 ⊕ у10 ⊕ у11, значение контрольного разряда r2 - путем сложения по модулю 2 информационных символов у1,у2,у3, у4,у5,у6, у7,у8,у9, у10,у11,у12, поступающих на его входы, в соответствии с правилом: r2=у2 ⊕ у4 ⊕ у5 ⊕ у8 ⊕ у9 ⊕ у10 ⊕ у11, значение контрольного разряда r3 - путем сложения по модулю 2 информационных символов у1,у2,у3, у4,у5,у6, у7,у8,у9, у10,у11,у12, поступающих на его входы, в соответствии с правилом: r3=у1 ⊕ у4 ⊕ у5 ⊕ у6 ⊕ у7 ⊕ у10 ⊕ у11 ⊕ у12, выходной блок кодирования, формирующий значения проверочных контрольных разрядов r1p, r2р, r3р, путем сложения по модулю 2 информационных символов у1,у2,у3, у4,у5,у6, у7,у8,у9, у10,у11,у12, поступающих на его входы при считывании информации с информационных выходов узла памяти, в соответствии с правилом: r1р=у3р ⊕ у6р ⊕ у7p ⊕ у8р ⊕ у9р ⊕ у10р ⊕ у11р; r2р=у2р ⊕ у4р ⊕ у5р ⊕ у8р ⊕ у9р ⊕ у10р ⊕ у11р; r3p=у1p ⊕ у4р ⊕ у5р ⊕ у6р ⊕ у7р ⊕ у10р ⊕ у11р ⊕ у12р, блок выявления ошибки осуществляет поразрядное сложения по mod2 значений контрольных разрядов r1S, r2S и r3S, считываемых с вторых выходов узла 1 памяти соответственно с значениями контрольных разрядов r1p, r2р, r3р, сформированных на выходах выходного блока 3 кодирования.
На фиг. 1 представлена блок-схема устройства. Устройство хранения и передачи информации с обнаружением одиночных и двойных ошибок содержит: узел 1 памяти, входной блок 2 кодирования, выходной блок 3 кодирования, блок 4 выявления ошибки, блок 5 элементов И, элемент 6 И, блок 7 элементов ИЛИ, вход 8 установки в нулевое состояние, вход 9 записи, вход 10 считывания, адресные входы 11, информационные входы 12, вход 13 синхронизации, информационные выходы 14, выход 15 "Ошибка".
Вход 8 установки в нулевое состояние, вход 9 записи, вход 10 считывании, адресные входы 11, вход 13 синхронизации подключены соответственно к первому, второму, третьему и четвертому, пятому входам узла 1 памяти, информационные входы 12 подключены к шестым входам узла 1 памяти и к входам входного кодирующего устройства 2, выходы которого подключены к седьмым входам узла 1 памяти, информационные выходы узла 1 памяти подключены к входам выходного блока 3 кодирования и к первым входам блока 5 элементов И, выходы выходного блока 3 кодирования подключены к первым входам блока 4 выявления ошибки вторые входы которого подключены к выходам контрольных разрядов узла 1 памяти, а выходы подключены к входам блока 7 элементов ИЛИ, выход которого подключен к первому входу элемента 6 И, второй вход блока элементов 5 И и второй вход элемента 6 И подключены к входу 13 синхронизации, выходы блока 5 элементов И являются информационными выходами устройства, выход элемента 6 И является выходом сигнала "Ошибка" отличающееся тем, что входной блок кодирования, формирует значение контрольного разряда r1 путем сложения по модулю 2 информационных символов у1,у2,у3, у4,у5,у6, у7,у8,у9, у10,у11,у12, поступающих на его входы, в соответствии с правилом:
r1=у3 ⊕ у6 ⊕ у7 ⊕ у8 ⊕ у9 ⊕ у10 ⊕ у11, значение контрольного разряда r2 - путем сложения по модулю 2 информационных символов у1,у2,у3, у4,у5,у6, у7,у8,у9, у10,у11,у12, поступающих на его входы, в соответствии с правилом: r2=у2 ⊕ у4 ⊕ у5 ⊕ у8 ⊕ у9 ⊕ у10 ⊕ у11, значение контрольного разряда r3 - путем сложения по модулю 2 информационных символов у1,у2,у3, у4,у5,у6, у7,у8,у9, у10,у11,у12, поступающих на его входы, в соответствии с правилом: r3=у1 ⊕ у4 ⊕ у5 ⊕ у6 ⊕ у7 ⊕ у10 ⊕ у11 ⊕ у12, выходной блок 3 кодирования, формирующий значения проверочных контрольных разрядов r1р, r2p, r3р, путем сложения по модулю 2 информационных символов у1p,у2p,у3p, у4р,у5р,у6р, у7р,у8р,у9р, у10р,у11р,у12р, поступающих на его входы при считывании информации с информационных выходов узла памяти в соответствии с правилом:
r1p=у3р ⊕ у6р ⊕ у7p ⊕ у8р ⊕ у9р ⊕ у10р ⊕ у11р; r2р=у2р ⊕ у4р ⊕ у5р ⊕ у8р ⊕ у9р ⊕ у10р ⊕ у11р; r3p=у1p ⊕ у4р ⊕ у5р ⊕ у6р ⊕ у7р ⊕ у10р ⊕ у11р ⊕ у12р, блок 4 выявления ошибки осуществляет поразрядное сложения по mod2 значений контрольных разрядов r1S, r2S и r3S, считываемых с вторых выходов узла 1 памяти соответственно с значениями контрольных разрядов r1p, r2р, r3р, сформированных на выходах выходного блока 3 кодирования.
Узел 1 памяти, в данном случае, представляет собой статическое полупроводниковое оперативное устройство памяти и предназначен для хранения кодовых слов: УK=у1у2 у3 у4 у5 у6 у7 у8 у9, у10 у11 у12 r1 r2 r3, полученных при кодировании исходной информации.
Входной блок 2 кодирования предназначен для формирования значений контрольных разрядов r1, r2, r3, путем сложения по mod2 информационных символов в соответствии с правилом:
r1=у3⊕у6⊕у7⊕у8⊕у9⊕у10⊕у11;
r2=у2⊕у4⊕у5⊕у8⊕у9⊕у10⊕у11;
r3=у1⊕у4⊕у5⊕у6⊕у7⊕у10⊕у11⊕у12.
Выходной блок 3 кодирования предназначен формирования значений проверочных контрольных разрядов r1p, r2р, r3р, путем сложения по mod2 информационных символов, полученных при считывании информации с узла 1 памяти в соответствии с правилом:
r1p=у3р ⊕ у6р ⊕ у7р ⊕ у8р ⊕ у9р ⊕ у10р ⊕ у11р;
r2р=у2р ⊕ у4р ⊕ у5р ⊕ у8р ⊕ у9р ⊕ у10р ⊕ у11р;
r3р=у1р ⊕ у4р ⊕ у5р ⊕ у6р ⊕ у7р ⊕ у10р ⊕ у11р ⊕ у12р.
Блок 4 выявления ошибки предназначен для обнаружения ошибки в кодовом слове при считывании информации с узла 1 памяти путем сложения по mod2 значений контрольных разрядов r1S, r2S, r3S, считываемых с вторых выходов узла 1 памяти, соответственно с значениями контрольных разрядов r1p, r2р и r3р, сформированных на выходах выходного блока 3 кодирования:
λ1=r1S⊕r1p;
λ2=r2S⊕r2p;
λ3=r3S⊕r3р.
Нулевой результат суммы свидетельствует об отсутствии ошибки, и ее наличии в противном случае.
Выходы λ1, λ2, λ3 блока 4 выявления ошибки объединены в один выход первым элементом 7 ИЛИ, значение сигнала на данном выходе поступает первый вход элемента 6 И.
Считывание выходной информации с выходов 14 устройства проводится при поступлении сигнала с входа 13 синхронизации на второй вход блока 5 элементов И и второй вход элемента 6 И.
Устройство работает следующим образом. Перед началом работы устройства, на вход 8 "Установки в нулевое состояние" подается единичный сигнал, который переводит узел 1 памяти в нулевое состояние.
При записи информации в узел 1 памяти, подается единичный сигнал на вход 9 записи, адресные входы 11 и информационные входы 12.
Например, на информационные входы поступает двенадцатиразрядное слово, имеющие в своих разрядах следующие значения: 110 001 101 111.
Входной блок 2 кодирования сформирует значения контрольных разрядов:
r1=у3⊕у6⊕у7⊕у8⊕у9⊕у10⊕у11=0⊕1⊕1⊕0⊕1⊕1⊕1=1;
r2=у2⊕у4⊕у5⊕у8⊕у9⊕у10⊕у11=1⊕0⊕0⊕0⊕1⊕1⊕1=0;
r3=у1⊕у4⊕у5⊕у6⊕у7⊕у10⊕у11⊕у12=1⊕0⊕0⊕1⊕1⊕1⊕1⊕1=0.
В результате имеем кодовое слово: УК=110 001 101 111 100 (последние четыре разряда являются контрольными разрядами), которое записывается в узле 1 памяти.
При считывании информации с узла 1 памяти, второй блок 3 кодирования, относительно принятой информации, сформирует значения контрольных разрядов: Rp={r1р, r2р, r3р,}={100}
Если ошибок нет, то имеем результат: R=(100), Rp=(100), RS=(100), λ=(000).
Пусть произошла одиночная ошибка во первом информационном разряде: 0* 10 001 1 01 111 100.
На выходе второго блока 3 кодирования имеем результат: Rp=(101), а с вторых выходов узла 1 памяти считывается значения переданных контрольных разрядов RS=(100).
В этом случае сигналы на выходе блока 4 выявления ошибки принимают значение: λ=(001).
Соответственно на выходе блока 5 ИЛИ появится единичное значение сигнала, которое при поступлении сигнала с входа 13 синхронизации, поступит на вход элемента 6 И на выходе которого появится значение сигнала "Ошибка".
Аналогичным образом устройство работает при возникновении двойных ошибок.
ИСТОЧНИКИ ИНФОРМАЦИИ
1. Патент на полезную модель №161373 "Контролируемое устройство хранения и передачи информации "/Бутранов А.С., Павлов А.А., Царьков А.Н. и др. от 29.03.2016 г.
2. Патент на полезную модель №169207 "Устройство хранения и передачи данных с обнаружением ошибок "/ Корсунский Д.А., Лебедев В.Л., Машевич П.Р.. Павлов А.А., Плис Н.И., Стешенко В.Б., Хамаганов К.Б., Царьков А.Н. Царьков А.Н. и др. от 17.10.2016 г.