Home Enterprise Mediabeheer in Solid State Drives: SCHRIJFbewerkingen in meerdere stappen

Mediabeheer in Solid State Drives: SCHRIJFbewerkingen in meerdere stappen

by Gast auteur

IDC voorspelt dat de leveringen van Solid State Drives tussen 2010 en 2015 naar verwachting wereldwijd met een samengesteld jaarlijks groeipercentage van 52 procent zullen toenemen. De overeenkomstige toename van het gebruik van bedrijfsservers en opslag betekent dat een beter begrip van cruciale componenten zoals mediabeheer en het gebruik van nieuwe schijven versus gebruikte schijven beheerders kan helpen opslagbronnen beter te beheren.


IDC voorspelt dat de leveringen van Solid State Drives tussen 2010 en 2015 naar verwachting wereldwijd met een samengesteld jaarlijks groeipercentage van 52 procent zullen toenemen. De overeenkomstige toename van het gebruik van bedrijfsservers en opslag betekent dat een beter begrip van cruciale componenten zoals mediabeheer en het gebruik van nieuwe schijven versus gebruikte schijven beheerders kan helpen opslagbronnen beter te beheren.

SSD's lijken misschien erg op conventionele roterende harde schijven, maar de gelijkenis is slechts oppervlakkig. Een onderzoek van de interne werking van een SSD onthult dat SSD's eigenlijk heel weinig gemeen hebben met oudere schijven. Een belangrijk voorbeeld is het verschil in de manier waarop elk type schijf bestaande gegevens overschrijft: roterende schijven overschrijven in één stap, terwijl NAND Flash-gebaseerde SSD's extra stappen vereisen. Deze briefing onderzoekt het "meerstaps schrijfproces" voor SSD's.

Achtergrond: de basisprincipes van SSD-ontwerp

Het eerste dat u moet begrijpen over hoe SSD's gegevens overschrijven, is hoe SSD's zijn geconstrueerd. Elke SSD heeft de volgende basiscomponenten:

  • Host-interface
  • Printplaat
  • NAND-controller
  • NAND

Procesverschillen schrijven

Datum schrijft anders naar NAND dan naar een draaiende harde schijf: NAND die gegevens bevat (geldig of ongeldig) moet eerst worden gewist; alleen dan kunnen er nieuwe gegevens naar toe worden geschreven. In een notendop, het wisproces wist eerst een heel blok; alleen dan kunnen er nieuwe gegevens naar de pagina's in dat blok worden geschreven.

Omdat NAND dat al gegevens bevat, moet worden gewist voordat er nieuwe gegevens naar kunnen worden geschreven, is de schrijfvolgorde voor een apparaat dat vol is (geen lege/gewiste pagina's heeft) heel anders dan dat van een apparaat dat leeg is (of voldoende lege/gewiste pagina's heeft om het inkomende schrijfverkeer op te vangen).

Lege/gewiste pagina's beschikbaar

