Spazio alla correzione degli errori

La memoria flash non volatile per la memorizzazione di dati e programmi è oggi un elemento essenziale di una crescente varietà di dispositivi e apparati elettronici, dai sistemi di controllo industriale alle reti domestiche e aziendali, dai prodotti di largo consumo ai sistemi elettronici per l'autoveicolo. Con la necessità crescente di gestire quantità di dati sempre maggiori e di offrire funzioni e prestazioni sempre migliori, per non parlare dei requisiti di affidabilità, i progettisti sono sempre più indotti a ricercare il meglio tra le tecnologie flash disponibili. Oggi i progettisti di dispositivi embedded possono disporre di una vasta scelta di memorie e tecnologie discrete. In passato, la scelta delle memorie flash ricadeva con molta probabilità sulle Nor o sulle Nand: questo perché la Nor Flash, pur essendo fisicamente più grande, è l'ideale per la memorizzazione di codice, mentre il bassissimo costo al bit e le piccole dimensioni della Nand Flash la rendono la scelta principale per una memorizzazione ad alta densità. Tuttavia, sviluppi significativi nel mercato della Nand l'hanno resa una scelta attuabile sia per espandere i programmi software integrati nei dispositivi che per aumentare la quantità di dati memorizzati, un aspetto non indifferente in sistemi che richiedono elevate velocità di programmazione e di cancellazione e un funzionamento altamente efficiente e a basso consumo.

La scelta della Nand
Pertanto, quali sono i criteri per scegliere la Nand Flash? In primo luogo, vale la pena considerare il tipo di tecnologia Nand Flash utilizzata in uno specifico componente. Si tratta tipicamente di una tecnologia con celle multilivello (Mlc) o a livello singolo (Slc). Grazie alla capacità di memorizzare due (o più) bit per cella, la tecnologia Mlc presenta ovvi vantaggi in termini di densità di memorizzazione. La tecnologia Slc, d'altro canto, memorizza un solo bit per cella, ma può tipicamente fornire maggiori velocità di lettura/scrittura e una maggiore affidabilità. In generale, questa è la soluzione da preferire nei software di avvio e nei programmi applicativi, e quando occorrono una buona robustezza e una lunga durata (nella fascia da 60.000 a 100.000 cicli di cancellazione/programmazione e oltre). Per applicazioni in cui la densità costituisce il problema principale, le celle multilivello, che tipicamente offrono cicli di cancellazione/programmazione dell'ordine di 10.000, rappresentano di solito l'approccio migliore. In entrambi i casi, se la capacità di memorizzazione deve aumentare per soddisfare i nuovi requisiti, anche le dimensioni del chip di silicio dovranno essere maggiori, il che porta ad aumentare i costi per avere una data geometria di processo. Se tuttavia si riduce la geometria di processo, è possibile ottenere chip più piccoli e in questo caso i costi diminuiscono. Di conseguenza, i progettisti tenderanno a propendere per le nuove geometrie di processo. Ma la tecnologia sottostante è solo una parte della questione. Un altro aspetto importante del progetto è l'implementazione del codice di correzione errori o Ecc (Error code correction). Questa tecnica è necessaria nella grande maggioranza dei progetti che utilizzano la Nand Flash per identificare e correggere bit errati (a partire dai bit corretti) che si possono presentare nei dati a causa di fattori ambientali o a causa di fenomeni di usura. Ad oggi, per esempio, la maggior parte dei costruttori ha richiesto più bit di correzione errori per le tecnologie Mlc. Per le Slc è stato sufficiente un sistema Ecc a 1 bit, per lo meno con memorie fino a 4 GB fabbricate con tecnologia di processo a 43 nm. Questa situazione è destinata a cambiare grazie ai progressi della sottostante tecnologia di processo delle memorie. In particolare, occorre una migliore correzione degli errori se le memorie Nand Flash nuove ed emergenti devono garantire i 60.000 e più cicli di cancellazione/programmazione che i progettisti si aspettano. Per memorie Nand Flash Slc fabbricate con processo a 32 nm / 24 nm, ad esempio, occorre una tecnica Ecc con più di 4 / 8 bit per 512 byte.
Il progettista deve scegliere se implementare l'Ecc a livello software oppure tramite un controller hardware supplementare. Per molte applicazioni esistenti che utilizzano ad esempio memorie Nand Slc - come impianti industriali, processori di telecomunicazione e sistemi automobilistici - si è deciso di implementare il carico relativamente basso dell'Ecc da 1 bit nel software host. La migrazione verso una Ecc a 4 o 8 bit va a gravare in maniera significativa sul processore, richiedendo spesso così tanta potenza che un'implementazione software non riuscirebbe a gestire questo nuovo standard di correzione errori. Ciò significa che per livelli superiori a 1 bit i sistemi richiedono l'implementazione di nuovi controller hardware di tipo Nand per sfruttare appieno questa innovativa tecnologia di memoria.

