De benchmarks zijn duidelijk: Solid State-schijven langzamer als je ze vult. Vul uw SSD-station tot bijna de capaciteit en de schrijfprestaties zullen dramatisch afnemen. De reden hiervoor ligt in de manier waarop SSD's en NAND Flash-opslag werken.
Het vullen van de schijf tot de capaciteit is een van de dingen die u nooit zou moeten doen met een SSD-station . Een bijna volle solid-state drive heeft veel langzamere schrijfbewerkingen, waardoor uw computer langzamer wordt.
Lege blokken en gedeeltelijk gevulde blokken
Wanneer u een bestand naar uw SSD-station schrijft, zoekt het naar lege blokken en vult deze. Schrijven naar een leeg blok is de snelst mogelijke schrijfbewerking. Daarom ondersteunen nieuwe besturingssystemen (Windows 7 en hoger) de TRIM-functie, die automatisch de gegevens van een bestand verwijdert van de solid-state schijf zodra u het bestand in uw besturingssysteem verwijdert. Dit werkt anders dan magnetische harde schijven, waar stukjes verwijderde bestanden blijven op de harde schijf staan .
Ze zitten niet op een solid-state schijf - TRIM zorgt ervoor dat het blok wordt geleegd, zodat de SSD in de toekomst snel nieuwe gegevens naar het lege blok kan schrijven. Het overschrijven van een reeds geschreven sector is net zo snel als het schrijven naar een lege sector op een mechanische harde schijf, maar een SSD-station moet een blok wissen voordat er naar kan worden geschreven.
NAND Flash-geheugen schrijft gegevens in 4 KB pagina's binnen 256 KB blokken. Om extra pagina's aan een gedeeltelijk gevuld blok toe te voegen, moet de solid-state schijf het hele blok wissen voordat er weer gegevens naar worden geschreven.
Naarmate uw solid-state schijf vol raakt, zijn er steeds minder lege blokken beschikbaar. In plaats daarvan zijn gedeeltelijk gevulde blokken. De SSD-schijf kan de nieuwe gegevens niet zomaar naar deze gedeeltelijk gevulde blokken schrijven - dat zou de bestaande gegevens wissen. In plaats van een simpele schrijfbewerking moet de solid-state drive de waarde van het blok in zijn cache lezen, de waarde aanpassen met de nieuwe gegevens en deze vervolgens terugschrijven. Houd er rekening mee dat bij het schrijven van een bestand waarschijnlijk naar veel blokken moet worden geschreven, dus dit kan een aanzienlijke hoeveelheid extra vertraging veroorzaken.
TRIM consolideert geen gedeeltelijk gevulde blokken
Als u een schijf volledig of bijna vol heeft, krijgt u waarschijnlijk veel gedeeltelijk gevulde blokken nadat u bestanden heeft verwijderd. De TRIM-opdracht geeft alleen een SSD-station opdracht om bestandsgegevens te verwijderen wanneer het bestand wordt verwijderd. Het dwingt de schijf niet om een opruimactie uit te voeren.
Met andere woorden, vul een SSD-station volledig voordat u bestanden verwijdert, en u zult waarschijnlijk eindigen met veel gedeeltelijk gevulde blokken. De schijf zal niet zijn best doen om deze gedeeltelijk gevulde blokken samen te voegen tot volledige blokken, waardoor lege blokken vrijkomen. De schijf zit nog steeds vol met gedeeltelijk gevulde blokken en de schrijfprestaties zullen afnemen.
Overprovisioning en Garbage Collection
Om te voorkomen dat consumenten hun solid-state schijven vollopen en de prestaties sterk achteruitgaan, doen SSD-fabrikanten er alles aan om dit tegen te gaan.
Consumenten-grade solid-state schijven zetten vaak ongeveer 7% van hun totale flash-opslag opzij en maken deze niet beschikbaar voor de gebruiker. Dit staat bekend als 'overprovisioning': extra opslaghardware wordt aan de schijf toegevoegd, maar is niet zichtbaar voor de computer als beschikbare opslag die deze kan gebruiken. Het reservegebied zorgt ervoor dat de schijf nooit helemaal vol kan raken - er is altijd wat reservecapaciteit om de schrijfprestaties stabiel te houden.
De controller van elke SSD-schijf heeft een garbage-collection-algoritme om dit probleem te verhelpen. Wanneer de schijf vol raakt, zoekt deze naar gedeeltelijk gevulde blokken en begint deze te consolideren, waardoor zoveel mogelijk lege blokken vrijkomen. Verschillende solid-state schijven voeren deze bewerkingen uit op verschillende tijdstippen en drempels - dat hangt af van de controller van de schijf.
Benchmark-bewijs
Anandtech heeft verschillende benchmarks uitgevoerd met verschillende schijven om de relatie tussen het reservegebied van een solid-state schijf en de consistentie van de schrijfprestaties te achterhalen. Bij het opvullen van een lege schijf vonden ze al heel vroeg in het proces hoge schrijfprestaties en een aanzienlijke daling naarmate de schrijfbewerkingen de schijf bleven vullen.
Door meer reservegebied op de schijven opzij te zetten, bleven de prestaties consistent, omdat het ervoor zorgde dat de schijf altijd voldoende lege blokken gereed had.
Ze ontdekten dat "de minimumprestaties aanzienlijk verbeteren zodra u 25% reservegebied voor deze [consumer]-schijven bereikt." Hun laatste aanbeveling was dat u "slechts ongeveer 75% van de [your drive’s]-capaciteit wilt gebruiken als u een goede balans wilt tussen prestatieconsistentie en capaciteit."
Als u een SSD-station heeft, moet u proberen te voorkomen dat u meer dan 75% van de capaciteit gebruikt. Koop een grotere schijf met meer opslagruimte dan u nodig heeft en u bent altijd verzekerd van consistente schrijfprestaties. Gelukkig worden SSD's langzamerhand veel goedkoper, dus dit is niet zo duur als het ooit was.
Afbeelding tegoed: Music Sorter at Wikimedia Commons , Simon Wüllhorst op Flickr