NO840715L - Fremgangsmaate for korrigering av feil ved digitaldata og system for dette - Google Patents

Fremgangsmaate for korrigering av feil ved digitaldata og system for dette

Info

Publication number
NO840715L
NO840715L NO840715A NO840715A NO840715L NO 840715 L NO840715 L NO 840715L NO 840715 A NO840715 A NO 840715A NO 840715 A NO840715 A NO 840715A NO 840715 L NO840715 L NO 840715L
Authority
NO
Norway
Prior art keywords
block
bit groups
errors
syndrome
sub
Prior art date
Application number
NO840715A
Other languages
English (en)
Inventor
Arvind Motibhai Patel
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Publication of NO840715L publication Critical patent/NO840715L/no

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1806Pulse code modulation systems for audio signals
    • G11B20/1809Pulse code modulation systems for audio signals by interleaving
    • 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

Description

Denne oppfinnelse angår en fremgangsmåte for å korrigere feil ved digitale data, f.eks. for å korrigere multibitgruppefeil i blokker av data lest fra en magnetplatefil.
Forskjellige fremgangsmåter er kjent for å korrigere feil ved digitale data, og dette er beskrevet i de følgende referansene : 1. I.S. Reed og G. Solomon, "Polynomial Codes Over Certain Finite Fields", J. Soc. Indust., Appl. Matn. 8, side 300-304, 1960. 2. W.W. Peterson og E.S. Weldon, Error-Correcting Codes, M.I.T. Press, 1972.
3. D.C. Bossen, "b-Adjacent Erroe Correction", IBM
J. Res. Devel. 14, sidene 402-408, 1970.
4. A.M.Patel og S.J. Hong, "Optimal Rectangular Code for High-Density Magnetic Tapes", IBM, J.Res. Devel. 18, sidene 579-588, 1974. 5. A.M.Patel, "Error-recovery Scheme for the IBM 3850 Mass Storage System", IBM J. Res. Devel. 24, sidene 32-42, 1980.
6. G.D. Forney, Concatenated Codes, M.I.T. Press 1966.
7. P. Elias, "Erros-free Coding"., IEEE Trans. Inf.
Theory, Vol. IT4, sidene 29-37, 1954.
8. R.C. Bose og D.K. Ray-Chaudhuri, "On a Class of Error-correcting Binary Group Codes", Inf. Control 3, sidene 68-79, 1960. 9. J.K.Wolf, "Adding Two Information Symbols to Certain Non-binary BCH Codes, and Some Applications", Bell
Systems Tech. J. 48, sidene 2408-2424, 1969.
10. R.T.Chien, "Cyclic Decoding Procedures for Bose-Chaudhuri-Hocquenghem Codes", IEEE Trans. Inf. Theory, Vol. IT10, sidene 357-363, 1964. 11. E.R. Berkkamp, Algebraic Coding Theory, McGraw Hill, 1968 .
Det har lenge vært kjent at data lagret på et magnetisk medium, så som en magnetplatefil, vil være utsatt for feil under tilbakelesingsprosessen på grunn av et antall gyldige tekniske grunner. Dagens magnetplatefiler innbefatter et antall forskjellige forsøk på å minimalisere antall feil som kan opptre under tilbakelesingsprosessen. F.eks. gjen-nomgår de fleste magnetplatene en grundig overflateanalyse for å identifisere defekte områder før magnetplaten innføres i drevet. Plater som har flere feil enn et visst forutbestemt antall blir vraket, og dette har en ugunstig effekt på fremstillingskostnadene til platedrevet.
I tillegg er det i mange platedrev anordnet systemer som basert på defekte data lagret på en plate, sørger for at drevet unngår et dårlig spor, en dårlig sektor, eller et defekt område i et platespor. Disse siste systemer omfatter overspringing av dårlige områder under lagringen av data i sporet. Andre systemer er innbefattet i filen som arbeider med gjenlesing av dataene når en feil blir detektert. Gjenleseoperasjonen opptrer under litt forskjellige vilkår hver gang, så som på grunn av forskyvning av transduktoren fra sentret av sporet, eller økning av forsterkingen til leseforsterkeren inntil, forhåpningsvis, feilen blir korrigert under gjenleseprosessen.
Tilførelsen av slike feiloppdekkingssystemer er motivert primært av det fakta at det er viktig å minimalisere antallet feil som må korrigeres av tilhørende feilkorrigeringskretser siden anvendelsen av ECC-systemet kan påvirke på ugunstig måte totalsystemets ytelse. I tillegg vil nyttbar lagerkapa-sitet bli minsket siden vesentlig mer ledig rom er nødvendig dersom flere feil må korrigeres.
Systemer som korrigerer bare enkeltfeil blir nyttet uteluk-ket i løpende platefiler. En enkelt feil vil pr. defini-sjon kunne omfatte en avbruddstypefeil som vedrører en gruppe tilfeldiged bit-posisjoner. Imidlertid kan to adskilte avbruddsfeil eller til og med vidt adskilte enkel-bit feil ikke korrigeres av disse enkeltfeil-korrigerings-systemer. Vurderinger må derfor gjøres vedrørende lengden av datablokken som vil korrespondere til kodeordet for å minimalisere eller forhindre opptredenden av mer enn en feil i denne datablokken. Denne vurderingen er generelt basert på statis-tiske data uttrykt ved antallet feil som kan forventes ut fra et sannsynlighetsgrunnlag.
Mens de tidligere kjente systemer og fremgangsmåter for
å korrigere enkeltfeil virker utmerket, må det gjenkalles at deres bruk påvirker systemytelsen slik at vesentlige anstrengelser og kostnader blir brukt ved utformingen av platefiler for minimalisere bruken, som forklart ovenfor.
Teknikken har videre klargjort at alle de forskjellige feil-mønstre som opptrer i en bit-gruppe i et multibitgruppe-kodeord, kan korrigeres ved å anvende en rimelig mengde ledig plass. Det er også blitt klartgjort at ved å inter-foliere kodeord, vil en avbruddsfeil som strekker seg lenger enn 1 bit-gruppe, kunne korrigeres, forutsatt at lengden av avbruddet er mindre enn "m" bit-grupper.
Det er også kjent at en multibit-gruppe, dvs. at mer enn
et feilkorrigeringssystem kan anordnet i samsvar med læren som er gitt i den parallelle patentsøknaden med nr. 454.393, inngitt 29. desember 1982, med tittel "On-the Fly Multibyte Error Correcting System", og tilhørende innehaven av den
foreliggende oppfinnelsen.
En av hovedgrunnene til at multibit-gruppe feil korriger-ingssystemer ikke allerede er tatt i bruk i platefiler,
er tvangsstyringen som innføres av disse koder i blokkstør-relsen eller kodeordet. Det gjenkjennes at kodeordet er begrenset til 2° hvor b er antallet bit posisjoner i bit-gruppen som anvendes i systemet. Når bit-gruppen består av 8 bit, som i hovedsak er en standard i dataprosesserings-industrien, kan kodeordet der ikke overskride generelt 255 bit-grupper. Det gjenkjennes videre at for hver feil som skal korrigeres i det kodeordet på 255 bit-grupper, må to sjekke-bitgrupper være tilordnet kodeordet for hver feil. Dersom f.eks. koden er utformet for å korrigere 5 feil i hvert kodeord, må det så være forordnet 10 sjekkebitgruppeposisjoner av disse 255 bitgruppeposisjoner.
Det kan ses at ved slike arrangementer vil tomplassen eller redundansen bli svært høy og totalkapasiteten til plate-filen blir alvorlig begrenset.
Ved siden av den ugunstige påvirkningen av den nyttbare lagerkapasiteten, vil de relativt små blokkenes størrelse også medføre mange uønskede tvangsmessige styringer under utformingen av dataformatet som blir brukt i sporet.
Ved fremtidige platefiler, er det ønskelig å frembringe bedre pålitelighet og tilgjengelighet til tross for høyere datalagertetthet og datahurtighet.
Konvensjonelle kodeteknikker, så.som multippel feilkorri-gering Reed-Solomon eller BCH-koder, som er diskutert i referansene 1-3, som, mens de er svært effektive uttrykt ved matematisk redundans, vil medføre algebraiske styringer på størrelse av kodeordet ved et gitt valg av bitgruppestør-relse. I en praktisk anvendelse av 8-bit bitgrupper og med høy feilhyppighet, vil således ofte redundansen frem deles være uakseptabel. Disse betraktninger frembringer vesentlige forhindringer i anvendelsen av disse konvensjonelle kodeteknikker i fremtidige skivefiler.
Det er følgelig et formål med denne oppfinnelsen å frembringe en fremgangsmåte for å korrigere feil, hvilken fremgangsmåte kan anvendes i systemer, så som skivefiler som tillater slike systemer å arbeide med færre begrensninger enn hittil, og derved gjøre det mulig å realisere den tekniske kapasiteten til systemet bedre.
I samsvar med det foreliggende oppfinnelsen, blir en tonivå-kodestruktur anvendt, hvilken struktur består av underblokker inne i en blokk. Strukturen medfører to vesentlige fordeler. For det første blir begrensninger vedrørende størrelsen på kodeordet fjernet, og for det andre, blir det etablert en dekodingsfremgangsmåte som tillater "på stedet" (on-the-fly) korrigering av multibitgruppefeil og underblokknivået, og i tillegg reserverer feilkorrigeringskapasitet på blokknivået.
To-nivå kodestrukturen i henhold til den foreliggende oppfinnelsen anvender et dataformat på et skivespor som involverer underblokker i en blokk. Som beskrevet, omfatter hver underblokk to eller flere interfolierte, primære kodeord. På det første kodenivået er kodestrukturen utformet for å korrigere t^symboler eller feil pr. primærkodeord slik at hver underblokk omfatter 2 x t^sjekkebitgrupper,
dvs. to sjekkebitgrupper for hver feil i primærekodeordet. Systemet er anordnet for å korrigere t-^feil i hvert primære kodeord i "på stedet" måten foreslått i den ovenfor nevnte søknaden med serienr. 454.393. Kodestrukturen blir utstrekt til symbolkorreksjon ved blokknivået ved å sørge for tilleggsblokknivå-sjekkebitgrupper som, ved å lese lagrede data, reflekterer korreksjoner innmatet ved det første nivået. Blokknivå-syndromene utviklet ved det andre nivået sørger derfor for en indikasjon (et alle null syndrom) om hvorvidt
korreksjonene i primærordet ved underblokknivået var gyldige eller hvorvidt en feilkorreksjon er blitt utført (et mønster med ikke alle nuller). Feilkorreksjon opptrer fordi primærordet hadde mer enn t^feil, f.eks. t + x feil. Systemet korrigerer disse t + x feil i primærordet ved å anvende blokksyndromene etter en modifikasjon for å reflektere feilkorreksjonen, og syndromene utviklet fra de 2 x t^sjekkebitgruppene som tilhører primærordet. Blokksyndrombitgruppene og syndromene til primærordet er tilstrekke-lig for å korrigere opp til t~feil { t^^<_>t^+ x) i noen av underblokkene.
Siden t_ symbolets feilkapasitet blir delt over flere underblokker og er nødvendig bare for en underblokk i en blokk, kan enhver behandling på blokknivået også utføres for blokken på en "på stedet" måte.
Oppfinnelsen er nærmere definert i de etterfølgende patent-krav.
Oppfinnelsen og måten den kan anvendes på, vil bedre forstås på bakgrunn av den spesifiserte beskrivelse av en foretrukket utførelse sett sammen med de vedheftede tegningene, i hvilke: Fig. 1 viser skjematisk dataformatet til to-nivå kodestrukturen til et skivespor; Fig. 2 viser skjematisk tilbakekoblingsskiftregistret som anvendes i en underblokk sjekkebitgruppekodeoperasjonen for feilkorrigeringssystemet i henhold til den foreliggende oppfinnelsen; Fig. 3 er et blokkskjema av den spesielle logikken for til-bakekoblingsskif tregistret vist skjematisk på fig. 2; Fig. 4a er en illustrasjon av logikken til matrisemultipli-katoren illustrert på blokkform på fig. 3 og 6, mens fig. 4b er matrisen T 3 som bestemmer logikkoperasjonene på fig. 4a; Fig. 5 er et blokkskjerna av den spesielle logikken som anvendes i ECC systemet for å generere en blokksjekebitgruppe; Fig. 6 er et blokkskjema over logikken som anvendes for å generere den andre blokksjekkebitgruppen; Fig. 7 er et blokkskjema som viser første og andre nivåpar-tiene av ECC systemet for å korrigere enkeltfeil i underblokkene ved å behandle underblokksyndromene, og for å korrigere to feil i en underblokk ved å behandle underblokk og blokksyndromene.
Beskrivelse av den foretrukne utførelse.
Fig. 1 viser dataformatet til et skivespor som innlemmer tonivå kodestrukturen til den foreliggende oppfinnelsen.
Det antas, for formålet å beskrive en spesiell utførelse
av den foreliggende oppfinnelsen, at multibitgruppe ECC systemet, som vist og beskrevet, er utformet for å korrigere opp til 2 feil i hver blokk, idet en feil defineres som ethvert mønster på 8 bit i en bitgruppeposisjon av blokken utenfor det korrekte mønstret. Det bør imidlertid forstås at oppfinnelsen kan anvendes i systemer for å korrigere ethvert antall feil i blokken, og senere i beskrivelsen vil det gis et matematisk bevis for det generelle tilfellet.
Som vist på fig. 1, er et spor 11 inndelt i en flerhet blokker 12 med lik lengde, og hvor hver blokk er inndelt i en forutbestemt flerhet av underblokker 14. Et blokk sjekkebit gruppeområde 15 tilhører hver blokk som, som vist, omfatter 4 sjekkebitgruppeposisjoner 16. Hver underblokk 14, som vist, omfatter to interfolierte kodeord 18 og 19 som har lik lengde. To par sjekkebitgruppeposisjoner B^og Bq til-hører hver underblokk slik at et forskjellig par sjekkebit gruppeposisjoner og B^ tilhører hver underblokks kodeord 18 eller 19.
Detaljene vedrørende tonivå-koden vil forklares i forbindelse med de følgende hovedutformingsparametrene hvor:
b = antall bit i en bitgruppe (symbol)
m = antall databitgrupper i et primærord n = antall underblokker i en blokk
g = mengden interfolierte (antall interfolierte ord) t-j^ = antallet feil som korrigeres på underblokknivået t£ = antallet feil som korrigeres på blokknivået.
Parameterne b, m, n og g bestemmer flere av de viktige egenskapene til koden. F.eks. vil en symbolkorreksjon på underblokknivået ved "g" interfolierte ord beskytte mot et avbruddfeilsignal på en lengde opp til (bg-b+1). To-symbol korreksjon på blokknivået med "g" interfolierte ord på underblokknivået, beskytter mot to forskjellige avbruddsfeil, som hver kan ha en lengde på (bg-b+1) bit eller et langt avbrudd som kan ha en lengde på opptil (2 bg-b+1) bit.
De ovenfor identifiserte parametrene til ECC koden tillater
egenskapene til koden å bli justert for å tilpasses de virkelige målte feiltilstander til et produkt uten at ECC-systemets maskinvare endres selv om de virkelige vilkår, som målt, er vesentlig forskjellige fra vilkårene som systemet opprinnelig var utformet for.
Ordlengdeparameteren m i bitgrupper og antallet n av underblokker i en blokk bestemmer egenskapene til koden. Ord-lengden må tilfredsstille den følgende ligningen:
hvor b representerer antallet bitposisjoner i en bitgruppe av ordet.
Blokklengden n i bitgrupper er lik antallet g av interfolierte ord ganger antallet bitgrupper i hvert ord ganger antallet underblokker i blokken.
I systemet vist på fig. 1, er det antatt at et ord omfatter 64 databitgruppeposisjoner (m) og to sjekkebitgruppeposisjoner B^og B^ og en underblokk har to (g) interf olierte ord. En blokk omfatter derfor 4 underblokker på 128 bitgruppeposisjoner eller 512 bitgruppeposisjoner og to par 15 og 16 av blokksjekkebitgrupper og C^, idet et par er tilknyttet like søyler, og det andre paret er tilknyttet ulike søyler.
Generelt gjelder at mens to-nivp multibitgruppe ECC systemet arbeider på blokknivået, er den følgende beskrivelsen rettet mot behandling av bare et av de interfolierte kodeordene siden begge behandles på samme måte. Driften involverer første behandling av de to syndrome bitgruppene som korresponderer til de to sjekkebitgruppene som er tilknyttet et ord av de interfolierte ordene til underblokken. I den spesielle utførelsen som er vist, vil en feil i en hvilken som helst bitgruppe av ordet først bli korrigert uten hen-syn til antallet bitposisjoner i en bitgruppe som er feil. Således vil hvilke som helst av de mulige 255 feilmønstrene
i en 8 bit bitgruppe av ordet være korrigerbare ved passende behandling av de to syndrome bitgruppene, forutsatt at det ikke er andre feil i det ordet.
Blokksyndromene som korresponderer til det ene av de to parene 15 og 16 av sjekkebitgrupper C^ og som er tilknyttet blokken, blir bare behandlet når det korresponderende kodeordet i en underblokk blir identifisert som å inneholde mer enn en bitgruppe med feil. Siden multibitgruppens (2) feilkorreksjonsegenskaper blir delt over adskillige relativt små underblokker og er nødvendig for bare en underblokk (eller ingen) i en blokk, kan feilbehandlingen lett fullføres på stedet på blokknivået. Forholdet mellom blokken og underblokken gir en enestående strukturell fordel for kodeligningene for koden til den foreliggende oppfinnelsen, som ikke er tilgjengelig eller foreslått av andre tidligere kjente to-nivå kodefremgangsmåter, så som kjedede koder eller produktkoder i referansene (6) og (7).
Den foretrukne utførelse av den foreliggende oppfinnelsen, som vist på tegningene, er basert på koder for symboler i Galois felt (2 8 ) eller GF(2 8). Det primære kodeordet består av to sjekkebitgrupper benevnt Bq og B^, og m data bitgrupper benevnt , B^....Bm+^, som tilfredsstiller de følgende 2 modulmatriseligningene:
I ligningene 2 og 3 representerer + en modul 2 summasjon, B^er en 8-bit søylevektor, i er en vektorposisjon i kodeordet og har en verdi fra 0 til m+1, hvor m+1 er lik eller mindre enn 254 eller (2 g-2). T er en medfølgende matrise for et enkelt polymon av 8. grad. Symbolet T1 representerer t multiplisert med seg selv i ganger. Det forutsettes at den følgende T-matrisen er innlemmet i den foretrukne utførelsen:
Ligningene 2 og 3 for seg korresponderer til tidligere kjente enkeltsymbolkorrogerings Reed-Solomon eler BCH koder, hvorved de 8 bit søylevektorene korresponderer til elementene til GF(2 g). I angivelsen av ligningene 2 og 3, korresponderer multiplikasjonen med matrisen T<1>til multiplikasjonen med Galois felt element a<1>hvor a er et enkelt element representert ved den første søylen til matrisen T.
Fig. 2 viser skjematisk koderinnretningen for å generere sjekkebit-gruppene Bq og B^for hvert ord i en underblokk, mens fig. 3 viser kodeinnretningen på fig. 2 ved mere konvensjonelle, funksjonelle logiske blokker. Kodeinnretningen fungerer for å utføres modul g (x) operasjoner hvor g (x)
er et polynom med røtter a og a 2. Det spesielle generator-polynom er
Sjekkebitgruppene Bq og B^for et ord utledes ved å forsyne databitgruppene Bm_^til B_ til inngangen 20 på fig. 2.
På fig. 2 fungerer blokk 21 og blokk 22 som lager for et 8-bit feltelement. Blokker 23 og 24 fungerer for å addere to 8-bit feltelementer med modul 2 mens blokker 25 og 26 fungerer som matrisemultiplikatorer for å multiplisere et 8-bit feltelement med en spesiell matrise. Til å begynne med blir blokkene 21 og 22 innstilt til 0, og databitgruppene blir innklokket i kodeinnretningen på inngangen 20. Ved slutten av operasjonen inneholder kodeinnretningen sjekkebit-gruppene B^og Bq i sine 8-bit blokker henholds-vis 22 og 21.
Detaljene vedrørende matrisemultlplikatoren for T 3 representert ved blokk 25 på fig. 2 og 3, er vist på fig. 4a hvorved B representerer en 8-bit inngangsvektor, hvorfra valgte bit-posisjoner blir kombinert i modul 2 i blokker 41-48.
Bit-posisjonene valgt for innmating i blokkene 41 og 48, blir bestemt fra matrisen T 3. Som vist på fig. 4b, bestemmer toppraden inngangen til blokke 41, mens bunnraden bestemmer inngangen til blokken 48, og et binært 1 siffer i en søyle signalerer et inngangssignal fra den korresponderende bit-posisjon til inngangsvektor B. Således mottar blokken 41 inngangssignaler fra bit-posisjoner 5,6 og 7, mens blokken 48 mottar inngangssignaler fra bit-posisjoner 4, 5 og 6, som korresponderer respektivt til søylene som inneholder enere i matrisen . Inngangssignalene til andre blokker er anordnet på lignende måte.
Kodeinnretningen for å utlede sjekkebitgrupper og C~som er to av de fire sjekkebit-gruppene som er tilknyttet det andre kodenivået, er like kodeinnretningene for Bq og B^ved at og C~blir først utledet for hver underblokk og akkumulert i modul 2 over alle endeblokker, som angitt ved de følgende modul 2 matriseligninger:
Ulikt kodeinnretningen for Bq og B-^, blir en separat sjikt-registerkoder, som vist skjematisk på fig. 5 og 6, anvendt for å utledet sjekkebitgrupper og C^. Koderen for C^,
som vist på fig. 5, er funksjonelt lik en paritetsgenerator for hver bit-posisjon av inngangsvektorene. Som vist på
fig. 5, representerer en blokk 51 en eksklusiv -OR krets, mens blokk 52 representerer et trinn av et register. Blokkene 61 og 62 på fig. 6 representerer lignende binære logikk-elementer, mens blokk 63 er en matrisemultiplikator av typen vist på fig. 4 og som er beskrevet tidligere i fremstillingen.
Til å begynne med blir hvert separat register 52, 62 for
C^ og C20-stilt, og bitgrupper B. til den første underblokken blir matet til hver kodeinnretning som starter med B til Bq i (m+2) suksessive skift. Ved slutten av skiftse-kvensen, korresponderer inneholdet i register 52 på fig.
5 med C^for den første underblokken, og inneholdet i register 62 på fig. 6 korresponderer med - C^ og C_ for hver suksessiv underblokk i blokken, blir akkumulert modul 2
over de 4 underblokkene i en dertil egnet buffer.
Det vil forstås at dersom det bare er en underblokk, kan
de 4 sjekkebitgruppene Bq, B^, og C- som korresponderer med ligningene 2, 3, 6 og 7 sammen anses å representere en kode som frembringes i referanse (9) ved å utvide en to-symbol korreksjons-BCH kode slik at som beskrevet av J.K.Wolf i en artikkel i the Bell System Techinical Journal, nr. 48, sidene 2408 til 2424, utgitt i 1969 og med tittel "Adding Two Information Symbols to Certain Non-binary BCH COdes and Some Applications".
Ved den foreliggende utførelsen kan blokknivå-kodeordet betraktes som en modul 2 superposisjon av de 4 underblokk-kodeordene slik at en to-symbol feil i dette superposisjon-erte kodeordet kan korrigeres i samsvar med den følgende beskrevne logikk.
Antatt at en blokk som består av 4 underblokker innbefatter
2 1-bitgruppe feil. Dersom en av feilene er i en forskjellig underblokk, så vil disse feilene korrigeres ved et enkel-feil korigerings førstenivåparti i ECC systemet ved å behandle syndrombit-gruppene som korresponderer til B^og Bq sjekkebitgruppene som er tilknyttet ordet i hver underblokk som har en feil. Etter at de passende korreksjonene er funnet sted, vil syndrombitgruppene som korresponderer til C-^ og C- indikere at det ikke er feil i blokken, dvs. bare 0 i disse syndromer. Anta imidlertid at de to 1-bit-gruppef eilene er i en underblokk. Det første nivåsystemet vil da enten feilrette feilene eller indikere en ikke- korrigerbar feiltilstand til systemet som kan tolkes til på dette punkt som om man har mer enn en bit-gruppe feil. Dersom det har vært en feilkorreksjon, så vil syndromene
som korresponderer til og Q.^ ikke være bare nuller.
I neste trinn blir feilkorreksjonen fjernet fra ordet basert på det fakta at syndromene som korresponderer til og indikere at en feilkorreksjon har funnet sted (eller at det er mer enn en feil). Når feilkorreksjonen er fjernet, vil de to syndrombitgruppene som korresponderer til Bq og B^for dette ordet, og de modifiserte syndrombitgruppene
som korresponderer til og Q.^ for denne bestemte blokk bli anvendt for å korrigere de to bitgruppene som er feil i den identifiserte underblokk i samsvar med et hvilket som helst av de tidligere kjente arrangementer for å korrigere multippel feil i en blokk ved å anvende de designerte syndromene.
Delen av systemet som fungerer for å korrigere multibit-gruppe feilene i en underblokk ved å behandle de 4 syndrombitgruppene Sq til som korresponderer med sjekkebit-gruppene Bq, B^, og C^, kan være identiske til "på stedet" systemet beskrevet i søkerens parallelle søknad med serienr. 454.393 som er identifisert tidligere i denne beskrivelsen. De spesifiserte detaljene vedrørende logikken eller de detaljerte trinnene som er involvert ved korrigeringen av
2-bitgruppe-feil i underblokken ved å behandle de 4 syndrombitgruppene, danner ingen del av den foreliggende oppfinnelsen. En forståelse av en utførelse for å utføre denne funksjonen kan fåes ved å studere den nevnte søknaden. Andre tidligere kjente arrangementer for å korrigere to feil i et ord ved å behandle 4 relaterte syndrombitgrupper, kan selvfølgelig også anvendes.
Den foreliggende oppfinnelsen frembringer underblokk og blokksyndrombitgrupper og en indikasjon på om underblokken inneholder multippel 1-bitgruppe-feil. Fig. 7, som er et totalblokkdiagram over den foreliggende oppfinnelsen, viser sammenhengen mellom syndrombehandlingsblokken for multibit-gruppe feil og resten av systemet, som vist.
Som vist på fig. 7, blir data fra databehandlingssystemet
70 sendt til skivefilen 71 for lagring på et spor som er formatert som vist på fig. 1. Under overføringen av disse data, blir to sett med sj ekkebitgrupper B-^og Bq utledet for hver underblokk av ECC koderen 72 i samsvar med den forutgående beskrivelsen. På lignende måte blir to par blokk sj ekkebitgrupper C-^ og C_ også utledet av koderen 72. Underblokkformateren 72A fører sjekkebitgruppene B^
og Bq til hver korresponderende underblokk. På samme måte fører blokkformateren 72B blokksjekkebitgruppene C^ og C~til slutten av blokken. De formatede data blir så opptegnet på skivelageret 71. I den viste utførelsen blir et sett av blokksjekkebitgruppene utledet ved ganske enkelt å akku-mulere underblokksjekkbitgruppene B^og Bq som ikke trenger å bli opptegnet på blokknivået. Disse blokksjekkbitgruppene er tilknyttet syndromene S-^ og S£, mens C^ og C£sjekkebit-gruppene er tilknyttet Sq og S^syndrombitgruppene og blir utledet under leseprosessen av den logiske kretsen som tidligere er beskrevet. Det må forstås at subindekseringen til syndromene, dvs. Sq, S^, ste. er relatert til den bestemte T matrisen som anvendes for å generere de respektive sjekketegnene. Spesielt korresponderer Sq, som er utledet fra C^, til en konvensjonell paritetssjekkebitgruppe siden hver bitposisjon i ordet blir sjekket, som vist på fig.
4. S^, på den annen side, er utledet fra C_ som blir generert i samsvar med logikken vist på fig. 5 som involverer multiplisering av inngangsbitgruppen med en matrise . Sjekkebitgrupper B^og Bq, som blir brukt for å utlede S^og S^ r blir generert i samsvar med logikken på fig. 1, 2
og 3 som involverer matriser T, og T2.
Det kan vises at de fire blokksyndrombitgruppene som er nødvendig for å korrigere en bitgruppefeil i en underblokk kan frembringes av sjekkebitgruppene som er uavhengig av underblokksjekkbitgruppene B. og Bq. De 4 matrisene Ta, Ta+"'", Ta+^, Ta+~^ som blir valgt for å generere de 4 blokksjekkbitgruppene må imidlertid være inntil hverandre liggende potenser a, a+1, a+2 og a+3 av matrisen T i GF(2 g) feltet. Den foretrukne utførelsen sparer tomplass og maskin-varen ved å anvende de akkumulerte underblokksjekkbitgruppene B^og Bq for hvert ord i blokken.
Det vises igjen til fig. 7, hvor blokken 73 representerer den første nivå ECC funksjonen for å korrigere en bitgruppe-feil i hver av de to interfolierte ordene. En blokk med data blir lest fra filen og lagret i blokkbufferen 74 ved hjelp av underblokker. Dersom syndromer og S2for hvert ord i underblokken alle er 0, så har det ikke vært noen feil. Dersom alle fire underblokkene er feilfrie, så vil blokk 75, som genererer Sq og S^, også indikere en feilfri blokk, og blokken kan sendes til databehandlingssystemet 70.
Det hvor bare en 1-bitgruppefeil har opptrådt i et ord,
blir denne feil korrigert av den første nivå ECC blokken 73 slik at denne blokk 75 igjen bekrefter en feilfri blokk siden de 4 syndrombitgruppene reflekterer korrigerte ord og følgelig alle vil være nuller.
Den tredje situasjonen som kan finne sted i systemet vist
på fig. 7, er hvor den første nivå ECC blokken 73 feilkorri-gerer en bitgruppe av data i en underblokk, si f.eks. f,
som respons på behandling av ikke-0 S^ og S2syndrombitgrupper. Det antas at feilkorreksjonen opptråde fordi ordet inneholdt to feil og ikke at en ikke-korrigerbar feil større enn 2 var tilstede, selv om blokken 73 vil frembringe et ikke-korrigerbart feilsignal når to-feil situasjoner opptrer. Det antas videre at siden dobbelfeilen har funnet sted i
en underblokk, er de andre underblokkene feilfrie. Under de forutsatte betingelser, vil faktaet at ordet er blitt feilkorrigert bli detektert av ikke-0 tilstanden til en
hvilken som helst eller begge Sq og S^blokksyndrombitgruppene. Når dette finner sted, returnerer systemet underblokk F til sin opprinnelige tilstand. Siden feilmønstret er lagret i bufferen 76 sammen med underblokkdata, blir underblokk F lest ut sammen med feilmønstret gjennom korreksjonslogikken 78, modifisert og returnert til bufferen. Også
de opprinnelige 4 syndrombitgruppene blir modifisert av blokk 77 for å reflektere den opprinnelige tofeiltilstanden. Det modifiserte sett (S<1>) av syndrombitgrupper blir så behandlet av blokk 78 for å dekode begge feilene i underblokk f som også ble sendt til korreksjonslogikken 78 under modifi-kasjonen av underblokk f. Blokken med data blir så overført til databehandlingssystemet 70 uten feil.
Den siste feiltilstanden som kan opptre i systemet er hvor en underblokk inneholder mer enn to feil og således er ikke-korrigerbar. Denne feiltilstanden ligger utenfor mulighetene til koden, og kan således bli feilkorrigert. Noen ganger vil dette indikeres av 2-nivå dekoderen 78 når, som et resultat av behandling av et modifisert sett (S<1>) av syndrombitgrupper, et ikke-korrigerbart feilsignal bli frembragt siden syndrombehandlingskretsen til blokk 78 ikke var istand til å identifisere lokaliseringen og/eller feilmønstret til den ene eller begge feilene.
Fig. 8 er et flydiagram som oppsummerer operasjonene som nettopp er beskrevet, og fremviser sekvensen av trinn som er involvert i fremgangsmåten i henhold til den foreliggende oppfinnelse.
Mens den foretrukne utførelsen, som vist og beskrevet, forut-setter at 2-nivå kodestrukturen i hvilken en 1-bitgruppe-feil i et kodeord var korrigerbart på det første nivået og en 2-bitgruppefeil var korrigerbar på blokknivået, må
det forstås at fremgangsmåten og systemet kan modifiseres for å behandle t^feil på det første kodeordnivået og feil på blokknivået hvor t^er større enn 1 og t2Større enn t^.
Det må også forstås i forbindelse med systemet som nettopp er beskrevet, at for å få korrigeringsprosessen til å arbeide på det andre nivået for å korrigere to feil i underblokken, er det nødvendig å identifisere hvilken underblokk som inneholder to 1-bitgruppefeil. I det beskrevne systemet, blir en underblokk identifisert av ikke-0 underblokksyndromene som, når de blir behandlet av det første nivåets syndrom-behandlingskretser, indikerer enten en ikke-korrigerbar feil eller frembringer en 1-bitgruppe "korreksjon" som,
i virkeligheten er en feilkorreksjon som etterpå blir detektert ved ikke-0 tilstanden til blokksyndromene. Dersom en hvilken som helst annen underblokk frembringer ikke-0 syndromer, hvilket forårsaker at første-nivå syndrombehand-lingskretsene utfører en korreksjon, er det ikke mulig å korrigere blokken siden antallet feil i blokken og dennes fordeling nødvendigvis overskrider korrigeringskapasiteten til systemet. I den illustrerte utførelsen, hvor blokken omfatter 4 underblokker som hver har to interfolierte kodeord, kan systemet således korrigere opp til 8 1-butgruppefeil, forutsatt at hver feil var i et forskjellig kodeord. Dersom imidlertid et eller flere kodeord i en underblokk inneholder to 1-bit gruppefeil, må, for at systemet skal kunne korrigere disse feilene, alle kodeordene i andre underblokker i blokken være feilfrie. Generelt er t^antallet feil som kan korrigeres på underblokknivået og er antallet feil som kan korrigeres på blokknivået. Det er vist senere i spesifikasjonen at de kombinerte egenskapene til to-nivå kodearkitekturen kan frembringe korreksjon av forskjellige kombinasjoner av multisymbolfeil fordelt over mange underblokker. Dette er fastslått i det følgende teorem. De kombinerte egenskapene til to-nivå systemet frembringer korreksjon av en hvilken som helst kombinasjon av (t^+
x) feil i hvilken som helst underblokk, enhver kombinasjon av opp til (t^- x) feil i hver av de andre underblokkene og y feil på blokknivå sjekkebitgruppene. I dette teorem er x og y ikke spesifiserte hele tall slik at (0 <_ x <_ x+y < t_ - t]^- Underblokknivåkoden har en minimum Hamming
avstand d^_<>>(2t^+ 1), mens blokknivåkoden har en minimums-avstand d2_<>>(2t2+ 1).
Den generelle dekodingsprosessen vist på fig. 8 blir fulgt unntatt det at en identifikasjon av underblokken som inneholder en feil blir lagret sammen med antallet feil og feil-mønstere for opp til maksimumsantallet av feil t^når en underblokkfeil blir detektert. Nøkkeltrinnet i dekodingsprosessen er muligheten til å identifisere underblokken i ordet hvilket skulle behandles av det andre nivåsyndromets behand-lingskretser under anvendelse av blokksyndrombitgruppene i tilfeller hvor fler enn en underblokk inneholder en feil som ble korrigert. Det følgende beviset stadfester at underblokken som har det høyeste antall bitgrupper korrigert på det første nivået, er underblokken som bør bli korrigert ved å anvende blokksyndromene. Anta f.eks. at det første nivået kan korrigere opp til 2 feil for hvert kodeord og at blokken kan korrigere opp til 4 feil. Dersom 3 feil opptrer i en underblokk A og en feil i underblokk D, så
vil det første nivåsystemet ved behandlingen av syndromene for underblokk A indikere enten en ikke-korrigerbar feil eller fortsette å modifisere to bit-grupper idet underord i hva som synes som en normal korreksjon, men som i virkeligheten er en feilkorreksjon som addererer to tilleggsfeil til underblokken. Ved behandling av underblokk D, vil en feil bli indikert og denne ene feil vil bli korrigert under syndrombehandlingen av førstenivåkretsene. Blokksyndromene vil imidlertid indikere muligheten for en feilkorreksjon ved at en ikke-0 tilstand vil indikeres. Siden to underblokker ble korrigert, kan en hvilken som helst underblokk antas å være den som inneholder flere feil enn første nivåsystemet kunne behandle. Teoremet etablerer at underblokken som skal korrigeres på blokknivået, er underblokken som mottok de fleste antall bitgrupper korrigert på det første nivået som i eksemplet var blokk A. De opprinnelige 3 feilene i blokk A kan så korrigeres ved hjelp av prosessen på fig.
8. Beviset på dette teoremet følger.
Anta at en underblokk (i = f) inneholder (t + x) feil, og hver av de andre underblokkene (i ^ f) inneholder opp til (t^- x) feil. Heltallene x, y og f er ikke kjent og 0
< x < x+y <_ (t2- t1) .
Når x = 0, vil alle feil på underblokknivået bli korrigert på riktig måte siden de alle ligger innenfor mulighetene til underblokkkoden.
Når x =0, betraktes underblokken f med (t^+ x) feil. Siden minimums Hamming distansen d^er (2t^+ 1), må det næreste kodeordet skille seg fra det mottatte ordet ved i det minste (2t^+ 1) - (t^+ x) posisjoner. Således kan dekoderen feilkorrigere underblokken f ved å innføre tilleggsfeil i i det minste (t^- x + 1) posisjoner og så mange som t^posisjoner for å komme til det nærmeste kodeordet. Eller dekoderen kan finne at underblokk f er ikke-korrigerbar dersom dens Hamming distanse fra det nærmeste kodeordet er større enn t^. I motsetning til dette, vil dekoderen korrigere (t^ - x) eller færre posisjoner i hver av de andre underblokkene, som alle vil bli korrigert på riktig måte.
På blokknivået blir syndromsettet (S) beregnet fra de mottatte data som omfatter alle underblokknivåfeilkorreksjoner. Settet (S) forblir så med blokknivåsyndromene innstilt på alle feil, fremdeles tilstede i blokken, dvs. i underblokk f og blokknivåsjekkebitgruppene. Disse er, høyst, (t2+
t^) feil som omfatter (t^+ x) + y opprinnelige feil og opp til t^feilkorreksjoner. Siden den minimale Hamming distanse d2(2t2+ 1) overskrider (t2+ t^), må de korresponderende syndromene (S) være ikke-0. Således vil de ikke-korrigerte eller feilkorrigerte feilene i blokken bli detektert på blokknivået til dekodingsprosedyren.
Underblokken f, som har (t^+ x) feil, blir spesielt identifisert under behandlingen av underblokksyndromene på bakgrunn av det faktum at denne ble erkjent ikke-korrigerbar eller antallet korreksjoner i underblokken f overskred disse som var i hvilken som helst av de andre underblokkene med i det minste 1. Dersom alle underblokkene ble korrigert riktig på underblokknivået, så er verdien til f uten konsekvenser ved blokknivået.
La (S^) angi blokknivåsyndromene på grunn av feilmønsterne introdusert av dekoderen i underblokk f. Vi kan fjerne disse feilmønstere fra underblokk f og deres bidrag (S^) fra syndromene (S). Således representerer settet (S) 0 (S^) syndromene for de opprinnelige (t^+ x) feilene i underblokk f og y feil i blokknivå sjekkebitgruppene. Subtraksjonene 0 er den samme som addisjonen 0 i modul 2 aritmetikken som blir utført ved hjelp av den konvensjonelle bit-for-
bit eksklusiv ord logiske funksjonen.
Syndromene (S) og (Sf) er alle kjente mengder. Blokknivå-dekodingen av (S) + (Sf) for t_ feil frembringer riktig korreksjon av alle gjenværende feil. Dette kompletterer beviset.
Merk at en avbruddsfeil dekker enhver feil med lengde opp til 9 bit. To påfølgende avbruddsfeil dekker enhver feil med lengde opp til 25 bit. Tre påfølgende avbruddsfeil dekker enhver lengde opptil 41 bit.
Det bør også merkes at mens den viste utførelsen illustrerer en datablokk som omfatter 4 underblokker, viser beviset
for det generelle tilfellet at en blokk kan inneholde bare en underblokk som kan være et kodeord som har 2t^sjekke-bitgrupper som tillater korreksjon av t^feil på det første nivået og 2t2sjekkegruppeer som tillater korreksjon av opp til t2feil på det andre nivået. Det andre nivåsystemet vil bare være operativt dersom syndromene som korresponderer med 2t2blokksjekkebitgruppene resulterte i en ikke-0 tilstand etter at kodeordet er blitt "korrigert" av det første
nivå systemet. Avhengig av "feil"-omgivelsene, vil det ses av fagkyndige personer at hvert nivå av systemet kan suppleres eller utstyres på forskjellige måter for derved å tillate forskjellige kostnadsnivåer ved salg, hvilket vil reflektere feiltyper og fordelinger i datablokken.
Mens oppfinnelsen er spesielt vist og beskrevet med referanse til den foretrukne utførelse, vil det forstås av fagkyndige at forskjellige andre endringer i form og detaljer kan gjøres uten at rammen for oppfinnelsen forlates.

