ID.nl logo
Alles over kunstmatige intelligentie in processors
© Reshift Digital
Huis

Alles over kunstmatige intelligentie in processors

Meer en meer apparaten gebruiken gespecialiseerde chips voor kunstmatige intelligentie. Zo heeft de Google Pixel 6 een AI-chip en is de iPhone al jaren voorzien van een Neural Engine. Wat is er zo speciaal aan deze chips en welke taken kunnen ze versnellen?

Standaardprocessors zijn ontworpen om zo snel mogelijk instructies na elkaar uit te voeren. Die race naar steeds snellere kloksnelheden heeft al een tijdje moeten plaatsmaken voor parallellisatie: hierbij voeren meerdere processorkernen op hetzelfde moment instructies uit. Maar de meeste software maakt daarvan geen efficiënt gebruik. Je tekstverwerker haalt niet zoveel voordeel uit acht gelijktijdig werkende processorkernen.

Deep learning

Maar er zijn heel wat gespecialiseerde toepassingen die wel profiteren van verregaande parallellisatie. Vooral in AI (kunstmatige intelligentie) en dan in het bijzonder deep learning, een vorm van neurale netwerken. Deze algoritmen profiteren ervan om dezelfde instructies op grote hoeveelheden verschillende data tegelijk uit te voeren. Dat vereist een heel ander soort processor.

Neurale netwerken bootsen de werking van de hersenen na, die een biologisch neuraal netwerk vormen: een kluwen van ontzettend veel verbindingen tussen neuronen (hersencellen). Een kunstmatig neuraal netwerk bestaat meestal uit meerdere lagen: een invoerlaag van neuronen die de invoer van een probleem voorstellen (bijvoorbeeld een foto), een uitvoerlaag van neuronen die de oplossing van het probleem voorstellen (bijvoorbeeld de naam van de persoon op de foto), en een of meer tussenliggende lagen die berekeningen uitvoeren. Bij een groot aantal lagen tussen en uitvoer spreken we van deep learning.

©PXimport

Tensors

De data in deep learning worden opgeslagen in de vorm van tensors. Een tensor is een veralgemening van een vector of matrix naar meerdere dimensies. We kunnen een tensor beschrijven aan de hand van drie primaire eigenschappen: de rang, de vorm en het datatype. De rang van een tensor is het aantal assen. Zo is de rang van een matrix 2, van een vector 1 en van een getal 0.

De vorm van een tensor is het aantal elementen volgens elke as van de tensor. Stel dat je een tensor van rang 2 aanmaakt met op de eerste rij de getallen 1 en 2, op de tweede rij de getallen 3 en 4, en op de derde rij de getallen 5 en 6. Dan is de vorm van deze tensor de vector (en dus ook een tensor, namelijk van rang 1) [3, 2]. De tensor heeft namelijk drie rijen van 2 elementen.

Het datatype van een tensor beschrijft welke getallen de tensor bevat. Dat kan bijvoorbeeld float32 zijn (kommagetallen van 32 bit), of int8 (gehele getallen van 8 bit).

©PXimport

Machine learning met tensors

Voor elke taak waarvoor je een neuraal netwerk wilt trainen, moet je dus de data omzetten in tensors. Een afbeelding waarin je objecten wilt herkennen, zet je dan om in een tensor van rang 3: de vorm is dan [hoogte, breedte, kanalen], waarbij kanalen voor de kleurkanalen zoals rood, groen en blauw staat.

Vaak verwerken algoritmen in machine learning maar een deel van de data tegelijk. In ons voorbeeld van objectherkenning worden dan meerdere afbeeldingen in een batch onderverdeeld. We werken dan met een tensor van rang 4 met als vorm [samples, hoogte, breedte, kanalen]: de eerste as bevat het aantal samples in een batch.

Deep learning met GPU’s

Toen deep learning rond 2010 na jarenlange ontwikkeling eindelijk doorbrak, was dat vooral door de opkomst van snelle GPU’s (graphical processing units). Onderzoekers ontdekten dat de chips die in grafische kaarten zitten om sneller beelden te renderen, ook uitstekend uitgerust waren voor deep learning, in het bijzonder bij volledig verbonden neurale netwerken.

