RU188390U1 - Параллельный реконфигурируемый кодер рида-соломона - Google Patents
Параллельный реконфигурируемый кодер рида-соломона Download PDFInfo
- Publication number
- RU188390U1 RU188390U1 RU2018141329U RU2018141329U RU188390U1 RU 188390 U1 RU188390 U1 RU 188390U1 RU 2018141329 U RU2018141329 U RU 2018141329U RU 2018141329 U RU2018141329 U RU 2018141329U RU 188390 U1 RU188390 U1 RU 188390U1
- Authority
- RU
- Russia
- Prior art keywords
- input
- output
- parallel
- encoder
- filter
- Prior art date
Links
- 238000000034 method Methods 0.000 abstract description 12
- 230000008569 process Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000009897 systematic effect Effects 0.000 description 5
- 235000014676 Phragmites communis Nutrition 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C19/00—Digital stores in which the information is moved stepwise, e.g. shift registers
- G11C19/28—Digital stores in which the information is moved stepwise, e.g. shift registers using semiconductor elements
- G11C19/287—Organisation of a multiplicity of shift registers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C27/00—Electric analogue stores, e.g. for storing instantaneous values
- G11C27/04—Shift registers
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/158—Finite field arithmetic processing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
- H03M13/6516—Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
Полезная модель относится к области цифровой обработки информации (сигналов). Техническим результатом полезной модели является создание параллельного реконфигурируемого кодера Рида-Соломона, который позволяет кодировать под различные характеристики (количество исправляемых ошибок, разрядность, длина данных и др.) кодов Рида-Соломона в процессе работы, позволяет настраивать корректирующую способность в зависимости от предназначения, а также позволяет обрабатывать данные поступающие в кодер параллельно, с шины данных, и, соответственно, выдавать контрольные биты информации тоже в параллельном виде. 8 ил.
Description
Полезная модель относится к области цифровой обработки информации (сигналов), а именно к параллельным реконфигурируемым кодерам Рида-Соломона и предназначено для помехоустойчивого кодирования информации с переменной корректирующей способностью в различных системах передачи\приема, а также для хранения данных.
Коды Рида - Соломона относят к блочному кодированию и широко используют в системах хранения и передачи информации. Данные коды позволяют исправлять множественные ошибки, а также пакеты ошибок в больших блоках данных.
В настоящее время данные коды массово используют в таких системах хранения информации как жесткие диски, твердотельные накопители, флэш-память и др., а также используют в стандартах цифровой передачи данных, например, цифрового телевидения DVB. Таким образом, ввиду различного применения в одном устройстве, необходимо использование кодов с разной корректирующей способностью соответственно. Например, для того чтобы в блоке данных используемый код позволял исправлять до 16 ошибок, необходимо применение определенного порождающего полинома определенной длины. Однако, для того чтобы в этом же блоке данных код позволял исправлять, например, 12 ошибок, необходимо применение другого порождающего полинома с меньшей длиной. То есть, для использования одного и того же устройства с разными накопителями необходимо применение разных порождающих полиномов и, как следствие, разных кодеров, это приводит к увеличению аппаратных ресурсов. Однако, использование кодера с регулируемой корректирующей способностью (переменный порождающий полином) может также удовлетворить различные требования к корректирующей способности.
В системах-на-кристалле зачастую используют шины данных разрядностью 32, 64 бита, однако, традиционный кодер Рида-Соломона поддерживает данные на входе размерностью поля Галуа (например, 8 бит), что значительно меньше требуемой ширины в 32 бита. Сущность заявленной полезной модели состоит в поддержке параллельного ввода/вывода данных размерностью 32 бита и выше (не меняя расширения поля Галуа), с возможностью реконфигурирования корректирующей способности кода.
Известен кодер, описанный в патенте US 8464141 В2, в котором проблема настройки кодера под различную корректирующую способность решена путем разбиения порождающего полинома на отдельные множители (по определению, порождающий полином состоит из произведения примитивных неприводимых полиномов). Кодирование осуществляют путем деления информационных бит на минимальные полиномы, используя регистр с линейной обратной связью (РЛОС). В зависимости от применяемой корректирующей способности, используют цепи умножителей и делителей на примитивные полиномы разной длины.
Недостатком данного кодера является то, что, хотя он удовлетворяет требованию реконфигурирования под различную корректирующую способность, однако, подходит только для двоичных кодов БЧХ, а не для кодов Рида-Соломона, к тому же длинная цепь сумматоров приводит к увеличению критического пути, что снижает его быстродействие. Этот кодер БЧХ кодов выбран в качестве прототипа заявленной полезной модели кодера Рида - Соломона. Кроме того, в кодере отсутствует возможность параллельного ввода данных.
Известен кодер Рида-Соломона, описанный в патенте US 6826723 В2, в котором в общем виде кодирование осуществляют путем деления информационных бит на порождающий полином, при этом используют регистр с линейной обратной связью (РЛОС). В данном кодере проблема настройки кодера под различную корректирующую способность решена путем мультиплексирования и суммирования отводов обратной связи в общей цепи РЛОС.
Недостатком данного кодера является то, что, хотя в нем возможно использование трех разных полиномов, однако, использование его там, где требуется более трех конфигураций порождающего полинома, не представляется возможным. К тому же, в схеме кодера используют многовходовые сумматоры, которые обладают низким быстродействием. Кроме того, в данном кодере отсутствует возможность параллельного ввода данных.
Известен способ кодирования, описанный в ЕР 93310590.0, который позволяет изменять корректирующую способность кода Рида - Соломона, от максимально возможного количества исправляемых ошибок до одной.
Недостатком данного способа кодирования является то, что ввиду увеличенного критического пути из-за большого количества последовательно-соединенных сумматоров и элементов «И» (равное удвоенному количеству исправляемых ошибок), он обладает низким быстродействием. Кроме того, в данном способе кодирования отсутствует возможность параллельного ввода данных.
Известен способ кодирования для кодера Рида-Соломона, описанный в патенте US 8151172 В2 с доработками предыдущего аналога ЕР 93310590.0, а именно, с заменой длинной цепи сумматоров на каскадное суммирование с определенными сигналами разрешения.
Данное решение позволяет уменьшить критический путь и увеличить быстродействие по сравнению со способом, описанным в ЕР 93310590.0, однако, существенно увеличенным быстродействием не обладает, к тому же схема усложняется цепью обратной связи, охватывающей всю схему целиком. Также данное решения не является достаточно гибким в смысле корректирующей способности, ввиду объединения сигналов разрешения определенных умножителей в кластеры, таким образом, лишая схему возможности включения необходимого, а не кратного четырем, количества умножителей. Кроме того, в данном способе кодирования отсутствует возможность параллельного ввода данных.
Наиболее близким к заявленной полезной модели является параллельный реконфигурируемый кодер Рида-Соломона, описанный в патенте RU 2605672, который позволяет изменять корректирующую способность кода. Данный кодер выбран в качестве прототипа заявленной полезной модели.
Недостатком кодера-прототипа является то, что в нем отсутствует возможность параллельного ввода данных, разрядность которых выше расширения поля Галуа.
Техническим результатом полезной модели является создание параллельного реконфигурируемого кодера Рида-Соломона, который позволяет кодировать под различные характеристики (количество исправляемых ошибок, разрядность, длина данных и др.) кодов Рида-Соломона в процессе работы, позволяет настраивать корректирующую способность в зависимости от предназначения, а также позволяет обрабатывать данные поступающие в кодер параллельно, с шины данных, и, соответственно, выдавать контрольные биты информации тоже в параллельном виде.
Таким образом, заявленный параллельный реконфигурируемый кодер Рида-Соломона позволяет осуществлять кодирование с помощью кода Рида-Соломона данных, поступающих параллельно с шины, и обрабатывать в один такт данные параллельно за счет приведения фильтров БИХ и КИХ к параллельному виду, в отличие от прототипа, в котором данные поступают последовательно и фильтры, соответственно, последовательные. Это увеличивает быстродействие заявленного кодера, при этом кодер не лишается возможности реконфигурирования под различные характеристики кода, как в прототипе.
Поставленный технический результат достигнут путем создания параллельного реконфигурируемого кодера Рида-Соломона (Фиг. 8), содержащего массив элементов «И», цепь последовательно соединенных параллельных БИХ-фильтров первого порядка и цепь последовательно соединенных параллельных КИХ-фильтров первого порядка, причем параллельный БИХ-фильтр состоит из одного элемента памяти и по меньшей мере двух сумматоров, двух умножителей, двух управляющих элементов «И», причем первый вход первого сумматора соединен с первым входом БИХ-фильтра, а второй вход соединен с выходом элемента памяти, выход первого сумматора соединен с первым выходом БИХ-фильтра и со входом первого умножителя, выход которого соединен с первым входом элемента «И», выход которого соединен со вторым входом следующего сумматора, а первый вход этого сумматора соединен со следующим входом БИХ-фильтра, а выход этого сумматора соединен со следующим выходом БИХ-фильтра и входом следующего умножителя, выход которого соединен с первым входом следующего элемента «И», выход последнего элемента «И» соединен с входом элемента памяти, при этом все вторые входы элементов «И» соединены с управляющим входом БИХ-фильтра, соответствующие выходы БИХ-фильтра, в случае конвейеризации, соединены с входами конвейерных регистров, выходы которых соединены с
соответствующими входами следующего БИХ-фильтра, в случае без конвейеризации, соответствующие выходы БИХ-фильтра соединены с соответствующими входами следующего БИХ-фильтра напрямую, соответствующие выходы последнего БИХ-фильтра соединены с первыми входами массива элементов «И», вторые входы которого соединены с управляющим входом кодера, а соответствующие выходы соединены с соответствующими входами параллельного КИХ-фильтра первого порядка, причем параллельный КИХ-фильтр состоит из одного элемента памяти и по меньшей мере двух сумматоров, двух умножителей, двух управляющих элементов «И», причем выход первого сумматора соединен с первым выходом КИХ-фильтра, а первый вход сумматора соединен с выходом элемента памяти, второй вход соединен с первым входом КИХ-фильтра и входом первого умножителя, выход которого соединен с первым входом первого элемента «И», выход которого соединен с первым входом следующего сумматора, второй вход которого соединен со следующим входом КИХ-фильтра и входом следующего умножителя, выход которого соединен с первым входом следующего элемента «И», выход последнего элемента «И» соединен со входом элемента памяти, а все вторые входы элементов «И» соединены с управляющим входом КИХ-фильтра, соответствующие выходы КИХ-фильтра, в случае конвейеризации, соединены с входами конвейерных регистров, выходы которых соединены с соответствующими входами следующего КИХ-фильтра, в противном случае соответствующие выходы КИХ-фильтра соединены с соответствующими входами следующего КИХ-фильтра напрямую, соответствующие выходы последнего в цепи КИХ-фильтра соединены с соответствующими выходами кодера.
Для лучшего понимания заявленной полезной модели далее приводится ее подробное описание с соответствующими графическими материалами.
Фиг. 1. Функциональная схема параллельного реконфигурируемого кодера Рида - Соломона для систематического кода Рида - Соломона, выполненная согласно полезной модели.
Фиг. 2. Эквивалентная схема РЛОС с применением БИХ-фильтра, выполненная согласно полезной модели.
Фиг. 3. Эквивалентная схема РЛОС с применением БИХ и КИХ-фильтров, выполненная согласно полезной модели.
Фиг. 4. Эквивалентная схема параллельного реконфигурируемого кодера Рида - Соломона с применением БИХ и КИХ-фильтров, выполненная согласно полезной модели.
Фиг. 5. Функциональная схема параллельного реконфигурируемого кодера Рида - Соломона с применением БИХ и КИХ-фильтров с конвейеризацией, выполненная согласно полезной модели.
Фиг. 6. Функциональная схема параллельного реконфигурируемого кодера Рида - Соломона с применением БИХ и КИХ-фильтров с конвейеризацией, выполненная согласно полезной модели.
Фиг. 7. Функциональная схема последовательного (А) и параллельного (Б) БИХ фильтра первого порядка, выполненная согласно полезной модели.
Фиг. 8. Функциональная схема параллельного реконфигурируемого кодера Рида - Соломона с применением БИХ и КИХ-фильтров с конвейеризацией, выполненная согласно полезной модели.
Рассмотрим кратко принцип функционирования заявленного параллельного реконфигурируемого кодера Рида-Соломона. Исходя из определения кодов Рида - Соломона, систематическое кодирование осуществляют следующим образом:
где m(х) - входные незакодированные данные,
g(x) - порождающий полином,
t - количество исправляемых ошибок,
q(x) - частное от деления,
r(х) - остаток от делении на g(x).
При этом, результирующее кодовое слово (закодированные данные) в систематическом виде представляют как:
где с(х) - кодовое слово.
Таким образом, данные на выходе кодера остаются неизменными, однако к ним добавляют контрольные данные r(х). Все математические операции осуществляют в поле Галуа GF(2p).
Аппаратно выражение (2) выполняют при помощи регистра с линейной обратной связью (РЛОС). Первые к тактов (k-количество информационных символов) работы схемы данные проходят на выход схемы неизменными, при этом одновременно поступают на вход РЛОС, где с учетом обратной связи происходит вычисление остатка r(х). После к тактов в схеме РЛОС отключают обратную связь, и значение остатка r(х) фиксируют в сдвиговом регистре. В течение последующих 2t тактов (2t - количество проверочных символов) из схемы выгружают значение остатка r(х) и поступает на выход схемы.
При необходимости изменения требований к корректирующей способности кода Рида - Соломона, необходимо изменить порождающий полином g(x), что ведет к изменения схемы РЛОС. Полезная модель включает в себя способ построения схемы деления на порождающий полином с возможностью минимальными затратами изменять порождающий полином в процессе работы.
Рассмотрим более подробно функционирование заявленного параллельного реконфигурируемого кодера Рида-Соломона (Фиг. 1-8). Для реализации выражения (2) применяется схема РЛОС с представленная на Фиг. 1.
Когда переключатели P1, Р2 (101, 102) находятся в положении 1, схема РЛОС становится похожей на схему БИХ-фильтра (фильтр с бесконечной импульсной характеристикой), с отличием в том, что выход кодера не совпадает с выходом БИХ-фильтра. А именно выход РЛОС z(x) выведен с регистра (103), однако в БИХ-фильтре с подобной реализацией выход данных у(х) выведен с сумматора (104). Опишем математически работу схемы РЛОС, при включенных переключателях P1, Р2 (101, 102) в положении 1. Выход у(х) БИХ-фильтра можно записать следующим образом:
Однако, выход z(x) РЛОС, применительно для кодирования отличается, так как выведен до сумматора (104 или 201), а именно:
Эквивалентная схема выражения (4) представлена на Фиг. 2. Домножив последнее слагаемое m(х) в выражении (4) на , и разделив соответственно, получим:
Все математические операции осуществляют в поле Галуа GF(2p), поэтому вычитание заменяют суммированием. Эквивалентная схема выражения (5) представлена на Фиг. 3.
После включения переключателей P1, Р2 (101, 102) в положение 2, в схеме на Фиг. 1 отключают цепь обратной связи, а на вход схемы подают ноль. В эквивалентной схеме на Фиг. 3, на вход КИХ-фильтра вместо выхода БИХ-фильтра подают ноль. Так как первые к-тактов схемы на выход кодера по определению систематического кодирования должны выдаваться данные без изменения, а последующие 2t тактов выдают данные вычисленные кодером, можно пренебречь сумматором (301) в РЛОС на Фиг. 3, добавить переключатель Р3 (401) и получится эквивалентная схема всего кодера, представленная на Фиг. 4. То есть, первые к тактов схемы на выход кодера (402) поступают данные после БИХ (403) и КИХ (404) (фильтр с конечной импульсной характеристикой) фильтров, соединенных последовательно, а так как оба фильтра имеют один и тот же полином, данные на выходе будут поступать без изменений, что и требуется по определению кодера систематического кода Рида - Соломона. Однако в эту фазу происходит вычисление, и после k-го такта БИХ фильтр (403) из цепи отключают
переключателем Р3 (401) по сигналу data_enc (405), и продолжает работать лишь КИХ-фильтр (404), подавая на выход (402) кодера значения контрольных символов.
Такое построение эквивалентной схемы (Фиг. 4) позволяет избежать общей цепи обратной связи (105), охватывающей всю схему РЛОС, как в схеме на Фиг. 1. Порождающий полином g(x) для кодов Рида - Соломона представим в виде:
где а∈GF(2p) - примитивный элемент поля Галуа размерности р.
Таким образом, схемы БИХ и КИХ фильтров можно разбить на последовательно соединенные фильтры первого порядка (504-БИХ, 505-КИХ), как показано на Фиг. 5. Переключатель (401) заменен на побитовый элемент «И» (506). А, так как в таком построении схемы отсутствует общая цепь обратной связи с выхода на вход кодера, для уменьшения критического пути через цепь последовательно соединенных сумматоров, можно конвейеризовать схему дополнительными регистрами (501, 502), например, pipe1 и pipe2 и так далее при необходимости, сегментируя схему на меньшие участки по критическому пути. При этом латентность схемы увеличивается на число тактов равное количеству дополнительных конвейерных регистров, зато быстродействие становится крайне высоким.
Путем дополнения к кодеру, представленному на схеме на Фиг. 5, сигналов (t=Tmax, t=Tmax-1, …, t=Tmax-2, …, t=0) разрешения определенных фильтров (603) можно получить схему реконфигурируемого кодера. На Фиг. 6 представлена функциональная схема реконфигурируемого кодера Рида - Соломона с возможной конвейеризацией. Данный кодер наделяет код корректирующей способностью от максимально возможного количества исправляемых ошибок Tmax до одного. Из выражения (6) известно, что для того чтобы код позволял исправлять t ошибок, необходим порождающий полином степени 2t. Таким образом схема реконфигурируемого кодера рассчитана на полином максимальной степени 2Tmax. При необходимости кодировать данные кодом с числом исправляемых ошибок меньше максимального Tmax, необходимо с помощью определенных сигналов разрешения (603) отключить определенные фильтры (то есть часть множителей в полиноме (6) заменить на 1) и результирующий полином получится необходимой степени, а значит, с заданной корректирующей способностью. Например, для кода с максимальным количеством ошибок, которые могут быть исправлены равным t=Tmax-1, необходимо деактивировать по два крайних правых фильтра БИХ (604) и КИХ (605). Для кода с количеством исправляемых ошибок равным t=Tmax-2, необходимо деактивировать по четыре крайних правых фильтра БИХ и КИХ.
Для наилучшего применения схемы заявленного кодера в параллельном исполнении необходимо рассмотреть работу КИХ и БИХ фильтров на каждом такте работы. Тогда для первых четырех тактов работы выход БИХ фильтра можно записать:
Данное выражение можно продолжать сколь угодно долго для непрерывно поступающих данных. Согласно рассмотренного для четырех тактов выражения можно составить схему параллельного БИХ-фильтра представленного на Фиг. 7 (параметр распараллеливания равен 4). Аналогично можно построить схему параллельного КИХ-фильтра первого порядка. Таким образом, схему реконфигурируемого кодера Рида - Соломона с конвейеризацией, представленной на Фиг. 6, можно представить в параллельном виде, как показано на Фиг. 8. Все БИХ-фильтры (805) и КИХ-фильтры (805) состоят из аналогичных элементов, меняется лишь порядок умножителей с номером фильтра от 1 до Tmax.
Заявленный параллельный реконфигурируемый кодер Рида-Соломона имеет следующие преимущества.
Содержит:
- умножители в поле Галуа;
- параллельные фильтры БИХ первого порядка в количестве 2 Tmax штук;
- параллельные фильтры КИХ первого порядка в количестве 2Tmax штук;
- элементы «И» включения\отключения определенных фильтров в общую цепь;
- регистры для конвейеризации схемы кодера;
- сумматоры в поле Галуа;
- элемент «И» включения\отключения фильтра БИХ;
Может быть реконфигурирован под любое количество исправляемых ошибок от до 0, а также обладает высоким быстродействием ввиду возможности конвейеризации.
Позволяет осуществлять ввод/вывод данных в параллельном виде, поступающие с шины данных разрядностью выше разрешения поля Галуа.
При применении для кодов Рида - Соломона обладает крайне высоким быстродействием ввиду параллельного исполнения и минимальных критических путей между тактируемыми регистрами из-за возможности вставки конвейерных регистров между фильтрами.
При применении для кодов Рида - Соломона использует минимальные аппаратные ресурсы, сопоставимые с аналогичным нереконфигурируемым кодером.
Предельно прост в управлении. Перед загрузкой данных необходимо проинициализировать сигналы разрешения (например t>Tmax-1 - для количества исправляемых ошибок равное Tmax, или t>Tmax-3 - для количества исправляемых ошибок равного Tmax-2,
определенных фильтров, «включить» те фильтры которые необходимы для заданного количества исправляемых ошибок. Первые к тактов необходимо загрузить данные, при этом привести сигнал data_ecc в состоянии «1», после чего обнулить сигнал data_ecc, в результате чего в течении следующих 2t тактов будет происходить выгрузка контрольных символов данных.
Может быть реализован в одном из следующих устройств: контроллер жестких дисков, контроллер дисков SSD, контроллер NAND-flash памяти, IP-блок в составе СнК и др.
Хотя описанный выше вариант выполнения полезной модели был изложен с целью иллюстрации заявленной полезной модели, специалистам ясно, что возможны разные модификации, добавления и замены, не выходящие из объема и смысла заявленной полезной модели, раскрытой в прилагаемой формуле полезной модели.
Claims (1)
- Параллельный реконфигурируемый кодер Рида-Соломона, содержащий массив элементов «И», цепь последовательно соединенных параллельных БИХ-фильтров первого порядка и цепь последовательно соединенных параллельных КИХ-фильтров первого порядка, причем параллельный БИХ-фильтр состоит из одного элемента памяти и по меньшей мере двух сумматоров, двух умножителей, двух управляющих элементов «И», причем первый вход первого сумматора соединен с первым входом БИХ-фильтра, а второй вход соединен с выходом элемента памяти, выход первого сумматора соединен с первым выходом БИХ-фильтра и со входом первого умножителя, выход которого соединен с первым входом элемента «И», выход которого соединен со вторым входом следующего сумматора, а первый вход этого сумматора соединен со следующим входом БИХ-фильтра, а выход этого сумматора соединен со следующим выходом БИХ-фильтра и входом следующего умножителя, выход которого соединен с первым входом следующего элемента «И», выход последнего элемента «И» соединен с входом элемента памяти, при этом все вторые входы элементов «И» соединены с управляющим входом БИХ-фильтра, соответствующие выходы БИХ-фильтра, в случае конвейеризации, соединены с входами конвейерных регистров, выходы которых соединены с соответствующими входами следующего БИХ-фильтра, в случае без конвейеризации, соответствующие выходы БИХ-фильтра соединены с соответствующими входами следующего БИХ-фильтра напрямую, соответствующие выходы последнего БИХ-фильтра соединены с первыми входами массива элементов «И», вторые входы которого соединены с управляющим входом кодера, а соответствующие выходы соединены с соответствующими входами параллельного КИХ-фильтра первого порядка, причем параллельный КИХ-фильтр состоит из одного элемента памяти и по меньшей мере двух сумматоров, двух умножителей, двух управляющих элементов «И», причем выход первого сумматора соединен с первым выходом КИХ-фильтра, а первый вход сумматора соединен с выходом элемента памяти, второй вход соединен с первым входом КИХ-фильтра и входом первого умножителя, выход которого соединен с первым входом первого элемента «И», выход которого соединен с первым входом следующего сумматора, второй вход которого соединен со следующим входом КИХ-фильтра и входом следующего умножителя, выход которого соединен с первым входом следующего элемента «И», выход последнего элемента «И» соединен со входом элемента памяти, а все вторые входы элементов «И» соединены с управляющим входом КИХ-фильтра, соответствующие выходы КИХ-фильтра, в случае конвейеризации, соединены с входами конвейерных регистров, выходы которых соединены с соответствующими входами следующего КИХ-фильтра, в противном случае соответствующие выходы КИХ-фильтра соединены с соответствующими входами следующего КИХ-фильтра напрямую, соответствующие выходы последнего в цепи КИХ-фильтра соединены с соответствующими выходами кодера.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018141329U RU188390U1 (ru) | 2018-11-23 | 2018-11-23 | Параллельный реконфигурируемый кодер рида-соломона |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2018141329U RU188390U1 (ru) | 2018-11-23 | 2018-11-23 | Параллельный реконфигурируемый кодер рида-соломона |
Publications (1)
Publication Number | Publication Date |
---|---|
RU188390U1 true RU188390U1 (ru) | 2019-04-09 |
Family
ID=66087751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2018141329U RU188390U1 (ru) | 2018-11-23 | 2018-11-23 | Параллельный реконфигурируемый кодер рида-соломона |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU188390U1 (ru) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SU1716609A1 (ru) * | 1989-06-06 | 1992-02-28 | Ленинградский Электротехнический Институт Связи Им.Проф.М.А.Бонч-Бруевича | Кодирующее устройство кода Рида-Соломона |
US6826723B2 (en) * | 2001-05-09 | 2004-11-30 | Agere Systems Inc. | Multi-rate reed-solomon encoders |
US7082564B2 (en) * | 2002-09-23 | 2006-07-25 | Agere Systems Inc. | High throughput Reed-Solomon encoder |
US8151172B2 (en) * | 2008-07-10 | 2012-04-03 | Lsi Corporation | Adjustable error-correction for a reed solomon encoder/decoder |
US8464141B2 (en) * | 2008-08-13 | 2013-06-11 | Infineon Technologies Ag | Programmable error correction capability for BCH codes |
RU2605672C1 (ru) * | 2015-07-21 | 2016-12-27 | Открытое акционерное общество Научно-производственный центр "Электронные вычислительно-информационные системы" | Реконфигурируемый кодер рида-соломона |
-
2018
- 2018-11-23 RU RU2018141329U patent/RU188390U1/ru not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SU1716609A1 (ru) * | 1989-06-06 | 1992-02-28 | Ленинградский Электротехнический Институт Связи Им.Проф.М.А.Бонч-Бруевича | Кодирующее устройство кода Рида-Соломона |
US6826723B2 (en) * | 2001-05-09 | 2004-11-30 | Agere Systems Inc. | Multi-rate reed-solomon encoders |
US7082564B2 (en) * | 2002-09-23 | 2006-07-25 | Agere Systems Inc. | High throughput Reed-Solomon encoder |
US8151172B2 (en) * | 2008-07-10 | 2012-04-03 | Lsi Corporation | Adjustable error-correction for a reed solomon encoder/decoder |
US8464141B2 (en) * | 2008-08-13 | 2013-06-11 | Infineon Technologies Ag | Programmable error correction capability for BCH codes |
RU2605672C1 (ru) * | 2015-07-21 | 2016-12-27 | Открытое акционерное общество Научно-производственный центр "Электронные вычислительно-информационные системы" | Реконфигурируемый кодер рида-соломона |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8812940B2 (en) | Programmable error correction capability for BCH codes | |
JP4460047B2 (ja) | ガロア体乗算システム | |
JP4978625B2 (ja) | 誤り訂正符号化方法及び装置 | |
JP5700041B2 (ja) | 符号化装置、誤り訂正符号構成方法およびそのプログラム | |
Freudenberger et al. | A configurable Bose–Chaudhuri–Hocquenghem codec architecture for flash controller applications | |
Wilhelm | A new scalable VLSI architecture for Reed-Solomon decoders | |
US8719678B2 (en) | Configurable encoder for cyclic error correction codes | |
Ayinala et al. | Efficient parallel VLSI architecture for linear feedback shift registers | |
US9065482B1 (en) | Circuit for forward error correction encoding of data blocks | |
JPH09505952A (ja) | プログラム可能な冗長/シンドローム生成装置 | |
RU2605672C1 (ru) | Реконфигурируемый кодер рида-соломона | |
RU188390U1 (ru) | Параллельный реконфигурируемый кодер рида-соломона | |
KR20190003315A (ko) | 일반화된 텐서곱(gtp) 코드의 효율적인 인코딩 방법 및 그 장치 | |
RU2713517C1 (ru) | Параллельный реконфигурируемый кодер рида-соломона | |
US6405339B1 (en) | Parallelized programmable encoder/syndrome generator | |
Belyaev et al. | Reed-solomon encoder design by means of the digital filtration | |
RU160960U1 (ru) | Реконфигурируемый кодер рида-соломона | |
WO1991020028A1 (en) | Universal galois field multiplier | |
RU157943U1 (ru) | Параллельный реконфигурируемый кодер бчх кодов | |
EP2434650A1 (en) | Reed-Solomon encoder with simplified Galois field multipliers | |
Mursanto | Generic reed solomon encoder | |
RU2601827C1 (ru) | Реконфигурируемый кодер бчх кодов | |
RU160863U1 (ru) | Реконфигурируемый кодер бчх кодов | |
Lee et al. | Implementation of parallel BCH encoder employing tree-type systolic array architecture | |
Shukla | LFSR based versatile divider architectures for BCH and RS error correction encoders |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MG9K | Termination of a utility model due to grant of a patent for identical subject |
Ref document number: 2713517 Country of ref document: RU Effective date: 20200205 |