NL1018416C2 - Geheugeninrichting, werkwijze voor het nemen van toegang tot de geheugeninrichting, en Reed-Solomondecodeerinrichting omvattende de geheugeninrichting. - Google Patents

Geheugeninrichting, werkwijze voor het nemen van toegang tot de geheugeninrichting, en Reed-Solomondecodeerinrichting omvattende de geheugeninrichting. Download PDF

Info

Publication number
NL1018416C2
NL1018416C2 NL1018416A NL1018416A NL1018416C2 NL 1018416 C2 NL1018416 C2 NL 1018416C2 NL 1018416 A NL1018416 A NL 1018416A NL 1018416 A NL1018416 A NL 1018416A NL 1018416 C2 NL1018416 C2 NL 1018416C2
Authority
NL
Netherlands
Prior art keywords
bank
double
ram
read
during
Prior art date
Application number
NL1018416A
Other languages
English (en)
Other versions
NL1018416A1 (nl
Inventor
Hyung-Joon Kwon
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of NL1018416A1 publication Critical patent/NL1018416A1/nl
Application granted granted Critical
Publication of NL1018416C2 publication Critical patent/NL1018416C2/nl

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • 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/1555Pipelined decoder implementations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • 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/65Purpose and implementation aspects
    • H03M13/6566Implementations concerning memory access contentions

Landscapes

  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Memory System (AREA)
  • Information Transfer Systems (AREA)

Description

1 O·
Korte aanduiding: Geheugeninrichting, werkwijze voor het nemen van toegang tot de geheugeninrichting, en Reed-Solomon-decodeerinrichting omvattende de geheugeninrichting .
De uitvinding heeft betrekking op geheugens, die in digitale inrichtingen worden gebruikt om gegevens tijdelijk op te slaan, en op Reed-Solomon-decodeerinrichtingen. Meer in het bijzonder heeft de uitvinding betrekking op schakelingen en werkwijzen voor het bufferen 5 van gegevens onder gebruikmaking van dubbele-bankgeheugens, en nog meer in het bijzonder heeft de uitvinding betrekking op het bufferen van gegevens in een zeer snelle Reed-Solomon-decodeerinrichting met blok-pipeline.
x Bij het overdragen of opslaan van zeer grote hoeveelheden digi-10 tale gegevens treden onvermijdelijk fouten in de gegevenskanalen of overdrachtsmedia op. Een verscheidenheid aan technieken, die een poging doen om dergelijke fouten te identificeren en de gegevens, wanneer uitvoerbaar, te herstellen, is bekend. Ónder deze technieken is Reed-Solomon-codering algemeen aanvaard geworden. Reed-Solomon-codes 15 zijn op een blok gebaseerde foutcorrectiecodes, die uitstekende fout-correctiecapaciteiten en efficiënte codeer- en decodeerkarakteristie-ken bezitten, en derhalve een breed gebied van toepassingen in digitale communicatie en opslag hebben.
In het algemeen vormt een Reed-Solomon-codeerinrichting een co-20 dewoord, dat n symbolen (bijv. 8-bit bytes) bevat, door het toevoegen van 2t pariteitssymbolen aan een gegevensblok, dat k gegevenssymbolen heeft, waarbij 2ten-k. Reed-Solomon-codewoorden worden gewoonlijk aangeduid door middel van de karakters RS(n,k).Bijvoorbeeld bevat elk codewoord in de code RS(255,223) 255 codewoordbytes, waarvan 223 by-25 tes gegevens zijn en 32 bytes pariteitssymbolen zijn.
Anderzijds bewerkt een Reed-Solomon-decodeerinrichting elk codewoord in een poging om fouten, die tijdens overdracht of opslag optreden te corrigeren en om de oorspronkelijke gegevens te herstellen.
De decodeerinrichting is in staat om maximaal t foutsymbolen in elk 30 codewoord te corrigeren. Bijvoorbeeld in de code RS(255,223) is n-k=21=32, en daardoor kunnen maximaal 16 foutsymbolen in elk codewoord worden gecorrigeerd.
101841s j t « - 2 -
In het algemeen kan het Reed-Solomon-decodeerproces in acht (8) hoofdrekenstappen worden onderverdeeld, wanneer een fout- en uitwis-singscorrectie beiden worden uitgevoerd. Een "uitwissing" treedt op, wanneer de waarde van een symbool onjuist is, doch de positie van het 5 symbool bekend is. Een "fout" treedt op, wanneer er geen informatie bekend is met betrekking tot een onjuist symbool. De rekenstappen van fout- en uitwissingsdecodering bevatten (1) het berekenen van een syndroom uit het ontvangen/teruggehaalde ingangscodewoord om het bestaan van een fout te detecteren, (2) het bufferen van uitwissings-10 vlaggen, die in synchronisatie met het ingangscodewoord worden geleverd, (3) het wijzigen van het syndroom onder gebruikmaking van de uitwissingsvlaggen, (4) het produceren van een uitwissingslokalise-ringspolynoom, (5) het berekenen van coëfficiënten van het fputloka-liseringspolynoom en een foutevaluatiepolynoom onder gebruikmaking 15 van de gewijzigde syndroomwaarde en het uitwissingslokaliseringspoly-noom, (6) het zoeken naar de wortels van het foutlokaliseringspoly-noom, (7) het berekenen van de sterkte van de foutwaarden, en (8) het corrigeren van de fouten onder gebruikmaking van de in Stap (4) verkregen waarde en de in Stap (3) verkregen locatie. Voor alleen fout-20 correctie (d.w.z. geen uitwissingscorrectie) worden de Stappen (2), (3) en (4) weggelaten.
De bovenstaande Stappen (1) en (8) vereisen geheugentoegang.
Dit wil zeggen, dat het ontvangen codewoord in Stap (1) tijdelijk in een geheugen wordt opgeslagen, en later uit het geheugen wordt terug-25 gehaald om in Stap (8) te worden gecorrigeerd.
De decodeerberekeningen (en bijbehorende apparatuur en/of programmatuur) van de Reed-Solomon-decodeerinrichting zijn complexer dan die van het codeerproces, en het is dikwijls moeilijk om decodeerin-richtingen, die voldoende grote verwerkingssnelheden hebben, te rea-30 liseren. Dit kan in het bijzonder problematisch zijn in het licht van de huidige vraag naar snellere digitale-gegevensverwerkingssystemen.
In een poging om snelheden te vergroten, is pipelining van de berekeningen van de Reed-Solomon-decodeerinrichting een mogelijke oplossing. De berekeningen hebben echter verschillende wachttijden af-35 hankelijk van het aantal fouten en de lengten van de codewoorden, en dienovereenkomstig wordt pipelining begrensd door de eenheid of het blok met de langste wachttijd. Zelfs indien wachttijden van de ver-werkingsblokken tot een enkel frame van n cycli (d.w.z. één codewoord) verminderd zouden worden, creëert het geheugen voor het tijde- 1 o '· V * '·' ''
I I
- 3 - lijk opslaan van het ingangscodewoord voorafgaande aan correctie bovendien een knelpunt, aangezien ten minste 2n cycli vereist worden om allereerst het codewoord op te slaan en om vervolgens het codewoord voor correctie terug te halen.
5 Het is een doel van de uitvinding om een geheugeninrichting en een werkwijze voor het nemen van toegang tot een geheugeninrichting, welke lees/schrijfbewerkingen met grote snelheden uitvoeren, en welke derhalve op gunstige wijze in samenhang met een snelle Reed-Solomon-decodeerinrichting met blokpipeline gebruikt kunnen worden, te ver-10 schaffen en om een snelle Reed-Solomon-decodeerinrichting met blokpipeline, die een minimale geheugentoegangverkrijgingstijd heeft, te verschaffen.
Volgens één aspect van de uitvinding is het schrijven naar en lezen uit een aantal dubbele-bank RAM's mogelijk tijdens elk van op-15 eenvolgende frameperioden zodat elke bank van de dubbele-bank RAM's elk gegeven aantal frameperioden wordt gelezen en elk zelfde aantal frameperioden wordt geschreven, en zodat een gelezen bank is opgenomen in een ander RAM van het aantal dubbele-bank RAM's dan een geschreven bank in elk van de opeenvolgende frameperioden.
20 Volgens een ander aspect van de uitvinding bevat een geheugen een eerste dubbele-bank RAM met een eerste bank en een tweede bank, een tweede dubbele-bank RAM met een derde bank en een vierde bank, en een derde dubbele-bank RAM met een vijfde bank en een zesde bank. Het lezen uit de eerste tot en met de zesde gegevensbanken is in volgorde 25 mogelijk tijdens opeenvolgende frameperioden, zodat elke gegevensbank van de eerste tot en met de zesde gegevensbanken elke zes frameperioden wordt gelezen, en het schrijven naar de eerste tot en met de zesde gegevensbanken is in volgorde mogelijk tijdens de opeenvolgende frameperioden, zodat naar elke gegevensbank van de eerste tot en met 30 de zesde gegevensbanken elke zes frameperioden wordt geschreven. Tijdens elke frameperiode is verder een van de eerste tot en met de zesde gegevensbanken, waarvoor lezen mogelijk is, opgenomen in een ander RAM van de eerste tot en met de derde dubbele-bank RAM's dan een gegevensbank van de eerste tot en met de zesde gegevensbanken, waarvoor 35 schrijven mogelijk is.
Volgens nog een ander aspect van de uitvinding is tijdens elke frameperiode een verschuiving van een gegevensbank, waarvoor een leesbewerking mogelijk is, naar een gegevensbank, waarvoor een schrijfbewerking mogelijk is, vier (of drie) gegevensbanken, zodat ’.i jOT841 6 I, * - 4 - elk van de eerste tot en met de zesde gegevensbanken, waarnaar in een frameperiode a geschreven wordt, later in een frameperiode a+4 (of a+3), waarbij a een geheel getal is, gelezen wordt.
Volgens nog een ander aspect van de uitvinding worden de boven-5 genoemde dubbele-bankgeheugens gebruikt in combinatie met een aantal pipelined verwerkingseenheden, die Reed-Solomon-codewoorden ontvangen en die berekeningen uitvoeren om in de ingangscodewoorden aanwezige foutlocaties en foutwaarden te identificeren. Bij voorkeur zijn het aantal pipelined verwerkingseenheden en de geheugens werkzaam in 10 reactie op eenzelfde kloksignaalsnelheid.
Volgens nog een ander aspect van de uitvinding bevat elk codewoord n bytes en heeft elk van de geheugenbanken een capaciteit van n bytes, waarin n een positief geheel getal is. Een maximale wachttijd van elke eenheid van het aantal pipelined verwerkingseenheden is bij 15 voorkeur n cycli, en elk van de geheugentoegangsframeperioden is bij voorkeur n cycli.
De bovenstaande en andere doelen en voordelen van de uitvinding zullen duidelijk worden uit de volgende gedetailleerde beschrijving onder verwijzing naar de bijgevoegde tekening, waarin: 20 fig. 1 een blokschema van een snelle Reed-Solomon-decodeerin- richting met blokpipeline volgens de uitvinding is; fig. 2 een schema voor het beschrijven van wachttijden van de verwerkingsblokken van de Reed-Solomon-decodeerinrichting van fig. 1 is; 25 fig. 3 een blokschema van een voorkeursuitvoeringsvorm van een dubbele-bank 3-RAM-inrichting volgens de uitvinding is; fig. 4 een stroomschema, dat een voorkeursuitvoeringsvorm van een werkwijze van het toegang nemen tot de dubbele-bank 3-RAM-inrich-ting volgens de uitvinding toont, is; 30 fig. 5 en 6 schema's voor het beschrijven van de selectie van banken tijdens schrijf/leesbewerkingen in de dubbele-bank 3-RAM-inrichting van fig. 3 zijn; en fig. 7 een tijdsdiagram, dat de pipelined bewerking van de Reed-Solomon-decodeerinrichting van fig. 1 toont, is.
35 Fig. 1 toont een snelle Reed-Solomon-decodeerinrichting met blokpipeline volgens een uitvoeringsvorm van de uitvinding. De Reed-Solomon-decodeerinrichting volgens deze uitvinding is in staat om fout- en uitwissingscorrectie beide uit te voeren. Zoals is weergege- 10184 1.'? - 5 - ven zijn de berekeningen van de Reed-Solomon-decodeerinrichting in vijf (5) trappen SI tot en met S5 in een pipeline ondergebracht.
Voor alleen foutcorrectie zou de configuratie van fig. 1 de binnen de streepjeslijn 110 opgenomen elementen uitsluiten, in welk 5 geval slechts vier (4) pipelined trappen benodigd zijn.
De Reed-Solomon-decodeerinrichting van de uitvoeringsvorm van fig. 1 is uitgerust met een dubbele-bank 3-RAM-inrichting 180 voor het tijdelijk opslaan van de ingangsgegevens DIN, d.w.z. het codewoord R(x). Deze inrichting is opgebouwd uit drie geheugens, bijvoor-10 beeld drie RAM's, die elk twee banken hebben. Een cyclisch bestu- ringsmechanisme wordt toegepast om schrijf/leesbewerkingen in reactie op een gegevensinvoer-kloksignaal CLK uit te voeren. Kortweg schrijft de dubbele-bank 3-RAM-inrichting 180 de ingangsgegevens DIN naar een uit de drie RAM's geselecteerd RAM, en leest gegevens uit een bank 15 van een van de andere RAM's. De structuur en werking van de dubbele-bank 3-RAM-inrichting 180 zal later in detail onder verwijzing naar fig. 3 worden beschreven.
Nog steeds verwijzend naar fig. 1, bevat de Reed-Solomon-deco-deerinrichting (voor fout- en uitwissingscorrectië) bovendien een 20 syndroomgenerator 100, een vlagteller en vlagbuffer 120, een uitwis-singslokaliseringspolynoomgenerator 130, een syndroomwij zigingsorgaan 140, een polynoomcoëfficiëntgenerator 150, een foutwaarde-evaluatie-orgaan 160, een foutlocatiezoekorgaan 170 en een foutcorrectieorgaan 190. Zoals eerder vermeld, zijn de door deze componenten uitgevoerde 25 berekeningen in trappen SI tot en met S5 in een pipeline ondergebracht .
In trap SI berekent de syndroomgenerator 100 een syndroom S(x) uit de ingangsgegevens DIN. Vlagteller en vlagbuffer 120 telt het aantal in synchronisatie met de ingangsgegevens DIN geleverde uitwis-30 singsvlaggen Era_Flag, en buffert de uitwissingsvlaggen Era_Flag. Indien er geen uitwissingsvlaggen Era_Flag zijn of indien het aantal ingangsuitwissingsvlaggen Era_Flag voorbij een toelaatbaar correctie-bereik ligt, wordt in dit opzicht uitsluitend een foutcorrectie uitgevoerd. Dit wil zeggen, dat een toelaatbaar correctiebereik zodanig 35 kan worden gedefinieerd, dat alleen een foutcorrectie wordt uitgevoerd, indien meer uitwissingsvlaggen Bra_Flag zijn ingevoerd dan het aantal uitwissingsvlaggen van het toelaatbare correctiebereik. De vlagteller en vlagbuffer 120 is niet opgenomen in een Reed-Solomon-decodeerinrichting, die slechts voor foutcorrectie gevormd is.
101,8416 - 6 -
In trap S2 wijzigt het syndroomwijzigingsorgaan 140 het door de syndroomgenerator 100 opgewekte syndroom S (x) met de gebufferde uit-wissingsvlaggen en geeft een gewijzigd syndroom T(x) af. (Voor alleen foutcorrectie wordt het syndroom S(x) niet gewijzigd en is het syn-5 droomwij zigingsorgaan 140 weggelaten). De uitwissingslokaliseringspo-lynoomgenerator 130 wekt een uitwissingslokaliseringspolynoom op onder gebruikmaking van de gebufferde uitwissingsvlaggen. Wanneer het aantal ingangsuitwissingsvlaggen Era_Flag gelijk aan nul is of voorbij een toelaatbaar correctiebereik ligt/ wordt alleen een foutcor-10 rectie uitgevoerd/ zoals hierboven vermeld is. In dit geval wekt de uitwissingslokaliseringspolynoomgenerator 130 een constante (bijv. waarde 1) op in plaats van een uitwissingslokaliseringspolynoom.
In trap S3 wekt de polynoomcoëfficiëntgenerator 50 de coëfficiënten van een foutlokaliseringspolynoom o(x) voor foutlocatieonder-15 zoek en een foutevaluatiepolynoom E(x) voor foutevaluatie onder gebruikmaking van het gewijzigde syndroom T(x) en het uitwissingsloka-liseringspolynoom (of de constante 1) op. In deze uitvoeringsvorm gebruikt de polynoomcoëfficiëntgenerator 150 een Euclidisch algoritme. Het zal echter duidelijk zijn, dat ook andere bekende algoritmen ge-20 bruikt kunnen worden. Voor alleen foutcorrectie worden de binnen het blok 110 opgenomen elementen uitgesloten en derhalve worden de coëfficiënten van de foutlokaliseringspolynoom o(x) en de foutevaluatiepolynoom E(x) opgewekt onder gebruikmaking van het (ongewijzigde) syndroom S(x) en een constante 1.
25 In trap S4 berekent het foutwaarde-evaluatieorgaan 160 fout- waarden en berekent het foutlocatiezoekorgaan 170 foutlocaties op basis van de coëfficiënten van het foutlokaliseringspolynoom o(x) en een foutevaluatiepolynoom E(x). Bijvoorbeeld kan een Chien Search algoritme worden gebruikt om de oplossing van het foutlokaliseringspo-30 lynoom o(x) te berekenen en de verkregen oplossing in een polynoom-vorm te transformeren. Het getransformeerde foutlokaliseringspolynoom/ dat als Ω(χ) wordt uitgedrukt, wordt gebruikt om foutlocaties te berekenen. Op soortgelijke wijze berekent het foutwaarde-evaluatieorgaan 160 een foutevaluatiepolynoom E(x) uit de door de polynoom-35 coëfficiëntgenerator 150 geleverde coëfficiënten. Hierbij kunnen het foutlocatiezoekorgaan 170 en het foutevaluatiepolynoom E(x) 160 gezamenlijk als een "foutlocatie- en foutevaluatieorgaan" worden aangeduid.
1018416 - 7 -
In trap S5 neemt het foutcorrectieorgaan 190 van fig. 1 toegang tot de dubbele-bank 3-RAM-inrichting 180 om de eerder daarin geschreven gegevens DIN te lezen en corrigeert vervolgens de fouten van de gelezen gegevens met betrekking tot de door het foutlocatiezoekorgaan 5 170 geïdentificeerde foutlocaties en met betrekking tot de door het foutwaarde-evaluatieorgaan 160 berekende foutwaarden. In het bijzonder corrigeert het foutcorrectieorgaan 190 de in de uit de dubbele-bank 3-RAM-inrichting 180 teruggehaalde ingangsgegevens DIN aanwezige fouten door middel van het sommeren van de ingangsgegevens DIN en de 10 berekende foutwaarden, om daardoor uitgangsgegevens DUIT (d.w.z. gecorrigeerde gegevens R'(x)) te verkrijgen.
Hoewel niet weergegeven, voert elk pipelined verwerkingsblok van de in fig. 1 weergegeven Reed-Solomon-decodeerinrichting de corresponderende berekeningen van trappen Sl tot en met S5 in reactie op 15 een systeemkloksignaal uit.
Fig. 2 toont de wachttijd van de trappen Sl tot en met S5 van de Reed-Solomon-decodeerinrichting van fig. 1. Zoals is weergegeven bedraagt de maximale wachttijd van elk verwerkingsblok van de trappen Sl, S2., S4 en S5 n cycli (1 frame), waarbij n het aantal bytes in elk 20 codewoord is. De maximale wachttijd van het verwerkingsblok van trap S3 bedraagt eveneens n cycli. In dit opzicht wordt opgemerkt, dat de samenhangende D.S. octrooiaanvrage Serial No. 09/528,676, ingediend op 20 maart 2000, welke in zijn geheel hierin door middel van verwijzing is opgenomen, gericht is op een techniek voor het verminderen 25 van de maximale wachttijd van de derde trap S3 (polynoomcoëfficiënt-opwekking) tot n cycli.
Zoals is weergegeven in fig. 2, bedraagt de maximale wachttijd van de rekenblokken van de Reed-Solomon-inrichting dienovereenkomstig n cycli. In het algemeen wordt pipelining begrensd door de eenheid of 30 het blok met de langste wachttijd. Zelfs wanneer de maximale wachttijd van de verwerkingsblokken n cycli of 1 frame bedraagt, zal het gebruik van een gangbaar Reed-Solomon-decodeerinrichtingsgeheugen voor het tijdelijk opslaan van het ingangscodewoord voorafgaande aan correctie een knelpunt creëren, omdat het gangbare geheugen ten min-35 ste 2n cycli of 2 frames vereist om ten eerste het codewoord tijdens trap Sl op te slaan, en om vervolgens het codewoord terug te halen voor correctie daarvan in trap S5. In tegenstelling hiertoe overwint de dubbele-bank 3-RAM-inrichting van de uitvinding dit nadeel door het verminderen van de wachttijd van de geheugen- 101841c - 8 - schrijf/leesbewerkingen tot n cycli of 1 frame, zoals hieronder beschreven wordt.
Fig. 3 is een blokschema van een voorkeursuitvoeringsvorm van de in fig. 1 weergegeven dubbele-bank 3-RAM-inrichting 180. Zoals is 5 weergegeven in fig. 3 bevat de dubbele-bank 3-RAM-inrichting 180 een cyclisch bufferstuurorgaan 300, een eerste dubbele-bank 3-RAM-inrichting 310, een tweede dubbele-bank RAM 320 en een derde dubbele-bank RAM 330. Het eerste dubbele-bank RAM 310 is onderverdeeld in BANK 0 en BANK 1, het tweede dubbele-bank RAM 320 is onderverdeeld in BANK 2 10 en BANK 3, en het derde dubbele-bank RAM 330 is onderverdeeld in BANK 4 en BANK 5. Een adressignaal ADDR [7:0] wordt toegevoerd door een 8-bit adresbus 340, en de ingangsgegevens DIN [7:0] worden door een 8-bit gegevensbus 350 toegevoerd. Het uitgangssignaal van de dubbele-bank 3-RAM-inrichting 180 is een 8-bit parallel signaal MUIT 15 [7:0], en dit signaal wordt aan het in fig. 1 weergegeven foutcorrec- tieorgaan 190 toegevoerd.
Het cyclische bufferstuurorgaan 300 voert een le-zen/schrijvencommando RE/WR, een inwerkingstellingssignaal ENABLE, en een bankselectiesignaal BK_SEL toe aan elk van de RAM's 310, 320 en 20 330. Het lezen/schrijvencommando RE/WR specificeert een lees- of schrijfbewerking voor elk van de RAM's 310, 320 en 330, en het inwerkingstellingssignaal ENABLE stelt elk van de RAM's 310, 320 en 330 selectief in werking. Bovendien wordt het bankselectieorgaan BK_SEL toegevoegd aan het adressignaal ADDR [7:0] met het doel een van de 25 twee banken van elk van de RAM's 310, 320 n 330 te selecteren. Indien bijvoorbeeld het bankselectiesignaal BK_SEL 0 is, wordt een eerste bank van de twee banken van een corresponderend RAM geselecteerd, en indien het bankselectiesignaal BK_SEL 1 is, wordt een tweede bank van de twee banken van een corresponderend RAM geselecteerd. Op deze wij-30 ze functioneren het lezen/schrijvencommando RE/WR, het inwerkingstellingssignaal ENABLE en het bankselectiesignaal BK_SEL gezamenlijk als een schrijven-bankaanwijzer en/of een lezen-bankaanwijzer, die het schrijven en/of lezen van geselecteerde individuele banken van de RAM's 310, 320 en 330 specificeert.
35 In bedrijf plaatst het cyclische bufferstuurorgaan 300 in feite zowel een schrijven-bankaanwijzer als een lezen-bankaanwijzer in elke geheugencyclus. Deze schrijven- en lezen-bankaanwijzers worden zodanig geplaatst, dat de te schrijven bank en de te lezen bank zich in verschillende RAM's van de RAM's 310, 320 en 330 bevinden, en zodanig 10 i 8 ; t t - 9 - dat een voorafbepaalde verschuiving wordt gehandhaafd tussen de te schrijven bank en de te lézen bank van geheugencyclus tot geheugency-clus. Op deze wijze kunnen het schrijven van één gegevensframe (d.w.z. één codewoord) en het lezen van een ander gegevensframe ge-5 lijktijdig worden uitgevoerd in elk van opeenvolgende geheugencycli.
Meer in het bijzonder voert het cyclische bufferstuurorgaan 300 in elke geheugencyclus en in synchronisatie met een kloksignaal CLK het inwerkingstellingssignaal ENABLE aan twee van de RAM's 310, 320 en 330 toe, teneinde daardoor deze twee corresponderende RAM's in 10 werking te stellen. Verder voert het cyclische bufferstuurorgaan 300 een leescommando RE aan een van de twee in werking gestelde RAM's en een schrijfcommando WR aan het andere RAM van de twee in werking gestelde RAM's toe. Bovendien voegt het cyclische bufferstuurorgaan 300 de 1-bit bankselectiesignalen BKjSEL toe aan de aan elk van de in 15 werking gestelde RAM’s toegevoerde adressignalen AODR' [7:0] om daardoor een van de twee banken van elk van de in werking gestelde RAM's te selecteren. (In feite wordt een 9-bit adressignaal toegevoerd aan elk van de RAM's 310, 320 en 330). Voor elke geheugencyclus is één bank van één RAM voor schrijven in werking gesteld en is één bank van 20 een ander RAM voor lezen in werking gesteld.
De RAM's 310, 320 en 330 kunnen elk als een statisch willekeurig toegankelijk geheugen (d.w.z. SRAM 0, SRAM 1 en SRAM 2) worden uitgevoerd. Bij voorkeur is de geheugencapaciteit van elke bank voldoende om één frame of codewoord aan gegevens op te slaan. In het al-25 gemeen dient elke bank daarvoor een capaciteit van n symbolen (bytes) voor de RS(n,k) code te hebben, en dient elk RAM een capaciteit van 2n symbolen te hebben. In het voorbeeld van fig. 3 kan de bank van elk dubbele-bank RAM gegevens met een maximale lengte van 256 bytes over een Galois-veld GF(2®) opslaan.
30 Onderstaande Tabel 1 toont de omvang van elk RAM en elke bank wanneer een Reed-Solomon(RS)code (n,k) aanwezig is over een Galois-veld GF(2m), waarbij n de lengte (aantal symbolen of bytes) van een codewoord, k de lengte (aantal symbolen of bytes) van de ingangsgegevens voorafgaande aan codering, en m het aantal bits per byte is.
1018416· I · - 10 -
Tabel 1
Bankgrootte RAM grootte Gegevens- Adresbreedte ____breedte__ RS(n,k) n Zn m P+l, waarin P het code, kleinste gehele GF(2m) getal, dat aan _____log2n ^ P voldoet, is
Indien 256 512 8 8+1=9 n=256 en m=8_____
Hierin is de geheugenadresbreedte gedefinieerd als een waarde, 5 die wordt verkregen door het optellen van 1 bij een kleinste geheel getal P, dat aan de voorwaarde Log2n £ P voldoet. Zoals eerder is voorgesteld, is de optelling van 1 het resultaat van de selectie van een bank, onder gebruikmaking van de MSB van het RAM-adres. Zoals is weergegeven in Tabel 1 is de bankgrootte 256 bytes en de RAM-grootte 10 512 bytes, wanneer n=256 en ms8. Hierbij bedraagt-de gegevensbreedte 8 bits en de adresbreedte 9 bits.
De werking van de dubbele-bank 3-RAM-inrichting 180 zal in detail onder verwijzing naar fig. 3 en 4 worden beschreven, waarbij fig. 4 een stroomschema is, dat een werkwijze voor het toegang nemen 15 tot de hierboven in samenhang met fig. 3 toegelichte dubbele-bank 3-RAM-inrichting 180 toont.
Bij het toegang nemen tot de dubbele-bank 3-RAM-inrichting 180, wordt de werkingsmodus van de Reed-Solomon-decodeerinrichting geïdentificeerd, d.w.z. of een fout- en uitwissingscorrectie beide uitge-20 voerd dienen te worden, of dat alleen een foutcorrectie uitgevoerd dient te worden. Onder verwijzing naar fig. 4, is het instellen van de schrijven-bankaanwijzer en de lezen-bankaanwijzer anders voor fout- en uitwissingscorrectie (Stap 400) dan voor foutcorrectie alleen (Stap 410) .
25 In het bijzonder wordt in Stap 402 bepaald of fout- en uitwis singscorrectie beide uitgevoerd dienen te worden. Zoals eerder is beschreven, wordt dit gedaan door middel van het controleren van het aantal in synchronisatie met de ingangsgegevens DIN ingevoerde uit-wissingsvlaggen Era_Flag. Indien er een of meer uitwissingsvlaggen f 013-UJ6 - 11 -
Era_Flag tot maximaal een toelaatbaar maximum zijn, dan worden de foutcorrectie- en uitwissingscorrectie beide uitgevoerd.
Indien in Stap 402 bepaald wordt, dat de fout- en uitwissings-correcties beide uitgevoerd dienen te worden, dan wordt Stap 404 uit-5 gevoerd, waarin het cyclische bufferstuurorgaan 300 een verschuiving tussen een schrijven-bankaanwijzer en een lezen-bankaanwijzer op vier (4) banken instelt. Deze verschuiving tussen de schrijven-bankaanwijzer en de lezen-bankaanwijzer wordt in detail onder verwijzing naar fig. 5 beschreven. In het eerste frame T50 van het voorbeeld van fig. 10 5 is de lezen-aanwijzer geplaatst op BANK 0 van het eerste RAM en is de schrijven-aanwijzer geplaatst· op BANK 4 van het derde RAM. De verschuiving van de lezen-bankaanwijzer naar de schrijven-bankaanwijzer is derhalve vier (4) banken. De lezen- en schrijven-aanwijzer worden vervolgens in elk frame van de opeenvolgende frames geïncrementeerd, 15 zoals is weergegeven in fig. 5, en de verschuiving van vier (4) banken tussen de lezen-bankaanwijzer en de schrijven-bankaanwijzer wordt in elk frame gehandhaafd. Indien de lezen-bankaanwijzer als BANK # wordt uitgedrukt, dan wordt de schrijven-bankaanwijzer als BANK (#+4)MOD6 uitgedrukt, waarin het getal 6 het totale aantal ban-20 ken aangeeft.
Indien het schrijven naar een bepaalde bank verondersteld wordt willekeurig plaats te vinden in een "eerste" frame, dan zal de verschuiving van vier (4) resulteren in het lezen van deze bepaalde bank in een "vijfde" frame. Beschouw bijvoorbeeld BANK 4 van het derde RAM 25 in fig. 5. Deze bank wordt in het eerste frame T50 geschreven en vervolgens in het vijfde frame gelezen. Deze tijdsbepaling correspondeert met het aantal trappen (vijf) van pipelined berekeningen in de Reed-Solomon-decodeerinrichting voor zowel fout- als uitwissingscorrectie. Indien ingangsgegevens DIN naar BANK 4 in de eerste rekentrap 30 worden geschreven, dan worden dezelfde gegevens DIN in de vijfde rekentrap van de decodeerinrichting uit BANK 4 gelezen.
Indien in Stap 402 van fig. 4 wordt vastgesteld dat alleen een foutcorrectie uitgevoerd dient te worden, dan wordt Stap 414 uitgevoerd, waarin het cyclische bufferstuurorgaan 300 een verschuiving 35 tussen een schrijven-bankaanwijzer en een lezen-bankaanwijzer op drie (3) banken instelt. Correctie van alleen fouten vindt plaats, wanneer er geen foutvlag Era_Flag is ingevoerd of wanneer het aantal van de ingevoerde foutvlaggen Era_Flag buiten het toelaatbare correctiebe-reik ligt. De verschuiving van drie (3) banken tussen de schrijven- 101,6416 - 12 - bankaanwijzer en de lezen-bankaanwijzer wordt in detail onder verwijzing naar fig. 6 beschreven. In het eerste frame T60 van het voorbeeld van fig. 6 is de lezen-aanwijzer geplaatst op BANK 0 van het eerste RAM en is de schrijven-aanwijzer geplaatst op BANK 3 van het 5 tweede RAM. Derhalve is de verschuiving van de lezen-bankaanwijzer naar de schrijven-bankaanwijzer drie (3) banken. De lezen- en schrijven-aanwijzer worden vervolgens in elk frame van de opeenvolgende frames geïncrementeerd, zoals is weergegeven in fig. 6, en de verschuiving van drie (3) banken van de lezen-bankaanwijzer naar de 10 schrijven-bankaanwijzer wordt in elk frame gehandhaafd. Indien de lezen-bankaanwijzer als BANK # wordt uitgedrukt, dan wordt de schrijven-bankaanwij zer als BANK (#+3)MOD6 uitgedrukt.
Indien het schrijven naar een bepaalde bank verondersteld wordt willekeurig plaats te vinden in een "eerste" frame, dan zal de ver-15 schuiving van drie (3) resulteren in het lezen van deze bepaalde bank in een "vierde" frame. Beschouw bijvoorbeeld BANK 3 van het tweede RAM in fig. 6. Deze bank wordt in het eerste frame T60 geschreven en vervolgens in het vierde frame gelezen. Deze tijdsbepaling correspondeert met het aantal trappen (vier) van pipelined berekeningen in de 20 Reed-Solomon-decodeerinrichting voor foutcorrectie alleen. Indien ingangsgegevens DIN naar BANK 3 in de eerste rekentrap worden geschreven, kunnen dezelfde gegevens DIN derhalve in de vierde rekentrap van de decodeerinrichting uit BANK 3 worden gelezen.
Wanneer een schrijven-commando in Stap 420 van fig. 4 is toege-25 voerd, dan worden de ingangsgegevens DIN naar de door de schrijven-bankaanwij zer in Stap 430 aangewezen bank geschreven. Wanneer een Ie-zen-commando RE in Stap 440 is toegevoerd, dan worden op soortgelijke wijze de eerder geschreven ingangsgegevens DIN uit de door de lezen-bankaanwijzer in Stap 450 aangewezen bank gelezen. In Stap 460 worden 30 de aldus gelezen gegevens DIN vervolgens gebruikt bij de correctie van fouten en/of uitwissingen, zoals hierboven is beschreven.
Zoals is weergegeven in fig. 4 worden de schrijf- en leesbewer-kingen van gegevens gelijktijdig uitgevoerd. Indien codering niet voltooid is in Stap 470, gaat het decodeerproces verder door terug te 35 keren naar Stappen 420 en 440 voor de uitvoering van een volgend ge-heugenframe.
Zoals is weergegeven in fig. 5 en 6 worden de verschuivingen tussen de schrijven-bankaanwijzer en de lezen-bankaanwijzer ingesteld om collisies (gelijktijdige toegang) in hetzelfde RAM te voorkomen, 101841$ :i .
- 13 - en om schrijf- en leesbewerkingen, die samenvallen met de tijdsbepalingen van de rekentrappen van de decodeerinrichting mogelijk te maken. De geheugentoegangverkrijgingsvolgorde kan derhalve vooraf worden gedefinieerd en reageert op de systeemklok, en de decodeerwerking 5 van de Reed-Solomon-decodeerinrichting kan derhalve snel en zonder geheugenknelpunten worden verkregen.
Tabel 2 toont op een vergelijkende wijze het aantal geheugen-toegangscycli, vereist voor een decodeerinrichting met een enkel cyclisch RAM en voor de Reed-Solomon-decodeerinrichting van de uitvin-10 ding, die drie cyclische RAM’s gebruikt.
Tabel 2 RS(n,k) Schrijf- Lees- Totale aan- Vereiste aantal Vereiste aantal code cycli cycli tal lees- geheugentoe- . systeemklokken ten en schrijf- gangscycli opzichte van gege- cycli__vensinvoerklokken 1 RAM n__n__2 n__>2n__>2x_ 3 RAM's n__n__2n__n__lx_ 15 Aannemende dat elke cyclus van het schrijven van gegevens naar en het lezen van gegevens uit de RAM's "n" is, is het voor het toegang nemen tot geheugens per gegevensframe vereiste aantal cycli w2n" in het geval van het gebruik van een enkele RAM en slechts "n” voor het geval van drie RAM’s, zoals is weergegeven in Tabel 2. Wanneer 20 één RAM wordt gebruikt, dient bovendien een systeemkloksnelheid tot twee- of meer maal een gegevensinvoerkloksnelheid te worden verhoogd. Wanneer drie RAM's worden gebruikt, zoals in de uitvinding, kan de systeemkloksnelheid anderzijds gelijk zijn aan de gegevensinvoerkloksnelheid. Als gevolg hiervan kan het schrijven en lezen van gegevens 25 met een systeemkloksignaal van lagere snelheid worden uitgevoerd.
Tabel 3 toont grootte- en werkingssnelheidsvergelijkingen tussen het enkele-RAM-geheugen en de dubbele-bank 3-RAM-inrichting van de uitvinding in het geval waarin SRAM’s voor 256-byte codewoorden worden toegepast.
30
101841Z
- 14 -Tabel 3
Geheugen _Grootte_ Relatieve
Absoluut__Relatief__snelheid 1 RAM (1536 bytes)__10996__0,66x__<0,5x_ 3 RAM"s (512*3 bytes) 5573*3 1 1 1 1_
Wanneer de lengte van het codewoord 256 bytes is» is de grootte 5 van een enkel 1536-byte SRAM 0,66 maal kleiner dan die van de drie 512-byte SRAM-configuratie van de uitvinding, zoals is weergegeven in Tabel 3. De werkingssnelheid van de drie RAM's is echter meer dan tweemaal die van de enkele SRAM. Wanneer de Reed-Solomon-decodeerin-richting als een geheel wordt beschouwd, is bovendien de procentuele 10 toename in de omvang daarvan, die resulteert uit het gebruik van drie SRAM's, verwaarloosbaar in het licht van de toegenomen werkingssnel-heden.
Fig. 7 is een tijdsdiagram van het decodeerproces van de Reed-Solomon-decodeerinrichting met blokpipeline volgens een uitvoerings-15 vorm van de uitvinding. Zoals is weergegeven in fig. 7 bedraagt de beginwachttijdvertraging T70 4*n cycli en de fout-gecorrigeerde gegevens DUIT (d.w.z. R'(x)) worden elke n cycli na de beginwachttijdvertraging T70 afgegeven. Zodra een volledige pipelining van bewerkingen verkregen is in de 5-de en 6-de frames, kunnen het schrijven van ge-20 gevens met de berekening van S{x) en het lezen van gegevens met de berekening van R'(x) beide worden uitgevoerd zonder het creëren van een knelpunt» aangezien de wachttijd van de schrijf/leesbewerkingen n cycli bedraagt. In fig. 7 geeft T75 een doorvoervertragingsinterval in de actuele bewerkingsprocedure, in plaats van een wachttijdvertra-25 gingsinterval weer.
De dubbele-bank 3-RAM-inrichting van de uitvinding en de de dubbele-bank 3-RAM-inrichting van de uitvinding toepassende Reed-Solomon-decodeerinrichting hebben een groot toepassingsgebied, omvattende bijvoorbeeld optische-schijfsystemen, zoals hoge-definitie di-30 gitale veelzijdige schijven (HD-DVD), HDTV, satellietcommunicaties, draadloze communicatieapparatuur, zoals IMT, netwerksystemen zoals giga-Ethernet, en ultra-snelle systemen.
In de dubbele-bank 3-RAM-inrichting van de uitvinding kan de gegevensinvoerklok voor het toegang nemen tot geheugens als de sys-35 teemklok worden gebruikt, zodat de vervaardiging van de halfgeleider- 1 0 ï W 6 - 15 - inrichting vereenvoudigd is, het energieverbruik verlaagd is, en de werkingssnelheid vergroot is. Bovendien kunnen geheugens met langdurige toegangsverkrijging tot een minimum beperkt worden, zodat de systeemkloksnelheid minder door de geheugentoegangstijd beïnvloed 5 wordt, waardoor de mate van vrijheid in de tijdbepalingsmarges tussen blokken in het systeemontwerp feitelijk toegenomen is. Verder maakt de dubbele-bank 3-RAM-inrichting overdrachten met grote snelheid, die in het bijzonder geschikt zijn voor een snelle pipelined Reed-Solomon-decodeerinrichting en voor de de Reed-Solomon-decodeerinrich-10 ting toepassende ultra-snelle systemen, mogelijk.
10’lg4 16

Claims (32)

1. Bufferschakeling voor het gelijktijdig schrijven en lezen van gegevens tijdens elke periode van opeenvolgende frameperioden, omvattende: een aantal dubbele-bank RAM's; en 5 een met het aantal dubbele-bank RAM's gekoppelde geheugenstuur schakeling, die het schrijven naar en het lezen uit het aantal dubbele-bank RAM's tijdens elk van de opeenvolgende frameperioden mogelijk maakt, zodat elke bank van de dubbele-bank RAM's elk gegeven aantal frameperioden wordt gelezen en naar elke bank van de dubbele-bank 10 RAM’s elk gegeven aantal frameperioden wordt geschreven, en zodat een te lezen bank is opgenomen in een ander RAM van het aantal dubbele-bank RAM's dan een te schrijven bank in elk van de opeenvolgende frameperioden .
2. Bufferschakeling voor het gelijktijdig schrijven en lezen 15 van gegevens tijdens elke periode van opeenvolgende frameperioden, omvattende: een eerste dubbele-bank RAM met een eerste bank en een tweede bank; een tweede dubbele-bank RAM met een derde bank en een vierde 20 bank; en een derde dubbele-bank RAM met een vijfde bank en een zesde bank; en een met de eerste, tweede en derde dubbele-bank RAM's gekoppelde geheugenstuurschakeling, die het in volgorde lezen uit de eerste 25 tot en met zesde gegevensbanken tijdens de opeenvolgende frameperioden mogelijk maakt, zodat elke bank van de eerste tot en met de zesde gegevensbanken elke zes frameperioden wordt gelezen, en die het in volgorde schrijven naar de eerste tot en met de zesde gegevensbanken tijdens de opeenvolgende frameperioden mogelijk maakt, zodat naar 30 elke bank van de eerste tot en met de zesde gegevensbanken elke zes frameperioden wordt geschreven; waarbij tijdens elk van de frameperioden de gegevensbank van de eerste tot en met de zesde gegevensbanken, waarvoor het lezen door de geheugenstuurschakeling mogelijk is gemaakt, in een ander RAM van de 35 eerste tot en met de derde dubbele-bank RAM's is opgenomen dan de gegevensbank van de eerste tot en met de zesde gegevensbanken, waarvoor het schrijven door de geheugenstuurschakeling mogelijk is gemaakt. ?1'Üi:84|6 I * - 17 -
3. Bufferschakeling volgens conclusie 2, waarbij tijdens elke frameperiode een verschuiving van een gegevensbank, waarvoor een leesbewerking mogelijk is, naar een gegevensbank, waarvoor een schrijfbewerking mogelijk is, vier gegevensbanken bedraagt, zodat elk 5 van de eerste tot en met de zesde gegevensbanken, waarnaar in een frameperiode a geschreven wordt, later in een frameperiode a+4, waarbij a een geheel getal is, gelezen wordt.
4. Bufferschakeling volgens conclusie 2, waarbij tijdens elke frameperiode een verschuiving van een gegevensbank, waarvoor een 10 leesbewerking mogelijk is, naar een gegevensbank, waarvoor een schrijfbewerking mogelijk is, drie gegevensbanken bedraagt, zodat elk van de eerste tot en met de zesde gegevensbanken, waarnaar in een frameperiode a geschreven wordt, later in een frameperiode a+3, waarbij a een geheel getal is, gelezen wordt.
5. Bufferschakeling volgens conclusie 2, waarbij tijdens een a-de frameperiode, waarbij a een geheel getal is, de geheugenstuurschakeling het lezen uit de eerste bank van de eerste dubbele-bank RAM en het schrijven naar de vijfde bank van het derde dubbele-bank RAM mogelijk maakt, 20 tijdens een (a+1) -de frameperiode, de geheugenstuurschakeling het lezen uit de tweede bank van het eerste dubbele-bank RAM en het schrijven naar de zesde bank van het derde dubbele-bank RAM mogelijk maakt, tijdens een a+2-de frameperiode, de geheugenstuurschakeling het 25 lezen uit de derde bank van het tweede dubbele-bank RAM en het schrijven naar de eerste bank van het eerste dubbele-bank RAM mogelijk maakt, tijdens een (a+3)-de frameperiode, de geheugenstuurschakeling het lezen uit de vierde bank van het tweede dubbele-bank RAM en het 30 schrijven naar de tweede bank van het eerste dubbele-bank RAM mogelijk maakt, tijdens een (a+4)-de frameperiode, de geheugenstuurschakeling het lezen uit de vijfde bank van het derde dubbele-bank RAM en het schrijven naar de derde bank van het tweede dubbele-bank RAM mogelijk 35 maakt, en tijdens een (a+5)-de frameperiode, de geheugenstuurschakeling het lezen uit de zesde bank van het derde dubbele-bank RAM en het schrijven naar de vierde bank van het tweede dubbele-bank RAM mogelijk maakt. Yen 8 416 « · - 18 -
6. Bufferschakeling volgens conclusie 2, waarbij: tijdens een a-de frameperiode, waarbij a een geheel getal is, de geheugenstuurschakeling het lezen uit de eerste bank van het eerste dubbele-bank RAM en het schrijven naar de tweede bank van het 5 tweede dubbele-bank RAM mogelijk maakt, tijdens een (a+l)-de frameperiode, de geheugenstuurschakeling het lezen uit de tweede bank van het eerste dubbele-bank RAM en het schrijven naar de vijfde bank van het derde dubbele-bank RAM mogelijk maakt, 10 tijdens een (a+2)-de frameperiode, de geheugenstuurschakeling het lezen uit de derde bank van het tweede dubbele-bank RAM en het schrijven naar de zesde bank van het derde dubbele-bank RAM mogelijk maakt, tijdens een (a+3)-de frameperiode, de geheugenstuurschakeling 15 het lezen uit de vierde bank van het tweede dubbele-bank RAM en het schrijven naar de eerste bank van het eerste dubbele-bank RAM mogelijk maakt, tijdens een (a+4)-de frameperiode, de geheugenstuurschakeling het lezen uit de vijfde bank van het derde dubbele-bank RAM en het 20 schrijven naar de tweede bank van het eerste dubbele-bank RAM mogelijk maakt, en tijdens een (a+5)-de frameperiode, de geheugenstuurschakeling het lezen uit de zesde bank van het derde dubbele-bank RAM en het schrijven naar de derde bank van het tweede dubbele-bank RAM mogelijk 25 maakt.
7. Werkwijze voor het nemen van toegang tot een aantal dubbele-bankgeheugens, waarbij de werkwijze omvat: het mogelijk maken van het schrijven naar en het lezen uit het aantal dubbele-bankgeheugens tijdens elk van de opeenvolgende frameperioden, zodat elke bank van de 30 dubbele-bankgeheugens elk gegeven aantal frameperioden wordt gelezen en naar elke bank van de dubbele-bankgeheugens elk gegeven aantal frameperioden wordt geschreven, en zodat een te lezen bank is opgenomen in een ander geheugen van het aantal dubbele-bankgeheugens dan een te schrijven bank in elk van de opeenvolgende frameperioden.
8. Werkwijze voor het toegang nemen tot een geheugeninrichting bevattende een eerste dubbele-bank RAM met een eerste bank en een tweede bank, een tweede dubbele-bank RAM met een derde bank en een vierde bank, en een derde dubbele-bank RAM met een vijfde bank en een zesde bank, waarbij de werkwijze omvat: 1018418 - 19 - het mogelijk maken van het in volgorde lezen uit de eerste tot en met de zesde gegevensbanken tijdens opeenvolgende frameperioden, zodat elke gegevensbank van de eerste tot en met de zesde gegevensbanken elke zes frameperioden wordt gelezen; en 5 het mogelijk maken van het in volgorde schrijven naar de eerste tot en met de zesde gegevensbanken tijdens de opeenvolgende frameperioden, zodat naar elke gegevensbank van de eerste tot en met de zesde gegevensbanken elke zes frameperioden wordt geschreven; waarbij tijdens elk van de frameperioden de gegevensbank van de 10 eerste tot en met de zesde gegevensbanken, waarvoor het lezen mogelijk is gemaakt, in een ander RAM van de eerste tot en met de derde dubbele-bank RAM's is opgenomen dan de gegevensbank van de eerste tot en met de zesde gegevensbanken, waarvoor het schrijven mogelijk is gemaakt.
9. Werkwijze volgens conclusie 8, waarbij tijdens elke framepe- riode een-verschuiving van een gegevensbank, waarvoor een leesbewer-king mogelijk is, naar een gegevensbank, waarvoor een schrijfbewerking mogelijk is, vier gegevensbanken bedraagt, zodat elk van de eerste tot en met de zesde gegevensbanken, waarnaar in een 20 frameperiode a geschreven wordt, later in een frameperiode a+4, waarbij a een geheel getal is, gelezen wordt.
10. Werkwijze volgens conclusie 8, waarbij tijdens elke frameperiode een verschuiving van een gegevensbank, waarvoor een leesbe-werking mogelijk is, naar een gegevensbank , waarvoor een schrijfbe- 25 werking mogelijk is, drie gegevensbanken bedraagt, zodat elk van de eerste tot en met de zesde gegevensbanken, waarnaar in een frameperiode a geschreven wordt, later in een frameperiode a+3, waarbij a een geheel getal is, gelezen wordt.
11. Werkwijze volgens conclusie 8, verder omvattende: 30 het tijdens een a-de frameperiode, waarbij a een geheel getal is, lezen uit de eerste bank van het eerste dubbele-bank RAM en het schrijven naar de vijfde bank van het derde dubbele-bank RAM; het tijdens een (a+1) -de frameperiode lezen uit de tweede bank van het eerste dubbele-bank RAM en het schrijven naar de zesde bank 35 van het derde dubbele-bank RAM, het tijdens een (a+2)-de frameperiode lezen uit de derde bank van het tweede dubbele-bank RAM en het schrijven naar de eerste bank van het eerste dubbele-bank RAM, Ï0 7£4 t % - 20 - het tijdens een (a+3)-de frameperiode lezen uit de vierde bank van het tweede dubbele-bank RAM en het schrijven naar de tweede bank van het eerste dubbele-bank RAM, het tijdens een (a+4)-de frameperiode lezen uit de vijfde bank 5 van het derde dubbele-bank RAM en het schrijven naar de derde bank van het tweede dubbele-bank RAM, en het tijdens een (a+5)-de frameperiode lezen uit de zesde bank van het derde dubbele-bank RAM en het schrijven naar de vierde bank van het tweede dubbele-bank RAM.
12. Werkwijze volgens conclusie 8, verder omvattende: het tijdens een a-de frameperiode, waarbij a een geheel getal is, lezen uit de eerste bank van het eerste dubbele-bank RAM en het schrijven naar de tweede bank van het tweede dubbele-bank RAM, het tijdens een (a+l)-de frameperiode lezen uit de tweede bank 15 van het eerste dubbele-bank RAM en het schrijven naar de vijfde bank van het derde dubbele-bank RAM, het tijdens een (a+2)-de frameperiode lezen uit de derde bank van het tweede dubbele-bank RAM en het schrijven, naar de zesde bank van het derde dubbele-bank RAM, 20 het tijdens een (a+3)-de frameperiode lezen uit de vierde bank van het tweede dubbele-bank RAM en het schrijven naar de eerste bank van het eerste dubbele-bank RAM, het tijdens een (a+4)-de frameperiode lezen uit de vijfde bank van het derde dubbele-bank RAM en het schrijven naar de tweede bank 25 van het eerste dubbele-bank RAM, en het tijdens een (a+5)-de frameperiode lezen uit de zesde bank van het derde dubbele-bank RAM en het schrijven naar de derde bank van het tweede dubbele-bank RAM.
13. Pipelined Reed-Solomon-decodeerinrichting omvattende: 30 een aantal pipelined verwerkingseenheden die ingevoerde Reed- Solomon-codewoorden ontvangen en die berekeningen uitvoeren om in de ingangscodewoorden aanwezige foutlocaties en foutwaarden te identificeren; en een bufferschakeling die de ingangscodewoorden tijdelijk op-35 slaat tijdens de uitvoering van de berekeningen door het aantal pij>e-lined verwerkingseenheden; waarbij de bufferschakeling omvat: een aantal dubbele-bank RAM's; en f0 ”1.84 16 - 21 - een met het aantal dubbele-bank RAM's gekoppelde geheugenstuurschakeling, die het schrijven naar en het lezen uit het aantal dubbele-bank RAM's tijdens elk van de opeenvolgende frameperioden mogelijk maakt, zodat elke bank van de dubbele-bank RAM's elk gegeven aantal 5 frameperioden wordt gelezen en naar elke bank van de dubbele-bank RAM's elk gegeven aantal frameperioden wordt geschreven, en zodat een te lezen bank is opgenomen in een ander RAM van het aantal dubbele-bank RAM's dan een te schrijven bank in elk van de opeenvolgende frameperioden.
14. Pipelined Reed-Solomon-decodeerinrichting omvattende: een aantal pipelined verwerkingseenheden die ingevoerde Reed-Solomon-codewoorden ontvangen en die berekeningen uitvoeren om in de ingangscodewoorden aanwezige foutlocaties en foutwaarden te identificeren; en 15 een bufferschakeling die de ingangscodewoorden tijdelijk op slaat tijdens de uitvoering van de berekeningen door het aantal pipelined verwerkingseenheden; waarbij de bufferschakeling omvat: een eerste dubbele-bank RAM met een eerste bank en een tweede 20 bank; een tweede dubbele-bank RAM met een derde bank en een vierde bank; en een derde dubbele-bank RAM met een vijfde bank en een zesde bank; en 25 een met de eerste, tweede en derde dubbele-bank RAM's gekop pelde geheugenstuurschakeling, die het in volgorde lezen uit de eerste tot en met zesde gegevensbanken tijdens de opeenvolgende frameperioden. mogelijk maakt, zodat elke bank van de eerste tot en met de zesde gegevensbanken elke zes frameperioden wordt gelezen, en die het 30 in volgorde schrijven naar de eerste tot en met de zesde gegevensbanken tijdens de opeenvolgende frameperioden mogelijk maakt, zodat naar elke bank van de eerste tot en met de zesde gegevensbanken elke zes frameperioden wordt geschreven; waarbij tijdens elk van de frameperioden een gegevensbank van 35 de eerste tot en met de zesde gegevensbanken, waarvoor het lezen door de geheugenstuurschakeling mogelijk is gemaakt, in een ander RAM van de eerste tot en met de derde dubbele-bank RAM's is opgenomen dan de gegevensbank van de eerste tot en met de zesde gegevensbanken, waar- 1018416 - 22 - voor het schrijven door de geheugenstuurschakeling mogelijk is gemaakt.,
15. Pipelined Reed-Solomon-decodeerinrichting, waarbij het aantal pipelined verwerkingseenheden zijn opgebouwd uit vijf pipelined 5 verwerkingstrappen, en waarbij tijdens elke· frameperiode een verschuiving van een gegevensbank, waarvoor een leesbewerking mogelijk is, naar een gegevensbank, waarvoor een schrijfbewerking mogelijk is, vier gegevensbanken bedraagt, zodat elk van de eerste tot en met de zesde gegevensbanken, waarnaar in een frameperiode a geschreven 10 wordt, later in een frameperiode a+4, waarbij a een geheel getal is, gelezen wordt.
16. Pipelined Reed-Solomon-decodeerinrichting, waarbij het aantal pipelined verwerkingseenheden zijn opgebouwd uit vier pipelined verwerkingstrappen, en waarbij tijdens elke frameperiode een ver- 15 schuiving van een gegevensbank, waarvoor een leesbewerking mogelijk is, naar een gegevensbank, waarvoor een schrijfbewerking mogelijk is, drie gegevensbanken bedraagt, zodat elk van de eerste tot en met de zesde gegevensbanken, waarnaar in een frameperiode a geschreven wordt, later in een frameperiode a+3, waarbij a een geheel getal is, 20 gelezen wordt.
17. Pipelined Reed-Solomon-decodeerinrichting volgens conclusie 14, waarbij het aantal pipelined verwerkingseenheden werkzaam zijn in een eerste modus, waarin fout- en uitwissingscorrectie wordt uitgevoerd en waarin vijf pipelined verwerkingstrappen werkzaam zijn, en 25 in een tweede modus, waarin alleen foutcorrectie wordt uitgevoerd en waarin vier pipelined verwerkingstrappen werkzaam zijn, waarbij tijdens elke frameperiode een verschuiving van een gegevensbank, waarvoor een leesbewerking mogelijk is, naar een gegevensbank, waarvoor een schrijfbewerking mogelijk is, vier gegevens-30 banken bedraagt, zodat elk van de eerste tot en met de zesde gegevensbanken, waarnaar in een frameperiode a geschreven wordt, later in een frameperiode a+4, waarbij a een geheel getal is, gelezen wordt, en waarbij tijdens elke frameperiode een verschuiving van een ge-35 gevensbank, waarvoor een leesbewerking mogelijk is, naar een gegevensbank, waarvoor een schrijfbewerking mogelijk is, drie gegevensbanken bedraagt, zodat elk van de eerste tot en met de zesde gegevensbanken, waarnaar in een frameperiode a geschreven wordt, later in een frameperiode a+3, waarbij a een geheel getal is, gelezen wordt. t 01 © 4 >1:J6 I I - 23 -
18. Pipelined Reed-Solomon-decodeerinrichting volgens conclusie 14, waarbij het aantal pipelined verwerkingseenheden en de bufferschakeling werkzaam zijn in reactie op eenzelfde kloksignaal-snelheid.
19. Pipelined Reed-Solomon-decodeerinrichting volgens conclusie 14, waarbij elk codewoord n bytes bevat, en waarbij elke bank van de eerste tot en met de zesde banken een capaciteit van n bytes heeft, waarbij n een positief geheel getal is.
20. Pipelined Reed-Solomon-decodeerinrichting volgens conclusie 10 19, waarbij een maximum wachttijd van elke eenheid van het aantal pipelined verwerkingseenheden n cycli bedraagt en waarbij elke periode van de frameperioden n cycli bedraagt.
21. Geheugeninrichting, die gebruikt wordt bij een snelle blok-pipelined Reed-Solomon-decodeerinrichting voor het corrigeren van 15 fouten door middel van het decoderen van van buitenaf ontvangen gegevens, waarbij de geheugeninrichting, waarnaar de ontvangen gegevens worden geschreven en waaruit gegevens worden gelezen, omvat: een aantal geheugens, die elk dubbele banken hebben, waarbij de geheugens door een schrijf/leescommando en-een inwerkingstellingssig-20 naai worden geactiveerd; en een cyclisch bufferstuurorgaan voor het toevoeren van het schrijf/leescommando en het inwerkingstellingssignaal voor het selecteren van een corresponderend geheugen uit het aantal geheugens en voor het plaatsen van een schrijven-bankaanwijzer en een lezen-bank-25 aanwijzer, zodat banken voor het schrijven en lezen van elk gegevens-frame uit verschillende geheugens met een voorafbepaalde verschuiving worden geselecteerd.
22. Geheugeninrichting volgens conclusie 21, waarbij het aantal geheugens drie willekeurig toegankelijke geheugens (RAM's), die elk 30 twee banken hebben, bevat en waarbij elke bank een gegevensframe opslaat.
23. Geheugeninrichting volgens conclusie 21, waarbij het cyclische bufferstuurorgaan de schrijven-bankaanwijzer en de lezen-bank-aanwijzer met een verschuiving van vier banken tussen de schrijven- 35 bankaanwijzer en de lezen-bankaanwijzer instelt wanneer de Reed- Solomon-decodeerinrichting zowel fout- als uitwissingscorrecties uitvoert.
24. Geheugeninrichting volgens conclusie 21, waarbij het cyclische bufferstuurorgaan de schrijven-bankaanwijzer en de lezen-bank- 101 84.1 6 ____ _ _ - 24 - aanwijzer met een verschuiving van drie banken tussen de schrijven-bankaanwijzer en de lezen-bankaanwijzer instelt wanneer de Reed-Solomon-decodeerinrichting alleen een foutcorrectie uitvoert.
25. Werkwijze voor het toegang nemen tot een aantal geheugens, 5 die elk dubbele banken hebben, waarbij het aantal geheugens bij een snelle blok-pipelined Reed-Solomon-decodeerinrichting wordt gebruikt voor het decoderen van van buitenaf ontvangen gegevens en het corrigeren van fouten, waarbij de werkwijze de stappen omvat van: (a) het instellen van een schrijven-bankaanwijzer en een lezen- 10 bankaanwijzer voor elk gegevensframe met een voorafbepaalde verschuiving tussen de schrijven-bankaanwijzer en de lezen-bankaanwijzer in overeenstemming met de foutcorrectiemodus, waarbij het getal van de schrijven-bankaanwijzer en de lezen-bankaanwijzer voor elk gegevensframe wordt verhoogd; 15 (b) het bepalen of een gegevensschrijfcommando of een gege- vensleescommando is toegevoerd aan een van de geheugens van het aantal geheugens; (c) het selecteren van de door de schrijven-bankaanwijzer aangegeven bank uit een geheugen, dat in werking is gesteld door de toe- 20 voer van het gegevensschrijfcommando in stap (b), en het schrijven van gegevens naar de geselecteerde bank; (d) het selecteren van de door de lezen-bankaanwijzer aangegeven bank uit een ander geheugen, dat in werking is gesteld door de toevoer van het gegevensleescommando in stap (b), en het lezen van 25 naar de geselecteerde bank geschreven gegevens; en (e) het herhalen van de stappen (b) tot en met (d) tot de decodering van gegevens is voltooid) waarbij de stappen (c) en (d) gelijktijdig worden uitgevoerd.
26. Werkwijze volgens conclusie 25, waarbij stap (a) omvat: 30 (al) het bepalen of zowel fout- als uitwissingscorrecties uit gevoerd dienen te worden; (a2) het instellen van de schrijven-bankaanwijzer en de lezen-bankaanwijzer met een verschuiving van vier banken, indien vastgesteld is, dat zowel fout- als uitwissingscorrecties uitgevoerd dienen 35 te worden; (a3) het bepalen of slechts een foutcorrectie uitgevoerd dient te worden, indien vastgesteld is, dat niet zowel fout- als uitwissingscorrecties uitgevoerd dienen te worden; en 1018418 - 25 - (a4) het instellen van de schrijven-bankaanwijzer en de lezen-bankaanwijzer met een verschuiving van drie banken, indien is vastgesteld, dat slechts een foutcorrectie uitgevoerd dient te worden.
27. Snelle blok-pipelined Reed-Solomon-decodeerinrichting met 5 een aantal blokken voor het decoderen van van buitenaf ontvangen gegevens en het corrigeren van fouten, waarbij de Reed-Soloraon-deco-deerinrichting omvat: een syndroomgenerator voor het uit de ontvangen gegevens opwekken van een syndroom; 10 een geheugeninrichting bevattende een aantal geheugens, die elk dubbele banken hebben, waarbij de ontvangen gegevens naar één bank van één geheugen uit het aantal geheugens worden geschreven en de ' naar één bank van een van de andere geheugens geschreven gegevens worden gelezen; 15 een polynoomcoëfficiëntgenerator voor het opwekken van de coëf ficiënten van een foutlokaliseringspolynoom en een foutevaluatiepoly-noom onder gebruikmaking van het opgewekte syndroom; een foutlokalisering-, zoek- en foutwaardeberekeningsgedeelte voor. het zoeken naar de locaties van fouten en het berekenen van 20 foutwaarden onder gebruikmaking van het foutlokaliseringspolynoom en het foutevaluatiepolynoom met de opgewekte coëfficiënten; een foutcorrectieorgaan voor het corrigeren van fouten in door de geheugeninrichting afgegeven gegevens gebaseerd op de door het foutlocatiezoek- en foutwaarderekengedeelte afgegeven foutwaarden.
28. Reed-Solomon-decodeerinrichting volgens conclusie 27, waar bij de geheugeninrichting drie willekeurig toegankelijke geheugens (RAM's), die elk dubbele banken hebben, bevat en waarbij banken van verschillende RAM's in werking worden gesteld voor het schrijven en lezen van elk frame van de ontvangen gegevens.
29. Reed-Solomon-decodeerinrichting volgens conclusie 28, waar bij in de geheugeninrichting een schrijven-bankaanwijzer en een le-zen-bankaanwijzer zijn ingesteld met een eerste verschuiving tussen de schrijven-bankaanwijzer en de lezen-bankaanwijzer om banken voor het schrijven en lezen van elk frame van de ontvangen gegevens te se- 35 lecteren.
30. Reed-Solomon-decodeerinrichting volgens conclusie 27, verder omvattende: *? f! / A O *·' 1 * * - 26 - een vlagteller en een vlagbuffer voor het tellen van in synchronisatie met de ontvangen gegevens ingevoerde uitwissingsvlaggen en voor het bufferen van de uitwissingsvlaggen; een uitwissingslokaliseringspolynoomgenerator voor het opwekken 5 van een uitwissingslokaliseringspolynoom onder gebruikmaking van de gebufferde uitwissingsvlaggen; en een syndroomwijzigingsorgaan voor hef wijzigen van hef door de syndroomgenerator opgewekte syndroom met de gebufferde uitwissingsvlaggen en voor het toevoeren van het gewijzigde syndroom aan de po-10 lynoomcoëfficiëntgenerator, waarbij de polynoomcoëfficiëntgenerator de coëfficiënten van het foutlokaliseringspolynoom en het foutevalua-tiepolynoom berekent onder gebruikmaking van het uitwissingslokalise-ringspolynoom en het gewijzigde syndroom.
31. Reed-Solomon-decodeerinrichting volgens conclusie 30, waar-15 bij in de geheugeninrichting een schrijven-bankaanwijzer en een le-zen-bankaanwijzer zijn ingesteld met een tweede verschuiving tussen de schrijven-bankaanwijzer en de lezen-bankaanwijzer om banken voor het schrijven en lezen van elk frame van de ontvangen gegevens te selecteren.
32. Reed-Solomon-decodeerinrichting volgens conclusie 27, waar bij een gegevensinvoerkloksignaal voor gebruik bij het schrijven van gegevens naar de geheugeninrichting en een voor hef doen werken van elk blok van de Reed-Solomon-decodeerinrichting gebruikt systeemklok-signaal hetzelfde zijn. 1«0i|;8.4*t6
NL1018416A 2000-10-25 2001-06-29 Geheugeninrichting, werkwijze voor het nemen van toegang tot de geheugeninrichting, en Reed-Solomondecodeerinrichting omvattende de geheugeninrichting. NL1018416C2 (nl)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20000062904 2000-10-25
KR10-2000-0062904A KR100370239B1 (ko) 2000-10-25 2000-10-25 고속 블럭 파이프라인 구조의 리드-솔로몬 디코더에적용하기 위한 메모리 장치와 메모리 액세스 방법 및 그메모리 장치를 구비한 리드-솔로몬 디코더

Publications (2)

Publication Number Publication Date
NL1018416A1 NL1018416A1 (nl) 2002-05-01
NL1018416C2 true NL1018416C2 (nl) 2005-11-15

Family

ID=19695352

Family Applications (1)

Application Number Title Priority Date Filing Date
NL1018416A NL1018416C2 (nl) 2000-10-25 2001-06-29 Geheugeninrichting, werkwijze voor het nemen van toegang tot de geheugeninrichting, en Reed-Solomondecodeerinrichting omvattende de geheugeninrichting.

Country Status (8)

Country Link
US (1) US6639865B2 (nl)
JP (1) JP3862062B2 (nl)
KR (1) KR100370239B1 (nl)
CN (1) CN1317643C (nl)
DE (1) DE10133595B4 (nl)
GB (1) GB2369215B (nl)
NL (1) NL1018416C2 (nl)
TW (1) TW514933B (nl)

Families Citing this family (94)

* Cited by examiner, † Cited by third party
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 윈텍 주식회사 영상처리장치 및 그 방법
EP1851861A2 (en) * 2005-02-14 2007-11-07 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
US8650352B2 (en) 2007-09-20 2014-02-11 Densbits Technologies Ltd. Systems and methods for determining logical values of coupled flash memory cells
WO2009095902A2 (en) 2008-01-31 2009-08-06 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
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
WO2009053961A2 (en) 2007-10-25 2009-04-30 Densbits Technologies Ltd. Systems and methods for multiple coding rates in flash devices
US8341335B2 (en) 2007-12-05 2012-12-25 Densbits Technologies Ltd. Flash memory apparatus with a heating system for temporarily retired memory portions
WO2009072105A2 (en) * 2007-12-05 2009-06-11 Densbits Technologies Ltd. A low power chien-search based bch/rs decoding system for flash memory, mobile communications devices and other applications
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
US8359516B2 (en) 2007-12-12 2013-01-22 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
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
US20090157946A1 (en) * 2007-12-12 2009-06-18 Siamak Arya Memory having improved read capability
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
US8972472B2 (en) 2008-03-25 2015-03-03 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 김영운 상판 접이식 테이블
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8566510B2 (en) 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
US8868821B2 (en) 2009-08-26 2014-10-21 Densbits Technologies Ltd. Systems and methods for pre-equalization and code design for a flash memory
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
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
US8527840B2 (en) 2010-04-06 2013-09-03 Densbits Technologies Ltd. System and method for restoring damaged data programmed on a flash device
US8516274B2 (en) 2010-04-06 2013-08-20 Densbits Technologies Ltd. Method, system and medium for analog encryption in a flash memory
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
US8621321B2 (en) 2010-07-01 2013-12-31 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8539311B2 (en) 2010-07-01 2013-09-17 Densbits Technologies Ltd. System and method for data recovery in multi-level cell memories
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
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. 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
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
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
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
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

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4745576A (en) * 1984-09-17 1988-05-17 Casio Computer Co., Ltd. Address assignment system for image memory
US5446743A (en) * 1993-11-04 1995-08-29 Cirrus Logic, Inc. Coefficient updating method and apparatus for Reed-Solomon decoder
US5459742A (en) * 1992-06-11 1995-10-17 Quantum Corporation Solid state disk memory using storage devices with defects
US5771199A (en) * 1995-12-29 1998-06-23 Samsung Electronics Co., Ltd. Integrated circuit memory devices having improved dual memory bank control capability and methods of operating same
US6122766A (en) * 1996-10-25 2000-09-19 Matsushita Electric Industrial Co., Ltd. Reed-Solomon decoder having a three-stage pipeline structure
WO2000057561A1 (en) * 1999-03-23 2000-09-28 Storage Technology Corporation Pipelined high speed reed-solomon error/erasure decoder

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4725987A (en) 1985-10-23 1988-02-16 Eastman Kodak Company Architecture for a fast frame store using dynamic RAMS
DE3687739T2 (de) * 1985-12-02 1993-08-19 Ibm Speicheranordnung mit mehrfachem lese-schreibzugriff.
CN1009047B (zh) * 1985-12-27 1990-08-01 复旦大学 交叉穿插的里德-所罗门码的高速纠错译码系统
EP0261751A3 (en) * 1986-09-25 1990-07-18 Tektronix, Inc. Concurrent memory access system
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
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
EP0658871B1 (en) 1993-12-09 2002-07-17 Sun Microsystems, Inc. Interleaving pixel data for a memory display interface
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
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
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 김영환 멀티-뱅크 메모리 어레이를 갖는 반도체 메모리 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4745576A (en) * 1984-09-17 1988-05-17 Casio Computer Co., Ltd. Address assignment system for image memory
US5459742A (en) * 1992-06-11 1995-10-17 Quantum Corporation Solid state disk memory using storage devices with defects
US5446743A (en) * 1993-11-04 1995-08-29 Cirrus Logic, Inc. Coefficient updating method and apparatus for Reed-Solomon decoder
US5771199A (en) * 1995-12-29 1998-06-23 Samsung Electronics Co., Ltd. Integrated circuit memory devices having improved dual memory bank control capability and methods of operating same
US6122766A (en) * 1996-10-25 2000-09-19 Matsushita Electric Industrial Co., Ltd. Reed-Solomon decoder having a three-stage pipeline structure
WO2000057561A1 (en) * 1999-03-23 2000-09-28 Storage Technology Corporation Pipelined high speed reed-solomon error/erasure decoder

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SHAO H M ET AL: "A VLSI DESIGN OF A PIPELINE REED-SOLOMON DECODER", IEEE TRANSACTIONS ON COMPUTERS, IEEE INC. NEW YORK, US, vol. C-34, no. 5, 1 May 1985 (1985-05-01), pages 393 - 403, XP000647438, ISSN: 0018-9340 *

Also Published As

Publication number Publication date
JP2002164792A (ja) 2002-06-07
CN1350369A (zh) 2002-05-22
KR20020032038A (ko) 2002-05-03
CN1317643C (zh) 2007-05-23
DE10133595A1 (de) 2002-05-29
TW514933B (en) 2002-12-21
DE10133595B4 (de) 2009-01-22
GB2369215A (en) 2002-05-22
KR100370239B1 (ko) 2003-01-29
GB0116275D0 (en) 2001-08-29
US6639865B2 (en) 2003-10-28
NL1018416A1 (nl) 2002-05-01
GB2369215B (en) 2003-04-16
JP3862062B2 (ja) 2006-12-27
US20020075715A1 (en) 2002-06-20

Similar Documents

Publication Publication Date Title
NL1018416C2 (nl) Geheugeninrichting, werkwijze voor het nemen van toegang tot de geheugeninrichting, en Reed-Solomondecodeerinrichting omvattende de geheugeninrichting.
US7586808B2 (en) Memory device for use in high-speed block pipelined reed-solomon decoder, method of accessing the memory device, and reed-solomon decoder having the memory device
US6115837A (en) Dual-column syndrome generation for DVD error correction using an embedded DRAM
US7600177B2 (en) Delta syndrome based iterative Reed-Solomon product code decoder
US8069389B2 (en) Error correction circuit and method, and semiconductor memory device including the circuit
EP0838905B1 (en) Reed-Solomon Decoder
US9246515B2 (en) Error correction code block having dual-syndrome generator, method thereof, and system having same
CN1559033A (zh) 双重误差校验码系统
US20090006899A1 (en) Error correcting code with chip kill capability and power saving enhancement
US9391641B2 (en) Syndrome tables for decoding turbo-product codes
US8046532B2 (en) Content-addressable memories and state machines for performing three-byte matches and secondary matches, and for providing error protection
US6279135B1 (en) On-the-fly row-syndrome generation for DVD controller ECC
KR20070077466A (ko) 데이터 워드를 판독하는 장치 및 방법과 데이터 블록을 저장하는 장치 및 방법, 컴퓨터 판독 가능한 기록 매체
US9317352B2 (en) Galois field arithmetic operation circuit and memory device
US8397144B1 (en) BCH data correction system and method
JP2005216477A (ja) 選択的なpo補正を利用したdvdデコーディング方法及び装置
US20070067702A1 (en) Method and apparatus for syndrome generation
GB2380297A (en) Reed-Solomon decoder including memory device
JP3728011B2 (ja) 誤り訂正方法および誤り訂正装置
JP3609714B2 (ja) 誤り訂正装置
KR20240039361A (ko) 메모리 장치의 오류 정정 방법 및 장치
JP5339467B2 (ja) 情報処理装置及び情報処理方法
KR20010094291A (ko) 고속 데이터의 에러 정정 장치
JPH0555926A (ja) 誤り訂正装置

Legal Events

Date Code Title Description
AD1A A request for search or an international type search has been filed
RD2N Patents in respect of which a decision has been taken or a report has been made (novelty report)

Effective date: 20050912

PD2B A search report has been drawn up
V1 Lapsed because of non-payment of the annual fee

Effective date: 20150101