# Amplificació d'escriptura

L'amplificació d'escriptura (WA) és un fenomen indesitjable associat a la memòria flaix i les unitats d'estat sòlid (SSD) on la quantitat real d'informació escrita físicament al suport d'emmagatzematge és un múltiple de la quantitat lògica que es vol escriure.
Com que la memòria flaix s'ha d'esborrar abans que es pugui reescriure, amb una granularitat molt més gruixuda de l'operació d'esborrat en comparació amb l'operació d'escriptura, el procés per realitzar aquestes operacions té com a objectiu moure (o reescriure) dades i metadades de l'usuari. més d'una vegada. Per tant, la reescriptura d'algunes dades requereix llegir, actualitzar i escriure una part de flaix ja utilitzada en una nova ubicació, juntament amb esborrar inicialment la nova ubicació si s'ha utilitzat anteriorment. A causa del funcionament del flaix, s'han d'esborrar i reescriure porcions molt més grans del que realment requereix la quantitat de dades noves. Aquest efecte multiplicador augmenta el nombre d'escriptures necessàries durant la vida útil de l'SSD, la qual cosa redueix el temps que pot funcionar de manera fiable. L'augment d'escriptures també consumeix ample de banda a la memòria flaix, la qual cosa redueix el rendiment d'escriptura a l'SSD. Molts factors afectaran el WA d'un SSD; alguns poden ser controlats per l'usuari i alguns són el resultat directe de les dades escrites i de l'ús de l'SSD.
Intel i SiliconSystems (adquirits per Western Digital el 2009) van utilitzar el terme amplificació d'escriptura en els seus articles i publicacions el 2008. El WA es mesura normalment per la proporció d'escriptures realitzades a la memòria flaix i les escriptures procedents del sistema amfitrió. Sense compressió, WA no pot baixar per sota d'un. Utilitzant la compressió, SandForce ha afirmat aconseguir una amplificació d'escriptura de 0,5, amb valors en el millor dels casos tan baixos com 0,14 al controlador SF-2281.

## Funcionament bàsic de l'SSD

A causa de la naturalesa del funcionament de la memòria flaix, les dades no es poden sobreescriure directament com es pot fer en una unitat de disc dur. Quan les dades s'escriuen per primera vegada a un SSD, totes les cel·les comencen en un estat esborrat, de manera que les dades es poden escriure directament utilitzant pàgines alhora (sovint 4-8KB en tamany). El controlador SSD de l'SSD, que gestiona la memòria flaix i les interfícies amb el sistema amfitrió, utilitza un sistema de mapatge lògic a físic conegut com a adreçament de blocs lògics (LBA) que forma part de la capa de traducció flash (FTL). Quan arribin dades noves que substitueixin dades anteriors ja escrites, el controlador SSD escriurà les dades noves en una ubicació nova i actualitzarà el mapa lògic per apuntar a la nova ubicació física. Les dades de la ubicació anterior ja no són vàlides i caldrà esborrar-les abans que es pugui tornar a escriure en aquesta ubicació.
La memòria flaix es pot programar i esborrar només un nombre limitat de vegades. Sovint es coneix com el nombre màxim de cicles programar/esborrar (cicles P/E) pot mantenir-se durant tota la vida útil de la memòria flaix. El flaix de cel·les d'un sol nivell (SLC), dissenyat per a un major rendiment i una major resistència, normalment pot funcionar entre 50.000 i 100.000 cicles. A 2011, el flaix de cèl·lules multinivells (MLC) està dissenyat per a aplicacions de baix cost i té un recompte de cicles molt reduït, normalment entre 3.000 i 5.000. Des del 2013, el flaix de cel·les de triple nivell (TLC) (p. ex., 3D NAND) està disponible, amb el recompte de cicles baixant a 1.000 cicles d'esborrat de programes (P/E). Una amplificació d'escriptura més baixa és més desitjable, ja que correspon a un nombre reduït de ciles P/E a la memòria flaix i, per tant, augmenta la vida útil del SSD.

## Càlcul del valor

