La quetione capacità
Perché ci sono sempre delle differenze in termini di spazio e anche non di poco conto, rispetto a quanto dichiarato dai produttori e quanto effettivamente disponibile per l'utente? Cerchiamo di capirlo guardando anzitutto ai dati dichiarati, in questo caso, da ADATA (il ragionamento vale allo stesso modo per tutti i produttori di hard disk, SSD ed altre unità di storage):
Capacità dichiarate per gli SSD ADATA SX900 | ||||
Modello |
64GB | 128GB | 256GB | 512GB |
Capacità dei chip NAND | 64GiB | 128GiB | 256GiB | 512GiB |
Capacità disponibile per l'utente | 59,6GiB | 119,2GiB | 238,4GiB | 476,8GiB |
Capacità di storage | 240GB | 256GB | 240GB | 256GB |
La capacità massima di un disco SSD data dalla somma delle capacità dei singoli chip di memoria non è mai quella che l'utente può avere a disposizione per memorizzare i suoi dati. Questo comportamento è dettato da più fattori:
- Capacità necessaria per memorizzare le informazioni fisiche del disco che viene consumata durante la formattazione.
- Differenza di interpretazione fra GB (gigabyte) e GiB (gibibyte).
- Capacità necessari al controller SSD per mantenere inalterato il livello prestazionale e gestire le operazioni di scrittura sul disco.
Con i primi due punti abbiamo ormai imparato a convivere da anni: giusto per ricapitolare quando un dispositivo di storage viene formattato, il sistema al suo interno scrive alcune informazioni utili alla sua gestione (capacità, informazioni fisiche, tabella delle partizioni) che ovviamente occupano un certo spazio sottratto a quello complessivo. La differenza fra gigabyte e gibibyte nasce da una confusione storica perpretata da Microsoft nei sistemi Windows ove la capacità espressa in gibibyte (GiB) viene indicata in gigabyte (GB).
Per intendersi, il prefisso "Giga" è utilizzato per indicare un valore numerico di 10^9: applicato al numero di byte questo dovrebbe semplicemente significare 1.000.000.000 di byte. Il prefisso "Gibi", invece, indica un valore di 2^30 o meglio 1024^3; tradotto ancora in numero di byte otteniamo 1.073.741.824 byte, leggermente superiore al miliardo indicato dal prefisso Giga. Microsoft, e dunque tutti i principali player, hanno storicamente fatto l'errore di abbreviare gibibytes con GB che invece è l'abbreviazione di gigabyte.
Per i dischi SSD esiste un ulteriore motivo di riduzione dello spazio, anzi due. La tecnologia per la gestione delle memorie NAND flash, indicata come RAISE o Redundant Array of Independent Silicon Elements che sfrutta la capacità di un chip per i dati di parità (presente nella maggior parte dei prodotti basati su controller SandForce ed anche altri) ed il fattore di over-provisioning del quale si ha bisogno per realizzare correttamente le funzioni di sostituzione dei blocchi rovinati, garbage-collection e wear leveling.
Così un SSD da 128GB (che vi ricordiamo non essere in realtà da 128GiB) prevede un chip di memoria (8GiB) dedicato alla tecnologia RAISE e necessità di quasi 9GB per l'over-provisioning. Queste sono le condizioni tipiche per un SSD basato su controller SandForce, esattamente come il modello propostoci da ADATA. Ma quali compromessi ha dunque raggiunto il produttore per garantire maggior spazio di storage all'utente? Semplicemente disattivando la tecnologia RAISE (la parte dedicata all'over-provisioning, come detto, non può essere completamente disattivata) e ottenendo così ulteriori 8GiB per memorizzare dati. Questa possibilità, d'altro canto, è già contemplata dai controller SandForce della serie SF-2200 e ADATA non ha fatto altro che implementarla; e visto che altri produttori usano lo stesso approccio per dischi con capacità di 64GB, per avere un vantaggio anche in tal caso ADATA ne ha ridotto lo spazio dedicato all'over-provisioning.
Qual'è il risvolto della medaglia? Aumenta la possibilità di perdita di dati seppure SandForce abbia da sempre affermato che la tecnologia RAISE è davvero necessaria solo per carichi di lavoro enterprise visto che il controller prevede comunque un motore di correzione dell'errore ECC basato su algoritmo BCH a 55-bit.
Capacità dichiarate per gli SSD | |||
ADATA SX900 256GB (SandForce SF-2281) |
Corsair Force GS 240GB (SandForce SF-2281) |
SSD OCZ Vector 256GB (Indilinx Barefoot 3) |
|
Capacità dei chip NAND | 256GiB | 256GiB | 256GiB |
Capacità disponibile per l'utente | 238,4GiB | 224,2GiB | 238,4GiB |
Capacità indicata | 256GB | 240GB | 256GB |
In base a quanto detto, dunque, la capacità di storage disponibile per l'utente che acquista un SSD ADATA SX900 da 256GB sarà esattamente la stessa di quella di altri modelli basati su controller non-SandForce quali quelli della famiglia Indilinx che non fanno uso della tecnologia RAISE.