Nell'acquisto di dispositivi di archiviazione spesso è difficile comprendere le differenze tra dischi e SSD di tipo Sata o Sas, tra prodotti di fascia consumer, Nas o Enterprise: le differenze di prestazioni in generale non giustificano il prezzo più elevato. Cerchiamo di capire cosa cambia in termini di affidabilità e tecnologia. 

Basta aprire il sito di qualsiasi fornitore hardware e sfogliare la sezione "dischi" per trovare - anche rimanendo su un unico produttore - una scelta estremamente ampia di dispositivi, che va ben oltre la combinazione SSD o disco tradizionale, prodotto consumer o di fascia server/Enterprise. 

In quest’ottica una semplice distinzione tra le connessioni Sata e Sas non è sufficiente a giustificare la varietà. Esistono modelli differenti sia internamente sia dal punto di vista della connessione, così come dal punto di vista dell’utilizzo.

Iniziamo a fare qualche distinzione, concentrandoci sui dischi tradizionali da 3,5 pollici con rotazione a 7.200 giri. Possiamo chiaramente identificare almeno 4 tipologie di dischi:

  1. SATA Consumer (ad esempio Seagate Desktop HDD, WD Blue, WD Green), per uso 5 gg alla settimana, 8 ore al giorno
  2. SATA uso NAS (Seagate NAS HDD, WD Red) per uso 24h ma con trasferimento dati limitato
  3. SATA uso NAS aziendale (Seagate Enterprise NAS HDD, WD Red Pro) per uso 24h con uso dati intensivo
  4. SAS Enterprise (WD RE SAS) per uso in ambito server

In questo elenco abbiamo già semplificato un pochino le cose poichè molti produttori hanno introdotto ulteriori variazioni sul tema e moltissimi modelli differenti. Inoltre se prendiamo in considerazione il mondo server naturalmente ogni produttore (HP, Dell, Lenovo, Fujitsu...) avrà i suoi modelli prodotti magari dagli stessi brand citati qua sopra ma modificati e adattati con firmware proprietario. 

In questo articolo vorremmo però concentrarci sull'integrità dei dati, cercando di capire realmente cosa cambia per ciascuno di questi dischi se l'obiettivo primario è la conservazione dei dati.

Sas e Sata: dischi e connessioni

001 Sata vs Sas

Un disco con connessione Sata, in alto, e con connessione Sas, in basso. I dischi hanno lo stesso fattore di forma, ma connessioni diverse.

E' importante comprendere che Sas e Sata rappresentano due aspetti separati dell’intero panorama. Spesso si identificano dischi specifici con caratteristiche ben definite come dischi Sas o dischi Sata. Questo è vero solo in parte in quanto il disco, in sé, in teoria non è molto differente; quello che cambia principalmente è il canale di comunicazione, l’interfaccia e i comandi utilizzati. Ad esempio la linea RE di Western Digital prevede modelli SATA e SAS, anche se con parametri comunque leggermente differenti. 

Il parametro più importante per valutare l'affidabilità di un sistema di storage è l'Hard Error Rate, ovvero un numero fornito dal produttore che indica il numero medio di bit letti prima di incontrare un errore hardware nella lettura di un settore. Tutti i dischi, prima o poi, incontrano dei problemi nella lettura di uno specifico settore, dovuti a usura, a smagnetizzazione o ad altre cause specifiche. Dischi più avanzati hanno una costruzione tale da rendere meno probabile un errore di questo tipo che comporta, forzatamente, l’impossibilità di accedere a tutti i dati contenuti in quello specifico settore (tipicamente un blocco da 4 Kbyte).

Tipo di discoHard Error Rate (bit)Hard Error Rate (Byte)In Tbyte
Sata Consumer1.00E+141.25E+13 11
Sata/Sas Middle Enterprise1.00E+151.25E+14 114
Sas/Fc Enterprise1.00E+161.25E+15 1,137
Sas Ssd Enterprise1.00E+171.25E+16 11,369
Nastro1.00E+191.25E+18 1,136,868

come riferimento abbiamo utilizzato:
Sata consumer: Seagate Desktop HDD o Western Digital Blue (1e14)
Sata/Sas Middle: Seagate NAS o Western Digital Red Pro (1e15)
Sas/Fc Enterpise: Western Digital RE (1e16)
Sas/Ssd Enterprise: Seagate 1200.2 Ssd (1e17)
Tape: Ibm Tape Storage (1e19)

