Next Generation Memory: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica |
Nessun oggetto della modifica |
||
(26 versioni intermedie di 11 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
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. ▼
▲Per '''Next Generation Memory'''<ref>{{cita web |cognome=Atwood |nome=Greg |titolo=Next-Generation Memory |url=http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6583185 |accesso=20 Settembre 2014}}</ref> si intendono tutte le nuove tecnologie per la memorizzazione, che sono state introdotte o verranno introdotte nel mondo 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.
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]]).▼
▲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]]).
== 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:
Line 19 ⟶ 15:
* [[Disco rigido]]
* [[Nastro magnetico]]
'''Memorie a transistor:'''
Line 25 ⟶ 20:
* [[SRAM]]
* [[Unità a stato solido|SSD]]
'''Memorie con nuove tecnologie:'''
Line 32 ⟶ 26:
==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, 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 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.
==Caso delle Persistent Memory<ref>{{cita web |cognome=Badam |nome=Anirudh |titolo=How Persisten Memory Will Change Software Systems |url=http://www.computer.org/csdl/mags/co/2013/08/mco2013080045-abs.html |accesso=20 Settembre 2014}}</ref>==▼
▲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
Chiaramente queste memorie possiedono caratteristiche del tutto differenti dalle memorie utilizzate oggi, ▼
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.
▲===Caso
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]]
Line 52 ⟶ 73:
[[Categoria:Hardware]]
[[Categoria:Dispositivi elettronici]]
▲{{Portale|informatica}}
|