CS218390B1 - Způsob samočinné opravy jednonásobných a dvojnásobných chyb v dvojkových lineárních kódech a zapojení k jeho provádění - Google Patents

Způsob samočinné opravy jednonásobných a dvojnásobných chyb v dvojkových lineárních kódech a zapojení k jeho provádění Download PDF

Info

Publication number
CS218390B1
CS218390B1 CS268981A CS268981A CS218390B1 CS 218390 B1 CS218390 B1 CS 218390B1 CS 268981 A CS268981 A CS 268981A CS 268981 A CS268981 A CS 268981A CS 218390 B1 CS218390 B1 CS 218390B1
Authority
CS
Czechoslovakia
Prior art keywords
block
input
output
correction
vectors
Prior art date
Application number
CS268981A
Other languages
English (en)
Inventor
Petr Golan
Original Assignee
Petr Golan
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 Petr Golan filed Critical Petr Golan
Priority to CS268981A priority Critical patent/CS218390B1/cs
Publication of CS218390B1 publication Critical patent/CS218390B1/cs

Links

Landscapes

  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Description

Vynález se týká způsobu samočinné opravy jednonásobných a dvojnásobných chyb v dvojkových lineárních kódech (n, kj, kde n je délka kódového slova, k je počet informačních bitů, s minimální kódovou vzdáleností d s5, který je zadán kontrolní maticí (Hj typu [(n-k)xn], a zapojení k jeho provádění.
Dosud známé způsoby samočinné opravy jednonásobných a dvojnásobných chyb v dvojkových lineárních kódech se liší způsobem lokalizace chyb a lze je rozdělit do tří tříd. První třída zahrnuje všechny způsoby založené na algebraickém výpočtu lokátorů chyb. Výpočet musí probíhat postupně, vyžaduje značný počet operací, a proto se tento způsob hodí jen pro sériové zpracování informace. Výhodou tohoto způsobu je obecnost. Lze jej použít i pro opravu tří a více chyb u kódů s odpovídající kódovou vzdáleností. Druhá třída zahrnuje všechny způsoby založené na majoritním dekódování kódů. Tyto způsoby jsou omezeny jen na třídu majoritně dekódovatelných lineárních kódů, které mají nevýhodu v tom, že jejich redundance je vyšší než u jiných lineárních kódů se stejným počtem informačních bitů k a stejnou minimální kódovou vzdáleností d. Majoritní dekódová2 ní je rychlé a lze je použít pro sériové i paralelní zpracování informace.
Při sériovém zpracování informace je však tento· způsoib vhodným jen pro užší třídu lineárních kódů, a to pro cyklické, majoritně dekódovatelné kódy. Třetí způsob je založen na přímém zjištění polohy chybných bitů podle syndromu. Pro lokalizací jednonásobných a dvojnásobných chyb se používá tabulky uložené v permanentní paměti. Tento způsob je vhodný pro paralelní zpracování informace. Potřebná kapacita permanentní paměti však roste exponenciálně s počtem zabezpečovacích bitů, a proto je tento způsob v praxi použitelný jen pro kódy s malou délkou. Pro lineární kódy, které jsou cyklické, lze při sériovém zpracování informace použít též kombinačního obvodu na přímé rozpoznávání syndromů opravitelných chyb, které mají chybu v nejvyšším bitu. Ostatní chyby se zjišťují po cyklických posunech syndromu. I přes toto zjednodušení se způsob hodí jen pro krátké kódy.
Výše uvedené nedostatky odstraňuje způsob samočinné opravy podle vynálezu, jehož podstata spočívá v tom, že generátor syndromů vygeneruje pomocí logických obvodů ·—>
z přijatého vektoru u, nesoucího informaci, ——>
syndromy S‘ a S“ a jsou-li tyto syndromy nulové, je oprava informace blokována, a je-li alespoň jeden ze syndromů různý od nulového vektoru, tak se v prvním rozkladovém bloku syndrom S‘ přičte modulo 2 pomocí logického propojení vodičů ke každému sloupcovému vektoru h‘i matice (H)‘, ·->
i = 1, 2,, n, čímž vzniknou vektory yjt i = 1, 2,..., n, v druhém rozkladovém bio·♦ ku se syndrom S“ pomocí logického propojení vodičů přičte modulo 2 ke každému sloupcovému vektoru hj“ matice (H)“, i = = 1, 2,..., n, čímž vzniknou vektory ζβ i = 1, 2,..., n, dále se pomocí logických obvodů transformačního bloku vektory yf transformují na vektory f (yj tak, že platí-li yj # hj‘ pro všechna j — 1, 2,..., n a také yj 0, vygeneruje se signál pro bloko·-+ vání opravy i-tého bitu, je-li yt = h/ pro některé j = 1, 2,..., n, pak f (yj) = hj“, a je—> —» -> -4-li yj = 0, pak f(yj) = 0, a dále se logickými obvody porovnávacího bloku zjišťuje, pro která ίε < 1, n > se ffy,] rovná zh a pro ta i, kde nastala shoda, se pomocí logických obvodů korekčního bloku provede oprava invertováním i-tého bitu vektoru u, a v případě, že nedojde k opravě žádného bitu, ačkoli byl alespoň jeden ze syndromů —> ·->
S‘-nebo S“ nenulový, indikuje se neopravitelná chyba, a v případě, že dojde k opravě více než Tří bitů, Indikuje se porucha, stejně jako v případě, že došlo k opravě ales,.··'··. -+· poň 1 hltu, ačkoli syndromy S‘ a S“ byly oba nulové.
Uvedený způsob realizuje zapojení podle vynálezu, jehož podstata spočívá v tom, že vstupní datová sběrnice je připojena na vstup generátoru syndromů, na první vstup korekčního bloku a na první vstup hlídače chyb, první výstup generátoru syndromů je připojen na vstup prvního rozkladového bloku, druhý výstup generátoru syndromů je připojen na vstup druhého rozkladového bloku, třetí výstup generátoru syndromů je připojen na čtvrtý vstup porovnávacího bloku a na třetí vstup hlídače chyb, výstup prvního rozkladového bloku jp připojen na vstup transformačního bloku, první výstup transformačního bloku je připojen na první vstup porovnávacího bloku, druhý výstup transformačního bloku je připojen na druhý vstup porovnávacího bloku, výstup druhého rozkladového bloku je připojen na třetí vstup porovnávacího bloku, výstup porovnávacího bloku je připojen na druhý vstup korekčního bloku, výstup korekčního bloku je připojen na výstupní datovou sběrnici a na druhý vstup hlídače chyb a výstup hlídače chyb je připojen na výstup.
Výhodou způsobu samočinné opravy a zapojení k jeho provádění podle vynálezu je jednoduchost, rychlost a použitelnost v číslicových systémech s paralelním i sériovým přenosem a .zpracováním informace. Způsob podle vynálezu je mnohem univerzálnější než majoritní dekódování a lze jej použít pro kódy s menši redundancí, než mají majoritně dekódovatelné kódy při jinak stejných parametrech k, d. Zapojení k provádění způsobu samočinné opravy podle vynálezu lze realizovat z kombinačních obvodů malé a střední integrace, popřípadě s permanentními paměťmi.
Zapojení podle vynálezu pro sériovou opravu chyb je jednodušší a levnější než odpovídající zapojení pro sériovou opravu chyb pracující na základě algebraického výpočtu lokátorů chyb nebo s kombinačním obvodem na přímé rozpoznávání syndromů. Použijí-li se permanentní paměti při paralelní opravě chyb, je zapotřebí mnohem menší paměťové kapacity než u zapojení pracujícího na principu přímého zjištění polohy chybných bitů podle syndromu z tabulky v permanentní paměti, a proto je způsob a zapojení podle vynálezu — možno použít i pro delší kódy. Zapojení podle vynálezu k provádění paralelní opravy chyb má iterovanou strukturu, a je tedy vhodné k integraci.
Na připojeném výkrese je znázorněno principiální blokové schéma zapojení k provádění způsobu samočinné opravy podle vynálezu v paralelní verzi.
V zapojení podle výkresu je vstupní sběrnice A připojena na vstup 11 generátoru 1 syndromů, na první vstup 81 korekčního bloku 6 a na první vstup 71 hlídače 7 chyb, první výstup generátoru 1 syndromů je připojen na vstup 21 prvního rozkladového bloku 2, druhý výstup generátoru 1 syndromů je připojen na vstup 31 druhého rozkladového bloku 3, třetí výstup generátoru 1 syndromů je připojen na čtvrtý vstup 54 porovnávacího bloku 5 a na třetí vstup 73 hlídače 7 chyb, výstup prvního· rozkladového bloku 2 je připojen na vstup 41 transformačního bloku 4, první výstup transformačního bloku 4 je připojen na první vstup 51 porovnávacího bloku 5, druhý výstup transformačního bloku 4 je připojen na druhý vstup 52 porovnávacího bloku 5, výstup druhého rozkladového bloku 3 je připojen na třetí vstup 53 porovnávacího bloku 5, výstup porovnávacího bloku 5 je připojen na druhý vstup 62 korekčního bloku 6, výstup korekčního bloku 6 je připojen na výstupní datovou sběrnici B a na druhý vstup 72 hlídače 7 chyb a výstup hlídače 7 chyb je připojen na výstup CH.
Zapojení podle výkresu funguje následujícím způsobem. Na vstup 11 generátoru 1 syndromů je přiveden vektor u = [un, un_i,..., ut], nesoucí informaci zakódovanou lineárním (n, k) kódem zadaným kontrolní maticí.
(Hh
(H)'
(H)
hn h'n-4 k hn hn-1« »·;
h7 kde hi‘, hi“ jsou sloupcové vektory matic (Hj‘, (H)“, přičemž platí, že matice (H)‘ má minimální možný počet řádků takových, že í' / 0 a h? # h/ pro všechna i j, i = = 1, 2, .. ., n, j = 1, 2, . .., n.
U primitivních kódů BCH (Bose, Chaudhuri, Hocquenghem), které jsou nejběžnější, má již kontrolní matice (H) tento požadovaný tvar. U jiných kódů je třeba tento tvar matice (H) získat takovými úpravami výchozí kontrolní matice, které nemění hodnost matice. V generátoru 1 syndromů jsou vygenerovány syndromy S‘ a S“ podle vztahů
S‘ = (H)‘. (u)T Š“ = (H“. (u)T, kde (u)T je transponovaný vektor u, S‘ a S“ jsou sloupcové vektory. Sčítání v maticovém násobení je modulo 2 a provádí se pomocí nonekvivalencí. Znegováním se také vygenerují negace HS‘ a HS“.
Syndromy S‘ a %S‘se vedou na vstup 21 prvního rozkladového bloku 2, syndromy S“ a ~]S“ se vedou na vstup 31 druhého rozkladového bloku 3. V prvním rozkladovém bloku 2 se syndrom S‘ přičte modulo 2 ke všem vektorům h/ podle vztahu yi== (NS‘) . jhi‘+’(Elhj) . S‘, i = 1, 2, ..., n.
transformačního bloku 4, kde se každý vek—> ->
tor yj transformuje na vektor f(yi) například pomocí tabulky v permanentní paměti nebo pomocí kombinačního obvodu. Přiřa—> —>
zení vektorů f(ýi) vektorům y; je provedeno podle kontrolní matice (H) tak, že je-li yj = hj‘ pro jisté js < 1, n >, pak f (yj = = hj“·
To znamená, že jsou si vzájemně přiřazeny vektory h/ a h,“ tak, jak leží pod sebou v kontrolní matici (H). Navíc je definová-> —* no, že f(0) = 0. Tento případ nastává při jednonásobných chybách, kdy se syndrom S‘ rovná přímo neěkterému sloupcovému vektoru hi‘ a syndrom S“ se rovná vektoru hi“ ležícímu v kontrolní matici (H) pod vektorem hi‘. U kódů, kde matice (H}‘ neobsahuje všechny možné různé nenulové sloupce, jako je tomu například u zkrácených kódů nebo u neprimltivních kódů BCH, se —> —>
může vyskytnout případ, že y, hj, j = = 1, 2,..., n a zároveň yj # 0.
Pak je vektor f (yi) nedefinovaný, ale protože tento případ nemůže odpovídat opravitelné chybě, generuje se signál pro blokování opravy i-tého bitu, kupříkladu pomocí přídavného bitu na každé adrese permanentních pamětí transformačního bloku 4. Tento bit bude například jedničkový v případě, že se adresa nerovná žádnému ze
->
sloupcových vektorů h/, j = 1,2,..., n nebo 0, jinak bude nulový. Signály pro blokování opravy jsou vyvedeny z prvního výstupu transformačního bloku 4 na první vstup 51 porovnávacího bloku 5.
Z druhého výstupu transformačního bloku 4 jsou vedeny vektory f (yf) na druhý vstup 52 porovnávacího bloku 5. Z výstupu druhého rozkladového bloku 3 jsou vedeny vektory z; na třetí vstup 53 porovnávacího bloku 5, ve kterém se pomocí nonekV druhém rozkladovém bloku 3 se synvivalencí zjišťuje shoda vektorů f (yij a z.
drom S“ přičte modulo 2 ke všem vektorům hj“ podle vztahu zi= (~Ts“) . h“ + (W‘) -S“, i = 1, 2,..., n.
Protože hj‘ a hi“ jsou konstantní, stačí k realizaci uvedených nonekvivalencí jen drátové propojení a není zapotřebí žádných logických členů. Z výstupu rozkladového bio·—>
ku 2 jsou vektory ýj vedeny na vstup 41 pro i = 1, 2,..., n. Shoda při y, # 0 znamená, že byla nalezena dvojice sloupců kontrolní matice (Hj jejichž součet modulo 2 dává syndrom, což odpovídá opravitelné dvojnásobné chybě.
Shoda při y, = 0 znamená, že byl nalezen sloupec kontrolní matice (H) rovnající se syndromu, a tím je lokalizována poloha jednonásobné chyby. Porovnávací blok 5 generuje při shodě f (y,) = z, logickou jedničku na svém i-tém výstupu.
V případě, že nenastala shoda, generuje se na i-tém výstupu porovnávacího bloku 5 logická nula. Logická nula se na i-tém výstupu porovnávacího bloku 5 generuje také v případě, když na prvním vstupu 51 porovnávacího bloku 5 je signál pro blokování opravy i-tého bitu. V případě, že na čtvrtý vstup 54 porovnávacího· bloku 5 je přiveden signál ze třetího výstupu generátoru 1 syndromů nesoucí informaci o tom, že syndromy S‘ a S“ jsou nulové, generují se logické nuly na všech výstupech porovnávacího bloku 5.
Tato· situace odpovídá případu, kdy vektor u na vstupní datové sběrnici A je bez chyby nebo má nedetekovatelnou chybu. V korekčním bloku 6 se po jednotlivých bi·—>
těch provádí nonekvivalence vektoru u s výstupními signály porovnávacího bloku 5. Je-li na i-tém výstupu porovnávacího bloku 5 logická jednička, invertuje se tím i-tý bit vektoru u. Opravená informace se z výstupu korekčního bloku 6 vede na výstup B a současně na druhý vstup 72 hlídače 7 chyb. Zde se provádí nonekvivalence s původní informací přivedenou na první vstup 71 hlídače chyb 7 a pomocí kombinačního obvodu se indikují neopravitelné chyby a poruchy logických obvodů realizujících samočinnou opravu. Neopravitelná chyba je indikována v případě, že nebyl opraven žádný bit informace a přitom syndromy S* a S“ nejsou oba nulové. Porucha je indikována tehdy, je-li opraven alespoň jeden bit a přitom jsou syndromy S‘ a S“ oba nulové, anebo jsou-li opraveny více než dva bity.
O výskytu neopravitelné chyby nebo poruchy informuje signál na výstupu CH hlídače 7 chyb. Tento signál se musí vyhodnocovat až po odeznění přechodových dějů, což se zajistí vhodnou synchronizací.
Způsob samočinné opravy a zapojení k jeho provádění podle vynálezu lze realizovat i sériově, přičemž v rozkladových blocích 2 a 3 jsou například vektory h,“ a hi“ generovány postupně pro i = η, n—1,..., 2,1 jako vnitřní stavy dvou autonomních sekvenčních obvodů. U cyklických kódů lze při generaci vektorů yj a zf využít cyklických posuvů ·-> —♦ syndromů S‘ a S“. Transformace, porovnávání a oprava v blocích 4, 5 a 6 se provádějí postupně pro i = η, n—1,..., 2,1.
Sériový způsob opravy je časově náročnější, ale ekonomičtější z hlediska počtu použitých součástek. Kompromisem z hlediska rychlosti a ceny může být sérioparalelní způsob opravy, který lze také realizovat na základě způsobu samočinné opravy podle vynálezu. Způsob samočinné opravy a zapojení k jeho provádění podle vynálezu lze zobecnit i na nedvojkové kódy. Zapojení podle vynálezu lze realizovat nejen s elektronickými prvky, ale i optoelektronicky, pneumaticky nebo hydraulicky. Zapojení může být modifikováno tak, aby obvody samočinné opravy i s hlídačem chyb byly úplně samočinně kontrolovány.

Claims (2)

1. Způsob samočinné opravy jednonásobných a dvojnásobných chyb v dvojkových lineárních kódech, vyznačující se tím, že generátor syndromů vygeneruje pomocí lo— gických obvodů z přijatého vektoru u, nesoucího informaci, syndromy S’ a S”, a jsou-li tyto syndromy nulové, je oprava informace blokována, a je-li alespoň jeden ze syndromů různý od nulového vektoru, tak se v prvním rozkladovém bloku syn—► drom S‘ přičte modulo 2 pomocí logického propojení vodičů ke každému sloupcovému «* vektoru h,‘ matice (H)‘, i = 1,2,..., n, —* čímž vzniknou vektory yi; i = 1, 2,..., n, v druhém rozkladovém bloku se syndrom
S“ pomocí logického propojení vodičů přičte modulo 2 ke každému sloupcovému vektoru hi“ matice (H)“, i = 1,2,..., n, čímž vzniknou vektory ζ£, i — 1, 2,..., n, dále se pomocí logických obvodů transformačního bloku vektory y, transformují na vektory f(yi) tak, že platí-li yi ^ϊί/ pro všechna —► -♦ j — 1, 2,..., n a také yi # 0, vygeneruje se signál pro blokování opravy i-tého bitu, je-li yj — hj‘ pro některé j — 1, 2,..., n, pak f(yj) = hj“, a je-li yf = 0, pak f(yi) = — 0, a dále se logickými obvody porovnávacího bloku zjišťuje, pro která ίε < 1, n >
se f(yi) rovná z,, a pro ta i, kde nastala shoda, se pomocí logických obvodů korekčního bloku provede oprava invertováYNÁLEZU —>
ním i-tého bitu vektoru u, a v případě, že nedojde k opravě žádného bitu, ačkoli byl alespoň jeden ze syndromů S‘ nebo S“ nenulový, indikuje se neopravitelná chyba, a v případě, že dojde k opravě více než tří bitů, indikuje se porucha, stejně jako v případě, že došlo k opravě alespoň 1 bitu, ačkoli syndromy S‘ a S“ byly oba nulové.
2. Zapojení k provádění způsobu podle bodu 1, vyznačující se tím, že vstupní datová sběrnice (A) je připojena na vstup (lij generátoru (1) Syndromů, na první vstup (61) korekčního bloku (6) a na první vstup (71) hlídače (7) chyb, první výstup generátoru (1) syndromů je připojen na vstup (21J prvního rozkladového bloku (2), druhý výstup generátoru (1) syndromů je připojen na vstup (31) druhého rozkladového bloku (3), třetí výstup generátoru (1) syndromů je připojen na čtvrtý vstup (54) porovnávacího bloku (5) a na třetí vstup (73) hlídače (7) chyb, výstup prvního rozkladového bloku (2) je připojen na vstup (41) transformačního bloku (4), první výstup transformačního bloku (4) je připojen na první vstup (51) porovnávacího bloku (5j, druhý výstup transformačního bloku (4) je připojen na druhý vstup (52) porovnávacího bloku (5), výstup druhého rozkladového bloku (3) je připojen na třetí vstup (53) porovnávacího bloku (5), výstup porovnávacího bloku (5) je připojen na druhý vstup (62) korečního bloku (6), výstup korekčního· bloku (6) je připojen na výstupní datovou sběrnici (B) a na druhý vstup (72) hlídače (7) chyb a výstup hlídače (7) chyb je připojen na výstup (CH).
CS268981A 1981-04-09 1981-04-09 Způsob samočinné opravy jednonásobných a dvojnásobných chyb v dvojkových lineárních kódech a zapojení k jeho provádění CS218390B1 (cs)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CS268981A CS218390B1 (cs) 1981-04-09 1981-04-09 Způsob samočinné opravy jednonásobných a dvojnásobných chyb v dvojkových lineárních kódech a zapojení k jeho provádění

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CS268981A CS218390B1 (cs) 1981-04-09 1981-04-09 Způsob samočinné opravy jednonásobných a dvojnásobných chyb v dvojkových lineárních kódech a zapojení k jeho provádění

Publications (1)

Publication Number Publication Date
CS218390B1 true CS218390B1 (cs) 1983-02-25

Family

ID=5364718

Family Applications (1)

Application Number Title Priority Date Filing Date
CS268981A CS218390B1 (cs) 1981-04-09 1981-04-09 Způsob samočinné opravy jednonásobných a dvojnásobných chyb v dvojkových lineárních kódech a zapojení k jeho provádění

Country Status (1)

Country Link
CS (1) CS218390B1 (cs)

Similar Documents

Publication Publication Date Title
US5099484A (en) Multiple bit error detection and correction system employing a modified Reed-Solomon code incorporating address parity and catastrophic failure detection
US7370264B2 (en) H-matrix for error correcting circuitry
US7076722B2 (en) Semiconductor memory device
EP0026516B1 (en) Apparatus for the processing of an information stream with the aid of an error-correcting convolutional code and for the detection of an error still irremediable in this processing
TWI782215B (zh) 減少多位元錯誤校正碼的邏輯的系統與方法
US8775899B2 (en) Error correction device, error correction method, and processor
US10903859B2 (en) Error detection by means of group errors
US4961193A (en) Extended errors correcting device having single package error correcting and double package error detecting codes
CN104393878A (zh) 用于纠正在编码比特序列中的至少单比特错误的设备和方法
US7530008B2 (en) Scalable-chip-correct ECC scheme
Dutta et al. Reliable network-on-chip using a low cost unequal error protection code
US5425038A (en) Error plus single bit error detection
US5459740A (en) Method and apparatus for implementing a triple error detection and double error correction code
US7093183B2 (en) Symbol level error correction codes which protect against memory chip and bus line failures
GB2194850A (en) Data processing with error protection
US10567007B2 (en) Device and method of processing a data word using checkbits
US7996745B2 (en) ECC for single 4-bits symbol correction of 32 symbols words with 21 maximum row weight matrix
Gracia-Moran et al. Correction of adjacent errors with low redundant matrix error correction codes
US5754562A (en) Method and apparatus for encoding certain double-error correcting and triple-error detecting codes
KR102423489B1 (ko) 최소 앨리어싱 에러 정정 코드 제공 방법 및 시스템
US6360347B1 (en) Error correction method for a memory device
CS218390B1 (cs) Způsob samočinné opravy jednonásobných a dvojnásobných chyb v dvojkových lineárních kódech a zapojení k jeho provádění
US3504340A (en) Triple error correction circuit
Liu et al. Codes for limited magnitude error correction in multilevel cell memories
US9292378B2 (en) Single event upset protection circuit and method