DE10133595A1 - Pufferschaltung, Speicherzugriffsverfahren, Speicherbauelement und Reed-Solomon-Decoder - Google Patents
Pufferschaltung, Speicherzugriffsverfahren, Speicherbauelement und Reed-Solomon-DecoderInfo
- Publication number
- DE10133595A1 DE10133595A1 DE10133595A DE10133595A DE10133595A1 DE 10133595 A1 DE10133595 A1 DE 10133595A1 DE 10133595 A DE10133595 A DE 10133595A DE 10133595 A DE10133595 A DE 10133595A DE 10133595 A1 DE10133595 A1 DE 10133595A1
- Authority
- DE
- Germany
- Prior art keywords
- bank
- double
- ram
- during
- frame period
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
-
- 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/1555—Pipelined decoder implementations
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/10—Decoders
-
- 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/65—Purpose and implementation aspects
- H03M13/6566—Implementations concerning memory access contentions
Abstract
Die Erfindung bezieht sich auf eine Pufferschaltung zum gleichzeitigen Schreiben und Lesen von Daten während jeweiliger, aufeinanderfolgender Rahmenperioden, ein Verfahren zum Zugreifen auf mehrere Doppelbank-Speicher und auf einen zugehörigen Reed-Solomon-Decoder vom Pipelinetyp. DOLLAR A Erfindungsgemäß beinhaltet die Pufferschaltung bzw. das Speicherbauelement (180) für den Reed-Solomon-Decoder mehrere Doppelbank-RAMs (310, 320, 330), um gleichzeitige Schreib/Lese-Vorgänge zu ermöglichen. Eine Speichersteuerung (300) gibt das Schreiben in und das Lesen aus den Doppelbank-RAMs während der jeweils aufeinanderfolgenden Rahmenperioden derart frei, dass aus jeder Bank des Doppelbank-RAMs in Abständen einer gegebenen Anzahl von Rahmenperioden gelesen und in denselben Abständen in selbige geschrieben wird, wobei jeweils diejenige Bank, aus der gelesen wird, in einem anderen Doppelbank-RAM enthalten ist als diejenige Bank, in die gleichzeitig geschrieben wird. DOLLAR A Verwendung z. B. in digitalen Datenkommunikations- und Datenspeichersystemen.
Description
Die Erfindung bezieht sich auf eine Pufferschaltung zum gleichzeitigen
Schreiben und Lesen von Daten während einer jeweiligen von aufeinan
derfolgenden Datenrahmenperioden, auf ein zugehöriges Speicherzugriffs
verfahren, auf einen Reed-Solomon-Decoder mit Pipelinebetrieb und auf
ein entsprechendes Speicherbauelement.
Beim Übertragen und Speichern großer digitaler Datenmengen treten un
vermeidlich Fehler in den Datenkanälen und Übertragungsmedien auf. Es
sind eine Vielzahl von Techniken bekannt, mit denen versucht wird, derar
tige Fehler zu identifizieren und die Daten wiederzugewinnen, soweit mög
lich. Von diesen Techniken hat die Reed-Solomon-Codierung breite An
wendung gefunden. Reed-Solomon-Codes sind blockbasierte Fehlerkor
rekturcodes, die ausgezeichnete Fehlerkorrekturfähigkeiten sowie effizien
te Codierungs- und Decodierungseigenschaften zeigen und daher eine
breite Palette von Anwendungsmöglichkeiten in Einrichtungen zur digitalen
Kommunikation und Speicherung besitzen.
Allgemein formt ein Reed-Solomon-Codierer ein Codewort, das eine An
zahl n von Symbolen aufweist, z. B. 8-Bit-Bytes, durch Hinzufügen einer
Anzahl 2t von Paritätssymbolen in einen Datenblock mit einer Anzahl k von
Datensymbolen um, wobei 2t = n - k gilt. Reed-Solomon-Codeworte werden
üblicherweise mit den Buchstaben RS(n,k) bezeichnet. Beispielsweise be
sitzt im Code RS(255,223) jedes Codewort 255 Codewort-Bytes, die sich
auf 223 Daten-Bytes und 32 Paritäts-Bytes aufteilen.
Andererseits verarbeitet ein Reed-Solomon-Decoder jedes Codewort mit
dem Ziel, Fehler zu korrigieren, die während einer Übertragung oder Spei
cherung auftreten, und die Originaldaten wiederzugewinnen. Der Decoder
ist in der Lage, bis zu t Fehlersymbole in jedem Codewort zu korrigieren.
Beispielsweise ist im Code RS(255,223) n - k = 2t = 32, so dass bis zu 16 Feh
lersymbole in jedem Codewort korrigiert werden können.
Allgemein kann der Reed-Solomon-Decodierprozess in acht hauptsächli
che Berechnungsschritte unterteilt werden, wenn sowohl eine Fehler- als
auch eine Irrungs-Korrektur durchgeführt werden. Eine "Irrung" liegt vor,
wenn der Wert eines Symbols unrichtig ist, die Position des Symbols je
doch bekannt ist. Ein "Fehler" liegt vor, wenn keine Information bezüglich
eines unrichtigen Symbols bekannt ist. Die Berechnungsschritte der Feh
ler- und Irrungs-Decodierung sind folgende. Im ersten Schritt wird aus dem
empfangenen/wiedergewonnenen, eingegebenen Codewort ein Syndrom
berechnet, um die Existenz eines Fehlers zu detektieren. In einem zweiten
Schritt werden Irrungs-Merker gepuffert, die synchron mit dem eingegebe
nen Codewort zugeführt werden. In einem dritten Schritt wird das Syndrom
unter Verwendung der Irrungs-Merker modifiziert. In einem vierten Schritt
wird ein Irrungs-Lokalisierpolynom erzeugt. In einem fünften Schritt werden
Koeffizienten des Irrungs-Lokalisierpolynoms und ein Fehlerbestimmungs
polynom unter Verwendung der modifizierten Syndromwerte und des Ir
rungs-Lokalisierpolynoms berechnet. In einem sechsten Schritt werden die
Wurzeln des Fehler-Lokalisierpolynoms aufgesucht. In einem siebten
Schritt wird die Größe von Fehlerwerten berechnet. In einem achten Schritt
werden die Fehler unter Verwendung des im vierten Schritt erhaltenen
Wertes und der im dritten Schritt gewonnenen Position korrigiert. Wenn nur
eine Fehlerkorrektur und keine Irrungskorrektur durchgeführt wird, entfallen
der zweite bis vierte Schritt.
Die obigen acht Schritte erfordern Speicherzugriff. So wird das empfange
ne Codewort im ersten Schritt temporär in einem Speicher gespeichert und
später im achten Schritt wieder aus dem Speicher zur Korrektur abgerufen.
Die Decodierberechnungen sowie die zugehörige Hardware und/oder
Software des Reed-Solomon-Decoders sind komplexer als für den Codier
prozess, und es ist oftmals schwierig, Decoder zu realisieren, die ausrei
chend hohe Verarbeitungsgeschwindigkeiten haben. Dies kann speziell im
Hinblick auf den gegenwärtigen Bedarf nach digitalen Datenverarbeitungs
systemen mit höherer Geschwindigkeit zu Problemen führen.
Im Bemühen, die Geschwindigkeiten zu steigern, ist das Ausführen der Be
rechnungen des Reed-Solomon-Decoders im Pipelinebetrieb eine mögli
che Lösung. Die Berechnungen haben jedoch unterschiedliche Latenzen in
Abhängigkeit von der Anzahl an Fehlern und den Längen der Codeworte,
so dass der Pipelinebetrieb durch die Einheit oder den Block mit der längs
ten Latenz begrenzt ist. Außerdem erzeugt, selbst wenn Latenzen der Ver
arbeitungsblöcke auf einen einzelnen Rahmen mit einer Anzahl n von Zyk
len, d. h. ein Codewort, reduziert werden, der Speicher zum temporären
Speichern des angegebenen Codeworts vor der Korrektur einen Engpass,
da mindestens 2n Zyklen benötigt werden, um zuerst das Codewort zu
speichern und dann das Codewort zwecks Korrektur desselben wieder ab
zurufen.
Der Erfindung liegt als technisches Problem die Bereitstellung einer Puffer
schaltung, eines Speicherzugriffsverfahrens, eines Reed-Solomon-
Decoders und eines Speicherbauelementes der eingangs genannten Art
zugrunde, welche die Ausführung von Schreib/Lese-Vorgängen mit hoher
Geschwindigkeit ermöglichen und möglichst geringe Speicherzugriffszeiten
besitzen.
Die Erfindung löst dieses Problem durch die Bereitstellung einer Puffer
schaltung mit den Merkmalen des Anspruchs 1, eines Speicherzugriffsver
fahrens mit den Merkmalen des Anspruchs 7 oder 29, eines Reed-
Solomon-Decoders mit den Merkmalen des Anspruchs 13 oder 20 sowie
eines Speicherbauelementes mit den Merkmalen des Anspruchs 25.
Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen
angegeben.
Vorteilhafte Ausführungsformen der Erfindung sind in den Zeichnungen
dargestellt und werden nachfolgend beschrieben. Hierbei zeigen:
Fig. 1 ein Blockschaltbild eines auf Blockpipelinebetrieb hoher Ge
schwindigkeit ausgelegten Reed-Solomon-Decoders,
Fig. 2 ein Blockdiagramm zur Veranschaulichung der Latenzen der Ver
arbeitungsblöcke des Reed-Solomon-Decoders von Fig. 1,
Fig. 3 ein Blockdiagramm eines 3-RAM-Doppelbankbauelementes,
Fig. 4 ein Flussdiagramm eines Verfahrens zum Zugreifen auf das 3-
RAM-Doppelbankbauelement von Fig. 3,
Fig. 5 und 6 Blockdiagramme zur Veranschaulichung der Auswahl von
Bänken während Schreib/Lese-Vorgängen im 3-RAM-Doppel
bankbauelement von Fig. 3 und
Fig. 7 ein Ablaufdiagramm zur Veranschaulichung des Pipelinebetriebs
des Reed-Solomon-Decoders von Fig. 1.
Fig. 1 veranschaulicht einen Reed-Solomon-Decoder, der für einen Block
pipelinebetrieb mit hoher Geschwindigkeit ausgelegt ist. Dabei ist er so
wohl zur Fehler- als auch zur Irrungskorrektur eingerichtet. Wie gezeigt,
sind die Reed-Solomon-Decoderberechnungen im Pipelinebetrieb in fünf
Stufen S1 bis S5 aufgeteilt. In einer alternativen, nur auf Fehlerkorrektur
ausgelegten Realisierung fehlen verglichen mit der Konfiguration von Fig. 1
die innerhalb der gestrichelten Linie 110 enthaltenen Elemente, so dass
dann nur vier Pipelinestufen benötigt werden.
Der Reed-Solomon-Decoder von Fig. 1 besitzt ein 3-RAM-Doppelbank
bauelement 180 zum temporären Speichern eingegebener Daten DIN, d. h.
eines Codeworts R(x). Dieses Bauelement besteht aus drei Speichern, z. B.
drei RAMs, von denen jeder zwei Bänke umfasst. Ein zirkularer Steuerme
chanismus wird dazu verwendet, Schreib/Lese-Vorgänge in Abhängigkeit
von einem Dateneingabetaktsignal CLK auszuführen. Kurz gesagt schreibt
das 3-RAM-Doppelbankbauelement 180 die Eingabedaten DIN in ein aus
gewähltes der drei RAMs und liest Daten aus einer Bank eines der ande
ren RAMs aus. Die Struktur und Betriebsweise des 3-RAM-
Doppelbankbauelements 180 wird unten in Verbindung mit Fig. 3 genauer
erläutert.
Wie weiter aus Fig. 1 ersichtlich, beinhaltet der Reed-Solomon-Decoder
zur Fehler- und Irrungskorrektur des weiteren einen Syndromgenerator
100, einen Merker-Zähler und -Puffer 120, einen Irrungslokalisierpolynom
generator 130, einen Syndrommodifizierer 140, einen Polynomkoeffizien
tengenerator 150, eine Fehlerwertbestimmungseinheit 160, eine Fehlerpo
sitionssucheinheit 170 und einen Fehlerkorrektor 190. Wie vorstehend er
wähnt, sind die von diesen Komponenten durchgeführten Berechnungen in
die Stufen S1 bis S5 im Pipelinebetrieb aufgeteilt.
In der Stufe S1 berechnet der Syndromgenerator 100 ein Syndrom S(x)
aus den Eingabedaten DIN. Außerdem zählt der Merker-Zähler und -Puffer
120 die Anzahl an Irrungsmerkern Era_Flag, die synchron mit den Einga
bedaten DIN zugeführt werden und puffert die Irrungsmerker Era_Flag.
Wenn keine Irrungsmerker Era_Flag vorliegen oder die Anzahl an einge
gebenen Irrungsmerkern Era_Flag außerhalb eines erlaubten Korrekturbe
reichs liegt, wird nur eine Fehlerkorrektur durchgeführt. Dabei kann der er
laubte Korrekturbereich so definiert werden, dass nur eine Fehlerkorrektur
durchgeführt wird, wenn mehr lrrungsmerker Era_Flag als die Anzahl an
Irrungsmerkern des erlaubten Korrekturbereichs eingegeben werden. Wie
gesagt, braucht der Reed-Solomon-Decoder den Merker-Zähler und Mer
ker-Puffer 120 zur bloßen Fehlerkorrektur nicht zu enthalten.
In der Stufe S2 modifiziert der Syndrommodifizierer 140 das vom Syn
dromgenerator 100 generierte Syndrom S(x) mit den gepufferten Irrungs
merkern und gibt ein modifiziertes Syndrom T(x) ab. Im Fall einer bloßen
Fehlerkorrektur wird das Syndrom S(x) nicht modifiziert, und der Syn
drommodifizierer 140 entfällt. Der Irrungslokalisierpolynomgenerator 130
erzeugt ein Irrungslokalisierpolynom unter Verwendung der gepufferten
Irrungsmerker. Wie oben erwähnt, wird nur eine Fehlerkorrektur durchge
führt, wenn die Anzahl an eingegebenen Irrungsmerkern Era Flag gleich
null ist oder außerhalb eines erlaubten Korrekturbereichs liegt. In diesem
Fall generiert der Irrungslokalisierpolynomgenerator 130 einen Konstant
wert, z. B. den Wert eins, anstelle eines Irrungslokalisierpolynoms.
In der Stufe S3 erzeugt der Polynomkoeffizientengenerator 150 die Koeffi
zienten eines Fehlerlokalisierpolynoms σ(x) zur Fehlerpositionssuche und
ein Fehlerbestimmungspolynom e(x) zur Fehlerbestimmung unter Verwen
dung des modifizierten Syndroms T(x) und des Irrungslokalisierpolynoms
bzw. des Konstantwertes 1. In diesem Ausführungsbeispiel verwendet der
Polynomkoeffizientengenerator 150 einen euklidischen Algorithmus. Es
versteht sich jedoch, dass genauso gut auch andere bekannte Algorithmen
benutzt werden können. Nochmals sei gesagt, dass zur bloßen Fehlerkor
rektur die im Block 110 enthaltenen Elemente entfallen können, so dass
dann die Koeffizienten des Fehlerlokalisierpolynoms σ(x) und des Fehler
bestimmungspolynoms e(x) unter Verwendung des unmodifizierten Syn
droms S(x) und des Konstantwertes, z. B. des Wertes 1, erzeugt werden.
In der Stufe S4 berechnet die Fehlerwertbestimmungseinheit 160 Fehler
werte, und die Fehlerpositionssucheinheit 170 berechnet Fehlerpositionen
auf der Basis der Koeffizienten des Fehlerlokalisierpolynoms σ(x) und des
Fehlerbestimmungspolynoms e(x). Beispielsweise kann zur Berechnung
der Lösung des Fehlerlokalisierpolynoms σ(x) und zur Transformation der
erhaltenen Lösung in eine Polynomform ein Chien-Suchalgorithmus ver
wendet werden. Das transformierte Fehlerlokalisierpolynom, das mit Ω(x)
bezeichnet ist, wird zur Berechnung von Fehlerpositionen herangezogen.
In gleicher Weise berechnet die Fehlerwertbestimmungseinheit 160 aus
den vom Polynomkoeffizientengenerator 150 zugeführten Koeffizienten ein
Fehlerbestimmungspolynom E(x). Hierbei können die Fehlerpositionssuch
einheit 170 und die Fehlerwertbestimmungseinheit 160 gemeinsam als ei
ne Fehlerpositions- und Fehlerwert-Bestimmungseinheit bezeichnet wer
den.
In der Stufe S5 greift der Fehlerkorrektor 190 von Fig. 1 auf das 3-RAM-
Dualbankbauelement 180 zu, um die zuvor in dieses geschriebenen Daten
DIN zu lesen, wonach er die Fehler der gelesenen Daten unter Bezug
nahme auf die durch die Fehlerpositionssucheinheit 170 identifizierten Feh
lerpositionen und unter Bezugnahme auf die von der Fehlerwertbestim
mungseinheit 160 berechneten Fehlerwerte korrigiert. Insbesondere korri
giert der Fehlerkorrektor 190 die Fehler, die in den Eingabedaten DIN,
die aus dem 3-RAM-Doppelbankbauelement 180 wiedergewonnen wur
den, enthalten sind, dadurch, dass die Eingabedaten DIN und die berech
neten Fehlerwerte summiert werden und auf diese Weise Ausgabedaten
DOUT erhalten werden, d. h. korrigierte Daten R'(x).
In nicht näher gezeigter Weise führt jeder Pipelinebetrieb-Verarbeitungs
block des Reed-Solomon-Decoders von Fig. 1 die zugehörigen Berech
nungen in den Stufen S1 bis S5 in Abhängigkeit von einem Systemtaktsig
nal durch.
Fig. 2 veranschaulicht die Latenz der Stufen S1 bis S5 des Reed-Solomon-
Decoders von Fig. 1. Wie daraus ersichtlich, ist die maximale Latenz jedes
Verarbeitungsblocks der Stufen S1, S2, S4 und S5 gleich einer Anzahl n
an Zyklen, d. h. einem Block, wobei n die Anzahl von Bytes in jedem Co
dewort ist. Auch im Verarbeitungsblock der Stufe S3 beträgt die maximale
Latenz n Zyklen. Es sei an dieser Stelle erwähnt, dass in einer diesbezüg
lichen US-Patentanmeldung Nr. 09/528.676 mit Anmeldetag 20. März
2000, auf die hierzu verwiesen wird, eine Technik zur Verringerung der
maximalen Latenz der dritten Stufe S3, die sich auf die Polynomkoeffizien
tenerzeugung bezieht, auf n Zyklen beschrieben ist.
Somit ist gemäß Fig. 2 die maximale Latenz der Reed-Solomon-
Berechnungsblöcke gleich n Zyklen. Allgemein ist der Pipelinebetrieb
durch die Einheit bzw. den Block mit der höchsten Latenz begrenzt. Auch
bei einer maximalen Latenz der Verarbeitungsblöcke von n Zyklen bzw.
einem Rahmen erzeugt die Verwendung eines herkömmlichen Reed-
Solomon-Decoderspeichers zum temporären Speichern des vor der Kor
rektur eingegebenen Codeworts einen Engpass. Dies liegt daran, dass der
herkömmliche Speicher mindestens 2n Zyklen bzw. zwei Rahmen benötigt,
um zuerst während der Stufe S1 das Codewort zu speichern und dann in
der Stufe S5 das Codewort zwecks Korrektur desselben wiederzugewin
nen. Das erfindungsgemäße 3-RAM-Doppelbankbauelement überwindet,
wie unten erläutert, diese Schwierigkeit durch Reduzieren der Latenz der
Schreib/Lese-Speichervorgänge auf n Zyklen bzw. 1 Rahmen.
Eine bevorzugte Realisierung des 3-RAM-Doppelbankbauelementes 180
von Fig. 1 ist in Fig. 3 dargestellt. Wie daraus ersichtlich, umfasst dieses 3-
RAM-Doppelbankbauelement 180 eine zirkulare Puftersteuereinheit 300,
ein erstes Doppelbank-RAM 310, ein zweites Doppelbank-RAM 320 und
ein drittes Doppelbank-RAM 330. Das erste Doppelbank-RAM 310 ist in
eine BANK 0 und BANK 1, das zweite Doppelbank-RAM 320 in eine BANK
2 und BANK 3 und das dritte Doppelbank-RAM 330 in eine BANK 4 und
eine BANK 5 unterteilt. Ein Adresssignal ADDR[7 : 0] wird einem 8-Bit-
Adressbus 340 zugeführt, und die Eingabedaten DIN[7 : 0] werden einem 8-
Bit-Datenbus 350 zugeführt. Das Ausgangssignal des 3-RAM-Doppelbank
bauelements 180 ist ein paralleles 8-Bit-Signal MOUT[7 : 0], das dem in Fig.
1 gezeigten Fehlerkorrektor 190 zugeführt wird.
Die zirkulare Puffersteuereinheit 300 gibt einen Lese/Schreib-Befehl
RE/WR, ein Freigabesignal ENABLE und ein Bankauswahlsignal BK SEL
an jedes der RAMs 310, 320 und 330 ab. Der Lese/Schreib-Befehl RE/WR
spezifiziert einen Lese- oder Schreibvorgang für jedes RAM 310, 320, 330,
und das Freigabesignal ENABLE gibt selektiv das jeweilige RAM 310, 320,
330 frei. Des weiteren wird das Bankauswahlsignal BK_SEL zum Adress
signal ADDR[7 : 0] zwecks Auswahl einer der beiden Bänke des jeweiligen
RAMs 310, 320, 330 addiert. Beispielsweise wird, wenn das Bankauswahl
signal BK_SEL gleich null ist, eine erste der zwei Bänke eines zugehörigen
RAMs ausgewählt, während eine zweite Bank desselben ausgewählt wird,
wenn das Bankauswahlsignal BK_SEL gleich eins ist. Auf diese Weise
fungieren der Lese/Schreib-Befehl RE/WR, das Freigabesignal ENABLE
und das Bankauswahlsignal BK_SEL gemeinsam als ein Schreib-
Bankzeiger und/oder ein Lese-Bankzeiger, der das Schreiben bzw. Lesen
ausgewählter einzelner Bänke der RAMs 310, 320, 330 spezifiziert.
Im Betrieb legt die zirkulare Puffersteuereinheit 300 effektiv sowohl einen
Schreib-Bankzeiger als auch einen Lese-Bankzeiger in jedem Speicher
zyklus fest. Diese Schreib- und Lese-Bankzeiger werden so festgelegt,
dass sich die Schreib-Bank und die Lese-Bank in verschiedenen der RAMs
310, 320, 330 befinden und ein vorgegebener Versatz zwischen der
Schreib-Bank und der Lese-Bank von Speicherzyklus zu Speicherzyklus
aufrechterhalten wird. Auf diese Weise können das Schreiben eines Daten
rahmens, d. h. eines Codeworts, und das Lesen eines anderen Datenrah
mens in jedem von aufeinanderfolgenden Speicherzyklen gleichzeitig
durchgeführt werden.
Spezieller legt die zirkulare Puffersteuereinheit 300 in jedem Speicherzyk
lus das Freigabesignal ENABLE an zwei der RAMs 310, 320, 330 syn
chron mit dem Taktsignal CLK an, um diese beiden RAMs freizugeben.
Des weiteren legt sie einen Lesebefehl RE an eines der beiden freigege
benen RAMs und einen Schreibbefehl WR an das andere der beiden frei
gegebenen RAMs an. Zudem fügt sie die 1-Bit-Bankauswahlsignale
BK SEL zu den Adresssignalen ADDR[7 : 0] hinzu, die an jedes der freige
gebenen RAMs angelegt werden, um so eine der beiden Bänke jedes der
freigegebenen RAMs auszuwählen, d. h. effektiv wird ein 9-Bit-Adresssignal
an jedes der RAMs 310, 320, 330 angelegt. Für jeden Speicherzyklus wer
den daher eine Bank eines RAMs zum Schreiben und eine Bank eines da
von verschiedenen RAMs zum Lesen freigegeben.
Jedes der RAMs 310, 320, 330 kann in Form eines statischen Speichers
mit wahlfreiem Zugriff implementiert sein, d. h. als SRAM 0, SRAM 1 und
SRAM 2. Vorzugsweise reicht die Speicherkapazität jeder Bank dafür aus,
einen Rahmen bzw. ein Codewort an Daten zu speichern. Allgemein sollte
dazu jede Bank eine Kapazität von n Symbolen bzw. Bytes für den
RS(n,k)-Code aufweisen, und jedes RAM sollte eine Kapazität von 2n
Symbolen haben. Im Beispiel von Fig. 3 kann die Bank jedes Doppelbank-
RAMs Daten mit einer maximalen Länge von 256 Byte über ein Galois-
Feld GF(28) speichern.
Die untenstehende Tabelle 1 zeigt die Größe jedes RAMs und jeder Bank,
wenn ein Reed-Solomon(RS)-Code (n,k) über ein Galois-Feld GF(2m) vor
liegt, wobei n die Länge, d. h. Anzahl an Symbolen bzw. Bytes, eines Co
dewortes, k die Länge, d. h. Anzahl von Symbolen oder Bytes, der vor dem
Codieren eingegebenen Daten und m die Anzahl an Bits pro Byte bezeich
nen.
Hierbei ist die Speicheradressbreite als ein Wert definiert, der dadurch er
halten wird, dass der Wert 1 zum Minimum einer ganzen Zahl P addiert
wird, welche die Bedingung Log2n ≦ P erfüllt. Wie zuvor angegeben, ist die
Addition des Wertes 1 das Ergebnis der Auswahl einer Bank, welche das
MSB der RAM-Adresse verwendet. Wie aus Tabelle 1 ersichtlich, beträgt
die Bankgröße 256 Byte, und die RAM-Größe ist 512 Byte, wenn n = 256
und m = 8. Dabei betragen die Datenbreite 8 Bit und die Adressbreite 9 Bit.
Die Betriebsweise des 3-RAM-Doppelbankbauelementes 180 wird nun de
taillierter unter Bezugnahme auf die Fig. 3 und 4 erläutert, wobei Fig. 4 ein
Flussdiagramm zeigt, das ein Verfahren zum Zugreifen auf das 3-RAM-
Doppelbankbauelement 180 veranschaulicht, wie es oben in Verbindung
mit Fig. 3 diskutiert wurde.
Beim Zugreifen auf das 3-RAM-Doppelbankbauelement 180 wird der Be
triebsmodus des Reed-Solomon-Decoders festgestellt, d. h. ob sowohl Feh
ler- als auch Irrungskorrektur oder nur Fehlerkorrektur durchzuführen ist.
Wie aus Fig. 4 ersichtlich, ist das Setzen des Schreib-Bankzeigers und des
Lese-Bankzeigers für Fehler- und Irrungskorrektur (Schritt 400) verschie
den vom Fall der bloßen Fehlerkorrektur (Schritt 410).
Speziell wird im Schritt 402 festgestellt, ob sowohl Fehler- als auch Ir
rungskorrektur ausgeführt werden sollen. Wie oben erläutert, erfolgt dies
durch Überprüfen der Anzahl von lrrungsmerkern Era_Flag, die synchron
mit den Eingabedaten DIN eingegeben werden. Wenn es einen oder meh
rere lrrungsmerker Era_Flag bis zu einem erlaubten Maximum gibt, werden
sowohl Fehler- als auch Irrungskorrektur ausgeführt.
Wenn im Schritt 402 festgestellt wird, dass sowohl Fehler- als auch Ir
rungskorrektur durchzuführen ist, wird ein Schritt 404 ausgeführt, in wel
chem die zirkulare Puffersteuereinheit 300 einen Versatz zwischen einem
Schreib-Bankzeiger und einem Lese-Bankzeiger von vier Bänken festlegt.
Dieser Versatz zwischen dem Schreib-Bankzeiger und dem Lese-
Bankzeiger ist unter Bezugnahme auf Fig. 5 deutlicher ersichtlich. In einem
ersten Rahmen T50 des Beispiels von Fig. 5 wird der Lese-Zeiger auf die
Bank 0 des ersten RAMs gesetzt und der Schreib-Zeiger wird auf die
BANK 4 des dritten RAMs gesetzt. Der Versatz zwischen dem Lese-
Bankzeiger und dem Schreib-Bankzeiger beträgt daher vier Bänke. Der
Lese- und der Schreibzeiger werden dann, wie in Fig. 5 dargestellt, in je
dem von aufeinanderfolgenden Rahmen inkrementiert, wobei der Versatz
von vier Bänken zwischen dem Lese-Bankzeiger und dem Schreib-
Bankzeiger in jedem Rahmen aufrecht erhalten wird. Wenn der Lese-
Bankzeiger mit BANK# bezeichnet wird, lässt sich der Schreib-Bankzeiger
als BANK(#+4) MOD 6 ausdrücken, wobei die Zahl 6 die Gesamtzahl von
Bänken bezeichnet.
Wenn ohne Beschränkung der Allgemeinheit das Schreiben irgendeiner
bestimmten Bank in einem ersten Rahmen auftritt, hat der Versatz von vier
Bänken zur Folge, dass das Lesen derselben Bank in einem fünften Rah
men erfolgt. Wird beispielsweise die BANK 4 des dritten RAMs von Fig. 5
betrachtet, so wird in diese im ersten Rahmen T50 geschrieben, und im
fünften Rahmen wird aus ihr gelesen. Diese Zeitabstimmung entspricht der
Anzahl von fünf Stufen der Pipeline-Berechnungsvorgänge im Reed-
Solomon-Decoder für sowohl Fehler- als auch Irrungskorrektur. Wenn da
her in der ersten Berechnungsstufe die Eingabedaten DIN in die BANK 4
geschrieben werden, können dieselben Daten DIN aus der BANK 4 in der
fünften Berechnungsstufe des im Pipelinebetrieb arbeitenden Decoders
gelesen werden.
Wenn wieder bezugnehmend auf Fig. 4 im Schritt 402 stattdessen festge
stellt wird, dass nur eine Fehlerkorrektur durchzuführen ist, wird ein Schritt
414 ausgeführt, in welchem die zirkulare Puffersteuereinheit 300 einen
Versatz von drei Bänken zwischen einem Schreib-Bankzeiger und einem
Lese-Bankzeiger festsetzt. Eine Korrektur von Fehlern erfolgt nur, wenn
kein Fehlermerker Era Flag eingegeben wird oder wenn die Anzahl an
eingegebenen Fehlermerkern Era Flag jenseits des erlaubten Korrekturbe
reichs liegt. Der Versatz von drei Bänken zwischen dem Schreib-
Bankzeiger und dem Lese-Bankzeiger wird nun detaillierter unter Bezug
nahme auf Fig. 6 erläutert. In einem ersten Rahmen T60 des Beispiels von
Fig. 6 wird der Lesezeiger auf die BANK 0 des ersten RAMs gesetzt, und
der Schreibzeiger wird auf die BANK 3 des zweiten RAMs gesetzt. Der
Versatz zwischen dem Lese-Bankzeiger und dem Schreib-Bankzeiger be
trägt somit drei Bänke. Der Lese- und der Schreibzeiger werden dann in
jedem der in Fig. 6 gezeigten, aufeinanderfolgenden Rahmen inkremen
tiert, wobei der Versatz von drei Bänken zwischen dem Lese-Bankzeiger
und dem Schreib-Bankzeiger in jedem Rahmen aufrechterhalten bleibt.
Wenn der Lese-Bankzeiger mit BANK# ausgedrückt wird, lässt sich der
Schreib-Bankzeiger durch BANK(#+3) MOD 6 ausdrücken. Wenn ohne
Beschränkung der Allgemeinheit das Schreiben in irgendeine bestimmte
Bank angenommen in einem ersten Rahmen erfolgt, resultiert der Versatz
von drei Bänken darin, dass das Lesen derselben Bank in einem vierten
Rahmen erfolgt. Wenn beispielsweise in die BANK 3 des zweiten RAMs
von Fig. 6 im ersten Rahmen T60 geschrieben wird, wird selbige im vierten
Rahmen gelesen. Diese Zeitabstimmung entspricht der Anzahl von vier
Stufen der Pipeline-Berechnungen im Reed-Solomon-Decoder im Fall der
bloßen Fehlerkorrektur. Wenn daher in der ersten Berechnungsstufe die
Eingabedaten DIN in die BANK 3 geschrieben werden, können dieselben
Daten DIN aus der BANK 3 in der vierten Berechnungsstufe des Pipeline-
Decoders gelesen werden.
Wenn wieder bezugnehmend auf Fig. 4 im Schritt 420 ein Schreibbefehl
angelegt wurde, werden die Eingabedaten DIN in diejenige Bank geschrie
ben, die vom Schreib-Bankzeiger im Schritt 430 dafür bestimmt wurde. In
gleicher Weise werden, wenn im Schritt 440 ein Lesebefehl RE angelegt
wurde, die zuvor eingeschriebenen Eingabedaten DIN aus derjenigen
Bank gelesen, die hierfür vom Lese-Bankzeiger im Schritt 450 bestimmt
wurde. Dann werden im Schritt 460 die so gelesenen Daten DIN bezüglich
Korrektur von Fehlern und/oder Irrungen weiterbehandelt, wie oben be
schrieben.
Wie in Fig. 4 dargestellt, wird das Schreiben und Lesen von Daten gleich
zeitig durchgeführt. Wenn im Schritt 470 keine Codierung ausgeführt wor
den ist, setzt sich der Decodierprozess fort, indem zur Ausführung eines
nächsten Speicherrahmens zu den Schritten 420 und 440 zurückgekehrt
wird.
Wie in den Fig. 5 und 6 veranschaulicht, wird der Versatz zwischen dem
Schreib- und dem Lese-Bankzeiger jeweils so festgelegt, dass Kollisionen,
d. h. gleichzeitige Zugriffe, innerhalb desselben RAMs verhindert und
Schreib- und Lesevorgänge erlaubt werden, die mit der Zeitsteuerung der
Berechnungsstufen des Pipeline-Decoders übereinstimmen. Die Speicher
zugriffssequenz kann vordefiniert sein und hängt vom Systemtakt ab. Das
Decodieren des Reed-Solomon-Decoders kann daher rasch und ohne
Speicherengpässe ausgeführt werden.
Die nachstehende Tabelle 2 zeigt im Vergleich die Anzahl an Speicher
zugriffszyklen, die für einen Decoder mit einem einzigen zirkularen RAM
einerseits und für den erfindungsgemäßen Reed-Solomon-Decoder, der
drei zirkulare RAMs verwendet, andererseits erforderlich sind.
Wie aus Tabelle 2 ersichtlich, ist unter der nicht beschränkenden Annah
me, dass n einen jeweiligen Zyklus zum Schreiben von Daten in und Lesen
von Daten aus den RAMs bezeichnet, die Anzahl an Zyklen, die notwendig
ist, um pro Datenrahmen auf Speicher zuzugreifen, im Fall der Verwen
dung eines einzelnen RAM gleich 2n, während sie für den Fall von 3 RAMs
nur gleich n ist. Außerdem muss, wenn nur ein RAM verwendet wird, die
Systemtaktrate um das Zweifache oder mehr gegenüber einer Datenein
gabetaktrate erhöht werden. Im Gegensatz dazu kann bei der erfindungs
gemäßen Verwendung von drei RAMs eine Systemtaktrate verwendet
werden, die gleich groß wie die Dateneingabetaktrate ist. Als Resultat hier
von kann das Schreiben und Lesen von Daten mit einem niedriger getakte
ten Systemtaktsignal erfolgen.
Die nachstehende Tabelle 3 zeigt einen Vergleich hinsichtlich Größe und
Betriebsgeschwindigkeit zwischen einem herkömmlichen RAM-Einzelspei
cher und dem erfindungsgemäßen 3-RAM-Doppelbanklbauelement für den
Fall, dass SRAMs für 256-Byte-Codeworte verwendet werden.
Wie aus Tabelle 3 ersichtlich, ist bei einer Codewortlänge von 256 Byte die
Größe eines einzelnen 1536-Byte-SRAM um den Faktor 0,66 kleiner als
diejenige der erfindungsgemäßen Konfiguration mit drei 512-Byte-SRAMs.
Jedoch ist die Betriebsgeschwindigkeit im Fall der drei SRAMs mehr als
doppelt so groß wie im Fall des einzelnen SRAMs. Außerdem ist bei Be
trachtung des Reed-Solomon-Decoders als Ganzes der prozentuale An
stieg seiner Größe als Folge der Verwendung der drei SRAMs unter Be
rücksichtigung der erhöhten Betriebsgeschwindigkeiten vernachlässigbar.
Fig. 7 ist ein Zeitablaufdiagramm des Decodierprozesses des im Blockpi
pelinebetrieb arbeitenden Reed-Solomon-Decoders in einer erfindungsge
mäßen Realisierung. Wie aus Fig. 7 ersichtlich, beträgt eine anfängliche
Latenzverzögerung T70 4.n Zyklen, und fehlerkorrigierte Daten DOUT, d. h.
R'(x), werden jeweils um n Zyklen nach der anfänglichen Latenzverzöge
rung T70 abgegeben. Sobald im fünften und sechsten Rahmen ein voll
ständiger Pipelinebetrieb der Vorgänge erreicht ist, kann sowohl das
Schreiben von Daten mit der Berechnung von S(x) als auch das Lesen von
Daten R'(x) ausgeführt werden, ohne einen Engpass zu erzeugen, da die
Latenz der Schreib/Lese-Vorgängen Zyklen beträgt. In Fig. 7 repräsentiert
T75 ein Durchsatzverzögerungsintervall in der aktuellen Verarbeitungspro
zedur und kein Latenzverzögerungsintervall.
Das erfindungsgemäße 3-RAM-Doppelbankbauelement und der dieses
verwendende, erfindungsgemäße Reed-Solomon-Decoder besitzen einen
breiten Anwendungsbereich einschließlich, um Beispiele zu nennen, opti
sche Plattensysteme, wie digitale Mehrzweckplatten hoher Auflösung (HD-
DVD), HDTV, Satellitenkommunikation, drahtlose Kommunikationsausrüs
tungen, wie IMT, Netzwerksysteme, wie Giga-Ethernet, und Ultrahochge
schwindigkeitssysteme.
Im erfindungsgemäßen 3-RAM-Doppelbankelement kann der Dateneinga
betakt für das Zugreifen auf Speicher als Systemtakt verwendet werden,
was die Herstellung des Halbleiterbauelementes vereinfacht, den Strom
verbrauch verringert und die Betriebsgeschwindigkeit steigert. Außerdem
kann das zeitaufwendige Zugreifen auf Speicher minimiert werden, so dass
die Systemtaktrate weniger durch die Speicherzugriffszeit beeinflusst wird,
was praktisch den Freiheitsgrad für die Zeitsteuerungstoleranzen zwischen
Blöcken im Systemdesign erhöht. Zudem ermöglicht das 3-RAM-Doppel
bankbauelement Hochgeschwindigkeitsübertragungen, die besonders für
einen im Pipelinebetrieb mit hoher Geschwindigkeit arbeitenden Reed-
Solomon-Decoder und für Ultrahochgeschwindigkeitssysteme geeignet
sind, die den Reed-Solomon-Decoder einsetzen.
Claims (30)
1. Pufferschaltung zum gleichzeitigen Schreiben und Lesen von Daten
während einer jeweiligen von aufeinanderfolgenden Rahmenperioden,
gekennzeichnet durch
eine Mehrzahl von Dualbank-RAMs (310, 320, 330) und
einen Speichersteuerschaltkreis (300), der mit den mehreren Dop pelbank-RAMs gekoppelt ist und das Schreiben in und das Lesen aus den mehreren Doppelbank-RAMs während einer jeweiligen Rahmenperiode derart freigibt, dass aus jeder Bank der Doppelbank-RAMs in Abständen einer gegebenen Anzahl von Rahmenperioden gelesen und in selbige mit demselben Abstand geschrieben wird und in der jeweiligen Rahmenperio de eine Bank, aus der gelesen wird, in einem anderen von den mehreren Doppelbank-RAMs enthalten ist als eine Bank, in die geschrieben wird.
eine Mehrzahl von Dualbank-RAMs (310, 320, 330) und
einen Speichersteuerschaltkreis (300), der mit den mehreren Dop pelbank-RAMs gekoppelt ist und das Schreiben in und das Lesen aus den mehreren Doppelbank-RAMs während einer jeweiligen Rahmenperiode derart freigibt, dass aus jeder Bank der Doppelbank-RAMs in Abständen einer gegebenen Anzahl von Rahmenperioden gelesen und in selbige mit demselben Abstand geschrieben wird und in der jeweiligen Rahmenperio de eine Bank, aus der gelesen wird, in einem anderen von den mehreren Doppelbank-RAMs enthalten ist als eine Bank, in die geschrieben wird.
2. Pufferschaltung nach Anspruch 1, weiter dadurch gekennzeichnet,
dass ein erstes, ein zweites und ein drittes Doppelbank-RAM mit einer ers
ten und zweiten, dritten und vierten bzw. fünften und sechsten Bank vorge
sehen sind, wobei der Speichersteuerschaltkreis das Lesen aus und das
Schreiben in die erste bis sechste Bank in Abständen von jeweils sechs
Rahmenperioden freigibt.
3. Pufferschaltung nach Anspruch 2, weiter dadurch gekennzeichnet,
dass während einer jeweiligen Rahmenperiode ein Versatz zwischen dem
Freigeben des Lesens einer Datenbank und dem Schreiben in selbige von
vier Bänken vorstehen ist, so dass aus einer jeweiligen Bank, in die wäh
rend einer Rahmenperiode a geschrieben wurde, in einer späteren Rah
menperiode a+4 gelesen wird, wobei a eine ganze Zahl ist.
4. Pufferschaltung nach Anspruch 2, weiter dadurch gekennzeichnet,
dass während einer jeweiligen Rahmenperiode ein Versatz zwischen dem
Freigeben des Lesens einer Datenbank und des Schreibens in selbige von
drei Bänken vorgesehen ist, so dass aus einer jeweiligen Bank, in die wäh
rend einer Rahmenperiode a geschrieben wurde, in einer späteren Rah
menperiode a+3 gelesen wird, wobei a eine ganze Zahl ist.
5. Pufferschaltung nach Anspruch 2 oder 3, weiter dadurch gekenn
zeichnet, dass
der Speichersteuerschaltkreis während einer a-ten Rahmenperiode das Lesen aus der ersten Bank des ersten Doppelbank-RAMs und das Schreiben in die fünfte Bank freigibt, die im dritten Doppelbank-RAM ent halten ist, wobei a eine ganze Zahl ist,
der Speichersteuerschaltkreis während einer (a+1)-ten Rahmenperi ode das Lesen aus der zweiten Bank des ersten Doppelbank-RAMs und das Schreiben in die sechste Bank freigibt, die im dritten Doppelbank-RAM enthalten ist,
der Speichersteuerschaltkreis während einer (a+2)-ten Rahmenperi ode das Lesen aus der dritten Bank, die im zweiten Doppelbank-RAM ent halten ist, und das Schreiben in die erste Bank des ersten Doppelbank- RAMs freigibt,
der Speichersteuerschaltkreis während einer (a+3)-ten Rahmenperi ode das Lesen aus der vierten Bank, die im zweiten Doppelbank-RAM ent halten ist, und das Schreiben in die zweite Bank des ersten Doppelbank- RAMs freigibt,
der Speichersteuerschaltkreis während einer (a+4)-ten Rahmenperi ode das Lesen aus der fünften Bank, die im dritten Doppelbank-RAM ent halten ist, und das Schreiben in die dritte Bank freigibt, die im zweiten Doppelbank-RAM enthalten ist, und
der Speichersteuerschaltkreis während einer (a+5)-ten Rahmenperi ode das Lesen aus der sechsten Bank, die im dritten Doppelbank-RAM enthalten ist, und das Schreiben in die vierte Bank freigibt, die im zweiten Doppelbank-RAM enthalten ist.
der Speichersteuerschaltkreis während einer a-ten Rahmenperiode das Lesen aus der ersten Bank des ersten Doppelbank-RAMs und das Schreiben in die fünfte Bank freigibt, die im dritten Doppelbank-RAM ent halten ist, wobei a eine ganze Zahl ist,
der Speichersteuerschaltkreis während einer (a+1)-ten Rahmenperi ode das Lesen aus der zweiten Bank des ersten Doppelbank-RAMs und das Schreiben in die sechste Bank freigibt, die im dritten Doppelbank-RAM enthalten ist,
der Speichersteuerschaltkreis während einer (a+2)-ten Rahmenperi ode das Lesen aus der dritten Bank, die im zweiten Doppelbank-RAM ent halten ist, und das Schreiben in die erste Bank des ersten Doppelbank- RAMs freigibt,
der Speichersteuerschaltkreis während einer (a+3)-ten Rahmenperi ode das Lesen aus der vierten Bank, die im zweiten Doppelbank-RAM ent halten ist, und das Schreiben in die zweite Bank des ersten Doppelbank- RAMs freigibt,
der Speichersteuerschaltkreis während einer (a+4)-ten Rahmenperi ode das Lesen aus der fünften Bank, die im dritten Doppelbank-RAM ent halten ist, und das Schreiben in die dritte Bank freigibt, die im zweiten Doppelbank-RAM enthalten ist, und
der Speichersteuerschaltkreis während einer (a+5)-ten Rahmenperi ode das Lesen aus der sechsten Bank, die im dritten Doppelbank-RAM enthalten ist, und das Schreiben in die vierte Bank freigibt, die im zweiten Doppelbank-RAM enthalten ist.
6. Pufferschaltung nach Anspruch 2 oder 4, weiter dadurch gekenn
zeichnet, dass
der Speichersteuerschaltkreis während einer a-ten Rahmenperiode das Lesen aus der ersten Bank des ersten Doppelbank-RAMs und das Schreiben in die vierte Bank freigibt, die im zweiten Doppelbank-RAM ent halten ist, wobei a eine ganze Zahl ist,
der Speichersteuerschaltkreis während einer (a+1)-ten Rahmenperi ode das Lesen aus der zweiten Bank des ersten Doppelbank-RAMs und das Schreiben in die fünfte Bank freigibt, die im dritten Doppelbank-RAM enthalten ist,
der Speichersteuerschaltkreis während einer (a+2)-ten Rahmenperi ode das Lesen aus der dritten Bank, die im zweiten Doppelbank-RAM ent halten ist, und das Schreiben in die sechste Bank freigibt, die im dritten Doppelbank-RAM enthalten ist,
der Speichersteuerschaltkreis während einer (a+3)-ten Rahmenperi ode das Lesen aus der vierten Bank, die im zweiten Doppelbank-RAM ent halten ist, und das Schreiben in die erste Bank des ersten Doppelbank- RAMs freigibt,
der Speichersteuerschaltkreis während einer (a+4)-ten Rahmenperi ode das Lesen aus der fünften Bank, die im dritten Doppelbank-RAM ent halten ist, und das Schreiben in die zweite Bank des ersten Doppelbank- RAMs freigibt und
der Speichersteuerschaltkreis während einer (a+5)-ten Rahmenperi ode das Lesen aus der sechsten Bank, die im dritten Doppelbank-RAM enthalten ist, und das Schreiben in die dritte Bank freigibt, die im zweiten Doppelbank-RAM enthalten ist.
der Speichersteuerschaltkreis während einer a-ten Rahmenperiode das Lesen aus der ersten Bank des ersten Doppelbank-RAMs und das Schreiben in die vierte Bank freigibt, die im zweiten Doppelbank-RAM ent halten ist, wobei a eine ganze Zahl ist,
der Speichersteuerschaltkreis während einer (a+1)-ten Rahmenperi ode das Lesen aus der zweiten Bank des ersten Doppelbank-RAMs und das Schreiben in die fünfte Bank freigibt, die im dritten Doppelbank-RAM enthalten ist,
der Speichersteuerschaltkreis während einer (a+2)-ten Rahmenperi ode das Lesen aus der dritten Bank, die im zweiten Doppelbank-RAM ent halten ist, und das Schreiben in die sechste Bank freigibt, die im dritten Doppelbank-RAM enthalten ist,
der Speichersteuerschaltkreis während einer (a+3)-ten Rahmenperi ode das Lesen aus der vierten Bank, die im zweiten Doppelbank-RAM ent halten ist, und das Schreiben in die erste Bank des ersten Doppelbank- RAMs freigibt,
der Speichersteuerschaltkreis während einer (a+4)-ten Rahmenperi ode das Lesen aus der fünften Bank, die im dritten Doppelbank-RAM ent halten ist, und das Schreiben in die zweite Bank des ersten Doppelbank- RAMs freigibt und
der Speichersteuerschaltkreis während einer (a+5)-ten Rahmenperi ode das Lesen aus der sechsten Bank, die im dritten Doppelbank-RAM enthalten ist, und das Schreiben in die dritte Bank freigibt, die im zweiten Doppelbank-RAM enthalten ist.
7. Verfahren zum Zugreifen auf eine Mehrzahl von Doppelbank-Speichern,
dadurch gekennzeichnet, dass
das Schreiben in und das Lesen aus den mehreren Dolppelbank-Speichern
während einer jeden von aufeinanderfolgenden Rahmenperioden derart
freigegeben wird, dass jede Bank der Doppelbank-Speicher jeweils im Ab
stand einer gegebenen Anzahl von Rahmenperioden gelesen und in selbi
ge mit demselben Abstand geschrieben wird, wobei dlie jeweils gelesene
Bank in einem anderen der mehreren Doppelbank-Speicher enthalten ist
als diejenige Bank, in die während der jeweiligen Rahmenperiode ge
schrieben wird.
8. Verfahren nach Anspruch 7 zum Zugreifen auf ein Speicherbauele
ment mit drei Doppelbank-RAMs, die eine erste und zweite Bank, eine drit
te und vierte Bank bzw. eine fünfte und sechste Bank beinhalten,
dadurch gekennzeichnet, dass
das Lesen aus der ersten bis sechsten Bank nacheinander während aufeinanderfolgender Rahmenperioden derart freigegeben wird, dass jede Bank nach jeweils sechs Rahmenperioden gelesen wird, und
das Schreiben in die erste bis sechste Bank nacheinander während der aufeinanderfolgenden Rahmenperioden derart freigegeben wird, dass in jede Bank nach jeweils sechs Rahmenperioden geschrieben wird,
wobei während einer jeweiligen Rahmenperiode diejenige Bank, für die das Lesen freigegeben wird, in einem anderen der drei Doppelbank- RAMs enthalten ist als diejenige Bank, für die das Schreiben freigegeben wird.
das Lesen aus der ersten bis sechsten Bank nacheinander während aufeinanderfolgender Rahmenperioden derart freigegeben wird, dass jede Bank nach jeweils sechs Rahmenperioden gelesen wird, und
das Schreiben in die erste bis sechste Bank nacheinander während der aufeinanderfolgenden Rahmenperioden derart freigegeben wird, dass in jede Bank nach jeweils sechs Rahmenperioden geschrieben wird,
wobei während einer jeweiligen Rahmenperiode diejenige Bank, für die das Lesen freigegeben wird, in einem anderen der drei Doppelbank- RAMs enthalten ist als diejenige Bank, für die das Schreiben freigegeben wird.
9. Verfahren nach Anspruch 8, weiter dadurch gekennzeichnet, dass
während jeder Rahmenperiode ein Versatz zwischen einer Bank, für die
das Lesen freigegeben wird, und einer Bank, für die das Schreiben freige
geben wird, von vier Bänken vorgesehen ist, so dass aus derjenigen der
sechs Bänke, in die während einer Rahmenperiode a geschrieben wurde,
in einer späteren Rahmenperiode a+4 gelesen wird, wobei a eine ganze
Zahl ist.
10. Verfahren nach Anspruch 8, weiter dadurch gekennzeichnet, dass
während einer jeden Rahmenperiode ein Versatz zwischen einer Bank, für
die das Lesen freigegeben wird, und einer Bank, für die das Schreiben
freigegeben wird, von drei Bänken vorgesehen wird, so dass aus derjeni
gen der ersten bis sechsten Bank, in die während einer Rahmenperiode a
geschrieben wurde, in einer späteren Rahmenperiode a+3 gelesen wird,
wobei a eine ganze Zahl ist.
11. Verfahren nach Anspruch 8, weiter gekennzeichnet durch folgende
Schritte:
während einer a-ten Rahmenperiode Lesen aus der ersten Bank des ersten Doppelbank-RAMs und Schreiben in die fünfte Bank, die im dritten Doppelbank-RAM enthalten ist, wobei a eine ganze Zahl ist,
während einer (a+1)-ten Rahmenperiode Lesen aus der zweiten Bank des ersten Doppelbank-RAMs und Schreiben in die sechste Bank, die im dritten Doppelbank-RAM enthalten ist,
während einer (a+2)-ten Rahmenperiode Lesen aus der dritten Bank, die im zweiten Doppelbank-RAM enthalten ist, und Schreiben in die erste Bank des ersten Doppelbank-RAMs,
während einer (a+3)-ten Rahmenperiode Lesen aus der vierten Bank, die im zweiten Doppelbank-RAM enthalten ist, und Schreiben in die zweite Bank des ersten Doppelbank-RAMs,
während einer (a+4)-ten Rahmenperiode Lesen aus der fünften Bank, die im dritten Doppelbank-RAM enthalten ist, und Schreiben in die dritte Bank, die im zweiten Doppelbank-RAM enthalten ist, und
während einer (a+5)-ten Rahmenperiode Lesen aus der sechsten Bank, die im dritten Doppelbank-RAM enthalten ist, und Schreiben in die vierte Bank, die im zweiten Doppelbank-RAM enthalten ist.
während einer a-ten Rahmenperiode Lesen aus der ersten Bank des ersten Doppelbank-RAMs und Schreiben in die fünfte Bank, die im dritten Doppelbank-RAM enthalten ist, wobei a eine ganze Zahl ist,
während einer (a+1)-ten Rahmenperiode Lesen aus der zweiten Bank des ersten Doppelbank-RAMs und Schreiben in die sechste Bank, die im dritten Doppelbank-RAM enthalten ist,
während einer (a+2)-ten Rahmenperiode Lesen aus der dritten Bank, die im zweiten Doppelbank-RAM enthalten ist, und Schreiben in die erste Bank des ersten Doppelbank-RAMs,
während einer (a+3)-ten Rahmenperiode Lesen aus der vierten Bank, die im zweiten Doppelbank-RAM enthalten ist, und Schreiben in die zweite Bank des ersten Doppelbank-RAMs,
während einer (a+4)-ten Rahmenperiode Lesen aus der fünften Bank, die im dritten Doppelbank-RAM enthalten ist, und Schreiben in die dritte Bank, die im zweiten Doppelbank-RAM enthalten ist, und
während einer (a+5)-ten Rahmenperiode Lesen aus der sechsten Bank, die im dritten Doppelbank-RAM enthalten ist, und Schreiben in die vierte Bank, die im zweiten Doppelbank-RAM enthalten ist.
12. Verfahren nach Anspruch 8, weiter dadurch gekennzeichnet, dass
während einer a-ten Rahmenperiode aus der ersten Bank des ersten Doppelbank-RAMs gelesen und in die vierte Bank geschrieben wird, die im zweiten Doppelbank-RAM enthalten ist, wobei a eine ganze Zahl ist,
während einer (a+1)-ten Rahmenperiode aus der zweiten Bank des ersten Doppelbank-RAMs gelesen und in die fünfte Bank geschrieben wird, die im dritten Doppelbank-RAM enthalten ist,
während einer (a+2)-ten Rahmenperiode aus der dritten Bank, die im zweiten Doppelbank-RAM enthalten ist, gelesen und in die sechste Bank geschrieben wird, die im dritten Doppelbank-RAM enthalten ist,
während einer (a+3)ten Rahmenperiode aus der vierten Bank, die im zweiten Doppelbank-RAM enthalten ist, gelesen und in die erste Bank des ersten Doppelbank-RAMs geschrieben wird,
während einer (a+4)-ten Rahmenperiode aus der fünften Bank, die im dritten Doppelbank-RAM enthalten ist, gelesen und in die zweite Bank des ersten Doppelbank-RAMs geschrieben wird und
während einer (a+5)-ten Rahmenperiode aus der sechsten Bank, die im dritten Doppelbank-RAM enthalten ist, gelesen und in die dritte Bank geschrieben wird, die im zweiten Doppelbank-RAM enthalten ist.
während einer a-ten Rahmenperiode aus der ersten Bank des ersten Doppelbank-RAMs gelesen und in die vierte Bank geschrieben wird, die im zweiten Doppelbank-RAM enthalten ist, wobei a eine ganze Zahl ist,
während einer (a+1)-ten Rahmenperiode aus der zweiten Bank des ersten Doppelbank-RAMs gelesen und in die fünfte Bank geschrieben wird, die im dritten Doppelbank-RAM enthalten ist,
während einer (a+2)-ten Rahmenperiode aus der dritten Bank, die im zweiten Doppelbank-RAM enthalten ist, gelesen und in die sechste Bank geschrieben wird, die im dritten Doppelbank-RAM enthalten ist,
während einer (a+3)ten Rahmenperiode aus der vierten Bank, die im zweiten Doppelbank-RAM enthalten ist, gelesen und in die erste Bank des ersten Doppelbank-RAMs geschrieben wird,
während einer (a+4)-ten Rahmenperiode aus der fünften Bank, die im dritten Doppelbank-RAM enthalten ist, gelesen und in die zweite Bank des ersten Doppelbank-RAMs geschrieben wird und
während einer (a+5)-ten Rahmenperiode aus der sechsten Bank, die im dritten Doppelbank-RAM enthalten ist, gelesen und in die dritte Bank geschrieben wird, die im zweiten Doppelbank-RAM enthalten ist.
13. Reed-Solomon-Decoder vom Pipelinetyp mit
einer Mehrzahl von im Pipelinebetrieb arbeitenden Verarbeitungs einheiten, die eingegebene Reed-Solomon-Codeworte empfangen und Be rechnungen zur Identifizierung von Fehlerpositionen und Fehlerwerten durchführen, die in den eingegebenen Codeworten enthalten sind, gekennzeichnet durch
eine Pufferschaltung nach einem der Ansprüche 1 bis 6 zum tempo rären Speichern der eingegebenen Codeworte während der Ausführung der Berechnungen durch die mehreren, im Pipelinebetrieb arbeitenden Verarbeitungseinheiten.
einer Mehrzahl von im Pipelinebetrieb arbeitenden Verarbeitungs einheiten, die eingegebene Reed-Solomon-Codeworte empfangen und Be rechnungen zur Identifizierung von Fehlerpositionen und Fehlerwerten durchführen, die in den eingegebenen Codeworten enthalten sind, gekennzeichnet durch
eine Pufferschaltung nach einem der Ansprüche 1 bis 6 zum tempo rären Speichern der eingegebenen Codeworte während der Ausführung der Berechnungen durch die mehreren, im Pipelinebetrieb arbeitenden Verarbeitungseinheiten.
14. Reed-Solomon-Decoder nach Anspruch 13, weiter dadurch gekenn
zeichnet, dass die mehreren im Pipelinebetrieb arbeitenden Verarbei
tungseinheiten aus fünf Pipeline-Verarbeitungsstufen bestehen, wobei
während einer jeweiligen Rahmenperiode ein Versatz zwischen einer
Bank, für die das Lesen freigegeben wird, und einer Bank, für die das
Schreiben freigegeben wird, von vier Bänken vorgesehen ist, so dass bei
sechs vorhandenen Bänken das Lesen aus einer jeweiligen Bank während
einer Rahmenperiode a+4 erfolgt, wenn in selbige während einer Rah
menperiode a geschrieben wurde, wobei a eine ganze Zahl ist.
15. Reed-Solomon-Decoder nach Anspruch 13, weiter dadurch gekenn
zeichnet, dass die mehreren, im Pipelinebetrieb arbeitenden Verarbei
tungseinheiten aus vier Pipeline-Verarbeitungsstufen bestehen, wobei ein
Versatz zwischen einer Bank, für die das Lesen freigegeben wird, und ei
ner Bank, für die das Schreiben freigegeben wird, von drei Bänken vorge
sehen ist, so dass bei sechs vorhandenen Bänken aus einer jeweiligen
Bank während einer Rahmenperiode a+3 gelesen wird, wenn in selbige
während einer Rahmenperiode a geschrieben wurde, wobei a eine ganze
Zahl ist.
16. Reed-Solomon-Decoder nach einem der Ansprüche 13 bis 15, weiter
dadurch gekennzeichnet, dass
die mehreren, im Pipelinebetrieb arbeitenden Verarbeitungseinheiten in einem ersten Modus, in welchem eine Fehler- und Irrungskorrektur aus geführt wird und fünf Pipeline-Verarbeitungsstufen betrieben werden, und einem zweiten Modus betreibbar sind, in welchem nur eine Fehlerkorrektur ausgeführt wird und vier Pipeline-Verarbeitungsstufen betrieben werden,
wobei im ersten Modus während einer jeweiligen Rahmenperiode ein Versatz zwischen einer Bank, für die das Lesen freigegeben wird, und ei ner Bank, für die das Schreiben freigegeben wird, von vier Bänken vorge sehen ist, so dass bei sechs vorhandenen Bänken aus einer jeweiligen Bank während einer Rahmenperiode a+4 gelesen wird, in die während ei ner Rahmenperiode a geschrieben wurde, wobei a eine ganze Zahl ist, und im zweiten Modus während einer jeweiligen Rahmenperiode ein Versatz zwischen einer Bank, für die das Lesen freigegeben wird, und ei ner Bank, für die das Schreiben freigegeben wird, von drei Bänken vorge sehen ist, so dass aus einer jeweiligen Bank während einer Rahmenperio de a+3 gelesen wird, in die während einer Rahmenperiode a geschrieben wurde.
die mehreren, im Pipelinebetrieb arbeitenden Verarbeitungseinheiten in einem ersten Modus, in welchem eine Fehler- und Irrungskorrektur aus geführt wird und fünf Pipeline-Verarbeitungsstufen betrieben werden, und einem zweiten Modus betreibbar sind, in welchem nur eine Fehlerkorrektur ausgeführt wird und vier Pipeline-Verarbeitungsstufen betrieben werden,
wobei im ersten Modus während einer jeweiligen Rahmenperiode ein Versatz zwischen einer Bank, für die das Lesen freigegeben wird, und ei ner Bank, für die das Schreiben freigegeben wird, von vier Bänken vorge sehen ist, so dass bei sechs vorhandenen Bänken aus einer jeweiligen Bank während einer Rahmenperiode a+4 gelesen wird, in die während ei ner Rahmenperiode a geschrieben wurde, wobei a eine ganze Zahl ist, und im zweiten Modus während einer jeweiligen Rahmenperiode ein Versatz zwischen einer Bank, für die das Lesen freigegeben wird, und ei ner Bank, für die das Schreiben freigegeben wird, von drei Bänken vorge sehen ist, so dass aus einer jeweiligen Bank während einer Rahmenperio de a+3 gelesen wird, in die während einer Rahmenperiode a geschrieben wurde.
17. Reed-Solomon-Decoder nach einem der Ansprüche 13 bis 16, weiter
dadurch gekennzeichnet, dass die mehreren Pipeline-Verarbeitungsein
heiten und die Pufferschaltung in Abhängigkeit von derselben Taktsignalra
te betreibbar sind.
18. Reed-Solomon-Decoder nach einem der Ansprüche 13 bis 17, weiter
dadurch gekennzeichnet, dass jedes Codewort n Bytes enthält und jede
von sechs Bänken eine Kapazität von n Bytes aufweist, wobei n eine posi
tive ganze Zahl ist.
19. Reed-Solomon-Decoder nach einem der Ansprüche 13 bis 18, weiter
dadurch gekennzeichnet, dass die maximale Latenz jeder der mehreren
Pipeline-Verarbeitungseinheiten n Zyklen beträgt und jede Rahmenperiode
n Zyklen lang ist, wobei n eine positive ganze Zahl ist.
20. Reed-Solomon-Decoder vom Blockpipelinetyp hoher Geschwindig
keit mit
einer Mehrzahl von Blöcken zum Decodieren von Daten, die von au ßen empfangen werden, und Korrigieren von Fehlern, gekennzeichnet durch
einen Syndromgenerator (100) zum Erzeugen eines Syndroms aus den empfangenen Daten, ein Speicherbauelement (180) mit mehreren Speichern, von denen jeder Doppelbänke aufweist, wobei die empfangenen Daten in die eine Bank eines der Speicher geschrieben und in eine Bank eines der anderen Speicher geschriebene Daten gelesen werden,
einen Polynomkoeffizientengenerator (150) zum Erzeugen der Koef fizienten eines Fehlerlokalisierpolynoms und eines Fehlerbestimmungspo lynoms unter Verwendung des erzeugten Syndroms,
eine Fehlerpositionssuch- und Fehlerwertbestimmungsstufe (160, 170) zum Ermitteln der Positionen von Fehlern und zum Berechnen von Fehlerwerten unter Verwendung des Fehlerlokalisierpolynoms und des Fehlerbestimmungspolynoms mit den erzeugten Koeffizienten und
einen Fehlerkorrektor (190) zum Korrigieren von Fehlern der vom Speicherbauelement abgegebenen Daten auf der Basis der von der Feh lerpositionssuch- und Fehlerwertbestimmungsstufe abgegebenen Fehler positionen und Fehlerwerte.
einer Mehrzahl von Blöcken zum Decodieren von Daten, die von au ßen empfangen werden, und Korrigieren von Fehlern, gekennzeichnet durch
einen Syndromgenerator (100) zum Erzeugen eines Syndroms aus den empfangenen Daten, ein Speicherbauelement (180) mit mehreren Speichern, von denen jeder Doppelbänke aufweist, wobei die empfangenen Daten in die eine Bank eines der Speicher geschrieben und in eine Bank eines der anderen Speicher geschriebene Daten gelesen werden,
einen Polynomkoeffizientengenerator (150) zum Erzeugen der Koef fizienten eines Fehlerlokalisierpolynoms und eines Fehlerbestimmungspo lynoms unter Verwendung des erzeugten Syndroms,
eine Fehlerpositionssuch- und Fehlerwertbestimmungsstufe (160, 170) zum Ermitteln der Positionen von Fehlern und zum Berechnen von Fehlerwerten unter Verwendung des Fehlerlokalisierpolynoms und des Fehlerbestimmungspolynoms mit den erzeugten Koeffizienten und
einen Fehlerkorrektor (190) zum Korrigieren von Fehlern der vom Speicherbauelement abgegebenen Daten auf der Basis der von der Feh lerpositionssuch- und Fehlerwertbestimmungsstufe abgegebenen Fehler positionen und Fehlerwerte.
21. Reed-Solomon-Decoder nach Anspruch 20, weiter dadurch gekenn
zeichnet, dass das Speicherbauelement drei Speicher mit wahlfreiem
Zugriff (RAMs) mit Doppelbänken aufweist und Bänke verschiedener
RAMs zum Schreiben bzw. Lesen während eines jeweiligen Rahmens
empfangener Daten freigegeben werden.
22. Reed-Solomon-Decoder nach Anspruch 20 oder 21, weiter dadurch
gekennzeichnet, dass in dem Speicherbauelement ein Schreib-Bankzeiger
und ein Lese-Bankzeiger mit einem ersten Versatz zwischen dem Schreib-
Bankzeiger und dem Lese-Bankzeiger festgelegt werden, um Bänke zum
Schreiben bzw. Lesen des jeweiligen Rahmens empfangener Daten aus
zuwählen.
23. Reed-Solomon-Decoder nach einem der Ansprüche 20 bis 22, weiter
gekennzeichnet durch:
einen Merkerzähler und Merkerpuffer zum Zählen von Irrungsmer kern, die synchron mit den empfangenen Daten eingegeben werden, und zum Puffern der Irrungsmerker,
einen Irrungslokalisierpolynomgenerator (130) zum Erzeugen eines Irrungslokalisierpolynoms unter Verwendung der gepufferten Irrungsmerker und
einen Syndrommodifizierer (140) zum Modifizieren des vom Syn dromgenerator erzeugten Syndroms mit den gepufferten Irrungsmerkern und Zuführen des modifizierten Syndroms zum Polynomkoeffizientengene rator, der die Koeffizienten des Fehlerlokalisierpolynoms und Fehlerbe stimmungspolynoms unter Verwendung des Irrungslokalisierpolynoms und des modifizierten Syndroms berechnet.
einen Merkerzähler und Merkerpuffer zum Zählen von Irrungsmer kern, die synchron mit den empfangenen Daten eingegeben werden, und zum Puffern der Irrungsmerker,
einen Irrungslokalisierpolynomgenerator (130) zum Erzeugen eines Irrungslokalisierpolynoms unter Verwendung der gepufferten Irrungsmerker und
einen Syndrommodifizierer (140) zum Modifizieren des vom Syn dromgenerator erzeugten Syndroms mit den gepufferten Irrungsmerkern und Zuführen des modifizierten Syndroms zum Polynomkoeffizientengene rator, der die Koeffizienten des Fehlerlokalisierpolynoms und Fehlerbe stimmungspolynoms unter Verwendung des Irrungslokalisierpolynoms und des modifizierten Syndroms berechnet.
24. Reed-Solomon-Decoder nach einem der Ansprüche 20 bis 23, weiter
dadurch gekennzeichnet, dass ein Dateneingabetaktsignal, das zum
Schreiben von Daten in das Speicherbauelement verwendet wird, und ein
Systemtaktsignal, das zum Betrieb jedes Blocks dies Reed-Solomon-
Decoders verwendet wird, gleich sind.
25. Speicherbauelement, das in einem Reed-Solomon-Decoder vom
Blockpipelinetyp hoher Geschwindigkeit zur Korrektur von Fehlern durch
Decodieren der von außen empfangenen Daten verwendbar ist und in das
hierzu die empfangenen Daten geschrieben und aus ihm wieder ausgele
sen werden,
gekennzeichnet durch
eine Mehrzahl von Speichern mit Doppelbänken, wobei die Speicher durch einen Schreib/Lese-Befehl und ein Freigabesignal aktiviert werden, und
eine zirkulare Puffersteuereinheit (300) zum Abgeben des Schreib/Lese-Befehls und des Freigabesignals zwecks Auswählen eines entsprechenden der mehreren Speicher und Festlegen eines Schreib- Bankzeigers und eines Lese-Bankzeigers derart, dass Bänke zum Schrei ben und Lesen eines jeweiligen Datenrahmens aus verschiedenen Spei chern mit einem vorgegeben Versatz ausgewählt werden.
eine Mehrzahl von Speichern mit Doppelbänken, wobei die Speicher durch einen Schreib/Lese-Befehl und ein Freigabesignal aktiviert werden, und
eine zirkulare Puffersteuereinheit (300) zum Abgeben des Schreib/Lese-Befehls und des Freigabesignals zwecks Auswählen eines entsprechenden der mehreren Speicher und Festlegen eines Schreib- Bankzeigers und eines Lese-Bankzeigers derart, dass Bänke zum Schrei ben und Lesen eines jeweiligen Datenrahmens aus verschiedenen Spei chern mit einem vorgegeben Versatz ausgewählt werden.
26. Speicherbauelement nach Anspruch 25, weiter dadurch gekenn
zeichnet, dass die mehreren Speicher drei Speicher mit wahlfreiem Zugriff
(RAMs) mit je zwei Bänken aufweisen, wobei jede Bank einen Datenrah
men speichert.
27. Speicherbauelement nach Anspruch 25 oder 26, weiter dadurch ge
kennzeichnet, dass die zirkulare Puffersteuereinheit den Schreib-
Bankzeiger und den Lese-Bankzeiger mit einem Versatz von vier Bänken
zwischen dem Schreib-Bankzeiger und dem Lese-Bankzeiger festlegt,
wenn der Reed-Solomon-Decoder sowohl Fehler- als auch Irrungskorrek
turen durchführt.
28. Speicherbauelement nach Anspruch 25 oder 26, weiter dadurch ge
kennzeichnet, dass die zirkulare Puffersteuereinheit den Schreib-
Bankzeiger und den Lese-Bankzeiger mit einem Versatz von drei Bänken
zwischen dem Schreib-Bankzeiger und dem Lese-Bankzeiger festlegt,
wenn der Reed-Solomon-Decoder nur eine Fehlerkorrektur durchführt.
29. Verfahren zum Zugreifen auf mehrere Speicher mit Doppelbänken,
wobei die Speicher für einen Reed-Solomon-Decoder vom Blockpipeline
typ hoher Geschwindigkeit zum Decodieren der von außen empfangenen
Daten und Korrigieren von Fehlern verwendet werden,
gekennzeichnet durch folgende Schritte:
- a) Festlegen eines Schreib-Bankzeigers und eines Lese-Bankzeigers für jeden Datenrahmen mit einem vorgegebenen Versatz zwischen dem Schreib-Bankzeiger und dem Lese-Bankzeiger in Abhängigkeit vom Feh lerkorrekturmodus, wobei die Nummer jedes Schreib- und jedes Lese- Bankzeigers für den jeweiligen Datenrahmen inkrementiert wird,
- b) Feststellen, ob ein Datenschreibbefehl oder ein Datenlesebefehl an einen der mehreren Speicher angelegt wird,
- c) Auswählen der durch den Schreib-Bankzeiger angezeigten Bank aus einem mit dem Anwenden des Datenschreibbefehls in Schritt b freigege benen Speicher und Schreiben von Daten in die ausgewählte Bank,
- d) Auswählen der durch den Lese-Bankzeiger angezeigten Bank aus einem anderen, mit dem Anwenden des Datenlesebefehls in Schritt b frei gegebenen Speicher und Lesen von in die ausgewählte Bank geschriebe nen Daten und
- e) Wiederholen der Schritte b bis d, bis das Decodieren der Daten ab geschlossen ist, wobei die Schritte c und d gleichzeitig ausgeführt werden.
30. Verfahren nach Anspruch 29, weiter dadurch gekennzeichnet, dass
der Schritt a folgende Teilschritte umfasst:
- 1. Feststellen, ob sowohl Fehler- als auch Irrungskorrekturen durchzu führen sind,
- 2. Festlegen des Schreib-Bankzeigers und des Lese-Bankzeigers mit einem Versatz von vier Bänken, wenn festgestellt wird, dass sowohl Fehler- als auch Irrungkorrekturen durchzuführen sind,
- 3. Feststellen, ob nur eine Fehlerkorrektur durchzuführen ist, wenn festgestellt wird, dass nicht sowohl Fehler- als auch Irrungskorrekturen durchzuführen sind, und
- 4. Festlegen des Schreib-Bankzeigers und des Lese-Bankzeigers mit einem Versatz von drei Bänken, wenn festgestellt wird, dass nur eine Feh lerkorrektur durchzuführen ist.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2000-0062904A KR100370239B1 (ko) | 2000-10-25 | 2000-10-25 | 고속 블럭 파이프라인 구조의 리드-솔로몬 디코더에적용하기 위한 메모리 장치와 메모리 액세스 방법 및 그메모리 장치를 구비한 리드-솔로몬 디코더 |
KR2000-62904 | 2000-10-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10133595A1 true DE10133595A1 (de) | 2002-05-29 |
DE10133595B4 DE10133595B4 (de) | 2009-01-22 |
Family
ID=19695352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10133595A Expired - Fee Related DE10133595B4 (de) | 2000-10-25 | 2001-07-02 | Pufferschaltung, Speicherzugriffsverfahren und Reed-Solomon-Decoder |
Country Status (8)
Country | Link |
---|---|
US (1) | US6639865B2 (de) |
JP (1) | JP3862062B2 (de) |
KR (1) | KR100370239B1 (de) |
CN (1) | CN1317643C (de) |
DE (1) | DE10133595B4 (de) |
GB (1) | GB2369215B (de) |
NL (1) | NL1018416C2 (de) |
TW (1) | TW514933B (de) |
Families Citing this family (94)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080282128A1 (en) * | 1999-08-04 | 2008-11-13 | Super Talent Electronics, Inc. | Method of Error Correction Code on Solid State Disk to Gain Data Security and Higher Performance |
KR100403634B1 (ko) * | 2001-10-17 | 2003-10-30 | 삼성전자주식회사 | 고속 파이프라인 리드-솔로몬 디코더에 적용하기 위한메모리 장치와 메모리 액세스 방법 및 그 메모리 장치를구비한 리드-솔로몬 디코더 |
GB2391769B (en) * | 2002-07-31 | 2005-07-06 | Hewlett Packard Co | Reed-Solomon decoder and decoding method for errors and erasures decoding |
US7206992B2 (en) * | 2003-03-04 | 2007-04-17 | Broadcom Corporation | Decoding a received BCH encoded signal |
US7237183B2 (en) * | 2003-03-04 | 2007-06-26 | Broadcom Corporation | Parallel decoding of a BCH encoded signal |
KR100553691B1 (ko) * | 2003-06-17 | 2006-02-24 | 윈텍 주식회사 | 영상처리장치 및 그 방법 |
US7840859B2 (en) * | 2005-02-14 | 2010-11-23 | Koninklijke Philips Electronics N.V. | Block interleaving with memory table of reduced size |
JP2008141276A (ja) * | 2006-11-30 | 2008-06-19 | Sanyo Electric Co Ltd | Tv信号処理回路 |
US8732558B1 (en) * | 2007-04-25 | 2014-05-20 | Samsung Electronics Co., Ltd. | MPE-FEC system capable of selecting an FEC mode, a forward error correcting method performed in the MPE-FEC system, and an FEC mode selecting method performed in the MPE-FEC system |
US8365040B2 (en) | 2007-09-20 | 2013-01-29 | Densbits Technologies Ltd. | Systems and methods for handling immediate data errors in flash memory |
WO2009037697A2 (en) | 2007-09-20 | 2009-03-26 | Densbits Technologies Ltd. | Improved systems and methods for determining logical values of coupled flash memory cells |
JP2009100369A (ja) * | 2007-10-18 | 2009-05-07 | Toshiba Corp | 誤り検出訂正回路、半導体メモリコントローラ、および誤り検出訂正方法 |
US8694715B2 (en) | 2007-10-22 | 2014-04-08 | Densbits Technologies Ltd. | Methods for adaptively programming flash memory devices and flash memory systems incorporating same |
US8443242B2 (en) | 2007-10-25 | 2013-05-14 | Densbits Technologies Ltd. | Systems and methods for multiple coding rates in flash devices |
WO2009072104A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | Flash memory device with physical cell value deterioration accommodation and methods useful in conjunction therewith |
US8335977B2 (en) | 2007-12-05 | 2012-12-18 | Densbits Technologies Ltd. | Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated BCH codes and/or designation of “first below” cells |
US8607128B2 (en) * | 2007-12-05 | 2013-12-10 | Densbits Technologies Ltd. | Low power chien-search based BCH/RS decoding system for flash memory, mobile communications devices and other applications |
US20090157946A1 (en) * | 2007-12-12 | 2009-06-18 | Siamak Arya | Memory having improved read capability |
US8276051B2 (en) * | 2007-12-12 | 2012-09-25 | Densbits Technologies Ltd. | Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications |
US8359516B2 (en) | 2007-12-12 | 2013-01-22 | Densbits Technologies Ltd. | Systems and methods for error correction and decoding on multi-level physical media |
WO2009078006A2 (en) | 2007-12-18 | 2009-06-25 | Densbits Technologies Ltd. | Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith |
WO2009118720A2 (en) | 2008-03-25 | 2009-10-01 | Densbits Technologies Ltd. | Apparatus and methods for hardware-efficient unbiased rounding |
US8332725B2 (en) | 2008-08-20 | 2012-12-11 | Densbits Technologies Ltd. | Reprogramming non volatile memory portions |
KR101008945B1 (ko) * | 2008-10-10 | 2011-01-17 | 김영운 | 상판 접이식 테이블 |
US8819385B2 (en) | 2009-04-06 | 2014-08-26 | Densbits Technologies Ltd. | Device and method for managing a flash memory |
US8458574B2 (en) | 2009-04-06 | 2013-06-04 | Densbits Technologies Ltd. | Compact chien-search based decoding apparatus and method |
US8566510B2 (en) | 2009-05-12 | 2013-10-22 | Densbits Technologies Ltd. | Systems and method for flash memory management |
US8305812B2 (en) | 2009-08-26 | 2012-11-06 | Densbits Technologies Ltd. | Flash memory module and method for programming a page of flash memory cells |
US8995197B1 (en) | 2009-08-26 | 2015-03-31 | Densbits Technologies Ltd. | System and methods for dynamic erase and program control for flash memory device memories |
US9330767B1 (en) | 2009-08-26 | 2016-05-03 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory module and method for programming a page of flash memory cells |
US8868821B2 (en) | 2009-08-26 | 2014-10-21 | Densbits Technologies Ltd. | Systems and methods for pre-equalization and code design for a flash memory |
US8730729B2 (en) | 2009-10-15 | 2014-05-20 | Densbits Technologies Ltd. | Systems and methods for averaging error rates in non-volatile devices and storage systems |
US8724387B2 (en) | 2009-10-22 | 2014-05-13 | Densbits Technologies Ltd. | Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages |
US8626988B2 (en) | 2009-11-19 | 2014-01-07 | Densbits Technologies Ltd. | System and method for uncoded bit error rate equalization via interleaving |
TWI425519B (zh) * | 2009-12-09 | 2014-02-01 | Nat Chip Implementation Ct Nat Applied Res Lab | 低複雜度低密度同位元檢查碼解碼器之記憶體配置方法及其解碼器結構 |
US9037777B2 (en) | 2009-12-22 | 2015-05-19 | Densbits Technologies Ltd. | Device, system, and method for reducing program/read disturb in flash arrays |
US8607124B2 (en) | 2009-12-24 | 2013-12-10 | Densbits Technologies Ltd. | System and method for setting a flash memory cell read threshold |
US8700970B2 (en) | 2010-02-28 | 2014-04-15 | Densbits Technologies Ltd. | System and method for multi-dimensional decoding |
US9104610B2 (en) | 2010-04-06 | 2015-08-11 | Densbits Technologies Ltd. | Method, system and medium for analog encryption in a flash memory |
US8527840B2 (en) | 2010-04-06 | 2013-09-03 | Densbits Technologies Ltd. | System and method for restoring damaged data programmed on a flash device |
US8745317B2 (en) | 2010-04-07 | 2014-06-03 | Densbits Technologies Ltd. | System and method for storing information in a multi-level cell memory |
US9021177B2 (en) | 2010-04-29 | 2015-04-28 | Densbits Technologies Ltd. | System and method for allocating and using spare blocks in a flash memory |
US8539311B2 (en) | 2010-07-01 | 2013-09-17 | Densbits Technologies Ltd. | System and method for data recovery in multi-level cell memories |
US8621321B2 (en) | 2010-07-01 | 2013-12-31 | Densbits Technologies Ltd. | System and method for multi-dimensional encoding and decoding |
US8467249B2 (en) | 2010-07-06 | 2013-06-18 | Densbits Technologies Ltd. | Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system |
US8964464B2 (en) | 2010-08-24 | 2015-02-24 | Densbits Technologies Ltd. | System and method for accelerated sampling |
US8508995B2 (en) | 2010-09-15 | 2013-08-13 | Densbits Technologies Ltd. | System and method for adjusting read voltage thresholds in memories |
US9063878B2 (en) | 2010-11-03 | 2015-06-23 | Densbits Technologies Ltd. | Method, system and computer readable medium for copy back |
US8850100B2 (en) | 2010-12-07 | 2014-09-30 | Densbits Technologies Ltd. | Interleaving codeword portions between multiple planes and/or dies of a flash memory device |
JP5622990B2 (ja) * | 2011-01-25 | 2014-11-12 | 富士通テン株式会社 | 画像処理装置、画像表示システム及び画像処理方法 |
JP2012175260A (ja) * | 2011-02-18 | 2012-09-10 | Alpine Electronics Inc | 多重放送受信機 |
US10079068B2 (en) | 2011-02-23 | 2018-09-18 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Devices and method for wear estimation based memory management |
US8693258B2 (en) | 2011-03-17 | 2014-04-08 | Densbits Technologies Ltd. | Obtaining soft information using a hard interface |
US8990665B1 (en) | 2011-04-06 | 2015-03-24 | Densbits Technologies Ltd. | System, method and computer program product for joint search of a read threshold and soft decoding |
US9195592B1 (en) | 2011-05-12 | 2015-11-24 | Densbits Technologies Ltd. | Advanced management of a non-volatile memory |
US9501392B1 (en) | 2011-05-12 | 2016-11-22 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of a non-volatile memory module |
US9396106B2 (en) | 2011-05-12 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US9372792B1 (en) | 2011-05-12 | 2016-06-21 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Advanced management of a non-volatile memory |
US8996790B1 (en) | 2011-05-12 | 2015-03-31 | Densbits Technologies Ltd. | System and method for flash memory management |
US9110785B1 (en) | 2011-05-12 | 2015-08-18 | Densbits Technologies Ltd. | Ordered merge of data sectors that belong to memory space portions |
US8667211B2 (en) | 2011-06-01 | 2014-03-04 | Densbits Technologies Ltd. | System and method for managing a non-volatile memory |
US8588003B1 (en) | 2011-08-01 | 2013-11-19 | Densbits Technologies Ltd. | System, method and computer program product for programming and for recovering from a power failure |
US8732433B2 (en) * | 2011-08-26 | 2014-05-20 | Micron Technology, Inc. | Apparatuses and methods for providing data from multiple memories |
US8553468B2 (en) | 2011-09-21 | 2013-10-08 | Densbits Technologies Ltd. | System and method for managing erase operations in a non-volatile memory |
US8947941B2 (en) | 2012-02-09 | 2015-02-03 | Densbits Technologies Ltd. | State responsive operations relating to flash memory cells |
US8996788B2 (en) | 2012-02-09 | 2015-03-31 | Densbits Technologies Ltd. | Configurable flash interface |
US8996793B1 (en) | 2012-04-24 | 2015-03-31 | Densbits Technologies Ltd. | System, method and computer readable medium for generating soft information |
US8838937B1 (en) | 2012-05-23 | 2014-09-16 | Densbits Technologies Ltd. | Methods, systems and computer readable medium for writing and reading data |
US8879325B1 (en) | 2012-05-30 | 2014-11-04 | Densbits Technologies Ltd. | System, method and computer program product for processing read threshold information and for reading a flash memory module |
US9921954B1 (en) | 2012-08-27 | 2018-03-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and system for split flash memory management between host and storage controller |
JP2014082574A (ja) * | 2012-10-15 | 2014-05-08 | Samsung Electronics Co Ltd | 誤り検出訂正回路、及びメモリ装置 |
US9368225B1 (en) | 2012-11-21 | 2016-06-14 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Determining read thresholds based upon read error direction statistics |
US9069659B1 (en) | 2013-01-03 | 2015-06-30 | Densbits Technologies Ltd. | Read threshold determination using reference read threshold |
US9136876B1 (en) | 2013-06-13 | 2015-09-15 | Densbits Technologies Ltd. | Size limited multi-dimensional decoding |
US9413491B1 (en) | 2013-10-08 | 2016-08-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for multiple dimension decoding and encoding a message |
US9397706B1 (en) | 2013-10-09 | 2016-07-19 | Avago Technologies General Ip (Singapore) Pte. Ltd. | System and method for irregular multiple dimension decoding and encoding |
US9786388B1 (en) | 2013-10-09 | 2017-10-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9348694B1 (en) | 2013-10-09 | 2016-05-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9536612B1 (en) | 2014-01-23 | 2017-01-03 | Avago Technologies General Ip (Singapore) Pte. Ltd | Digital signaling processing for three dimensional flash memory arrays |
US10120792B1 (en) | 2014-01-29 | 2018-11-06 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Programming an embedded flash storage device |
US9542262B1 (en) | 2014-05-29 | 2017-01-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Error correction |
US9892033B1 (en) | 2014-06-24 | 2018-02-13 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Management of memory units |
US9972393B1 (en) | 2014-07-03 | 2018-05-15 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Accelerating programming of a flash memory module |
US9584159B1 (en) | 2014-07-03 | 2017-02-28 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Interleaved encoding |
US9449702B1 (en) | 2014-07-08 | 2016-09-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Power management |
US9524211B1 (en) | 2014-11-18 | 2016-12-20 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Codeword management |
US10305515B1 (en) | 2015-02-02 | 2019-05-28 | Avago Technologies International Sales Pte. Limited | System and method for encoding using multiple linear feedback shift registers |
US10628255B1 (en) | 2015-06-11 | 2020-04-21 | Avago Technologies International Sales Pte. Limited | Multi-dimensional decoding |
US9851921B1 (en) | 2015-07-05 | 2017-12-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Flash memory chip processing |
US9954558B1 (en) | 2016-03-03 | 2018-04-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Fast decoding of data stored in a flash memory |
CN106023346B (zh) * | 2016-07-06 | 2018-08-14 | 福州瑞芯微电子股份有限公司 | 动态帧率行车记录系统及车辆速度判断装置 |
CN107766284B (zh) * | 2017-09-11 | 2021-09-07 | 中国航空工业集团公司洛阳电光设备研究所 | 一种基于片外缓存的流水统计方法和统计芯片 |
US10965929B1 (en) * | 2019-01-04 | 2021-03-30 | Rockwell Collins, Inc. | Depth mapping and parallel distortion correction for mixed reality |
US11962327B2 (en) * | 2022-01-13 | 2024-04-16 | Micron Technology, Inc. | Iterative decoding technique for correcting DRAM device failures |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6172327A (ja) | 1984-09-17 | 1986-04-14 | Casio Comput Co Ltd | 画像メモリのアドレス分配方式 |
US4725987A (en) | 1985-10-23 | 1988-02-16 | Eastman Kodak Company | Architecture for a fast frame store using dynamic RAMS |
EP0224691B1 (de) * | 1985-12-02 | 1993-02-10 | International Business Machines Corporation | Speicheranordnung mit mehrfachem Lese-Schreibzugriff |
CN1009047B (zh) * | 1985-12-27 | 1990-08-01 | 复旦大学 | 交叉穿插的里德-所罗门码的高速纠错译码系统 |
EP0261751A3 (de) * | 1986-09-25 | 1990-07-18 | Tektronix, Inc. | Simultanes Speicherzugriffssystem |
DE3715885A1 (de) | 1987-05-13 | 1988-11-24 | Philips Patentverwaltung | Vorfeldeinrichtung, insbesondere fuer ein b-isdn-vermittlungssystem |
US4845713A (en) | 1987-06-08 | 1989-07-04 | Exabyte Corporation | Method and apparatus for determining the coefficients of a locator polynomial |
US5226134A (en) * | 1990-10-01 | 1993-07-06 | International Business Machines Corp. | Data processing system including a memory controller for direct or interleave memory accessing |
KR940001590B1 (ko) * | 1991-07-05 | 1994-02-25 | 한국전기통신공사 | 블럭읽기 및 쓰기에서의 메모리 엑세스 시간 단축장치 및 방법 |
US5307314A (en) * | 1991-07-15 | 1994-04-26 | Micron Technology, Inc. | Split read/write dynamic random access memory |
US5459742A (en) * | 1992-06-11 | 1995-10-17 | Quantum Corporation | Solid state disk memory using storage devices with defects |
US5615355A (en) * | 1992-10-22 | 1997-03-25 | Ampex Corporation | Method and apparatus for buffering a user application from the timing requirements of a DRAM |
DE69424877T2 (de) | 1993-11-04 | 2001-01-04 | Cirrus Logic Inc | Reed-solomon-dekoder |
DE69430982T2 (de) | 1993-12-09 | 2003-03-13 | Sun Microsystems Inc | Verschachtelung von Bildelementdaten für eine Darstellungspeicherschnittstelle |
US5506810A (en) * | 1994-08-16 | 1996-04-09 | Cirrus Logic, Inc. | Dual bank memory and systems using the same |
US6094703A (en) * | 1995-02-21 | 2000-07-25 | Micron Technology, Inc. | Synchronous SRAM having pipelined memory access enable for a burst of addresses |
KR0170723B1 (ko) | 1995-12-29 | 1999-03-30 | 김광호 | 단일 ras 신호에 의해 동시 동작이 가능한 이중 뱅크를 갖는 반도체 메모리 장치 |
US6023745A (en) * | 1996-08-08 | 2000-02-08 | Neomagic Corporation | Scoreboarding for DRAM access within a multi-array DRAM device using simultaneous activate and read/write accesses |
US6031783A (en) * | 1996-08-09 | 2000-02-29 | Townsend And Townsend And Crew Llp | High speed video frame buffer |
US5774648A (en) | 1996-10-02 | 1998-06-30 | Mitsubishi Semiconductor Of America, Inc. | Address generator for error control system |
JP3233860B2 (ja) * | 1996-10-25 | 2001-12-04 | 松下電器産業株式会社 | リードソロモン復号器 |
US5961660A (en) | 1997-03-03 | 1999-10-05 | International Business Machines Corporation | Method and apparatus for optimizing ECC memory performance |
JP3250032B2 (ja) | 1997-04-09 | 2002-01-28 | 日本アイ・ビー・エム株式会社 | 動的バンド幅変更データ転送方法及びシステム |
US6044206A (en) * | 1997-10-14 | 2000-03-28 | C-Cube Microsystems | Out of order instruction processing using dual memory banks |
US6137807A (en) * | 1997-12-05 | 2000-10-24 | Whittaker Corporation | Dual bank queue memory and queue control system |
US6081920A (en) | 1998-01-08 | 2000-06-27 | Lsi Logic Corporation | Method and apparatus for fast decoding of a Reed-Solomon code |
US5969986A (en) | 1998-06-23 | 1999-10-19 | Invox Technology | High-bandwidth read and write architectures for non-volatile memories |
KR100313503B1 (ko) * | 1999-02-12 | 2001-11-07 | 김영환 | 멀티-뱅크 메모리 어레이를 갖는 반도체 메모리 장치 |
US6347389B1 (en) * | 1999-03-23 | 2002-02-12 | Storage Technology Corporation | Pipelined high speed reed-solomon error/erasure decoder |
-
2000
- 2000-10-25 KR KR10-2000-0062904A patent/KR100370239B1/ko not_active IP Right Cessation
-
2001
- 2001-04-12 US US09/832,943 patent/US6639865B2/en not_active Expired - Fee Related
- 2001-06-12 TW TW090114114A patent/TW514933B/zh not_active IP Right Cessation
- 2001-06-29 NL NL1018416A patent/NL1018416C2/nl not_active IP Right Cessation
- 2001-07-02 DE DE10133595A patent/DE10133595B4/de not_active Expired - Fee Related
- 2001-07-03 GB GB0116275A patent/GB2369215B/en not_active Expired - Fee Related
- 2001-07-09 CN CNB011224436A patent/CN1317643C/zh not_active Expired - Fee Related
- 2001-07-18 JP JP2001218754A patent/JP3862062B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE10133595B4 (de) | 2009-01-22 |
CN1350369A (zh) | 2002-05-22 |
CN1317643C (zh) | 2007-05-23 |
TW514933B (en) | 2002-12-21 |
NL1018416C2 (nl) | 2005-11-15 |
JP2002164792A (ja) | 2002-06-07 |
NL1018416A1 (nl) | 2002-05-01 |
GB2369215A (en) | 2002-05-22 |
JP3862062B2 (ja) | 2006-12-27 |
GB0116275D0 (en) | 2001-08-29 |
KR20020032038A (ko) | 2002-05-03 |
KR100370239B1 (ko) | 2003-01-29 |
GB2369215B (en) | 2003-04-16 |
US20020075715A1 (en) | 2002-06-20 |
US6639865B2 (en) | 2003-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10133595A1 (de) | Pufferschaltung, Speicherzugriffsverfahren, Speicherbauelement und Reed-Solomon-Decoder | |
DE2916710C2 (de) | ||
DE2942825A1 (de) | Verfahren und vorrichtung zur verarbeitung sequentiell uebertragender digitaler informationsworte | |
DE69929652T2 (de) | Datenfehlerkorrektursystem | |
DE2060643B2 (de) | Schaltungsanordnung zur Korrektur von Einzelfehlern | |
DE2657826A1 (de) | Einrichtung zur fehlererkennung und fehlerkorrektur im speichersystem einer dv-anlage | |
DE2834963A1 (de) | Verfahren und einrichtung zur fehlerkorrektur von uebertragenen daten | |
EP0545498B1 (de) | Verfahren und Schaltungsanordnung zum Decodieren von RS-codierten Datensignalen | |
DE1474040C3 (de) | Einrichtung zur Bildung von Speicheradressen | |
DE2503107A1 (de) | Korrekturcode fuer impulsfehler | |
DE2217935C3 (de) | Anordnung und Verfahren zur Korrektur von Doppelfehlern in einer Nachricht | |
DE102005022107B4 (de) | Vorrichtung und Verfahren zum Bestimmen einer Position eines Bitfehlers in einer Bitfolge | |
DE4105860C2 (de) | Schaltungsanordnung zum Erkennen und Korrigieren von Fehlern in Datenworten | |
DE69837784T2 (de) | Verbessertes fünf-fehler-korrektursystem | |
DE19607710A1 (de) | Verfahren und Vorrichtung zur Korrektur von Fehlern unter Verwendung mehrfacher Schätzungen | |
DE10010238C2 (de) | Verfahren zum Speichern von Pfadmetriken in einem Viterbi-Decodierer | |
EP0439649B1 (de) | Einrichtung zur Fehlermustergenerierung bei Soft-Decision-Decodierung von Blockcodes | |
DE102013016694B4 (de) | Codieren und Decodieren redundanter Bits zum Vornehmen von Anpassungen für Speicherzellen mit Haftfehlern | |
DE3104762C2 (de) | ||
DE102017107431B4 (de) | Verfahren und Vorrichtungen zur Fehlerkorrekturcodierung beruhend auf hochratigen verallgemeinerten verketteten Codes | |
DE102005018248B4 (de) | Prüfverfahren zur sicheren, beschleunigten Erkennung von Datenfehlern und Vorrichtung zur Durchführung des Prüfverfahrens | |
DE102013223813B4 (de) | Verfahren zur Wiederherstellung verloren gegangener und/oder beschädigter Daten | |
EP1109320B1 (de) | Einrichtung zur Datenumsetzung für einen Reed-Solomon Dekodierer | |
DE102009032640B4 (de) | Datenkorrektur-Vorrichtung, Datenkorrektur-Verfahren und maschinenlesbares Medium | |
DE3543976C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20150203 |