Nella tabella possiamo notare come i dischi Sata normalmente venduti abbiano un Hard Error Rate, spesso descritto nelle specifiche tecniche come “Nonrecoverable Read Errors per Bits Read”, piuttosto basso, fissato a 1E14 bit. Questo significa che (all’incirca) ogni 11 Tbyte letti, si incorre in un errore di lettura non ripristinabile e che quel settore va bloccato e diviene illeggibile. Questi dischi sono i tradizionali modelli presenti nei sistemi desktop o similari, realizzati di solito solo con connessione Sata e adatti per un utilizzo consumer ma difficilmente utilizzabili in ambito workstation o enterprise, dove 11 Tbyte di dati letti (in media) prima di un errore hardware risultano davvero pochi e fonte di problemi.
I modelli più avanzati, per progettazione e realizzazione, si presentano con un Error Rate più elevato di un ordine di grandezza, permettendo una media di dati letti prima di un guasto di oltre 100 Tbyte. Questi modelli sono disponibili sia con connessione Sata sia con quella Sas, dimostrando come non sia il solo canale di comunicazione a rendere più o meno resilienti dei dischi di archiviazione.

Modelli più avanzati, dotati delle sole connessioni Sas o Fiber Channel, hanno Error Rate Rate ancora superiore, con oltre 1.000 Tbyte di dati letti prima che sopraggiunga un errore hardware. La differenziazione delle connessioni è relativa solitamente solo al contesto di utilizzo. Nulla vieta di creare dischi Sata con tali caratteristiche, ma il loro utilizzo in sistemi consumer sarebbe sovradimensionato.
I produttori preferiscono differenziare i propri modelli per tipo di connessione, offrendo dischi con elevata resistenza ai guasti nei sistemi che davvero la richiedono e sono dotati di controller e schede di gestione più avanzate e dedicate. 

Oltre tali prodotti si entra nel regno degli Ssd Enterprise, con valori molto elevati (oltre 10.000 Tbyte) e dei sistemi di archiviazione su nastro, con valori di cento volte superiori.

Raid: aiuto o problema

Facciamo un esempio parlando di Raid. Ipotizziamo una semplice catena composta da 4 dischi Sata semplici da 6 Tbyte in modalità Raid 5, soluzione comune che permette di avere a disposizione uno spazio di 18 Tbyte totali protetto dalla rottura di un disco. Se uno dei dischi si dovesse guastare il sistema funzionerebbe ugualmente fino alla sua sostituzione con un nuovo modello. A quel punto la procedura di ricostruzione della catena consiste nella lettura dell’intero filesystem dei tre dischi rimasti e la scrittura dei dati di parità sul nuovo inserito. Se però noi stiamo utilizzando dischi di tipo Consumer ad esempio la rilettura completa degli altri tre dischi - se il sistema è pieno o quasi - farebbe raggiungere quota 6 Tbyte (per disco), un valore pericolosamente vicino ai 10 Tbyte che questa categoria di dischi supporta mediamente.

Questo significa, dovendo fare tale operazione su tre dischi differenti, che la probabilità che durante la ricostruzione della catena Raid si possa incappare in altri errori è davvero elevata. Errori che possono portare a nuove riletture dei dischi, avviando un circolo vizioso da cui è difficile uscire.

Se fino a qualche anno fa, con dischi con capacità massima misurata in Gbyte, il problema non sussisteva, al giorno d’oggi con modelli così capienti, questo problema è particolarmente attuale e riduce significativamente l'efficacia di un sistema così diffuso come il Raid. Esistono dischi da 8 Tbyte che rischiano di poter essere letti una volta sola prima di incappare (in maniera statisticamente probabile) in un errore hardware. Per questo motivo per tipologie di archiviazione dedicate ai professionisti o alle piccole imprese, è necessario dotarsi di dischi che offrano una resilienza superiore, che possano supportare valori decine o centinaia di volte superiori, mettendosi parzialmente al riparo da questi scenari poco piacevoli.

Dischi Enterprise hanno un ratio di errori molto inferiore ai modelli consumer (ho evitato accuratamente di distinguerli sommariamente come Sata e Sas, in quanto fino a questo punto la connessione utilizzata è un aspetto secondario della questione), e sono da preferire qualora l’integrità dei dati sia una priorità assoluta a livello personale o aziendale.

