RU2037271C1 - Error-correcting device - Google Patents

Error-correcting device Download PDF

Info

Publication number
RU2037271C1
RU2037271C1 SU4951591A RU2037271C1 RU 2037271 C1 RU2037271 C1 RU 2037271C1 SU 4951591 A SU4951591 A SU 4951591A RU 2037271 C1 RU2037271 C1 RU 2037271C1
Authority
RU
Russia
Prior art keywords
output
input
block
locator
flag
Prior art date
Application number
Other languages
Russian (ru)
Inventor
А.А. Агренич
В.Г. Волобуев
А.Н. Горбунов
Original Assignee
Агренич Александр Александрович
Волобуев Владимир Георгиевич
Горбунов Александр Николаевич
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 Агренич Александр Александрович, Волобуев Владимир Георгиевич, Горбунов Александр Николаевич filed Critical Агренич Александр Александрович
Priority to SU4951591 priority Critical patent/RU2037271C1/en
Application granted granted Critical
Publication of RU2037271C1 publication Critical patent/RU2037271C1/en

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

FIELD: computer engineering. SUBSTANCE: device has five registers, buffer register, buffer exchange unit, three buffer units, syndrome generator, two flag registers, erase counter, two locator storage units, locator generator, locator multiplexer, flag controller, locator address controller, buffer flag unit, buffer locator unit, zero-signal detector, analysis register, five multiplexers, main storage unit, adder, arithmetic and logical unit, two comparators, constants storage unit, coder, instruction converter, synchronizing unit, instruction storage unit, instruction register, operating bus, data bus, flag-signal bus, control input, correction address output, control output, check output, synchronization bus, control bus. Device functions to encode or decode accepted words arriving over data bus and in decoding them it can correct as many as two errors within one word or to erase erroneous latters. Device can process contiguous data flow. EFFECT: improved informative capacity and simplified design. 7 dwg, 1 tbl

Description

Изобретение относится к вычислительной технике и может быть использовано в системах помехозащищенного кодирования и декодирования, в частности в оптических дисковых запоминающих устройствах. The invention relates to computer technology and can be used in noise-encoding and decoding systems, in particular in optical disk storage devices.

Известна система, корректирующая ошибки [1] Она содержит генератор синдромов, блок оперативной памяти, генератор локаторов и вычислительное устройство, включающее арифметико-логический блок, сумматор по модулю два, регистры обмена, мультиплексоры, ПЗУ логарифмов и антилогарифмов, схему управления. Система производит вычисление и исправление до двух ошибок в кодовом слове. Ее основным отличительным признаком является генератор локаторов, выполняющий функцию вычисления локаторов ошибок и обратной величины суммы этих локаторов методом последовательной подстановки их значений в следующие уравнения:
f(x) x2 + λ 1x + λ 2 0 и
Sm αφ ( αi + αj) α32m, где λ 1 αi + αj;
λ 2 αi˙ αj;
Sm модифицированный синдром ошибок.
A known error-correcting system [1] It contains a syndrome generator, a random access memory block, a locator generator and a computing device including an arithmetic-logical unit, an adder modulo two, exchange registers, multiplexers, ROM of logarithms and antilogarithms, a control circuit. The system calculates and corrects up to two errors in the codeword. Its main distinguishing feature is the locator generator, which performs the function of computing error locators and the reciprocal of the sum of these locators by sequentially substituting their values in the following equations:
f (x) x 2 + λ 1 x + λ 2 0 and
S m α φi + α j ) α 32m , where λ 1 α i + α j ;
λ 2 α i ˙ α j ;
S m modified error syndrome.

Однако системе присущи следующие недостатки: она не позволяет корректировать стирания, т. е. непригодна для процедуры кодирования, сложность генератора локаторов и вычислительного устройства, большое количество шагов при нахождении обратного элемента. However, the system has the following disadvantages: it does not allow you to correct erasures, i.e., it is unsuitable for the encoding procedure, the complexity of the locator generator and the computing device, and a large number of steps when finding the inverse element.

Известна схема декодера Рида-Соломона [2] Она содержит генератор синдромов, генератор локаторов стираний, ПЗУ логарифмов, антилогарифмов и корней квадратного уравнения, ПЗУ команд, блок оперативной памяти, схему управления и вычислительное устройство, включающее арифметико-логический блок, регистры обмена и мультиплексоры. Схема производит вычисление и исправление любых комбинаций ошибок и стираний, удовлетворяющих следующему неравенству:
2 ν + 1 ≅ d l, где d кодовое расстояние Хемминга;
ν количество ошибок в кодовом слове;
l количество стираний в кодовом слове.
Known Reed-Solomon decoder circuit [2] It contains a generator of syndromes, a generator of erasure locators, ROM of logarithms, antilogarithms and roots of a quadratic equation, ROM of commands, a RAM block, a control circuit and a computing device including an arithmetic logic unit, exchange registers and multiplexers . The scheme calculates and corrects any combinations of errors and erasures that satisfy the following inequality:
2 ν + 1 ≅ dl, where d is the Hamming code distance;
ν number of errors in the codeword;
l the number of erasures in the codeword.

Однако схеме присущи следующие недостатки: вычислительное устройство содержит ПЗУ с большой избыточностью, операции сложения и умножения-деления несовмещены, что приводит к применению ПЗУ команд емкостью более 1 кбайта, процесс коррекции при декодировании выполняется за большое количество шагов, декодер требует сложной схемы управления. However, the following drawbacks are inherent in the circuit: the computing device contains ROM with high redundancy, the operations of addition and multiplication-division are not aligned, which leads to the use of ROM commands with a capacity of more than 1 kbyte, the correction process during decoding is performed in a large number of steps, the decoder requires a complex control circuit.

Известна система, корректирующая ошибки [3] являющаяся наиболее близким техническим решением к изобретению по принципу действия и достигаемому результату. Она предназначена для использования в помехозащищенных цифровых системах, работающих с применением кодов Рида-Соломона. Система содержит генератор синдромов, блок оперативной памяти, детектор нулевого сигнала, ПЗУ логарифмов и антилогарифмов локаторов, контроллер флагов, схемы управления, генератор адреса команд со схемой управления, ПЗУ команд, регистр обмена коррекции, генератор локаторов, счетчик стираний, вычислительное устройство, включающее арифметико-логический блок, оперативные регистры, ПЗУ логарифмов и антилогарифмов (или ПЗУ обратного элемента, если в качестве арифметико-логического блока используется быстрый умножитель) и сумматор по модулю два. A known system for correcting errors [3] is the closest technical solution to the invention according to the principle of action and the achieved result. It is intended for use in jamming digital systems using Reed-Solomon codes. The system contains a syndrome generator, a RAM block, a zero signal detector, ROM of logarithms and antilogarithms of locators, a flag controller, control circuits, a command address generator with a control circuit, ROM of commands, a correction exchange register, a locator generator, an erase counter, and a computing device that includes arithmetic -logic block, operational registers, ROM of logarithms and antilogarithms (or ROM of the inverse element, if a fast multiplier is used as an arithmetic-logical block) and adder by module two.

Система по вычисленным синдромам ошибок и по сопровождающим кодовые слова флагам выполняет операции вычисления локаторов ошибок и стираний, значений ошибок и коррекцию символов. Причем исправляющая возможность системы ограничена выражением 2 ν + l ≅ d l. Все выше указанные операции в данной системе выполняются не более чем за 100 шагов и требуют для этого объем ПЗУ команд в 384 слова (каждое слово содержит не менее 9 бит). The system computes errors and erasure locators, error values and character correction using the calculated error syndromes and the flags accompanying the code words. Moreover, the correcting ability of the system is limited by the expression 2 ν + l ≅ d l. All the above operations in this system are performed in no more than 100 steps and require for this the volume of ROM commands in 384 words (each word contains at least 9 bits).