Computerwetenschapper Andrew Ng bepaalde dat deep learning-systemen met een factor 100 versneld konden worden door gebruik van GPU’s. Niet langer had men weken nodig om algoritmen voor handschriftherkenning of objectdetectie te trainen, maar slechts dagen.

Een GPU bestaat dan ook gemakkelijk uit duizenden processorkernen. Bovendien maakt een GPU gebruik van het SIMD-paradigma (zie kader ‘SIMD’): dezelfde bewerking wordt op duizenden stukjes data tegelijk uitgevoerd. Dat is ideaal voor deep learning, wat een heleboel tensorbewerkingen nodig heeft op grote hoeveelheden data.

Grafische kaart voor AI

In het begin werden voor AI-taken gewoon grafische kaarten voor consumenten gebruikt. Ondertussen produceert Nvidia ook GPU’s, ontwikkelbordjes en volledige servers die specifiek zijn ontworpen voor deep learning. Dat alles doet het bedrijf onder de naam Jetson. De prijzen van de Jetson Developer Kits beginnen bij 75 euro.

De prestaties van deze GPU’s variëren van 472 gigaflops (472 miljard floating-point-bewerkingen per seconde) op de 128-core Nvidia Maxwell-GPU in de Jetson Nano tot 200 tops (200 biljoen bewerkingen per seconde) op de 2048-core Nvidia Ampere-GPU met 64 tensor-cores (te vergelijken met de tensor processing units van Google, zie verder) in de later dit jaar verwachte Jetson AGX Orin. Wat al deze GPU’s gemeen hebben, is dat ze met Nvidia’s toolkit CUDA (Compute Unified Device Architecture) te programmeren zijn.

©PXimport

SIMD

Computerwetenschapper Michael J. Flynn stelde in 1966 een invloedrijke classificatie op van computerarchitecturen volgens hun parallellisme. Deze werkt op basis van twee parameters: het aantal instructies dat tegelijk wordt uitgevoerd en het aantal datastromen dat tegelijk wordt verwerkt.

Een computer zonder parallellisme, zoals de pc vóór de komst van multicore-processors, valt onder single instruction, single data (SISD). Een GPU die dezelfde instructie op meerdere data tegelijk uitvoert, valt onder single instruction, multiple data (SIMD). Maar ook moderne processors ondersteunen gedeeltelijk SIMD-instructies, zoals Advanced Vector Extensions (AVX) op Intel- en AMD-processors, de Neon-extensie op ARM-processors en AltiVec op PowerPC.

Multiple instruction, single data is nogal ongewoon. De boordcomputer van de Space Shuttle gebruikt deze aanpak voor foutentolerantie. Multiple instruction, multiple data is de architectuur voor alle vormen van gedistribueerde systemen.

Overigens zijn moderne GPU’s geen perfecte implementatie van SIMD meer, maar eerder van single instruction, multiple threads (SIMT): je voert meerdere threads uit die elk SIMD toepassen.

Tensor processing unit

Hoewel GPU’s al een hele prestatiewinst bieden ten opzichte van CPU’s voor deep learning, kunnen de prestaties nog met zeker een factor 10 verbeteren door application-specific integrated circuits (ASIC) te gebruiken. Die chips hoeven immers geen rekening te houden met de GPU-architectuur en zijn speciaal ontworpen voor berekeningen met lagere precisie. Door berekeningen bij benadering uit te voeren, in plaats van exact tot op zoveel cijfers na de komma, gaan ze veel sneller. Die precisie is immers in veel toepassingen met neurale netwerken niet nodig.

Google ontwikkelde in 2015 zijn tensor processing unit (TPU), een ASIC voor machine learning. De TPU’s zijn ontworpen om met een laag verbruik zoveel mogelijk berekeningen uit te voeren met een lage precisie (doorgaans 8 bit). Specifiek voor convolutional neural networks zijn TPU’s heel geschikt.

TPU’s in de cloud

Het bedrijf zette de TPU’s eerst in zijn eigen datacenters in, en dat blijft het ook nu nog doen. Zo verwerken TPU’s foto’s van Google Photos, tekst van Google Street View en worden de chips ook gebruikt in het zoekalgoritme RankBrain. Google Translate, Google Assistant, Gmail, al deze diensten draaien op TPU’s.

