16Aug

Waarom solid-state drives langzamer werken als u ze opraapt

click fraud protection

De benchmarks zijn duidelijk: solid-state schijven worden langzamer terwijl u ze volzet. Vul je SSD-station tot bijna-capaciteit en de schrijfprestaties zullen drastisch verminderen. De reden waarom ligt in de manier waarop SSD's en NAND Flash-opslag werken.

Vullen van de schijf naar capaciteit is een van de dingen die u nooit zou moeten doen met een solid-state drive. Een bijna volledig SSD-station zal veel tragere schrijfbewerkingen uitvoeren, waardoor uw computer langzamer wordt.

Lege blokken en gedeeltelijk ingevulde blokken

Wanneer u een bestand naar uw SSD-schijf schrijft, zoekt het naar lege blokken en vult deze. Het 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 het SSD-station zodra u het bestand in uw besturingssysteem verwijdert. Dit werkt anders dan magnetische harde schijven, waar delen van verwijderde bestanden op de harde schijf zitten.

instagram viewer

Ze zitten niet rond op een solid-state schijf - TRIM zorgt ervoor dat het blok geleegd wordt, 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 schrijven naar een lege sector op een mechanische harde schijf, maar een SSD-station moet een blok wissen voordat het wordt geschreven.

NAND Flash-geheugen schrijft gegevens in pagina's van 4 kB binnen 256 KB-blokken. Als u extra pagina's wilt toevoegen aan een gedeeltelijk ingevuld blok, moet het SSD-station het hele blok wissen voordat u er gegevens naartoe schrijft.

Wanneer uw solid-state schijf vol raakt, zijn er steeds minder lege blokken beschikbaar. In hun plaats zijn gedeeltelijk gevulde blokken. Het SSD-station kan niet alleen de nieuwe gegevens naar deze gedeeltelijk gevulde blokken schrijven - dat zou de bestaande gegevens wissen. In plaats van een eenvoudige schrijfbewerking moet het SSD-station de waarde van het blok in de cache lezen, de waarde met de nieuwe gegevens wijzigen en het dan terug schrijven. Houd er rekening mee dat het schrijven van een bestand waarschijnlijk betrekking heeft op het schrijven naar veel blokken, dus dit kan een aanzienlijke hoeveelheid extra vertraging introduceren.

TRIM consolideert niet gedeeltelijk ingevulde blokken

Als u een schijf vult tot capaciteit of bijna in de buurt van capaciteit, zal het waarschijnlijk zijn dat u veel gedeeltelijk gevulde blokken krijgt nadat u bestanden hebt verwijderd. Met de opdracht TRIM wordt alleen een SSD-station aangestuurd om bestandsgegevens te verwijderen wanneer het bestand wordt verwijderd. Het station wordt niet gedwongen om op enigerlei wijze schoongemaakt te worden.

Met andere woorden, vul een SSD naar capaciteit voordat u bestanden verwijdert en u zult waarschijnlijk eindigen met veel gedeeltelijk ingevulde blokken. De schijf zal niet uit de weg gaan om deze gedeeltelijk gevulde blokken te consolideren in volledige blokken, waardoor lege blokken worden vrijgegeven. De drive zal nog steeds vol gedeeltelijk gevulde blokken zijn en de schrijfprestaties zullen verslechteren.

Overprovisioning en Garbage Collection

Om te voorkomen dat consumenten hun solid-state schijven opvullen en eindigen met ernstig verslechterende prestaties, doen SSD-fabrikanten hun best om dit tegen te gaan.

Consumenten-grade solid-state schijven zetten vaak ongeveer 7% van hun totale flash-opslag opzij en maken het niet beschikbaar voor de gebruiker. Dit staat bekend als "overprovisioning": extra opslaghardware wordt toegevoegd aan het station, maar is niet zichtbaar voor de computer als beschikbare opslagruimte die het kan gebruiken. Het reservegebied zorgt ervoor dat de schijf nooit helemaal vol kan raken - er zal altijd een reservevermogen overblijven om de schrijfprestaties stabiel te houden.

Elke controller van de solid-state drive 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, zodat zoveel mogelijk lege blokken worden vrijgemaakt. Verschillende solid-state schijven voeren deze bewerkingen uit op verschillende tijden en drempels - dat hangt af van de controller van de omvormer.

Benchmarkbewijs

Anandtech heeft verschillende benchmarks met verschillende schijven uitgevoerd om de relatie tussen het reservegebied van een solid-state schijf en de consistentie van de schrijfbewerkingsprestaties te ontsieren. Bij het opvullen van een lege schijf, merkten ze al vroeg in het proces hoge schrijfprestaties en een aanzienlijke daling toen de schrijfbewerkingen de schijf bleven vullen.

Meer reserveonderdelen op de schijf plaatsen hielp de prestaties constant te houden, omdat de schijf altijd voldoende lege blokken gereed moest hebben.

Zij vonden dat "minimale prestaties substantieel verbeteren zodra u 25% reserve-ruimte voor deze [consument] schijven bereikt." Hun laatste aanbeveling was dat u "van plan bent om slechts ongeveer 75% van de capaciteit van [uw schijf] te gebruiken als u een goedebalans tussen prestatieconsistentie en capaciteit. "

Als u een SSD-schijf hebt, moet u proberen om te voorkomen dat u meer dan 75% van de capaciteit gebruikt. Koop een grotere schijf met meer opslagruimte dan u nodig heeft en zorg ervoor dat u altijd consistente schrijfprestaties hebt. Gelukkig worden SSD's geleidelijk aan veel goedkoper, dus dit is niet zo duur als het ooit was.

Image Credit: Music Sorter op Wikimedia Commons, Simon Wüllhorst op Flickr