SU1660054A1 - Зaпomиhaющee уctpoйctbo c koppekциeй moдульhыx oшибok - Google Patents

Зaпomиhaющee уctpoйctbo c koppekциeй moдульhыx oшибok Download PDF

Info

Publication number
SU1660054A1
SU1660054A1 SU884362757A SU4362757A SU1660054A1 SU 1660054 A1 SU1660054 A1 SU 1660054A1 SU 884362757 A SU884362757 A SU 884362757A SU 4362757 A SU4362757 A SU 4362757A SU 1660054 A1 SU1660054 A1 SU 1660054A1
Authority
SU
USSR - Soviet Union
Prior art keywords
input
output
block
modulo
syndrome
Prior art date
Application number
SU884362757A
Other languages
English (en)
Inventor
Ivan A Dichka
Evgenij F Kolesnik
Konstantin V Kolyada
Viktor I Kornejchuk
Nat T Nguen
Vladimir P Sidorenko
Original Assignee
Ki Polt I
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ki Polt I filed Critical Ki Polt I
Priority to SU884362757A priority Critical patent/SU1660054A1/ru
Application granted granted Critical
Publication of SU1660054A1 publication Critical patent/SU1660054A1/ru

Links

Landscapes

  • Error Detection And Correction (AREA)

Description