Inoltre se si lavora con dischi di dimensione elevata - come 4, 6 o 8 Tbyte - è bene ripensare al livello di protezione che possono dar tecnologie come il Raid 5, considerando oltre al rischio di perdita dati anche il tempo necessario a ricostruire un disco in caso di guasto. Durante tutto quel periodo infatti si ha una riduzione di prestazioni e non c'è alcuna protezione da un secondo guasto. Meglio considerare dunque soluzioni più affidabili come il Raid 10 o il Raid 6 che tollerano più di un guasto o valutare file system (Zfs) e architetture alternative (erasure coding).

Integrità dei dati e corruzione silente

L’importanza dell’integrità dei dati è direttamente proporzionale al loro valore. Siano essi fotografie dei propri figli (e il valore si misura in termini prettamente affettivi) siano progetti chiave per l’azienda (e qui il valore assume connotati più tangibili), molti dati hanno un valore elevatissimo. Perdere dati archiviati per via di un errore hardware o per la corruzione degli stessi comporta costi altissimi in termini di recupero e di tempo (quando possibile). Per ovviare a questo è importante adottare tutte le strategie possibili per prevenire questa situazione, utilizzando risorse maggiori proporzionalmente al valore che gli attribuiamo.
Oltre agli errori hardware di cui abbiamo già parlato, esistono altre possibilità di errore, più subdole e, per questo, molto più complesse da gestire. La prima è chiamata Silent Data Corruption, ovvero corruzione silenziosa dei dati.

A differenza di errori hardware, subito evidenti e sbandierati dall’impossibilità del sistema di accedere fisicamente al dispositivo, esistono errori che risultano tali solo dopo del tempo, quando si cerca di accedere al file incriminato. Immaginate di voler scrivere in un file la parola “Caso” e che, nel processo di trasmissione dei dati al disco venga scritta la parola “Cosa”. Si tratta di un errore di comunicazione, una serie di bit che, per qualche motivo, hanno cambiato ordine modificando il significato dell’intera parola. Solo quando si legge il dato ci si rende conto che quanto salvato non è corretto, portando a grossi problemi di recupero di quanto originariamente creato.
Come prevenire tali situazioni? Ci sono due modi fondamentali: basati sui protocolli di comunicazione e sul filesystem del disco.

Prevenire: i protocolli di comunicazione

Il disco non è l’unico punto delicato per l’integrità dei dati. Questi elementi devono infatti essere inviati dal controller del sistema a quello del disco tramite un canale di comunicazione che - per la sua stessa natura elettronica - è soggetto ad errori. Se il sistema invia una stringa di bit di un certo tipo e il controller disco riceve una stringa diversa, il problema è nel canale e il disco presenterà dei dati corrotti senza che la colpa sia imputabile direttamente ad esso.

La connessione Sata, studiata per privilegiare la semplicità di connessione e di gestione, implementa pochi accorgimenti atti ad evitare questi problemi, accorgimenti che vengono invece impiegati su standard di tipo Enterprise. Anche per i canali di comunicazione esiste un indicatore simile al precedente, chiamato SDC (Silent Data Corruption) che permette di valutare in prima istanza l’affidabilità di una connessione. Il normale standard Sata ha un SDC che va da 1E15 a 1E17, mentre i più avanzati Sas o Fiber Channel arrivano a 1E19 o 1E21.

Numero di errori all'anno con velocità di trasferimento media di:
Silent Data Corruption Rate (bit)10 MB/s100 MB/s500 MB/s1 GB/s
Sata Standard10000000000000002.626.5132.3264.5
Sata 310000000000000000000.31.32.6
Sas92233720368547758070000
FC1.0E+210000

Con questi valori è facile intuire come l’utilizzo di connessioni Sata standard in ambiente Enterprise comporti, quasi sicuramente, l’introduzione di una serie di errori silenti nei dati, corrompendoli ancora prima di venire scritti sul disco.

Il Sas utilizza invece un protocollo specifico dotato di scambi di informazioni e registrazione della parità dei dati, che limita enormemente gli errori di questo tipo. Nella pratica ad ogni scambio di informazione viene inserito anche un checksum finale che garantisce che il pacchetto trasmesso sia il medesimo di quello ricevuto. Anche in questo caso se gli errori sono multipli si può avere una casualità di errore, ma con un ratio decisamente inferiore rispetto a quello proprio dello standard Sata. Ancora superiore risulta essere la connessione via fibra ottica, FC (Fiber Channel), che utilizzando la luce anziché semplici segnali elettrici, permette di incrementare in maniera netta la resistenza alle interferenze e, di conseguenza, la robustezza del collegamento.
Ovviamente qualora i dischi in un sistema di storage fossero più di uno, questi dati vanno sommati tra loro, trovandosi ci colpo ad avere la certezza che, nel giro di poco, qualche errore silente di corruzione dati possa capitare.

