WD SN850 dålig firmware / TLC-implementation?

Permalänk
Medlem

WD SN850 dålig firmware / TLC-implementation?

Tänker framförallt i tråden höra om andra upplever liknande problem med WD SN850 (eventuellt andra WD SSDer, men vet inte hur lika de är), har gjort en workaround själv så har inget akut problem längre för närvarande.

Själva problemet:
Har använt en WD SN850 2TB (firmware 614900WD) i typ ett år nu, och har ett tag tyckt att den verkar konstigt seg. Och vid ett test så ja, hastigheten har verkligen degraderats något grovt, sekventiell läshastighet på i snitt ~200-300 MB/s på stora delar av den fyllda ytan och väldigt ojämn prestanda, lite fläckvis verkar hastigheten vara *riktigt* kass.

Det är så pass illa att jag utifrån tidigare erfarenheter skulle säga att min spontana känsla är att WD verkar ha gått i samma fälla som Samsung gjorde med TLC i sin 840-serie (modellerna "840" och "840 EVO" är väl rätt ökända pga kass hantering av TLC NAND, när de just gick över till detta), detta dock nästan 10 år senare.

Efter en "refresh" (omskrivning av innehållet) så presterar SSDn som väntat (och som när den var ny) igen, typ 5000-6000 MB/s över hela ytan.

Som referenspunkt har jag några Samsung SSDs som använts på motsvarande sätt, bland annat t.ex. en 970 EVO Plus, som använts typ 3 år nu utan att visa några tecken på att degraderas på detta extrema sätt. Rimligen för att firmware ser till att "refresha" innehållet när det behövs, det verkar ju vara något som är ett inneboende krav med TLC och sämre... de har ju iaf lärt sig av sina tidigare misstag.

Fler här som har dessa enheter och märkt av samma sak, eller har jag gjort något dumt eller haft otur på något vis?

Visa signatur

AMD Ryzen9 5900X || Gigabyte X570 Ultra || RTX 3090 FE || Gskill Trident Z 3600 64GB || Samsung 950 Pro 512GB || Samsung 960 Pro 1024GB || XB270HU 1440p IPS G-Sync

Permalänk
Medlem

Samsung var först med TLC och också först med att köra huvudet i problemet - alla andra tittade och lyssnade och lärde sig av Samsungs misstag - men kanske inte fullt ut eller att gamla problem blir som nya igen.

Har du kollat att TRIM verkligen används på lagringen - körs inte den av olika orsaker så kan det förklara din upplevelse (windows kör TRIM normalt när den raderar filer och en fullsvep på all ledig plats i filsystemet en gång i veckan - söndagar om jag mins rätt).

saker som gör att TRIM/unmap inte aktiveras (utan hjälp av drivrutiner) är tex. om du har lagringen i RAID1 på moderkortet då det inte längre är en AHCI-enhet i det läget och då skickas inga TRIM-kommandon.

Det är många enterprise-SSD som gått ut på begagnatmarknaden för spottstyver för att de blivit jättetrötta och grundorsaken har varit att använda OS och använda diskkontroller inte förmedlar TRIM/unmap/discard-kommandon och de emulerade logiska volymer i diskkontrollerna säger att det är en SATA-disk av snurrtyp och då tycker windows inte att några TRIM-kommandon skall skickas, medans hade de emulerade diskarna redovisat sig som SCSI-disk så hade unmap skickats av windows men då är problemet istället att då kan inte windows boota på lagringen då den förstår bara int-13 enheter eller AHCI-enheter och man glömmer att peta in drivrutiner i UEFI som emulerar en int13-enhet/UEFI på SCSI-lagringen under boot-processen...

Med andra ord kontrollera först att TRIM/unmap verkligen skickas av windows till lagringen och gör den inte detta så är det du ser troligen sekundära effekter av att TRIM/unmap inte är körd på mycket länge.

om linux (tex ubuntu-live) startad på en bootbarUSB-sticka, monterar lagringen och sedan gör en "fstrim -v /media/disken" - vilket kan ta ett tag om det inte är gjort på mycket länge och sedan omstartad till windows igen senare, upplever lagringen snabbare och jämnare så är det troligen problem med TRIM inte sänds som är boven till dina upplevda prestandanedsättningar efter en tids användning.

Permalänk
Medlem
Skrivet av xxargs:

Samsung var först med TLC och också först med att köra huvudet i problemet - alla andra tittade och lyssnade och lärde sig av Samsungs misstag - men kanske inte fullt ut eller att gamla problem blir som nya igen.

