RU188390U1 - Параллельный реконфигурируемый кодер рида-соломона - Google Patents

Параллельный реконфигурируемый кодер рида-соломона Download PDF

Info

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
Application number
RU2018141329U
Other languages
English (en)
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 RU2018141329U priority Critical patent/RU188390U1/ru
Application granted granted Critical
Publication of RU188390U1 publication Critical patent/RU188390U1/ru

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C19/00Digital stores in which the information is moved stepwise, e.g. shift registers
    • G11C19/28Digital stores in which the information is moved stepwise, e.g. shift registers using semiconductor elements
    • G11C19/287Organisation of a multiplicity of shift registers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C27/00Electric analogue stores, e.g. for storing instantaneous values
    • G11C27/04Shift registers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/158Finite field arithmetic processing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support 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. Функциональная схема параллельного реконфигурируемого кодера Рида - Соломона с применением БИХ и КИХ-фильтров с конвейеризацией, выполненная согласно полезной модели.
Рассмотрим кратко принцип функционирования заявленного параллельного реконфигурируемого кодера Рида-Соломона. Исходя из определения кодов Рида - Соломона, систематическое кодирование осуществляют следующим образом:
Figure 00000001
где m(х) - входные незакодированные данные,
g(x) - порождающий полином,
t - количество исправляемых ошибок,
q(x) - частное от деления,
r(х) - остаток от делении на g(x).
При этом, результирующее кодовое слово (закодированные данные) в систематическом виде представляют как:
Figure 00000002
где с(х) - кодовое слово.
Таким образом, данные на выходе кодера остаются неизменными, однако к ним добавляют контрольные данные 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. Выход у(х) БИХ-фильтра можно записать следующим образом:
Figure 00000003
Однако, выход z(x) РЛОС, применительно для кодирования отличается, так как выведен до сумматора (104 или 201), а именно:
Figure 00000004
Эквивалентная схема выражения (4) представлена на Фиг. 2. Домножив последнее слагаемое m(х) в выражении (4) на
Figure 00000005
, и разделив соответственно, получим:
Figure 00000006
Все математические операции осуществляют в поле Галуа 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) для кодов Рида - Соломона представим в виде:
Figure 00000007
где а∈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, необходимо деактивировать по четыре крайних правых фильтра БИХ и КИХ.
Для наилучшего применения схемы заявленного кодера в параллельном исполнении необходимо рассмотреть работу КИХ и БИХ фильтров на каждом такте работы. Тогда для первых четырех тактов работы выход БИХ фильтра можно записать:
Figure 00000008
Данное выражение можно продолжать сколь угодно долго для непрерывно поступающих данных. Согласно рассмотренного для четырех тактов выражения можно составить схему параллельного БИХ-фильтра представленного на Фиг. 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)

  1. Параллельный реконфигурируемый кодер Рида-Соломона, содержащий массив элементов «И», цепь последовательно соединенных параллельных БИХ-фильтров первого порядка и цепь последовательно соединенных параллельных КИХ-фильтров первого порядка, причем параллельный БИХ-фильтр состоит из одного элемента памяти и по меньшей мере двух сумматоров, двух умножителей, двух управляющих элементов «И», причем первый вход первого сумматора соединен с первым входом БИХ-фильтра, а второй вход соединен с выходом элемента памяти, выход первого сумматора соединен с первым выходом БИХ-фильтра и со входом первого умножителя, выход которого соединен с первым входом элемента «И», выход которого соединен со вторым входом следующего сумматора, а первый вход этого сумматора соединен со следующим входом БИХ-фильтра, а выход этого сумматора соединен со следующим выходом БИХ-фильтра и входом следующего умножителя, выход которого соединен с первым входом следующего элемента «И», выход последнего элемента «И» соединен с входом элемента памяти, при этом все вторые входы элементов «И» соединены с управляющим входом БИХ-фильтра, соответствующие выходы БИХ-фильтра, в случае конвейеризации, соединены с входами конвейерных регистров, выходы которых соединены с соответствующими входами следующего БИХ-фильтра, в случае без конвейеризации, соответствующие выходы БИХ-фильтра соединены с соответствующими входами следующего БИХ-фильтра напрямую, соответствующие выходы последнего БИХ-фильтра соединены с первыми входами массива элементов «И», вторые входы которого соединены с управляющим входом кодера, а соответствующие выходы соединены с соответствующими входами параллельного КИХ-фильтра первого порядка, причем параллельный КИХ-фильтр состоит из одного элемента памяти и по меньшей мере двух сумматоров, двух умножителей, двух управляющих элементов «И», причем выход первого сумматора соединен с первым выходом КИХ-фильтра, а первый вход сумматора соединен с выходом элемента памяти, второй вход соединен с первым входом КИХ-фильтра и входом первого умножителя, выход которого соединен с первым входом первого элемента «И», выход которого соединен с первым входом следующего сумматора, второй вход которого соединен со следующим входом КИХ-фильтра и входом следующего умножителя, выход которого соединен с первым входом следующего элемента «И», выход последнего элемента «И» соединен со входом элемента памяти, а все вторые входы элементов «И» соединены с управляющим входом КИХ-фильтра, соответствующие выходы КИХ-фильтра, в случае конвейеризации, соединены с входами конвейерных регистров, выходы которых соединены с соответствующими входами следующего КИХ-фильтра, в противном случае соответствующие выходы КИХ-фильтра соединены с соответствующими входами следующего КИХ-фильтра напрямую, соответствующие выходы последнего в цепи КИХ-фильтра соединены с соответствующими выходами кодера.
RU2018141329U 2018-11-23 2018-11-23 Параллельный реконфигурируемый кодер рида-соломона RU188390U1 (ru)

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)

* Cited by examiner, † Cited by third party
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 Открытое акционерное общество Научно-производственный центр "Электронные вычислительно-информационные системы" Реконфигурируемый кодер рида-соломона

Patent Citations (6)

* Cited by examiner, † Cited by third party
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