Sinds 2018 biedt Google zijn TPU’s ook aan als onderdeel van het Google Cloud Platform. De dienst heet Cloud TPU. Zo heeft de tweede generatie van de Cloud TPU een snelheid van 45 teraflops. Daarvan worden vier chips op één module geplaatst, met een totale snelheid van 180 teraflops. Google assembleert 64 van die modules tot een ‘pod’ van 256 Cloud TPU-chips met een totale snelheid van 11,5 petaflops.

©PXimport

TPU’s lokaal

In 2019 kwam Google met een nieuwe productlijn TPU’s, de Edge TPU. In tegenstelling tot de Cloud TPU’s zijn deze bedoeld voor edge computing: berekeningen op lokale apparaten. De Edge TPU is in staat om vier biljoen bewerkingen per seconde uit te voeren met een vermogensverbruik van slechts 2 W.

Google biedt zijn Edge TPU-producten aan onder de merknaam Coral. Tot de beschikbare producten behoren ontwikkelbordjes van allerlei afmetingen, M.2-insteekkaartjes en de USB Accelerator die je eenvoudig via usb op je laptop of Raspberry Pi aansluit. De Edge TPU wordt ook aan andere fabrikanten gelicentieerd. Zo biedt Asus zijn ontwikkelbordje Tinker Edge T aan, evenals een PCIe-kaart waarin 8 of 16 Edge TPU-chips zijn geïntegreerd.

De Edge TPU programmeer je met TensorFlow Lite, een lichtgewicht framework voor deep learning. Aangezien de chip alleen 8bit-bewerkingen ondersteunt, moet het neurale netwerk getraind worden zodat het hiermee rekening houdt, of je kwantiseert een netwerk tot 8 bit.

Verder zijn de bewerkingen die de Edge TPU ondersteunt ook beperkt, waardoor de chip voornamelijk nuttig is voor inference, en niet voor het trainen van netwerken. Een voorbeeld van inference is het detecteren van objecten in foto’s. De training van het neurale netwerk dat je daarvoor gebruikt, moet op een ander platform gebeuren.

©PXimport

TPU in je broekzak

In 2019 bracht Google zijn telefoon Pixel 4 uit met een Neural Core. Deze chip was een aangepaste versie van de Edge TPU en hielp met het ontgrendelen via je gezicht, een snellere Google Assistant en een slimmere camera.

In de Pixel 5 verdween de Neural Core vreemd genoeg, maar in de Pixel 6 maakte de Edge TPU een comeback, deze keer ingebouwd in een nieuwe SoC, de Google Tensor. Deze bevat zowel een CPU als een GPU, TPU en nog andere versnellerhardware.

De TPU verbetert de automatische spraakherkenning van Google Assistant en helpt ook het automatische ondertitelingssysteem Live Caption zonder de batterij snel leeg te trekken. En met het neuraal netwerk HDRnet verbetert de TPU beelden met een breed bereik aan helderheden. Door de TPU voor deze taken te gebruiken, hoeft de Pixel 6 minder vaak verbinding te leggen met de Cloud TPU’s van Google zelf. Dat komt de batterijduur ten goede.

Telefoons met AI

Google is niet de enige die gespecialiseerde AI-chips in zijn telefoons steekt. In 2018 introduceerde Samsung zijn Exynos 9820 met een neural processing unit (NPU). De AI-versnellerchip zit onder andere in de Samsung Galaxy S10.

Ook Qualcomm heeft in zijn recente Snapdragon-SoC’s een zogeheten AI Engine ingebouwd. De module die MediaTek in zijn SoC’s heeft ingebouwd, heet een artificial intelligence processing unit (APU). AI is tegenwoordig al zo ingeburgerd in telefoons dat elke serieuze SoC-fabrikant dit inbouwt.

©PXimport

Apple Neural Engine

Ook Apple heeft AI-versnellerhardware. Die dook voor het eerst op in de A11 Bionic-SoC die Apple ontwierp voor de iPhone 8, iPhone 8 Plus en iPhone X van september 2017. Apple noemt deze hardware een Neural Engine. In de A11 bestond die uit twee cores die tot 600 miljard bewerkingen per seconde konden uitvoeren. De versneller werd gebruikt voor Face ID, Animoji en andere taken waarbij intelligentie nodig is.