Har du kollat att TRIM verkligen används på lagringen - körs inte den av olika orsaker så kan det förklara din upplevelse (windows kör TRIM normalt när den raderar filer och en fullsvep på all ledig plats i filsystemet en gång i veckan - söndagar om jag mins rätt).

saker som gör att TRIM/unmap inte aktiveras (utan hjälp av drivrutiner) är tex. om du har lagringen i RAID1 på moderkortet då det inte längre är en AHCI-enhet i det läget och då skickas inga TRIM-kommandon.

Det är många enterprise-SSD som gått ut på begagnatmarknaden för spottstyver för att de blivit jättetrötta och grundorsaken har varit att använda OS och använda diskkontroller inte förmedlar TRIM/unmap/discard-kommandon och de emulerade logiska volymer i diskkontrollerna säger att det är en SATA-disk av snurrtyp och då tycker windows inte att några TRIM-kommandon skall skickas, medans hade de emulerade diskarna redovisat sig som SCSI-disk så hade unmap skickats av windows men då är problemet istället att då kan inte windows boota på lagringen då den förstår bara int-13 enheter eller AHCI-enheter och man glömmer att peta in drivrutiner i UEFI som emulerar en int13-enhet/UEFI på SCSI-lagringen under boot-processen...

Med andra ord kontrollera först att TRIM/unmap verkligen skickas av windows till lagringen och gör den inte detta så är det du ser troligen sekundära effekter av att TRIM/unmap inte är körd på mycket länge.

om linux (tex ubuntu-live) startad på en bootbarUSB-sticka, monterar lagringen och sedan gör en "fstrim -v /media/disken" - vilket kan ta ett tag om det inte är gjort på mycket länge och sedan omstartad till windows igen senare, upplever lagringen snabbare och jämnare så är det troligen problem med TRIM inte sänds som är boven till dina upplevda prestandanedsättningar efter en tids användning.

SN850 är en NVMe-enhet (PCIe 4.0), så inget AHCI inblandat. Och inget RAID...

Denna enhet har använts i en burk som kört Windows 10/11, och jag har då inte avsiktligt gjort något för att stänga av TRIM (och tror inte det automatiska TRIMandet är avstängt, "fsutil behavior query DisableDeleteNotify" som jag hittat som svar på hur man kollar detta säger iaf att det är aktiverat).
Jag testade även att köra en manuell TRIM på ledigt utrymme ("Optimize-Volume -DriveLetter C -ReTrim -Verbose") när jag i första läget hade börjat fundera över varför SSDn verkade seg, men det gjorde ingen direkt skillnad.
Och nu idag, efter att ha kört lite faktiska tester istället för bara ha en känsla så är mitt intryck att problemet nog snarast handlade om att relativt statisk data (dvs, som legat lagrad länge) börjat bli svårläst över tid och att de läsproblemen är själva orsaken.
Läsning av redan lagrad data påverkas ju inte i sig av TRIM, däremot då en "refresh" (att skriva över lagringsytan med samma data) borde kunna hjälpa, vilket också visade sig vara fallet. Så det är väl grunden till min tolkning av vad problemet är iaf.

Som sagt, allra mest är jag intresserad av om andra har märkt av samma typ av problem med denna relativt färska SSD-modell. Även då om jag gjort något dumt, men mitt intryck är att just TRIM inte är svaret. Tack för förslagen, dock!

Visa signatur

AMD Ryzen9 5900X || Gigabyte X570 Ultra || RTX 3090 FE || Gskill Trident Z 3600 64GB || Samsung 950 Pro 512GB || Samsung 960 Pro 1024GB || XB270HU 1440p IPS G-Sync

Permalänk
Medlem

Jag har märkt av samma sak på min WD SN850 1TB (firmware 613200WD). Märkte av det redan för ett år sedan och försökte hitta om andra hade råkat ut för samma sak. Tyvärr hittade jag ingen då.

I juni 2022 köpte jag en ny OS-disk (Kingston KC3000 2 TB) och började använda WD-disken för spel. Det gjorde också att jag nu, 6+ månader senare, kan få lite bättre statistik för hur en fils ålder påverkar läshastigheten.

Jag har använt mig av SSDReadSpeedTester2.04 från den här tråden på overclock.net. Det programmet användes av många då Samsung hade problem med 840 EVO.

Bifogar output från SSDReadSpeedTester samt två figurer från Matlab där jag kört boxchart på filer ">300 MB" respektive ">600 MB".

Permalänk
Medlem
Skrivet av akkaniclas:

Jag har märkt av samma sak på min WD SN850 1TB (firmware 613200WD). Märkte av det redan för ett år sedan och försökte hitta om andra hade råkat ut för samma sak. Tyvärr hittade jag ingen då.

