Perché scegliere enterprise SSD (eSSDs)?
Di Paul Rowan, General Manager prodotti storage SSD di Toshiba Electronics Europe
Introduzione
La tecnologia dei server e dei sistemi storage sta evolvendo ed in particolare maggiore attenzione è posta sulla velocità, tempi di risposta e latenza per supportare tutti quei processi di business ‘time-critical’.
In ambito aziendale, i tempi di risposta dei server sono sempre più importanti ed hanno impatti significativi sul business sia nel recupero migliorato ed efficiente dei dati dai sistemi aziendali come nei sofisticati sistemi di trading finanziario.
Anche se la maggior parte delle informazioni digitali sono memorizzati su tradizionali hard disc (HDD), i drive allo stato solido basati su NAND (SSD) offrono vantaggi significativi quali i tempi di accesso migliori ai dati e minor consumo energetico.
Grazie alla loro velocità e performance gli SSD sono già il sistema di memorizzazione principale per computer portatili e PC. I costi però spingono gli utenti ad utilizzare HDD meccanici esterni secondari per memorizzare maggiori moli di dati quali foto e video.
Inoltre, gli SSD consumer (come gli HDD), pur essendo affidabili, non sono particolarmente efficienti in fase di scrittura, accesso e cancellazione dei dati a velocità molto elevate. I produttori di SSD hanno sviluppato SSD enterprise (eSSDs) per ridurre tali limitazioni ed evitare i colli di bottiglia nella velocità di accesso in sistemi di tiered storage tradizionali, vedi Figura 1.
Prestazioni
La velocità di lettura e scrittura su SSD dipende da più fattori come l’architettura del controller, gli algoritmi del firmware, i codici di correzione degli errori utilizzati per garantire l’integrità dei dati e la velocità di lettura, scrittura e cancellazione dei chip NAND.
L’accesso parallelo tramite molteplici canali ai chip NAND permette transazioni ad altissima velocità rispetto agli HDD. Inoltre, funzioni come algoritmi log-structured, over-provisioning e comandi Unmap / TRIM (che in un SSD segnalano quali blocchi non sono più in uso e possono essere puliti/riutilizzati) permettono di aumentare le prestazioni di scrittura random.
Vista la velocità della moderna tecnologia SSD, le interfacce possono costituire il fattore limitante. L’interfaccia SATA (Serial Advanced Technology Attachment) è l’interfaccia più comunemente usato nei PC consumer e per server di fascia media/bassa grazie al suo basso costo e la facilità di implementazione. Le connessioni SATA sono però limitate ad una velocità massima di circa 6 Gbit / s.
Invece, SAS (Serial Attached Small Computer System Interface [SCSI]) consentono connessioni full duplex point-to-point e accessi dual port con velocità fino a 12Gbit / s e quindi sono le interfacce spesso scelte per molti sistemi server aziendali. Le interfacce PCIe (Peripheral Component Interconnect Express), in produzione per unità SSD sia consumer che enterprise e con velocità fino a 8 Gbit / s per lane, permettendo più lane (multi-lane). Per questa ragione le unità PCIe stanno diventando popolari in applicazioni di cache, lato server e in schede acceleratrici.
Tipi di NAND, wearing e overprovisioning
Il costo dei chip NAND costituisce una parte considerevole del prezzo globale delle unità SSD consumer e enterprise. Diverse strade sono state intraprese per aumentare la densità di bit che i chip possono memorizzare.
Dai primi NAND Toshiba (1984), la dimensione del process node, scesa da 700 nm a A19nm, e l’introduzione di nuove tecnologie a livello di cella, ha permesso di aumentare la densità di bit NAND di più di 2000 volte permettendo un drastica riduzione del prezzo per GB che è diminuito più velocemente dell’aumento della densità dei bit.
Sebbene la scelta tecnologica abituale sia produrre NAND a nodi di processo sempre più piccoli – Toshiba ha annunciato lo sviluppo di un processo di fabbricazione 15nm – la miniaturizzazione estrema inizia ad inficiare resistenza e affidabilità. Per ovviare il problema si sono sviluppati NAND in grado di memorizzare più bit – single level cell (SLC) in grado di memorizzare 1 bit per cella, multi-level cell (MLC) NAND può memorizzare due bit per cella, triple level cell (TLC) NAND può memorizzare 3 bit per cella. Ma questo approccio influenza la resistenza ai cicli scrittura/cancellazione – SLC può sopportare circa 100.000 cicli, MLC 5000 cicli e TLC 1000 cicli.
SLC e MLC NAND sono comuni negli SSD enterprise che devono resistere a frequenti cicli di scrittura / cancellazione. MLC NAND e TLC si trovano in SSD consumer, dove la velocità di lettura e il prezzo per Gb sono diventati i fattori principali per l’acquisto.
Poiché i blocchi di memoria NAND possono degradare e usurarsi, un limite superiore viene posto sul numero di scritture in ogni locazione di memoria NAND. Gli algoritmi “Wear levelling” vengono utilizzati nei controller NAND anche per garantire l’utilizzo in modo uniforme delle posizioni di memoria NAND.
La quantità di overprovisioning, o extra, memoria non indirizzabile (utilizzabile), diminuisce le prestazioni SSD. Infatti gli SSD non possono sovrascrivere contenuti esistenti, interi blocchi di memoria NAND devono essere cancellati prima di scrivere nuove pagine. L’over-provisioning può variare dal 6% ad oltre il 150% a seconda di come è stata progettata l’applicazione.
Tecnologia di rilevamento errori e correzione
I chip NAND si evolvono verso nodi di processo più piccoli, parallelamente vi è una crescita di tecnologie di rilevazione e correzione degli errori per garantire l’integrità dei dati. Le tecnologie Error Correction Code (ECC) sono diventati sempre più avanzata in modo da mantenere la velocità dati ottimale senza compromettere l’integrità dei dati.
Inizialmente si utilizzava nei NAND il codice Hamming, che permetteva una implementazioni software. Con nodi di processo compattati, la tecnologia ECC si è evoluta utilizzando codici Reed-Soloman, BCH e LDPC. Al crescere della capacità di correzione di errore, è aumentata anche la domanda di energia e il tempo di elaborazione.
Per contrastare questo fenomeno i produttori hanno così dovuto sviluppare nuovi metodi per garantire l’integrità dei dati: Toshiba ha sviluppato la tecnologia Quadruple Swing-By Code (QSBCTM), che fornisce una forte e altamente efficace protezione ECC contro errori di lettura.
Protezione power-loss
Secondo gli analisti IDC[1], il costo di downtime per una società di produzione britannica che impiega circa 1000 dipendenti in media 132 mila dollari all’ora. Il costo sale a 570 mila dollari all’ora per una società simile che impiega circa 5000 dipendenti. Se l’interruzione di sistema è un evento raro, problemi di archiviazione possono ridurre le prestazioni, richiedere manutenzione straordinaria e aggiungere costi per gli storage array. In una recente indagine IDC, solo il 19% degli intervistati avrebbe tollerato più di poche ore di inattività l’anno.
Server aziendali mission-critical e sistemi di storage devono essere operativi sempre (zero-down time) e in caso di perdita di alimentazione, devono garantire che nessun dato venga perso. Gli Enterprise SSD sono progettati per proteggere e conservare tutti i dati residenti nei chip di memoria NAND e tutti i dati che vengono scritti sull’unità al momento dell’interruzione di corrente. L’utilizzo di supercondensatori negli SSD fornisce, in caso di bisogno, automaticamente la necessaria alimentazione elettrica per completare l’elaborazione dei dati e la scrittura.
Crittografia
Compromissioni nella Data security hanno causato enormi problemi chiamando in causa anche i fornitori ed il loro operato nei riguardi della sicurezza. Sebbene i firewall e l’accesso sicuro ai portali permettono sicurezza nell’accesso, i dispositivi di archiviazione spesso richiedono memorizzazione di dati confidenziali che è necessario proteggere con la crittografia.
Alcuni produttori di SSD enterprise hanno sviluppato nel drive Self-Encrypting Drives (SED) in grado di crittografare i dati utente utilizzando Advanced Encryption Standard (AES). Tutti i dati dell’utente scritti nella memoria NAND vengono crittografati utilizzando una chiave di crittografia generata in modo casuale e la chiave, password e altri parametri di sicurezza sono protetti in modo sicuro sull’unità.
Questo approccio crittografico è veloce e permette la funzione di crittografia Erase. A differenza delle funzioni over-write e block-erase la funzione di crittografia Erase rigenera semplicemente la chiave di crittografia, non rendendo più validi i dati precedentemente memorizzati. SED è quindi rapido e nativamente protetto prima di un eventuale ri-allocazione, riassegnazione o ritiro del dispositivo SSD. Inoltre ha il vantaggio di non causare l’usura precoce dei chip NAND che un processo di scrittura multipla/cancellazione causerebbe.
Conclusioni
Con l’incremento dei dati digitali aziendali il problema della loro gestione aumenta, la prospettiva di utilizzare SSD per migliorare le prestazioni e l’efficienza energetica sta diventando sempre più interessante. Pensare di utilizzare SSD consumer economici per migliorare i tempi di accesso ai dati sembrerebbe una valida scelta, bisogna però tenere presente che un errore del dispositivo può essere di gran lunga superiore al costo di sostituzione. Poiché in molti casi i dati non hanno prezzo e non possono essere sostituiti, l’utilizzo di SSD enterprise in grado di fornire maggiore affidabilità, durata nelle prestazioni e sicurezza rappresentano l’unica scelta.
Riferimenti
[1] Beyond Capacity: Storage Architecture Choices for the Modern Datacenter, Nick Sundby and Donna Taylor, IDC, December 2013. Si può scaricare il whitepaper al seguente url:
https://storage.toshiba.eu/cms/en/meta/storage_device_division/idc_whitepaper_download.jsp