In de A12 (onder andere gebruikt in de iPhone XR) voerde Apple het aantal cores in de Neural Engine op naar acht, met een snelheid van 5 biljoen bewerkingen per seconde. Niet alleen was dat negen keer sneller, maar de nieuwe versie verbruikte ook tien keer minder vermogen. In de A13 (van de iPhone 11) bleef het aantal kernen op 8 steken. Het resultaat was 20% sneller (6 biljoen bewerkingen per seconde) en 15% zuiniger.

Sneller en ook voor derden

In de A14 (van de iPhone 12) werd het aantal cores van de Neural Engine verdubbeld tot 16, met een snelheid tot 11 biljoen bewerkingen per seconde. In de Apple M1, de eerste door Apple zelf ontworpen ARM-SoC voor Macs, zat zo goed als dezelfde versie van de Neural Engine. In de Apple A15 (van de iPhone 13) werd de snelheid van de 16-core Neural Engine opgevoerd tot 15,8 biljoen bewerkingen per seconde.

Oorspronkelijk was de kracht van de Neural Engine alleen beschikbaar voor apps van Apple zelf. Maar ondertussen kunnen ook third-party app-ontwikkelaars ervan gebruikmaken via het framework Core ML dat Apple aanbiedt voor machine learning. App-ontwikkelaars die zware analysetaken uitvoeren, doen er goed aan om dat via Core ML te doen. Door deze taken op de Neural Engine uit te voeren, werken ze immers energie-efficiënter en blijft de batterij van de iPhone langer meegaan.

©PXimport

Black box

Het is belangrijk om te weten dat een TPU, NPU, Neural Engine of hoe het ook heet altijd is geoptimaliseerd voor een specifiek type bewerkingen. Een neuraal netwerk bestaat altijd uit verschillende lagen en die kunnen van verschillende types zijn. Niet elke AI-versnellerchip ondersteunt alle types. Ook de ondersteunde datatypes hangen af van de hardware: alleen gehele getallen of ook kommagetallen, en 8, 16 of 32 bit?

De bijbehorende ontwikkeltools moeten je normaliter helpen om een neuraal netwerk aan te passen op de versnellerhardware. Maar de Neural Engine en Core ML van Apple zijn een black box. Apple geeft third-party ontwikkelaars geen richtlijnen over hoe ze hun modellen kunnen optimaliseren om in Core ML gebruik te maken van de Neural Engine. Er is zelfs geen documentatie over welke types lagen ondersteund worden door de Neural Engine. Matthijs Hollemans heeft door te experimenteren wel wat bevindingen over de Neural Engine kunnen publiceren.

TensorFlow-modellen 

Bij de Edge TPU ziet het plaatje er al heel wat inzichtelijker uit. Google heeft uitgebreide documentatie over de compatibiliteit van TensorFlow-modellen op de Edge TPU. Allereerst is er de beperking dat de Edge TPU alleen feed-forward neurale netwerken kan uitvoeren. Hierbij vormen de verbindingen tussen neuronen geen cyclus, maar vloeit de informatie maar in één richting. Dit in tegenstelling tot de recurrent neural networks, waarvoor CPU’s overigens nog altijd goed geschikt zijn. De tweede beperking is dat de Edge TPU alleen TensorFlow Lite-modellen met 8bit-voorstellingen van data kan uitvoeren.

Je traint een model nooit rechtstreeks met TensorFlow Lite. Je traint eerst een TensorFlow-model, dat werkt met floating-point getallen van 32 bit. Dit zet je dan met de TensorFlow Lite Converter om naar een TensorFlow Lite-model met 8bit-getallen en compileer je tot een .tflite-bestand dat je op de Edge TPU kunt uitvoeren.

©PXimport

Deels op de CPU

Zelfs als je een model voor de Edge TPU hebt gemaakt dat intern gekwantiseerd is tot 8bit-getallen, zijn de invoertensors mogelijk nog 32bit-kommagetallen. De Edge TPU-compiler heeft dan een kwantisatiebewerking in het begin van je model toegevoegd. Ook aan het einde van je model komt dan een bewerking die de 8bit-uitvoer weer omzet naar 32 bit. Beide bewerkingen worden op de CPU uitgevoerd. Dat hoeft niet zo’n probleem te zijn en levert doorgaans maar een kleine vertraging op.