I juni 2022 köpte jag en ny OS-disk (Kingston KC3000 2 TB) och började använda WD-disken för spel. Det gjorde också att jag nu, 6+ månader senare, kan få lite bättre statistik för hur en fils ålder påverkar läshastigheten.

Jag har använt mig av SSDReadSpeedTester2.04 från den här tråden på overclock.net. Det programmet användes av många då Samsung hade problem med 840 EVO.

Bifogar output från SSDReadSpeedTester samt två figurer från Matlab där jag kört boxchart på filer ">300 MB" respektive ">600 MB".

<Uppladdad bildlänk>
<Uppladdad bildlänk>
<Uppladdad bildlänk>

Ja, se där! Det verkar ju helt klart vara motsvarande...

Bra tips om verktyg, blir att ta fram när problemet återuppstått för mig igen...
(Jag förväntar mig ju iaf inte att den omskrivning av datan jag gjorde ska ha någon långsiktig inverkan på beteendet, rimligen pågår ju samma försämring igen nu och lär isf börja märkas igen inom en inte allt för avlägsen framtid.)

Man kan ju inte låta bli att undra lite hur utbrett detta problem faktiskt är; om det bara är en tidsfråga tills det uppmärksammas mer (i linje med den gamla 840EVO-fadäsen) eller om det faktiskt är något mer isolerat...

Visa signatur

AMD Ryzen9 5900X || Gigabyte X570 Ultra || RTX 3090 FE || Gskill Trident Z 3600 64GB || Samsung 950 Pro 512GB || Samsung 960 Pro 1024GB || XB270HU 1440p IPS G-Sync

Permalänk
Medlem

Alla säger 840EVO-fadäsen - men det var den första generationen TLC-celler som gick ut i produkter och med beteende man inte sett förr (eller snarare inte ville se hos dom som tog fram den generationen minne) och ändå till slut fick den acceptabel även om det inte var perfekt lösning med uppdaterade firmwaror.

Fadäsen är snarare att >10 år senare så upprepar konkurrentfirma inom flash-minnen det igen och inte har lärt sig av historian och försäkrat sig att det inte händer igen! - och här kommer det in en massa ekonomiskt viktade kompromisser och det kanske kompromissades lite för mycket på fel ställe...

Samsung 840EVO kratsade ut kanstanjerna med att ha ett rätt fett ECC-lager ovanpå själva minnneschipens lokala felrättning på chip-nivå och det är relativt få som faktiskt förlorade data. Hur är det med WD SN850 - har den också en mjukvaru ECC-lager som rättar när chipen inte längre klarar det???

SSD som inte har det ger IO-fel och kanske tom. hängningar om den här 'decline' av gammal statisk data har gått för långt.

Även om man kopierar och flytta filer för att dess 'flash-del' skall bli motionerad så är det väldigt svårt att motionera så att det garanterar gäller hela diskens metadata - väldigt mycket där är statiskt och aldrig rörs där sedan filsystemet skapades.

Det enda filsystemet som jag vet kan flytta på rubbet samtidigt som disken används som tex. OS-systemdisk är på BTRFS och då med 'balance'

