Quando si acquista un nuovo hard disk o una nuova unità SSD, oltre alle varie specifiche relative al fattore di forma e all’interfaccia utilizzata, si fa attenzione alla capacità indicata dal produttore. Dopo aver installato l’unità, però, il computo dello spazio disponibile rilevato da Windows quasi mai coincide con la capienza dichiarata. Perché?
Per i produttori dei dispositivi di storage, sia che si parli di un disco rigido tradizionale, di un SSD, di un’unità esterna o di una semplice chiavetta USB, un chilobyte (1 KB) equivale a 1.000 byte, un megabyte (1 MB) a 1.000 KB, un gigabyte (1 GB) a 1.000 MB.
Per Windows, invece, 1 KB equivale a 1.024 byte, 1 MB a 1.024 KB, 1 GB a 1.024 MB. Un hard disk o un SSD presentati all’acquisto come da 500 GB, quindi, per Windows saranno capienti poco più di 465 GB, un’unità da 1 Terabyte (1.000 GB) risulterà capiente circa 931 GB.
Il funzionamento dei calcolatori si basa sul sistema binario che utilizza soltanto le cifre 0 e 1, come abbiamo visto nell’articolo Codice binario, bit e byte: cosa c’è da sapere.
I produttori di dischi, unità SSD e supporti per lo storage dei dati sono invece soliti usare le potenze del 10. Di contro, i sistemi operativi e gli sviluppatori usano le potenze del 2 tanto che il gigabyte binario viene indicato come 230 byte ovvero 1.024 MB.
L’unità di misura utilizzata da Windows, quindi, non è propriamente il gigabyte ma il gibibyte così come è stato definito dalla Commissione Elettrotecnica Internazionale (IEC) nel dicembre 1998.
Per ottenere il fattore di conversione che permette di passare da gigabyte a gibibyte e viceversa è sufficiente una semplice operazione matematica: 230 / 109
dove il numeratore è 1 gibibyte e il denominatore 1 gigabyte (ovvero la cifra “uno” seguita da nove zeri).
Dividendo ad esempio 500 GB per il numero che si otterrà (1,073741824
), si avrà come risultato 465 GB circa, esattamente il quantitativo di spazio riportato nella finestra delle proprietà di Windows.
Moltiplicando per lo stesso coefficiente si può evidentemente passare da gibibyte a gigabyte ma se si volesse effettuare i conteggi in modo ancora più rapido, suggeriamo di digitare nella casella di ricerca di Google “conversione gigabyte gibibyte“.
Differenze rispetto alle capacità pubblicizzate, nel caso degli SSD possono avere a che fare anche con l’over provisioning, tecnica che consiste nel riservare una parte della memoria disponibile sull’unità per il funzionamento del controller.
Utilizzando l’over provisioning il controller può rigenerare i blocchi contenenti informazioni non più valide e, ad esempio, unire pagine che ospitano dati utili: con un SSD praticamente pieno queste operazioni non sarebbero effettuabili in maniera efficiente e sicura. Ne abbiamo parlato nel dettaglio nell’approfondimento SSD, come funzionano le tecnologie che li rendono più veloci (vedere anche SSD, differenze tra le unità consumer e quelle destinate alle imprese).
Nel caso delle memorie RAM non funziona così e se acquistiamo per esempio un modulo da 16 GB si otterrà la reale capacità pubblicizzata: in questo caso 16.384 MB ovvero 16 x 1024 MB.
Cliccando con il tasto destro su una cartella, inoltre, e osservando i valori riportati accanto alle voci Dimensioni e Dimensioni su disco si noteranno indicazioni diverse che in alcuni casi possono evidenziare scostamenti tutt’altro che irrilevanti.
Questo è un tema diverso che ha a che fare con la dimensione dei cluster impostata sull’unità per la memorizzazione dei dati.
Se un hard disk fosse formato da cluster di 512 byte, ogni file di dimensioni inferiori a 512 byte occuperà comunque 512 byte sul disco ingenerando una discrepanza tra i valori Dimensioni e Dimensioni su disco.
Abbiamo esaminato la questione nel nostro articolo Dimensioni e dimensioni su disco: che differenza c’è nella memorizzazione dei file?.