Als de Edge TPU Compiler een niet-ondersteunde bewerking tegenkomt, compileert hij de bewerkingen vóór die bewerking voor de Edge TPU. Alle bewerkingen daarna worden dan op de CPU uitgevoerd. De compiler vertelt je ook hoeveel bewerkingen hij op de Edge TPU kan uitvoeren en voor hoeveel hij de CPU nodig heeft. Zelfs als maar een kleine fractie van de bewerkingen op de CPU wordt uitgevoerd, kan dat een grote impact op de prestaties hebben. Je moet er altijd naar streven om 100% van het model op de Edge TPU te kunnen draaien.

Coprocessors

Het idee van een AI-versneller, al dan niet ingebouwd in een SoC, is niet zo nieuw. Al in de jaren 1980 werden processors uitgerust met zogenoemde coprocessors om specifieke taken sneller uit te voeren. Zo hadden Intels eerste x86-CPU’s bijbehorende x87-FPU’s (floating-point units): de 8086 kreeg hulp van de 8087 voor berekeningen met kommagetallen, de 80286 van de 80287 en de 80386 van de 80387. De 80486 was de eerste in de reeks met een ingebouwde FPU.

©PXimport

▼ Volgende artikel
Dekbed in de wasdroger: helpt een tennisbal echt?
© ID.nl
Huis

Dekbed in de wasdroger: helpt een tennisbal echt?

Wanneer je je dekbed gewassen hebt, wil je dat het natuurlijk weer lekker dik en luchtig aanvoelt. Maar wanneer je hem gewoon in de droger gooit, kan de vulling gaan klonteren, zodat er dunne stukken en dikke stukken ontstaan. Dat slaapt niet echt lekker. Om dat te voorkomen, gooien veel mensen er een paar tennisballen bij. Helpt dat echt?

In dit artikel

Je leest wat tennisballen in de droger doen en bij welke dekbedden dat wel of juist minder goed werkt. We leggen uit hoeveel ballen je nodig hebt, waar je op let bij het type tennisbal en waarom voldoende ruimte in de trommel belangrijk is. Ook staan we stil bij alternatieven zoals speciale drogerballen en geven we praktische tips om je dekbed gelijkmatig te laten drogen en mooi in vorm te houden.

Lees ook: 9 veelgemaakte fouten bij het drogen van je was

Wat tennisballen in de droger doen

Tijdens het drogen raken de tennisballen telkens het dekbed. Dat helpt vooral bij dons en veren. Als die nat zijn, blijven ze aan elkaar plakken en zakt de vulling in. Door de constante beweging vallen die samengepakte delen weer uiteen, waardoor de vulling zich opnieuw verspreidt. Zo kan de warme lucht overal beter bij en droogt het dekbed gelijkmatiger. De droogtijd wordt er niet korter van, maar het dekbed komt wel duidelijk voller uit de droger.

Hoe vaak moet je je dekbed eigenlijk wassen?

Een dekbed hoeft niet vaak in de was. Voor de meeste mensen is één tot twee keer per jaar genoeg. Dat komt omdat het meeste vuil (denk bijvoorbeeld aan zweet of huidschilfers) niet in het dekbed zelf terechtkomt, maar in het dekbedovertrek. Dat overtrek was je regelmatig, meestal eens per één à twee weken. Het dekbed blijft daardoor relatief schoon.

Soms is vaker wassen wel logisch. Bijvoorbeeld als je veel zweet in je slaap, last hebt van een huisstofmijtallergie of het overtrek niet zo vaak verschoont. Ook na ziekte of bij zichtbare vlekken is een extra wasbeurt verstandig.

Hoe vaak je kunt wassen, hangt ook af van de vulling. Niet elk dekbed kan namelijk even goed tegen veel wasbeurten. Dons- en verendekbedden kunnen meestal in de wasmachine, mits je het waslabel volgt en ze daarna goed laat drogen. Synthetische dekbedden zijn in dat opzicht wat vergevingsgezinder en kunnen vaak vaker gewassen worden zonder dat de vulling daaronder lijdt.

Twijfel je of wassen echt nodig is? Dan is luchten een goed alternatief. Hang je dekbed regelmatig buiten of bij een open raam. Daarmee kun je een wasbeurt vaak nog maanden uitstellen.

