ECC (1) (Error-Correcting Code; Error Checking and Correcting)



veaparanduskood Võimaldab andmebaasidest loetavates või sidesüsteemi kaudu edastatavates andmetes vigu avastada ja vajaduse korral neid käigupealt parandada. Erineb paarsuskontrolli meetodist selle poolest, et vigu mitte ainult ei avastata, vaid ka parandatakse. ECC leiab järjest laialdasemat kasutust andmete salvestus- ja edastussüsteemide riistvaras sedamööda, kuidas kasvab andmeedastuskiirus ja koos sellega vigade tekkimise tõenäosus. Andmete salvestamisel töötab ECC järgmiselt:
  • Kui andmeüksus (sõna) salvestatakse muutmällu või kõvakettale, genereeritakse selle sõna bitijärjestust kirjeldav kood ning salvestatakse see koos sõnaga. Iga 64-bitise sõna puhul on ECC koodi salvestamiseks vaja 7 lisabitti
  • Kui sõna kutsutakse mälust välja lugemiseks, siis genereeritakse sama algoritmi kasutades ECC kood uuesti ja võrreldakse sõnas sisalduva esialgse koodiga
  • Kui koodid ühtivad, siis vigu pole tekkinud ja sõna on kõlbulik edasiseks kasutamiseks
  • Kui koodid ei ühti, tehakse koodide võrdluse teel kindlaks puuduvad või vigased bitid ja taastatakse või parandatakse need
  • Veel mälus asuvaid andmeid ei püütagi korrigeerida, sest varem või hiljem kirjutatakse need nagunii üle uute andmetega ja eeldusel, et vead olid ajutise iseloomuga, "kaovad" vigased bitid iseenesest
  • Kui vead korduvad mälus ühel ja samal aadressil, siis viitab see püsivale riistvaraveale ning sel juhul genereeritakse vastav teade
64-bitisel tasemel on nii paarsuskontrolli kui ECC meetodi puhul vaja ühepalju lisabitte. Harilikult kasutatakse ECC realiseerimiseks Reed-Solomon’i koode, mis peale vigaste bittide avastamise tagavad nii "kustunud" kui ka valede bittide taastamise

Vt. lähemalt ECC FAQs