188036. lajstromszámú szabadalom • Kapcsolási elrendezés félvezető tárolók hibakorrekciójához és öndiagnosztikájához
1 188 036 2 A találmány tárgya félvezető tárolók hibakorrekciójához és öndiagnosztikájához számítógépekben alkalmazható kapcsolási elrendezés, amely az adatforgalom biztonságát növelő hibajavítókódképző generátorral, valamint híbaellenőrző és -javító áramkörrel rendelkezik. A szakirodalomból ismert, hogy félvezető tárolók megbízhatóságát úgynevezett redundancia bitek alkalmazásával növelni lehet. A redundancia bitek képzése úgy történik, hogy minden javítandó bitnek megfeleltetnek egy hibajavító kódot (redundancia bit kombinációt), amelyet paritásgenerátorokkal állítanak elő. Ezek a kódok alkotják a paritásmátrix oszlopvektorait. A paritásmátrixnak annyi oszlopvektora van, ahány bites az a memória szó, amelyben a hibát felderíteni, illetve javítani akarják, és annyi sorvektora van, amennyi a redundancia bitek száma. A paritásszó valamelyik redundancia bitjének előállításához azokból a bitekből kell paritást képezni, amelyeknél a megfelelő sorvektor logikai 1-et tartalmaz. Memóriába íráskor a paritásszót az adatbitekkel együtt a memóriába írják. Olvasáskor a kiolvasott adatbitekből az előzőekkel azonos módon előállítják az ellenőrző kódot, és összehasonlítják a memóriában eltárolt hibajavító kóddal. Hibamentes esetben az összehasonlítás eredményeként előálló hibaminta minden bitje logikai 0. Egy bizonyos bit hibája esetén a hibaminta azonos lesz az illető bithez rendelt hibajavító kóddal, és így a hiba helye azonosítható és invertálással javítható. Ismert továbbá, hogy „d” hosszúságú memóriaszónál egyetlen hibát „c” ellenőrző bittel lehet javítani. A szükséges ellenőrző bitek számát a jól ismert Hamming-képlettel lehet meghatározni: 2C = d + c+1 Ez azt jelenti, hogy tizenhat bites memóriaszó esetén legalább öt redundancia bitre van szükség. A 2c-d-c-l számú kombinációk úgynevezett kettős hiba felderítésére használhatók. Az eddig ismert megoldásokban a memória írásvédelmi bitet nem rendelik a redundancia bitek felügyelete alá és például tizenhat információs bithez olyan kódsorozatokat használnak, mely előállítására a leggyakrabban használt kilenc bites paritásgenerátor nem elegendő. További hiányosságuk, hogy a redundancia biteket csak hibajavításra használják, autodiagnosztikára nem. A találmánnyal célunk olyan kapcsolási elrendezés létrehozása, amellyel a hibajavítás és az autodiagnosztika egyszerűen, bonyolultabb paritásgenerátorok nélkül elvégezhető és az áramköri meghibásodások rövidebb idő alatt, speciális műszerek nélkül kijavíthatok. Találmányunk azon a felismerésen alapul, hogy az általánosan használatos kilenc bites paritásgenerátorok is alkalmazhatók, így az áramkör egyszerűbbé, olcsóbbá és megbízhatóbbá tehető, ha a megszokott kódkombinációktól oly módon eltérünk, hogy a kettős hiba felfedésének hatékonysága lényegesen ne változzon. Ha az írásvédelmi bitet is bevonjuk az ellenőrző bitek felügyelete alá, illetve ha egyszeres hiba esetén a hibaminta kódját az aktuális memóriacím magasabb helyiértékeivel együtt - a memória IC-n belül a használt cimbiteket elhagyva - olyan tárolóba írjuk be, amelynek a kimenetére optikai kijelzőegység csatlakozik, úgy ez autodiagnosztizálásra is felhasználható, azaz a hibás IC pozíciójának gyors, külön műszer vagy mérés nélküli azonosítására alkalmas. A kitűzött feladatot a találmány értelmében félvezető tárolók hibajavítására és autodiagnosztizálására alkalmas kapcsolási elrendezéssel oldottuk meg, amelyben adatbusz egy tároló és egy multiplexer adatbemenetéhez van vezetve, amelynek adatkimenete paritásmátrix generátorra csatlakozik, és a paritásmátrix generátor paritásszó kimenete a tároló paritásszó bemenetével, míg utóbbi paritásszó kimenete a paritásmátrix generátor paritásszó bemenetével van összekötve, továbbá a paritásmátrix generátor hibajavítókód-kimenete egy hibamintadekóder és egy hibahelytároló adatbemenetére csatlakozik, míg a hibamintadekóder vezérlőkimenete egyrészt egy hibajavító áramkör vezérlőbemenetéhez, másrészt hibahelyképző logika vezérlőbemenetéhez van vezetve, amelynek kimenete a hibahelytároló vezérlőbemenetével van összekötve, míg a hibahelytároló címbemenete címbusz magasabb helyiértékü bitvezetékeire, és a hibahelytároló kimenete optikai kijelzőegységre csatlakozik. A találmány szerinti kapcsolási elrendezés előnyösen alkalmazható minden olyan esetben, ahol nagy megbízhatóságot kell gazdaságosan, kis energiafogyasztás és nagy tárolókapacitás mellett biztosítani. A vázolt kivitel, tehát az autodiagnosztika és a hibahelyek automatikus kijelzése erősen csökkenti a szervizköltségeket, feleslegessé teszi a karbantartást és lehetővé teszi a mérőműszerek nélküli gyors javítást. A találmányt az alábbiakban a rajz segítségével ismertetjük részletesebben, amelyben a kapcsolási elrendezés példakénti kiviteli alakjának blokkvázlatát tüntettük fel. Az ábrán a bitvezetékek számát a szakterületeken is használt egyvonalas kapcsolási rajz szabályainak megfelelően tüntettük fel. Mint az ábrán látható, tizenhat + egy bites 1 adatbusz huszonkét bites 3 tároló 2 adatbemenetére, valamint 5 multiplexer 4 írás-adatbemenetére csatlakozik. Az 5 multiplexer kimenete hibajavítókód 6 generátor bemenetével van összekötve. Ez a 6 generátor hagyományos kilenc bites paritásgenerátorral van megvalósítva. A 6 generátor öt bites paritásszó 7 kimenete a 3 tároló paritásszó 8 bemenetére, míg a 3 tároló ugyancsak öt bites paritásszó 9 kimenete a 6 generátor paritásszó 10 bemenetére csatlakozik. A 6 generátor hibajavító kód 11 kimenete egyrészt 12 hibamintadekóder bemenetéhez, másrészt 14 hibahelytároló 13 adatbemenetéhez van vezetve. A 12 hibamintadekóder kimenete egyrészt 16 hibajavitó áramkör 15 vezérlőbemenetével, másrészt 18 hibahelyképző logika 17 adatbemenetével van összekötve. A 18 hibahelyképző logika 19 kimenete a 14 hibahelytároló 20 vezérlőbemenetére csatlakozik, amelynek 21 címbemenete 22 címbusz magasabb helyiértékű bitvezetékeire csatlakozik, és a 14 hibahelytároló kimenete jelen példánkban LED-ekből álló optikai 23 kijelzőegységgel van 5 10 15 20 25 30 35 40 45 50 55 60 65 ?