View post on TikTok

Hoeveel tennisballen zijn genoeg?

Met één tennisbal in de wasdroger merk je vaak weinig, zeker bij een groot dekbed. Die verdwijnt al snel in de stof en heeft dan weinig effect. Met twee tot vier ballen werkt het beter, omdat ze het dekbed op meerdere plekken tegelijk in beweging houden. Zolang de ballen vrij kunnen bewegen en niet vast blijven zitten in de vulling, doen ze hun werk.

Kun je elke tennisbal gebruiken bij het drogen van een dekbed in de droger?

iet elke tennisbal is even geschikt. Vooral nieuwe of felgekleurde ballen kunnen bij hogere temperaturen kleur afgeven en kleine pluisjes verliezen van de vilten buitenlaag. Dat komt niet vaak voor, maar het risico is wel aanwezig. Gebruik je oudere tennisballen, dan is de kans hierop kleiner. Wil je dat verder beperken, dan kun je de ballen in een oude witte sok stoppen en die dichtknopen. Het effect blijft grotendeels hetzelfde, al is het iets minder uitgesproken dan met losse ballen.

Speciale drogerballen

Er bestaan ook speciale drogerballen van wol of kunststof. Die zijn bedoeld voor gebruik in de droger en geven geen kleur af. Ze doen hetzelfde als tennisballen: ze zorgen dat het dekbed tijdens het drogen in beweging blijft. Wolballen maken minder lawaai en zijn milder voor stoffen. Stop je je dekbed regelmatig in de droger? Dan kun je beter deze speciale bollen gebruiken in plaats van tennisballen.  

Geef het dekbed genoeg ruimte in de droger

Tennisballen helpen alleen als het dekbed voldoende ruimte heeft om te bewegen. Is de trommel te vol, dan draait alles als één geheel rond en gebeurt er weinig. Wil je grote tweepersoonsdekbedden drogen, dan heb je een droger met een ruime trommel nodig. Heb je die niet zelf? Kijk dan of er een wasserette bij je in de buurt is. Meer ruimte zorgt voor meer beweging en daarmee voor een beter eindresultaat.

Niet elk dekbed kan in de droger

Tennisballen hebben vooral effect bij dons- en verendekbedden. Bij synthetische vulling is dat verschil kleiner en kan de constante beweging van de ballen de vulling na verloop van tijd zelfs vervormen. Wol, zijde en andere natuurlijke materialen mogen meestal helemaal niet in de droger. Check daarom altijd eerst het waslabel voordat je het dekbed in de trommel legt.

Even tussendoor opschudden helpt

Haal het dekbed halverwege het programma even uit de droger en schud het los, alsof je het bed opmaakt. Leg het daarna omgedraaid terug in de trommel. Zo verdeelt de vulling zich opnieuw en kan het dekbed gelijkmatiger drogen.

Wat kun je van het eindresultaat verwachten?

Tennis- of drogerballen zijn vooral een hulpmiddel, geen vervanging voor de juiste drooginstellingen. Droog het dekbed niet te vaak of te heet: kies een lage of middelhoge temperatuur en selecteer een speciaal dons- of beddengoedprogramma als dat op je droger zit. Zorg ook voor voldoende ruimte in de trommel. Als je dan ook nog eens ballen laat meedraaien, heb je er alles aan gedaan om te zorgen dat je dekbed weer lekker vol uit de droger komt!

▼ Volgende artikel
SSD vs. HDD: waarom is een SSD zo veel sneller dan een harde schijf?
© arinahabich
Huis

SSD vs. HDD: waarom is een SSD zo veel sneller dan een harde schijf?

Waarom start een computer met een SSD binnen enkele seconden op, terwijl een oude harde schijf blijft ratelen? Het vervangen van een HDD door een SSD is de beste upgrade voor een trage laptop of pc. We leggen in dit artikel uit waar die enorme snelheidswinst vandaan komt en wat het fundamentele verschil is tussen deze twee opslagtechnieken.

