Write amplification: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Voci correlate: aggiunta una voce (Flash File System))
Atarubot (discussione | contributi)
template citazione; rinomina/fix nomi parametri; converto template cite xxx -> cita xxx; elimino parametri vuoti; fix formato data; Corretti parametri ref duplicati
Riga 18:
A causa della particolare tipologia di operazioni eseguibili in [[memoria flash]], le informazioni non possono essere sovrascritte direttamente come nel caso di un [[disco rigido]]. Quando le informazioni sono scritte per prime in un'[[Unit%C3%A0_a_stato_solido|unità stato solido]], tutte le [[Memoria_flash#Il_transistor_floating_gate|celle]] sono inizializzate in modo tale che vi si possa scrivere direttamente in pagine (solitamente di grandezza compresa intorno a 4-8 [[kilobytes]] ciascuna). Il [[Unit%C3%A0_a_stato_solido#Controller|controller]] dell'unità, che si occupa di gestire la memoria flash e le [[Interfaccia_(informatica)|interfacce]] con l'host, utilizza una mappatura da logico-a-fisico conosciuta come ''LBA'' o [[logical block addressing]], che è parte dell'FTL, o ''[[flash translation layer]]'', ovvero il livello di traduzione di un [[flash file system|flash file system]].<ref>{{Cita web|url=http://domino.watson.ibm.com/library/cyberdig.nsf/papers/50A84DF88D540735852576F5004C2558/$File/rz3771.pdf |titolo=The Fundamental Limit of Flash Random Write Performance: Understanding, Analysis and Performance Modelling |autore1=Hu, X.-Y. |autore2=R. Haas |lastauthoramp=yes |editore=IBM Research, Zurich |data=31 marzo 2010 |accesso=19 giugno 2010}}</ref>
 
Quando le nuove informazioni arrivano a sostituire quelle vecchie, il controller dell'SSD scrive i nuovi dati in una nuova posizione e aggiorna la mappatura logica di conseguenza, riferendola alla nuova locazione fisica. Per questa ragione le informazioni nella vecchia posizione non sono più valide e hanno bisogno di essere cancellate prima che loro locazione fisica possa essere riutilizzata.<ref name="IBM_WA" /><ref name="IBM_Perf">{{citeCita web |url=http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.141.1709 |titletitolo=Design Tradeoffs for SSD Performance |authorautore=Agrawal, N., V. Prabhakaran, T. Wobber, J. D. Davis, M. Manasse, R. Panigrahy |datedata= June 2008 |work= |publishereditore=[[Microsoft]] | citeseerx = 10.1.1.141.1709|accessdateaccesso=2 giugno 2010-06-02}}</ref>
 
La memoria flash può essere programmata e cancellata solo per un numero limitato di volte. Questo valore è solitamente indicato come numero massimo di cicli di [[Memoria_flash#Programmazione_e_cancellazione|programmazione e cancellazione]], o ''P/E''. Ad esempio una memoria flash SLC, o ''single-level cell'', progettata per alte prestazioni e grande longevità può tipicamente operare tra i 50,000 e i 100,000 cicli. Una memoria flash MLC, o ''multi-level cell'', è invece progettata per applicazioni di costo inferiore ed ha una quantità notevolmente ridotta di cicli massimi che si attestava, nel 2011, tra i 3,000 e i 5,000 cicli. Dal [[2013]], le memorie flash TLC, o ''triple-level cell'', sono state rese disponibili con un numero di cicli che è sceso fino a 1,000 P/E. Si noti che è auspicabile la più bassa write amplification possibile, poiché corrisponde ad un numero inferiore di cicli di programmazione e cancellazione sulla memoria flash, permettendo ad un SSD di durare più a lungo.<ref name="IBM_WA" />
Riga 24:
== Calcolo del valore ==
La write amplification è stata presente negli SSD anche prima che il termine fosse coniato, ma è stato nel 2008 che sia [[Intel]] che la SiliconSystems iniziarono ad usare il termine nelle loro pubblicazioni.<ref name="Zsolt_Silicon_Systems" />
Una semplice formula per calcolare il valore della write amplification di un SSD è:<ref name="IBM_WA" /><ref name="OCZ_WA">{{citeCita web |url=http://www.oczenterprise.com/whitepapers/ssds-write-amplification-trim-and-gc.pdf |titletitolo=SSDs - Write Amplification, TRIM and GC |publishereditore=OCZ Technology |accessdateaccesso=13 novembre 2012-11-13}}</ref> All SSDs include some level of garbage collection, but they may differ in when and how fast they perform the process.<ref name="OCZ_WA" /> Garbage collection is a big part of write amplification on the SSD.<ref name="IBM_WA" /><ref name="OCZ_WA" /><ref>{{citeCita web |url=http://www.intel.com/cd/channel/reseller/asmo-na/eng/products/nand/feature/index.htm |titletitolo=Intel Solid State Drives |datedata= |workeditore=Intel |publisheraccesso=Intel31 maggio |accessdate=2010-05-31}}</ref>
 
: <math>\frac{\text{informazioni scritte in memoria flash}}{\text{informazioni scritte dal sistema}} = \text{write amplification}</math>
Riga 123:
[[File:Garbage Collection.png|thumb|upright=1.5|Le pagine sono scritte nei blocchi fino a quando non vengono riempiti. Poi le pagine con le informazioni attuali sono spostate in nuovi blocchi e quelli precedenti vengono cancellati<ref name="IBM_WA" />}}]]
 
I dati sono scritti sulla memoria flash in unità chiamate pagine (costituite da più celle). La memoria può essere cancellata solo in unità più grandi chiamate blocchi (costituiti da più pagine).<ref name="L Smith">{{citeCita web |url=http://www.snia.org/sites/default/education/tutorials/2009/spring/solid/JonathanThatcher_NandFlash_SSS_PerformanceV10-nc.pdf |titletitolo=NAND Flash Solid State Storage Performance and Capability &ndash; an In-depth Look |authorautore=Thatcher, Jonathan |datedata=2009-08-18 agosto 2009 |publishereditore=SNIA |accessdateaccesso=2012-08-28 agosto 2012}}</ref> Se le informazioni in qualcuna delle pagine del blocco non sono più necessarie (sono anche chiamate pagine di stallo), solo le pagine con informazioni valide in quel blocco sono lette e riscritte in un altro blocco libero precedentemente pulito.<ref name="K Smith" /> Successivamente le pagine lasciate libere dal non aver mosso le informazioni di stallo sono libere per i nuovi dati. Questo processo è chiamato [[garbage collection]](GC).<ref name="IBM_WA" /><ref name="OCZ_WA">{{cite web |url=http://www.oczenterprise.com/whitepapers/ssds-write-amplification-trim-and-gc.pdf |title=SSDs - Write Amplification, TRIM and GC |publisher=OCZ Technology |accessdate=2012-11-13}}</ref> Tutti gli SSD includono un qualche livello di garbage collection, che può variare nella quantità e nella velocità di esecuzione del processo.<ref name="OCZ_WA" />. Il garbage collection è un fattore determinante per la write amplification su di un SSD.<ref name="IBM_WA" /><ref name="OCZ_WA" />
 
Le operazioni di lettura non richiedono una cancellazione della memoria flash, pertanto non sono generalmente associate alla write amplification. Nella limitata ipotesi in un errore di disturbo dell'operazione di lettura, le informazioni in quel blocco sono lette e riscritte, ma questo non avrebbe comunque nessun impatto materiale sulla write amplification del dispositivo.<ref>{{citeCita web |url=http://download.micron.com/pdf/technotes/nand/tn2917.pdf |titletitolo=TN-29-17: NAND Flash Design and Use Considerations |yearanno=2006 |workeditore=Micron |publisheraccesso=Micron2 giugno |accessdate=2010-06-02}}</ref>
 
== Note ==