![](https://d3alc7xa4w7z55.cloudfront.net/upload/images/10_2015/flash-virtualizzazione-151026154500_medium.jpg)
In termini prestazionali, utilizzare la tecnologia flash per la memorizzazione dei dati risolve tutta una serie di problemi, in particolare quelli legati all’adozione dei server virtuali.
In merito a questa tecnologia, però, c’è ancora un po’ di confusione: i dubbi sono legati soprattutto alla praticità e alla sicurezza di queste soluzioni. La domanda a cui vorremmo rispondere in questo articolo è molto semplice: sono sicure le memorie flash? Quali sono le migliori da utilizzare in un ambiente virtualizzato?
Conoscere le flash
La tecnologia flash è un approccio applicato a una determinata tipologia di memoria che, a differenza della memoria RAM, in assenza di alimentazione riesce a conservare le informazioni memorizzate. Nonostante le memorie flash non siano veloci come le RAM nelle operazioni di lettura/scrittura, sono comunque decisamente più veloci di un normale disco rigido a piatti.
A questo proposito va detto che, a differenza di quanto invece avviene con i dischi rigidi, un’altra caratteristica importante delle memorie flash è il fatto di essere accessibili senza nessuna rotazione dei piatti. Questo significa che non c’è alcuna latenza nell’accesso ai dati memorizzati, il che rende le flash la scelta ideale per i data center caratterizzati da ambienti basati maggiormente su I/O casuali e dunque perfette per essere implementate sui server virtuali.
Allo stato attuale, l’unico problema che hanno al momento le memorie flash è il metodo con cui gestiscono le operazioni di scrittura. Le memorie flash possono essere scritte un’infinità di volte. Questo significa che i produttori di memorie flash devono sviluppare controller sofisticati che siano in grado gestire il metedo di scrittura, per fare in modo che ogni cella flash riceva lo stesso numero di richieste di scrittura.
Quali tipi di flash esistono sul mercato?
Se volete acquistare delle flash, dovete sapere che, al momento, il mercato propone tre tipi di memorie flash con caratteristiche ben distinte.
- Le memorie flash Single-Level Cell (SLC) scrivono un bit per cella e sono le più durature
- Le flash Multi-Level Cell scrivono più bit per cella ed ha un livello medio di durabilità
- Le Triple-Level Cell, infine, scrivono tre bit per cella e sono quelle che durano di meno rispetto alle altre due
Scrivere più bit per cella significa avere maggiore capacità per cella e quindi memorie più capienti dove immagazzinare i dati. Questa caratteristica abbassa anche il costo per GB, ma più bit si scrivono per cella, più le memorie flash hanno una minora aspettativa di vita.
Le memorie flash SLC sono quelle più utilizzate nei data center, ma i continui miglioramenti della tecnologia dei controller hanno reso accettabile anche l’utilizzo di memorie flash MLC. L’uso di questo tipo di memoria è anche quello suggerito dagli esperti quando nel data center esistono apparati di protezione dei dati come, ad esempio, un sistema RAID o mirroring applicato appunto ai dispositivi basati su memorie flash.
Dispositivi basati su tecnologia flash in 3 formati diversi
I dispositivi basati su memorie flash sono attualmente tre.
SSD (Solid State Disk)
Il più comune e anche il più utilizzato è il disco allo stato solido, meglio conosciuto come SSD, che si presente
![](https://d3alc7xa4w7z55.cloudfront.net/upload/images/10_2015/box-hybrid-cloud-151027104030.jpg)
esternamente come un normale hard disk (HDD) da 2.5 o 3.5 pollici. Gli aspetti negativi per un form factor SSD sono le prestazioni e la densità. Inserire memorie flash in un form factor SSD significa che tutti i dati in input e output vengono instradati attraverso lo stack SCSI. Rispetto ad altri form factor che vedremo di seguito, questo percorso soffre di una certa latenza. Anche se vengono utilizzati SSD, specialmente in sistemi array, le migliaia di operazioni IOPS (Input/Output Operations Per Second) non avranno un impatto migliore a livello di velocità, se gli SSD inseriti dovranno comunque utilizzare il protocollo SCSI che, in sintesi, funge da collo di bottiglia a livello di prestazioni. La densità nell’ultimo periodo, infatti, è diventata un problema minore rispetto a qualche hanno fa. I produttori di flash hanno sviluppato metedi ingegnosi per stipare più memorie flash possibili all’interno di un form factor SSD a tal punto che al momento esistono SSD che offrono più capacità di un normale HDD.
SSD PCIe
Ci sono ambienti dove l’utilizzo del protocollo SCSI e della relativa latenza costituiscono una criticità anche se questi non sono di norma ambienti virtualizzati. Quando la latenza è un problema, la scelta migliore è l’utilizzo di SSD con interfaccia Peripheral Component Interconnect Express (PCIe). In sostanza, si tratta di dispositivi flash integrati su un scheda PCIe. L’utilizzo di questi dispositivi consente di evitare lo stack SCSI e di avere accesso nativo e diretto alla CPU. Per utilizzare queste schede è necessario un driver, ma per i tre ambienti virtualizzati ad oggi più popolari l’utilizzo di driver è all’ordine del giorno.
Le PCIe, negli ambienti con server virtuali, dovrebbe essere considerata come un’estensione delle memoria RAM. Grazie alla sua bassa latenza, la PCIe fornisce una quantità di memoria virtuale che aumento di molto le prestazioni del sistema, riducendo la latenza, tanto che la RAM dinamica (DRAM) non ha alcun impatto su di essa.
Memory bus flash
L’ultimo form factor che si sta facendo sempre più strada sul mercato è il memory bus flash, la cui installazione avviene nello slot di memoria del server e non nel bus PCIe. A priva vista possono sembrare moduli di memorie DRAM dual-line ma, in realtà, al posto dei soliti chip sono presenti memorie flash.
Questo sistema riduce ancor di più la latenza rispetto agli SSD PCIe e garantisce un percorso diretto e ad alte prestazioni verso la CPU. L’utilizzo di memory flsh bus nei server virtualizzati è molto limitato ma, utilizzare quest’ultimo come memoria di swap al posto delle DRAM, può essere un’ottima scelta. Questo form factor, infine, è l’ideale per server blade, 1U e 2U dove gli slot PCIe sono difficili da trovare.