устройство хранения информации повышенной достоверности функционирования
Классы МПК: | G06F11/16 обнаружение и исправление ошибок в данных с помощью избыточности аппаратуры G06F11/08 обнаружение и исправление ошибок с помощью избыточности в представлении данных, например с помощью корректирующих кодов |
Автор(ы): | Павлов Алексей Александрович (RU), Павлов Павел Александрович (RU), Павлов Александр Алексеевич (RU), Хоруженко Олег Владимирович (RU), Царьков Алексей Николаевич (RU) |
Патентообладатель(и): | Межрегиональное общественное учреждение "Институт инженерной физики" (RU) |
Приоритеты: |
подача заявки:
2010-05-27 публикация патента:
20.06.2011 |
Изобретение относится к вычислительной технике и может быть использовано для контроля достоверности функционирования устройств хранения и передачи информации. Техническим результатом является повышение достоверности функционирования устройств хранения и передачи информации при обеспечении возможности обнаружения одиночных (нечетных) и двойных (четных) ошибок при минимальных временных и аппаратурных затратах. Это достигается кодированием исходной двоичной информации на основе организации независимых проверок и за счет введения блока кодирования, блока выявления ошибки, первого блока элементов И, второго блока элементов И, элемента И, первого блока элементов ИЛИ, элемента 4 ИЛИ. 1 ил., 2 табл.
Формула изобретения
Устройство хранения информации повышенной достоверности функционирования, содержащее узел памяти, входной блок кодирования, формирующий значения контрольных разрядов r1 и r2 путем сложения по модулю 2 информационных символов x1, х2, x 3, y1, y2, y3, поступающих на входы входного блока кодирования, в соответствии с правилом: r1=х1 х2 y1 y2; r2=х2 х3 y2 у3, выходной блок кодирования, формирующий значения проверочных контрольных разрядов r1п, r2п путем сложения по модулю 2 информационных символов х1с, х2с , х3с, y1c, y2c, y3c , поступающих на входы выходного блока кодирования и полученных при считывании информации с информационных выходов узла памяти в соответствии с правилом: r1п=х1с х2с y1c y2c; r2п=x2c х3с y2c y3c, блок выявления ошибки, первый блок элементов И, элемент И, первый блок элементов ИЛИ, вход установки устройства в нулевое состояние, вход записи, вход считывания, адресные входы, информационные входы, вход синхронизации, информационные выходы, выход сигнала при возникновении ошибки, отличающееся тем, что дополнительно содержит второй блок элементов ИЛИ, второй блок элементов И, третий блок элементов И, причем вход установки в нулевое состояние, вход записи, вход считывания, адресные входы подключены соответственно к первому, второму, третьему и четвертому входам узла памяти, информационные входы подключены к пятым входам узла памяти и к первым входам второго блока элементов ИЛИ, вторые входы которого подключены к выходам второго блока элементов И, а выходы подключены к входам блока кодирования, выходы которого подключены к шестым входам узла памяти и к первым входам блока выявления ошибки, вход синхронизации подключен к седьмому входу узла памяти и к первым входам первого блока элементов И и к первому входу элемента И, первые выходы узла памяти подключены к вторым входам первого блока элементов И и к первым входам второго блока элементов И, второй вход которого подключен к входу считывания, вторые выходы узла памяти подключены к вторым входам блока выявления ошибки, выходы которого подключены к входам первого блока элементов ИЛИ, выход которого подключен к второму входу элемента И, выходы первого блока элементов И являются информационными выходами устройства, выход элемента И является выходом сигнала при возникновении ошибки.
Описание изобретения к патенту
Изобретение относится к вычислительной технике и может быть использовано для повышения достоверности функционирования работы, устройств хранения и передачи информации.
Известно устройство памяти с контролем на четность [1], содержащее узел памяти, входной блок формирования дополнительного разряда проверки на четность, выходной блок формирования дополнительного разряда проверки на четность, элемент неравнозначности, информационные входы устройства подключены к узлу памяти и к входам входного блока формирования дополнительного разряда проверки на четность, выходы узла памяти являются информационными выходами устройства и подключены к входам выходного блока формирования дополнительного разряда проверки на четность, выход которого подключен к первому входу элемента неравнозначности, второй вход элемента неравнозначности соединен с выходом входного блок формирования дополнительного разряда проверки на четность, и с его выхода снимается сигнал при возникновении ошибки.
Недостатком устройства является низкая достоверность функционирования устройства, так как обнаруживаются только одиночные (нечетные) ошибки, т.е. обнаруживается 50% возможных ошибок.
Наиболее близким по техническому решению является устройство хранения и передачи информации с обнаружением двойных ошибок [2], содержащее узел памяти, входной блок кодирования, выходной блок кодирования, блок выявления ошибки, блок элементов И, элемент И, элемент ИЛИ, вход установки устройства в нулевое состояние, вход записи, вход считывания, адресные входы, информационные входы, вход синхронизации, информационные выходы, выход сигнала при возникновении ошибки, вход установки в нулевое состояние, вход записи, вход считывания, адресные входы подключены соответственно к первому, второму, третьему и четвертому входам узла памяти, информационные входы подключены к пятым входам узла памяти и к входам входного блока кодирования, выходы которого подключены к шестым входам узла памяти, вход синхронизации подключен к седьмому входу узла памяти и к первым входам блока элементов И и элемента И, первые выходы узла памяти подключены к входам выходного блока кодирования и к вторым входам блока элементов И, выходы выходного блока кодирования подключены к первым входам блока выявления ошибки, к вторым входам которого подключены вторые выходы узла памяти, а выходы подключены к входам элемента ИЛИ, выход элемента ИЛИ подключен к второму входу элемента И, выходы блока элементов И являются информационными выходами устройства, выход элемента И является выходом сигнала при возникновении ошибки.
Недостатком устройства является большая аппаратурная избыточность, так как используются два блока кодирования: входной блок кодирования и выходной блок кодирования информации.
Целью изобретения является сокращение аппаратурных затрат за счет использования одного блока кодирования, выполняющего кодирование входной и выходной информации.
Поставленная цель достигается тем, что устройство, содержащее узел памяти, блок кодирования, блок выявления ошибки, первый блок элементов И, элемент И, первый блок элементов ИЛИ, вход установки устройства в нулевое состояние, вход записи, вход считывания, адресные входы, информационные входы, вход синхронизации, информационные выходы, выход сигнала при возникновении ошибки, дополнительно содержит второй блок элементов ИЛИ, второй блок элементов, третий блок элементов И, причем вход установки в нулевое состояние, вход записи, вход считывания, адресные входы подключены соответственно к первому, второму, третьему и четвертому входам узла памяти, информационные входы подключены к пятым входам узла памяти и к первым входам второго блока элементов ИЛИ, вторые входы которого подключены к выходам второго блока элементов И, а выходы подключены к входам блока кодирования, выходы которого подключены к шестым входам узла памяти и к первым входам блока выявления ошибки, вход синхронизации подключен к седьмому входу узла памяти и к первым входам первого блока элементов И и к первому входу элемента И, первые выходы узла памяти подключены к вторым входам первого блока элементов И и к первым входам второго блока элементов И, второй вход которого подключен к входу считывания, вторые выходы узла памяти подключены к вторым входам блока выявления ошибки, выходы которого подключены к входам первого блока элементов ИЛИ, выход которого подключен к второму входу элемента И, выходы первого блока элементов И являются информационными выходами устройства, выход элемента И является выходом сигнала при возникновении ошибки.
На чертеже представлена блок-схема устройства. Устройство хранения информации повышенной достоверности функционирования содержит узел 1 памяти, блок 2 кодирования, блок 3 выявления ошибки, первый блок 4 элементов ИЛИ, второй блок 5 элементов ИЛИ, первый блок 6 элементов И, второй блок 7 элементов И, элемент 8 И, вход 9 установки в нулевое состояние, вход 10 записи, вход 11 считывания, адресные входы 12, информационные входы 13, вход 14 синхронизации, информационные выходы 15, выход 16 сигнала при возникновении ошибки.
Вход 9 установки в нулевое состояние, вход 10 записи, вход 11 считывания, адресные входы 12 подключены соответственно к первому, второму, третьему и четвертому входам узла 1 памяти, информационные входы 13 подключены к пятым входам узла 1 памяти и к первым входам второго блока 5 элементов ИЛИ, вторые входы которого подключены к выходам второго блока 7 элементов И, а выходы подключены к входам блока 2 кодирования, выходы которого подключены к шестым входам узла 1 памяти и к первым входам блока 3 выявления ошибки, вход 14 синхронизации подключен к седьмому входу узла 1 памяти и к первым входам первого блока 6 элементов И и к первому входу элемента 8 И, первые выходы узла 1 памяти подключены к вторым входам первого блока 6 элементов И и к первым входам второго блока 7 элементов И, второй вход которого подключен к входу 11 считывания, вторые выходы узла 1 памяти подключены к вторым входам блока 3 выявления ошибки, выходы которого подключены к входам первого блока 4 элементов ИЛИ, выход которого подключен к второму входу элемента 8 И, выходы первого блока 6 элементов И являются информационными выходами 15 устройства, выход 16 элемента 8 И является выходом сигнала при возникновении ошибки.
Узел 1 памяти, в данном случае, представляет собой статическое полупроводниковое оперативное устройство памяти и предназначен для хранения кодовых наборов УК=x1x2x3y1 y2y3r1r2, полученных при кодировании исходных двоичных наборов У=х1,х 2,х3, у1,у2,у3 .
Блок 2 кодирования предназначен для формирования значений контрольных разрядов r1, r2 путем сложения по mod2 информационных символов в соответствии с правилом
;
и формирования значений проверочных контрольных разрядов r1П, r2П путем сложения по mod2 информационных символов (xiC, YiC) полученных при считывании информации с узла 1 памяти в соответствии с правилом
;
.
Блок 3 выявления ошибки предназначен для обнаружения ошибки в кодовом наборе при считывании информации с узла 1 памяти путем сложения по mod2 значений контрольных разрядов r1C и r2C, считываемых с вторых выходов узла 1 памяти, соответственно со значениями контрольных разрядов r1П и r2П, сформированных на выходах выходного блока 3 кодирования:
;
.
Нулевой результат суммы свидетельствует об отсутствии ошибки и ее наличии в противном случае.
Выходы 1 и 2 блока 3 сравнения объединены в один выход первым блоком 4 элементов ИЛИ, значение сигнала на данном выходе поступает на второй вход элемента 8 И.
Считывание выходной информации с выходов 15 устройства проводится при поступлении сигнала с входа 14 синхронизации на первые входы первого блока 6 элементов И и элемента 8 И.
Устройство работает следующим образом. Перед началом работы устройства на вход 9 "установки в нулевое состояние" подается единичный сигнал, который переводит устройство в нулевое состояние.
При записи информации в узел 1 памяти подается единичный сигнал на вход 10 записи, адресные входы 12 и информационные входы 13.
Например, на информационные входы поступает кодовая комбинация x1x2x3 у 1у2у3, соответствующая значению -000 110.
В этом случае входной блок 2 кодирования формирует вектор
; .
Соответственно в узел 1 памяти запишется информация
000 110 01.
При считывании информации на вход 11 считывания и адресные входы 12 подаются сигналы, разрешающие считывание информации с узла 1 памяти по указанному адресу. Считываемая информация подается на вторые входы первого блока 6 элементов И и входы второго блока 7 элементов И, с выходов которого информация поступает через второй блок 5 элементов ИЛИ на блок 2 кодирования. Блок 2 кодирования относительно информационных разрядов формирует значения r1П=0 и r2П=1, которые при отсутствии ошибки равны соответственно значениям r1C и r2C, поэтому на выходе блока 3 сравнения имеем значения 1=0, 2=0.
Допустим, произошла ошибка в первом информационном разряде: 1* 00 110 01. В этом случае на выходах блока 2 кодирования получим значения сигналов r 1П=1 и r2П=1. Так как значение r1П r1C (1 0), то на выходе блока 3 сравнения получим значения сигналов 1=l, 2=0, соответственно на выходе первого блока 4 ИЛИ появится единичное значение сигнала, которое при поступлении сигнала с входа 14 синхронизации поступит на выход элемента 8 И, что свидетельствует о возникновении ошибки. Аналогичным образом устройство работает при появлении других ошибок.
По сравнению с прототипом в устройстве используется один блок кодирования вместо двух. Так как блок кодирования строится на сумматорах по mod2, которые содержат по четыре простейших двухвходовых элемента, то его аппаратурные затраты составят (k-k/3-l)2*4, т.е. для шести информационных разрядов аппаратурные затраты на блок кодирования составят 24 двухвходовых логических элемента. Общие аппаратурные затраты на дополнительно введенные второй блок 7 элементов И, второй блок 5 элементов ИЛИ составят 12 двухвходовых логических элементов.
Таким образом, предлагаемое устройство позволяет сократить аппаратурные затраты по сравнению с прототипом на 12 двухвходовых логических элементов.
Источники информации
1. Б.М.Коган, И.Б.Мкртумян. Основы эксплуатации ЭВМ. М.: Энергоатомиздат, 1988, 430 с., рис.4.17.
2. Патент на полезную модель № 76479 "Устройство памяти с обнаружением двойных ошибок"/ Бородай В.Э., Бобков С.Г., Осипенко П.Н., Павлов А.А., Царьков А.Н., от о4.04.2008 г.
Приложение к заявке на изобретению: «Устройство хранения информации повышенной достоверности функционирования»
Эффективность автоматизированных систем управления, информационных комплексов, средств вычислительной и измерительной техники, устройств хранения и передачи информации в значительной степени определяется достоверностью информации, которая обрабатывается в данных системах [1].
В свою очередь, достоверность функционирования цифровых устройств существенно зависит от выбранного метода обнаружения ошибок (обнаруживающей способности выбранного метода контроля информации и аппаратурных затрат, необходимых для реализации данного метода). В настоящее время для этой цели наиболее широко используется метод контроля на четность, который требует минимальных аппаратурных затрат для обнаружения ошибок двоичного набора. Недостатком данного метода является низкая обнаруживающая способность, так как обнаруживаются только нечетные ошибки. В то же время опыт эксплуатации дискретных устройств показывает, что наиболее вероятным событием является возникновение одиночных и двойных ошибок (соответственно на одиночные ошибки приходится 80-85%, на двойные ошибки 25-20% и ошибки прочей кратности до 2%) [1, т.е. основным недостатком метода контроля на четность является невозможность обнаружения двойных ошибок.
Гораздо большую обнаруживающую способность имеет метод контроля информации по mod3, однако реализация данного метода требует больших аппаратурных затрат на построение схем сверток и временных затрат, связанных с задержкой прохождения сигнала.
В связи с этим возникает необходимость в разработке метода контроля информации, обнаруживающего 100% одиночных ошибок и максимальное количество двойных ошибок, при минимальных аппаратурных и временных затратах на декодирование.
Обоснование метода кодирования информации
Пусть исходный двоичный набор представлен тремя информационными разрядами:
Для обнаружения ошибок заданной кратности необходимо обеспечить выполнение условия для кодового расстояния d [1]:
где t - число ошибочных разрядов в кодовом наборе.
Для обнаружения двойной ошибки необходимо обеспечить кодовое расстояние d 3, соответственно для этой цели необходимо использовать два контрольных разряда.
Так как достоверность функционирования и скорость обработки контролируемой информации существенно зависят от аппаратурных затрат, связанных с формированием значений контрольных разрядов, то возникает необходимость выбора метода кодирования информации, обеспечивающего минимальные аппаратурные затраты.
В связи с тем, что контроль на четность по отношению к известным методам обнаружения ошибок требует минимальных временных и аппаратурных затрат, то для обнаружения двойных ошибок целесообразно использовать метод кодирования информации, требующий для своей реализации аппаратурных и временных затрат, соизмеримых с затратами, необходимыми при использовании метода контроля на четность.
Проведенные для этой цели исследования показали, что для поставленной задачи целесообразно использовать независимые ортогональные проверки. Так, для трехразрядного двоичного набора Y=x1x2x3 формирование значений двух контрольных разрядов можно осуществить двумя проверками: и .
Соответственно кодовый набор представляется в виде
В табл. 1 представлена обнаруживающая способность полученного кода относительно безошибочного кодового набора Y k =000 00.
Примечание: Символом "*" обозначен признак обнаруживаемой ошибки в соответствующем контрольном разряде, символом "-" - необнаруживаемой; жирным шрифтом выделены необнаруживаемые ошибки; наклонным шрифтом представлены двойные ошибки.
Анализ табл.1 показывает, что из тридцати одного ошибочного кодового набора не обнаруживается семь ошибочных наборов, при этом обнаруживается 100% одиночных ошибок, а из десяти двукратных ошибок не обнаруживается одна ошибка.
Если учесть, что 80% ошибок приходится на одиночную ошибку, а 20% на двойную, то предлагаемый метод кодирования позволяет существенно повысить вероятность обнаружения возникающих ошибок.
Для кодирования трехразрядной информации предлагаемым методом потребуется два сумматора по mod2, т.е. такое же количество сумматоров, как и для контроля на четность.
Для декодирования информации (сравнения значений контрольных разрядов переданной и полученной информации) для предлагаемого метода по отношению к контролю на четность потребуется на один сумматор больше, при этом скорость обработки информации не только не снижается, но и уменьшается, т.к. на пути прохождения сигналов при кодировании и декодировании информации предлагаемым методом находится по одному сумматору ( при контроле на четность по два).
При кодировании двоичного набора с произвольным числом информационных разрядов (пусть число информационных разрядов кратно трем) разобьем двоичный набор на блоки информации, по три разряда в каждом блоке:
В результате кодирования рассматриваемого двоичного набора предлагаемым методом получим кодовый набор
Пример: Пусть число информационных разрядов равно шести, тогда для рассматриваемого числа информационных разрядов имеем кодовый набор
В табл.2 представлены ошибочные кодовые наборы для одиночных и двойных ошибок относительно безошибочного кодового набора: 000000 00.
Анализ табл.2 показывает, что одиночные ошибки обнаруживаются 100%, из двадцати шести двойных ошибок не обнаруживаются шесть. На кодирование двоичного набора предлагаемым методом потребуется шесть сумматоров по mod2 (при контроле по методу четности - пять сумматоров по mod2). На декодирование кодового набора для предлагаемого метода потребуется восемь сумматоров по mod2 (при контроле на четность шесть сумматоров по mod2).
Общие аппаратурные затраты для предлагаемого метода кодирования составят четырнадцать сумматоров по mod2, а для контроля на четность - одиннадцать сумматоров по mod2.
В этом случае для предлагаемого метода при декодировании информации на пути прохождения сигнала находится четыре сумматора по mod2 (формирование значений двух контрольных разрядов осуществляется параллельно), а для контроля на четность шесть сумматоров по mod2.
Таким образом, предлагаемый метод обнаружения ошибок позволяет обнаруживать все одиночные ошибки и максимальное количество двойных ошибок при незначительном увеличении аппаратурных затрат по отношению к методу контроля на четность без снижения быстродействия обработки информации.
Таблица 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 | - |
Таблица 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 | - | * |
Класс G06F11/16 обнаружение и исправление ошибок в данных с помощью избыточности аппаратуры
Класс G06F11/08 обнаружение и исправление ошибок с помощью избыточности в представлении данных, например с помощью корректирующих кодов