Однако системе присущи следующие недостатки: большое количество ПЗУ-таблиц, необходимых для преобразований в поле Галуа (28), сложность контроллера флагов и схемы управления генератором адреса команд, нерациональное использование объема ПЗУ команд.However, the following disadvantages are inherent in the system: a large number of ROM tables needed for conversions to the Galois field (2 8 ), the complexity of the flag controller and the control circuit of the command address generator, and the irrational use of the volume of ROM commands.

Целью изобретения является повышение информационной емкости устройства и его упрощение. The aim of the invention is to increase the information capacity of the device and its simplification.

Цель достигается тем, что в устройство, включающее генератор синдромов, первый буферный блок, первый регистр флага, счетчик стираний, первый блок памяти локаторов, буферный блок локаторов, буферный блок флагов, блок памяти команд, регистр команд, блок оперативной памяти и детектор нулевого сигнала, арифметико-логический блок, первый компаратор, информационную шину, операционную шину и шину флаговых сигналов, введены блок синхронизации, первый-пятый регистры, буферный регистр, буферный блок обмена, второй и третий буферные блоки, генератор локаторов, мультиплексор локаторов, контроллер адреса локаторов, контроллер флага, второй регистр флага, преобразователь команд, блок памяти констант, сумматор, регистр анализа, шифратор, второй компаратор и первый-пятый мультиплексоры, при этом управляющие входы блока памяти констант, арифметико-логического блока, блока оперативной памяти, первого-пятого мультиплексоров, третьего-пятого регистров, регистра анализа, третьего буферного блока, первого и второго компараторов и шифратора объединены и подключены к управляющей шине, управляющий выход преобразователя команд подключен к управляющей шине, адресный выход преобразователя команд соединен с адресным входом блока оперативной памяти, выход которого подключен к информационным входам первого и третьего мультиплексоров, выход арифметико-логического блока подключен к второму информационному входу третьего мультиплексора, второй информационный вход которого соединен с выходом арифметико-логического блока, выход которого подключен к адресному входу блока памяти констант, выход которого соединен с первым информационным входом второго мультиплексора, второй информационный вход которого объединен с вторым информационным входом первого мультиплексора и подключен к выходу пятого мультиплексора, выход второго мультиплексора подключен к входу блокировки сумматора и к информационным входам третьего и четвертого регистров, выходы которых соединены соответственно с первым и вторым входами арифметико-логического блока и информационными входами первого и второго компараторов, выходы которых подключены к блокирующим входам сумматора, первый вход которого соединен с выходом третьего регистра, а выход подключен к информационному входу блока оперативной памяти, первому информационному входу четвертого мультиплексора и входу детектора нулевого сигнала, выход которого соединен с входом регистра анализа, выход которого подключен к второму информационному входу четвертого мультиплексора, выход которого соединен с входом третьего буферного блока, выход которого подключен к операционной шине, выход первого буферного блока, первый информационный вход пятого мультиплексора, выход буферного блока локаторов, первый вход мультиплексора локаторов, первый вход контроллера флагов и первый вход-выход буферного блока обмена подключены к операционной шине, второй вход-выход буферного блока обмена соединен с входом буферного регистра и выходом первого регистра, вход которого объединен с выходами буферного регистра и второго буферного блока, с входом второго регистра и подключен к информационной шине устройства, выход второго регистра соединен с входами второго буферного блока и генератора синдромов, выход которого подключен к входу первого буферного блока, управляющий вход которого объединен с управляющими входами генератора синдромов, буферного блока локаторов, шифратора, контроллера флага, преобразователя команд и выходом регистра команд, вход которого подключен к выходу блока памяти команд, управляющий вход которого подключен к первому управляющему выходу контролера флага, второй управляющий выход которого подключен к управляющему входу контроллера адреса локаторов, третий управляющий выход является управляющим выходом устройства, управляющий выход преобразователя команд подключен к управляющему входу контроллера флага, вход флага которого подключен к выходу второго регистра флага, а выход флага является контрольным выходом устройства и соединен с входом буферного блока флага, выход которого, а также входы первого и второго регистров флага подключены к шине флагового сигнала устройства, выход первого регистра флага соединен с управляющими входами первого блока памяти локаторов и счетчика стираний, выход которого подключен к второму информационному входу контроллера флага и адресному входу первого блока памяти локаторов, информационный вход которого соединен с выходом генератора локаторов, а выход подключен к второму входу мультиплексора локаторов, выход которого соединен с информационным входом второго блока памяти локаторов, адресный и управляющий входы которого подключены к соответствующим выходам контроллера адреса локаторов, а информационный выход соединен с информационным входом буферного блока локаторов и является выходом адреса коррекции устройства, выход шифратора подключен к второму информационному входу пятого мультиплексора, управляющий вход блока синхронизации является входом устройства, управляющий и адресный выходы блока синхронизации подключены к шине синхронизации и адресному входу блока памяти команд. The goal is achieved in that in a device including a syndrome generator, a first buffer block, a first flag register, an erase counter, a first locator memory block, a locator buffer block, a flag buffer block, a command memory block, a command register, random access memory block and a zero signal detector , arithmetic logic unit, first comparator, information bus, operating bus and flag signal bus, synchronization block, first to fifth registers, buffer register, buffer exchange block, second and third buffer blocks, generator locators, locator multiplexer, locator address controller, flag controller, second flag register, command converter, constant memory block, adder, analysis register, encoder, second comparator and first to fifth multiplexers, while the control inputs of the constant memory block, arithmetic-logical block , the RAM block, the first to fifth multiplexers, the third to fifth registers, the analysis register, the third buffer block, the first and second comparators and the encoder are combined and connected to the control bus, The output of the command converter is connected to the control bus, the address output of the command converter is connected to the address input of the RAM block, the output of which is connected to the information inputs of the first and third multiplexers, the output of the arithmetic-logic block is connected to the second information input of the third multiplexer, the second information input of which is connected with the output of the arithmetic-logical unit, the output of which is connected to the address input of the constant memory block, the output of which is connected to the first information the input of the second multiplexer, the second information input of which is combined with the second information input of the first multiplexer and connected to the output of the fifth multiplexer, the output of the second multiplexer is connected to the blocking input of the adder and to the information inputs of the third and fourth registers, the outputs of which are connected respectively to the first and second inputs of arithmetic -logic block and information inputs of the first and second comparators, the outputs of which are connected to the blocking inputs of the adder, the first input of which the second is connected to the output of the third register, and the output is connected to the information input of the RAM block, the first information input of the fourth multiplexer and the input of the zero signal detector, the output of which is connected to the input of the analysis register, the output of which is connected to the second information input of the fourth multiplexer, the output of which is connected to the input of the third buffer block, the output of which is connected to the operating bus, the output of the first buffer block, the first information input of the fifth multiplexer, the output of the buffer about the locator block, the first input of the locator multiplexer, the first input of the flag controller and the first input-output of the buffer exchange unit are connected to the operating bus, the second input-output of the buffer exchange unit is connected to the input of the buffer register and the output of the first register, the input of which is combined with the outputs of the buffer register and the second buffer block, with the input of the second register and connected to the information bus of the device, the output of the second register is connected to the inputs of the second buffer block and the syndrome generator, the output of which is connected to the first buffer block, the control input of which is combined with the control inputs of the syndrome generator, the locator buffer block, the encoder, the flag controller, the command converter and the output of the command register, the input of which is connected to the output of the command memory block, the control input of which is connected to the first control output of the flag controller , the second control output of which is connected to the control input of the locator address controller, the third control output is the control output of the device, the control output the command generator is connected to the control input of the flag controller, the flag input of which is connected to the output of the second flag register, and the flag output is the control output of the device and connected to the input of the flag flag block, the output of which, as well as the inputs of the first and second flag registers are connected to the flag signal bus devices, the output of the first flag register is connected to the control inputs of the first locator memory block and the erase counter, the output of which is connected to the second information input of the flag controller and the address the first input of the locator memory block, the information input of which is connected to the output of the locator generator, and the output is connected to the second input of the locator multiplexer, the output of which is connected to the information input of the second locator memory, the address and control inputs of which are connected to the corresponding outputs of the locator address controller, and the information output is connected to the information input of the locator buffer block and is the output of the device correction address, the encoder output is connected to the second information the input of the fifth multiplexer, the control input of the synchronization block is the input of the device, the control and address outputs of the synchronization block are connected to the synchronization bus and the address input of the command memory block.

