Ny kontroller, SLC-cache

Ny “in-house” kontroller

Det finns flera anledningar att designa en egen kontroller. I WDs fall handlar det om att man behövde något som bättre var optimerat för BICS-flash (Toshiba/WD/Sandisk 3D-Nand). Eftersom WD inte behöver sälja kontrollern vidare så räcker det att optimera den för en typ av Nand. Kontrollerns design ska göra den väldigt flexibel och därför bör den kunna användas i flera olika typer av SSD-enheter och det är inte omöjligt att vi kommer få se denna kontrollern även i billigare enheter framöver.

Detta är en 3-kärnig kontroller som är tillverkad på 28nm. Den har 8-kanaler ut till minneskretsarna och ansluter till PCIe med upp till fyra banor. Detta är standard för en högpresterande PCIe-kontroller och det är samma som exempelvis Samsungs Phoenix/Polaris, SMIs 2260 och Phisons E7.

Då kontrollern är specifikt designad för BICS flash så har WD lyckats bygga in mer av dataöverföringen i hårdvara istället för firmware. Det betyder att stora delar av överföringen från PCIe till NAND-flash är “hårdkodad” i hårdvara och inte beroende av kontrollerns firmware. Detta avlastar givetvis kontrollerns tre kärnor och det borde även göra den mer effektiv. På grund av detta menar WD att man kan leverera riktigt bra prestanda men ändå hålla strömförbrukningen på rimliga nivåer. Det tyder också på att WD kommer nog att behålla kontrollern ett tag utan att göra några större förändringar.

nCache 3.0

Alla TLC-enheter (och troligtvis även QLC) implementerar någon form av av SLC-cache för att öka enhetens prestanda. SanDisks, och numera WDs, implementation kallas för nCache. Vi har tidigare testat flera enheter som använder sig av tekniken och med WD Black som har WD nu gjort flera ändringar och kallar det för nCache 3.0

Med nCache 2 skriver man all data till SLC först. Där kan sedan små skrivningar slås ihop till en större sekventiell och sedan skrivas över till TLC när enheten är i vila. Detta hade flera fördelar. Primärt ökade man prestandan med små slumpmässiga skrivningar eftersom dessa alltid skrev tills SLC och inte tar så stor plats. En annan fördel är att livslängden på enheten blir betydligt längre. Små skrivningar ökar Write Amplification och eftersom dessa slås ihop till en större så kan man hålla WA lägre, som i sin tur ökar livslängden på minneskretsarna. Detta var väldigt viktigt när man använde 2D-TLC NAND. Den stora nackdelen var dock att när SLC-cachen blev full så gick prestandan i botten eftersom det går mycket långsammare att flytta från SLC till TLC samtidigt som man försöker fylla SLC med ny data.

Med dagens 3D-TLC är skrivprestandan hos TLC betydligt bättre och livslängden är också bättre. Det betyder att man nu inte längre behöver trycka in alla skrivningar i SLC-cachen först. Det betyder också att man nu kan dumpa SLC till TLC oftare, vilket ger ökad WA, men också bättre prestanda. När SLC-cachen blir full kommer skrivningar istället att gå direkt till TLC vilket ger bättre skrivprestanda. Detta kommer vara bra när man gör stora sekventiella skrivningar eller väldigt tung belastning. Det verkar också som att WD använder en fast storlek på sin cache. Storleken varierar givetvis med storleken på enheten. 250GB verkar ha ungefär 3,5 GB, 500 GB ungefär 7 GB och 1 TB ungefär 14 GB. Vi har försökt bekräfta detta hos WD, men inte fått något definitivt svar.

Subscribe
Notifiera vid
2 Comments
äldsta
senaste flest röster
Inline Feedbacks
View all comments
Glaring_Mistake
5 Årtal sedan

“WD var snabba med att lansera en ny version av WD Blue (WD Blue 3D) där man rakt av bytte ut de gamla minneskretsarna mot nya, med bättre prestanda som resultat. Man lämnade dock WD Green och WD Black med de äldre 2D-kretsarna.”

De verkar ha satt i 3D NAND i WD Green inte så långt efter att WD Blue 3D kom ut faktiskt som du kan se säljas på till exempelvis Inet.
Men WD ser inte ut att nämna det själva någonstans och det står fortfarande bara WD Green på SSDen – inte WD Green 3D.