Sempre cal llegir la lletra petita de les especificacions i els disc durs tenen una molt curiosa, el "error rate".
Aquest errors que es produeixen cada N bits (on N és un número força gran) amb el temps acaben generant degradació de dades. Depenent d'on caigui l'error pot ser més o menys greu, un píxel en un fotograma que no es nota o si cau en un lloc sensible potser el fitxer queda mal parat. I això sense arribar a tenir sectors defectuosos.
Aleshores suposem que tenim molts i molts fitxers, que ocupen gigues i gigues i els volem guardar durant molt temps, uns quants anys. Per exemple les fotos i vídeos de les vacances.
El primer que cal garantir és que si falla el disc mecànic no ens quedem sense dades, això s'aconsegueix tenint les dades duplicades en més d'un disc. Ok, fins aquí anem bé, però dupliquem els bits que es poden corrompre.
Però això no garanteix que el disc no s'equivoqui llegint les dades, i com hi ha més d'una còpia quina és la bona? I si al disc dur li surt un sector defectuós com saps el fitxer afectat i que necessites fer servir la còpia bona?
He estat pensant com enfocar aquest problema i penso que les funcions de hash són una bona solució. Una funció de hash donada una entrada sempre dóna el mateix resultat. Si hi ha la més mínima variació en l'entrada, per exemple un bit que està corromput aleshores el resultat canvia. Cal fer una base de dades amb els fitxers i el seu corresponent hash calculat. Cada X temps es torna a recalcular i es compara amb el que hi ha a la BBDD, si és diferent vol dir que el fitxer està corromput.
Ja seria mala pata que totes les còpies del fitxer estiguessin corrompudes al mateix moment. Es pot saber quina és la bona i tornar-la a copiar, eliminant la corrompuda.
#05/05/2017 11:18 Programació Software Autor: Alex Canalda