Claims (15)

1. Fremgangsmåte for å korrigere feil i digitale data, som er opererbar for å korrigere opp til t^ feil i hver underblokk av en datablokk og t2 feil i nevnte blokk og nevnte blokk har: (a) en flerhet av underblokker som hver har i det minste et kodeord som inneholder opp til 2 -1 b-bit tegnposisjoner som omfatter 2t^ s j ekkebitgruppeposis j oner ; og (b) 2t2 b-bit blokksjekkebitgrupper, karakterisert ved at nevnte fremgangsmåte omfatter de følg-ende trinnene: generering av to t^ syndrome bitgrupper som hver inneholder b bit ved å kombinere nevnte 2t^ sjekke-bitgruper som er tilknyttet i nevnte lager med hvert av nevnte kodeord med 2t^ sjekkebitgrupper som nettopp er utledet under lesingen av hver av nevnte kodeord fra nevnte lager, og nevnte sjekkebitgrupper korresponderer til modul 2 summen av bit-posisjoner til nevnte ene kodeord som er valgt systematisk i samsvar med en forutbestemt paritets-sjekk sjekkematrise; behandling av nevnte 2t^ syndromer for å korrigere opptil t^ feil i hvert av nevnte kodeord; generering av 2t2 blokksyndrome bitgrupper som hver inneholder b bit ved å kombinere nevnte 2t2 blokksjekkebitgrupper etter at alle nevnte kodeord til nevnte blokk er blitt lest og korrigert, og hver av nevnte blokksjekkebitgrupper korresponderer til modul 2 summen av bitposisjoner av korrigerte nevnte kodeord som blir valgt systematisk i samsvar med nevnte paritetsjekkematrise; utledning av et nytt sett av 2t2 blokksyndrome bitgrupper ved å modifisere dette opprinnelige sett av 2t2 blokksyndrome bitgrupper for å reflektere en tidligere korreksjon i en av nevnte underblokker som respons på nevnte opprinnelige sett av 2t2 syndrome bitgrupper som har en ikke-0 tilstand; og behandling av nevnte nye sett av modifiserte blokksyndrome bitgrupper for å korrigere opp til t2 feil i nevnte ene underblokk som tidligere var feilkorrigert.
2. Fremgangsmåte som angitt i krav 1, karakterisert , v e,d at nevnte paritetssjekkematrise jrn i x. a+1 a+2 a+2t-l .. , reflekterer røttene a, a , a ,...a til generea- torpolynomet hvor er et element til det endelige feltet av 2° elementer.
3. Fremgangsmåte som angitt i krav 2, karakterisert ved at det utledes et nytt sett av blokksyndrome bitgrupper som omfatter lagring av hvert kodeord i en buffer ettersom det blir lest og lagring av feildata i nevnte buffer utledet ved å behandle nevnte 2t^ symdrome bitgrupper.
4. Fremgangsmåte som angitt i krav 3, karakterisert ved at korreksjonen av nevnte t2 feil i nevnte ene underblokk opptrer på stedet mens nevnte blokk blir overført.
5. Fremgangsmåte som angitt i krav 3, karakterisert ved at utledningen av nevnte nye sett med blokksyndromer omfatter identifisering fra en flerhet av underblokker, som hver fikk opptil t^ feil korrigert, underblokken i hvilken de fleste bitgruppene ble korrigert.
6. Feilkorreksjonssystem som kan arbeide for å korrigere opp til t^ feil i hver underblokk til en datablokk og t2 feil i nevnte blokk, og nevnte blokk har: (a) N underblokker, som hver har i det minste et kodeord som inneholder opp til 2 b-bit tegnposisjoner som består av en spesiell kombinasjon av binære bit som representerer data og 2t^ sjekkebitgrupper; og (b) 2t2 b-bit blokksjekkebitgrupper, karakterisert ved at systemet omfatter: første syndrom gene-rerende innretning for å generere to 2t^ syndrom bitgrupper som hver inneholder b bit ved å kombinere 2t^ lagrede sjekke-bitgrupper som er tilknyttet hvert lagret kodeord med nettopp utledet 2t^ sjekkebitgrupper under lesingen av hvert av av nevnte lagrede kodeord, og nevnte sjekkebitgrupper korresponderer til modul 2 summen av bit-posisjoner til nevnte kodeord som er valgt systematisk i samsvar med en forutbestemt peritetssjekkematrise; og første syndrombehandlings-kretser arbeider for å korrigere opp til t1 feil i hvert av nevnte kodeord ved å behandle nevnte 2t1 syndrombitgrupper; andre syndromgenereringsinnretning for å generere 2t2 blokksyndrombitgrupper som hver inneholder b bit ved å kombinere nevnte 2t2 lagrede blokksjekkebitgrupper med 2t2 blokksjekkebitgrupper utledet etter at alle nevnte kodeord til nevnte blokk er blitt lest og korrigert, og hvert av nevnte t2 blokksjekkebitgrupper korresponderer til modul 2 summen av bit-posisjoner av korrigerte nevnte kodeord sem blir valgt systematisk i samsvar med nevnte paritets-sjekkematrise; logikkinnretning for å utlede et nytt sett av blokksyndrome bitgruppe ved å modifisere nevnte opprinnelige sett av blokksyndrome bit-grupper for å reflektere en feilkorreksjon i en av nevnte underblokker; andre syndrombehandlingskrets for å korrigere opp til t2 i nevnte ene underblokk ved å behandle nevnte modifiserte sett av 2t2 blokksyndrome bit-grupper .
7. System som angitt i krav 6, karakterisert ved at nevnte paritetssjekkematrise a a+1 a+2 a+2t-l reflekterer røttene a , a , a , ... a fra gene- ratorpolynomet hvor er et element i det endelige feltet av 2 føelementer, hvor t er t^ eller t2 •
8. System som angitt i krav 7, karakterisert ved at nevnte logikkinnretning omfatter en kodeordbuffer for å lagre hvert kodeord ettersom det blir lest og for å lagre feildata utledet av nevnte første syndrombehandlingskrets for nevnte kodeord som et resultat av behandling av nevnte 2t^ syndrombitgrupper.
9. System som angitt i krav 8, karakterisert ved at nevnte logikkinnretning arbeider for å identifisere underblokken som mottar det største antallet bitgruppekorreksjoner.
10. system som angitt i krav 9, karakterisert ved at nevnte andre syndrom behandlingskrets arbeider for å korrigere opp til t2 feil i nevnte identifiserte underblokk.
11. System som angitt i krav 10, karakterisert ved at nevnte andre syndrom behandlingskrets korrigerer opp til nevnte t,> feil i nevnte ene underblokk mens nevnte blokk blir overført fra nevnte buffer.
12. System som angitt i hvilke som helst av kravene 6-11, karakterisert ved at "b" er 8 og hvor potensene a, a+1, a+2 ... til nevnte røtter er inntil hverandre liggende hele tall.
13. System som angitt i krav 12, karakterisert ved at nevnte potenser som anvendes for å utlede nevnte 2t-^ sjekkebitgrupper er et undersett av nevnte potenser anvendt for å utlede nevnte 2tn sjekke-bitgrupper.
14. System som angitt i krav 13 for å korrigere opp til (t-^ - x) feil i hver underblokk ved å behandle nevnte 2t^ sjekkebitgrupper i nevnte første behandlingskrets og opptil (t-^ + x) feil i en underblokk ved å behandle nevnte 2t2 sjekkebitgrupper i nevnte andre syndrom behandlingsenhet hvor 0 <_ x <_ (t2 - t1) .
15. System som angitt i hvilket som helst av de forutgående krav, karakt6 : risert ved at "N'r er 1.
NO840715A 1983-02-28 1984-02-24 Fremgangsmaate for korrigering av feil ved digitaldata og system for dette NO840715L (no)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/470,846 US4525838A (en) 1983-02-28 1983-02-28 Multibyte error correcting system involving a two-level code structure

