устройство хранения и передачи информации с обнаружением двойных ошибок
Классы МПК: | G06F11/14 обнаружение и исправление ошибок в данных с помощью избыточности операций,например с использованием различных последовательностей операций, приводящих к тому же результату |
Автор(ы): | Царьков Алексей Николаевич (RU), Аряшев Сергей Иванович (RU), Бобков Сергей Генадьевич (RU), Бородай Владимир Эрнестович (RU), Василегин Борис Владимирович (RU), Нагаев Константин Дмитриевич (RU), Осипенко Павел Николаевич (RU), Павлов Александр Алексеевич (RU), Хоруженко Олег Владимирович (RU) |
Патентообладатель(и): | Межрегиональное общественное учреждение "Институт инженерной физики" (RU) |
Приоритеты: |
подача заявки:
2009-01-27 публикация патента:
10.11.2010 |
Изобретение относится к области телемеханики, автоматики и вычислительной техники. Достигаемый технический результат - повышение достоверности функционирования устройств хранения и передачи информации за счет обнаружения двойных ошибок при минимальных временных и аппаратурных затратах. Устройство содержит узел памяти (1), входной (2) и выходной (3) блоки кодирования, блок выявления ошибки (4), блок элементов И (5), элемент И (6), элемент ИЛИ (7). 1 ил., 2 табл.
Формула изобретения
Устройство хранения и передачи информации с обнаружением двойных ошибок, содержащее узел памяти, отличающееся тем, что оно дополнительно содержит входной блок кодирования, выходной блок кодирования, блок выявления ошибки, блок элементов И, элемент И, элемент ИЛИ, вход установки устройства в нулевое состояние, вход записи, вход считывания, адресные входы, информационные входы, вход синхронизации, информационные выходы, выход сигнала «ошибка», причем входной блок кодирования формирует значения контрольных разрядов r1 и r2 путем сложения по модулю 2 информационных символов х1, х2, х3, у1, у2, у3, поступающих на входы входного блока кодирования, в соответствии с правилом: r1=х1 х2 у1 у2; r2=х2 х3 у2 у3, выходной блок кодирования формирует значения проверочных контрольных разрядов r1П, r2П путем сложения по модулю информационных символов х1С , х2С, х3С, у1С, у2С , у3С, поступающих на входы выходного блока кодирования и полученных при считывании информации с информационных выходов узла памяти в соответствии с правилом: r1П=х1С х2С у1С у2С; r2П=х2С х3С у2С у3С, вход установки в нулевое состояние, вход записи, вход считывания, адресные входы подключены соответственно к первому, второму, третьему и четвертому входам узла памяти, информационные символы поступают на пятые входы узла памяти совместно с контрольными символами, полученными из информационных символов с помощью входного блока кодирования, вход синхронизации подключен к шестому входу узла памяти и к первым входам блока элементов И и элемента И, информационные символы с информационных выходов узла памяти поступают на вторые входы блока элементов И и на входы выходного блока кодирования, выходные символы выходного блока кодирования поступают на первые входы блока выявления ошибки, на вторые входы которого поступают контрольные символы с информационных выходов узла памяти, выходы блока выявления ошибки подключены к входам элемента ИЛИ, выход элемента ИЛИ подключен к второму входу элемента И, выходы блока элементов И являются информационными выходами устройства, выход элемента И является выходом сигнала «ошибка».
Описание изобретения к патенту
Способ построения устройств хранения и передачи информации с обнаружением двойных ошибок относится к вычислительной технике и может быть использован для повышения достоверности функционирования работы, устройств хранения и передачи информации.
Известно дублированное устройство памяти [1], содержащее исходный узел памяти, дублирующий узел памяти, входы исходного и дублирующего узлов памяти соединены с одинаковыми информационными входами, выходы исходного узла памяти являются информационными выходами устройства и, кроме этого, подключены к первым входам блока сравнения, вторые входы которого подключены к выходам дублирующего узла памяти, при несовпадении выходной информации с его выхода снимается сигнал "ошибка".
Недостатком устройства является большая аппаратурная избыточность.
Наиболее близким по техническому решению является устройство памяти с контролем на четность [2], содержащее узел памяти, входной блок формирования дополнительного разряда проверки на четность, выходной блок формирования дополнительного разряда проверки на четность, элемент неравнозначности, информационные входы устройства подключены к узлу памяти и к входам входного блока формирования дополнительного разряда проверки на четность, выходы узла памяти являются информационными выходами устройства и подключены к входам выходного блока формирования дополнительного разряда проверки на четность, выход которого подключен к первому входу элемента неравнозначности, второй вход элемента неравнозначности соединен с выходом входного блок формирования дополнительного разряда проверки на четность, и с его выхода снимается сигнал "ошибка".
Недостатком устройства является низкая достоверность функционирования устройства, так как обнаруживаются только одиночные (нечетные) ошибки, т.е. обнаруживается 50% возможных ошибок.
Целью изобретения является повышение достоверности функционирования устройства за счет обнаружения двойных (четных) ошибок при минимальных временных и аппаратурных затратах.
Поставленная цель достигается тем, что устройство, содержащее узел памяти, дополнительно содержит входной блок кодирования, выходной блок кодирования, блок сравнения, блок элементов И, элемент И, элемент ИЛИ, вход установки устройства в нулевое состояние, вход записи, вход считывания, адресные входы, информационные входы, вход синхронизации, информационные выходы, выход сигнала «ошибка», причем вход установки в нулевое состояние, вход записи, вход считывания, адресные входы подключены соответственно к первому, второму, третьему и четвертому входам узла памяти, информационные входы подключены к пятым входам узла памяти и к входам входного блока кодирования, выходы которого подключены к шестым входам узла памяти, вход синхронизации подключен к седьмому входу узла памяти и к первым входам блока элементов И и элемента И, первые выходы узла памяти подключены к входам выходного блока кодирования и к вторым входам блока элементов И, выходы выходного блока кодирования подключены к первым входам блока сравнения, к вторым входам которого подключены вторые выходы узла памяти, а выходы подключены к входам элемента ИЛИ, выход элемента ИЛИ подключен к второму входу элемента И, выходы блока элементов И являются информационными выходами устройства, выход элемента И является выходом сигнала «ошибка».
На чертеже представлена блок-схема устройства. Устройство хранения и передачи информации содержит: узел 1 памяти, входной блок 2 кодирования, выходной блок 3 кодирования, блок 4 сравнения, блок 5 элементов И, элемент 6 И, элемент 7 ИЛИ, вход 8 установки в нулевое состояние, вход 9 записи, вход 10 считывания, адресные входы 11, информационные входы 12, вход 13 синхронизации, информационные выходы 14, выход 15 сигнала "ошибка".
Вход 8 установки в нулевое состояние, вход 9 записи, вход 10 считывания, адресные входы 11 подключены соответственно к первому, второму, третьему и четвертому входам узла 1 памяти, информационные входы 12 подключены к пятым входам узла 1 памяти и к входам входного блока 2 кодирования, выходы которого подключены к шестым входам узла 1 памяти, вход синхронизации подключен к седьмому входу узла 1 памяти и к первым входам блока 5 элементов И и элемента 6 И, первые выходы узла 1 памяти подключены к входам выходного блока 3 кодирования и к вторым входам блока 5 элементов И, выходы выходного блока 3 кодирования подключены к первым входам блока 4 сравнения, к вторым входам которого подключены вторые выходы узла 1 памяти, а выходы подключены к входам элемента 7 ИЛИ, выход элемента 7 ИЛИ подключен к второму входу элемента 6 И, выходы блока 5 элементов И являются информационными выходами 14 устройства, выход элемента 6 И является выходом 15 сигнала «ошибка».
Узел 1 памяти, в данном случае, представляет собой статическое полупроводниковое оперативное устройство памяти и предназначен для хранения кодовых наборов: УК=х 1х2х3у1у2у 3г1г2, полученных при кодировании исходных двоичных наборов
У=х1,х 2,х3,у1,у2,у3 .
Входной блок 2 кодирования предназначен для формирования значений контрольных разрядов r1, r 2 путем сложения по mod2 информационных символов в соответствии с правилом
r1=x1 x2 у1 у2;
r2=x2 x3 у2 у3.
Выходной блок 3 кодирования предназначен для формирования значений проверочных контрольных разрядов r1П, r2П путем сложения по mod2 информационных символов (xiC, yiC), полученных при считывании информации с узла 1 памяти в соответствии с правилом
r1П=x1c x2C у1С у2С;
r2П=х2С x3C угс у3С.
Блок 4 сравнения предназначен для обнаружения ошибки в кодовом наборе при считывании информации с узла 1 памяти путем сложения по mod2 значений контрольных разрядов r1С и r2С с, считываемых с вторых выходов узла 1 памяти, соответственно с значениями контрольных разрядов r1П и r 2П, сформированных на выходах выходного блока 3 кодирования
1=r1C r1П;
2=r2С r2П.
Нулевой результат суммы свидетельствует об отсутствии ошибки и ее наличии в противном случае.
Выходы 1 и 2 блока 4 сравнения объединены в один выход элементом 7 ИЛИ, значение сигнала на данном выходе поступает на второй вход элемента 6 И.
Считывание выходной информации с выходов полезной модели проводится при поступлении сигнала с входа синхронизации на первые входы блока 5 элементов И и элемента 6 И.
Устройство работает следующим образом. Перед началом работы устройства на вход 8 "установки в нулевое состояние" подается единичный сигнал, который переводит устройство в нулевое состояние.
При записи информации в узел 1 памяти подаются единичные сигналы на вход 13 синхронизации, вход 9 записи, адресные входы 11 и информационные входы 12.
Например, на информационные входы поступает кодовая комбинация x1x2 x3y1y2y3, соответствующая значению -000 110.
В этом случае входной блок 2 кодирования формирует вектор
r1=x 1 x2 у1 y2=0; r2=x2 x3 y2 y3=1.
Соответственно, в узел 1 памяти запишется информация 000 110 01.
При считывании информации на вход 10 полезной модели подается сигнал, разрешающий считывание информации с узла 1 памяти. Если ошибки нет, то выходной блок 3 кодирования относительно информационных разрядов формирует значения: r1П=0 и r2П =1, которые равны соответственно значениям r1C и r 2C, поэтому на выходе блока 4 сравнения имеем значения 1=0, 2=0.
Допустим, произошла ошибка в первом информационном разряде: 1* 00 110 01. В этом случае на выходах выходного блока 3 кодирования получим значения сигналов r1П=1 и r2П=1. Так как значение r1П r1С (1 0), то на выходе блока 4 сравнения получим значения сигналов: 1=1, 2=0, соответственно на выходе элемента 7 ИЛИ появится единичное значение сигнала, которое при поступлении сигнала с входа 13 синхронизации поступит на выход элемента 6 И, что свидетельствует о возникновении ошибки. Аналогичным образом полезная модель работает при появлении других ошибок.
Таким образом, предлагаемый способ обнаружения ошибок по сравнению с традиционными методами позволяет существенно повысить достоверность функционирования устройств хранения и передачи информации за счет обнаружения ошибок одиночных (нечетных) и двойных (четных) ошибок при минимальных временных и аппаратурных затратах.
Приложение
Эффективность автоматизированных систем управления, информационных комплексов, средств вычислительной и измерительной техники, устройств хранения и передачи информации в значительной степени определяется достоверностью информации, которая обрабатывается в данных системах [1].
В свою очередь, достоверность функционирования цифровых устройств существенно зависит от выбранного метода обнаружения ошибок (обнаруживающей способности выбранного метода контроля информации и аппаратурных затрат, необходимых для реализации данного метода). В настоящее время для этой цели наиболее широко используется метод контроля на четность, который требует минимальных аппаратурных затрат для обнаружения ошибок двоичного набора. Недостатком данного метода является низкая обнаруживающая способность, так как обнаруживаются только нечетные ошибки. В то же время опыт эксплуатации дискретных устройств показывает, что наиболее вероятным событием является возникновение одиночных и двойных ошибок (соответственно на одиночные ошибки приходится 80-85%, на двойные ошибки 25-20% и ошибки прочей кратности до 2%) [1], т.е. основным недостатком метода контроля на четность является невозможность обнаружения двойных ошибок.
Гораздо большую обнаруживающую способность имеет метод контроля информации по mod3, однако реализация данного метода требует больших аппаратурных затраты на построение схем сверток и временных затрат, связанных с задержкой прохождения сигнала.
В связи с этим возникает необходимость в разработке метода контроля информации, обнаруживающего 100% одиночных ошибок, и максимального количества двойных ошибок при минимальных аппаратурных и временных затратах на декодирование.
Обоснование метода кодирования информации
Пусть исходный двоичный набор представлен тремя информационными разрядами:
Для обнаружения ошибок заданной кратности необходимо обеспечить выполнение условия для кодового расстояния d [1]:
где t - число ошибочных разрядов в кодовом наборе.
Для обнаружения двойной ошибки необходимо обеспечить кодовое расстояние d 3, соответственно для этой цели необходимо использовать два контрольных разряда.
Так как достоверность функционирования и скорость обработки контролируемой информации существенно зависят от аппаратурных затрат, связанных с формированием значений контрольных разрядов, возникает необходимость выбора метода кодирования информации, обеспечивающего минимальные аппаратурные затраты.
В связи с тем, что контроль на четность, по отношению к известным методам обнаружения ошибок, требует минимальных временных и аппаратурных затрат, то для обнаружения двойных ошибок целесообразно использовать метод кодирования информации, требующий для своей реализации аппаратурных и временных затрат, соизмеримых с затратами, необходимыми при использовании метода контроля на четность.
Проведенные для этой цели исследования показали, что для поставленной задачи целесообразно использовать независимые ортогональные проверки. Так, для трехразрядного двоичного набора Y=x1,x2,x3 формирование значений двух контрольных разрядов можно осуществить двумя проверками: r1=x1 x2 и r2=x2 x3.
Соответственно, кодовый набор представляется в виде
В табл.1 представлена обнаруживающая способность полученного кода относительно безошибочного кодового набора:
YК=000 00.
Примечание: Символом "*" обозначен признак обнаруживаемой ошибки в соответствующем контрольном разряде, символом "-" - необнаруживаемой; жирным шрифтом выделены необнаруживаемые ошибки; наклонным шрифтом представлены двойные ошибки.
Анализ табл.1 показывает, что из тридцати одного ошибочного кодового набора не обнаруживается семь ошибочных наборов, при этом обнаруживается 100% одиночных ошибок, а из десяти двукратных ошибок не обнаруживается одна ошибка.
Таблица 1 | ||||||||
№ п/п | Безошибочный кодовый набор: 000000 | № п/п | Безошибочный кодовый набор:000000 | |||||
Ошибочные кодовые наборы | Признак ошибки: | Ошибочные кодовые наборы | Признак ошибки | |||||
r1 | r 2 | R1 | r2 | |||||
1 | 000 01 | - | * | 17 | 100 01 | * | * | |
2 | 000 10 | * | - | 18 | 100 10 | - | - | |
3 | 000 11 | * | * | 19 | 100 11 | - | - | |
4 | 001 00 | - - | * | 20 | 101 00 | * | * | |
5 | 001 01 | * | - | 21 | 101 01 | * | - | |
6 | 001 10 | * | * | 22 | 101 10 | - | * | |
7 | 001 11 | * | - | 23 | 101 11 | - | - | |
8 | 010 00 | * | * | 24 | 110 00 | - | * | |
9 | 010 01 | - | - | 25 | 110 01 | - | - | |
10 | 010 10 | - | * | 26 | 110 10 | * | * | |
11 | 010 11 | * | * | 27 | 110 11 | * | - | |
12 | 011 00 | * | - | 28 | 111 00 | - | - | |
13 | 011 01 | - | * | 29 | 111 01 | - | * | |
14 | 011 10 | - | - | 30 | 111 10 | * | - | |
15 | 011 11 | * | * | 31 | 111 11 | * | * | |
16 | 100 00 | - |
Если учесть, что 80% ошибок приходится на одиночную ошибку, a 20% на двойную, то предлагаемый метод кодирования позволяет существенно повысить вероятность обнаружения возникающих ошибок.
Для кодирования трехразрядной информации предлагаемым методом потребуется два сумматора по mod2, т.е. такое же количество сумматоров как и для контроля на четность.
Для декодирования информации (сравнения значений контрольных разрядов переданной и полученной информации) для предлагаемого метода по отношению к контролю на четность потребуется на один сумматор больше, при этом скорость обработки информации не только не снижается, но и уменьшается, т.к. на пути прохождения сигналов, при кодировании и декодировании информации предлагаемым методом, находится по одному сумматору (при контроле на четность по два).
При кодировании двоичного набора с произвольным числом информационных разрядов (пусть число информационных разрядов кратно трем) разобьем двоичный набор на блоки информации, по три разряда в каждом блоке:
В результате кодирования рассматриваемого двоичного набора предлагаемым методом получим кодовый набор:
Пример: Пусть число информационных разрядов равно шести, тогда для рассматриваемого числа информационных разрядов имеем кодовый набор:
В табл.2 представлены ошибочные кодовые наборы для одиночных и двойных ошибок относительно безошибочного кодового набора: 000000 00.
Анализ табл.2 показывает, что одиночные ошибки обнаруживаются 100%, из двадцати шести двойных ошибок не обнаруживаются шесть. На кодирование двоичного набора предлагаемым методом потребуется шесть сумматоров по mod2 (при контроле по методу четности - пять сумматоров по mod2). На декодирование кодового набора для предлагаемого метода потребуется восемь сумматоров по mod2 (при контроле на четность - шесть сумматоров по mod2).
Таблица 2 | ||||||||
№ п/п | Безошибочный кодовый набор 000 000 00 | Признак ошибки | № п/п | Безошибочный кодовый набор 000 000 00 | Признак ошибки | |||
Ошибочный кодовый набор | r1 | r 2 | Ошибочный кодовый набор | r 1 | r2 | |||
1 | 000 000 01 | - | * | 19 | 001 000 10 | * | * | |
2 | 000 000 10 | * | - | 20 | 010 000 10 | - | * | |
3 | 000 001 00 | - | * | 21 | 100 000 10 | - | - | |
4 | 000 010 00 | * | * | 22 | 000 011 00 | * | - | |
5 | 000 100 00 | * | - | 23 | 000 101 00 | * | * | |
6 | 001 000 00 | - | * | 24 | 001 001 00 | - | - | |
7 | 010 000 00 | * | * | 25 | 010 001 00 | * | - | |
8 | 100 000 00 | * | - | 26 | 100 001 00 | * | * | |
9 | 000 000 11 | * | * | 27 | 000 110 00 | - | * | |
10 | 000 001 01 | - | - | 28 | 001 010 00 | * | - | |
11 | 000 010 01 | * | - | 29 | 010 010 00 | - | - | |
12 | 000 100 01 | * | * | 30 | 100 010 00 | - | * | |
13 | 001 000 01 | - | - | 31 | 001 100 00 | * | * | |
14 | 010 000 01 | * | - | 32 | 010 100 00 | - | * | |
15 | 100 000 01 | * | - | 33 | 100 100 00 | - | - | |
16 | 000 001 10 | * | * | 34 | 011 000 00 | * | - | |
17 | 000 010 10 | - | * | 35 | 101 000 00 | * | * | |
18 | 000 100 10 | 36 | 110 000 00 | * |
Общие аппаратурные затраты для предлагаемого метода кодирования составят четырнадцать сумматоров по mod2, а для контроля на четность - одиннадцать сумматоров по mod2.
В этом случае для предлагаемого метода при декодировании информации на пути прохождения сигнала находится четыре сумматора по mod2 (формирование значений двух контрольных разрядов осуществляется параллельно), а для контроля на четность - шесть сумматоров по mod2.
Таким образом, предлагаемый метод обнаружения ошибок позволяет обнаруживать все одиночные ошибки и максимальное количество двойных ошибок при незначительном увеличении аппаратурных затрат по отношению к методу контроля на четность без снижения быстродействия обработки информации.
Источники информации
1. Б.М.Коган, И.Б.Мкртумян. Основы эксплуатации ЭВМ. М.: Энергоатомиздат, 1988, 430 с., рис.4.17.
2. Щербаков Н.С. Самокорректирующиеся дискретные устройства. М.: машиностроение, 1975, 216 с., рис 28., 224 с. рис.39, рис.44.
Класс G06F11/14 обнаружение и исправление ошибок в данных с помощью избыточности операций,например с использованием различных последовательностей операций, приводящих к тому же результату