Изобретение относится к вычислительной технике и может быть использовано в запоминающих системах повышенной надежности.
Целью изобретения является упрощение устройства, повышение его быстродействия и достоверности выдаваемой информации.
На фиг.1 приведена структурная схема предлагаемого устройства; на фиг.2 - схема блока вычисления контрольных разрядов; на фиг.З - пример реализации блоков умноразрядов, вход 3 которого соединен с первым входом-выходом накопителя и является информационным входом 4 устройства, шинный формирователь 7, блок 8 коррекции, выход которого является информационным выходом 9 устройства, блок 10 вычисления синдрома, блок 11 умножителей по модулю неприводимого многочлена, выполненный по комбинационной схеме на сумматорах по модулю два, блок 13 схем сравнения кодов, первый 16 и второй 17 элементы ИЛИ, блок 18 определения двукратной модульной ошибки, выход которого является контрольным выходом 20 устройства. Устройство позволяет корректировать однократные и обнаруживать двукратные модульные ошибки, используя код (24, 16) Хемминга. Упрощение устройства и ловышение его быстродействия достигаются за счет оптимального выбора проверочной матрицы используемого кода и реализации умножителей, выполненных по комбинационной схеме с минимальным количеством сумматоров по модулю два. 5 табл., 4 ил.
мэ
жителей по модулю неприводимого многочлена, схем сравнения кодов, коррекции и определения двукратной модульной ошибки; на фиг.4 - схемы умножителей на 13, 8, 3, 5 по модулю неприводимого многочлена х4+ х+1. Схемы на фиг.2. 3 выполнены для случая хранения в ЗУ 16-разрядных данных и коррекции 4-разрядных модульных ошибок.
Запоминающее устройство с коррекцией модульных ошибок (фиг.1) содержит накопитель 1, блок 2 вычисления контроль1660054 А1 ных разрядов, вход 3 которого связан с входом 4 устройства, а также с входом-выходом 5 накопителя 1, а выход 6 подключен к первому входу шинного формирователя 7, выход которого соединен с вторым входом-выходом накопителя 1, блок 8 коррекции, первый вход которого соединен с входом-выходом 5 накопителя 1? а выход 9 является выходом устройства, блок 10 вычисления синдрома, первый вход которого соединен с выходом шинного формирователя 7, второй вход - с выходом 6 блока 2 вычисления контрольных разрядов, блок 11 умножителей по модулю неприводимого многочлена, вход которого связан с первым выходом 12 блока 10 вычисления синдрома, блок 13 схем сравнения кодов, к первому входу которого подключен выход 14 блока 10 вычисления синдрома, к второму входу , выход 15 блока 11 умножителей по модулю неприводимого многочлена, к третьему входу - выход 12 блока 10 вычисления синдрома, первый элемент ИЛИ 16, входы которого соединены с первыми выходами 12 блока 10 вычисления синдрома, второй элемент ИЛИ 17, к входам которого подключены вторые выходы 14 блока 10 вычисления синдрома, блок 18 определения двукратной модульной ошибки, первый вход которого связан с выходом 19 блока 13, а выход 20 является контрольным выходом устройства. Кроме того, второй вход блока 8 коррекции связан с выходом 12 блока 10 вычисления синдрома, а третий - с выходом 19 блока 13 схем сравнения кодов, к второму и третьему входам блока 18 определения двукратной модульной ошибки подключены выходы соответственно первого 16 и второго 17 элементов ИЛИ.
Блок 2 вычисления контрольных разрядов (фиг.2) состоит из двухвходовых сумматоров 21,1 -21.28 по модулю два и включает умножитель на 9 (реализован на сумматоре 21.13), на 4 (реализован на сумматорах 21.14, 21.15) и на 2 (реализован на сумматоре 21.16) по модулю неприводимого многочлена х4+х+1, На вход блока поступают 16-разрядные данные, блок формирует значения контрольных разрядов в соответствии с проверочной матрицей (24, 16) кода Хемминга, которая приведена ниже.
Блок 10 вычисления синдрома состоит из двухвходовых сумматоров по модулю два, к первым входам которых через шинный формирователь 7 подключены вторые выходы накопителя 1, а к вторым входам одноименные выходы δ блока 2. Входящие в состав блока 10 сумматоры по модулю два разделены на две группы; выходы сумматоров по модулю два первой группы образуют выходы 12, а выходы сумматоров по модулю два второй группы - выходы 14. В общем случае число групп сумматоров по модулю два, входящих в состав блока 10, равно числу строк проверочной матрицы используемого обобщенного (многозначного) кода Хемминга.
Блок 11 умножителей по модулю неприводимого многочлена (фиг.З) состоит из I умножителей на η 0=1,2, ... -1), где η - всевозможные отличные от единицы элементы проверочной матрицы многозначного кода. В рассматриваемом примере блок 11 состоит из трех отдельных схем умножителей: умножителя на 2 (схема 22), на 4 (схема 23) и на 9 (схема 24) по модулю неприводимого многочлена х4+х+1.
Блок 13 схем сравнения кодов (фиг.З) состоит из к (к - длина информационной части многозначных кодовых слов) схем сравнения кодов, включающих т (т - разрядность исправляемых двоичных модульных ошибок) двухвходовых сумматоров по модулю два 25.1 - 25.16, к первым входам которых подключены соответствующие выходы 14, а к вторым входам (за исключением первой схемы сравнения кодов) - выходы 15 блока 11 умножителей по модулю неприводимого многочлена, к вторым входам сумматоров по модулю два первой схемы сравнения кодов подключены соответствующие выходы 12 блока 10 вычисления синдрома, один т-входовый элемент ИЛИ-НЕ 26.1-26.4.
Блок 8 коррекции (фиг.З) состоит из кт 2-входовых сумматоров по модулю два 27.1 - 27.16 и к групп 2-входовых элементов И 28.1 -28.16 (в каждой группе по т элементов). К первым входам элементов И одной группы подключены соответствующие выходы 12 блока 10 вычисления синдрома, к вторым входам - выход соответствующего элемента ИЛИ-НЕ блока 13 схем сравнения кодов. Первые входы сумматоров по модулю два 27.1 - 27.16 связаны с выходами элементов И 28.1 - 28.16, вторые входы - с выходами 5.1-5Ί6 накопителя 1, а выходы 9.1-9.16 являются выходами устройства.
Блок 18 определения двукратной модульной ошибки (фиг.З) состоит из к-входового (в рассматриваемом примере к=4) элемента ИЛИ-НЕ 29. к входам которого' подключены выходы т-входовых элементов ИЛИ-НЕ блока 13, и 3-входового элемента И 30, первый вход которого связан с выходом элемента ИЛИ-НЕ 29. второй - с выходом элемента ИЛИ 16, третий - с-выходом элемента ИЛИ 17, а выход 20 является индикаторным выходом устройства.
Построение накопителя 1 ЗУ на основе БИС памяти т-разрядной (т=2, 4, 8, ... ) организацией. Выход из строя БИС ЗУ приводит к 2т-рззрядной пакетной ошибке, называемой модульной ошибкой.
Устройство позволяет корректировать однократные ошибки многозначных символов. При этом исправление 2т-ичного символа соответствует исправлению т-разрядной двоичной модульной ошибки.
кт-разрядному двоичному слову условно можно поставить в соответствие к-разрядное слово, символы которого принадлежат множеству М ={0.1,2-...,2т-1). При кодировании к-разрядных 2т _ичных слов многозначным (2щ-ичным) кодом Хемминга к к информационным разрядам присоединяют р контрольных разрядов
Э2 ... 31с С1 ... Ср, где р равно минимальному значению, удовлетворяющему соотношению
В этом случае проверочная матрица Н 2т-ичного кода Хемминга имеет размерность р (к+р). Столбцы проверочной матрицы Н, представляющие собой различные 2т-ичные наборы длины р, целесообразно выбирать так, чтобы в качестве первой ненулевой компоненты они содержали единицу. В этом случае обеспечивается линейная независимость столбцов, а также упрощается реализация кодера-декодера кода.
Проверочная матрица Н размерности р· (к+р) разделимого 2т-ичного кода Хемминга представляется в виде Η = Ηι ; I, где Ж подматрица размерности рк, 1 - единичная матрица размерности р-р. Элементами Ьц подматрицы Ηι являются элементы поля СР(2т), представляемые в виде полиномов степени не превышающей т, операции в поле выполняются по модулю неприводимого многочлена Рт(х) степени т.
Кодирование 2т-ичного слова Э1Э2 ... Эк состоит в Вычислении вектора проверочных символов С1С2 ... Ср по правилам
С| = а| Ьц тоб Рт(х).
1=1
Для вычисления С| необходимо задать операции сложения и умножения элементов поля по тоб Рт(х) и наиболее удобно это сделать в виде таблицы.
При т » 4 сложение и умножение элементов поля СР(24) выполняется по правилам, приведенным в табл. 1 и 2. в этом случае Ρί(χ) - х4 + х+1.
Сложение элементов поля СР(2т) осуществляется как поразрядное сложение по модулю два т-разрядных двоичных чисел, соответствующих складываемым элементам. Для умножения поля СР(2т) предлагается использовать специальные комбинационные схемы на основе сумматоров по модулю два. которые названы умножителями по модулю неприводимого многочлена степени т.
В табл.З приведены некоторые двоичные (т(к+р), т-к) коды, где т(к+р) - длина кодовых слов, тк - число информационных разрядов, т р - число контрольных разрядов. соответствующие 2т-ичным (к1р,к) кодам Хемминга, позволяющие использовать однократные т-разрядные модульные ошибки в устройствах памяти на основе БИС ЗУ с т-разрядной организацией (для сравнения приведены соответствующие двоичные коды Хемминга для т = 1).
Для уменьшения аппаратурных затрат и повышения быстродействия с реализацией указанных кодов, в качестве отличных от ноля и единицы элементов Пц подматрицы Ηι соответствующего 2т-ичного кода Хемминга выбраны элементы поля, комбинационная схема умножения на которые включает наименьшее число сумматоров по модулю два.
Построение накопителя на основе БИС памяти с 4-разрядной организацией (т = 4).
Реализация умножителей на г (г = 2,3,...15^ по модулю неприводимого многочлена хч+х+1 сопряжена с аппаратурными и временными затратами, приведенными в табл.4.
Таким образом, например, для·двоичного (24,16) кода, исправляющего однократные 4-разрядные модульные ошибки в качестве проверочной матрицы целесообразно выбрать матрицу
Н 24.16 = 1,1 111 1 0 ,7 1 1 2 4 9 0 0'/ а для (40,32) кода матрицу
Н 40.32 = 71 11 1 1 1 1 1 1 ОН Ϊ 1 2 3 4 5 8 9 13 0 1 Ч
При записи информации в ЗУ на вход 4 поступает к· т разрядное двоичное слово, которое условно разбивается на к т-разрядных групп, т-разрядная группа рассматривается как один 2т-ичный символ. В блоке 2 вычисления контрольных разрядов в соответствии с проверочной матрицей соответствующего 2т-ичного (к, р) кода Хемминга производится вычисление т р двоичных контрольных разрядов, к-т информационных разрядов кодового слова поступают на вход 5 накопителя 1, т-р контрольных разрядов с выхода 6 блока 2 через шинный формирователь 7 - на второй вход накопителя 1.
Π р и м е ρ 1. Пусть к = 16, т = 4 и на вход 4 поступает слово
2 34 16
1 0 0 1 0 0 1 0 1 1 0 1 1 1 1 ат аг аз ад !
Если блок вычисления контрольных разрядов реализован в соответствии с матрицей Н24.16. приведенной выше, то значения контрольных разрядов определяются в соответствии с уравнениями 1
С1 = апаг+аз+ад = 1100+1001+0110 + -)111 = =1100;
Сг = а1+аг-2+аз 4+ал 9 = 1100+61001) 2+(0110) '~9~
4+(1111)9 = 1100+0001+1011+1110 = 1000, 'Т 1 значение Сг формируется на выходах сумматоров 21.25-21,28.
В накопитель 1 поступает слово 1100100101101111 11001000
При чтении слова ν\Ζ из накопителя 1 его 2 информационная часть (к-т разрядов) поступает в блок 2, где производится вычисление новых значений контрольных разрядов, а контрольная часть (р-т разрядов) через шинный формирователь 7 поступает на пер- 2 вый вход блока 10 вычисления синдрома, на второй вход которого с выхода 6 блока 2 поступаютвновь вычисленные контрольные разряды. Вымисление синдрома' 5 ошибки состоит в( поразрядном сложении по моду- г лю два считанных из накопителя и новых контрольных разрядов, что описывается уравнением
5Т = МНТ.
Длина синдрома равна 2 т разрядов. 2 Первая часть 5ι синдрома (т разрядов) формируется на выходах 12, вторая часть Зг синдрома (5 = 5ι· Зг) формируется на выходах 14 блока 10 вычисления синдрома, тразрядный двоичный код первой части 5ι ζ синдрома поступает на входы умножителей блока 11умножителей по модулю неприводимого многочлена, где производится его умножёниена отличные от единицы элементы второй строки матрицы Н, 5ц = ηδι, I = =1-(к-1).
Для рассматриваемого примера 5ι умножается на 2, 4, 9 (фиг.З).
Возможные исходы декодирования приведены в табл.5. Е
Признаком отсутствия ошибок в считанном слове является равенство нулю синдрома ошибки. Если первая часть синдрома равна нулю (3ι ί* 0), а вторая часть отлична от нуля (Зг = 0), то принимается решение о Е наличии ошибки в контрольном разряде Сг. Когда 8ϊ 0, а Зг = 0 принимается решение о наличии ошибки в контрольном разряде Οι. Если 5ι + 0, Зг 0. а в блоке 13 схем сравнения кодов, где производится сравнение полученных 5ц с второй частью синдрома Зг. зафиксировано равенство )-й схемой сравнения кодов, то принимается решение 5 о наличии ошибки в |-й т-разрядной группе разрядов считанного слова (в )-м многозначном символе). В этом случае величиной ошибки является первая часть синдрома, коррекция ошибки осуществляется путем 10 поразрядного сложения по модулю два дво= ичного т-разрядного кода 5ι с т-разрядным кодом искаженной )-й группы разрядов.
Если 5ι =4), Зг 5^0 и ни одна из схем сравнения кодов блока 13 не зафиксировала равенства 5ц и Зг. то принимается решение 15 о наличии двукратной модульной ошибки в этом случае искажены две т-разрядные группы считанного слова.
Пример 2 . Пусть при чтении ранее записанного в накопитель 1 слова получено 20 1 1 0 0 1 1 1 1 0 1 1 0 1 1 1 1 1 1 0 0 1 0 0 0 а 1 а2 аз а4 С1 Сг
В блоке 2 вычисления контрольных разрядов производится определение новых значений контрольных разрядов:
25 С| = а1+аг+зз+Э4 = 1100 + 1111 + 0110 + 1111 = 1010;
= а1+аг-2+аз'4+а4* 9 = 1100+(1111)' 2+(0110) 4+(1111) 9 = 1100+1101 + 1011 + 30 + 1110 = 0100.
Синдром 5 ошибки равен 5 = Сц Сг + сЪ С^= 11001000+1010 0100= = 0110110,0 ^1 Зг
В блоке 11 умножителей по модулю неприводимого многочлена на выходах схем 22 -24 получаем соответственно Зп = 5ι--2 =(0110)2 = 1100;
5ΐ2 = 5ι* 4=(0110) 4=1011:
5ΐ3 = 5ι- 9 = (0110) 9 = 0011.
Полученные 5ц, а также 5ι сравниваются с Зг. Поскольку 5ц = Зг. то сигнал на выходе 19.2 элемента ИЛИ-НЕ 26.2 свидетельствует о наличии ошибки в символе аг (во второй т-разрядной группе считанного. слова). Коррекция ошибки состоит в поразрядном сложении по модулю два двоичного кода символа аг и двоичного кода первой части синдрома 5ι;
аг + 51 = 1111+0110= 1001.
Таким образом, на выходы 9.1-9.16 устройства поступает слово
1100 1001 0110 1111.

