TLC, Silicon Motion SM2256 och ECC

TLC och dess livslängd

Som vi sagt många gånger tidigare så är det TLC som är framtiden för SSD-enheter i budgetsegmentet. TLC lagrar 3 bitar i varje minnescell (MLC lagrar 2 och SLC lagrar 1) vilket gör att man får mer kapacitet till en lägre tillverkningskostnad och därmed en billigare SSD. Nackdelen med TLC är att prestandan är sämre (att programmera och radera TLC är långsammare än med MLC och SLC). En annan nackdel är livslängden och minneskretsarnas förmåga att hålla laddning. Detta är något som vi testar i vårt pågående test av TLC-baserade SSD-enheter. Läs gärna mer om det testet härhärhär, här och här. I det stora hela så bör man inte vara orolig för att minenskretsarna ska dö eftersom de klarar sig betydligt längre en vad många tror och livslängden är inget man behöver vara orolig för i första taget.

Däremot så är det intressant att räkna ut ungefär hur många PE-cyklar (Program/Erase) som en minneskrets är designad att klara av. Det säger nämligen en del om hur stor tilltro som tillverkaren har till sina minneskretsar. Genom att skriva sekventiell data till minneskretsarna, och samtidigt övervaka enhetens SMART-data, så kan man räkna ut ungefär hur många PE cyklar som kretsarna är designade att klara. Det är givetvis inga exakta värden (write amplification spelar också in) men det ger oss en föraning om hur mycket kretsarna ska klara av.

SSD Crucial BX200 Sandisk Ultra 2 Samsung 850 Evo Samsung 840 Evo
Minne Micron 16nm TLC Sandisk 19nm TLC Samsung V-NAND TLC Samsung 19nm TLC
Beräknade PE cyklar 889 445 2015 1208

Dessa värden ska man givetvis ta med en nypa salt. Sandisk Ultra 2 använder exempelvis komprimering, vilket gör att minneskretsarna håller längre. Vi har tyvärr ingen data från Toshiba Q300/OCZ Trion 100 och det beror på att dessa inte exponerar rätt SMART-värden. Vi har dock hört att de kretsarna som används där (Toshiba 19nm TLC) ska klara mellan 700 och 1 000 skrivningar till varje cell.

Från SM2246 till SM2256

Föregångaren BX100 använde sig av en SM2246-kontrollerkrets från Silicon Motion. Det är en kontroller som har blivit väldigt populär de senaste två åren. Silicon Motion är ett företag som utvecklar kontrollerkretsar med tillhörande firmware och säljer dem till tillverkare som Crucial, Corsair, PNY med flera. Just 2246 är en 4-kanalskontroller som bygger på en ensam 32-bits Argonaut RISC-processor vilket gör det till en strömsnål och effektiv lösning. Trots dess begränsade kapacitet så har det visat sig vara en snabb lite rackare. Den kan givetvis inte mäta sig med giganterna från Marvell, OCZ och Samsung, men bland budgetkretsarna så har SM2246 fått riktigt god kritik. Vi har testat flera enheter med kontrollern och den är både strömsnål och förhållandevis snabb. Silicon Motion säljer kontrollern komplett med firmware, vilket gör att många valt att ersätta äldre Sandforce-enheter med dessa istället.

BX200 som vi tittar på idag kommer också med en kontrollekrets från Silicon Motion. Denna krets heter 2256 och är i stort sett samma kontroller SM2246. Det handlar fortfarande om en 4-kanals kontroller som har stöd för DDR3. Det finns också stöd för TCG Opal i kontrollern, men det är ingeting som Crucial använder sig av i sin BX-serie. Endast de dyrare MX-enheterna har stöd för det.

Den enda skillnaden ligger i hur kontrollern hanterar ECC eller Error Correcting Code. Alla SSD-enheter använder ECC för att rätta eventuella fel som kan uppstå när data ska läsas. Eftersom dagens tillverkningsteknik är så pass ”liten” så blir det alltid lite småfel när data läses tillbaka från minnescellerna. Problemet blir bara större ju mer data man skriver till enheten. De flesta av dagens SSD-enheter använder någonting som kallas för BCH-ECC, vilket är en snabb och driftsäker form av ECC. Problemet är att BHC i många fall inte räcker till för att ge TLC tillräckligt bra livslängd. Det är också därför vi fortfarande inte har så jättemånga TLC-baserade SSD-enheter på marknaden. Många tillverkare använder dock en egen form av ECC för att förbättra livslängden. Vi vet exempelvis att OCZ Trion och Toshiba Q300 använder ECC som är utvecklad av Toshiba och som är kraftfullare än vanlig BHC.

Low Density Parity Check gör TLC möjligt för fler

