SSD disk

Utisevalec

Guru
12. nov 2007
16.151
4.132
113
Citat:
Uporabnik Radirko pravi:
Zapis v flashu je ravno tako analogen. Isci pod "floating gate" ("floating gate MOSFET"), ce te zanima teorija. V bistvu je vse analogno, ko gres dovolj globoko v detajle, vkljucno z racunalnikom, za katerim sedis.

Jp digitalnih stvari v bistvu sploh ni, ampak analogno branje HDDja je "preprosto" - vzameš magnetni "disk" in primeren merilnik ter preveriš vse "tracke". Kako pa v polprevodniškem čipu z veliko gostoto dobiš analogne podatke pa ne vem. Nekako jih ne moreš, ker je sam čip zasnovan kot binarno vezje in če v postopku izdelave ne ustreza temu pojmu se izloči (preverjanje pa poteka kot kontroliran zapis 1 in 0 ki sem orajo ustrezno "postavit").

Glede izgube podatkov v HDD pa ne vem o čem govoriš - se seveda pojavi, v obliki bad sektorjev, ampak da bi 100% delujoč disk izgubil kak sektor ali dva je skoraj nemogoče (sicer je isto pri SSDju). Namreč kontoling v obliki kontrolnih bitov je skoraj buletprof in razen "fizične" poškodbe na disku težko izgubiš nek podatek. Je pa res da sosobni diski so z višjanjem gostote postali precej slabši kot so stari - ampak tudi danes dobiš diske z majhno gostoto, ki so namenjeni serverjem in so izdelani da trajajo 10 let in več!
 

Radirko

Fizikalc
18. avg 2007
6.242
0
36
Citat:
Uporabnik Utisevalec pravi:
Jp digitalnih stvari v bistvu sploh ni, ampak analogno branje HDDja je "preprosto" - vzameš magnetni "disk" in primeren merilnik ter preveriš vse "tracke". Kako pa v polprevodniškem čipu z veliko gostoto dobiš analogne podatke pa ne vem. Nekako jih ne moreš, ker je sam čip zasnovan kot binarno vezje in če v postopku izdelave ne ustreza temu pojmu se izloči (preverjanje pa poteka kot kontroliran zapis 1 in 0 ki sem orajo ustrezno "postavit").

