Waarom microSD-kaarten na verloop van tijd trager worden — en wat je eraan kunt doen
De prestatiedaling die veel mensen toeschrijven aan “slechte kaarten” is meestal normaal gedrag.
Als een microSD-kaart nieuw snel aanvoelde maar een jaar later frustrerend traag is, verbeeld je je dat niet. Dit is echt, meetbaar gedrag van flashopslag en het komt ook voor bij gerenommeerde merken. Het belangrijkste punt is dit: meestal is de kaart niet “kapot”. Ze moet intern gewoon harder werken dan vroeger. Sterker nog, praktijkgegevens tonen aan dat betrouwbaarheidsproblemen bij verwisselbare flashmedia toenemen, met meer dan 300% toename van USB-stickstoringen in de afgelopen jaren.
De vertraging komt meestal door de manier waarop flashgeheugen zichzelf in de loop van de tijd beheert, niet door plotselinge schade. En zodra je begrijpt wat er binnenin de kaart gebeurt, zie je waarom sommige toepassingen netjes verouderen terwijl andere een scherpe prestatieval laten zien.
Een eenvoudig mentaal model helpt.
Zie je microSD-kaart als een magazijn
Stel je je microSD-kaart voor als een magazijn vol dozen. Elke doos staat voor een stukje data. De schappen zijn het flashgeheugen. De magazijnbeheerder is de controller in de kaart. Deze beheerder heeft één vervelende regel: zodra een doos op een schap staat, kan deze niet meer worden aangepast. Als iets verandert, moet er elders een nieuwe doos worden geplaatst en wordt de oude als verouderd beschouwd.
Dat is geen metafoor: zo werkt NAND-flash echt. Gegevens kunnen niet direct worden overschreven. Elke wijziging wordt een nieuwe schrijfactie op een andere plek.
In het begin is het magazijn leeg. Overal is ruimte. Nieuwe dozen worden snel geplaatst. De beheerder hoeft nauwelijks na te denken. De prestaties voelen snel en moeiteloos aan.
Na verloop van tijd raken de schappen voller. Oude dozen stapelen zich op. Sommige schappen bevatten een mix van bruikbare en verouderde data. Nu heeft de beheerder meer werk. Hij moet voortdurend beslissen welke schappen kunnen worden opgeschoond, welke dozen moeten worden verplaatst en waar nieuwe dozen heen moeten. Dat opruimwerk gebeurt op de achtergrond, maar concurreert direct met je lees- en schrijfbewerkingen. Daar begint de prestatie terug te lopen.