Сопоставительный анализ с прототипом показывает, что заявляемое устройство отличается измененными связями элементов схемы, а также наличием новых элементов, а именно блока синхронизации, первого-пятого регистров, буферного регистра, буферного блока обмена, второго и третьего буферных блоков, генератора локаторов, мультиплексора локаторов, контроллера адреса локаторов, контроллера флага, второго регистра флага, преобразователя команд, блока памяти констант, сумматора, регистра анализа, шифратора, второго компаратора и первого-пятого мультиплексоров. Comparative analysis with the prototype shows that the claimed device is characterized by altered connections of circuit elements, as well as the presence of new elements, namely, a synchronization block, the first to fifth registers, a buffer register, a buffer exchange unit, a second and third buffer blocks, a locator generator, a locator multiplexer, locator address controller, flag controller, second flag register, command converter, constant memory block, adder, analysis register, encoder, second comparator and first to fifth m ltipleksorov.

Новая совокупность признаков позволяет применить модифицированный алгоритм декодера Рида-Соломона, который описан далее. За счет этого в заявляемом устройстве по сравнению с прототипом удалось уменьшить количество таблиц преобразований в поле Галуа(28) и объем ПЗУ команд, а также упростилась процедура анализа результатов промежуточных вычислений. Все указанное выше позволяет повысить эффективность устройства и упростить его реализацию.The new set of features allows the use of a modified Reed-Solomon decoder algorithm, which is described later. Due to this, in the inventive device, in comparison with the prototype, it was possible to reduce the number of conversion tables in the Galois field (2 8 ) and the volume of ROM commands, as well as simplified the procedure for analyzing the results of intermediate calculations. All of the above can improve the efficiency of the device and simplify its implementation.

Сравнение заявленного технического решения с прототипом позволило установить соответствие критерию "новизна". При изучении других известных технических решений в данной области техники признаки, отличающие изобретение от прототипа, не были выявлены, поэтому они обеспечивают заявляемому техническому решению соответствие критерию "существенные отличия". Comparison of the claimed technical solution with the prototype made it possible to establish compliance with the criterion of "novelty." In the study of other well-known technical solutions in this technical field, signs that distinguish the invention from the prototype were not identified, therefore, they provide the claimed technical solution according to the criterion of "significant differences".

На фиг. 1 изображена диаграмма процедуры кодирования; на фиг. 2 диаграмма процедуры декодирования; на фиг. 3 структурная схема CIRC-декодера; на фиг. 4 алгоритм вычисления ошибок; на фиг. 5 алгоритм вычисления стираний; на фиг. 6 структурная схема заявляемого устройства, корректирующего ошибки; на фиг. 7 структура командного слова. In FIG. 1 is a diagram of a coding procedure; in FIG. 2 diagram of the decoding procedure; in FIG. 3 block diagram of a CIRC decoder; in FIG. 4 algorithm for calculating errors; in FIG. 5 erasure calculation algorithm; in FIG. 6 is a structural diagram of the inventive device, correcting errors; in FIG. 7 command word structure.

На фиг. 1 и 2 представлен один из вариантов реализации процедуры кодирования и декодирования для перекрестно-перемежаемых кодов Рида-Соломона (CIRC). In FIG. 1 and 2 show one embodiment of an encoding and decoding procedure for cross-interleaved Reed-Solomon codes (CIRC).

В CIRC-кодере, процедура обработки информации в котором изображена на фиг. 1, выполняется двойное кодирование посредством применения кодов Рида-Соломона. Для этого к 24 информационным символам Wi, прошедшим через перемежитель 1, добавляются в кодере 2 четыре проверочных символа Q0.Q3. Далее вновь организованное кодовое слово, пропущенное через перемежитель 3 (D кратность величины задержки информации), повторно кодируется в кодере 4, в результате чего к информации добавляется еще четыре проверочных символа P0. P3. Выходным кодовым словом является слово, полученное в результате прохождения закодированной в кодере 4 информации через перемежитель 5. In a CIRC encoder, the information processing procedure of which is shown in FIG. 1, double coding is performed by applying Reed-Solomon codes. For this, to the 24 information symbols Wi passed through the interleaver 1, four verification symbols Q0.Q3 are added to the encoder 2. Next, the newly organized codeword passed through the interleaver 3 (D is the multiplicity of the amount of information delay) is re-encoded in the encoder 4, as a result of which four more check characters P0 are added to the information. P3. The output codeword is the word obtained by passing the information encoded in the encoder 4 through the interleaver 5.

В CIRC-декодере, процедура обработки информации в котором изображена на фиг. 2, происходит обратное перемежение кодового слова соответственно в перемежителях 6, 8, и 10. Одновременно с этим производится двойное декодирование CIRC-кода в декодерах 7 и 9, в результате чего корректируются возможные ошибки. После коррекции соответствующие проверочные символы отбрасываются. На выходе декодера получают исходные информационные символы Wi. In a CIRC decoder, the information processing procedure of which is shown in FIG. 2, the codeword is alternately interleaved in interleavers 6, 8, and 10. At the same time, the CIRC code is decoded twice in decoders 7 and 9, as a result of which possible errors are corrected. After correction, the corresponding check characters are discarded. At the decoder output, the original Wi information symbols are obtained.

Структурная схема кодека, обеспечивающая вышеуказанные процедуры кодирования и декодирования, представлена на фиг. 3. CIRC-кодек состоит из контроллера 14 управления, контроллера 16 памяти, блока 17 оперативной памяти и заявляемого устройства 15, корректирующего ошибки. По входу 11 кодека поступают синхросигналы, поддерживающие его работу и обеспечивающие согласованную работу кодека с внешними устройствами. При этом контроллер 14 управления формирует на выходах 18 и 19 сигналы приема и передачи информации, пересылаемой через входы-выходы 12 и 13 между внешними устройствами и внутренними шинами (информационной BD и флага BFL). Контроллер управления формирует также необходимые сигналы управления для устройства 15 и контроллера 16 памяти. Процедуры обработки информации производятся в блоке 17 оперативной памяти по специально сформированным адресам и управляющим сигналам, поступающим из контроллера 16 памяти. Для каждой из элементов процедуры обработки в блоке 17 памяти организованы соответствующие области памяти. Пересылка информации из области в область памяти поддерживается по шинам BD и BFL устройством 15. Одновременно устройство 15 выполняет функции кодеров 2 и 4 (см. фиг. 1) и декодеров 7 и 9 (см. фиг. 2), для чего оно производит обработку информации, поступающей по шинам BD и BFL. В результате устройство 15 вычисляет значения ошибок и их локаторов. По вычисленным значениям локаторов, поступающих на адресный вход контроллера 16 флага, вызываются из блока 17 памяти соответствующие месту этих локаторов ошибочные символы. После коррекции их в устройстве 15 исправленные символы заносятся в исходное место блока 17 памяти. Одновременно происходит изменение состояния сопровождающих кодовое слово флагов посредством выдачи на шину BFL во время перезаписи информации в блоке 17 памяти соответствующего значения флага. A block diagram of a codec providing the above encoding and decoding procedures is shown in FIG. 3. The CIRC codec consists of a control controller 14, a memory controller 16, a random access memory block 17, and an inventive error correction device 15. The input 11 of the codec receives the clock signals that support its operation and ensure the coordinated operation of the codec with external devices. In this case, the control controller 14 generates at the outputs 18 and 19 signals for receiving and transmitting information sent through inputs and outputs 12 and 13 between external devices and internal buses (information BD and BFL flag). The control controller also generates the necessary control signals for the device 15 and the memory controller 16. Information processing procedures are performed in the RAM block 17 at specially formed addresses and control signals coming from the memory controller 16. For each of the elements of the processing procedure in the block 17 memory organized by the corresponding memory area. The transfer of information from region to region of memory is supported on the BD and BFL buses by device 15. At the same time, device 15 performs the functions of encoders 2 and 4 (see Fig. 1) and decoders 7 and 9 (see Fig. 2), for which it performs processing information received on the BD and BFL buses. As a result, device 15 calculates error values and their locators. According to the calculated values of the locators arriving at the address input of the flag controller 16, erroneous characters corresponding to the location of these locators are called from the memory block 17. After correcting them in the device 15, the corrected characters are entered in the initial place of the memory block 17. At the same time, the state of the flags accompanying the code word changes by issuing to the BFL bus during overwriting the information in the memory unit 17 the corresponding flag value.

