Gestione
Errori
Nelle
informazioni
digitali
Errori
• esempi
“ITALA” raid Pechino-Parigi del1907
16.000Km in due mesi! Quante gomme di scorta!
Gestione degli Errori nelle
informazioni digitali
•
•
•
•
Cosa è un errore?
Che danni provoca?
Rilevazione!
Correzione?
Cos'è un errore?
Una informazione digitale...
Bit, gruppo di bit...
Si corrompe, diventa illeggibile.
DOVE si verificano gli errori?

Memorie volatili

Memorie permanenti

Trasmissione dati

Processori
Che DANNI può provocare?
Da “quasi nulla” (corruzione di qualche pixel
in una immagine digitale da milioni di pixel
o di parte di un fotogramma di un filmato o
di prte di una stupidata postata sui social)
A disastri epocali con danni economici
enormi e perdita di vite umane (programmi
di gestione di una centrale nucleare o di
un aeroporto che fanno “pasticci”)
Gli Errori possono essere



Non rilevati e quindi ignorati
Rilevati
Corretti oppure no
Gestione errori
Introducendo una sufficiente ridondanza nei
dati si possono rilevare e anche
correggere certi errori
Ogni volta che una informazione viene letta
se ne verificano i codici di rilevamento
errori associati
Ogni volta che si scrive....vengono generati i
codici
Errori “hard” e “soft”
Hard error: ripetibile, da SEMPRE errore.
es: un bit che è sempre Zero qualunque
cosa si cerchi di scrivergli sopra.
Soft error: (transiente) errore subdolo e
carognesco che a volte c'è e a volte no.
Es: la memoria supera il test poi funziona
male, ma non sempre.
Esempio delle memorie RAM
RAM senza parità
RAM con parità
RAM ECC (Correzione Errori)
Con la parità orizzontale e verticale...
Il controller di memoria
A volte integrato nel chip del processore,
deve supportare la gestione della parità o
ECC.
Ovvero controllare e generare i codici di
parità/ECC
Memoria RAM: cosa accade in
caso di errore?
• Memoria senza parità (quella del tuo PC o el tuo
smartphone, che fa schifo!)
–
Nessuna rilevazione errore, si procede
comunque (errori? Chi se ne frega! evviva!!)
• Con parità (1 bit in più per ogni byte)
–
–
Rilevazione di alcuni errori (quelli doppi no)
Nessuna correzione
• Con ECC: 8 bits in più per ogni quadword (64
bits)
–
–
Rilevazione e correzione errori singoli
Rilevazione errori doppi (molto rari)
Cosa accade in caso di errore
su RAM?


Errore correggibile: viene corretto
Errore non correggibile:
–
–
–
–
–
Rilettura dati da disco (retry)
Terminazione processo
“Eliminazione” della pagina di RAM guasta
Terminazione sistema
Diagnostici di memoria
Dove si usano le memorie
ECC?

Applicazioni in cui errori di elaborazione
possono provocare gravi danni e quindi
non sono ammessi




Calcolo finanziario
Calcolo scientifico
Gestione di sistemi complessi e critici
Vite umane, soldi
Parità ed ECC: quanto costano?

Parità: un bit in più ogni 8.

Ovvero 12,5% di ridondanza

ECC: 8 bit ogni 64

Ovvero sempre 12.5%

Prezzi: es: dimm ddr3 da 4GB su Amazon.it



No Parity 13-20€
Parity (??)
ECC 30€
Memorie (serie) ECC: dove?
Server, workstations, minicomputers,
mainframes
Memorie di massa
HDD, CD, DVD, BD, schedina, pennina
USB SSD, SSHD ecc
Codice di correzione errori per blocco
Es BD: 64KB blocco xxx ECC

Retry (ottico) e

Correzione errori molto potente
A: traccia
B: settori
(blocchi)
C: un
settore
D: cluster
Hard Disk Drive (HDD)
Settori di 512, 1024, 2048, 4K bytes
Per ogni settore ci sono header, dati e ECC
Header: sync bytes, address identification,
flaw flag e header parity bytes.
Hard disk
Ogni hard disk ha settori di riserva in ogni
traccia e tracce-cilindri di riserva
Li utilizza per rimpiazzare settori-tracce
“rovinati”
Memorie ottiche:
Correzione errori Reed Solomon
CD ROM: Blocchi di 2,048 Bytes, per ogni
blocco ci sono 280 Bytes di ECC.
corregge fino a 4000 bit consecutivi
rovinati!!.
DVD:
BD: 64KB per blocco
Comunicazione dati
Protocolli di rete
HDLC, TCP, IP, ATM ecc
Il “checksum” rileva errori e poi si richiede la
ritrasmissione
Header TCP
La FEC
• Viene rilevato un errore:
– Avviene una Ri-lettura
– Si richiede una Ri-trasmissione
– Ma a volte non si può
– Allora FEC (Forward Error Correction)
Esempi: trasmissioni monodirezionali
broadcast radio, TV DVB, DAB, sonde
spaziali
Forward error correction (FEC)
• Codici Hamming
• Richiede molta ridondanza
Nuovo tentativo
• Viene rilevato un errore:
– Avviene una Ri-lettura
– Si richiede una Ri-trasmissione
– Ma a volte non si può
Integrity check sui files
Message Digest MD5 checksum, MD5 Hash ecc
(firma digitale)
52bc309e11259af15e4623c7a0abc28c
Ricava un codice di 128 bit dal contenuto del file
Es: emule
Una volta ottenuto il file intero si verifica se è corrotto
confrontando gli MD5
CRC (32)
Memorie ottiche (CD, DVD, BD)
Il TOP
della gestione errori




Sono i sistemi “Fault tolerant” in cui tutto è ridondato
e si può guastare ma il sistema continua a
funzionare!!!
Il livello di ridondanza è esteso a tutti i componenti:
CPU, RAM dischi, alimentatori, rete ecc ecc
TUTTO è almeno doppio
Costano cari e si utilizzano dove un guasto può
provocare perdita di


vite umane
e-o di una “barca” di soldi.
Sistemi “fault tolerant”
FINE