Stel dat we er zeker van kunnen zijn dat we altijd lege/gewiste pagina's bij de hand hebben. Terwijl het schrijven in de SSD komt, zou de processtroom er ongeveer hetzelfde uitzien als die van een roterende schijf:

  1. Gegevens komen de SSD binnen vanaf de hostinterface, wat resulteert in een schrijfverzoek (dat uiteindelijk naar de NAND wordt geschreven).
  2. "Zijn er lege/gewiste pagina's" (dat wil zeggen pagina's die klaar zijn om beschreven te worden)? In afbeelding 1 zijn lege/gewiste pagina's beschikbaar.
  3. Schrijf de gegevens naar de beschikbare pagina's.

Dit schrijfproces wordt in één stap uitgevoerd, net als roterende schijven. Dit is doorgaans veel sneller dan schrijven naar een SSD zonder lege/gewiste pagina's (zoals weergegeven in afbeelding 2).


 

Onvoldoende lege/gewiste pagina's beschikbaar

Stel nu dat we een SSD hebben met onvoldoende lege/gewiste pagina's. Als er nieuwe gegevens naar de SSD worden geschreven, moeten de cellen worden gewist onmiddellijk voordat dat schrijven plaatsvindt:

  1. Gegevens komen de SSD binnen vanaf de hostinterface, wat resulteert in een schrijfverzoek (dat uiteindelijk naar de NAND wordt geschreven).
  2. "Zijn er voldoende lege/gewiste pagina's" (dat wil zeggen pagina's die klaar zijn om beschreven te worden)? In figuur 2 zijn onvoldoende lege/gewiste pagina's beschikbaar.
  3. Zoek een blok waarvan de gegevens ongeldig zijn gemaakt of waarvan de geldige gegevens kunnen worden verplaatst, waardoor het een goede wiskandidaat is, en roep vervolgens de afvalinzamelingsroutine aan (zie het gedeelte Nieuwe schijven vs. gebruikte schijven dat volgt) om dit blok voor wissen in te schakelen .
  4. Wis dit blok. (Herhaal zo nodig om de gegevens in het schrijfverzoek op te slaan.)
  5. Schrijf de gegevens naar de nieuw gewiste/lege pagina's.

Stap 4 kan langzaam worden voltooid omdat het wissen van NAND veel langer duurt dan ernaar schrijven - elke NAND-wiscyclus is "traag" (meestal duurt het 250 microseconden [µs] om naar een MLC-cel te schrijven, maar 1500 µs om het te wissen).

Nieuwe schijven versus gebruikte schijven

Als u een gloednieuwe SSD gebruikt, verloopt het schrijfproces op dezelfde manier als in afbeelding 1. Een nieuwe SSD is leeg; alle pagina's zijn leeg en klaar om nieuwe gegevens te ontvangen, dus de wisstap wordt zelden uitgevoerd terwijl gegevens worden geschreven. Naarmate de schijf echter vol raakt, neemt het aantal van deze lege/gewiste pagina's af en zal uiteindelijk worden verbruikt.

Er is een achtergrondproces in SSD's dat pagina's vrijmaakt waarvan de gegevens ongeldig zijn gemaakt, waardoor ze goede kandidaten zijn om te worden gewist. Dit achtergrondproces wordt 'garbage collection' genoemd.

Conclusie

Als een op NAND gebaseerde SSD vol is, is het schrijven van nieuwe gegevens ernaar een heel ander proces dan het schrijven naar een lege SSD. Als de schijf leeg is, lijkt het schrijfproces erg op roterende schijven. Als de SSD echter al gegevens bevat, zijn aanvullende stappen vereist:

  1. De SSD moet bepalen of er voldoende vrije ruimte is om de gegevens te accepteren.
  2. Als dat niet het geval is, roept het zijn afvalverzamelingsroutine aan om geldige gegevens te groeperen en te verplaatsen, zodat een heel blok kan worden gewist (zodat de pagina's in het blok nieuwe gegevens kunnen ontvangen).
  3. Het blok wordt gewist.
  4. De gegevens zijn geschreven.

Deze extra stappen worden allemaal afgehandeld door de SSD-controller zonder tussenkomst van de host, maar resulteren in prestatievariaties.

Zie de "SSD-prestatiestatussen” whitepaper op Micron.com voor meer informatie.

Doug Rollins (Senior Application Engineer, Enterprise Solid State Drives, Micron Technology)
Doug Rollins trad in 2009 in dienst bij Micron als applicatie-engineer bij de Enterprise SSD Products-groep. Voordat hij bij Micron kwam, werkte dhr. Rollins 17 jaar in serversystemen, netwerkapparatuur, ontwerp en fabricage van opslagplatforms/gegevensbescherming, en solid-state opslag. De heer Rollins is de uitvinder van 13 Amerikaanse patenten en is erkend door zowel de Storage Networking Industry Association (SNIA) als Intel Corporation voor uitstekende technische prestaties. De heer Rollins behaalde zijn BA in wiskunde aan de Humboldt State University.
 

Bespreek dit verhaal