В заявляемом устройстве, корректирующем ошибки, режим кодирования соответствует режиму декодирования с коррекцией стираний, т.е. ошибок с заранее известными значениями локаторов. Таким образом в заявляемом устройстве функции кодера 4 и декодера 7 выполняет декодер CI, совмещенный с декодером СII, выполняющим функции кодера 2 и декодера 9. Отличие декодеров СI и CII заключается в длине обрабатываемого кодового слова. In the inventive error-correcting device, the encoding mode corresponds to the decoding mode with erasure correction, i.e. errors with previously known locator values. Thus, in the inventive device, the functions of the encoder 4 and decoder 7 are performed by the decoder CI, combined with the decoder CII, performing the functions of the encoder 2 and decoder 9. The difference between the decoders CI and CII lies in the length of the processed code word.

Работа заявляемого устройства будет понята из следующего описания. The operation of the claimed device will be understood from the following description.

Все операции в устройстве производятся над полем Галуа GF(28). В устройстве используется код Рида-Соломона длиной, удовлетворяющей следующему неравенству:
n ≅ (28 1). причем число информационных символов в коде соответствует следующему значению:
k n 2t, где 2t количество проверочных символов в кодовом слове.
All operations in the device are performed on the Galois field GF (2 8 ). The device uses a Reed-Solomon code with a length satisfying the following inequality:
n ≅ (2 8 1). moreover, the number of information symbols in the code corresponds to the following value:
kn 2t, where 2t is the number of check characters in the codeword.

Для расстояния Хемминга данного кода
d 2t + 1 исправляющая возможность заявляемого устройства ограничена следующим неравенством:
2 ν + l ≅ d l, где ν количество ошибок;
l количество стираний.
For the Hamming distance of a given code
d 2t + 1 corrective ability of the claimed device is limited by the following inequality:
2 ν + l ≅ dl, where ν is the number of errors;
l number of erasures.

Порождающий многочлен имеет вид
g(x) (x+ αmo) (x+ αmo+1) (x+ αmo+2).
The generating polynomial has the form
g (x) (x + α m o +) (x + α m o + 1 ) (x + α m o + 2 ).

(x+ αmo+2+1).(x + α m o + 2 + 1 ).

Кодовое слово, представленное в полиномиальном виде,
V(x) Vo + V1x +V2x2 + +Vn-1xn-1, делится на g(x), т.е.
Polynomial codeword
V (x) V o + V 1 x + V 2 x 2 + + V n-1 x n-1 , divided by g (x), i.e.

V(x) (mod g(x)) 0. V (x) (mod g (x)) 0.

Принятое слово, подлежащее декодированию, можно представить как
С(x) Co + C1x + C2x2 + +Cn-1 xn-1, причем
С(x) (mod g(x)) [V(x) + E(x)] (mod g(x)) E(x).
The received word to be decoded can be represented as
C (x) C o + C 1 x + C 2 x 2 + + C n-1 x n-1 , and
C (x) (mod g (x)) [V (x) + E (x)] (mod g (x)) E (x).

При этом полином ошибок E(x) для ошибок можно представить в виде
E(x)

Figure 00000001
ejxij (0≅j≅n-1)
Из полинома ошибок E(x) получают синдромы ошибок Sm в виде
Sm- C(
Figure 00000002
)= E(
Figure 00000003
)
Figure 00000004
e
Figure 00000005
(0≅ m≅ 2t-1).Moreover, the error polynomial E (x) for errors can be represented as
E (x)
Figure 00000001
e j x ij (0≅j≅n-1)
From the error polynomial E (x), the error syndromes S m are obtained in the form
S m - C (
Figure 00000002
) = E (
Figure 00000003
)
Figure 00000004
e
Figure 00000005
(0≅ m≅ 2t-1).

В общем виде полином синдромов имеет вид
S(x)

Figure 00000006
Sixi
Через полученные синдромы в процессе декодирования вычисляют коэффициенты многочлена локаторов (х), имеющего вид
Λ(x)
Figure 00000007
(1+Xjx)
Figure 00000008
xj, где Xj локатор ошибок или стираний.In general, the polynomial syndromes has the form
S (x)
Figure 00000006
S i x i
Through the obtained syndromes in the decoding process, the coefficients of the locator polynomial (x) are calculated, having the form
Λ (x)
Figure 00000007
(1 + X j x)
Figure 00000008
x j , where X j is the error or erasure locator.

Коэффициенты могут быть вычислены из выражения
Sm+ν + λ1 Sm+ν-1+ + λν-1 Sm+1 + λν Sm 0, (1) где m 0.( ν -1).
Odds can be calculated from the expression
S m + ν + λ 1 S m + ν-1 + + λ ν-1 S m + 1 + λ ν S m 0, (1) where m 0. (ν -1).

Значения локаторов ошибок X находят при решении уравнения
λ (x) 0.
The values of the error locators X are found when solving the equation
λ (x) 0.

После вычисления локаторов ошибок значения самих ошибок находят из решения следующего уравнения:
Ω(x) S(x) Λ(x) (mod x2+)

Figure 00000009
ejX
Figure 00000010
(1+Xix) где e значение ошибки, которое можно представить в виде
ej λ (Xj) * Xj -mo+1 /λ (Xj) для каждого конкретного локатора.After calculating the error locators, the values of the errors themselves are found from the solution of the following equation:
Ω (x) S (x) Λ (x) (mod x 2+ )
Figure 00000009
e j X
Figure 00000010
(1 + X i x) where e is the error value, which can be represented as
e j λ (X j ) * X j -m o +1 / λ (X j ) for each specific locator.

Для случая t=2 и m=0 имеют порождающий многочлен
g(x) (x+1) (x+ α) (x+ α2) (x+ α3).
For the case t = 2 and m = 0 have a generating polynomial
g (x) (x + 1) (x + α) (x + α 2 ) (x + α 3 ).

Тогда уравнение (1) можно представить в виде
для ν 1
S1+ λ 1*S0 0;
S2+ λ 1*S1 0;
S3+ λ 1*S2 0, откуда следует, что
λ 1=S1/S0=S2/S1=S3/S2;
для ν2
S2+ λ 1*S1+ λ 2*S0=0;
S3+ λ 1*S2+ λ 2*S1=0, откуда следует, что
λ 1=a/c=X1+X2;
λ 2=d/c=X1*X2, (2) где
a=S0*S3+S1*S2;
f=S1*S3+S 2 2 ;
c=S 2 1 +S0*S2.
Then equation (1) can be represented as
for ν 1
S 1 + λ 1 * S 0 0;
S 2 + λ 1 * S 1 0;
S 3 + λ 1 * S 2 0, whence it follows that
λ 1 = S 1 / S 0 = S 2 / S 1 = S 3 / S 2 ;
for ν2
S 2 + λ 1 * S 1 + λ 2 * S 0 = 0;
S 3 + λ 1 * S 2 + λ 2 * S 1 = 0, whence it follows that
λ 1 = a / c = X 1 + X 2 ;
λ 2 = d / c = X 1 * X 2 , (2) where
a = S 0 * S 3 + S 1 * S 2 ;
f = S 1 * S 3 + S 2 2 ;
c = S 2 1 + S 0 * S 2 .