De flesta andra varianter av filsystem behöver att utifrån med en diskimage-program (clonezilla mfl. som 'dd/ddrescue under linux startad med USB-sticka) läsa ut hela diskimage som en diskimage-fil och sedan skriva tillbaka igen - jag vet att det fins program som 'diskfresh och liknande som kan puttra runt och göra det på sektornivå - men vet inte om det också gör det på diskens metadata [läs $MFT om det är windows och på NTFS-filsystem] då de flesta som skiver dyliga program är livrädda att peta i det för att inte riskera att man orsakar korruption av filsystemet när det används hos för många kunder.

De flesta defragmenterinsgprogram använder i slutet Windows egna API i siste steget mot filsystemet för att flytta runt data inom NTFS-filsystemet - men få/inga av dem petar i $MFT och ofta också som program med 'bara' adiminstratörs-rättigheter heller inte kan då OS spärrar för det och att rota där är att såga i grenen man sitter på...

Permalänk
Medlem
Skrivet av xxargs:

Alla säger 840EVO-fadäsen - men det var den första generationen TLC-celler som gick ut i produkter och med beteende man inte sett förr (eller snarare inte ville se hos dom som tog fram den generationen minne) och ändå till slut fick den acceptabel även om det inte var perfekt lösning med uppdaterade firmwaror.

Fadäsen är snarare att >10 år senare så upprepar konkurrentfirma inom flash-minnen det igen och inte har lärt sig av historian och försäkrat sig att det inte händer igen! - och här kommer det in en massa ekonomiskt viktade kompromisser och det kanske kompromissades lite för mycket på fel ställe...

Samsung 840EVO kratsade ut kanstanjerna med att ha ett rätt fett ECC-lager ovanpå själva minnneschipens lokala felrättning på chip-nivå och det är relativt få som faktiskt förlorade data. Hur är det med WD SN850 - har den också en mjukvaru ECC-lager som rättar när chipen inte längre klarar det???

SSD som inte har det ger IO-fel och kanske tom. hängningar om den här 'decline' av gammal statisk data har gått för långt.

Även om man kopierar och flytta filer för att dess 'flash-del' skall bli motionerad så är det väldigt svårt att motionera så att det garanterar gäller hela diskens metadata - väldigt mycket där är statiskt och aldrig rörs där sedan filsystemet skapades.

Det enda filsystemet som jag vet kan flytta på rubbet samtidigt som disken används som tex. OS-systemdisk är på BTRFS och då med 'balance'

De flesta andra varianter av filsystem behöver att utifrån med en diskimage-program (clonezilla mfl. som 'dd/ddrescue under linux startad med USB-sticka) läsa ut hela diskimage som en diskimage-fil och sedan skriva tillbaka igen - jag vet att det fins program som 'diskfresh och liknande som kan puttra runt och göra det på sektornivå - men vet inte om det också gör det på diskens metadata [läs $MFT om det är windows och på NTFS-filsystem] då de flesta som skiver dyliga program är livrädda att peta i det för att inte riskera att man orsakar korruption av filsystemet när det används hos för många kunder.

De flesta defragmenterinsgprogram använder i slutet Windows egna API i siste steget mot filsystemet för att flytta runt data inom NTFS-filsystemet - men få/inga av dem petar i $MFT och ofta också som program med 'bara' adiminstratörs-rättigheter heller inte kan då OS spärrar för det och att rota där är att såga i grenen man sitter på...

Håller i stort med, det var inte egentligen att problemet inträffade med Samsung 840/840EVO så mycket som hur det hanterades som var det värsta. Allra värst hanterades det förstås för 840 (utan EVO), som aldrig fick någon fix (annat än att informationen att man kan skriva om lagringsytan för att tillfälligt "fixa" enheten spreds).

Och det är helt klart anmärkningsvärt att vi verkar vara där nu igen, fast denna gång med Western Digital (och/eller Sandisk, vet inte hur de jobbar internt helt ärligt; de äger Sandisk och det är Sandisks flash som sitter på enheterna, oklart hur mycket WD det är i egentlig mening).

Det enda jag vet med säkerhet angående SN850 är att läsprestandan hade degraderats något enormt (men inga fel uppstod... ännu iaf) och att prestanda kunde återställas genom att skriva om hela ytan.

Visa signatur

AMD Ryzen9 5900X || Gigabyte X570 Ultra || RTX 3090 FE || Gskill Trident Z 3600 64GB || Samsung 950 Pro 512GB || Samsung 960 Pro 1024GB || XB270HU 1440p IPS G-Sync

Permalänk
Medlem
Skrivet av evil penguin:

Håller i stort med, det var inte egentligen att problemet inträffade med Samsung 840/840EVO så mycket som hur det hanterades som var det värsta. Allra värst hanterades det förstås för 840 (utan EVO), som aldrig fick någon fix (annat än att informationen att man kan skriva om lagringsytan för att tillfälligt "fixa" enheten spreds).

840 fick också en fix, men den kom senare än den för 840 EVO.

840 var väl inte lika illa drabbad som 840 EVO eftersom den använde 21nm NAND istället för 19nm som EVO, så det blev EVO som fick mest uppmärksamhet. Men ändå rätt dåligt att det tog mer än ett år innan Samsung även fixade 840.

Permalänk
Medlem
Skrivet av perost:

840 fick också en fix, men den kom senare än den för 840 EVO.

840 var väl inte lika illa drabbad som 840 EVO eftersom den använde 21nm NAND istället för 19nm som EVO, så det blev EVO som fick mest uppmärksamhet. Men ändå rätt dåligt att det tog mer än ett år innan Samsung även fixade 840.

Okej, det missade jag helt faktiskt, förmodligen eftersom det hände så långt senare. Bra att veta.

Visa signatur

AMD Ryzen9 5900X || Gigabyte X570 Ultra || RTX 3090 FE || Gskill Trident Z 3600 64GB || Samsung 950 Pro 512GB || Samsung 960 Pro 1024GB || XB270HU 1440p IPS G-Sync