Skip to Content

Cos'è DirectFlash e come funziona?

collage speed highway and railways in communication supercomputer with binary code; Shutterstock ID 400031566; purchase_order: 0; job: ; client: ; other: Per Eric C request 11/7

DirectFlash® è la soluzione di gestione flash all'avanguardia di Pure che comprende il software Purity e i moduli DirectFlash, entrambi aggiornabili in maniera indipendente e senza interruzioni.

Continua a leggere per scoprire come funziona, in cosa si differenzia e perché può servirti.

Panoramica del flash storage

La memoria flash o flash storage, inventata da Toshiba nel 1980, è un tipo di memoria non volatile (cioè che non richiede un'alimentazione continua) che si può cancellare e riprogrammare elettronicamente.

Queste memorie si dividono in due categorie, NOR e NAND, a seconda del tipo di logica che utilizzano a livello di circuito. Attualmente, le memorie flash NAND coprono più del 95% del mercato di settore e vengono utilizzate praticamente in tutti i dispositivi flash non integrati.

All'interno della categoria NAND rientrano vari tipi di memoria, distinti in base al numero di bit archiviati per cella di memoria, tra cui:

  • SLC: Un (singolo) bit per cella
  • MLC: Due (o più) bit per cella
  • TLC: Tre bit per cella
  • QLC: Quattro (quad) bit per cella

DirectFlash è la soluzione completa di Pure Storage per creare un sistema all-flash a partire dal flash "grezzo" anziché utilizzando unità a stato solido (SSD) di livello commodity. Così facendo Pure ha portato la tecnologia flash su un piano diverso nella supply chain rispetto agli altri vendor di array a stato solido. I vantaggi dei moduli DirectFlash non si limitano alla convenienza per la supply chain.

In cosa si differenzia DirectFlash

Gli altri array all-flash o ibridi che utilizzano unità SSD commodity preconfezionate sono un po' come i vecchi dischi rigidi, un insieme contiguo di blocchi identici.

Gli hard drives erano formati da tracce e settori che, nell'insieme, costituivano i vari blocchi. Le unità SSD replicano questa geometria ma in più integrano dei meccanismi complessi tra il sistema e la memoria flash, detti flash translation layer (FTL).

DirectFlash segue un approccio diverso che punta direttamente alla memoria flash per aumentarne al massimo le capacità e ottenere performance, consumi energetici ed efficienza migliori.

Nello specifico, DirectFlash offre i seguenti vantaggi:

  • Gestione dei supporti a livello di sistema, e non a livello di unità. Le unità, quindi, collaborano con il sistema stesso, che può:
    • Prendere decisioni più efficaci sulla collocazione dei dati in base a un contesto più ampio.
    • Capire l'attività di sistema dal livello di blocco, file o oggetto alla singola cella flash.    
    • Aumentare al massimo l'efficienza grazie alla disposizione ottimizzata dei dati per i supporti, evitando l'amplificazione in scrittura e aumentando la resistenza.
    • Evitare operazioni duplicate perché le funzioni di garbage collection, creazione di celle di riserva e wear leveling sono centralizzate.
  • Riduzione dei costi complessivi per i supporti grazie all'eliminazione del lavoro e dei processi duplicati che si verificano in ogni unità di un sistema tradizionale. I sistemi scalabili nell'ordine di petabyte che sfruttano le unità SSD possono avere terabyte di DRAM nelle unità stesse, se non anche la memoria di sistema, per gestire le singole mappature e i metadati FTL. Ogni unità contiene inoltre uno spazio di riserva con overprovisioning necessario per la gestione dei supporti con FTL. Ognuno di questi componenti rappresenta un costo ulteriore che, man mano che aumentano le dimensioni dell'unità, va ad aumentare il costo complessivo dei supporti. Il costo per bit di una memoria DRAM non è migliorato negli ultimi anni, per cui è sempre più importante utilizzarla in modo efficiente.
  • Maggiore affidabilità dei moduli grazie a una velocità molto più bassa (3-4 volte) rispetto alle unità SSD, dovuta principalmente all'esecuzione di un firmware più semplice.

Come funzionano le unità a stato solido

Un'unità SSD è composta da chip flash NAND, detti anche die NAND, ognuno dei quali è suddiviso in elementi più piccoli, detti blocchi, che a loro volta sono formati da pagine.

Tuttavia, i blocchi flash non ammettono le sovrascritture random. Una volta che i dati sono stati scritti in una pagina, è necessario cancellare l'intero blocco prima di poter scrivere altri dati. Al tempo stesso, ogni unità SSD deve supportare un'interfaccia compatibile con i modelli di disco precedenti.

Questa contraddizione è stata risolta inserendo nel firmware un componente chiamato "flash translation layer" (FTL), che applica un'interfaccia virtuale in modo da scrivere i dati in diverse pagine flash, a prescindere dal blocco logico di destinazione. L'FTL tiene traccia di tutti i metadati di mapping in una propria memoria interna.

Ma quando si scrivono nuove versioni dei dati in pagine flash diverse, i dati finiscono per accumularsi nei blocchi che potrebbero essere considerati "garbage", ovvero da cancellare, perché i dati sono stati sovrascritti o eliminati.

Per recuperare questa capacità fisica, il firmware dell'unità attiva un processo di "garbage collection" che prende i dati ancora validi e li sposta in un'altra posizione in modo da poter cancellare l'intero blocco contenente i dati da rimuovere. Perché questo processo funzioni, ogni unità ha bisogno di una memoria flash extra, il cosiddetto "spazio di overprovisioning", e ogni evento di garbage collection utilizza uno dei cicli di programmazione/eliminazione flash. Il rapporto tra il numero di scritture eseguite sull'unità e i dati effettivamente da scrivere è detto "amplificazione in scrittura".

L'overprovisioning e l'amplificazione in scrittura portano all'usura precoce e una riduzione della durata dell'unità SSD. Questa progettazione influisce inoltre sulle performance perché ogni volta che un die flash esegue il processo di garbage collection, le operazioni di lettura o scrittura non saranno disponibili per quel die. Le performance SSD oscillano in maniera imprevedibile a seconda se il processo di garbage collection è più o meno attivo.

In più, non esiste un modo per comunicare l'attività di garbage collection dall'unità SSD al sistema che la utilizza. Per questo l'unità SSD deve dare l'illusione di funzionare grosso modo come un disco rigido. Quando aumenta il numero di bit per cella nella memoria NAND flash, i problemi di performance peggiorano ulteriormente, perché i cicli di programmazione/cancellazione impiegano sempre più tempo, prolungando i periodi di indisponibilità dei dati.

Come funziona DirectFlash

DirectFlash segue un approccio diverso per la gestione dei supporti flash. Invece di assegnare a ogni unità SSD l'esecuzione dei processi di wear leveling, garbage collection e overprovisioning, il sistema operativo Purity esegue queste funzioni nel software a livello di array. Per questo motivo, ogni modulo DirectFlash è più semplice rispetto a un disco a stato solido tradizionale, perché deve solo fornire l'accesso al supporto stesso, gestire i dati a livello basso e segnalare le attività.

I vantaggi di questo approccio sono molteplici:

  • A differenza delle singole unità SSD che prendono decisioni sulla collocazione dei dati e sulla gestione dei supporti a vuoto, Purity sa quali sono le attività di sistema in corso e pianificate, come l'attività IO attuale, le operazioni di data reduction, i cicli di garbage collection in sospeso e tutto ciò che riguarda l'integrità e i workload dell'array. In questo modo Purity può prendere decisioni più efficaci per quanto riguarda la collocazione e la programmazione rispetto a una singola unità SSD.
  • Grazie a queste decisioni, i dati con cicli di vita previsti simili vengono messi in colocation sugli stessi blocchi per ridurre al minimo le istanze in cui alcuni dati vengono segnalati per l'eliminazione, mentre altre pagine sono ancora valide. Purity sa se ci sono pagine che fanno parte dello stesso file o oggetto oppure derivano dallo stesso sistema host, perciò le raggruppa in blocchi simili in modo che, quando il file o l'oggetto viene eliminato, l'intero blocco può essere liberato in una volta, senza riscrivere altri dati live e causare un'amplificazione in scrittura.
  • Poiché non eseguono nessun processo di garbage collection né amplificazione in scrittura, i moduli DirectFlash mostrano performance eccellenti e superano di gran lunga le unità commodity. Un numero inferiore di scritture si traduce in una minore usura e, di conseguenza, in un ciclo di vita più lungo. Inoltre, meno scritture implicano più cicli di IO disponibili per rispondere all'IO effettivo del client. Dato che Purity sa qual è l'attività IO attuale e può vedere tutto ciò che accade nel sistema, non è mai colto alla sprovvista da uno di questi cicli di programmazione/cancellazione che bloccano l'accesso ai dati. Nel peggiore dei casi, Purity può ricostruire i dati utilizzando la parità invece di attendere che finisca il ciclo di programmazione/cancellazione. Questo comportamento riduce notevolmente la latenza dei nostri sistemi, anche quando utilizzano supporti flash QLC.
  • Il software alla base di tutte queste attività di gestione dei supporti può essere migliorato nel tempo. Tutti i sistemi di Pure Storage® sono collegati ai dati di telemetria in maniera protetta via Internet, e grazie alle informazioni approfondite sullo stato di integrità e sull'attività della memoria flash sottostante, possiamo aggregare e analizzare i dati per perfezionare il funzionamento del software. E con gli aggiornamenti software periodici, l'affidabilità e le performance dei nostri sistemi sono destinate a migliorare nel tempo.
  • Dulcis in fundo, dal momento che tutte queste attività vengono eseguite a livello di array nel software, i moduli DirectFlash non necessitano di controller complicati e grandi quantità di RAM per completarle in autonomia. Insomma, i nostri moduli sono più semplici, più affidabili e anche più efficienti. Possiamo anche scalare le dimensioni dei moduli in anticipo nella tecnologia flash NAND, senza aumentare la complessità o i costi.

Tutto questo si traduce per i clienti in sistemi con performance più elevate, più consistenti, e un'affidabilità e longevità superiore rispetto agli altri sistemi all-flash o ibridi progettati per le unità SSD.

Pure è stata fondata partendo dalla convinzione che l'all flash era il futuro dei data center. Così abbiamo sviluppato la nostra tecnologia DirectFlash per realizzare questa visione. Secondo noi, il modo migliore per creare sistemi all-flash è predisporli fin dall'inizio per l'all-flash, eliminando tutto ciò che è progettato per le interfacce e i paradigmi legacy e sfruttando al meglio i vantaggi che la tecnologia ha da offrire.

11/2024
Pure Storage FlashBlade and Ethernet for HPC Workloads
NFS with Pure Storage® FlashBlade® and Ethernet delivers high performance and data consistency for high performance computing (HPC) workloads.
White paper
7 pagine
CONTATTACI
Domande?

Hai domande o commenti sui prodotti o sulle certificazioni di Pure?  Siamo qui per aiutarti.

Prenota una demo

Prenota una demo per vedere come puoi trasformare i tuoi dati in risultati concreti con Pure. 

Telefono: +39 02 9475 9422

Media: pr@purestorage.com

 

Pure Storage Italia

Spaces c/o Bastioni di Porta Nuova, 21

Milano, 20121

+39 02 9475 9422

italia@purestorage.com

CHIUDI
Il browser che stai usando non è più supportato.

I browser non aggiornati spesso comportano rischi per la sicurezza. Per offrirti la migliore esperienza possibile sul nostro sito, ti invitiamo ad aggiornare il browser alla versione più recente.