Publications (1)

Publication Number Publication Date
NO840715L true NO840715L (no) 1984-08-29

Family

ID=23869300

Family Applications (1)

Application Number Title Priority Date Filing Date
NO840715A NO840715L (no) 1983-02-28 1984-02-24 Fremgangsmaate for korrigering av feil ved digitaldata og system for dette

Country Status (13)

Country Link
US (1) US4525838A (no)
EP (1) EP0117287B1 (no)
JP (1) JPS59165541A (no)
AT (1) ATE63395T1 (no)
AU (1) AU560216B2 (no)
BR (1) BR8400758A (no)
CA (1) CA1204874A (no)
DE (1) DE3382278D1 (no)
DK (1) DK108384A (no)
ES (1) ES8503870A1 (no)
HK (1) HK138494A (no)
NO (1) NO840715L (no)
ZA (1) ZA838482B (no)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2136248A (en) * 1983-02-25 1984-09-12 Philips Electronic Associated Text error correction in digital data transmission systems
GB2143659B (en) * 1983-07-19 1986-11-05 Sony Corp Methods of and apparatus for correcting errors in binary data
US4564941A (en) * 1983-12-08 1986-01-14 Apple Computer, Inc. Error detection system
CA1265250A (en) * 1985-03-04 1990-01-30 Alan Douglas Clark Data transmission
CA1263194A (en) * 1985-05-08 1989-11-21 W. Daniel Hillis Storage system using multiple mechanically-driven storage units
US5202979A (en) * 1985-05-08 1993-04-13 Thinking Machines Corporation Storage system using multiple independently mechanically-driven storage units
US4706250A (en) * 1985-09-27 1987-11-10 International Business Machines Corporation Method and apparatus for correcting multibyte errors having improved two-level code structure
US4703485A (en) * 1986-02-10 1987-10-27 International Business Machines Corporation Method and apparatus for computing and implementing error detection check bytes
JPS62279563A (ja) * 1986-05-29 1987-12-04 Matsushita Electric Ind Co Ltd 光デイスク装置
US4745604A (en) * 1986-10-20 1988-05-17 International Business Machines Corporation Method and apparatus for transferring data between a host processor and a data storage device
JPS63157361A (ja) * 1986-12-19 1988-06-30 Matsushita Electric Ind Co Ltd 光デイスク駆動装置
JP2668868B2 (ja) * 1986-12-10 1997-10-27 松下電器産業株式会社 光デイスク
US4791643A (en) * 1986-12-29 1988-12-13 Minnesota Mining And Manufacturing Company Single track orthogonal error correction system
USRE34100E (en) * 1987-01-12 1992-10-13 Seagate Technology, Inc. Data error correction system
US4899232A (en) * 1987-04-07 1990-02-06 Sony Corporation Apparatus for recording and/or reproducing digital data information
JPS63251968A (ja) * 1987-04-08 1988-10-19 Pioneer Electronic Corp デイスク記録方式
US4833679A (en) * 1987-08-31 1989-05-23 International Business Machines Corporation Method and apparatus with improved error correction and error information availability
US4849975A (en) * 1987-11-10 1989-07-18 International Business Machines Corporation Error correction method and apparatus
JPH01140476A (ja) * 1987-11-27 1989-06-01 Matsushita Electric Ind Co Ltd 検査語生成方法
US4890287A (en) * 1988-03-09 1989-12-26 Magnetic Peripherals Inc. On-the-fly error correction
US5283791A (en) * 1988-08-02 1994-02-01 Cray Research Systems, Inc. Error recovery method and apparatus for high performance disk drives
US5218689A (en) * 1988-08-16 1993-06-08 Cray Research, Inc. Single disk emulation interface for an array of asynchronously operating disk drives
US4916701A (en) * 1988-09-21 1990-04-10 International Business Machines Corporation Method and system for correcting long bursts of consecutive errors
US4951284A (en) * 1988-12-14 1990-08-21 International Business Machines Corporation Method and means for correcting random and burst errors
US5107506A (en) * 1990-01-25 1992-04-21 Digital Equipment Corporation Error trapping decoding method and apparatus
US5224106A (en) * 1990-05-09 1993-06-29 Digital Equipment Corporation Multi-level error correction system
US5220569A (en) * 1990-07-09 1993-06-15 Seagate Technology, Inc. Disk array with error type indication and selection of error correction method
US5280488A (en) * 1990-11-08 1994-01-18 Neal Glover Reed-Solomon code system employing k-bit serial techniques for encoding and burst error trapping
US5418796A (en) * 1991-03-26 1995-05-23 International Business Machines Corporation Synergistic multiple bit error correction for memory of array chips
US5268908A (en) * 1991-06-19 1993-12-07 Storage Technology Corporation Low data delay triple coverage code apparatus for on-the-fly error correction
JP2721099B2 (ja) * 1991-12-18 1998-03-04 インターナショナル・ビジネス・マシーンズ・コーポレイション エラーバースト修正のための試行錯誤方法及びマルチバイトエラーの修正方法
US5329535A (en) * 1992-04-30 1994-07-12 International Business Machines Corporation Variable block lengths on-the-fly error correcting decoder
US5357527A (en) * 1992-12-31 1994-10-18 Trimble Navigation Limited Validation of RAM-resident software programs
JPH08111072A (ja) * 1994-08-11 1996-04-30 Pioneer Electron Corp ディスク記録方法およびディスク記録装置
US5671349A (en) * 1994-12-06 1997-09-23 Hitachi Computer Products America, Inc. Apparatus and method for providing data redundancy and reconstruction for redundant arrays of disk drives
JP3268547B2 (ja) * 1995-06-06 2002-03-25 インターナショナル・ビジネス・マシーンズ・コーポレーション 直接アクセス記憶装置に記録する定義済み情報を、エラー訂正コードを利用しエラー検出するための方法及び装置
JP3352852B2 (ja) * 1995-07-31 2002-12-03 松下電器産業株式会社 マルチメディアディスクレコーダ
US5920580A (en) * 1996-03-11 1999-07-06 Integrated Device Technology, Inc. Multiple error detection in error detection correction circuits
JPH10207726A (ja) * 1997-01-23 1998-08-07 Oki Electric Ind Co Ltd 半導体ディスク装置
US6275965B1 (en) 1997-11-17 2001-08-14 International Business Machines Corporation Method and apparatus for efficient error detection and correction in long byte strings using generalized, integrated, interleaved reed-solomon codewords
US5946328A (en) * 1997-11-17 1999-08-31 International Business Machines Corporation Method and means for efficient error detection and correction in long byte strings using integrated interleaved Reed-Solomon codewords
JP4088998B2 (ja) 1998-02-16 2008-05-21 ソニー株式会社 光ディスクの記録/再生方法、光ディスク及び光ディスク装置
US7093183B2 (en) * 2001-02-28 2006-08-15 International Business Machines Corporation Symbol level error correction codes which protect against memory chip and bus line failures
US7028248B2 (en) * 2001-02-28 2006-04-11 International Business Machines Corporation Multi-cycle symbol level error correction and memory system
US6785077B2 (en) * 2001-04-02 2004-08-31 Seagate Technology Llc Disc drive pattern zero verification test
WO2003071535A1 (fr) * 2002-02-20 2003-08-28 Sony Corporation Support d'enregistrement de donnees, procede et appareil d'enregistrement de donnees, procede d'emission et de reception de donnees
US7257691B2 (en) * 2003-09-26 2007-08-14 International Business Machines Corporation Writing and reading of data in probe-based data storage devices
RU2010135817A (ru) * 2010-08-30 2012-03-10 ЭлЭсАй Корпорейшн (US) Реконфигурируемый декодер кодов бчх
JP5768022B2 (ja) 2012-03-19 2015-08-26 株式会社東芝 メモリコントローラ、記憶装置、誤り訂正装置および誤り訂正方法
TW201346922A (zh) 2012-05-14 2013-11-16 Toshiba Kk 記憶體控制器、記憶裝置及錯誤修正方法
US11438015B2 (en) * 2020-07-10 2022-09-06 Taiwan Semiconductor Manufacturing Company, Ltd. Two-level error correcting code with sharing of check-bits

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL130511C (no) * 1963-10-15
DE2157783A1 (de) * 1971-11-22 1973-05-30 Licentia Gmbh Verfahren zur korrektur von daten
US3831143A (en) * 1971-11-26 1974-08-20 Computer Science Corp Concatenated burst-trapping codes
US4211997A (en) * 1978-11-03 1980-07-08 Ampex Corporation Method and apparatus employing an improved format for recording and reproducing digital audio
DE3040004A1 (de) * 1979-10-24 1981-05-07 Matsushita Electric Industrial Co., Ltd., Kadoma, Osaka Verfahren und vorrichtung zum codieren von pruefworten geringer redundanz aus ursprungsdaten
DE3115054A1 (de) * 1980-04-14 1982-04-08 Victor Company Of Japan, Ltd., Yokohama, Kanagawa Doppelfehlerkorrekturanordnung in einem digitalsignalwiedergabegeraet
US4334309A (en) * 1980-06-30 1982-06-08 International Business Machines Corporation Error correcting code system
GB2095440B (en) * 1981-03-23 1985-10-09 Sony Corp Digital television signal processing
JPS57168543A (en) * 1981-04-09 1982-10-16 Sony Corp Decoding device

