NL1007054C2 - Foutcorrectiemethode en -inrichting. - Google Patents
Foutcorrectiemethode en -inrichting. Download PDFInfo
- Publication number
- NL1007054C2 NL1007054C2 NL1007054A NL1007054A NL1007054C2 NL 1007054 C2 NL1007054 C2 NL 1007054C2 NL 1007054 A NL1007054 A NL 1007054A NL 1007054 A NL1007054 A NL 1007054A NL 1007054 C2 NL1007054 C2 NL 1007054C2
- Authority
- NL
- Netherlands
- Prior art keywords
- error
- determining
- calculating
- syndromes
- error correction
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0763—Error or fault detection not based on redundancy by bit configuration check, e.g. of formats or tags
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/154—Error and erasure correction, e.g. by using the error and erasure locator or Forney polynomial
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1545—Determination of error locations, e.g. Chien search or other methods or arrangements for the determination of the roots of the error locator polynomial
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
- G11B2020/1836—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information using a Reed Solomon [RS] code
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2537—Optical discs
- G11B2220/2545—CDs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2537—Optical discs
- G11B2220/2562—DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Description
Foutcorrectiemethode en -inrichting.
ACHTERGROND VAN DE UITVINDING
1. Uitvindingsgebied 5 De uitvinding heeft betrekking op een foutcorrectiemethode en -inrichting, en meer in het bijzonder op een foutcorrectiemethode en -inrichting voor het snel en duurzaam corrigeren van een tripelfout/zes-uitwissing.
10 2. Beschrijving van de verwante techniek
Onder verwijzing naar US patent 4.142.174 verleend 27 februari 1979 aan Chen e.a., en getiteld HIGH SPEED DECODING OF REED-SOLOMON CODES, kunnen de coëfficiênten van een foutlokatiepolynoomvergelijking worden verkregen voor 15 het vinden van de lokaties van een dubbelfout/tripelfout/ zes-fout. Voor dit doel moeten simultane vergelijkingen worden opgelost onder gebruikmaking van een klassieke methode, namelijk de Berlekamp-Messay methode of een Newton identiteit.
20 Dat wil zeggen, wanneer er een dubbelfout gegenereerd is, is de foutlokatiepolynoom σ(χ) ervan gegeven als: σ(χ) = x2 + cyx + σ2 = 0 ... (1) 25
Om de coëfficiënten θ]_ en 03 van o(x) te verkrijgen, dient de volgende determinant van de tweede orde, afgeleid van een Newton identiteit, te worden opgelost.
30 S f S S σ 2 = 1 0 · ' ...(2) S SS σ 3 2 1 2 waarin S0-S3 syndromen aangeven.
35 In toevoeging is een foutlokatiepolynoom o(x) voor tripelfoutcorrectie gegeven als 1007054 2 5 σ(χ) = χ3 + αχ·χ2 + σ2·χ + σ3 = Ο (3)
Voor het verkrijgen van de coëfficiënten σχ, 02, en σ3 van de foutlokatiepolynoom o(x), dient de volgende determinant van de derde orde, afgeleid van een Newton identiteit, te worden opgelost.
10
Sj S2 S, s0 σ, 54 = S3 S2 S, · σ2 ...(4) 55 S4 S3 S2 σ3 15 waarin S0-S5 syndromen zijn, verkregen van een ontvangen codewoord.
Hierbij zijn de coëfficiënten σχ, 02, σ3 van een 20 foutlokatiepolynoom, beschreven door: CTW=(A+a')-(iV+<y)-(Ar+a*) = r3+arr2+arv+a3 (5) 25 gegeven door: 30 σ _ ~ S3 f si2 ’ S5 + Su · S3 · S4 + SQ · S2 · S3 + S, · S2 · S. + S, S3 s’ * sf- s4 »s0· s/ *V s,· s4 35 1007054 5 3 0 S; · S4 + S,; S3 - S4 . S„· S,· S, ♦ S„· S42 * S2· S2 » S, · S, · Ss S2 + S, · S4 + S0 · S3 + s0· s2 · s4 σ +8,-83-83 (6) S2 + S, · S4 + S0 * S3 + S0 S2· S4 10 Om het aantal fouten uit de wiskundige vergelijking 5 te bepalen, wordt een algemeen bekende technologie gebruik. Hoewel het aantal fouten kan worden verkregen onder gebruikmaking van methoden, beschreven in de Koreaanse patentpublikaties Nos. 94-4980, 95-34202, en 96-11689, is er 15 teveel operatietijd nodig voor het opbouwen van een fout-aantal-beslissingsvergelijking.
In de Koreaanse patentpublikatie No. 96-11689 bijvoorbeeld wordt het aantal operaties gereduceerd door het verkrijgen van de waarden van de coëfficiënten σ^, θ2> en 03 20 voor de tripel - foutcorrectie door de waarden van de coëfficiënten 03 en 03/.verkregen voor de dubbelfoutcorrectie, te gebruiken, en de waarden van de coëfficiënten σ^, θ2> σ3' σ4 voor de vierfoutcorrectie te verkrijgen door de waarden van de coëfficiënten σχ, θ2> σ3 25 te gebruiken. De methode heeft evenwel het probleem, dat er nog steeds gecompliceerde operaties dienen te worden uitgevoerd voor het verkrijgen van de coëfficiënten en 02 van een lokatiepolynoom.
In een compact disk player (CDP) of een digitale 30 audiotape (DAT) die eenvoudig foutcorrectie codeert en van de bron afkomstig digitale audiodata decodeert, kunnen audiodata van hoge kwaliteit worden verschaft aan een gebruiker door de foutcorrectie uit te voeren van slechts een dubbelfoutcorrectie/4- of 6-uitwissingscorrectie en 35 vervolgens niet gecorrigeerde data te interpoleren, in een digitale compact cassette (DCC), een mini disk (MD), of een video compact disk (VCD), waarin een datacompressie-algorithme gebruikt wordt voor het registreren van gravische data, videodata, of symbolen alsook audiodata, en de 1007054 4 gecomprimeerde data vaker frequentiegebiedsdata dan tijdgebiedsdata zijn zoals de digitale audiodata, kan evenwel een niet gecorrigeerde fout de audio/videodata, geleverd aan een gebruiker, aanzienlijk beïnvloeden. Daarom 5 voert de DCC en MD een tripelfoutcorrectie uit om dit probleem te boven te komen, en is er een toenemende behoefte voor het versterken van het foutcorrectievermogen.
Aan de andere kant kan een foutcorrectiedecodering in een gebruikelijk CD-ROM of DVD-ROM systeem de transmissie-10 snelheid van gereproduceerde data aan een gastheer verminderen, hetgeen beschreven zal worden met verwijzing naar fig. 1.
Fig. 1 is een vereenvoudigd blokschema van het CD-ROM of DVD-ROM systeem. Het systeem heeft een disk 10, een compact 15 disk player-digitaalsignaalprocessor (CDP-DSP) of DVD
decodeerorgaan 12, een CD-ROM decodeerorgaan of een DVD-ROM gastheer-interface (I/F) 14 en een audio/video (A/V) decodeerorgaan 16. Verder is het CD-ROM decodeerorgaan of een DVD-ROM gastheer I/F 14 gekoppeld met een uitwendige 20 gastheer 18.
Wanneer het CDP-DSP of DVD decodeerorgaan 12 van fig. 1 data, uitgelezen van de disk 10, transmitteert naar het CD-ROM decodeerorgaan of de DVD-ROM gastheer I/F 14, of het A/V decodeerorgaan 16, wordt het bufferen van data of de 25 transmissie van data door het CDP-DVP of DVD decodeerorgaan 12 uitgevoerd in hoge snelheid. Evenwel kan het decoderen van de data in het CD-ROM decodeerorgaan of de DVD-ROM gastheer I/F 14, hetgeen veel tijd kost, de datatransmissie-snelheid reduceren.
30
SAMENVATTING VAN DE UITVINDING
Het is een doel van de onderhavige uitvinding om een foutcorrectiemethode te verschaffen voor het sneller en duurzaam corrigeren van een fout door op gemakkelijke wijze 35 de coëfficiënten te krijgen van een foutlokatiepolynoom in overeenstemming met syndroomwaarden.
Een ander doel van de uitvinding is het verschaffen van een foutcorrectie-inrichting voor het uitvoeren van de bovengenoemde fou tcorrec tiemethode.
1007054 5
Om één van de.bovengenoemde doeleinden te bereiken, wordt er voorzien in een foutcorrectiemethode voor het corrigeren van tripel of minder fouten/zes of minder 5 uitwissingen. Bij de methode worden eerst syndromen S0-S5 van een ontvangen codewoord berekend. Vervolgens wordt bepaald, of de berekende syndromen SQ-S5 alle nullen zijn. Indien de berekende syndromen S0-S5 alle nullen zijn, wordt vastgesteld, dat er geen fout is. Vervolgens wordt 10 vastgesteld of Sq, S^, en S2 nullen zijn en ten minste één van S3, S4 en S5 geen 0, indien SQ-S5 geen nullen zijn. Indien Sq, S^, en S2 nullen zijn en ten minste één van de berekende syndromen S3, S4 en S5 niet 0 is, wordt vastgesteld, dat foutcorrectie onmogelijk is. Vervolgens 15 worden coëfficiënten o^, 02 en 03 van een fout- lokatiepolynoom verschillend berekend in afhankelijkheid ervan of twee van de syndromen Sq, S^ en S2 nullen zijn en de ander niet 0, indien niet alle berekende syndromen Sq, S]_> en S2 nullen zijn of de berekende syndromen S3, S4 en S5 20 alle nullen zijn, welke coëfficiënten een fouttype bepalen en de mogelijkheid van foutcorrectie in afhankelijkheid ervan of foutlokaties, berekend uit de berekende coëfficiënten, in een codewoord zijn, en foutwaarden berekenen. Daarna worden een fouttype en de mogelijkheid van 25 foutcorrectie bepaald onder gebruikmaking van de syndromen SQ-S4 en de coëfficiënten van het foutlokatiepolymeer, berekend in afhankelijkheid ervan of eerste en tweede syndroomvergelijkingen, verkregen onder gebruikmaking van syndromen SQ-S3, die berekend zijn volgens de waarde van Sq 30 en Sj, 0 zijn, indien twee van de syndromen Sq-S2 niet 0 zijn, en worden foutlokaties en waarden berekend.
Om een ander van de bovengenoemde doeleinden te verkrijgen, omvat een foutcorrectie-inrichting voor het corrigeren van drie of minder fouten/zes of minder 35 uitwissingen middelen voor het opslaan van een ontvangen codewoord; middelen voor het ontvangen van het ontvangen codewoord, opgeslagen in de ontvangen codewoordopslag-middelen, en het genereren van syndromen SQ-S5; 1007054 5 6 operatiemiddelen voor het berekenen van coëfficiënten θ]_, 02# en 03 van een foutlokatiepolynoom volgens S4 σ, = — ' s3 S5 + σ. S4 σ =-- S3 10 3 = s, 3 g 15 in reactie op een eerste stuursignaal, berekenen van de coëfficiënten o^, 03, en 03 van het foutlokatiepolynoom volgens _ S5 + S3 20 = ζ S3 σ, = — ' s, 25 °3 = £- +02aj in reactie op een tweede stuursignaal, berekenen van de coëfficiënten αχ, 03, en 03 van het ~ 30 foutlokatiepolynoom volgens S3 O. = — S2 σ, - -V §3 35 · S2 S5 + σ, S4 + σ2 S3 3 s 1007054 7 5 in reactie op een derde stuursignaal, berekenen van de eerste en tweede syndroomvergelijkingen A en B volgens A = S2 + o Si B = S3 + σ · S2 10 (waarbij σ is S^/Sq) in reactie op een vierde stuursignaal, berekenen van coëfficiënten ol' en σ2' van het 15 foutlokatiepolynoom, en D volgens
al' = (Sj-Sj + S0-S3)/A 20 o2' = (SL*S3 + S22)/A
D = S4 + <7l-S3 + a2-S2 (waarbij Δ = s^2 + Sq.S2 Φ 0) 25 in reactie op een vijfde stuursignaal, berekenen van foutlokaties en waarden uit ol' en σ2' in reactie op een zesde stuursignaal, berekenen van coëfficiënten ΣΙ, Σ2, en Σ3 van een foutlokatiepolynoom volgens 30
Σ1 « (Sya2' +S4*ct1 ' +S5) /D
Σ2 = (SyS.+So-S.J/A+Xl-al' Σ3 = (S3-S4+S2-S3) /Δ+Σΐ·σ2' 35 1 007054 δ in reactie op een zevende stuursignaal, en berekenen van foutlokaties en waarden uit ΣΙ, Σ2, en Σ3; operatiestuur-middelen voor het genereren van het eerste stuursignaal, indien S^ en S2 beide 0 zijn en Sq niet 0 is, het tweede 5 stuursignaal, indien Sq en S2 beide 0 zijn en Si niet 0, het derde stuursignaal, indien Sq en Si beide 0 zijn en S2 niet 0, het vierde stuursignaal, indien twee van de syndromen Sq, Si, en S2 niet 0 zijn en indien Sq niet 0 is of Si is 0, het vijfde stuursignaal, indien A en B beide 10 niet 0 zijn, het zesde stuursignaal, indien D 0 is, en een zevende stuursignaal, indien D niet 0 is; stuurmiddelen voor het bepalen, dat er geen fout is gegenereerd, indien alle syndromen Sq-S5 0 zijn, dat foutcorrectie onmogelijk is, indien alle syndromen Sq, Si, en S2 0 zijn en alle 15 syndromen S3, S4, en S5 niet 0 zijn, dat drie fouten zijn gegenereerd, indien de foutlokaties, verkregen uit σι, σ2, en 03, in een codewoord zijn, dat foutcorrectie onmogelijk is, indien zij niet in het codewoord zijn, dat een fout wordt gegenereerd, indien A en B beide 0 zijn, dat twee - 20 fouten worden gegenereerd, indien D 0 is, en drie fouten worden gegenereerd, indien D niet 0 is; en middelen voor het uitvoeren van enkelfoutcorrectie, dubbelfoutcorrectie, of tripelfout-correctie volgens het bepalingsresultaat van de bepaling-besturende middelen.
25
KORTE BESCHRIJVING VAN TEKENINGEN
Bovengenoemde doeleinden en voordelen van de onderhavige uitvinding zullen duidelijker worden uit een detail- - beschrijving van voorkeursuitvoeringen daarvan met 30 verwijzing naar de bijgevoegde tekeningen. In de tekeningen toont:
Fig. 1 een blokschema van een bekend CD-ROM of DVD-ROM systeem;
Fig. 2 een stroomschema, dat een foutcorrectiemethode 35 volgens de uitvinding weergeeft;
Fig. 3 een gedetailleerd stroomschema, dat stap 40, getoond in fig. 2 weergeeft;
Fig. 4 een gedetailleerd stroomschema, dat stap 42, getoond in fig. 2 weergeeft; en 1 007054 9
Fig. 5 een blokschema van een foutcorrectie-inrichting volgens de onderhavige uitvinding.
GEDETAILLEERDE BESCHRIJVING VAN DE UITVINDING 5 Met verwijzing naar fig. 2 wordt de foutcorrectiemethode van de uitvinding uitgevoerd door stap 30 voor het berekenen van syndromen, en stappen 32-42 voor het bepalen van een fouttype en de mogelijkheid van foutcorrectie in afhankelijkheid ervan of de berekende syndromen nullen zijn 10 of niet.
Voor de tripelfoutcorrectie/zes-uitwissingscorrectie Reed Solomon (RS) code, worden zes syndromen Sg, S2, S3, S4, en S5 berekend uit een ontvangen codewoord R(x) volgens de volgende wiskundige vergelijking 7. Hierbij betekent een 15 uitwissing een type fout, waarvan de lokatie bekend is, maar de waarde onbekend.
Vej*Ve*+eite.+e» 20 5.=e,ai+e,aJ+e.ai+e.ai+e a"+e an ’ x J Λ X Rl Π
Si=eia2l+e.a2j+e.ci2k+e,ci21+e a2ffl+e a2n S =e .a3i+e.a3-*+e.a3*+e,a3i+e a3“+e a3n · · (7) n A J x jn n S=e a4l+e a4j+e.a4k+e,a41+e a4m+e a4n ’X J Λ X flj S =e.a5i+e.a5j’+e.a5*+e,a5i+e a5fl,+e a5n J A J λ X JU fl 25
In stap 32 wordt bepaald, of alle syndromen S0-S5 nullen zijn. Indien dit zo is, wordt bepaald in stap 34, dat er 30 geen fout is. Indien niet alle daarvan nullen zijn, wordt in stap 36 bepaald, of Sq/ S^, en S2 alle nullen zijn, en ten minste één van S3, S4 en S5 niet 0 is.
Indien Sg, S]_, en S2 alle nullen zijn, en ten minste één van S3, S4, en S5 niet 0 is, wordt bepaald in stap 38, dat 35 foutcorrectie onmogelijk is. Dat wil zeggen, aangezien er meer dan drie fouten zijn gegenereerd, wordt bepaald, dat de fouten niet kunnen worden gecorrigeerd.
Indien evenwel alle syndromen Sg, S^, en S2 geen nullen zijn, of S3, S4 en S5 alle nullen zijn, dat wil zeggen, 1007054 10 indien niet voldaan is aan stap 36, worden de foutcoëfficiënten van een foutlokatiepolynoom verschillend berekend in afhankelijkheid ervan, of twee van de syndromen Sq, S3, en S2 0 zijn of niet. Hier worden foutlokaties 5 verkregen uit de verschillend berekende coëfficiënten, en een fouttype en de mogelijkheid van foutcorrectie worden bepaald uit een traject van foutlokaties, en foutwaarden worden berekend in stap 40.
Stap 40 zal in detail beschreven worden met verwijzing 10 naar fig. 3.
Fig. 3 is een gedetailleerd stroomschema van stap 40 van fig. 2 volgens de uitvinding.
In fig. 3 wordt stap 40 uitgevoerd door stappen 60, 64, en 68 om te bepalen welke twee syndromen van Sq» S3 en S2 0 15 zijn, stappen 62, 66 en 70 voor het berekenen van coëfficiënten 03, 02 en 03 van het foutlokatiepolynoom voor elk geval, en stappen 72-80 voor het bepalen van een fouttype in overeenstemming met het aantal gegenereerde fouten en de mogelijkheid van foutcorrectie.
20 Indien niet voldaan is aan stap 36, dat wil zeggen, indien alle syndromen Sq, S3, en S2 niet 0 zijn, of S3, S4 en S5 alle 0 zijn, wordt in stap 60 bepaald, of beide syndromen S3 en S2 0 zijn en Sq niet 0. Indien S3 en S2 - beide 0 zijn en Sq niet 0 is, worden de coëfficiënten 25 03, 03, en 03 van het foutlokatiepolynoom berekend als volgt in stap 62.
S4 σ. " ---(8) 30 _ S5 4- σ, S4 S3 S3 35 ~ s öo 1007054 11
Indien evenwel en S2 beide niet O zijn, of Sq 0 is, wordt bepaald in stap 64, of Sq en S2 beide 0 zijn, en S^ niet 0 is. Indien Sq en S2 beide 0 zijn en niet 0 is, worden de coëfficiënten σ^, 02 en 03 van het 5 foutlokatiepolynoom als volgt berekend in stap 66.
α,-hl^h.
S4 10 s ...(9) S, = J +σ2σ! 15
Indien evenwel Sq en S2 beide niet 0 zijn, of 0 is, wordt bepaald in stap 68, of Sq en beide 0 zijn en S2 niet 0 is. indien Sq en beide 0 zijn en S2 is niet 0, worden de coëfficiënten o^, 02 / ¢73 van een foutlokatie- 20 polynoom als volgt berekend in stap 70.
_ S3 σ. = — S2 25 „ _ s4 + σι S3 a2--g- . · . (10) „ _ S5 + σ, s4 + σ2 s3 U, “ ^--- S2 30 Na stap 62, 66, of 70, indien twee van Sq, en S2 0 zijn en de ander niet 0 is, wordt aangenomen in stap 72, dat er drie fouten zijn gegenereerd. Intussen worden in stap 74 foutlokaties ai, aj en ak berekend onder gebruikmaking van de coëfficiënten van het foutlokatiepolynoom, berekend 35 in de stappen 62, 66, of 70.
Om de foutlokaties te berekenen onder gebruikmaking van de coëfficiënten van het foutlokatiepolynoom, kan een algemene methode, in het bijzonder de methode, beschreven in de Koreaanse patentpublikatie No. 94-10545, worden gebruikt.
1007054 12
Bij een methode, beschreven in de Koreaanse patentpublikatie No. 92-18409 wordt een tripelfoutcorrectie uitgevoerd door het volgende concept toe te passen op een f ou 11oka t i epolynoom.
5 Dit concept wordt in het onderstaande beschreven.
Een vergelijking van de derde graad volgens de volgende wiskundige vergelijking 11 kan worden omgezet in de wiskundige vergelijking 12.
10 f (x) =x3+cx2+bx+a=0 (1:Jj f (Z)=Z3+Z + ö=0 ...(12) 15 waarin Θ een constante is.
De wiskundige vergelijking 11 kan worden uitgedrukt als wiskundige vergelijking 13 door x te substituéren door (mZ+n), en de wiskundige vergelijking 13 kan worden omgezet 20 in de wiskundige vergelijking 14. De wiskundige vergelijking 14 wordt de wiskundige vergelijking 15 door overeenkomstige termen te groeperen, en vervolgens wordt wiskundige vergelijking 15 gedeeld door m3 om de coëfficiënt van de hoogste graadterm Z3 1 te maken, resulterende in de 25 wiskundige vergelijking 16.
(mZ+n) 3+c (mZ+n) 2+b (mZ+n)+a=0 ...(13) 9 3Q (m3Z3 + 3m2Z2n+3mZn2+n3) +c (m2Z2+2mZn+n2) +b (mZ+n) +a=0 ...(14) Z3 (m3) +Z2 (3m2n+cm2) +Z (3mn2+2cmn+bm) + (n3+cn2+bn+a) =0 ... (15) 35 z3 x Z- (3m2n * cm2) + z (3mn2 +2(;ΐΏη + bm) + (n3 +cn2 + bn + a) _ 0 m3 m3 m3 1 00 70F54 ...(16) 13
Hieruit wordt wiskundige vergelijking 17 verkregen door de coëfficiënten van de wiskundige vergelijking 16 te vergelijken met die van de wiskundige vergelijking 12.
5 3m2n+cm2=0 3mn2+2cmn+bm=m3 ... (17) 10
Deze wordt equivalent aan de wiskundige vergelijking 18 door operatie van de wortel van een polynoom in een eindig veld van het Galois veld GF(q).
15 m2n+cm2=m2 (n+c) =0 mn2+bm=m3 20 Zodoende kunnen m en n worden uitgedrukt ten opzichte van a, b en c als
m=(c2+b)M
25 n=c · ·· (15) en Θ kan worden uitgedrukt als 30 o _ (n3 +cn2 +bn + a) fbc+a) σ l- = -7 ...(20) irr 2 (c2 +b)2 35 Hier worden de wortels Z]_, Z2 en Z3 van de wiskundige vergelijking 12 verkregen gedurende een voorverwerken volgens de mogelijke waarden Θ, en de verkregen wortels worden opgeslagen in een ROM tabel. En dan wordt uitsluitend een adres van de ROM tabel bepaald tijdens het verwerken, 1007054 14 waardoor de wortels gemakkelijk verkregen worden, dat wil zeggen een foutlokatie.
Onder gebruikmaking van dit concept worden syndromen, het aantal fouten, en foutwaarden verkregen zoals beschreven 5 in de Koreaanse octrooiaanvrage No. 92-18409 als volgt.
Eerst worden de wortels Z^, Z2, en Z3 voor alle mogelijke Θ waarden verkregen onder gebruikmaking van de wiskundige vergelijking 12, en opgeslagen in een geheugen, aangewezen door adressen, dat wil zeggen de ROM tabel. Hier 10 is de wiskundige vergelijking 12 een conversie van de wiskundige vergelijking 3, welke een tripelfoutlokatie-polynoom is.
Nadat de wortels zijn opgeslagen in de ROM tabel, wordt het aantal verkregen door syndromen te berekenen uit een 15 ontvangen polynoom, een matrix M te vormen onder gebruikmaking van de berekende syndromen, en een maximum getal te verkrijgen, dat voldoet aan det[M] ^ 0. In het geval van een tripelfoutcorrectie wordt het aantal fouten verkregen door det[M] ^ 0 te bepalen in een 3x3 matrix M, 20 die wordt uitgedrukt volgens S2, S,, S0 M = S3, S2, S, ... (21) S4) , S2 det [M] =S2S2S2+S1S1S4+S0S3S3+S0S2S4+S1S2S3+S1S2S3 *0 30 =S2S2S2+S1S1S4+S0S3S3+S0S2S4 *0
Vervolgens worden de coëfficiënten θ]_, 02 en 03 van een foutlokatiepolynoom verkregen onder gebruikmaking van de 35 wiskundige vergelijking 4, afgeleid uit Newton identiteiten.
Nadat de coëfficiënt verkregen is, worden de waarden van kj en k£ bepaald volgens de wiskundige vergelijkingen 22 en 23, en dan wordt de waarde van Θ verkregen volgens de wiskundige vergelijking 24.
1 007054 15 σ i2+G'2=k, ...(22) 5 o1c2 + ai=k2 ...(23) A- ^ ο_(σΐσ2+σ3) ö--7> θ--- ...(24) 10 ^l)2 (σΐ + σ2)2
Vervolgens wordt een adres, dat correspondeert met de Θ waarde, verkregen uit de bovengegeven vergelijking, aangelegd aan het geheugen, en de wortels Z]_, Z2 en Z3 van 15 de wiskundige vergelijking 12, opgeslagen in het geheugen, worden verkregen. Hier worden de wortels Z3, Z2 en Z3 geconverteerd in drie wortels X^, X^, en X^ van een foutlokatiepolynoom onder gebruikmaking van de wiskundige vergelijking 25.
20 xn= (kx) * · Ζι+σ1 xj2= (ka)* Ζ2+σ, . . . (25) x33=(k1)H · Ζ3 + σ: 25
Dan wordt een foutwaarde ej berekend uit 30 ej = ~ 3 ^- ...(26) Π (1 + a''cfj) i = 1, i *j
Hier zijn foutwaarden voor drie foutlokaties e^, β2, en 63, 35 en een foutschattingspolynoom [Ω(χ)1 is gegeven als Ω (x) =σ3+ (a3S0+a2) x+ (σ^+σ^ο+σ^ x2+ (CT3S2+a2S1+a1S0+l) x3 . . . (27) 1007054 16 intussen wordt na stap 74 bepaald In stap 76, of er foutlokaties zijn in een codewoord. Dat wil zeggen, er wordt bepaald dat aO ^ ai, aj , ak £ an-1 (n geeft de lengte van een codewoord).
5 Indien de foutlokaties zich bevinden in het codewoord, wordt de aanname van stap 72, dat er drie fouten zijn gegenereerd, bevestigd, en foutwaarden worden berekend onder gebruikmaking van een algemene methode, in het bijzonder de methode, beschreven in de Koreaanse patentpublikatie No.
10 94-10545, in stap 78. Indien evenwel de foutlokaties niet in het codewoord zijn of niet beantwoord wordt aan de condities «O Φ- ai, aj Ψ- ak, en ak f- ai, wordt in stap 80 bepaald, dat foutcorrectie onmogelijk is. Dat wil zeggen, aangezien meer dan drie fouten zijn gegenereerd, wordt bepaald, dat fouten 15 niet kunnen worden gecorrigeerd.
Na stap 40 worden de coëfficiënten van een foutlokatie-polynoom verkregen in afhankelijkheid ervan of eerste en tweede syndroomvergelijkingen A en B, berekend volgens Sg en S]_, 0 zijn of niet, worden een fouttype en de mogelijkheid 20 van foutcorrectie bepaald onder gebruikmaking van de coëfficiënten van het foutlokatiepolynoom en de syndromen SQ-S4, en vervolgens worden in stap 42 lokaties en waarden berekend.
Stap 42 zal in detail beschreven worden met verwijzing 25 naar fig. 4.
Fig. 4 is een gedetailleerd stroomschema van stap 42, getoond in fig. 2, volgens de uitvinding.
In fig. 4 wordt stap 42 uitgevoerd door de stappen 90, 91 en 92 voor het verkrijgen van de eerste en tweede 30 syndroomvergelijkingen volgens de waarden van Sg en S]_, en de stappen 94-118 voor het verschillend verkrijgen van de coëfficiënten van het foutlokatiepolynoom in afhankelijkheid ervan of de eerste en tweede syndroomvergelijkingen nullen zijn of niet, en het bepalen van een fouttype en de 35 mogelijkheid van foutcorrectie onder gebruikmaking van de coëfficiënten en de syndromen S0-S4.
Indien niet voldaan wordt aan stap 68, dat wil zeggen, indien twee van de syndromen Sg, Sj_, en S2 niet 0 zijn, wordt bepaald, of Sg 0 is en niet 0 in stap 90. Indien Sg 1007054 17 niet O is of 0 is, wordt bepaald, of Sq niet 0 is in stap 91. Indien Sg 0 is in stap 91, wordt bepaald, dat foutcorrectie onmogelijk is, terwijl, indien Sg niet 0 is, de eerste en tweede syndroomvergelijkingen A en B worden 5 berekend door A = S2 + o · Sx B = S3 + σ · S2' ... (28) 10 waarin o S^/Sg is.
Na stap 92 wordt bepaald, of elk van de berekende A en B niet 0 is in stap 94. Indien A en B niet 0 zijn (er is voldaan aan stap 94) of Sg is 0 en is niet 0 (er is 15 voldaan aan stap 90), worden de coëfficiënten σΐ1 en σ2' van een foutlokatiepolynoom en een variabele D berekend volgens al’ = (S1‘S2 + S0-S3) /Δ 20 , , 02' = (S^Sa + S22) /Δ ... (29) D = S4 + al-S3 + a2-S2 25 in stap 100.
Hierbij geldt δ = S23 + S0-S2 *0.
30
Indien daarentegen A of B 0 is, dat wil zeggen, er niet voldaan aan stap 94, wordt bepaald, of A en B beide 0 zijn in stap 96. Indien A en B beide 0 zijn, wordt bepaald, dat een fout is gegenereerd, en er worden een foutlokatie en een 35 foutwaarde bepaald respectievelijk als o(S-[/S2) en in stap 98. Indien evenwel A en B niet beide 0 zijn, hetgeen impliceert dat A of B 0 is, wordt in stap 118 bepaald, dat foutcorrectie onmogelijk is.
Onderwijl, indien Sg 0 is en S^ niet 0, of A en B beide 1 007054 18 niet O zijn, wordt bepaald, dat twee of meer fouten zijn gegenereerd, en na stap 100 wordt bepaald in stap 102, of de variabele D 0 is voor het bepalen vana een fouttype, dat wil zeggen het aantal fouten. Indien D 0 is, wordt bepaald, 5 dat er twee fouten zijn gegenereerd in stap 104. In stap 106 worden een foutlokatie en foutwaarde berekend onder gebruikmaking een algemene methode.
Indien evenwel D niet 0 is, wordt aangenomen, dat er drie fouten zijn gegenereerd in stap 108. Om dit te 10 bevestigen, worden de coëfficiënten 21, 22, en 23 van een foutlokatiepolynoom berekend onder gebruikmaking van de wiskundige vergelijking 30 in stap 110.
£l = (S3*a2'+S4*al'+Ss)/D
15 Σ2 = (SfSj+So-Sj/Δ+Σΐ-σΙ' ...(30) Σ3 = (S^+S^S,) /Δ+Σΐ·σ2'
Na stap 110 worden foutlokaties berekend uit de coëfficiënten 21, 22 en 23, berekend onder gebruikmaking van 20 een algemene methode, in het bijzonder de hiervoor genoemde methode, beschreven in de Koreaanse patentpublikatie No. 94-10545, in stap 112. In stap 114 wordt bepaald, of de berekende foutlokaties zich in een codewoord bevinden.
Indien dat niet het geval is, wordt in stap 118 bepaald, dat 25 foutcorrectie onmogelijk is. Indien zij daarentegen wel in een codewoord zijn, wordt bepaald, dat drie fouten zijn gegenereerd, en de waarden daarvan worden berekend in stap 116.
De struktuur en operatie van een foutcorrectie-30 inrichting volgens de onderhavige uitvinding voor het uitvoeren van de bovenbeschreven foutcorrectiemethode zal nu worden beschreven met verwijzing naar fig. 5.
Fig. 5 is een blokschema van de foutcorrectie-inrichting van de onderhavige uitvinding.
35 In fig. 5 heeft de foutcorrectie-inrichting een ontvangen codewoordopslaggedeelte 140, een syndroom-generatiegedeelte 142, een intern operatiegeheugen 144, een operatiegedeelte 146, een operatiebesturingsgedeelte 148, een bepalingsbesturingsgedeelte 150, en een foutcorrectie- 1007054 19 gedeelte 160. Het foutcorrectiegedeelte 160 omvat een foutlokatieberekenings-ROM tabel 154 voor dubbelfout-correctie, een foutlokatieberekenings-ROM tabel 156 voor tripelfoutcorrectie, een gecorrigeerd codewoordgeheugen 158, 5 en een teller 152.
Het ontvangen-codewoordopslaggedeelte 140 van fig. 5 slaat op en vergrendeld een ééncodewoorddata ontvangen van een opslagmedium {niet getoond) of andere foutcorrectie-inrichtingen (niet getoond) via een ingangsklem IN. Het 10 syndroomgeneratiegedeelte 142 ontvangt de data, gegrendeld in het ontvangen codewoordopslaggedeelte 140 en voert gegenereerde syndromen S0-S5 uit naar het interne operatie-geheugen 144.
Het interne operatiegeheugen 144 slaat de syndromen-15 uitvoer van het syndroomgeneratiegedeelte 142 en interim-geopereerde waarden, gegenereerd gedurende operaties in het operatiegedeelte 146, tijdelijk op.
Het operatiebesturingsgedeelte 148 ontvangt de syndromen, opgeslagen in het interne operatiegeheugen 144, 20 en genereert een eerste stuursignaal, wanneer S]_ en S2 beide 0 zijn en Sq niet 0 is, een tweede stuursignaal, wanneer Sq en S2 beide 0 zijn en niet 0, een derde stuursignaal, wanneer Sq en S]_ beide 0 zijn en S2 niet 0, een vierde stuursignaal, wanneer twee van de syndromen Sq, S]_, en S2 25 niet 0 zijn en Sq niet 0 is, of is 0, een vijfde stuursignaal, wanneer A en B beide niet 0 zijn, een zesde stuursignaal, wanneer D 0 is, en een zevende stuursignaal, wanneer D niet 0 is, en voert de stuursignalen uit naar het operatiegedeelte 146.
30 Het operatiegedeelte 146 berekent oy, 02, en 03 in reactie op het eerste stuursignaal, gegenereerd in het operatiebesturingsgedeelte 148 volgens de wiskundige vergelijking 8, oy, 02, en 03 in reactie op het tweede stuursignaal volgens de wiskundige vergelijking 9, ay, 02, 35 en a3 in reactie op het derde stuursignaal volgens de wiskundige vergelijking 10, A en B in reactie op het vierde stuursignaal volgens de wiskundige vergelijking 28, ,, σ2,, en D in reactie op het vijfde stuursignaal volgens de wiskundige vergelijking 29, met behulp van de syndromen, 1007054 20 ontvangen van het interne operatiegeheugen 144. In toevoeging berekent het operatiegedeelte 146 een foutlokatie en een foutwaarde uit ol' en σ2' in reactie op het zesde stuursignaal, coëfficiënten 21, Σ2 en Σ3 van een 5 foutlokatiepolynoom volgens de wiskundige vergelijking 30 in reactie op het zevende stuursignaal, en een foutlokatie en foutwaarde uit de coëfficiënten 21, 22 en 23. De uiteindelijke geopereerde waarden, berekend in het operatiegedeelte 146, worden tijdelijk opgeslagen in het 10 interne operatiegeheugen 144.
De exemplaire operaties van het operatiebesturings-gedeelte 148 en het operatiegedeelte 146 worden nu beschreven. Het operatiebesturingsgedeelte 148 voert het eerste stuursignaal uit naar het operatiegedeelte 146, 15 indien de syndromen S3 en S2, ontvangen van het operatiegedeelte 146, nullen zijn, en Sq geen 0 is. Het operatiegedeelte 146 berekent σ^, 02, en 03 volgens de wiskundige vergelijking 8 door iteratief opereren in reactie op het eerste stuursignaal. Hier heeft het operatiegedeelte 20 146 een numerieke logische operator (niet getoond) en een foutcorrectiecode (ECC) besturingsorgaan. Het ECC besturingsorgaan voert delingen uit onder gebruikmaking van inverse ketens en berekent coëfficiënten door iteratief uitvoeren van de resultaten naar de numerieke logische 25 operator.
Het bepalingsbesturingsgedeelte van fig. 5 bepaalt, dat er geen fout is, indien de syndromen S0-S5 alle 0 zijn, bestuurt het ontvangen codewoordopslaggedeelte 140, en voert data uit naar de teller 152. Indien daarentegen de syndromen 30 Sq, S^, en 83 alle 0 zijn en s3, S4 en S5 niet 0, bepaalt het bepalingsbesturingsgedeelte 150, dat foutcorrectie onmogelijk is, en voert via een uitvoerklem UIT2 een bericht uit, dat aangeeft, dat foutcorrectie onmogelijk is.
Het bepalingsbesturingsgedeelte 150 bepaalt, of de 35 foutlokaties, verkregen uit 02, en σ3 in het operatiegedeelte 146 zich alle in een codewoord bevinden, en bepaalt, dat er drie fouten zijn gegenereerd, indien dat het geval is. Aan de andere kant voert het, indien dat niet het geval is, een corresponderend signaal en bericht uit naar 1007054 21 het foutcorrectiegedeelte 160 en een uitvoerklem UIT2 na bepalen, dat foutcorrectie ónmogelijk is.
Intussen, indien het syndroom Sq niet 0 is of 0 is, leest het bepalingsbesturingsgedeelte 150 A en B, 5 opgeslagen in het interne operatiegeheugen 144, uit en bestuurt het foutcorrectiegedeelte 160 voor het uitvoeren van een corresponderende foutcorrectie na bepalen, dat een fout is gegenereerd, indien A en B beide 0 zijn. Indien evenwel A en B niet beide 0 is, bepaalt het bepalings-10 besturingsgedeelte 150, of D 0 is. Het bepalingsbesturingsgedeelte 150 voert corresponderende stuursignalen uit naar het foutcorrectiegedeelte 160 na bepalen, dat er twee fouten zijn gegenereerd, indien D 0 is, en dat drie fouten zijn gegenereerd, indien D niet 0 is.
15 De foutlokatieberekenende ROM tabel 154 voor dubbel-foutcorrectie in het foutcorrectiegedeelte 160 ontvangt het verschil tussen exponenten voor twee foutlokaties en voert een patroon uit, dat correspondeert met het ontvangen verschil tussen de exponenten. Op overeenkomstige wijze 20 ontvangen de foutlokatieberekenings-ROM tabel 156 voor tripelfoutcorrectie de verschillen tussen exponenten voor drie foutlokaties en voert een patroon uit dat correspondeert met de ontvangen verschillen tussen exponenten. De teller 152 telt de patroonuitvoer van de 25 foutlokatieberekenings-ROM tabel voor dubbel- of tripel-foutcorrectie 154 of 156 op bij datauitvoer van het ontvangen codewoordopslaggedeelte 140 en voert de opgetelde data uit naar het gecorrigeerde codewoordgeheugen 158 als fout-gecorrigeerde data. Het gecorrigeerde codewoordgeheugen 30 158 voert de opgeslagen fout-gecorrigeerde data via de uitvoerklem UIT1 uit onder de besturing van het bepalingsbesturingsgedeelte 150.
Zoals boven beschreven, reduceren de foutcorrectie-methode en inrichting van de uitvinding opmerkelijk de 35 operatietijd in vergelijking met een gebruikelijke coëfficiêntberekeningsmethode, aangezien de coëfficiënten van een foutlokatiepolynoom worden verkregen door het analyseren van syndroomwaarden. Zij verhogen tevens de foutcorrectiesnelheid, en corrigeren zodoende snel en 1007054 22 duurzaam fouten, aangezien het aantal fouten tevoren wordt bepaald en er bepaald wordt, of foutcorrectie onmogelijk is in vergelijking met fout-aantal-beslissingsvergelijkingen, beschreven in de Koreaanse patentpublikaties Nos.
5 94-4980, 94-10545, en 95-34202.
10 15 - conclusies - 20 25 30 35 < % 1 007054
Claims (5)
1 S3 10 s5 + o, s4 σ, = - 2 s3 3 s 15 in reactie op een eerste stuursignaal, berekenen van genoemde coëfficiënten σ^, o2 en 03 van genoemde foutlokatiepolynoom volgens 20 S5 + σ2 S3 σ. = -3-L_1 S4 53 σ = -2
25 S, 54 σ3 = + σ2 σ. 30 in reactie op een tweede stuursignaal, berekenen van genoemde coëfficiënten o^, o2, en 03 van genoemde foutlokatiepolynoom volgens S3 35 σ. = -i 1007054 „ S4 + öl S3 2 s
1. Foutcorrectiemethode voor het corrigeren van tripel of minder fouten/zes of minder uitwissingen, g e k e n- 5merkt door de volgende stappen: (a) berekenen van syndromen SQ-S5 uit een ontvangen codewoord: (b) bepalen, of genoemde berekende syndromen S0-S5 alle 0 zijn; 10 (c) bepalen of er geen fout is, indien genoemde berekende syndromen SQ-S5 alle 0 zijn; (d) bepalen of Sq, S]_, en S2 0 en ten minste één van S3, S4 en S5 niet 0 is, indien S0-S5 niet 0 zijn; (e) bepalen, dat foutcorrectie onmogelijk is, indien Sq»
15 S]_, en S2 0 zijn en ten minste één van genoemde berekende syndromen S3, S4, en S5 niet 0 is; (f) verschillend berekenen van coëfficiënten o^, 02/ en 03 van een foutlokatiepolynoom, in afhankelijkheid ervan of twee van de syndromen Sq, S^, en S2 0 zijn en de ander niet 20. is, indien alle van de genoemde syndromen Sq, S4, en S2 niet 0 zijn of genoemde berekende syndromen S3, S4, en S5 alle 0 zijn, het bepalen van een fouttype en de mogelijkheid van foutcorrectie in afhankelijkheid ervan of foutlokaties, berekend uit genoemde berekende coëfficiënten, in een 25 codewoord zijn, en berekenen van foutwaarden; en (g) bepalen van een fouttype en de mogelijkheid van foutcorrectie onder gebruikmaking van genoemde syndromen S0-S4 en genoemde coëfficiënten van genoemde foutlokatiepolynoom, berekend in afhankelijkheid ervan of eerste en 30 tweede syndroomvergelijkingen, verkregen onder gebruikmaking van syndromen S0-S3, die zijn berekend volgens de waarde van Sq en S]_, 0 zijn, indien twee van de syndromen Sq-S2 niet 0 zijn in genoemde stap (f), en het bepalen van foutlokaties en waarden. 35
2. Foutcorrectiemethode volgens conclusie 1, m e t het kenmerk, dat genoemde stap (f) omvat de volgende stappen: (fl) bepalen, of S^ en S2 beide 0 zijn en Sq niet 0 is, 1007054 indien Sq, S3 en S2 niet O zijn of indien S3, S4 en S5 0 zijn; (f2) berekenen van genoemde coëfficiënten 03, θ2· en σ3 van genoemde foutlokatiepolynoom onder gebruikmaking van de 5 volgende vergelijking, indien S3 en S2 beide 0 zijn en Sq niet 0 is: 54 σ, = — S 10 3 55 + °1 S4 σ, = —-i S3 S3 15 σ3 = ^ 20 (f3) bepalen, of Sq en S2 beide 0 zijn en S3 niet 0 is, indien S3 en S2 beide niet 0 zijn of Sq 0 is; (f4) berekenen van genoemde coëfficiënten 03, 02, en 03 uit genoemde foutlokatiepolynoom onder gebruikmaking van de volgende vergelijking, indien Sq en S2 beide 0 zijn en S3 25 niet 0 is: S5 +<72S o. = —--—- S4 _ S3 30 °2 s, °3 = ^ + ®2°1 35 (f5) bepalen, of Sq en S3 beide 0 zijn en S2 niet 0 is indien Sq en S2 beide niet 0 zijn of S3 0 is; (f6) berekenen van genoemde coëfficiënten 03, 02, en 03 van genoemde foutlokatiepolynoom onder gebruikmaking van de volgende vergelijking, indien Sq en S3 beide 0 zijn en S2 1 00 70 54 niet O is: „ S3
5 S2 _ S4+a,S3 2. s2 S, + σ. S, + o, S, 10 σ3 = —-—-1-1 s2 (f7) aannemen, dat ten minste drie fouten zijn 15 gegenereerd na genoemde stappen (f2), (f4) en (f6); (f8) berekenen van genoemde foutlokaties onder gebruikmaken van ογ, θ2> en 03, berekend in genoemde stappen (f2), (f4), en (f6); (f9) bepalen of genoemde foutlokaties in een codewoord 20 zijn; (f10) bepalen, dat drie fouten zijn gegenereerd, indien genoemde foutlokaties in genoemde codewoord zijn; (f11) bepalen, dat foutcorrectie onmogelijk is, indien genoemde foutlokaties niet in genoemd codewoord zijn; en 25 (f12) uitvoeren van genoemde stap (g), indien twee van de syndromen Sq/ en S2 niet 0 zijn.
3. Foutcorrectiemethode volgens conclusie 2, m e t het kenmerk, dat deze verder de stap omvat van het 30 berekenen van genoemde foutwaarde na genoemde stap (f10).
4. Foutcorrectiemethode volgens conclusie 1, m e t het kenmerk, dat genoemde stap (g) omvat de volgende stappen: 35 (gl) bepalen, of Sq 0 is en niet 0, indien twee van de syndromen Sq» S^, en S2 niet 0 zijn; (g2) bepalen, of Sq niet 0 is, indien Sq niet 0 is of 0 is; (g3) berekenen van genoemde eerste en tweede syndroom- 1 007054 vergelijking in A en B onder gebruikmaking van de volgende vergelijkingen, indien Sg niet 0 is: A = S2 + σ-Sj 5 B = S3 + ff-S2 waarin σ S^/Sq is: (g4) bepalen, of A en B beide niet 0 zijn; 10 (g5) berekenen van coëfficiënten ol' en σ2' uit genoemde foutlokatiepolynoom en D onder gebruikmaking van de volgende vergelijking, indien A en B beide niet 0 zijn, of Sg 0 is en Si niet 0: 01' = (si'S2 + S0-Sj)/Δ σ2' = (SySj + S2Z) /Δ D = S„ + al*S3 + a2’S2 20 waarin, Δ=S2i + Sg.S2 ¥ 0 (g6) bepalen, of A en B beide 0 zijn, indien ten minste één van A en B 0 is,; (g7) bepalen, dat een fout is gegenereerd en bepalen van een foutlokatie en een foutwaarde respectievelijk als σ en 25 Sg, indien A en B beide 0 zijn; (g8) bepalen, dat foutcorrectie onmogelijk is, indien één van A en B 0 is; (g9) bepalen, of D, verkregen in genoemde stap (g3) 0 is; 30 (glO) bepalen, dat twee fouten zijn gegenereerd, indien D 0 is; (gil) bepalen, dat drie fouten zijn gegenereerd, indien D niet 0 is; (gl2) berekenen van coëfficiënten ΣΙ, Σ2, en Σ3 van 35 genoemde foutlokatiepolynoom onder gebruikmaking van de volgende vergelijking: 1007054 Σΐ = (S,-ff2' +S4*al' +Ss) /D 5 J2 = (Sj-Sj+S,,^) /Δ+Σΐ·σ1' Σ3 = (Si^+Sj-Sj) /Δ+Σΐ·σ2' (gl3) berekenen van genoemde foutlokaties uit ΣΙ, Σ2, en 10 Σ3; (gl4) bepalen, of genoemde foutlokaties, verkregen in stap (gl3), in genoemd codewoord zijn; (gl5) bepalen, dat drie fouten zijn gegenereerd, indien genoemde foutlokaties in genoemd codewoord zijn; en 15 (gl6) uitvoeren van genoemde stap (g8), indien genoemde foutlokaties niet in genoemd codewoord zijn.
5. Foutcorrectiemethode volgens conclusie 2, m e t het k e n m e r k, dat genoemde stap (g) omvat de volgende 20 stappen: (gl) bepalen, of Sq 0 is en Sj niet 0, indien twee van de syndromen Sq, S^, en S2 niet 0 zijn; (g2) bepalen, of Sq niet 0 is, indien Sq niet 0 of Si 0 is; 25 (g3) berekenen van genoemde eerste en tweede syndroomvergelijkingen A en B onder gebruikmaking van de volgende vergelijkingen, indien Sq niet 0 is: A = S2 + ff-Sj
30 B = S3 + 0'S2 waarin σ S^/Sq is; (g4) bepalen, of A en B beide niet 0 zijn; (g5) berekenen van coëfficiënten ol' en o2' van genoemde 35 foutlokatiepolynoom en D onder gebruikmaking van de volgende vergelijking, indien A en B beide niet 0 zijn, of Sq is 0 en Si is niet 0: 1007054 al' = (Sx-S2 + S0-S3)/A o2' * (Si-Sj + S22)/A 5 D = S4 + (Jl'Sj + <j2'S2 waarbij Δ = s2^ + Sq.S2 t O (g6) bepalen, of A en B beide 0 zijn, indien ten minste één van A en B 0 is; 10 (g7) bepalen, dat een fout is gegenereerd en bepalen van een foutlokatie en een foutwaarde respectievelijk als σ en Sq, indien A en B beide 0 zijn; (g8) bepalen, dat foutcorrectie onmogelijk is, indien één van A en B 0 is; 15 (g9) bepalen, of D, verkregen in genoemde stap (g3) 0 is; (glO) bepalen, dat twee fouten zijn gegenereerd, indien D 0 is; (gil) bepalen, dat drie fouten zijn gegenereerd, indien 20. niet 0 is; (gl2) berekenen van coëfficiënten SI, S2, en S3 van genoemde foutlokatiepolynoom onder gebruikmaking van de volgende vergelijking: .25 Σ1 = (S3-a2'+S4-al'+Ss)/D Σ2 = (SySj+So-S,) /A+Zl-ol’ Σ3 = (Si^+Sj-Sj) /Δ+Σΐ·σ2' 30 (gl3) berekenen van genoemde foutlokaties uit Si, E2, en Σ3; (gl4) bepalen, of genoemde foutlokaties, verkregen in stap (gl3) in genoemd codewoord zijn; (gl5) bepalen, dat drie fouten zijn gegenereerd, indien 35 genoemde foutlokaties in genoemd codewoord zijn; en (gl6) uitvoeren van genoemde stap (g8), indien genoemde foutlokaties niet in genoemd codewoord zijn. 1007054
6. Foutcorrectiemethode volgens conclusie 3, m e t het k e n m e r k, dat genoemde stap (g) omvat de volgende stappen: (gl) bepalen, of Sq 0 is en Si niet 0, indien twee van 5 de syndromen Sq, Si en S2 niet 0 zijn; (g2) bepalen, of Sq niet 0 is, indien Sq niet 0 is, of Si 0 is; (g3) bereken van genoemde eerste en tweede syndroom-vergelijkingen A en B onder gebruikmaking van de volgende 10 vergelijkingen, indien Sq niet 0 is: A = S2 + o' Si B = S3 + O' S2 15 waarin σ Si/Sq is; (g4) bepalen, of A en B beide niet 0 zijn; (g5) berekenen van coëfficiënten ol' en o2' van genoemde foutlokatiepolynoom en D onder gebruikmaking van de volgende vergelijking, indien A en B beide niet 0 zijn, of Sq 0 is en 20 Si niet 0: al' = (SyS2 + S0-S3)/A 02' = (SySj + S22)/A 25 D = S4 + al-S3 + a2-S2 waarbij Δ = S2i + S0.S2 Φ 0 (g6) bepalen, of A en B beide 0 zijn, indien ten minste 30 één van A en B 0 is; (g7) bepalen, dat een fout is gegenereerd en bepalen van een foutlokatie en een foutwaarde respectievelijk als σ en Sq, indien A en B beide 0 zijn; (g8) bepalen, dat foutcorrectie onmogelijk is, indien 35 één van A en B 0 is; (g9) bepalen, of D, verkregen in genoemde stap (g3) 0 is; (glO) bepalen, dat twee fouten zijn gegenereerd, indien D 0 is; 1 0070 54 (gil) bepalen, dat drie fouten zijn gegenereerd, indien D niet 0 is; (gl2) berekenen van coëfficiënten ΣΙ, Σ2, en Σ3 van genoemd foutlokatiepolynoom onder gebruikmaking van de 5 volgende vergelijking: £l = (S3-a2'+S4-al'+S5)/D Σ2 = (Sx-Sj+S0-S4)/A+£1-<71' 10 £3 = (Sx-S4+Sj-S3) /Δ+£ΐ·σ2' (gl3) berekenen van genoemde foutlokaties uit ΣΙ, Σ2, en 23; 15 (gl4) bepalen, of genoemde foutlokaties, verkregen in stap (gl3) in genoemd codewoord zijn; (gl5) bepalen, dat drie fouten zijn gegenereerd, indien genoemde foutlokaties in genoemd codewoord zijn; en (gl6) uitvoeren van genoemde stap (g8), indien genoemde 20 foutlokaties niet in genoemd codewoord zijn.
7. Foutcorrectiemethode volgens conclusie 4, m e t het kenmerk, dat deze verder omvat de stap van het berekenen van genoemde foutlokaties en waarden uit ol1 en 25 o21 na genoemde stap (glO).
8. Foutcorrectiemethode volgens conclusie 4, m e t het kenmerk, dat deze verder omvat de stap van het verkrijgen van genoemde foutwaarden na genoemde stap (gl5).
9. Foutcorrectiemethode volgens conclusie 4, m e t het kenmerk, dat deze verder omvat de stap van het bepalen, dat foutcorrectie onmogelijk is, indien Sq 0 is in genoemde stap (g2). 35
10. Foutcorrectie-inrichting voor het corrigeren van drie of minder fouten/zes of minder uitwissingen, g e k e n -merkt door: middelen voor het opslaan van een ontvangen codewoord; 1007054 middelen voor het ontvangen van genoemde ontvangen-codewoordopslagmiddelen en genereren van syndromen S0-S5; operatiemiddelen voor het berekenen van coëfficiënten 02, en 03 van een foutlokatiepolynoom volgens 5 _ s4 o. = —
5 S5 + σ. S4 + σ, S, σ, = —-—-— 3 s2 in reactie op een derde stuursignaal, berekenen van eerste en tweede syndroomvergelijkingen A 10 en B volgens A = S2 + σ · St B = S3 + σ · S2 15 (waarin σ S^/Sq is) in reactie op een vierde stuursignaal, berekenen van coëfficiënt ol' en σ2' van genoemde foutlokatiepolynoom, en D volgens 20 σ1' = (Sj-S, + S0-S3)/a 02' = (S]/S3 + S22)/a D = S4 + ct1-S3 + a2-S2 25 waarin Δ = S2i + Sq.S2 f 0) in reactie op een vijfde stuursignaal, berekenen van foutlokaties en waarden uit ol’ en o2' in reactie op een zesde stuursignaal, berekenen van coëfficiënten ΣΙ, Σ2, en Σ3 van een 30 foutlokatiepolynoom volgens Σ1 = (S3-aSa+S4-al'+s5)/D Σ2 = (Sj-Sj+So-S^/a+Il-al' 35 Σ3 = (S3-S4+S2-S3) /Δ+χΐ·σ2' 1 00 70 5 4 in reactie op een zevende stuursignaal, en berekenen van foutlokaties en waarden uit ΣΙ, Σ2 en Σ3; operatiebesturingsmiddelen voor het genereren van het eerste stuursignaal, indien S^ en S2 beide 0 zijn en Sq niet 5 0 is, het tweede stuursignaal, indien Sq en S2 beide 0 zijn en Si niet 0, het derde stuursignaal, indien Sq en beide 0 zijn en S2 niet 0, het vierde stuursignaal, indien twee van de syndromen Sq, S^, en S2 niet 0 zijn, en indien Sq niet 0 is of S^ 0 is, het vijfde stuursignaal, indien A en B 10 beide niet 0 zijn, het zesde stuursignaal, indien D 0 is, en een zevende stuursignaal, indien D niet 0 is; besturingsmiddelen voor het bepalen, dat er geen fout is gegenereerd, indien alle syndromen S0-S5 0 zijn, dat foutcorrectie onmogelijk is, indien alle syndromen Sq» Sj, 15 en S2 0 zijn en alle syndromen S3, S4 en S5 niet 0 zijn, dat drie fouten worden gegenereerd, indien genoemde foutlokaties, verkregen uit o^, 02, en 03 in een codewoord zijn, dat foutcorrectie onmogelijk is, indien zij niet in genoemd codewoord zijn, dat een fout is gegenereerd, indien 20 A en B beide 0 zijn, dat twee fouten zijn gegenereerd, indien D 0 is, en dat drie fouten zijn gegenereerd, indien D niet 0 is; en middelen voor het uitvoeren van enkelfoutcorrectie, dubbelfoutcorrectie, of tripelfoutcorrectie volgens het 25 bepalingsresultaat van genoemde bepalingsbesturingsmiddelen. 30 35 1 007054
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR19960046840 | 1996-10-18 | ||
KR1019960046840A KR100213254B1 (ko) | 1996-10-18 | 1996-10-18 | 에러 정정 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
NL1007054A1 NL1007054A1 (nl) | 1998-04-21 |
NL1007054C2 true NL1007054C2 (nl) | 2000-05-31 |
Family
ID=19478042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
NL1007054A NL1007054C2 (nl) | 1996-10-18 | 1997-09-17 | Foutcorrectiemethode en -inrichting. |
Country Status (5)
Country | Link |
---|---|
US (1) | US5974583A (nl) |
JP (1) | JP4022293B2 (nl) |
KR (1) | KR100213254B1 (nl) |
NL (1) | NL1007054C2 (nl) |
TW (1) | TW341674B (nl) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1131893B1 (en) * | 1998-11-09 | 2004-08-04 | Broadcom Corporation | Forward error corrector |
JP3272317B2 (ja) * | 1999-01-21 | 2002-04-08 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 誤り検出装置およびその方法 |
US7036138B1 (en) | 2000-11-08 | 2006-04-25 | Digeo, Inc. | Method and apparatus for scheduling broadcast information |
US6732325B1 (en) | 2000-11-08 | 2004-05-04 | Digeo, Inc. | Error-correction with limited working storage |
US7751138B1 (en) | 2001-12-28 | 2010-07-06 | Marvell International Ltd. | Correcting errors in disk drive read back signals by iterating with the Reed-Solomon decoder |
US6961197B1 (en) | 2001-12-28 | 2005-11-01 | Marvell International Ltd. | Correcting errors in disk drive read back signals by iterating with the Reed-Solomon decoder |
US6954892B2 (en) * | 2002-06-06 | 2005-10-11 | National Chiao Tung University | Method for calculating syndrome polynomial in decoding error correction codes |
US20050177083A1 (en) * | 2004-02-09 | 2005-08-11 | Heil Arlan D. | Foot eversion inhibitor |
CN1681033A (zh) * | 2004-04-06 | 2005-10-12 | 皇家飞利浦电子股份有限公司 | 光盘播放系统的纠错机制 |
US7607071B2 (en) * | 2005-01-28 | 2009-10-20 | Intel Corporation | Error correction using iterating generation of data syndrome |
KR100833600B1 (ko) * | 2006-08-25 | 2008-05-30 | 삼성전자주식회사 | 에러 정정 회로, 그 방법 및 상기 회로를 구비하는 반도체메모리 장치 |
JP4891704B2 (ja) * | 2006-08-28 | 2012-03-07 | 株式会社東芝 | 半導体記憶装置 |
JP5259343B2 (ja) * | 2008-10-31 | 2013-08-07 | 株式会社東芝 | メモリ装置 |
US8539307B1 (en) * | 2012-01-11 | 2013-09-17 | The United States Of America As Represented By The Director, National Security Agency | Device for and method of linear interpolative coding |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4142174A (en) * | 1977-08-15 | 1979-02-27 | International Business Machines Corporation | High speed decoding of Reed-Solomon codes |
-
1996
- 1996-10-18 KR KR1019960046840A patent/KR100213254B1/ko not_active IP Right Cessation
-
1997
- 1997-09-17 NL NL1007054A patent/NL1007054C2/nl active Search and Examination
- 1997-09-19 TW TW086113605A patent/TW341674B/zh not_active IP Right Cessation
- 1997-10-17 JP JP28585397A patent/JP4022293B2/ja not_active Expired - Fee Related
- 1997-10-17 US US08/953,352 patent/US5974583A/en not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4142174A (en) * | 1977-08-15 | 1979-02-27 | International Business Machines Corporation | High speed decoding of Reed-Solomon codes |
Non-Patent Citations (1)
Title |
---|
E. BERLEKAMP: "Algebraic Coding Theory", 1968, MCGRAW-HILL, XP002132710 * |
Also Published As
Publication number | Publication date |
---|---|
NL1007054A1 (nl) | 1998-04-21 |
KR100213254B1 (ko) | 1999-08-02 |
US5974583A (en) | 1999-10-26 |
TW341674B (en) | 1998-10-01 |
JPH10145239A (ja) | 1998-05-29 |
KR19980027920A (ko) | 1998-07-15 |
JP4022293B2 (ja) | 2007-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
NL1007054C2 (nl) | Foutcorrectiemethode en -inrichting. | |
US6003151A (en) | Error correction and detection system for mass storage controller | |
US5974580A (en) | Concurrent row/column syndrome generator for a product code | |
US5920578A (en) | Method and apparatus for efficiently processing a multi-dimensional code | |
KR100573356B1 (ko) | 코드워드데이터를저장하기위한데이터버퍼와에러신드롬을저장하기위한신드롬버퍼를사용하는ecc시스템 | |
US5680340A (en) | Low order first bit serial finite field multiplier | |
JP3966993B2 (ja) | 積符号の誤り訂正および並行検査 | |
JP3863252B2 (ja) | 誤り訂正方法、誤り訂正装置、データ読み出し装置、及び、データマッピング方法 | |
JPH02211723A (ja) | セクタ内の訂正不可能な誤りの発生の信号を送るための装置および方法 | |
AU603641B2 (en) | Error correction method using reed-solomon code | |
CN100380507C (zh) | 可抑制电路规模能进行高速纠错的纠错装置和解码装置 | |
US5983389A (en) | Error correction decoding apparatus | |
KR100305973B1 (ko) | 데이터의에러정정방법및에러정정장치 | |
US4800515A (en) | Circuit for operating finite fields | |
JP3260421B2 (ja) | Cd−rom再生装置 | |
JPH11328880A (ja) | 誤り訂正装置及び光ディスク読取装置 | |
JP2008146828A (ja) | 光ディスク装置のエンコードデータ符号回路 | |
KR20000023004A (ko) | 디스크 재생 장치에 적용되는 에러 검출 회로 | |
JPH05315974A (ja) | リードソロモン符号の復号装置 | |
KR100209676B1 (ko) | 에러정정 장치 및 방법 | |
JP3304770B2 (ja) | ユークリッド互除方法および装置 | |
JPH0834439B2 (ja) | ガロア体演算装置 | |
KR19980059974A (ko) | 이종 광 디스크 에러정정 회로 | |
JP3295537B2 (ja) | 多数バイトのエラー検出訂正装置 | |
GB2324445A (en) | Optical disc error detection/correction during readout |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AD1A | A request for search or an international type search has been filed | ||
RD2A | Patents in respect of which a decision has been taken or a report has been made (for advice) | ||
RD2N | Patents in respect of which a decision has been taken or a report has been made (novelty report) | ||
PD2B | A search report has been drawn up |