Intel X-25M SSD in test, con molte sorprese

Intel X-25M SSD in test, con molte sorprese

Intel ha recentemente presentato il primo dei propri dischi SSD, X25-M da 80GB. Equipaggiato con chip MLC, tale unità vanta valori dichiarati di transfer rate da far impallidire il più performante disco tradizionale, non solo desktop. Ne abbiamo approfittato per spingerci più a fondo nell'indagine sulle prestazioni dei SSD, scoprendo cose molto interessanti.

di pubblicato il nel canale Storage
Intel
 

Wear Leveling e Write Amplification

Passiamo ora ad analizzare nello specifico alcune problematiche legate al mondo dei Solid State Drive, ed anche alle modalità studiate dalle aziende produttrici per aggirarli o risolverli. Abbiamo detto che un Solid State Drive è realizzato utilizzando alcuni moduli memoria, siano MLC o SLC, un controller ed uno chassis, che ne determina il cosiddetto "form factor" e che li rende utilizzabili nei PC portatili e non solo senza ricorrere a riprogettazioni degli spazi interni. Un SSD da 1,8" o da 2,5" sarà quindi fisicamente identico, per ingombri e posizionamento delle filettature delle viti di fissaggio, a qualsiasi altro disco tradizionale di pari "form factor".

Concettualmente i Solid State Drive non sono diversi dai dongle USB comunemente usati per l'archiviazione personale o dalle schede memoria SD, CF e via dicendo. A cambiare sono, oltre le dimensioni, la tipologia dei chip (anche se non sempre), ma soprattutto il controller, vero punto di forza degli SSD. Per garantire prestazioni in linea o superiori a quelle degli hard disk tradizionali, i chip memoria devono in pratica "unire le forze", non potendo contare su valori di trasfer rate, presi singolarmente, comparabili a quelli dei dischi a piatti rotanti. Per quanto riguarda invece i tempi di accesso nessun problema: l'assenza di parti in movimento permette già di avere latenze un migliaio di volte inferiori.

Ecco dunque che entra in gioco il controller, la cui logica di gestione risiede nel firmware ed è quasi sempre proprietaria per ogni produttore. Intel, nei propri SSD X25-M, utilizza un controller a 10 vie, ovvero riesce ad accedere a 10 blocchi logici contemporaneamente, in lettura ed in scrittura. Questo permette, ragionando grossolanamente, di arrivare a transfer rate molto elevati, in quanto somma dei transfer rate di ognuno dei blocchi interessati. Ecco spiegato perché esistono SSD con differenti transfer rate, pur equipaggiati con la stessa tipologia di chip.

I chip memoria hanno però un problema intrinseco, soprattutto quelli di tipo MLC, ovvero una vita media non molto lunga in termini di cicli di lettura/scrittura. Si parla di circa 10.000 cicli per chip MLC e almeno 10 volte tanto per quelli SLC, sebbene invitiamo a prendere questi dati come estremamente indicativi, non esistendo un valore che possa riassumere con una certa precisione tutte le tipologie di chip presenti sul mercato. Un numero elevato di cicli, certo, ma non elevatissimo, che potrebbe accorciare di molto la vita media di un SSD, qualora ad essere interessato alla scrittura fosse sempre uno o un gruppo ristretto di chip.

Ecco dunque che ogni disco SSD anche non troppo recente adotta una tecnologia chiamata genericamente Wear Leveling, che consiste nel tenere traccia delle celle già utilizzate per l'archiviazione, in modo da utilizzare uniformemente tutte quelle presenti nell'intero disco, distribuendo di conseguenza i dati in tutte le celle senza "insistere" sempre sulle stesse. Si può così massimizzare la vita media di un SSD, in quanto una tecnologia ad hoc vigila sulla corretta distribuzione dei dati e sulla frequenza di utilizzo di ogni singola cella memoria.

Intel ha inoltre brevettato una nuova tecnologia, che permette di allungare ulteriormente la vita media delle celle ed aumentare le prestazioni. Questa tecnologia si fa carico di ottimizzare la Write Amplification, che cercheremo di spiegare con un esempio. Nei dischi SSD della concorrenza, stando a quanto dice Intel (indagini ulteriori non hanno portato a possibili smentite, né conferme), la scrittura per esempio di 4KB di dati su un SSD comporta lo spostamento degli stessi dalla  RAM di sistema ad un'allocazione di memoria sui SSD, tipicamente di 128KB come unità minima. Possiamo immaginare dunque a questi 128KB come ad un blocco che deve essere scritto per intero, facendo segnare un -1 nei cicli di vita disponibili prima di un potenziale errore irreversibile. Avremmo così "perso" spazio per 124KB ed un ciclo di vita della cella.

Qualora il dato fosse da scrivere fosse di 16KB, avremmo comunque una perdita di 112KB, di fatto inutilizzati in quanto la scrittura di 16KB comporta la scrittura di tutta la cella. Si parla quindi di un fattore di Write Amplification di 32X nel caso di scrittura di 4KB su 128KB disponibili (di fatto, il fattore di perdita di spazio, in quanto 4 x 32 = 128). Il fattore scende a 8X nel caso di scrittura di blocchi da 8KB, ma siamo ancora a livelli di perdita elevati.

Intel dichiara di aver ottimizzato un algoritmo che porta a ben 1,1X il fattore di Write Amplification, andando quindi ad utilizzare le celle per intero, massimizzando quindi spazio e vita media della cella memoria. Come? Le informazioni da parte di Intel si interrompono a questo punto, in quanto vi è un brevetto da centinaia di milioni di dollari a fare da scudo ad ogni dettaglio. Possiamo ipotizzare che i dati da scrivere possano essere "parcheggiati" in memoria fino a formare pacchetti da 128KB o poco meno prima di essere scritti, ma siamo ovviamente nel campo delle ipotesi e non esiste modo per saperne di più, almeno per ora.

 
^