Also Published As

Publication number Publication date
HK138494A (en) 1994-12-16
DE3382278D1 (de) 1991-06-13
ES530067A0 (es) 1985-03-01
JPS59165541A (ja) 1984-09-18
US4525838A (en) 1985-06-25
AU2467084A (en) 1984-09-06
ZA838482B (en) 1984-10-31
EP0117287A3 (en) 1987-02-25
AU560216B2 (en) 1987-04-02
EP0117287A2 (en) 1984-09-05
DK108384D0 (da) 1984-02-27
DK108384A (da) 1984-08-29
JPS6354254B2 (no) 1988-10-27
CA1204874A (en) 1986-05-20
BR8400758A (pt) 1984-10-02
ES8503870A1 (es) 1985-03-01
ATE63395T1 (de) 1991-05-15
EP0117287B1 (en) 1991-05-08

Similar Documents

Publication Publication Date Title
NO840715L (no) Fremgangsmaate for korrigering av feil ved digitaldata og system for dette
US4706250A (en) Method and apparatus for correcting multibyte errors having improved two-level code structure
US7404134B2 (en) Encoding/decoding device using a reed-solomon encoder/decoder
US5136592A (en) Error detection and correction system for long burst errors
JP4036338B2 (ja) 誤りバイト数を制限したバイト内複数スポッティバイト誤り訂正・検出方法及び装置
US7278085B1 (en) Simple error-correction codes for data buffers
US8656249B2 (en) Multi-level LDPC layer decoder
US6615387B1 (en) Method and apparatus for error detection
US4486882A (en) System for transmitting binary data via a plurality of channels by means of a convolutional code
US8806295B2 (en) Mis-correction and no-correction rates for error control
JPH01155721A (ja) エラー訂正方法
US20050257115A1 (en) Decoding for algebraic geometric code associated with a fiber product
US20200081778A1 (en) Distributed storage system, method and apparatus
US7461329B2 (en) Channel encoding adapted to error bursts
US4527269A (en) Encoder verifier
JP2589957B2 (ja) 単一サブブロック・エラーと単一ビット・エラー検出のための符号化方法及びメモリ・システム
JP5108000B2 (ja) データエンコーディング及びデコーディングの方法並びに装置、その方法を具現するためのプログラムが記録された記録媒体、及び記録媒体駆動システム
US7093183B2 (en) Symbol level error correction codes which protect against memory chip and bus line failures
KR19990087035A (ko) 향상된다중버스트정정시스템
US6643819B1 (en) Hybrid root-finding technique
US20050188291A1 (en) Error locating methods and devices for algebraic geometric codes
US7120850B2 (en) Low-cost methods and devices for the decoding of product cases
US20210119647A1 (en) Parity generation circuits for a plurality of error correction levels, memory controllers, and memory modules including the parity generation circuits
US9086992B1 (en) System and method for interconnecting storage elements
JPH0220124A (ja) インタリーブ式エンコーディング方法及び装置