Next Generation Memory
Per "Next Generation Memory"[1] si intendono tutte le nuove tecnologie per la memorizzazione, che sono state introdotte o verranno introdotte nel panorama informatico. La memoria, allo stato attuale, è uno dei componenti informatici più importanti nel panorama tecnologico odierno. Vediamo in questa pagina quali sono le nuove tecnologie e cosa significa introdurre nei dispositivi memorie di nuova concezione.
Introduzione
Le memorie utilizzate nei dispositivi attuali sfruttano le tecnologie emerse nei primi anni '70; stiamo parlando delle memorie a transistor (SRAM, DRAM e Flash) e delle memorie magnetiche (Hard Disk e memorie a nastro). Queste memorie, che sono in gran parte utilizzate ancora oggi, hanno avuto una vita lunghissima, e coerentemente con la legge di Moore ogni 18 mesi raddoppiava il numero di transistor e si dimezzavano i costi. La memoria è il componente fondamentale in molti ambiti: nei piccoli dispositivi, come smartphone e tablet, la memoria (se di buona qualità) è uno dei componenti più costosi, al pari del display e ben più alto del costo della CPU. Inoltre se pensiamo a grossi server, la memoria deve essere di ottima qualità e veloce, quindi di nuovo ricopre un ruolo fondamentale. Nel panorama informatico attuale, con la necessità crescente di immagazzinare quantità di dati sempre maggiori e il continuo e costante aumento delle richieste da parte di un numero sempre maggiore di utenti, rende le memorie sempre più importanti e sempre più un collo di bottiglia, il che stimola le aziende produttrici di memorie a migliorare questo tipo di periferica. Un esempio tra tutti è il recente successo ottenuto dai dischi SSD, memoria di massa non più magnetica ma a transistor che incrementa di molto le prestazioni (per approfondimenti si veda la relativa voce Unità a stato solido).
Motivi della necessità di introdurre nuove tecnologie di memoria
Sfortunatamente, la curva che rappresenta l'aumento delle prestazioni delle memorie attualmente in circolazione si sta appiattendo, ovvero si stanno raggiungendo i limiti fisici dati dal materiale. Fortunatamente, l'abilità nel modificare i materiali a livello atomico è sempre maggiore, e l'emergere di nuovi tipi di memoria permetterà di proseguire l'andamento positivo della curva relativa all'aumento di prestazioni.
Tipologie di memorie:
Vediamo un elenco dei principali tipi di memorie, divise per categorie, sia nuove che consolidate:
Memorie meccaniche (Memorie magnetiche):
Memorie a transistor:
Memorie con nuove tecnologie:
- Ferroelettrica (simile alle DRAM ma con uno strato aggiuntivo per ottenere la non-volatilità)
- PCM (Phase change memory)
Persistent memory
Fino ad oggi le memorie centrali sono state caratterizzate da volatilità, velocità, possibilità di lavorare byte a byte; le memorie di massa invece sono caratterizzate da lentezza, non volatilità e possibilità di lavorare su blocchi. Le memorie persistenti.[2]
Le nuove tecnologie utilizzate per le memorie, come per esempio l'SSD, non funzionano come le odierne tecnologie (a transistor e magnetiche), e hanno diversi valori di performance, consumi, costi.
Questa è la ragione per cui negli ultimi 40 anni, finchè l'aumento delle prestazioni delle attuali tecnologie non si è fermato, non sono state inserite nuove tecnologie: è un'operazione molto complessa, sia per quanto riguarda lo spiegare come funziona la nuova tecnologia, sia per testarne l'effettiva miglioria, sia per la produzione in massa dei nuovi dispositivi.
Quindi le aziende produttrici di memorie devono affrontare due sfide: la prima è ovviamente inventare nuove tecnologie per memorizzare che siano migliori e continuino a scalare come le attuali hanno fatto fino ad adesso; la seconda sfida, la più ardua, prevede l'inserimento di questa innovazione nel mercato. Il problema in questo caso è che ognuna delle tecnologie esistenti ha guadagnato il suo spazio nella gerarchia delle memorie: gli Hard Disk magnetici e meccanici (ultimamente sostituiti dagli SSD) per salvataggi veloci e piccoli, SRAM per la cache, DRAM per la memoria principale e i nastri per salvataggi enormi e lenti.
Oltre al fattore "hardware", esiste anche un problema "software", il quale è stato progettato negli anni per calzare alla perfezione con l'hardware attuale: l'esempio più significativo riguarda la RAM (DRAM), memoria molto veloce presente nella maggior parte dei dispositivi, comunemente usata per memorizzare temporaneamente variabili e codice del programma eseguito; questa memoria ha la caratteristica di essere volatile, quindi ogni dato viene rimosso nel momento in cui non è più alimentata. Per mantenere il dato in memoria quindi sono necessari continui refresh, i quali consumano enerigia, tempo e risorse. Il motivo del successo di questa memoria è stato il poterla produrre con costi contenuti. Questo esempio si può applicare a ogni altra tecnologia utilizzata in tutti gli ambiti: nessuna di queste è la tecnologia ideale, si è solamente adattato il sistema in modo che funzionasse con le tecnologie diffuse.
Conclusioni
Quindi, l'introduzione di nuove tecnologie avrà un grosso impatto sulla progettazione del software, a oggi basato sulle attuali tecnologie. Al momento, la più vicina alla commercializzazione di massa tra le nuove tecnologie viste precedentemente è la PCM, commercializzata da Micron Technology e Samsung.
Note
- ^ Greg Atwood, Next-Generation Memory, su ieeexplore.ieee.org. URL consultato il 20 Settemre 2014.
- ^ Anirudh Badam, How Persisten Memory Will Change Software Systems, su ComputingNow.computer.org. URL consultato il 20 Settemre 2014.