To je zelo zanimivo podrocje, ki sicer zahteva precej drago o[premo (a vseeno nic takega, cesar si ne bi mogli tudi v Sloveniji privosciti, glede na to, da se naokoli vozijo tudi kaksni Ferrariji
smile-1.gif
). [/url=http://www.break-ic.com/topics/break-ic.asp]Tukaj je opis za mikrokontrolerje, kjer ...http://en.wikipedia.org/wiki/Bit_rot']bit rot" (medijev).

Kaj je "100% delujoc disk" ? Je to disk, ki deluje, brez da bi imel nominalno en meni viden bad sector ? Ce je, potem ima tak disk lahko ze precej sektorjev premapiranih. Mozno je celo, da kateri od nepremapiranih sektorjev hrani podatke, ki imajo sicer pravilno Reed-Solomon oz. LDPC kodo, a vseeno vsebujejo okvarjene podatke (ko je enkrat okvarjenih dovolj bitov celotne kode, je napako lahko nemogoce zaznati in torej kontroler nima razloga, da bi sektor premapiral oziroma poskusal podatke popraviti pri branju).

Kako najlazje do prakticnega primera ? Ce imas na racunalniku "filmoteko" in so med filmi taki, katere si gledal par let nazaj in se spomnis, da niso bili nikjer okvarjeni, jih poglej zdaj se enkrat po dolgem casu. Nic nenavadnega ni, ce se vsake toliko pojavi majhna okvara podatkov, ki sliko pokvari, dokler ne pride naokoli naslednja cela slika (do takrat se okvarjena slika samo inkrementalno spreminja in imas delcek sekunde gor en zmazek, kot da je kaksen Alien bruhal na ekran ... ne vem zakaj so najraje strupeno zelene ali vijolicaste barve, na take najveckrat naletim).

Sicer pa: pozeni kaksen program, ki izpise S.M.A.R.T. statistiko diska v tvojem racunalniku. Zna biti, da bos presenecen nad stevilom recoverable ECC errorjev in stevilom ze premapiranih sektorjev, vse na disku, ki je se vedno v garanciji in (po mnenju proizvajalca in omenjene statistike) deluje normalno.
 

Jernej

Fizikalc
18. avg 2007
7.124
0
36

Samo eno vprašanje. Defekten bit pri JPG ali AVI datoteki ni tragika... pač kvari kvaliteto.


Samo defekten bit pri EXE, DLL ali IMG (npr zemljevidi... tudi precej velike datoteke)? To je po mojem usodno za program... ali se motim?
 

philips

Guru
Osebje foruma
Administrator
17. avg 2007
9.878
698
113
Citat:
Uporabnik Jernej pravi:
Samo eno vprašanje. Defekten bit pri JPG ali AVI datoteki ni tragika... pač kvari kvaliteto.


Samo defekten bit pri EXE, DLL ali IMG (npr zemljevidi... tudi precej velike datoteke)? To je po mojem usodno za program... ali se motim?

Program se lahko sesuje, razen če je tisti pokvarjen bit ravno kje v kakšni podatkovni sekciji, ki nima vpliva na delovanje programa - recimo da se pokvari ena črka v nekem besedilu, ki se samo prikaže na zaslonu.

Sicer mi niti ni jasno, kako se lahko pokvari en bit in se datoteka sploh zažene - kontrolna vsota bi morala javit da je nekaj narobe.
 

Jernej

Fizikalc
18. avg 2007
7.124
0
36

Saj o tem govorim....


Potem bi se moral software sesuvati precej bolj pogosto (glede na Radirkovo sporočilo).
 

Radirko

Fizikalc
18. avg 2007
6.242
0
36
Citat:
Uporabnik cbb pravi:
Radirko brca v temo...

Torej se po tvojem podatki na diskih ne kvarijo ? Tukaj imas zastonj programcek, ki izpise stanje S.M.A.R.T. informacij za diske v racunalniku. Instaliraj kjer imas to moznost in preveri podatke za svoje diske, konkretno iz vrstice BB (pise "unknown attribute"), kar je stevilo odkritih, a nepopravljivih napak. Stevila neodkritih napak seveda ne mores videti ...

Ce poznas teorijo delovanja ECC algoritmov (kar dvomim
smile-1.gif
), potem ves, da se ob okvari razdelijo situacije na tri velike primere:

1: Napaka je dovolj majhna, zato jo lahko zaznas in odpravis (npr. napaka enega bita pri Hammingovem kodiranju 7,4 z dodatnim parity bitom, torej s kar 100% overheadom glede na kolicino originalnih podatkov - to je BTW nerealno visoko razmerje za danasnje medije).

2: Napaka je vecja, vseeno jo lahko zaznas, a je ne mores odpraviti (napaka dveh bitov v zgornjem primeru)

3: Napaka je se vecja. Tukaj se spet razdeli, odvisno od konkretne napake.

3a: Napaka je videti kot manjsa napaka, katero obravnavas kot v tockah 1 ali 2 (torej obravnavas jo napacno, glede na to, da ne gre za tako napako), posledica je, da ze pokvarjen podatek se bolj izmalicis (pokvaris se prave bite), tako da se kontrolne vsote spet vse lepo izidejo.

3b: Napake sploh ni mogoce videti, saj se slucajno ravno izidejo vse kontrolne vsote. Ker je ne mores zaznati, je ne obravnavas, torej imas spet napacne podatke.

Omenjeni primer (Hamming 7,4+1) sem namerno izbral zato, ker je dobro razlozen s primeri in ga pozna vsak, ki je kdaj od blizu videl algoritme za ECC. Hkrati je kolicina podatkov za predstavo obvladljiva (en bajt, od cesar so stirje biti izvornega podatka, preostali stirje pa ECC biti). V praksi se uporablja Reed-Solomon ali LDPC kode, ki imajo razmerje med izvornimi in ECC podatki bistveno nizje od 50:50 (v praksi so priblizno 85:15 in navzgor, torej se manj ECC bitov), resnici na ljubi pa se zaradi nacina poskodb podatkov da uporabiti se nekaj tehnik, ki povecajo ucinkovitost ECC, torej dobis ucinkovitost kakor da bi uporabil vec ECC bitov.

Disk evidentira dogodke iz tock 1, 2 in 3a. Od tega so podatki se uporabni samo iz tocke 1, zraven pa disk napacno steje se 3a. Kaj spada pod tocko 2, disk (verjetno) relocira. Kar spada pod 3b, ne more evidentirati.

V vrstici BB je samo stevilo dogodkov iz tocke 2, ki jih je disk evidentiral, torej zaznanih neodpravljivih napak.

Pri meni je stanje na prvem disku po dobrih treh letih delovanja (proizvajalec trdi, da imajo diski 5 let garancije) tako, da je zaznanih, a neodpravljenih napak tocno 5632, na drugem pa 0. Oba diska sta istega tipa, v isti skatli, podvrzena isti temperaturi, istim vibracijam, iztemu napajanju, vkljucena vedno socasno, pa so na enem ze zdaj vidni problemi, na drugem pa so morda tudi, a jih pac jaz ne morem videti, ker niso evidentirani. Ce se pdoatki ne bi kvarili, bi seveda morali biti obe stevilki tocno 0, pa se to ne bi bila garancija, da se res ni nic pokvarilo (le zaznano pac ne bi bilo).

BTW, program navede tudi podatek za stevilo odkritih popravljivih napak, a kot pise, se stevilke ne da direktno interpretirati, saj se od proizvajalca do proizvajalca razlikuje. Vsekakor pa je karkoli drugace od 0 ze spet podatek, da so se pdoatki okvarili.


---------

Ne mi pametnarit da "brcam v temo" o zadevah, o katerih pisem. Tukaj odgovarjam zato, ker zelim ljudem pomagati, pa naj bo to do teoreticnega znanja ali pa resiti cisto prakticen problem (ker pricakujem, da bo tudi meni kdo pomagal, kadar nekaj vprasam, pa o stvari nimam blage veze). Slucajno je pac tako, da se ukvarjam s tehniko, kateri je posvecenega "pol" foruma, zato imam priloznost veckrat odgovoriti. Ce bi bil to forum o avtih, vrtickih, oblekah, glasbi, obdelavi lesa, peki tort ali katerikoli drugi iz mnozice stvari, na katere se ne spoznam, ne bi pisal odgovorov v trdilni obliki, ampak bi pisal vprasanja, da bi se kaj naucil (ce bi me stvar zanimala seveda).

Ko bos vse to premlel, pojdi preverit kaksen star disk, na katerega si pred leti stlacil mnozico filmov, jih enkrat pogfledal in shranil nekje v omari "za vsak slucaj". Zelo verjetno bo kateri od teh filmov imel okvaro, kakrsne ob prvem ogledu nisi videl (so zelo opazne, ne mores zgresiti).
 

Jernej

Fizikalc
18. avg 2007
7.124
0
36

Super razloženo, hvala!



Če prav razumem, checksum ostane enak in program (recimo, da je program) teče normalno, dokler ni potrebe po dostopanju do okvarjenega bita. Takrat se pač sesuje. Edino kar zadevo rešuje, je dejstvo, da tovrstni podatki predstavljajo manjši delež podatkov na računalniku (vsaj proti filmom, slikam in ostali multimediji).


Question: Ali je to rešeno pri RAID-u? Torej, da bi v idle stanju sistem nenehno preverjal bit za bitom podatke na diskih ali RAID deluje samo pri popolnem sesutju diska?
 

Radirko

Fizikalc
18. avg 2007
6.242
0
36
Citat:
Uporabnik Jernej pravi:
Potem bi se moral software sesuvati precej bolj pogosto (glede na Radirkovo sporočilo).

Sprasujes zakaj se programi ne sesuvajo se bolj, kot sicer.

Kdo pa pravi, da se ne ? Kaj je sploh merilo "normalnega" sesuvanja in po cem locis eno sesutje od drugega ?

Pri nas je normalna praksa, da ljudje na novo instalirajo sistem in nalozijo programe na vsake toliko casa, ker so pac smotani in ne znajo paziti na racunalnik in tako najlazje spet pridejo do odzivnega sistema. Nekateri se vsaj toliko potrudijo, da pozenejo kaksno defragmentiranje diska, da odstranijo stare neuporabljane programe (igre ...) preden dodajo nove, itd. Vsaka obnova podatkov (tudi defragmentiranje) pomeni nov zapis, ce bi gledal statisticno, se torej zacne "odstevanje do okvare" znova.

Zakaj se to tako pogosto opazi ravno pri filmih, ne pa drugje ? Moje mnenje je, da ravno iz omenjenih razlogov, hkrati pa pri filmu se v relativno kratkem casu dobesedno vizuelno preveris na stotine MB podatkov in zaradi visoke kompresije se napaka lahko zelo opazno manifestira (ni treba gledati vsake pike posebej). Velike datoteke so ponavadi defragmentirane ze ob zapisu, premika se jih ne fizicno po disku gor in dol (premik v strukturi filesysmtema seveda ne premakne podatkov), vsaj nekateri pa filme ohranimo na disku vse dokler je prostor na voljo, zaradi sentimentalne vrednosti in da jih ni potrebno ponovno iskati cez par let, ko bi ga rad spet pogledal (ze tako gledam malo filmov, zato lazje obdrzim na disku tiste, ki so mi vsec). Pri takih sem jaz najveckrat opazil, da ni vse v redu s podatki, ceprav je prej bilo.

Druge podatke (dokumente, slike) premikamo precej pogosteje, dokler ne grejo nekam v "shrambo", pa se manjsi so in je statisticno manj verjetno, da bo napaka ravno pri njih (dvomim, da ima kdo za 700 MB svojih natipkanih dokumentov, kar znese komaj pol enega samega TV filma v DivX formatu).

A pa to pomeni, da se dokumenti in programi ne kvarijo ? Nasprotno, jaz mislim, da se tudi programi okvarijo, le da do opazis precej redkeje in take primere odmislis, saj je za to moznih se precej drugih vzrokov (od virusov dalje).

Dejstvo je, da se podatki na diskih kvarijo. Ce se ne bi, ne bi niti potreboval ECC in niti ne bi bilo parametra, ki bi ti sporocil ali je disk ze odpravil kaksno napako ali ne
smile-1.gif
Za vec info vsekakor -> Google "bit rot" in nekaj dodatnih iskalnih besed. Studije na dovolj velikem primeru je tezko najti, tukaj je ena, ki se samo dotakne tega problema, bi bilo pa res zanimivo videti konkretne stevilke velikanov a'la Google, ki razpolagajo z ogromno kolicino statisticnih podatkov iz svojih diskovnih polj.
 

Radirko

Fizikalc
18. avg 2007
6.242
0
36
Citat:
Uporabnik Jernej pravi:
Če prav razumem, checksum ostane enak in program (recimo, da je program) teče normalno, dokler ni potrebe po dostopanju do okvarjenega bita. Takrat se pač sesuje. Edino kar zadevo rešuje, je dejstvo, da tovrstni podatki predstavljajo manjši delež podatkov na računalniku (vsaj proti filmom, slikam in ostali multimediji).

Sploh ni nujno, spet odvisno od okvare. Poglej ukazni nabor x86, in ce se ukvarjas s programiranjem na nizjem nivoju (assembler), bos takoj razumel zakaj. Prevajalnik uporabi ob prevajanju programa tak ukaz, kot se mu zdi za dolocen podatek primeren. Manjsa sprememba lahko pomeni isti ukaz, a na drugacnem obsegu podatkov ali pa recimo z drugacnim dostopom do podatkov ali pa drugacnim delovanjem (prvi primer bi bila operacija nad 16-bitnim podatkom namesto nad 8-bitnim, drugi primer bi bila operacija nad podatkom v dolocenem registru namesto podatkom, na katerega kaze dolocen register, tretji pa recimo ADD versus ADD with carry, kar lahko da isti rezultat, dokler ni carry postavljen - morda nikoli ni v delovanju programa in sploh ne opazis razlike).

Mozno je torej, da je napaka taka, da bo program se vedno sposoben nadaljevati, ti pa napake ne bos opazil, cepravg je do nje prislo in je program spremenila od izvorne oblike.

Po drugi strani je pa seveda lahko tudi tako, da se program sesuje, ti kolnes njega in proizvajalca, pozenes antivirus in kaksen cistilni program, potem morda okviris za nedelovanje se cistilni program, ker se kar ne deluje, in instaliras program na novo in cudezno spet dela (vsake toliko so na forumu teme o tezavah, potem pa OP napise kako je reinstaliral in zdaj zadeva spet deluje - ni sicer nujno, da je to primer okvare podatkov, je pa mozno).

Citat:
Question: Ali je to rešeno pri RAID-u? Torej, da bi v idle stanju sistem nenehno preverjal bit za bitom podatke na diskih ali RAID deluje samo pri popolnem sesutju diska?

Ne poznam delovanja RAID kontrolerjev. Dejstvo pa je, da disk ze tako pregleduje svojo povrsino in isce sumljive sektorje (za relokacijo).

Ugibam, da RAID kontroler v polju, kjer je uporabljena redundanca (RAID5 in podobni), napako zazna sele ob branju, torej je samo se en dodaten nivo ECC nad tistim enim ali dvema, ki ju premore ze HDD sam. RAID ima ta bonus, da so podatki razprseni, to je zelo uporabno pri medijih, kjer do okvare pride v vecjih blokih (disk, CD, ...), saj lahko s primerno razporeditvijo podatkov znotraj enega medija in potem tudi preko vseh medijev cisto trivialno odpravi tako napako, kot je celoten okvarjen sektor na enem disku, tudi ce disk sam tistega konkretnega sektorja sploh ne zmore vec prebrati in podatke iz njega zavrze.
 

AvtoFun

Guru
29. dec 2007
18.461
2.453
113
No jaz imam malo morje programov ki se že vlečejo 10 let iz enega compa na drugi comp iz enega prenosnega diska na drug disk itd... in do sedaj še nisem opazil niti ene samcate napake npr. da bi mel instalacijo vrglo kak feler, da bi se kak dokument pokvaril ali kaj podobnega... Torej očitno imam srečo
smile-1.gif
 

Jernej

Fizikalc
18. avg 2007
7.124
0
36
Uh, tole je bilo pa zelo izčrpno branje. Hvala ti! Lepo je brat poljuden tekst od nekoga, ki se zelo, zelo dobro spozna na ozadje stvari.


Dejansko opažam, da ste se računalničarji pri marsičem zgledovali po genomu. Tudi tam nenehno prihaja do napak, včasih tudi povsem nepopravljivih, ampak programi (proteini) in računalnik (človek) še vedno normalno delujejo. Prav zanimivo je bilo brati tvojo razlago in opažati, kako podobna sta oba sistema.


AMPAK! Mati narava ni razvila popolnih mehanizmov za popravljanje napak iz enega samega razloga: evolucija. Kakor imaš popoln sistem, ustaviš evolucijo. Včasih se namreč zgodi napaka, ki naredi že tako dober "program" še boljši.

Iz tega izhaja še eno moje vprašanje: računalniški diski nimajo nobene prednosti, če se kvarijo. Kako torej narediti sistem, ki bo popolnoma (oziroma recimo za par velikostnih razredov bolj) odporen na "bit-rot" kot je danes. Evolucija je zato izumila dvojno DNA vijačnico (RAID 1, če se ne motim). Ampak pri RAID 1 (če seveda ni na nivoju samega kontrolerja diska) ne moreš nikakor vedeti, kater bit je okvarjen (pač imaš dva bita, ki se razlikujeta, morala pa bi biti enaka).

Torej: obstaja neke vrste RAID kontroler, ki bi deloval na najnižjem možnem nivoju in bi lahko ugotovil, kater bit je dejansko okvaril in ga uspešno popravil z "zdravim" bitom iz sosednjega diska?

Ker trenutno RAID, če prav razumem, deluje na višjem nivoju in ne kompenzira za "bit rot", temveč samo za večje napake, ki naredijo podatke povsem nedostopne.
 

philips

Guru
Osebje foruma
Administrator
17. avg 2007
9.878
698
113
RAID deluje samo takrat, ko kontroler ve kateri disk je defekten.
ECC deluje na fizičnem nivoju - recimo 8 podatkovnih bitov je zapisanih v 12 fizičnih bitov za potrebe preverjanja in odpravljanja napak. Navadno se lahko zazna in popravi samo en bit (od teh 8), ker več ni smiselno.

Ampak to še ne pomeni, da če bosta 2 bita napačna, da se bo aplikacija sesula. Večje število podatkovnih bitov pa ima še svoj CRC (recimo en sektor na disku). Izračuna se checksum te skupine podatkovnih bitov in se potem ugotovi ali je napaka ali ne.
Pri CRC pa je zelo zelo majhna možnost, da bodo podatki tako pokvarjeni, da bo checksum štimal.

Tako da so artefakti pri filmih/slikah verjetno kar navadni CRC errorji. Pri prikazu filma pa se neprebrani delčki slike pač enostavno ignorirajo. Program pa bi moral javiti CRC error in se zaključiti.

Na podlagi CRC errorjev bi pa RAID lahko restavriral podatke, saj bi kontroler točno vedel kateri sektor iz katerega diska je pokvarjen.
 

Radirko

Fizikalc
18. avg 2007
6.242
0
36
Citat:
Uporabnik Jernej pravi:
Iz tega izhaja še eno moje vprašanje: računalniški diski nimajo nobene prednosti, če se kvarijo. Kako torej narediti sistem, ki bo popolnoma (oziroma recimo za par velikostnih razredov bolj) odporen na "bit-rot" kot je danes. Evolucija je zato izumila dvojno DNA vijačnico (RAID 1, če se ne motim). Ampak pri RAID 1 (če seveda ni na nivoju samega kontrolerja diska) ne moreš nikakor vedeti, kater bit je okvarjen (pač imaš dva bita, ki se razlikujeta, morala pa bi biti enaka).

Zrcaljenje (kar je tudi DNA, le da je tam drugi podatek komplement prvemu, namesto da bi bil identicen) je dalec od tega, da bi bil najbolj ucinkovit nacin za preprecevanje napak.

Kako izboljsas zanesljivost ? Povisas razmerje ECC podatkov napram uporabnim (= manj uporabne kapacitete) in podatke razporedis tako, da so cimmanj na udaru tipov napak, kakrsne pricakujes. Pri diskih so to slabi sektorji in odpovedi celotnega diska.

Citat:
Torej: obstaja neke vrste RAID kontroler, ki bi deloval na najnižjem možnem nivoju in bi lahko ugotovil, kater bit je dejansko okvaril in ga uspešno popravil z "zdravim" bitom iz sosednjega diska?

Seveda, RAID2 je recimo primer, ki podatke razbije in varuje s prej omenjeno Hammingovo 7,4 kodo.

Relativno blizu je se nekaj drugih nivojev, od 3 do 6.

Citat:
Ker trenutno RAID, če prav razumem, deluje na višjem nivoju in ne kompenzira za "bit rot", temveč samo za večje napake, ki naredijo podatke povsem nedostopne.

Ne, to sploh ni nujno - vseeno je do kaksne okvare pride, ce je mogoce napako zaznati in odpraviti, jo bo poskusal. Problem je, da je RAID1, katerega si navedel, ravno najslabsa moznost, kar jih je, kar se tice bit rota. Ce privzames za trenutek, da noben od dveh diskov ne bo nikoli crknil, da pa lahko na enem ali drugem ali obeh pride do bit rota, potem je boljse podatke nameto podvojiti, dopolniti z ECC podatki.

Ce zelis, se lahko greva preprosto igrico, pa bos videl kako deluje ECC v praksi in kaksna je razlika med ECC in zrcaljenjem, kakrsno bi ti ponudil RAID1. Potreboval bos par minut casa, osnovno znanje matematike, morda list papirja in nekaj dobre volje
smile-1.gif
 

Utisevalec

Guru
12. nov 2007
16.151
4.132
113
Malo offtopica ..

Imaš delno prav, delno pa precej pretiravaš. Ti mešaš fizični zapis na disk z "virtualnim" - to je narobe. Fizični zapis ni nikoli bil in tudi nikoli ne bo 100% zanesljiv, zato se uporablja kontroling, ki prepreči izgubo podatka. Če za 8 bitov zapisa porabiš še par dodatnih bitov, znaš rekonstruirati izgubo vsaj 2 oz. v najboljšem primeru celo večih bitov. Laično se to da opisat kot "sudoku" .. torej imaš izpolnjenih samo nekaj polj pa še vedno lahko 100% rekonstruiraš (z matematiko) ostala.

Nosilni zapis (recimo temu virtualni zapis) na disku sicer zapiše 8 bitov (ampak strojno se jih zapiše več) in tudi vedno prebere 8 bitov (kako niti ni pomembno saj je ta stvar globoko v strojni kodi). Če se to ne zgodi gre za okvaro (diska) in napako.

Potem imaš še en nivo kontrole ki se imenuje FS (filesystem), tudi ta ima mehanizme za zaznavo napak in za kontroling. Tukaj je več tehnologij, ampak vsak sodobni FS zna poskrbeti za NE-izgubo podatkov v primeru manjše napake. Večje napake se zabeležijo in na tiste sektorje diska se ne piše (t.i. slabi sektorji).

Zadnji nivo pri izgubi podatkov je na sami aplikaciji, bodisi se uporabljajo interni checksumi ali pa celo podvojen zapis. Večina (vsi) kodekov (ko si že omenil filme oz. slike) ima interni algoritem za rekonstrukcijo in je podatkov več kot jih je načeloma potrebnih, torej bi za izgubo podatkov potreboval kar nekaj napak.

Kar se tiče izvajanja binarne kode spet ni res da če manjka en bit da bo vse ok. Samo zaporedje binarne kode se izvaja po nekem vrstnem redu in če ti vmes "manjka" en bit se program sesuje. Kako je potem po tvojem s šifriranjem datotek in map? Ali pa s stiskanjem? Tukaj je en bit tako pomemben da bi izguba vodila v izgubo celotnih podatkov .. pa ne vem če se to dogaja dnevno.

Skratka na strojnem nivoju - na nivoju fizičnega zapisa 1 in 0 na sam disk prihaja redno do napak, ki pa so normalne in v svetu računalništva. Te napake (so več ali manj naključne) nikakor ne vplivajo na delovanje računalnika in jih uporabnik ne more zaznat. Če je napak na površini diska (pre)več se jasno to lahko opazi kot napaka, ampak ta napaka je zaznana tudi s strani OSja in se potem sam FS potrudi da tja ne piše (bad sector)!

Sicer pa enostaven preizkus kako dober je HW cheksum lahko vsak naredi na CDju, zapišeš podatke in se potem malce igraš z olfičem ali pa spajkalom -> tudi ko uničiš velik del "podatkov" se še vedno da prebrati vsebino, če pa se uniči (pre)več podatkov se bo pa tudi videlo kako sistem (FS, OS) to zazna in kaj naredi (recimo daš na CD slike pa probaš, isto narediš s programi, zip datotekami ...).
 

Utisevalec

Guru
12. nov 2007
16.151
4.132
113
RAID deluje na osnovi FS in nima veze z strojnimi podatki (tudi (redko viden) strojni RAID je en layer višje od HW zapisa). Po domače povedano imaš lahko na enem disku podatke zapisane na zunanjem delu plošče na drugem pa na notranjem delu pa to ne moti RAID polja.

Sicer pa RAID array deluje po principu zapisa "fragmentov" (block) ki so tudi osnova za preverjanje in imajo lastno kontrolo. ČE zapišeš podatke na dva diska in nato prebereš primerjaš dva bloka podatko. Če sta ista je OK, če nisa imaš napako ... mehanizmo za odpravljanje takih napak pa je več (recimo preverjanje checksuma). Ampak v osnovi so take napake tako redke da se reševanja podatkov na tak način ne dela - ponavadi fizično crkne en disk in to se jasno opazi, tako do podatki iz drugega diska absolutno pravilni.