Kan iemand me vertellen hoe reeëel dit risico is
Dat risico is enorm groot. Grofweg 9 van de 10 geretourneerde SSDs zou met precies dit euvel te maken moeten hebben. Het feit dat SSDs hogere failure rates behalen dan hardeschijven valt ook deels hieraan toe te schrijven. In theorie kunnen SSDs net zo betrouwbaar zijn als processors of andere electronica, maar in werkelijkheid ligt de failure rate zo'n factor 1000 hoger.
Ik heb in mijn hele leven nog nooit meegemaakt dat voorheen weggeschreven gegevens opeens weg waren na een stroomuitval
Dan werk je nog niet zo lang met computers, want met Windows 95/98/ME was dit vaste prik. Bij iedere unclean shutdown kreeg je tijdens de volgende boot een scandisk-scherm waarbij filesystem inconsistencies werden verholpen. Als je pech had verdween daarbij een reeks bestanden in de found.000 directory inclusief verloren bestandsnaam.
Bovenstaand probleem werd veroorzaakt door gebrek aan beveiliging tegen verloren writes. Dit is inmiddels verholpen met light journaling (NTFS), full journaling (geom_journal), soft updates (UFS+SU) of een intent log (ZFS) in de meeste filesystems. Deze bescherming zorgt ervoor dat recente writes die verloren zijn door de DRAM-buffer in hardeschijven je filesystem niet meer om zeep kunnen helpen. Dit werkt over het algemeen uitstekend om dit risico af te dekken.
Maar helaas, bij SSDs zijn er véél meer problemen die tot datacorruptie kunnen leiden:
- Beschadiging van de mapping tables (FTL) die het verschil bijhouden tussen hoe jouw besturingssysteem denkt hoe de gegevens zijn opgeslagen (LBA) en hoe de gegevens werkelijk zijn opgeslagen in NAND pages. Als deze mapping tables corrupt raken, dan resulteert dit meestal in een defecte SSD. De meeste SSDs die worden geretourneerd, bevinden zich in deze toestand. Een simpele secure erase maakt het apparaat weer bruikbaar, maar de opgeslagen gegevens gaan verloren; omdat zonder de mapping tables je enkel random data zonder cohesie terug kan vinden. Die data is niet of nauwelijks meer te herleiden tot bestanden. Iedere SSD met firmware kan anders reageren op corruptie in de mapping tables. Tot niet herkend worden bij de boot, tot het aangeven van 8MB opslagcapaciteit zoals bij SSDs met Intel-controller - de zogenaamde 8MB 'bug' wat dus helemaal geen bug is, meer het gevolg van een andere bug die tot corruptie heeft geleid.
- Niet netjes afsluiten van de SSD kan ernstige en permanente gevolgen hebben. Zo kunnen gegevens veranderen die niet recent zijn beschreven. Niet netjes afsluiten houdt in dat de SSD zijn stroom verliest, zonder dat het eerst een STANDBY IMMEDIATE commando heeft ontvangen. Dit gebeurt véél vaker dan je denkt. Gemiddeld zo'n 100 keer per jaar schat ik voor een doorsnee consument. Je kunt dit zelf controleren in de SMART gegevens onder attribuut 'Unexpected Power-Loss'.
- Bij onverwacht stroomverlies tijdens een actieve writecycle kunnen er NAND pages permanent beschadigd raken, wat veelal onopgemerkt blijft. Die plekken hebben dan een sterk verhoogde kans op datafouten in de toekomst (uBER), iets wat niet meer te repareren valt. Dit worden dan dus zwakke plekken die een verhoogde kans hebben om corrupt ofwel onleesbaar te raken.
Dit resulteert in de conclusie dat
alle SSDs onbetrouwbaar zijn, behalve SSDs die over de volgende beveiligingen beschikken:
- Capacitor-bescherming, in de vorm van een parallelle array van kleine capacitors, ofwel één grote supercapacitor. Laatstgenoemde is minder veilig omdat deze in één keer stuk kan gaan terwijl een array van capacitors nog enige foutmarge heeft. Beide doen hetzelfde: de SSD nog héél even van stroom voorzien als deze onverwacht wegvalt. Dit stelt de SSD in staat om de huidige write cycle af te ronden en de mapping tables veilig te stellen. De data in de DRAM buffer gaat vaak wel verloren; maar dat is niet erg omdat filesystems hier zelf al bescherming tegen bieden. De SSD zelf mag echter niet corrupt raken.
- Een SSD is eigenlijk een RAID0-array van NAND chips of eigenlijk NAND dies (per chip bijvoorbeeld 2 dies). Dit betekent grofweg dat een moderne SSD eigenlijk een RAID0 is van 16 NAND chips. Dit is ook de reden dat SSDs zulke hoge scores neerzetten; zonder het gebruik van RAID0 zou een SSD niet veel sneller zijn dan een simpele USB-stick, die meestal slechts één NAND kanaal hebben. Een 16-way interleaved SSD noemen we een SSD met 16 kanalen. Echter, in plaats van RAID0 kan ook RAID4 of RAID5 worden gebruikt. Dit gebeurt volledig intern zonder dat de host ofwel je besturingssysteem hier iets vanaf weet. De SSD gebruikt deze redundantie om bitfouten op NAND-niveau tegen te gaan. Dit is met name belangrijk naarmate de NAND chips op steeds kleinere procédés worden geproduceerd (54nm->34nm->25nm->19nm). Iedere stap betekent dat er meer foutcorrectie nodig is om dezelfde Bit Error Rate te behalen. Foutcorrectie begint met simpele ECC die altijd aanwezig is in iedere NAND cell, en daarboven op dus nog RAID-level bitcorrectie. Niet alle SSDs beschikken hierover, de Crucial M4 en Samsung 830 moeten het zonder doen. Sandforce, Intel 320 en Crucial M500 hebben deze bescherming wel en is cruciaal voor langdurig betrouwbaar functioneren. Oudere SSDs met 25/34/54nm NAND-chips hebben deze bescherming minder hard nodig, dus een Intel met 34nm NAND kan betrouwbaarder zijn dan een 19nm NAND mét al deze beveiligingen.
- Ten slotte is slimme en betrouwbare firmware cruciaal. Vooral in de begindagen was het voornamelijk de firmware waar SSDs defect door raakte, met name omdat de mapping tables inconsistent raakten en daarmee voor ernstige corruptie zorgde of het opslagapparaat helemaal defect raakte, wat alleen te verhelpen is door een secure erase. Gelukkig is de firmware van huidige 4e-generatie SSDs steeds beter op orde.
dus het lijkt me dat ook maar het kleinste extra risico hierop gewoon onacceptabel is
Voor zakelijke gebruikers is dat natuurlijk zo. Die kopen ook geen consumenten spul. Maar jij draait wellicht ook non-ECC geheugen, en bent dus ook onbeschermd. Consumenten krijgen techniek die
meestal werkt, terwijl zakelijke gebruikers échte bescherming willen en krijgen. Dit verschil wordt door de fabrikanten afgedwongen om zo zakelijke gebruikers te dwingen veel meer geld uit te geven, omdat ze niet willen dat zij goedkope consumentenhardware kopen. Marktsegregatie heet dat met een deftig woord.
Een mooie maar zeer technische bron voor SSD power-loss corruptie:
[Reactie gewijzigd door Anoniem: 15758 op 7 mei 2013 23:39]