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 PDFInfo
- 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
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)
- 55 ФормулаиэобретенияЗапоминающее устройство с коррекцией модульных ошибок, содержащее накопитель, первый вход-выход которого соединен с входом блока вычисления конт9 рольных разрядов, с первым входом блока коррекции и является информационным входом устройства, выход блока коррекции является информационным выходом устройства, блок вычисления контрольных раз- 5 рядов, первый элемент ИЛИ, вход которого соединен с первым выходом блока вычисления синдрома, отличающееся тем, что, с целью упрощения устройства, повышения его быстродействия и достоверности 10 выдаваемой информации, в него введены шинный формирователь, блок умножения по модулю неприводимого многочлена, блок схем сравнения кодов, второй элемент ИЛИ, блок определения двукратной модуль- 15 ной ошибки, первый вход шинного формирователя соединен с выходом блока вычисления контрольных разрядов, второй вход соединен с вторым входом-выходом накопителя, а выход шинного формировате- 20 ля соединен с вторым входом блока вычисления синдрома, второй выход которого соединен с выходом второго элемента ИЛИ и с первым входом схем сравнения кодов, второй вход которого соединен с выходом блока умножителей по модулю неприводимого многочлена, вход которого соединен с первым выходом блока вычисления синдрома, с вторым входом блока коррекции и с третьим входом блока схем сравнения кодов, выход которого соединен с третьим входом блока коррекции и с первым входом блока определения двукратной модульной ошибки, второй и третий входы которого соединены с выходами первого и второго элементов ИЛИ соответственно, а выход блока определения двукратной модульной ошибки является контрольным выходом устройства.
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) |
-
1988
- 1988-01-11 SU SU884362757A patent/SU1660054A1/ru active
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 |