Il file system come cura

Anche in sistemi più avanzati, con dischi Enterprise e con connessioni SAS o FC, gli errori irreversibili di lettura possono però accadere. I valori citati precedentemente sono infatti la media e indicano la resilienza globale dei prodotti e dei canali di comunicazione. Purtroppo può capitare che dopo pochi Tbyte letti si incappi in qualche problema, anche se è statisticamente molto meno probabile su dischi di fascia superiore rispetto ai comuni modelli Sata e su connessioni in fibra rispetto a Sata. Chi vuole maggiori garanzie sul fronte dell'affidabilità può dunque intervenire anche su di un altro aspetto operativo, ovvero il filesystem adottato dai dischi.

Iniziamo con una precisazione: agire sul filesystem significa adottare un tecnica che permette di scoprire gli errori avvenuti nella scrittura o nella lettura del dato e cercare di risolverli. L’identificazione dell’errore avvenuto, soprattutto se silente, è di solito molto difficile. Bisogna utilizzare un file system che nelle sue specifiche abbia proprio il riconoscimento degli errori silenti. 

ZFS, progettato originariamente da Sun, è uno dei file system più apprezzati in ambito enterprise proprio per la sua resilienza agli errori. Chiamato così per via dello spazio di indirizzamento enorme a 128 bit (ZFS significa Zettabyte File System) si caratterizza però per alcuni aspetti di sicurezza dati molto interessanti.

Questo filesystem calcola il checksum a 256 bit di ogni blocco scritto sul disco e lo memorizza all’interno del puntatore di quello specifico blocco. All’interno dello stesso puntatore viene scritto anche un checksum del checksum del blocco. Quando un blocco viene letto il suo checksum viene comparato con quello precedentemente salvato. Se corrisponde il dato viene considerato valido e trattato in maniera normale, mentre se è errato viene considerato rovinato l’intero blocco ed estratto nuovamente dalla modalità Raid selezionata (Mirroring o Raid superiori). Grazie a questa particolarità è possibile identificare una buona percentuale dei dati corrotti per colpa del canale di trasmissione o per un’errata scrittura su disco di singoli byte. La probabilità che anche sul secondo disco (o sugli altri della catena) il dato sia arrivato in maniera errata per colpa del canale è davvero bassissima.

In questo caso Raid e filesystem agiscono insieme per risolvere parzialmente i problemi della connessione Sata, ma applicano gli stessi miglioramenti anche alle connessioni Sas o Fiber Channel, contribuendo a rendere ancora più sicure tali interfacce. ZFS non richiede poi un controller dei dischi in grado di gestire un sistema Raid, ma lo implementa a livello software con un sistema per certi aspetti più robusto. Ha in ogni caso delle modalità analoghe a quelle Raid (ad esempio Mirror equivale a Raid1, Raid-Z equivale a Raid 5): ve ne parleremo nel dettaglio in un articolo che apparirà nei prossimi numeri.

In conclusione ci troviamo ad affrontare un situazione piuttosto chiara: per garantire l’integrità dei dati sono necessari accorgimenti su più fronti; uno solo non è sufficiente. I dischi di livello Enterprise mettono al riparo da errori hardware, con un ratio molto superiore a quello dei normali dischi consumer. Anche la connessione gioca un ruolo importante, con la Sata che risulta meno resiliente rispetto a Sas o Fiber Channel. Questi due accorgimenti da soli valgono una buona dose di protezione, mentre l’adozione di un file system avanzato permette di proteggersi da problemi come la corruzione silente dei dati.

L'autore

Davide Piumetti

Davide Piumetti

Laureato in ingegneria delle telecomunicazioni lavora nel settore del giornalismo informatico da oltre 10 anni, collaborando con storiche realtà del settore sia sul web sia cartacee. Vanta lunghe collaborazioni con PcTuner, PC Professionale, Panorama e altri siti indipendenti. Esperto nella materia hardware e appassionato di tecnologia e scienze applicate, utilizza un approccio scientifico all'analisi di componenti e piattaforme.

Si occupa principalmente di argomenti tecnici come processi produttivi, Cpu, schede madri, sistemi di storage e integrazione hardware di sistemi distribuiti.