Poškození dat se týká chyb počítačových dat , ke kterým dochází během zápisu, čtení, ukládání, přenosu nebo zpracování dat a které představují nezamýšlené změny původních dat. Počítač, přenosové systémy a úložné systémy podnikají mnoho kroků k udržení integrity informací nebo absence chyb.
Obecně platí, že když dojde k poškození dat, soubor obsahující tato data bude mít při použití systémem nebo aplikací neočekávané výsledky. Výsledek se může lišit od malé ztráty dat až po zhroucení systému. Pokud je například poškozen soubor dokumentu , když se uživatel pokusí tento soubor otevřít pomocí editoru dokumentů, může se mu zobrazit chybová zpráva , pak se soubor nemusí otevřít vůbec, nebo může být otevřen pomocí určité zkreslení (nebo v některých případech zcela poškozené). Pokud je obrazový soubor poškozen, mnoho informací se ztratí.
Některé typy malwaru mohou záměrně zničit soubory zápisem odpadků, ačkoli neškodné viry mohou také neúmyslně zničit soubory, když se k nim pokoušejí získat přístup. Pokud se virus nebo trojský kůň pokusí změnit metodu přístupu ke kritickým souborům v operačním systému počítače, celý systém se může stát nestabilním.
Některé programy vás mohou vyzvat k automatické opravě souborů (při chybě) a některé programy je opravit neumí. Vše závisí na úrovni zničení a vestavěné funkčnosti aplikací, které chybu zpracovávají. Důvody zničení jsou různé.
S počítačovými systémy jsou spojeny dva typy poškození dat – nerozpoznané a rozpoznané. Nerozpoznané poškození dat, známé také jako tiché poškození dat , vede k nejnebezpečnějším chybám, protože neexistují žádné příznaky, že by data byla nesprávná. Rozpoznané poškození dat může být trvalé se ztrátou dat nebo dočasné, kdy některé části systému jsou schopny chybu detekovat a opravit. V druhém případě nedochází ke skutečnému poškození dat.
K poškození dat může dojít na jakékoli úrovni systému, od centrálního místa až po úložná média. Dnešní systémy se pokoušejí odhalit poškození na mnoha úrovních a poté obnovit data nebo opravit poškození. Tato operace je téměř vždy úspěšná, ale ve velmi vzácných případech jsou informace načtené do systémové paměti poškozeny a mohou způsobit nepředvídatelné následky.
Poškození dat během přenosu má různé příčiny. Přerušení přenosu dat způsobuje ztrátu informací . Podmínky prostředí mohou ovlivnit přenos dat, zejména pokud jde o metody bezdrátového přenosu. Husté mraky mohou blokovat satelitní přenos. Bezdrátové sítě jsou citlivé na rušení zařízeními, jako jsou mikrovlnné trouby.
Selhání hardwaru a softwaru jsou dvě hlavní příčiny ztráty dat . Radiace pozadí , destrukce hlavy a mechanické stárnutí nebo opotřebení zařízení spadá do první kategorie, přičemž k softwarovým chybám obvykle dochází kvůli chybám v kódu programu. Kosmické záření způsobuje většinu opravitelných chyb v DRAM [1] .
Některé chyby zůstanou nepovšimnuty, aniž by je detekoval firmware disku nebo operační systém počítače. Tyto chyby jsou známé jako tiché poškození dat .
Existuje mnoho jiných zdrojů chyb než samotný systém disku. Například mohou být uvolněné kabely, napájení může být nestabilní [2] , mohou být ovlivněny vibrace, jako jsou hlasité zvuky [3] , sítě mohou způsobit nerozpoznané chyby přenosu, [4] kosmické záření a mnoho dalších podobných příčin způsobuje chyby paměti softwaru a tak dále. Ve 39 000 analyzovaných úložných systémech bylo zjištěno, že 5–10 % systémových chyb bylo způsobeno chybami ve vestavěném (firmwarovém) softwaru systémů [5] . V souhrnu je třeba zdůraznit, že počet nerozpoznaných chyb podle pozorování CERN výrazně překračuje jednu chybu na každých 10 16 bitů [6] . Internetový obchod Amazon.com rozpoznává podobné množství poškození dat ve svých systémech [7] .
Jedním z problémů je, že kapacita diskových jednotek neustále roste, přičemž procento chyb na nich zůstává nezměněno. Míra poškození dat zůstává v průběhu času konstantní, což znamená, že moderní disky nejsou spolehlivější než ty starší. U starších disků byla možnost poškození dat velmi malá kvůli malému množství uložených dat. Moderní disky jsou mnohem pravděpodobnější, protože ukládají mnohem více dat, aniž by se staly spolehlivějšími. Skryté poškození dat tedy není vážným problémem, pokud jsou úložná zařízení relativně malá a pomalá. V důsledku toho uživatelé disků s nízkou kapacitou velmi zřídka odhalí skryté poškození, takže poškození dat nebylo vnímáno jako problém, který je třeba řešit. V dnešní době s příchodem velkých disků a velmi rychlých řadičů RAID jsou však uživatelé schopni přenést 10 16 bitů v dostatečně krátkém čase, takže je snadné dosáhnout prahu poškození dat [8] .
Jako příklad tvůrce ZFS Jeff Bonwick tvrdí, že rychlá databáze ve společnosti Greenplum , která se specializuje na vývoj softwaru a analýzy velkých datových skladů, detekuje poškození dat každých 15 minut [9] . Dalším příkladem je studie provedená společností NetApp na více než 1,5 milionu pevných disků během 41 měsíců, kde bylo zjištěno více než 400 000 skrytých poškození dat, z nichž více než 30 000 řadiče RAID nezjistily. Další studie provedená CERNem po více než šest měsíců na více než 97 petabajtech dat našla asi 128 megabajtů zcela poškozených dat [10] [11] .
Latentní poškození dat může vést ke kaskádovým haváriím , při kterých může systém běžet po určitou dobu s neodhalenou počáteční chybou, která způsobí postupný nárůst počtu problémů, dokud není poškození odhaleno [12] . Například selhání v metadatech souborového systému může způsobit částečné poškození několika souborů nebo dokonce znepřístupnit celý souborový systém.
Když se poškození dat chová jako Poissonův proces , kde každý datový bit má nezávislou malou pravděpodobnost změny, lze poškození dat detekovat pomocí kontrolních součtů a často je lze opravit pomocí kódů pro opravu chyb .
Pokud je zjištěno neopravitelné poškození dat, lze použít procesy, jako je automatický přenos dat nebo obnovení ze zálohy . Některé úrovně polí RAID mají schopnost pamatovat si a používat paritní bity pro data uložená na sadě disků a mohou obnovit poškozená data, pokud jeden nebo více disků selže, v závislosti na úrovni implementovaného pole RAID. Některé architektury CPU používají různé transparentní kontroly k detekci a zmírnění poškození dat v mezipaměti procesoru , vyrovnávací paměti CPU a výpočetním kanálu . Například technologie Intel Instruction Replay je dostupná u procesorů Intel Itanium . [13]
Mnoho chyb je detekováno a opraveno diskovými jednotkami pomocí ECC / CRC kódů [14] , které jsou uloženy na disku pro každý sektor. Pokud jednotka detekuje více chyb při čtení sektorů, vytvoří kopii chybného sektoru na jinou část disku a označí chybný sektor jako prázdný bez zapojení operačního systému (i když to může být zpožděno až do dalšího zápisu do sektoru) . Tato „tichá oprava“ může být řízena pomocí SMART a pro většinu operačních systémů jsou k dispozici nástroje pro automatickou kontrolu disku na hrozící selhání v důsledku degradace SMART.
Některé systémy souborů , jako jsou Btrfs , HAMMER , ReFS a ZFS , používají interní data a kontrolní součty metadat k detekci latentního poškození dat. Navíc, pokud je zjištěno poškození a souborový systém používá mechanismy RAID, které poskytují redundanci dat , mohou takové souborové systémy transparentně rekonstruovat poškození [15] . Tento přístup umožňuje lepší ochranu integrity dat pokrývající celou datovou cestu , známou jako ochrana dat end-to-end , ve srovnání s jinými přístupy, které nepokrývají jiné úrovně ochrany integrity a umožňují poškození dat při přesunu dat z jedné úrovně na druhou [ 16]
dat je další metodou, jak snížit možnost poškození dat, když jsou detekovány a opraveny chyby disku dříve, než se nahromadí mnoho chyb. Namísto kontroly parity při každém čtení je čtení kontrolováno během běžné kontroly disku, která se často spouští jako proces na pozadí s nízkou prioritou. Všimněte si, že operace "čištění dat" aktivuje kontrolu parity. Pokud uživatel jednoduše spustí normální program, který čte data z disku, pak parita nebude kontrolována, dokud nebude parita čtení podporována a povolena na diskovém subsystému.
Pokud jsou k dispozici vhodné mechanismy pro detekci a léčbu poškození dat, může to zajistit integritu dat. To je důležité zejména v komerčních aplikacích (jako jsou banky ), kde by neodhalená chyba mohla zničit index databáze nebo změnit data, což by mohlo mít drastické dopady na bankovní účet. Při šifrování nebo komprimaci dat může malá chyba způsobit, že velký soubor dat nebude k ničemu [6] .
Data | |
---|---|
|