L'amplificació d'escriptura sempre estava present als SSD abans de definir el terme, però va ser l'any 2008 que tant Intel com SiliconSystems van començar a utilitzar el terme en els seus articles i publicacions. Tots els SSD tenen un valor d'amplificació d'escriptura i es basa tant en el que s'està escrivint actualment com en el que es va escriure prèviament a l'SSD. Per mesurar amb precisió el valor d'un SSD específic, la prova seleccionada s'ha d'executar durant el temps suficient per assegurar-se que la unitat ha arribat a un estat estacionari.
Una fórmula senzilla per calcular l'amplificació d'escriptura d'un SSD és:
${\text{write amplification}}={\frac {\text{data written to the flash memory}}{\text{data written by the host}}}$
Les dues quantitats utilitzades per al càlcul es poden obtenir mitjançant estadístiques SMART (ATA F7/F8; ATA F1/F9).
| Factor | Descripció | Tipus |
| Recollida d'escombraries | L'eficiència de l'algorisme utilitzat per triar el següent millor bloc per esborrar i reescriure | Variable |
| Sobreaprovisionament | El percentatge de capacitat física que s'assigna al controlador SSD | Variable |
| Ordre TRIM per a SATA o UNMAP per a SCSI | Aquestes ordres les ha d'enviar el sistema operatiu (SO) que indica al dispositiu d'emmagatzematge quines pàgines contenen dades no vàlides. Els SSD que reben aquestes ordres poden recuperar els blocs que contenen aquestes pàgines com a espai lliure quan s'esborren en lloc de copiar les dades no vàlides a pàgines netes. | Commuta |
| Espai d'usuari gratuït | El percentatge de la capacitat d'usuari lliure de dades reals de l'usuari; requereix TRIM, en cas contrari, el SSD no obté cap benefici de cap capacitat d'usuari gratuïta | Variable |
| Esborrat segur | Esborra totes les dades d'usuari i les metadades relacionades que restableixen el SSD al rendiment inicial (fins que es reprèn la recollida d'escombraries) | Commuta |
| Anivellar el desgast | L'eficiència de l'algorisme que garanteix que cada bloc s'escriu el mateix nombre de vegades a tots els altres blocs de la manera més uniforme possible | Variable |
| Separació de dades estàtiques i dinàmiques | Agrupar les dades en funció de la freqüència amb què tendeixen a canviar | Commuta |
| Escriptures seqüencials | En teoria, les escriptures seqüencials tenen menys amplificació d'escriptura, però altres factors encara afectaran la situació real | Commuta |
| Escriures aleatòries | L'escriptura de dades no seqüencials i les mides de dades més petites tindran un major impacte en l'amplificació d'escriptura | Commuta |
| Compressió de dades que inclou la deduplicació de dades | L'amplificació d'escriptura baixa i la velocitat de l'SSD augmenta quan la compressió i la deduplicació de dades elimina les dades més redundants. | Variable |
| Utilitzant MLC NAND en mode SLC | Això escriu dades a una velocitat d'un bit per cel·la en lloc del nombre dissenyat de bits per cel·la (normalment dos bits per cel·la o tres bits per cel·la) per accelerar les lectures i les escriptures. Si s'acosten els límits de capacitat de la NAND en mode SLC, l'SSD ha de reescriure les dades més antigues escrites en mode SLC al mode MLC / TLC per permetre que s'esborri l'espai en el mode SLC NAND per acceptar més dades. Tanmateix, aquest enfocament pot reduir el desgast mantenint les pàgines que es canvien amb freqüència en mode SLC per evitar programar aquests canvis en mode MLC / TLC, ja que escriure en mode MLC / TLC fa més dany al flaix que escriure en mode SLC. Per tant, aquest enfocament augmenta l'amplificació de l'escriptura, però podria reduir el desgast quan els patrons d'escriptura es dirigeixen a pàgines escrites amb freqüència. Tanmateix, els patrons d'escriptura seqüencial i aleatòria agreujaran el dany perquè no hi ha pàgines escrites amb freqüència que es podrien contenir a l'àrea SLC o hi ha poques, la qual cosa obliga a reescriure constantment les dades antigues a MLC / TLC des de l'àrea SLC. . Aquest mètode de vegades s'anomena "caché SLC". | Commuta |

## Referències

* ↑ Hu, X.-Y.. Write Amplification Analysis in Flash-Based Solid State Drives (en anglès). IBM, 2009.
* ↑ Hu, X.-Y.. Write Amplification Analysis in Flash-Based Solid State Drives (en anglès). IBM, 2009.
* ↑ Smith, Kent. «Benchmarking SSDs: The Devil is in the Preconditioning Details» (en anglès). SandForce, 17-08-2009. [Consulta: 10 novembre 2016].
* ↑ Lucchesi, Ray. «SSD Flash drives enter the enterprise» (en anglès). Silverton Consulting, 01-09-2008. [Consulta: 18 juny 2010].
* ↑ Shimpi, Anand Lal. «OCZ's Vertex 2 Pro Preview: The Fastest MLC SSD We've Ever Tested» (en anglès). AnandTech, 31-12-2009. [Consulta: 16 juny 2011].
* ↑ Ku, Andrew. «Intel SSD 520 Review: SandForce's Technology: Very Low Write Amplification» (en anglès). TomsHardware, 06-02-2012. [Consulta: 10 febrer 2012].
* ↑ Hu, X.-Y.. «The Fundamental Limit of Flash Random Write Performance: Understanding, Analysis and Performance Modelling» (en anglès). IBM Research, Zurich, 31-03-2010. Arxivat de l'original el 2011-07-13. [Consulta: 19 juny 2010].
* ↑ Hu, X.-Y.. Write Amplification Analysis in Flash-Based Solid State Drives (en anglès). IBM, 2009.
* ↑ Agrawal, N., V. Prabhakaran, T. Wobber, J. D. Davis, M. Manasse, R. Panigrahy. Design Tradeoffs for SSD Performance (en anglès). Microsoft, juny 2008.
* ↑ Hu, X.-Y.. Write Amplification Analysis in Flash-Based Solid State Drives (en anglès). IBM, 2009.
* ↑ Lucchesi, Ray. «SSD Flash drives enter the enterprise» (en anglès). Silverton Consulting, 01-09-2008. [Consulta: 18 juny 2010].
* ↑ Kerekes, Zsolt. «Western Digital Solid State Storage – formerly SiliconSystems» (en anglès). ACSL. [Consulta: 19 juny 2010].
* ↑ Smith, Kent. «Benchmarking SSDs: The Devil is in the Preconditioning Details» (en anglès). SandForce, 17-08-2009. [Consulta: 10 novembre 2016].
* ↑ Hu, X.-Y.. Write Amplification Analysis in Flash-Based Solid State Drives (en anglès). IBM, 2009.
* ↑ «SSDs – Write Amplification, TRIM and GC» (en anglès). OCZ Technology. Arxivat de l'original el 2012-10-31. [Consulta: 13 novembre 2012].
* ↑ «Intel Solid State Drives» (en anglès). Intel. [Consulta: 31 maig 2010].
* ↑ «TN-FD-23: Calculating Write Amplification Factor» (en anglès). Micron, 2014. Arxivat de l'original el 6 de juny 2023. [Consulta: 16 maig 2023].