Next Generation Memory: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
(40 versioni intermedie di 13 utenti non mostrate) | |||
Riga 1:
Per '''Next Generation Memory'''<ref>{{cita web|lingua=en |cognome=Atwood |nome=Greg |titolo=Next-Generation Memory |url=http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6583185}}</ref> si intendono tutte le nuove tecnologie per la [[memoria (informatica)|memorizzazione]], che sono state introdotte o verranno introdotte nel mondo [[informatica|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.
Le memorie utilizzate nei dispositivi attuali sfruttano le tecnologie emerse nei primi [[anni '70]]; stiamo parlando delle [[memoria a stato solido|memorie a transistor]] ([[SRAM]], [[DRAM]] e [[memoria Flash|Flash]]) e delle [[memoria magnetica|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 computer|tablet]], la memoria (se di buona qualità) è uno dei componenti più costosi, al pari del [[display]] e con un costo ben più alto di quello della [[CPU]]. Inoltre se pensiamo a grossi [[server]], la memoria deve essere di ottima qualità e veloce, quindi di nuovo ricopre un ruolo fondamentale. ▼
▲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.
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]]).▼
▲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''' ([[Memoria magnetica|Memorie magnetiche]]):
*
* [[Nastro magnetico]]
'''Memorie a transistor:'''▼
* [[DRAM]]▼
▲Memorie a transistor:
* [[SRAM]]▼
▲* DRAM
▲* SRAM
* [[Unità a stato solido|SSD]]
'''Memorie con nuove tecnologie:'''
* [[FeRAM|Ferroelettrica]] (simile alle DRAM ma con uno strato aggiuntivo per ottenere la non-volatilità)
* [[Memoria a cambiamento di fase|PCM]] (Phase change memory)
==Ragioni della lentezza dell'evoluzione==
Le nuove tecnologie utilizzate per le memorie, come per esempio l'[[Unità di memoria a stato solido|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,
Le memorie persistenti.<ref>{{cita web |cognome=Badam |nome=Anirudh |titolo=How Persisten Memory Will Change Software Systems |url=http://ComputingNow.computer.org |accesso=20 Settemre 2014}}</ref>▼
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
▲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.
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.
▲
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à
*possibilità di lavorare su blocchi
Le '''''Persistent Memory''''' segneranno un punto di svolta importantissimo, in quanto sono memorie non volatili che permettono di lavorare byte a byte e hanno la stessa velocità delle DRAM. Queste memorie potrebbero andare a sostituire quindi le DRAM, le flash e la memoria di massa.
Chiaramente queste memorie possiedono caratteristiche del tutto differenti dalle memorie utilizzate oggi, e per poter essere utilizzate necessitano un'evoluzione nella gestione della memoria virtuale.
Il problema software di cui si è parlato in precedenza si ricrea anche con queste memorie: il sistema operativo andrebbe reingegnerizzato in certe sue parti, e nonostante la memoria sia già in fase di test, il lavoro dei programmatori sarebbe dovuto avvenire in anticipo.
====Analisi dei miglioramenti dati dalle Persistent Memory====
Le tecnologie di memorizzazione attuali sfruttano la [[Cache]] (DRAM), e per mantenere la consistenza dei dati è necessario programmare il file system per eseguire periodicamente scritture sul disco fisso (molto lento, aumentano i tempi di latenza); ad ogni livello logico di un qualunque sistema, si ha una tipologia diversa di memoria. Introducendo la '''"Persistent Memory"''', che unisce le caratteristiche vincenti di DRAM e Hard Disk magnetico, si potrebbe sostituire tutti i vari livelli esistenti, eliminando i tempi di interazione tra memorie (poiché sia logicamente che fisicamente se ne avrebbe una).
I maggiori miglioramenti possono essere apprezzati nelle seguenti tecnologie:
*il [[File system]] (che si occupa della persistenza dei dati delle applicazioni) ha sempre fatto affidamento su Hard Disk magnetici; sfruttando l'indirizzamento a bytes invece che a blocchi delle Persistent Memory, sarebbe possibile modificare byte a byte - invece che un intero blocco - solo i dati necessari, risparmiando delle scritture e velocizzando di molto le operazioni.
*i database che sfruttano le Persistent Memory, sfruttando la possibilità di indirizzamento a byte, potrebbero potenzialmente permettere l'esecuzione contemporanea di più query, incrementando le performance.
Oltre alle caratteristiche sopra elencate, le Persistent Memory offrono altri vantaggi:
*Aumento della memoria fisica: al momento le memorie DRAM hanno il limite fisico di 32GB per la memoria installabile in una singola macchina, limite che non si avrebbe con le Persistent Memory;
*Persistenza dell'indirizzamento a byte: con le Persistent Memory, il flusso di dati può essere scritto direttamente senza le scritture a catena tipiche delle memorie standard (eseguite fino alle memorie non volatili per assicurare la persistenza dei dati;
*Durabilità con bassa latenza: con scritture e letture istantanee o molto veloci, si potrebbe velocizzare di molto il lavoro individuale; inoltre, potendo avere RAM non volatili, l'accensione e lo spegnimento di sistemi potrebbe essere istantanea (poiché il tempo di attesa corrisponde a lettura dei dati dall'Hard Disk e scrittura su DRAM).
== Note ==
== Collegamenti esterni ==
* {{cita web|https://www.samsung.com/|"Samsung"}}
* {{cita web|http://www.micron.com/|"Micron Technology"}}
{{Portale|informatica}}
[[Categoria:Terminologia informatica]]
[[Categoria:Memorie informatiche]]
[[Categoria:Hardware]]
[[Categoria:Dispositivi elettronici]]
|