Claims (1)

  1. 55 Формулаиэобретения
    Запоминающее устройство с коррекцией модульных ошибок, содержащее накопитель, первый вход-выход которого соединен с входом блока вычисления конт9 рольных разрядов, с первым входом блока коррекции и является информационным входом устройства, выход блока коррекции является информационным выходом устройства, блок вычисления контрольных раз- 5 рядов, первый элемент ИЛИ, вход которого соединен с первым выходом блока вычисления синдрома, отличающееся тем, что, с целью упрощения устройства, повышения его быстродействия и достоверности 10 выдаваемой информации, в него введены шинный формирователь, блок умножения по модулю неприводимого многочлена, блок схем сравнения кодов, второй элемент ИЛИ, блок определения двукратной модуль- 15 ной ошибки, первый вход шинного формирователя соединен с выходом блока вычисления контрольных разрядов, второй вход соединен с вторым входом-выходом накопителя, а выход шинного формировате- 20 ля соединен с вторым входом блока вычисления синдрома, второй выход которого соединен с выходом второго элемента ИЛИ и с первым входом схем сравнения кодов, второй вход которого соединен с выходом блока умножителей по модулю неприводимого многочлена, вход которого соединен с первым выходом блока вычисления синдрома, с вторым входом блока коррекции и с третьим входом блока схем сравнения кодов, выход которого соединен с третьим входом блока коррекции и с первым входом блока определения двукратной модульной ошибки, второй и третий входы которого соединены с выходами первого и второго элементов ИЛИ соответственно, а выход блока определения двукратной модульной ошибки является контрольным выходом устройства.
