Устройство хранения и передачи данных с обнаружением одиночных и двойных ошибок
Иллюстрации
Показать всеЗаявленное изобретение относится к вычислительной технике. Технический результат заключается в повышении достоверности функционирования устройств хранения и передачи информации путем обнаружения одиночных и двойных ошибок при сокращении аппаратурных затрат. Устройство хранения и передачи данных с обнаружением одиночных и двойных ошибок содержит узел памяти, входной блок кодирования, формирующий значения контрольных разрядов, выходной блок кодирования, формирующий значения проверочных контрольных разрядов, блок выявления ошибки, блок элементов ИЛИ, блок элементов И, элемент И, вход установки устройства в нулевое состояние, вход записи, вход считывания, адресные входы, информационные входы, вход синхронизации, информационные выходы, выход сигнала при возникновении ошибки. 1 ил.
Реферат
Устройство хранения и передачи данных с обнаружением одиночных и двойных ошибок относится к вычислительной технике и может быть использовано для повышения достоверности функционирования запоминающих устройств.
Известно устройство памяти с обнаружением двойных ошибок [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 г.
Устройство хранения и передачи данных с обнаружением одиночных и двойных ошибок, содержащее узел памяти, входной блок кодирования, формирующий значения контрольных разрядов r1, r2 и r3, выходной блок кодирования, формирующий значения проверочных контрольных разрядов r1p, r2p, r3p, блок выявления ошибки, блок элементов ИЛИ, блок элементов И, элемент И, вход установки устройства в нулевое состояние, вход записи, вход считывания, адресные входы, информационные входы, вход синхронизации, информационные выходы, выход сигнала при возникновении ошибки, вход установки в нулевое состояние, вход записи, вход считывания, адресные входы, вход синхронизации подключены соответственно к первому, второму, третьему и четвертому, пятому входам узла памяти, информационные входы подключены к шестым входам узла памяти и к входам входного кодирующего устройства, выходы которого подключены к седьмым входам узла памяти, информационные выходы узла памяти подключены к входам выходного блока кодирования и к первым входам блока элементов И, выходы выходного блока кодирования подключены к первым входам блока выявления ошибки, вторые входы которого подключены к выходам контрольных разрядов узла памяти, а выходы подключены к входам блока элементов ИЛИ, выход которого подключен к первому входу элемента И, второй вход блока элементов И и второй вход элемента И подключены к входу синхронизации, выходы первого блока элементов И являются информационными выходами устройства, выход элемента И является выходом сигнала "Ошибка", отличающееся тем, что входной блок кодирования, формирует значение контрольного разряда r1 путем сложения по модулю 2 информационных символов у1,у2,у3, у4,у5,у6, у7,у8,у9, у10,у11,у12, поступающих на его входы, в соответствии с правилом:
r1=y3⊕y6⊕y7⊕y8⊕y9⊕y10⊕y11, значение контрольного разряда r2 - путем сложения по модулю 2 информационных символов y1,y2,y3, y4,y5,y6, y7,y8,y9, y10,y11,y12, поступающих на его входы, в соответствии с правилом: r2=y2⊕y4⊕y5⊕y8⊕y9⊕y10⊕y11, значение контрольного разряда r3 - путем сложения по модулю 2 информационных символов y1,y2,y3, y4,y5,y6, y7,y8,y9, y10,y11,y12, поступающих на его входы, в соответствии с правилом: r3=y1⊕y4⊕y5⊕y6⊕y7⊕y10⊕y11⊕y12, выходной блок 3 кодирования, формирующий значения проверочных контрольных разрядов r1p, r2p, r3p, путем сложения по модулю 2 информационных символов y1p,y2p,y3p, y4p,y5p,y6p, y7p,y8p,y9p, y10p,y11p,y12p, поступающих на его входы при считывании информации с информационных выходов узла памяти, в соответствии с правилом:
r1p=y3p⊕y6p⊕y7p⊕y8p⊕y9p⊕y10p⊕y11p; r2p=y2p⊕y4p⊕y5p⊕y8p⊕y9p⊕y10p⊕y11p; r3p=y1p⊕y4p⊕y5p⊕y6p⊕y7p⊕y10p⊕y11p⊕y12p, блок 4 выявления ошибки осуществляет поразрядное сложения по mod2 значений контрольных разрядов r1S, r2S и r3S, считываемых с вторых выходов узла 1 памяти, соответственно с значениями контрольных разрядов r1p, r2p, r3p, сформированных на выходах выходного блока 3 кодирования.