Write amplification: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
+O
tradotta e aggiunta la sezione che in inglese è titolata "Basic SSD operation"
Riga 13:
 
[[Intel]]<ref name="Lucchesi">{{Cita web|url=http://www.silvertonconsulting.com/newsletterd/SSDf_drives.pdf |titolo=SSD Flash drives enter the enterprise |autore=Lucchesi, Ray |data=September 2008 |editore=Silverton Consulting |accesso=18 giugno 2010}}</ref> e [[Western Digital|SiliconSystems]] (acquisita da [[Western Digital]] nel 2009)<ref name="Zsolt_Silicon_Systems">{{Cita web|url=http://www.storagesearch.com/siliconsystems.html |titolo=Western Digital Solid State Storage - formerly SiliconSystems |autore=Kerekes, Zsolt |editore=ACSL |accesso=19 giugno 2010}}</ref> usano il termine ''write amplification'' nella loro documentazione e nelle loro pubblicazioni già dal 2008. La ''write amplification'' è misurata tipicamente dal rapporto fra il numero di scritture realmente eseguite sulla flash e il numero di richieste di scrittura richieste dall'host. Senza algoritmi di compressione, la ''write amplification'' non può scendere sotto al valore di 1. Usando algoritmi di compressione, [[SandForce]] dichiara di raggiungere valori tipici di write amplification pari a 0.5,<ref name="Anand_WA">{{Cita web|url=http://www.anandtech.com/show/2899 |titolo=OCZ's Vertex 2 Pro Preview: The Fastest MLC SSD We've Ever Tested |autore=Shimpi, Anand Lal |data=31 dicembre 2009 |editore=AnandTech |accesso=16 giugno 2011}}</ref> con picchi che possono scendere fino a 0.14 con il controller SF-2281.<ref>{{Cita web|url= http://www.tomshardware.com/reviews/ssd-520-sandforce-review-benchmark,3124-11.html |titolo= Intel SSD 520 Review: SandForce's Technology: Very Low Write Amplification |sito=Tomshardware|data=6 febbraio 2012 |nome= Andrew |cognome=Ku|accesso=10 febbraio 2012 }}</ref>
<!-- Parte da tradurre
== Funzionamento di base degli SSD ==
{{See also|Flash memory|Solid-state drive}}
 
[[File:NAND Flash Pages and Blocks.png|frame|right|alt=NAND Flash memory writes data in 4&nbsp;KB pages and erases data in 256&nbsp;KB blocks|NAND Flash memory writes data in 4&nbsp;KB pages and erases data in 256&nbsp;KB blocks.<ref name="L Smith" />]]
 
Due to the nature of flash memory's operation, data cannot be directly [[Overwriting (computer science)|overwritten]] as it can in a [[hard disk drive]]. When data is first written to an SSD, the [[Flash memory#Principles of operation|cells]] all start in an erased state so data can be written directly using [[Flash memory#NAND memories|pages]] at a time ({{as of|2010|5|alt=often 4–8&nbsp;[[kilobytes]] (KB)}} in size). The [[Flash controller|SSD controller]] on the SSD, which manages the flash memory and [[Interface (computer science)|interfaces]] with the host system, uses a logical-to-physical mapping system known as [[logical block addressing]] (LBA) and that is part of the [[Flash Translation Layer|flash translation layer]] (FTL).<ref name="IBM_Hu_Haas">{{cite web |url=http://domino.watson.ibm.com/library/cyberdig.nsf/papers/50A84DF88D540735852576F5004C2558/$File/rz3771.pdf |title=The Fundamental Limit of Flash Random Write Performance: Understanding, Analysis and Performance Modelling |author=Hu, X.-Y. and R. Haas |publisher=IBM Research, Zurich |date=2010-03-31 |accessdate=2010-06-19}}</ref> When new data comes in replacing older data already written, the SSD controller will write the new data in a new ___location and update the logical mapping to point to the new physical ___location. The data in the old ___location is no longer valid, and will need to be erased before the ___location can be written again.<ref name="IBM_WA" /><ref name="IBM_Perf">{{cite web |url=http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.141.1709 |title=Design Tradeoffs for SSD Performance |author=Agrawal, N., V. Prabhakaran, T. Wobber, J. D. Davis, M. Manasse, R. Panigrahy |date= June 2008 |work= |publisher=[[Microsoft]] | id = {{citeseerx|10.1.1.141.1709}}|accessdate=2010-06-02}}</ref>
 
Flash memory can only be programmed and erased a limited number of times. This is often referred to as the maximum number of [[Flash memory#Memory wear|program/erase&nbsp;cycles]] (P/E&nbsp;cycles) it can sustain over the life of the flash memory. [[Single-level cell]] (SLC) flash, designed for higher performance and longer endurance, can typically operate between 50,000 and 100,000 cycles. {{As of|2011}}, [[multi-level cell]] (MLC) flash is designed for lower cost applications and has a greatly reduced cycle count of typically between 3,000 and 5,000. Since 2013, [[triple-level cell]] (TLC) flash has been available, with cycle counts dropping to 1,000 [[Program-erase cycle|program-erase]] (P/E) cycles. A lower write amplification is more desirable, as it corresponds to a reduced number of P/E&nbsp;cycles on the flash memory and thereby to an increased SSD life.<ref name="IBM_WA" />
 
<!-- Parte da tradurre
== Calculating the value ==
Write amplification was always present in SSDs before the term was defined, but it was in 2008 that both Intel<ref name="Lucchesi" /><ref>{{Cite web |url=http://www.extremetech.com/computing/80622-intel-x25-80gb-solidstate-drive-review |title=Intel X25 80GB Solid-State Drive Review |last=Case |first=Loyd |date=2008-09-08 |accessdate=2011-07-28}}</ref> and SiliconSystems started using the term in their papers and publications.<ref name="Zsolt_Silicon_Systems" /> All SSDs have a write amplification value and it is based on both what is currently being written and what was previously written to the SSD. In order to accurately measure the value for a specific SSD, the selected test should be run for enough time to ensure the drive has reached a [[steady state]] condition.<ref name="K Smith" />
Riga 215 ⟶ 208:
In September 2008, [[Intel]] announced the X25-M SATA SSD with a reported WA as low as 1.1.<ref name="Anand_WA" /><ref>{{cite web |url=http://www.intel.com/pressroom/archive/releases/2008/20080908comp.htm |title=Intel Introduces Solid-State Drives for Notebook and Desktop Computers |author= |date=2008-09-08 |work= |publisher=Intel |accessdate=2010-05-31}}</ref> In April 2009, [[SandForce]] announced the SF-1000 SSD Processor family with a reported WA of 0.5 which appears to come from some form of data compression.<ref name="Anand_WA" /><ref>{{cite web |url=http://www.sandforce.com/userfiles/file/downloads/SFI_Launch_PR_Final.pdf |title=SandForce SSD Processors Transform Mainstream Data Storage |author= |date=2008-09-08 |work= |publisher=SandForce |accessdate=2010-05-31}}</ref> Before this announcement, a write amplification of 1.0 was considered the lowest that could be attained with an SSD.<ref name="Conley" /> Currently, only [[SandForce]] employs compression in its SSD controller.
-->
== Funzionamento elementare di base degliun SSD ==
{{See also|Memoria flash|Unità a stato solido}}
[[File:NAND Flash Pages and Blocks.svg|frame|Memoria flash NAND scrive dati in 4&nbsp;KiB pagine e cancella dati in 256&nbsp;KiB blocchi.<ref>{{cite web |url=http://www.snia.org/sites/default/education/tutorials/2009/spring/solid/JonathanThatcher_NandFlash_SSS_PerformanceV10-nc.pdf |title=NAND Flash Solid State Storage Performance and Capability &ndash; an In-depth Look |author=Thatcher, Jonathan |date=2009-08-18 |publisher=SNIA |accessdate=2012-08-28}}</ref>}}]]
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 disco a 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]](KB) ciascuna). Il controller dell'unità a stato solido, 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|file system di tipo flash]].<ref>{{cite web |url=http://domino.watson.ibm.com/library/cyberdig.nsf/papers/50A84DF88D540735852576F5004C2558/$File/rz3771.pdf |title=The Fundamental Limit of Flash Random Write Performance: Understanding, Analysis and Performance Modelling |author1=Hu, X.-Y. |author2=R. Haas |lastauthoramp=yes |publisher=IBM Research, Zurich |date=2010-03-31 |accessdate=2010-06-19}}</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">{{cite web |url=http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.141.1709 |title=Design Tradeoffs for SSD Performance |author=Agrawal, N., V. Prabhakaran, T. Wobber, J. D. Davis, M. Manasse, R. Panigrahy |date= June 2008 |work= |publisher=[[Microsoft]] | citeseerx = 10.1.1.141.1709|accessdate=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" />
 
== Note ==