SU884362757A 1988-01-11 1988-01-11 Зaпomиhaющee уctpoйctbo c koppekциeй moдульhыx oшибok SU1660054A1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU884362757A SU1660054A1 (ru) 1988-01-11 1988-01-11 Зaпomиhaющee уctpoйctbo c koppekциeй moдульhыx oшибok

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU884362757A SU1660054A1 (ru) 1988-01-11 1988-01-11 Зaпomиhaющee уctpoйctbo c koppekциeй moдульhыx oшибok

Publications (1)

Publication Number Publication Date
SU1660054A1 true SU1660054A1 (ru) 1991-06-30

Family

ID=21349354

Family Applications (1)

Application Number Title Priority Date Filing Date
SU884362757A SU1660054A1 (ru) 1988-01-11 1988-01-11 Зaпomиhaющee уctpoйctbo c koppekциeй moдульhыx oшибok

Country Status (1)

Country Link
SU (1) SU1660054A1 (ru)

Similar Documents

Publication Publication Date Title
EP0167627B1 (en) Method and apparatus for decoding error correction code
US3745526A (en) Shift register error correcting system
US5715262A (en) Errors and erasures correcting reed-solomon decoder
US4402045A (en) Multi-processor computer system
US4335458A (en) Memory incorporating error detection and correction
EP0329789B1 (en) Galois field arithmetic unit
KR20070103734A (ko) 에러 바이트 수를 제한한 바이트 내 복수개 스포티 바이트에러 정정ㆍ검출 방법 및 장치
US4473902A (en) Error correcting code processing system
US5778009A (en) Dedicated ALU architecture for 10-bit Reed-Solomon error correction module
EP0061345A2 (en) Processing circuits for operating on digital data words which are elements of a Galois field
CA1291819C (en) Decoder
EP0621698A2 (en) Error correction method including erasure correction, and apparatus therefore
JPH0831806B2 (ja) エラー訂正方法
US3714629A (en) Double error correcting method and system
US3745525A (en) Error correcting system
US5396502A (en) Single-stack implementation of a Reed-Solomon encoder/decoder
US5459740A (en) Method and apparatus for implementing a triple error detection and double error correction code
US5107506A (en) Error trapping decoding method and apparatus
CN110908827A (zh) 用于NAND Flash闪存纠错的并行BCH解码方法
US8739006B2 (en) Reduced circuit implementation of encoder and syndrome generator
KR960016509B1 (ko) 데이타 오류 검출 방법 및 검출 회로
USRE28923E (en) Error correction for two bytes in each code word in a multi-code word system
US7100103B2 (en) Efficient method for fast decoding of BCH binary codes
US4519079A (en) Error correction method and apparatus
SU1660054A1 (ru) Зaпomиhaющee уctpoйctbo c koppekциeй moдульhыx oшибok