SMI EN2256 kommer istället med stöd för en kraftfullare form av ECC som kallas Low Density Parity Check eller LDPC. Målet är att öka livslängden på minneskretsarna för att man ska kunna använda lägre kvalitet på minneskretsrna och ändå få duglig livslängd och på så vis göra TLC-enheter mer pålitliga och billigare att tillverka.

LDPC har två olika implementationer som kallas för Hard Decode och Soft Decode. Utan att gå in på några tekniska detaljer så kan man säga att Hard Decode är väldigt snabb och samtidigt ger lite bättre ECC än traditionell BCH. Soft Decode är istället betydligt mer resurskrävande men kan också rätta allvarligare fel. SM2256 har därför byggt upp sin ECC-motor på att primärt använda Hard Decode, men om det inte räcker till så kommer Soft Decode att köras istället. Om inte heller det lyckas så använder man istället en RAID-liknande paritetslösning för att återskapa den data som ej kunde läsas. SMI kallar detta för ”NANDXtend” och man påstår att denna form av ECC ska kunna öka livslängden på minneskretsarna upp till 300 procent. Majoriteten av felen kommer dock att lösas med Hard Decode och därför borde prestandan inte påverkas nämnvärt.

SM2256 är altså en SM2246 men med mer avancerad felkorrigering och den är därför tänkt att användas med TLC-NAND på 15 – 16  nanometer i första hand. Och det är just en sådan enhet som vi testar den med här i den här artikeln.

SLC Write Acceleration

En av de stora nackdelarna med TLC-NAND är dess lägre prestanda. Särskillt vid skrivning så kan TLC vara flera gånger långsammare än MLC. Detta i kombination med att större NAND-enheter gör att skrivprestandan blir lidande. Samsung (som också var först med TLC-baserade SSD-enheter) arbetade runt det här problemet genom en lösning som de kallar för TurboWrite. Principen är inte ny och OCZ har använt liknande teknik i MLC-enheter så tidigt som i Vertex 4. Lösningen går ut på att man använder MLC/TLC-NAND men programmerar dem endast med en databit per cell, för att då få bättre prestanda och livslängd. När enheten sedan ligger i vila så skrivs data över till MLC/TLC-delen ofta genom att slå ihop flera mindre skrivningar till större. Fördelarna är bättre prestanda under korta intensiva perioder, och i många fall också bättre livslängd på grund av att man inte behöver göra lika många Läs-Radera-Skriv-operationer. I dagsläget så har alla de stora tillverkarna enheter som använder sig av någon form av SLC-cache. Däremot så skiljer sig implementationen en aning mellan de olika och det gäller även Crucial BX200. Vi kommer att gå igenom detta lite mer i detalj längre fram i artikeln.

3
Leave a Reply

Please Login to comment
3 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
3 Comment authors
C-J-Tjalve-SvenTobak Recent comment authors
  Subscribe  
senaste äldsta flest röster
Notifiera vid
SvenTobak
Gäst
SvenTobak

Tack för ett bra och utförligt test!

Ang. produkten från Crucial så är den ju under all kritik och har ett på tok för högt pris i förhållande till det lilla man får, men Crucial riktar sig väl in på de människor som bara kollar lägsta pris på den vara de ska köpa och bortser från annat än kanske specifikationer.

-Tjalve-
Gäst
-Tjalve-

[quote name=”SvenTobak”]Tack för ett bra och utförligt test! Ang. produkten från Crucial så är den ju under all kritik och har ett på tok för högt pris i förhållande till det lilla man får, men Crucial riktar sig väl in på de människor som bara kollar lägsta pris på den vara de ska köpa och bortser från annat än kanske specifikationer.[/quote] Det ligger en del i det du säger. Dessa enheter är tänkta för de som använder hårddiskar och vill uppgradera till en SSD för så lite pengar som möjligt. Om vi tittar på Crucials prissättning historiskt, så kommer detta… Läs hela »

C-J
Gäst
C-J

BX200 – en SSD att kasta i soptunnan, alltså!

Lägsta priserna NU (4-5 jan 2016) enligt Prisjakt för BX200:
240-250 GB: 764 kr (850 Evo: 820)
480-500 GB: 1458 kr (850 Evo: 1529)
Typ 1000 GB: 3090 kr (850 Evo: 2928)

850 Evo kostar i princip lika lite/mycket. Så varför ska man köpa BX200 istället för 850 EVO? Det kan jag verkligen inte fatta. Känns verkligen dumsnålt att köpa BX200. Som läget är just nu.

Crucial kommer antagligen tvingas sänka sina priser rejält om dom vill konkurrera med Samsung. För rent prestandamässigt är nog 850 Evo betydligt bättre.