Hem SSD-kontroller

SSD-kontroller

SSD-kontroller

En SSD-kontroller, även kallad en processor, inkluderar elektroniken som överbryggar Flash-minneskomponenterna till SSD-ingångs-/utgångsgränssnitten. Styrenheten är en inbäddad processor som kör programvara på firmwarenivå. SSD-firmwaren är enhetsspecifik och kan i de flesta fall uppdateras.

SSD-kontroller
Se större bild

En SSD-kontroller, även kallad en processor, inkluderar elektroniken som överbryggar Flash-minneskomponenterna till SSD-ingångs-/utgångsgränssnitten. Styrenheten är en inbäddad processor som kör programvara på firmwarenivå. SSD-firmwaren är enhetsspecifik och kan i de flesta fall uppdateras.

SSD-kontroller
Se större bild

Mainstream SSD-kontroller inkluderar följande elektriska element, många gånger inkluderade i en enda integrerad krets (IC):

  • Inbyggd processor – vanligtvis en 32-bitars mikrokontroller
  • Elektriskt raderbar datafirmware ROM
  • System -RAM
  • Stöd för externt RAM - vanligtvis DDR/DDR2 som SDRAM
  • ECC-kretsar (Error Correction Code).
  • Flash-komponentgränssnitt – vanligtvis ett standardgränssnitt som Open NAND Flash Interface (ONFI)
  • Värd elektriskt gränssnitt – vanligtvis SATA, USB, SAS eller kombination

Även om majoriteten av SSD-produkterna på marknaden använder standard Flash-komponenter, finns det nya Flash-komponenter tillgängliga som integrerar ECC och, i vissa fall, hela kontrollerfunktionen i själva Flash-chippen. För denna uppskrivnings skull kommer vi att fokusera på de traditionella kontrollerfraktionerna som listas ovan.

SSD-kontrollelement
Typiska SSD Controller-element

Tabellen nedan beskriver var och en av dessa element mer i detalj.

 

Styrelement
Beskrivning
Användning
Processorn
16 eller 32 bitars inbäddad mikrokontroller, programmerad i C i de flesta fall, och kompilerad för att köras på mål-CPU-motorn.
Exekvering av firmware för den huvudsakliga Flash-applikationen samt diagnostik (SMART), slitageutjämning (Sopsamling/TRIM), caching och säkerhetsfunktioner.
Felkorrigering (ECC)
En hårdvarufunktion som lägger till redundansbitar med varje lagrad byte för att tillhandahålla datafelsdetektering och korrigering vid utläsning. 
Datafeldetekteringen och -korrigeringen utförs automatiskt i ECC-hårdvaran för att uppnå en datatillförlitlighetsfelfrekvens i storleksordningen 1 bit 10E-12.
Blixtkontroll
Innehåller adressering, databussen och kontrollen för att hantera en eller flera Flash-komponenter. En typisk SSD-kontroller klarar upp till 512 GB Flash. 
Vanligtvis 8-bitars Open NAND Flash Interface (ONFI) för standard NAND-blixt.
 
Kan vanligtvis styra upp till 16 Flash-komponenter.
DRAM-kontroller
Innehåller adressering, databussen och kontrollen för att hantera en eller flera DRAM-komponenter. En typisk SSD-kontroller kan hantera upp till 256 MB DRAM.
DRAM-minnet används huvudsakligen som ett buffertminne för att matcha dataflödet från Flash-arrayen till I/O-gränssnittet. Detta minne kan också användas som datacache för att förbättra den övergripande prestandan. Detta kräver programmering av firmware
I/O-gränssnitt (dvs: SATA)
Innehåller det inbyggda elektriska gränssnittet enligt en viss öppen systemstandard som SATA, USB eller SAS. Gränssnittet styrs av styrenhetens firmware-drivrutin. Grundläggande adressering och handskakning görs i hårdvara.
Vissa kontroller tillåter dataöverföring mellan gränssnitt, som USB och SATA, utan kontrollingrepp i dataflödet.
Controllerminne
Består av programmerat minne (ROM) och scratchpad/buffert RAM tätt kopplat till processorn. Detta minne används av styrenheten för programexekvering och för att lagra värden för skrivblock. I vissa kostnadsbegränsade tillämpningar fungerar RAM-minnet som den enda databufferten för SSD:n.
Vanligtvis är 32-64KB ROM och 128-256KB eller RAM.
Chipkonfiguration
Fastställer inställning för typer och hastigheter för använda minnesdelar, klockingångar, diagnostiska I/O och LED-statusutgångar.
Varierar beroende på leverantör.
Allmän I / O
Programmerbara stift för allmänt bruk tillgängliga för applikationen.  
Vanligtvis medföljer 4-16 stift.
Förpackning
 
281-stifts BGA är vanligt
208-stifts LQFP är vanligt
 

Vanligt använda SSD-kontroller

De vanliga SSD-kontrollerna på marknaden i början av 2010 inkluderar:

  • Indilinx "Barfota ECO" IDX110MO1
  • Indilinx "Barfota" IDX110M00
  • Intel PC29AS21BA0
  • JMicron JMF602
  • JMicron JMF612
  • Marvel 88SS9174-BJP2
  • Samsung S3C29RBB01-YK40
  • SandForce SF-1200
  • SandForce SF-1500
  • Toshiba T6UG1XBG

Systemdesigners gör en serie avvägningar när de väljer en leverantör och en särskild kontrollant för sin målprodukt och målmarknad(er). 

Avvägningarna inkluderar:

  • Programmatic – kostnad, schema, support, garanti och tillgänglighet.
  • Tekniskt – prestanda, kraft, paketalternativ, funktioner, skalbarhet och flexibilitet.
  • Övrigt – gemensamhet, kompatibilitet, dokumentation, utvecklingsstöd, testning och rykte.

I processen för val av styrenhet gör systemdesignern också samma analys för Flash-delarna och andra delar som behövs i designen. Det är en iterativ process att hitta rätt kombination av leverantörer och komponenter för att på bästa sätt uppfylla kraven för den specifika produkten.

På grund av äganderättsliga problem är inte alla kontrollers designdata tillgängliga för allmänheten via Internet. Det finns dock en betydande mängd applikationsdetaljer som kan läras för var och en av SSD-kontrollerna på marknaden genom att studera deras användning i befintliga SSD:er.

Recensioner på StorageReview.com och på andra ställen kommer att hjälpa till att urskilja fördelarna med varje styrenhet och dess effekt på SSD:n. Dessa kontextuella referenser är viktiga eftersom lika kritisk som styrenheten är i en SSD:s prestanda, kan prestandan hos SSD:er variera mellan två olika leverantörer även om de använder exakt samma SSD-styrenhetskomponent.

Generellt beror denna prestandavariation på att de två designerna använde olika Flash-delar, olika antal Flash-delar, olika mängd cachebuffertminne eller kanske använde optimerad firmware på något sätt. Poängen är att SDD-styrenheten bara är en del av en övergripande SSD-systemdesign och även om den är avgörande för prestanda, är den inte den enda faktorn att ta hänsyn till när man fattar ett SSD-köpbeslut.

Relaterade guider:

Återgå till SSD-guide