Для решения системы (2) используется общеизвестный способ решения квадратного уравнения через табличную функцию с переменной ( λ 2/( λ 1)2. Корень этого уравнения (y) используется для нахождения локаторов ошибок
X1= λ 1*y;
X2=X1+ λ 1.
To solve system (2), a well-known method of solving the quadratic equation through a tabular function with the variable (λ 2 / (λ 1 ) 2 is used . The root of this equation (y) is used to find error locators
X 1 = λ 1 * y;
X 2 = X 1 + λ 1 .

Если принять за основу утверждение, что
z*0= z/0= 0/z=0/0=0, (3) то выражение для λ 1 в системе (2) можно представить, как
λ 1= S1/S0+(c*S1/S0+a)/c, тогда для двух и одной ошибок можно использовать одинаковый алгоритм декодирования (так называемый модифицированный алгоритм декодирования ошибок). Это приводит к повышению эффективности и сокращению программного обеспечения декодера.
Based on the assertion that
z * 0 = z / 0 = 0 / z = 0/0 = 0, (3) then the expression for λ 1 in system (2) can be represented as
λ 1 = S 1 / S 0 + (c * S 1 / S 0 + a) / c, then the same decoding algorithm (the so-called modified error decoding algorithm) can be used for two and one errors. This leads to increased efficiency and reduced decoder software.

Модифицированный алгоритм вычисления ошибок представлен на фиг. 4. A modified error calculation algorithm is shown in FIG. 4.

Алгоритм вычисления стираний (см. фиг. 5) для известного массива локаторов стираний [Xi] приведен, исходя из решения системы линейного уравнения для синдромов с учетом ранее принятого утверждения (3).The erasure calculation algorithm (see Fig. 5) for the known array of erasure locators [X i ] is given based on the solution of the linear equation system for syndromes, taking into account the previously adopted statement (3).

Процесс исправления информации заключается в следующей операции:
Vi=Ci+ei.
The process of correcting information consists in the following operation:
V i = C i + e i .

Структурная схема заявляемого устройства представлена на фиг. 6. Оно содержит первый регистр 20, буферный регистр 21, буферный блок 22 обмена, второй регистр 23, второй буферный блок 24, генератор 25 синдромов, первый буферный блок 26, первый регистр 27 флага, счетчик 28 стираний, первый блок 29 памяти локаторов, генера- тор 30 локаторов, мультиплексор 31 локаторов, контроллер 32 флага, контроллер 33 адреса локаторов, второй блок 34 памяти локаторов, второй регистр 35 флага, буферный блок 36 флагов, буферный блок 37 локаторов, детектор 38 нулевого сигнала, регистр 39 анализа, четвертый мультиплексор 40, третий буферный блок 41, блок 42 оперативной памяти, сумматор 43, пятый регистр 44, третий мультиплексор 45, арифметико-логический блок 46, третий регистр 47, четвертый регистр 48, первый мультиплексор 49, первый компаратор 50, второй компаратор 51, второй мультиплексор 52, блок 53 памяти констант, пятый мультиплексор 54, шифратор 55, преобразователь 56 команд, блок 57 синхронизации, блок 58 памяти команд, регистр 59 команд, операционную шину 60, информационную шину 12, шину 13 флага, управляющий вход 61, выход 62 адреса коррекции, управляющий выход 63, контрольный выход 64, шину 65 синхронизации, шину 66 управления. The structural diagram of the inventive device is shown in FIG. 6. It contains a first register 20, a buffer register 21, a buffer exchange unit 22, a second register 23, a second buffer unit 24, a syndrome generator 25, a first buffer unit 26, a first flag register 27, an erase counter 28, a first locator memory unit 29, locator generator 30, locator multiplexer 31, flag controller 32, locator address controller 33, second locator memory block 34, second flag register 35, flag buffer block 36, locator buffer block 37, zero signal detector 38, analysis register 39, fourth multiplexer 40, third buffer block 41, bl to 42 RAM, adder 43, fifth register 44, third multiplexer 45, arithmetic logic unit 46, third register 47, fourth register 48, first multiplexer 49, first comparator 50, second comparator 51, second multiplexer 52, constant memory unit 53 , fifth multiplexer 54, encoder 55, command converter 56, synchronization unit 57, instruction memory block 58, command register 59, operating bus 60, information bus 12, flag bus 13, control input 61, output 62 of the correction address, control output 63, control output 64, bus 65 synchronization, shea well 66 management.

Устройство, корректирующее ошибки, работает следующим образом. A device for correcting errors works as follows.

По управляющему входу 61 производятся начальная установка и последующий запуск блока 57 синхронизации, который вырабатывает установочные импульсы, сигналы обмена, адреса команд и тактовую частоту для внутренних компонентов устройства. The control input 61 performs the initial installation and subsequent start of the synchronization unit 57, which generates installation pulses, exchange signals, command addresses and clock frequency for the internal components of the device.

Обработка кодового слова производится сразу по двум декодерам CI и CII за два кадра (длительностью 588 тактов каждый). В первом кадре производится вычисление синдромов в генераторе 25, для чего в регистр 23 последовательно заносятся символы корректируемого кода, по которым генератор 25 синдромов производит следующую рекурсию:
Sk Ci Sk* αk. где k 0, 1, 2, 3;
i 0.(N-1). причем для CI N=32, а для CII N=28.
Processing of the code word is carried out immediately by two decoders CI and CII for two frames (each lasting 588 cycles). In the first frame, the syndromes are calculated in the generator 25, for which the symbols of the corrected code are sequentially entered into the register 23, according to which the syndrome generator 25 performs the following recursion:
S k C i S k * α k . where k 0, 1, 2, 3;
i 0. (N-1). moreover, for CI N = 32, and for CII N = 28.

Обработанные символы корректируемого кода выдаются на шину 12 через буферный блок 24 для записи в область CI или CII внешней памяти. Одновременно вычисляются количество стираний и их локаторы. Для этого флаги стираний с шины 13 фиксируются в регистре 27. В случае соответствия флага уровню логической "1" происходит изменение состояния счетчика 28 и генератора 30 локаторов, при этом предыдущая информация из генератора локаторов записывается в блок 29 памяти. Обработанный флаг регистр 27 выдает на шину 13 для записи в область CI или CII внешней памяти. The processed symbols of the corrected code are output to the bus 12 through the buffer unit 24 for recording in the CI or CII region of the external memory. At the same time, the number of erasures and their locators are calculated. To do this, the erase flags from bus 13 are fixed in register 27. If the flag matches the logical "1" level, the state of the counter 28 and the generator 30 of the locators changes, and the previous information from the generator of locators is recorded in the memory unit 29. Register 27 issues the processed flag to bus 13 for writing to the CI or CII area of the external memory.

По завершении обработки первого кодового слова вычисленные значения синдромов перезаписываются во внутреннюю память генератора 25 синдромов, далее они могут быть выданы на операционную шину 60 через буферный блок 26, значения локаторов перезаписываются из блока 29 памяти через второй вход мультиплексора 31 в блок 34 памяти независимо от состояния на его адресном входе, а значение счетчика 28 стираний во внутреннюю память контроллера 32 флага. После этого генератор 25 синдромов, счетчик 28 и блок 29 памяти готовы к обработке нового корректируемого кодового слова. Upon completion of the processing of the first codeword, the calculated values of the syndromes are overwritten in the internal memory of the syndrome generator 25, then they can be output to the operating bus 60 through the buffer unit 26, the values of the locators are overwritten from the memory unit 29 through the second input of the multiplexer 31 to the memory unit 34, regardless of at its address input, and the value of the counter 28 erases into the internal memory of the controller 32 of the flag. After that, the syndrome generator 25, the counter 28 and the memory unit 29 are ready to process the new corrected codeword.

По известным значениям синдромов, локаторов и количеству стираний во втором кадре производится вычисление истинных значений ошибок Yi и их локаторов с последующей коррекцией кодового слова.Based on the known values of the syndromes, locators and the number of erasures in the second frame, the true values of the errors Y i and their locators are calculated, followed by the correction of the code word.

Алгоритмы состоят из четырехтактных операций вычисления, выполняемых следующим образом. Первый операнд A заносится по первому такту в регистр 47 с выхода мультиплексора 49, второй операнд B заносится по второму такту в регистр 48 с выхода мультиплексора 49. Algorithms consist of four-stroke calculation operations performed as follows. The first operand A is entered on the first clock in register 47 from the output of the multiplexer 49, the second operand B is entered on the second clock in register 48 on the output of the multiplexer 49.

После второго такта результат сложения первого и второго операндов в арифметико-логическом блоке 46, который представляет собой сумматор по модулю 255, пройдя через второй вход мультиплексора 52, блок памяти констант и второй вход мультиплексора 49, поступает на блокируемый вход сумматора 43. Блокировка происходит в случае, если на вход одного из компараторов 50 и 51 подан операнд, соответствующий значению 255, что позволяет реализовать условие (3). В сумматоре 43 производится сложение выше указанного результата сложения первого и второго операндов с третьим операндом С, фиксируемым в регистре 44 в третьем такте. Результат вычисления операции в четвертом такте может быть записан в блок 42 памяти объемом 16 байт либо выдан на операционную шину 60 через второй вход мультиплексора 40 и буферный блок 41. Для анализа значения этого результата на 0 он поступает также на вход детектора 38 нулевого сигнала, после чего результат анализа может быть записан в регистр 39, в качестве которого применяется последовательный регистр. Информация о состоянии регистра 39 анализа может быть выдана через первый вход мультиплексора 40 и буферный блок 41 на операционную шину 60. Причем буферный блок 41 может быть открыт только в четвертом такте операции. After the second clock, the result of adding the first and second operands in the arithmetic-logic unit 46, which is an adder modulo 255, passing through the second input of the multiplexer 52, the constant memory block and the second input of the multiplexer 49, goes to the blocked input of the adder 43. The lock occurs in if an operand corresponding to the value 255 is applied to the input of one of the comparators 50 and 51, which allows condition (3) to be realized. In the adder 43 is the addition of the above result of the addition of the first and second operands with the third operand C, fixed in register 44 in the third clock cycle. The result of the calculation of the operation in the fourth clock can be written to the memory block 42 with a volume of 16 bytes or sent to the operating bus 60 through the second input of the multiplexer 40 and the buffer block 41. To analyze the value of this result by 0, it also goes to the input of the zero signal detector 38, after whereby the analysis result can be recorded in register 39, which is used as a sequential register. Information about the status of the register 39 analysis can be issued through the first input of the multiplexer 40 and the buffer unit 41 to the operating bus 60. Moreover, the buffer unit 41 can be opened only in the fourth step of the operation.

Мультиплексор 52 позволяет пропускать через таблицы памяти операнды, взятые из блока 42 памяти в первом и втором тактах вышеуказанной операции вычисления. Для сокращения времени вычисления в нулевой ячейке блока 42 памяти хранится постоянное число 0. The multiplexer 52 allows the operands taken from the memory block 42 in the first and second clock cycles of the above calculation operation to be passed through the memory tables. To reduce the calculation time, a constant number 0 is stored in the zero cell of the memory unit 42.

Блок 53 памяти содержит следующие таблицы преобразования в поле GF(28): элемент поля в номер места элемента поля, номер места элемента поля в элемент поля, значение номера места элемента поля в значение из таблицы корней квадратного уравнения, повторение (элемент в тождественный элемент).53 The memory unit contains the following conversion tables in GF field (2 8): an element in a room space of the field member, seat number field element in the field element accommodation space field element value in the value from the table of the quadratic equation roots repetition (element in the identity element )

Операция вычисления характеризуется следующими математическими функциями над операндами:
A * B + C;
A / B + С.
The calculation operation is characterized by the following mathematical functions over the operands:
A * B + C;
A / B + C.

Благодаря мультиплексорам 45 и 49 операции вычисления могут производиться как над операндами, взятыми из блока 42 оперативной памяти, так и над операндами, поступающими с операционной шины 60 через первый вход мультиплексора 54. Мультиплексор 54 вместе с шифратором 55 выполняет функцию кодирования, формируя значения номеров места локатора в кодовом слове. Thanks to the multiplexers 45 and 49, the calculation operation can be performed both on the operands taken from the RAM block 42 and on the operands coming from the operating bus 60 through the first input of the multiplexer 54. The multiplexer 54 together with the encoder 55 performs the encoding function, forming the values of the location numbers locator in the code word.

Функция преобразователя 56 команд заключается в преобразовании командного слова, поступающего с выхода регистра 59 команд, по синхронизации с шины 65 в управляющие сигналы, поступающие на шину 66 управления, и адреса блока 42 оперативной памяти, поддерживающие операции вычисления. В формате кодового слова, представленного на фиг. 7, разряд INS7 определяет источник операнда, используемого в операции вычисления, т.е. либо блок оперативной памяти, либо шину 60. По команде БЛОК производятся отключение блокировки в сумматоре 43 и изменение модуля сумматора 46. Команда АЛУ включает один из режимов работы сумматора 46, а именно либо суммирование, либо вычитание. При наличии команды0 в регистр 39 записывается результат анализа на 0 данных, полученных в итоге операции вычисления. По команде ГОТ информация из регистра 39 поступает на шину 60 и одновременно в контроллере 56 строб передачи результатов анализа в котроллер 32 флага. Команда ВН позволяет в четвертом такте операции вычисления подключать к шине 60 внешние источники. Команды "таблица ПЗУ" инициализируют включение одной из таблиц блока 53 памяти констант. The function of the command converter 56 is to convert the command word from the output of the register 59 commands synchronized from the bus 65 into control signals received on the control bus 66, and the addresses of the RAM block 42, supporting the calculation operation. In the codeword format shown in FIG. 7, bit INS7 determines the source of the operand used in the calculation operation, i.e. either a RAM block or bus 60. The BLOCK command disables the lock in the adder 43 and changes the adder module 46. The ALU command enables one of the operating modes of the adder 46, namely, either summation or subtraction. In the presence of command 0, the result of analysis on 0 data obtained as a result of the calculation operation is written to register 39. At the GOT command, information from register 39 enters bus 60 and, simultaneously, in controller 56, the strobe for transmitting the analysis results to the flag controller 32. The VN command allows in the fourth step of the calculation operation to connect external sources to the bus 60. The ROM table commands initialize the inclusion of one of the tables of the constant memory block 53.

Результат анализа в процессе вычислений заносится в контроллер 32 флага, а дополнительно вычисленные локаторы ошибок поступают как в блок 34 памяти, так и в контроллер 32, где производится его анализ на принадлежность его множеству локаторов кодового слова. Локаторы из блока 34 памяти могут выдаваться как на шину 60 через буферный блок 37, так и на выход 62 адреса коррекции. The result of the analysis in the calculation process is entered into the flag controller 32, and additionally calculated error locators are sent both to the memory unit 34 and to the controller 32, where it is analyzed for belonging to its many codeword locators. Locators from the memory unit 34 can be issued both to the bus 60 through the buffer unit 37, and to the output 62 of the correction address.

После завершения вычисления значений ошибок и их локаторов по адресу, выставленному на выход 62, производится вызов из внешнего блока 17 оперативной памяти корректируемого символа, который через шину 12, регистр 20 и буферный блок 22 обмена поступает в устройство, где суммируется по модулю два со значением Yi. Далее скорректированный символ через буферные блоки 22 и 21 выдается на шину 12 и заносится в исходное место блока 17 оперативной памяти.After the calculation of the error values and their locators is completed at the address set to output 62, a corrected character is called from the external RAM block 17, which, via bus 12, register 20, and buffer exchange block 22, enters the device, where modulo two is summed with the value Y i . Next, the corrected symbol through the buffer blocks 22 and 21 is issued to the bus 12 and is entered in the original location of the block 17 of RAM.

В устройстве регистр 20 и буферный блок 21 в промежутках между коррекциями используются для поддержания режима обмена информации по шине 12. In the device, the register 20 and the buffer block 21 in the intervals between corrections are used to maintain the mode of exchange of information on the bus 12.

По выходу 63 контроллер 32 может блокировать коррекцию в случае, если количество ошибок превышает исправляющие возможности устройства. Для этого выход 63 подключен к контроллеру 16 внешней памяти вместе с выходом 62 адреса коррекции. On the output 63, the controller 32 may block the correction in the event that the number of errors exceeds the corrective capabilities of the device. For this, the output 63 is connected to the controller 16 of the external memory together with the output 62 of the correction address.

Контроллер 32 принимает окончательное решение о возможности коррекции ошибок по соотношениям результатов анализа и количеству стираний. После принятия решения контроллер 32 выдает на контрольный выход 64 информацию о кодовом слове, а также производит инициализацию флагов. Для трансляции ранее установленных флагов используется регистр 35, принимающий флаги с шины 13 флага. Инициализированные флаги поступают через буферный блок 36 на шину 13 для записи во внешний блок 17 оперативной памяти. The controller 32 makes the final decision on the possibility of error correction by the ratio of the results of the analysis and the number of erasures. After the decision is made, the controller 32 outputs to the control output 64 information about the codeword, and also initializes the flags. To broadcast previously set flags, register 35 is used, which receives flags from flag bus 13. Initialized flags arrive through the buffer block 36 on the bus 13 for recording in the external block 17 of RAM.

Обработка результатов анализа начинается с следующего переприсвоения:
b0=a0 / a3;
b1=a1*a2.
Processing of analysis results begins with the following reassignment:
b 0 = a 0 / a 3 ;
b 1 = a 1 * a 2 .

Далее с учетом состояния внутреннего регистра флага, который хранит информацию, ранее просчитанную в счетчике 28, о количестве флагов F0(NF0) для декодера CI, а также флагов F0 (NF0) и F1 (NF1) для декодера CII контроллер 32 в соответствии с таблицей дешифратора ошибки и алгоритмом вырабатывает команду разрешения коррекции (k), поступающую на выход 66, и флаги по каналам F0 и F1 для декодера CI и F0, F1 и F2 для декодера CII, выдаваемые на контрольный выход 66 и далее на шину 13.Further, taking into account the state of the internal flag register, which stores the information previously calculated in counter 28, on the number of flags F 0 (NF 0 ) for the CI decoder, as well as the flags F 0 (NF 0 ) and F 1 (NF 1 ) for the CII decoder the controller 32 in accordance with the table of the error decoder and the algorithm generates a correction enable command (k), which is output 66, and flags on the channels F 0 and F 1 for the decoder CI and F 0 , F 1 and F 2 for the decoder CII, issued on control output 66 and on to bus 13.

Для переключения программ (стирание или ошибки) в блок 58 памяти команд из контроллера 32 на его управляющий вход поступает соответствующий сигнал. To switch programs (erasure or errors) in the block 58 of the command memory from the controller 32 to its control input receives the corresponding signal.

Экспериментальные работы заявленного устройства, корректирующего ошибки, в составе кодека Рида-Соломона для оптических запоминающих устройств показали, что по сравнению с устройством аналогичного назначения (прототипом) заявленное устройство позволяет более эффективно использовать программные ресурсы, т.е. резко сокращается объем используемых ПЗУ, а также значительно упрощается его реализация, что позволяет с успехом реализовать заявленное устройство на полузаказных КМОП матричных БИС с небольшой степенью интеграции. The experimental work of the claimed error-correcting device as part of the Reed-Solomon codec for optical storage devices showed that, in comparison with a device of a similar purpose (prototype), the claimed device allows more efficient use of software resources, i.e. the volume of used ROMs is sharply reduced, and its implementation is greatly simplified, which makes it possible to successfully implement the claimed device on semi-ordered CMOS matrix LSIs with a small degree of integration.

Claims (1)

УСТРОЙСТВО ДЛЯ КОРРЕКЦИИ ОШИБОК, содержащее генератор синдромов, первый буферный блок, первый регистр флага, счетчик стираний, первый блок памяти локаторов, буферный блок локаторов, буферный блок флагов, блок памяти команд, регистр команд, блок оперативной памяти и детектор нулевого сигнала, арифметико-логический блок, первый компаратор, информационную шину, операционную шину и шину флаговых сигналов, отличающееся тем, что, с целью повышения информационной емкости устройства и его упрощения, в него введены блок синхронизации, первый пятый регистры, буферный регистр, буферный блок обмена, второй и третий буферные блоки, генератор локаторов, мультиплексор локаторов, контроллер адреса локаторов, контроллер флага, второй регистр флага, преобразователь команд, блок памяти констант, сумматор, регистр анализа, шифратор, второй компаратор и первый пятый мультиплексоры, управляющие входы блока памяти констант, арифметико-логического блока, блока оперативной памяти, первого пятого мультиплексоров, третьего пятого регистров, регистра анализа, третьего буферного блока, первого и второго компараторов и шифратора объединены и подключены к управляющей шине, управляющий выход преобразователя команд подключен к управляющей шине, его адресный выход соединен с адресным входом блока оперативной памяти, выход которого подключен к информационным входам первого и третьего мультиплексоров, выход арифметико-логического блока подключен к второму информационному входу третьего мультиплексора, второй информационный вход которого соединен с выходом арифметико-логического блока, выход которого подключен к адресному входу блока памяти констант, выход которого соединен с первым информационным входом второго мультиплексора, второй информационный вход которого объединен с вторым информационным входом первого мультиплексора и подключен к выходу пятого мультиплексора, выход второго мультиплексора подключен к входу блокировки сумматора и к информационным входам третьего и четвертого регистров, выходы которых соединены соответственно с первым и вторым входами арифметико-логического блока и информационным входами первого и второго компараторов, выходы которых подключены к блокирующим входам сумматора, первый вход которого соединен с выходом третьего регистра, а выход подключен к информационному входу блока оперативной памяти, первому информационному входу четвертого мультиплексора и входу детектора нулевого сигнала, выход которого соединен с входом регистра анализа, выход которого подключен к второму информационному входу четвертого мультиплексора, выход которого соединен с входом третьего буферного блока, выход которого подключен к операционной шине, выход первого буферного блока, первый информационный вход пятого мультиплексора, выход буферного блока локаторов, первый вход мультиплексора локаторов, первый вход контроллера флагов и первый вход-выход буферного блока обмена подключены к операционной шине, второй вход-выход буферного блока обмена соединен с входом буферного регистра и выходом первого регистра, вход которого объединен с выходами буферного регистра и второго буферного блока, с входом второго регистра и подключен к информационной шине устройства, выход второго регистра соединен с входами второго буферного блока и генератора синдромов, выход которого подключен к входу первого буферного блока, управляющий вход которого объединен с управляющими входами генератора синдромов, буферного блока локаторов, шифратора, контроллера флага, преобразователя команд и выходом регистра команд, вход которого подключен к выходу блока памяти команд, управляющий вход которого подключен к первому управляющему выходу контроллера флага, второй управляющий выход которого подключен к управляющему входу контроллера адреса локаторов, третий управляющий выход является управляющим выходом устройства, управляющий выход преобразователя команд подключен к управляющему входу контроллера флага, вход флага которого подключен к выходу второго регистра флага, а выход флага является контрольным выходом устройства и соединен с входом буферного блока флага, выход которого, а также входы первого и второго регистров флага подключены к шине флагового сигнала устройства, выход первого регистра флага соединен с управляющими входами первого блока памяти локаторов и счетчиком стираний, выход которого подключен к второму информационному входу контроллера флага и адресному входу первого блока памяти локаторов, информационный вход которого соединен с выходом генератора локаторов, а выход подключен к второму входу мультиплексора локаторов, выход которого соединен с информационным входом второго блока памяти локаторов, адресный и управляющий входы которого подключены к соответствующим выходам контроллера локаторов, а информационный выход соединен с информационным входом буферного блока локаторов и является выходом адреса коррекции устройства, выход шифратора подключен к второму информационному входу пятого мультиплексора, управляющий вход блока синхронизации является входом устройства, управляющий и адресный выходы блока синхронизации подключены к шине синхронизации и адресному входу блока памяти команд. ERROR CORRECTION DEVICE, comprising a syndrome generator, a first buffer block, a first flag register, an erase counter, a first locator memory block, a locator buffer block, a flag buffer block, a command memory block, a command register, a random access memory block and a zero signal detector, arithmetic a logical unit, a first comparator, an information bus, an operating bus and a flag signal bus, characterized in that, in order to increase the information capacity of the device and simplify it, a synchronization block, the first heel registers, buffer register, buffer exchange block, second and third buffer blocks, locator generator, locator multiplexer, locator address controller, flag controller, second flag register, command converter, constant memory block, adder, analysis register, encoder, second comparator and the first fifth multiplexers, control inputs of the constant memory block, arithmetic logic block, random access memory block, first fifth multiplexers, third fifth registers, analysis register, third buffer block, first and w The comparators and the encoder are combined and connected to the control bus, the control output of the command converter is connected to the control bus, its address output is connected to the address input of the RAM block, the output of which is connected to the information inputs of the first and third multiplexers, the output of the arithmetic-logic block is connected to the second information input of the third multiplexer, the second information input of which is connected to the output of the arithmetic-logical unit, the output of which is connected to the address input of the unit as a constant memory, the output of which is connected to the first information input of the second multiplexer, the second information input of which is combined with the second information input of the first multiplexer and connected to the output of the fifth multiplexer, the output of the second multiplexer is connected to the adder lock input and to the information inputs of the third and fourth registers, outputs which are connected respectively to the first and second inputs of the arithmetic-logical unit and the information inputs of the first and second comparators, the outputs of which x are connected to the blocking inputs of the adder, the first input of which is connected to the output of the third register, and the output is connected to the information input of the RAM block, the first information input of the fourth multiplexer and the input of the zero signal detector, the output of which is connected to the input of the analysis register, the output of which is connected to the second the information input of the fourth multiplexer, the output of which is connected to the input of the third buffer block, the output of which is connected to the operating bus, the output of the first buffer block, the information input of the fifth multiplexer, the output of the locator buffer block, the first input of the locator multiplexer, the first input of the flag controller and the first input-output of the buffer exchange unit are connected to the operating bus, the second input-output of the buffer exchange unit is connected to the input of the buffer register and the output of the first register, the input of which is combined with the outputs of the buffer register and the second buffer block, with the input of the second register and connected to the information bus of the device, the output of the second register is connected to the inputs of the second buffer ith block and syndrome generator, the output of which is connected to the input of the first buffer block, the control input of which is combined with the control inputs of the syndrome generator, buffer block of locators, encoder, flag controller, command converter and the output of the command register, the input of which is connected to the output of the command memory block, the control input of which is connected to the first control output of the flag controller, the second control output of which is connected to the control input of the locator address controller, the third control output d is the control output of the device, the control output of the command converter is connected to the control input of the flag controller, the flag input of which is connected to the output of the second flag register, and the flag output is the control output of the device and connected to the input of the flag buffer block, the output of which, as well as the inputs of the first and the second flag registers are connected to the device’s flag signal bus, the output of the first flag register is connected to the control inputs of the first locator memory block and the erase counter, the output of which is It is connected to the second information input of the flag controller and the address input of the first locator memory block, the information input of which is connected to the output of the locator generator, and the output is connected to the second input of the locator multiplexer, the output of which is connected to the information input of the second locator memory, the address and control inputs of which are connected to the corresponding outputs of the locator controller, and the information output is connected to the information input of the locator buffer block and is the output of the address of the correction oystva, encoder output is connected to the second data input of the fifth multiplexer, a control input sync block is the input device, the control and address outputs connected to the sync block synchronization and the address bus input commands of the storage unit.
SU4951591 1991-06-28 1991-06-28 Error-correcting device RU2037271C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU4951591 RU2037271C1 (en) 1991-06-28 1991-06-28 Error-correcting device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU4951591 RU2037271C1 (en) 1991-06-28 1991-06-28 Error-correcting device

Publications (1)

Publication Number Publication Date
RU2037271C1 true RU2037271C1 (en) 1995-06-09

Family

ID=21582498

Family Applications (1)

Application Number Title Priority Date Filing Date
SU4951591 RU2037271C1 (en) 1991-06-28 1991-06-28 Error-correcting device

Country Status (1)

Country Link
RU (1) RU2037271C1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2711035C1 (en) * 2019-05-08 2020-01-14 федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" Modified error correction device taking into account deletion signal

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
1. Патент США N 4498175, кл. G 06F 11/10, опублик. 1985. *
2. Патент США N 4683572, кл. G 06F 11/10, опублик. 1987. *
3. Патент США N 4677622, кл. G 06F 11/10, опублик. 1987. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2711035C1 (en) * 2019-05-08 2020-01-14 федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" Modified error correction device taking into account deletion signal

Similar Documents

Publication Publication Date Title
US4649541A (en) Reed-Solomon decoder
KR950012983B1 (en) Reed solomon decoding method
US4567594A (en) Reed-Solomon error detecting and correcting system employing pipelined processors
US4928280A (en) Fast processor for multi-bit error correction codes
US5383204A (en) Parallel encoding apparatus and method implementing cyclic redundancy check and Reed-Solomon codes
EP0167627A1 (en) Method and apparatus for decoding error correction code
US4504948A (en) Syndrome processing unit for multibyte error correcting systems
US4276646A (en) Method and apparatus for detecting errors in a data set
US5343481A (en) BCH error-location polynomial decoder
US4473902A (en) Error correcting code processing system
US20140068391A1 (en) Memory with Segmented Error Correction Codes
EP0061345A2 (en) Processing circuits for operating on digital data words which are elements of a Galois field
JP2568031B2 (en) Error detection and correction system
EP0101218A2 (en) Methods of correcting errors in binary data
US4994993A (en) System for detecting and correcting errors generated by arithmetic logic units
JPS632370B2 (en)
US3571795A (en) Random and burst error-correcting systems utilizing self-orthogonal convolution codes
Massey Implementation of burst-correcting convolutional codes
US7124351B2 (en) Software instructions utilizing a hardwired circuit
US4519079A (en) Error correction method and apparatus
RU2037271C1 (en) Error-correcting device
JP3279624B2 (en) 1-bit error correction circuit based on CRC operation
US5588010A (en) Parallel architecture error correction and conversion system
EP0341851A2 (en) Method and apparatus for interleaved encoding
JPH0345020A (en) Cyclic code processing circuit