Nand Slc con funzione Ecc incorporata
Recentemente, tra le più recenti soluzioni Nand Slc, il progettista dispone di una nuova possibilità: la memoria BENand (Built-in Ecc Nand), caratterizzata da una funzione Ecc incorporata. La BENand rimuove il carico della correzione degli errori dal processore host (o elimina la necessità di un controller hardware supplementare) mentre l'impiego di una comune interfaccia Nand garantisce la compatibilità con qualsiasi altra memoria Nand Flash Slc per quanto riguarda struttura dei comandi, funzionamento del dispositivo, misure del contenitore e piedinatura. Il risultato è una tecnologia che permette ai costruttori di sfruttare le riduzioni di costo e di spazio associate a geometrie di processo più piccole - sia che si tratti di progettare sistemi interamente nuovi, oppure di far migrare le applicazioni esistenti verso soluzioni di memorizzazione più avanzate. Dispositivi BENand con capacità da 4 Gbit e 8 Gbit, sistema Ecc integrato da 4 bit per 512 byte e memoria flash Nand con processo a 32 nm sono già disponibili in contenitori di diversi formati. La dimensione di pagina di questi dispositivi è pari a 4 kB. A breve, la gamma di dispositivi verrà estesa ulteriormente con nuove opzioni da 1 Gbit e 2 Gbit, fabbricate utilizzando le nuove tecnologie di processo a 24 nm che stanno diventando disponibili.

Memoria Mlc con funzione Ecc integrata
Per applicazioni che propendono per la Nand Flash Mlc, vi sono anche dei dispositivi che offrono funzioni Ecc integrate e quindi semplificano e velocizzano la progettazione e lo sviluppo. La nuova generazione SmartNand di Toshiba, ad esempio, integra la nuovissima tecnologia flash Nand con processo a 24 nm con un chip di controllo che supporta le funzioni Ecc. Disponibile con capacità da 4 a 64 GB e lavorando con pagine da 8 kB, la SmartNand rimuove di fatto il carico delle funzioni Ecc dal processore host, riducendo al minimo le modifiche al protocollo. Le applicazioni di destinazione comprendono lettori multimediali portatili, tablet Pc, Tv digitali, decoder e altri dispositivi che richiedono memorie non volatili ad alta densità. Consentendo al progettista di gestire direttamente la Nand con un controller host, la SmartNand offre una più rapida commercializzazione, l'accesso alle principali geometrie e costi di progetto potenzialmente più bassi quando confrontata con le Nand flash tradizionali che richiedono un circuito Ecc esterno. Vi è un ulteriore vantaggio: di solito, la disponibilità di controller Nand esterni o integrati (nel sistema host) non va di pari passo con la disponibilità di memorie Mlc grezze. Per definizione, la SmartNand possiede sempre un controller Ecc ottimizzato per la configurazione Mlc, il che permette la gestione semplificata della Nand direttamente dal software del sistema host. Inoltre, la SmartNand offre un'ampia gamma di velocità di lettura e scrittura (per dare ai progettisti la possibilità di scegliere quella migliore per una data applicazione) e la possibilità di scegliere tra modalità normale o affidabile. La prima offre un funzionamento normale a 2 bit per cella mentre la seconda permette un funzionamento pseudo-Slc. Una terza categoria di tecnologie Nand Flash che sta prendendo piede è la memoria e•Mmc. In questo caso i dispositivi offrono un'interfaccia conforme allo standard Jedec di schede multimediali embedded e•Mmc e combinano più chip Nand Mlc e un controller dedicato in un unico contenitore compatto. Il controller effettua tutte le necessarie correzioni degli errori, il livellamento dell'usura e la gestione dei blocchi danneggiati, semplificando in maniera significativa il progetto e lo sviluppo delle applicazioni. La gamma Toshiba di dispositivi e•Mmc offre densità che vanno da 2 GByte a 128 GByte fabbricate con tecnologia di processo a 24 nm. La Fig. 2 mostra in che modo le diverse tecnologie Nand Flash Slc e Mlc con funzioni Ecc integrate si confrontano l'una con l'altra e rispetto alle memorie flash Nand 'pure'.

Trarre vantaggio dalla memoria
È naturale che nella scelta di memorie embedded occorrerà comunque prendere in considerazione una varietà di fattori: velocità di lettura e scrittura, formato del contenitore, capacità, dimensioni e durata operativa prevista, per parlare delle caratteristiche più ovvie. Quello che è certo è che i progettisti oggi hanno solo l'imbarazzo della scelta e che, sempre di più, questa scelta prevede l'integrazione su scheda di funzioni Ecc e altre funzioni chiave richieste per una disposizione efficace delle memorie Nand Flash. Di conseguenza, i progettisti non solo riescono a ridurre i costi generali di sviluppo e ad abbattere le spese di progettazione, ma possono altresì trasportare, rapidamente ed agevolmente, le applicazioni esistenti per trarre vantaggio dalle nuove ed emergenti tecnologie di memorizzazione.
 

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome