ID.nl logo
Zekerheid & gemak

TRIM voor gevorderden

In Computer!Totaal nummer 4/2010 hebben we vijf SSD’s met ondersteuning voor TRIM getest. Omwille van de eenvoud zijn we in de test uitgegaan van locaties als plaats waar een SSD gegevens kan opslaan. Eigenlijk worden hier zogenaamde ‘pages’ en ‘blocks’ voor gebruikt. In dit artikel gaan we dieper in op de werking van pages, blocks en de relatie met TRIM.

TRIM is een commando dat ervoor zorgt dat een SSD optimale schrijfprestaties behoudt. De werking van TRIM is pas echt te begrijpen als u de opbouw van een SSD kent. Een SSD slaat informatie op in ‘pages’, die weer zijn gegroepeerd in een ‘block’. Om deze begrippen te snappen, moet u eerst even stilstaan bij de samenstelling van de Multi Level Cell (MLC) SSD’s zoals die in Computer!Totaal 4/2010 getest zijn. Een MLC-SSD bestaat uit miljarden geheugencellen die elk meerdere bits kunnen opslaan. Een geordende verzameling van deze cellen wordt een page genoemd en is de kleinste eenheid om een bestand op te slaan of terug te lezen in een SSD. Een page heeft doorgaans een omvang van 4 KB. Slaat u dus een bestand op van 1 KB, dan neemt dit bestand 4 KB in beslag op de SSD.

Blocks

Een block is een belangrijke eenheid voor een SSD, omdat dit de kleinste verzameling van ‘pages’ is die een SSD moet inlezen om gegevens te kunnen verwijderen. Een block bestaat uit 128 van deze pages en heeft een omvang van 512 KB. Nu is het zo dat een SSD werkt als een x-aantal geheugenmodules in een RAID-opstelling. Dit betekent dat een bestand over meerdere geheugenmodules is verspreid voor maximale leessnelheid. Windows ‘praat’ met de SSD via Logical Block Addressing (LBA), en houdt bij welke blocks in gebruik en welke beschikbaar zijn. Omdat een SSD met pages werkt, moet de SSD-controller de LBA-opdrachten omzetten. De Windows-opdracht om een bestand te overschrijven wordt door een SSD (indien mogelijk) vertaalt naar wegschrijven op een lege page. Zijn er geen lege pages, dan moeten er eerst pages worden leeggemaakt.

Vertraging bij schrijven

Er treedt een probleem op wanneer er onvoldoende lege pages beschikbaar zijn om een bestand op te slaan, terwijl er volgens de index van Windows meer dan voldoende ruimte beschikbaar is. Het is immers zo dat een bestand nooit daadwerkelijk gewist wordt wanneer daar de opdracht toe gegeven wordt. Dit gebeurt pas wanneer de ruimte die het betreffende bestand in neemt wordt overschreven door nieuwe data. Een probleem hierbij is dat een SSD pages welke delen van bestanden bevatten die niet langer in gebruik zijn niet rechtstreeks kan overschrijven. Een SSD moet eerst blocks inlezen en deze in zijn eigen cachegeheugen plaatsen, omdat gegevens alleen daar verwijderd kunnen worden. In het cachegeheugen worden de betreffende pages geleegd en dan wordt het hele block met lege pages teruggezet op de SSD, waarna deze pages beschikbaar zijn voor nieuwe gegevens. Dit vertraagd het schrijfproces met een factor drie of meer.

TRIM

De reddende engel voor deze situaties is TRIM. Dit is een commando dat Window 7 meestuurt naar de SSD tijdens een wisactie. Dit commando informeert de controller van de SSD welke pages daadwerkelijk verwijderd kunnen worden en zet de SSD aan het werk door blocks in te lezen en de pages die gevuld zijn met bestanden (en die volgens Windows overschreven mogen worden) te legen. Op deze manier blijft een SSD in optimale conditie door voldoende lege pages in voorraad te hebben en kan een schrijfopdracht altijd optimaal uitgevoerd worden. We laten u stap voor stap zien wat er gebeurt als een SSD bestanden schrijft en verwijdert en hoe TRIM ervoor zorgt dat er altijd voldoende pages vrij zijn.

1. Lege SSD

©PXimport

Stelt u zich voor dat we een SSD hebben met een opslagcapaciteit van precies 1 block. Een leeg block van 512 KB op het SSD bestaat uit 128 lege pages van 4 KB.

2. Bestand wegschrijven

©PXimport

We willen een bestand wegschrijven van 12 KB, daarmee worden 3 pages gevuld van 4 KB (blauw).

3. Nog een bestand wegschrijven

©PXimport

We willen daarna nog een bestand van 8 KB wegschrijven (paars). In totaal hebben we 20 KB in gebruik genomen. We hebben dus nog 512 KB – 20 KB = 492 KB vrij, oftewel nog 123 vrije pages.

4. Bestand wissen

©PXimport

We gaan nu het bestand van 8 KB wissen (paars). Volgens Windows heeft ons SSD nog 512 KB - 12 KB = 500 KB beschikbaar. Ons SSD registreert echter nog steeds 123 lege pages en 2 pages met gegevens die verwijderd mogen worden.

5. Bestand wegschrijven

©PXimport

We schrijven nu 4 KB weg (groen). De twee pages die informatie bevatten met ‘te verwijderen gegevens’ worden overgeslagen door het SSD. Eerst worden de lege pages gevuld.

6. TRIM aan het werk

©PXimport

Bij ondersteuning voor TRIM stuurt Windows 7 het TRIM-commando mee bij een wisactie. Hierdoor weet de controller van de SSD dat deze data daadwerkelijk verwijderd kan worden. Wanneer de SSD een tijdje niks meer te doen heeft zal de SSD het complete block van 512 KB waarvan een gedeelte door het TRIM-commando is aangewezen als verwijderen verplaatsen naar het cachegeheugen. Hier zal het door het TRIM-commando verwijderde bestand (paars) daadwerkelijk worden verwijderd.

7. Pages worden verwijdert

©PXimport

Nu kunnen de 2 pages geleegd worden en het hele block weer teruggezet worden. U kunt zich wellicht voorstellen wanneer u een bestand van 10 MB gaat wissen, we in totaal 2560 pages moeten wissen. Als die vervolgens ook nog over verschillende blocks zijn verdeeld, dan moet heel veel data ingelezen worden. Ook al bevat een block slechts 4 KB van het bestand, toch moet 512 KB ingelezen worden om het gedeelte van 4 KB te wissen. TRIM zorgt ervoor dat dit gebeurt op momenten wanneer u de SSD niet gebruikt.

8. Ruimte weer vrij

©PXimport

Nu zijn de 2 pages pas weer klaar om opnieuw beschreven te worden.

9. Bestand wegschrijven naar vrije ruimte

©PXimport

Als nu een bestand van 12 KB weggeschreven wordt, zijn er genoeg pages vrij om het bestand (oranje) weg te schrijven.

▼ Volgende artikel
Ontslagen bij Ubisoft Toronto, Splinter Cell-remake nog wel in ontwikkeling
Huis

Ontslagen bij Ubisoft Toronto, Splinter Cell-remake nog wel in ontwikkeling

Ubisoft heeft bevestigd dat er ongeveer veertig werknemers van diens studio in Toronto, Canada worden ontslagen. Wel benadrukt het bedrijf dat de Splinter Cell-remake nog altijd in ontwikkeling is.

De veertig ontslagen werknemers beslaan ongeveer acht procent van de complete Ubisoft Toronto-studio. Dat is een van de grotere Ubisoft-studio's. "Dit besluit is niet lichtzinnig gemaakt en zegt niets over het talent, de motivatie en bijdrage van de individuen", zo stelde een woordvoerder.

Ubisoft Toronto heeft odner andere Far Cry 6, Splinter Cell: Blacklist en Watch Dogs Legion ontwikkeld. Ook werkt het al geruime tijd aan een remake van Splinter Cell. Ubisoft heeft benadrukt dat die remake in ontwikkeling blijft bij de studio.

Remake van Splinter Cell

In 2021 werd de remake van de klassieke stealthgame Splinter Cell aangekondigd. Sindsdien is er maar mondjesmaat informatie over de game naar buiten gekomen. Kort na de aankondiging werd gemeld dat het verhaal wordt herschreven voor een moderner publiek.

Eind vorig jaar bleek dat David Grivel terugkeerde naar Ubisoft Toronto om aan het spel te werken. Hij nam de regie van de remake oorspronkelijk op zich, maar vertrok in 2022. Inmiddels is hij dus weer terug op het oude nest en werkt hij weer aan het spel.

Watch on YouTube

Reorganisatie van Ubisoft

Afgelopen januari kondigde de Franse uitgever en ontwikkelaar Ubisoft al een grootschalige reorganisatie van het bedrijf aan, waarbij ook zes games werden geannuleerd - waaronder de remake van Prince of Persia: The Sands of Time.

Ubisoft noemde de reorganisatie een "grote organisatorische, operationele en portfolio-reset". Daarbij wil het bedrijf nog meer letten op de kwaliteit die het uitgeeft. Ubisofts nieuwe model gaat zich richten op verschillende 'creatieve huizen' die zich elk met andere soorten games bezighouden. Een daarvan is Vantage Studios, de vorig jaar met Tencent opgerichte dochteronderneming waar Assassin's Creed, Far Cry en Rainbow Six nu onder vallen.

Ubisoft heeft daarnaast aangekondigd dat het thuiswerken niet meer toelaat en dat alle werknemers worden geacht om fulltime op kantoor aanwezig te zijn. Wel krijgen werknemers een "een jaarlijkse toelage bestaande uit thuiswerkdagen". Twee studio's van Ubisoft sloten daarnaast hun deuren: de studio's in Halifax en Stockholm. Gedurende de volgende twee jaren wil het bedrijf nog eens 200 miljoen euro besparen.

Ubisoft heeft de laatste jaren wisselend succes met zijn games. Zo viel de verkoop van het miljoenenproject Star Wars Outlaws tegen. Zover bekend is het begin vorig jaar uitgekomen Assassin's Creed Shadows wel een verkoopsucces.

▼ Volgende artikel
De eerste volledige Toy Story 5-trailer is gearriveerd
Huis

De eerste volledige Toy Story 5-trailer is gearriveerd

Na een korte teaser vorig najaar is deze week de eerste volledige trailer van de aankomende animatiefilm Toy Story 5 uitgebracht.

In het vijfde deel van de uiterst succesvolle Pixar-animatiefilmreeks maakt het levende speelgoed kennis met de Lilypad. Dat is een tablet waar alle aandacht naar uit gaat en dus een bedreiging vormt voor het speelgoed.

Met dat concept speelt de film slim in op de hedendaagse tijd. Tablets en smartphones zijn immers niet meer weg te denken uit de hedendaagse maatschappij, ook onder de jeugd. Lilypad luistert zelfs altijd mee, een duidelijke referentie naar de vrees dat onze smartphones ook alles wat we doen vastleggen.

Woody, Buzz en het andere speelgoed dat we nog kennen uit de vorige vier Toy Story-films zal er in ieder geval een stokje voor proberen te steken. Hoe dat afloopt, is vanaf 19 juni in de Amerikaanse bioscopen. Vaak is de Nederlandse premièredatum een dagje eerder op donderdag - in dit geval 18 juni - en waarschijnlijk geldt dat ook voor Toy Story 5.

Watch on YouTube