Iedereen die zijn computer of laptop een tweede leven wil geven, krijgt vaak hetzelfde advies: vervang de oude harde schijf door een SSD. De snelheidswinst is direct merkbaar bij het opstarten en het openen van programma's. Maar waar komt dat enorme verschil in prestaties vandaan? Het antwoord ligt in de fundamentele technologie die schuilgaat onder de behuizing van deze opslagmedia.

De vertraging van mechanische onderdelen

Om te begrijpen waarom een Solid State Drive (SSD) zo snel is, moeten we eerst kijken naar de beperkingen van de traditionele harde schijf (HDD). Een HDD werkt met magnetische roterende platen. Dat kun je vergelijken met een geavanceerde platenspeler. Wanneer je een bestand opent, moet een fysieke lees- en schrijfkop zich naar de juiste plek op de draaiende schijf verplaatsen om de data op te halen. Dat fysieke proces kost tijd, wat we latentie noemen. Hoe meer de data op de schijf verspreid staat, hoe vaker de kop heen en weer moet bewegen en wachten tot de juiste sector onder de naald doordraait. Dit mechanische aspect is de grootste vertragende factor in traditionele opslag.

©Claudio Divizia

Flashgeheugen en directe gegevensoverdracht

Een SSD rekent definitief af met deze wachttijden omdat er geen bewegende onderdelen in de behuizing zitten. De naam 'Solid State' verwijst hier ook naar; het is een vast medium zonder rammelende componenten. In plaats van magnetische platen gebruikt een SSD zogenoemd NAND-flashgeheugen. Dat is vergelijkbaar met de technologie in een usb-stick, maar dan veel sneller en betrouwbaarder. Omdat de data op microchips wordt opgeslagen, is de toegang tot bestanden volledig elektronisch. Er hoeft geen schijf op toeren te komen en er hoeft geen arm te bewegen. De controller van de SSD stuurt simpelweg een elektrisch signaal naar het juiste adres op de chip en de data is direct beschikbaar.

Toegangstijd en willekeurige leesacties

Hoewel de maximale doorvoersnelheid van grote bestanden bij een SSD indrukwekkend is, zit de echte winst voor de consument in de toegangstijd. Een besturingssysteem zoals Windows of macOS is constant bezig met het lezen en schrijven van duizenden kleine systeembestandjes. Een harde schijf heeft daar enorm veel moeite mee, omdat de leeskop als een bezetene heen en weer moet schieten. Een SSD kan deze willekeurige lees- en schrijfopdrachten (random read/write) nagenoeg gelijktijdig verwerken met een verwaarloosbare vertraging. Dat is de reden waarom een pc met een SSD binnen enkele seconden opstart, terwijl een computer met een HDD daar soms minuten over doet.

©KanyaphatStudio

Van SATA naar NVMe-snelheden

Tot slot speelt de aansluiting een rol in de snelheidsontwikkeling. De eerste generaties SSD's gebruikten nog de SATA-aansluiting, die oorspronkelijk was ontworpen voor harde schijven. Hoewel dat al een flinke verbetering was, liepen snelle SSD's tegen de grens van deze aansluiting aan. Moderne computers maken daarom gebruik van het NVMe-protocol via een M.2-aansluiting. Deze technologie communiceert rechtstreeks via de snelle PCIe-banen van het moederbord, waardoor de vertragende tussenstappen van de oude SATA-standaard worden overgeslagen. Hierdoor zijn snelheden mogelijk die vele malen hoger liggen dan bij de traditionele harde schijf.

Populaire merken voor SSD's

Als je op zoek bent naar een betrouwbare en snelle SSD, is er een aantal fabrikanten dat de markt domineert. Samsung wordt door velen gezien als de marktleider op het gebied van flashgeheugen en staat bekend om de uitstekende prestaties van hun EVO- en PRO-series. Daarnaast is Western Digital (WD) een vaste waarde; dit merk heeft de transitie van traditionele harde schijven naar SSD's succesvol gemaakt met hun kleurgecodeerde (Blue, Black en Red) series voor verschillende doeleinden. Ook Transcend is een uitstekende keuze; dit merk staat al jaren bekend om zijn betrouwbare geheugenproducten en biedt duurzame SSD's die lang meegaan. Tot slot bieden merken als Kingston en Seagate betrouwbare alternatieven die vaak net iets vriendelijker geprijsd zijn, zonder dat je daarbij veel inlevert op stabiliteit.