nikolausdulgeridis
  SD Card schrotting
 
sd card wrecking - geplante Obsolenz bei USB Sicks

Geplante Obsoleszenz - Warum USB Sticks versterben

Wer sich auf Expertentipps verlässt oder empfohlene Tools (wie SD Formatter von sdcard.org) verwendet, tappt in eine Falle. Die Folge: der Speicherstick wird immer langsamer und bleibt schließlich stehen. Klingt unwahrscheinlich? Welche Sticks betroffen sind und wie man das Problem umgeht steht in diesem Tipp.

Mehrere meiner neuen Sandisk Cruzer gaben nach wenigen Wochen auf. Unterirdische Schreibraten weit unter 500 KB/s führten dazu, dass Aufnahmen einfach abbrachen. Hingegen mein JetFlash von Annodazumal spurtet wie am ersten Tag. Was war passiert, hatte ich eine schlechte Serie erwischt? Meine Ursachenforschung förderte erstaunliches zutage.

Bevor wir uns in Einzelheiten verlieren, es gibt Abhilfe: Den Stick (oder die SD Karte) nie!! vollschreiben. Alle anderen wohlmeinenden Tips oder auch Tools führen an der Sache vorbei und oft sogar zum vorzeitigen Ableben der filigranen Speicherriesen. Wobei man korrekterweise anraten sollte, die Datenpartitition von vornherein um 10% zu verkleinern, um ein ungewolltes Vollaufen sicher auszuschliessen.

Das wars. Wer nur an der Problemlösung interessiert war, kann hier aufhören zu lesen. Wer weitere Hintergründe erfahren will, kann dem Blog weiter folgen oder studiert einen der angefügten Links.

Ursachen
Alle Anzeichen deuten daraf hin, dass die Hersteller zunehmend auf ein ausreichendes Overprovisioning verzichten, mit dem unter anderem der Verlust von defekten Speixherzellen ausgeglichen soll. Ein Speicherstick von 8GB wird deshalb intern nie exakt 8GB Speicher vorweisen, sondern z.B. 8,5 oder mehr. Wird eine kritische Marke unterschritten wird der Stick langsamer und friert schliesskich ein. Es kann zwar noch gelesen aber nicht mehr geschrieben werden, ein Indiz dafür dass der Controller grundsätzlicch eigentlich funktioniert.

Es gehört zu den Eigenartigen von USB Sticks und SD Karten, dass einmal belegter Speicher intern nie wieder frei gegeben wird, das liegt an der vereinfachten USB Schnitttelle. Deshalb der Rat eine um 10 Prozent verkleinerte Partition zu verwenden. Es widerspricht ein wenig der Logik, aber tatsächlich findet ständig ein Austausch zwischen den Bereichen statt, so dass der stillgelegte Speicher tatsaechlich als Reserve genutzt wird.

Welche Karten sind betroffen, welche nicht?
Nicht oder weniger betroffen sind SSDS und teure High Speed Karten, die über genügend Overprovisioning verfügen, sowie Karten die nie vollgeschrieben werden, wie üblicherweise in Kameras oder Handys. Stark betroffen sind billige Speichersticks ohne Overprovisioning, die vollgeschrieben wurden und die oft mit Ausschuss Nands bestückt werden, die nach der Qualitätskontrolle für SSDS nicht in Frage kamen.

Das erklärt auch, weshalb es nicht längst zu einem Aufschrei gekommen ist. In vielen Fällen kommt es zu keinen Problemen und selbst wenn man in die Falle gelaufen ist, ist die Neigung wegen eines Sticks von 20 Euro zum Händler zu gehen, gering. Schließlich war von vornherein klar, dass es sich um die Billig Variante, also Wegwerf Ware handelte. Und alle sind glücklich. Die Hersteller verkaufen mehr oder an reumütige Kunden teure Sticks usw. Wobei man sagen muß, 3 Wegwerfsticks a 20 Euro sind unterm Strich kein Schnäppchen mehr. Eine SSD ist dann doch deutlich langlebiger und kommt daher günstiger.

Overprovisioning
SSDS aber in geringerem Umfang auch USB Sticks bzw. SD Karten verfügen über ein sogenanntes Overprovisioning d.h. ein Teil des Speichers wird für den Ersatz fehlerhafter Blöcke und für das Wear Levelling abgezweigt. Eine 128GB SSD wird nach aussen nur 120 GB melden, 8 GB bleiben reserviert. Sehr schön ist die Funktion in folgerndem Artikel beschrieben: https://www.zdnet.de/88348289/ssd-mit-4-bit-mlc-samsung-ssd-860-qvo-ausprobiert/

Der Overprovisioning Speicher hat also folgende Aufgaben
- Turbo Boost (speziell bei SSD)
- Wear Levelling (gleichmaessige Abnutzung, oft verwendete Bloecke werden geschont)
- Ersatz fehlerhafter Blöcke

Wieviel Overprovisioning Speicher wird benötigt
USB Sticks und SD Karten verfügen wegen ihrer Grösse aber auch aus Kostengründen (der Preiskampf ist hart) über wenig Reserve. Betrachten wir den Extremfall: Eine Karte mit 64k Bloecken und 512 Byte Sektoren. Die Karte ist vollständig befüllt und es soll ein einzelner Sektor neu beschrieben werden. Es kann aber immer nur ein Block im Ganzen gelöscht werden. Wir brauchen also mindestens 1 ExtraBlock sonst steckt das System fest. Es kommt aber noch schlimmer. Sagen wir, wir wollen 64k schreiben, und benötigen einen freien Block. Dummerweise ziehen sich die 64k freien oder zum Löschen freigegebenen Bereiche aber zufällig über 10 Blöcke. Wir müssen daher einen Block aussuchen und seine belegten Inhalte in die freien Sektoren in den anderen Blöcken kopieren. Dann müssen wir den gerade freigeräumten Block löschen und haben für die Operation Platz.

Das sollte deutlich machen, wie aufwendig der Vorgang wird, wenn wir mit zu wenig Reserve Blöcken arbeiten: die Vielzahl der Kopiervorgänge macht das Schreiben extrem langsam und senkt auch die Lebenserwartung dramatisch, ständig muss umgeräumt werden. Grundsätzlich sollte bei einem 64GB Stick mindesten 1GB freier Platz vorgehalten werden, damit der Kopiervorgang verzögerungsfrei schreiben kann. Wenn das GB aufgebraucht ist, sind voraussichtlich inzwischen wieder genügend Blöcke gelöscht, so dass der Vorgang unterbrechungsfrei fortgesetzt wird. Mehr Blöcke bedeuten auch Vorteile für ein gesundes Wear Levelling. Man sollte berücksichtigen, dass defekte Bloecke ausfallen, billige Sticks sind hier besonders gefährdet, da sie sowieso kaum über Reserve Blöcke verfügen.

Allgemein werden 10 % Overprovisioning empfohlen, allerdings ist der Wert eher von der Übertragungsgeschwindigkeit abhängig. Ein128GB Stick kommt mit 5 GB Reserve ebenso gut zurecht wie ein 64 GB Stick mit der gleichen Technik. Man muss natürlich bei grösseren Sticks mehr Ersatzsektoren vorhalten. Früher wurden bis zu 30% Reserve empfohlen, das erscheint jedoch übertrieben. Ab einer bestimmten Größe bringt es keinen Geschwindigkeitsvorteil mehr und verbessert auch nicht das Wear Levelling.

Das Filesystem und 'freie' Sektoren
Jeder Sektor, der einmal beschrieben wurde, wandert aus dem Provisioning Pool in den belegten Bereich. Selbst wenn die Festplatte gelöscht formatiert oder patitioniert wird ändert sich daran nichts. Der Grund ist, dass zwar der Computer weiß dass die Festplatte formatiert wurde, aber versäumt hat, das dem Kartencontroller mitzuteilen. Aus Sicht des Kartencontrollers sind die Sektoren weiterhin belegt. Es gibt nur drei Möglichkeiten, einen Sektor wieder freizugeben: Überschreiben, Trim oder Erase. Der bekannteste Befehl ist Trim. Hiermit wandern freie Sektoren zurück in den Provisioniong und können vom Kartencontroller wieder frei als Rangiermasse verwendet werden. Anders als viele glauben, löscht Trim keine Sektoren, sondern gibt sie nur frei. Gelöscht werden Blöcke sobald der Controller erkennt, dass alle Sektoren darauf freigegeben sind.

USB Sticks können keinen Trim durchführen, da ihr USB Controller die ATA Befehle nicht durchlässt. Punkt. Der Provisioning Bereich wird also nie wieder wachsen wenn er einmal belegt wurde.

Es gibt einen Ausweg zumindest in der Theorie: Laut SDA Spezifikation (ich glaube 2015) ist das vorgeschriebene Filesystem Fat32 oder exFat. Es ist daher dem Controller erlaubt, selbständig nicht benutzte/gelöschte Sektoren zu identifizieren. Nur macht das kein Controller: https://www.computerbase.de/forum/threads/trim-und-gc-ein-erklaerungsversuch.865108/

Trim von SDXC
SD oder SDXC können mit einem Trick getrimmt werden: Mit einem SBC (Raspberry, Odroid, nano Pi, Rock Pi) können Ata Befehle an die Karte übertragen werden. Theoretisch können auch Notebook Kartenleser genutzt werden, allerdings mangelt es an Software. Normale USB Cardreader scheiden ebenso wie normale USB Sticks aus, wegen der ATA Befehle,

Nachfolgend ein Erfahrungsbericht eines Raspberry Users. https://www.reddit.com/r/techsupport/comments/9yxqal/sd_card_with_trim_or_blkdiscard_support/
SD card with TRIM or blkdiscard support
I've been using heavy writes to SD cards for a project, and they tend to slow down after there are no free blocks. Using blkdiscard or fstrim on the card fixes this immediately, but unfortunately the only SD card reader I have that has TRIM support is a raspberry pi (I've tried the readers built into two laptops and three USB ones).

So interessant es ist, SD Karten zu trimmen, so mühselig ist es und bei USB Sticks versagt das Verfahren völlig. Zudem hat man keine Kontrolle, ob der trim tatsächlich ausgeführt wird. Es bleibt beim einzig vernünftigen Rat, die Partition um 5-10% zu verkleinern, dann wird man länger Freude an seinem Stick haben. Narürlich verlagern die Hersteller auf diese Weise die Kosten auf den Verbraucher, da erst durch die fehlende Provisioning Reserve das Problem entsteht. Andererseits wird der Speicher immer billiger, abgesehen von dem Umstand dass es eine Frechheit ist, Geräte mit einem offenkundigen Mangel zu verkaufen, sollte das also kein Thema sein.

Kommen wir zu den Eingangs erwähnten Tools und Tips

Tools

SD Formatter von sdcard.org
Das Tool wird unter anderem von Sandisk empfohlen, jener Firma also, die sich nicht scheut SD Sticks auf den Markt zu werfen, die sich nach wenigen Wochen selbst zerstören (geplante Obsoleszenz).

Beim SD Formatter wird vollmundig davor gewarnt, andere Tools oder Betriebssysteme zu verwenden

"The SD Formatter was created specifically for memory cards using the SD/SDHC/SDXC standards. It is strongly recommended to use the SD Formatter instead of formatting utilities provided with operating systems that format various types of storage media. Using generic formatting utilities may result in less than optimal performance for your memory cards."

Ruft man das Tool auf, kann man nicht das Dateisystem wählen, es wird automatisch Fat32 oder exFat eingestellt, je nach Grösse des Lauswerks. Das geht insofern in Ordnung, als es der SDA Spezifikation entspricht, es bringt in der Praxis oft wenig, weil viele Mediaplayer kein exFat verstehen und SD Karten nicht profitieren. Aber damit kann ich leben. Was ich sehr kritisch aufnehme: Die Partitionsgrösse kann nicht frei gewählt werden und das scheint mir grenzwertig. Das Problem, dass USB Sticks mangels verfügbarer Sektoren dazu neigen abzusterben, ist seit Jahren bekannt und wäre mindestens eine Erwähnung wert gewesen. Aber hier wird der User für dumm verkauft. Aber es geht noch weiter:

What is the difference between Quick and Overwrite format methods?
Quick format deletes all the file/directory entries by initializing file system parameters of the card, but it does not delete the data written in files. Overwrite format deletes file/directory entries by initializing file system parameters of the card (same as with Quick format), and erases all data by overwriting the user data area completely. The Overwrite format takes more time to complete than the Quick format method.

Ich habe die vollständige Formatierung in zwei Fällen getestet. In einem Fall mit gutem Erfolg, die SD Karte die in der Schreibrate stark schwankte, arbeitete danach einwandfrei und in erwarteter Geschwindindigkeit (ca. 5  MB/s). Im anderen Fall (dem erwähnten Sandisk Cruizer, die anderen Cruzer habe ich leider schon weggeschmissen), führte das vollständige Formatieren zu einer deutlichen Verschlechterung aus mageren 600KB/s wurden 250 KB/s, bereits die Formatierung dauerte zwei Tage. Das scheint die Annahme zu bestätigen, dass das Vollschreiben dem schwächelnden USB Stick nicht gut bekommen ist, vermutlich weil auch der letzte freie Puffer entzogen wurde. Das gute Ergenis des ersten Tests lässt sich gut mit kippenden Speicherblöcken erklären, die durch das Überschreiben entweder endgültig aus dem Verkehr gezogen oder möglicherweise noch einmal aufgefrischt wurden. Des öfteren wird von Anwendern dem SD Formatter ein geheimes Rezept anorakelt, das ihn befähigt fragwürdige Sticks zu reparieren. Trotz des positiv verlaufenden ersten Tests habe ich daran ernste Zweifel und zwar sowohl der eigenen Dokumentation des SD Formatters folgend als auch wegen der technischen Grenzen durch die USB Schnittstelle.

H2testw
Tool um USB Fake Sticks zu erkennen. Der Speicherplatz der Karte wird einmal vollgeschrieben. Ein wichtiges Tool, da viele Fake Karten im Umlauf sind. Trotzdem Finger weg, außer man hat eine Idee, wie man die Karte hinterher trimmen kann. Wer unbedingt testen will, sollte eine verkleinerte Partition anlegen (ca. 10%), dann gibt es keine Probleme.

Fazit:
Das ganze Thema ist ein hässliches Beispiel für geplante Obsoleszenz. Die Sticks werden offenbar so designt, dass das schmale Overprisioning nicht reicht sowohl das Wear Levelling als auch eine Reserve für den unvermeidlichen Schwund durch defekte Sektoren zu bedienen. Die Folge: sobald der Stick vollgeschrieben wurde, stirbt er unvermeidlich ab.

Offensichtlich profitieren alle davon, denn eine Warnung oder Tipps zur Vermeidung sucht man im Netz vergeblich. Iim Gegenteil, die verbreiteten Tips und Tools führen sogar noch in die Irre.

Anmerkung::
Die Aussage, dass eine verkleinerte Partition Lebensdauer und Performance eines USB Sticks verbessern könne, ist genaugenommen eine begründete aber unbewiesene Annahme, die auf früheren Artikeln sowie auf Erfahrungen mit SSDS beruht. Es gibt keine frei zugänglichen Tools mit denen der Zustand des Overprovisioning geprüft werden kann. Ein Unsicherheitsfaktor besteht darin, dass unterschiedliche Baueelemente ineinandergreifen, hier könnten allenfalls die Hersteller belastbare Aussagen machen. Um die Annahme zu verifizieren könnte man repräsentative Tests mit einer ausgewählten Serie durchführen, solche Untersuchungen gibt es allerdings bisher nicht. Auf der anderen Seite schadet eine geringfügig verkleinerte Partition aber auch nicht und bei der Kurzlebigkeit vieler Sticks ist es vermutlich die beste Empfehlung, die man zur Zeit geben kann.

Könnte man Entwarnung geben, angesichts der Tatsache, dass nur wenige User (wie oben festgestellt) das Problem jemals feststellen werden? Nein. Es gibt ein verwandtes Thema. Es sind immer noch viele Fake Sticks unterwegs, die als 128GB verkauft werden, obwohl nur 32G oder weniger real vorhanden sind. Viele Verbraucher merken das erst spät oder nie, wenn de SD Karte dann irgendwann volläuft, wird eine neue besorgt. Trotzdem besteht ein Anspruch, dass das Produkt das erfüllt, was draufsteht, der Kartenfake ist kein Kavaliersdelikt.


###***####***###***####***
###***####***###***####***

Links


Wer kein TRIM nutzt und seine SSD schon einmal richtig voll geschrieben hat, der kann z.B. die volle Leistung nur noch mit Tools zum vollständigen Löschen aller Daten die der SSD Hersteller liefert oder benennt, wieder herstellen. Diese Tools löschen die Daten nicht selbst, sondern teilen dem Controller über das Secure Erease ATA Kommando dies selbst zu machen.
Deshalb sollte man eine SSD ohne TRIM niemals ganz voll schreiben und bei SSDs für den professionellen Einsatz wird deshalb auch schon vom Hersteller reichlich Platz freigelassen! Windows hilft nur insofern, als dass es bei NTFS einen Teil (standardmäßig 12.5%) der Kapazität für den MFT reserviert und diesen Platz erst mit anderen Daten beschreibt, wenn keine anderen LBAs mehr verfügbar sind. Sicherer ist es aber, die Partition etwas kleiner zu wählen damit ein Teil der Kapazität garantiert unbeschrieben bleibt.
 
Wenn er das Filesystem kennt kann der Controller natürlich auch versuchen die Daten auf der SSD selbst zu interpretieren um das Setzen eines "Gelöscht Flags" zu erkennen, die der Datei zugeordneten Sektoren zu finden und diese dann für ungültig zu erklären. Dies stößt aber bei der Vielzahl von Filesystemen auf Grenzen und wird z.B. in RAIDs und bei Cryptographierung schon gleich gar nicht funktionieren. Obendrein birgt es außerdem die Gefahr von Datenverlust etwa aufgrund einer Fehlinterpretation wegen Änderungen des Filessystems oder wegen einer Inkonsistenz im Filesystem. Deshalb ist dies keine wirkliche Alternative zu TRIM und auch nicht verbreitet und soll deswegen hier auch nicht weiter betrachtet werden. Soweit ich weiß hat nur Samsung so etwas mal zu der Zeit implementiert, als TRIM nicht nicht verbreitet und die Samsung SSDs nur für OEMs waren (es gab die Modelle aber für Endkunden als OCZ, Corsair und Kingston) und prompt funktionierten die in RAIDs nicht, weil laufen Fehlinterpretationen passierten und daher die falschen Daten gelöscht wurden.

Warum ist H2testw nötig?

From what I have read in the literature the best way to detrap the electrons in the oxide layer is rest and temperature. If you just leave the array be with no reading, writing or erasing the electrons in the oxide layer (and in the floating gate) will leak out over time. Heat speeds up this process. This is why an SSD which is not heavily used can last far longer than what the ratings suggest.

SD card with TRIM or blkdiscard support
I've been using heavy writes to SD cards for a project, and they tend to slow down after there are no free blocks. Using blkdiscard or fstrim on the card fixes this immediately, but unfortunately the only SD card reader I have that has TRIM support is a raspberry pi (I've tried the readers built into two laptops and three USB ones).
This requires either:
a) putting an OS on the SD card, booting it on the pi, trimming it, then reformatting it again or,
b) for me to constantly switch my pi from USB boot to SD card boot (which is also quite cumbersome).
Does anyone know how I can find out if an SD card reader supports TRIM or how to source one that does?
Edit: Alternatively any other method that sets the discard bit on the whole SD card quickly and conveniently would solve the same problem.

CMD38
Ein Blick in die Physical Layer Simplified Specification Version 6.00 für SD-Karten offenbart unter Kapitel 4.3.5 das ERASE-Kommando (CMD38) für SDHC- und SDXD-Cards. Unter 4.3.5.2 heißt es:
The DISCARD operation is similar to the default ERASE operation. Card may de-allocate the discarded blocks partially or completely. The contents of a region where the discard function has been applied shall be treated as ‘don’t care’ by host. After discard operation the previously written data may be partially or fully read by the host, depending on the card implementation.
It is desirable to discard many write blocks simultaneously in order to enhance the data throughput. Identification of these write blocks is accomplished with the ERASE_WR_BLK_START (CMD32), ERASE_WR_BLK_END (CMD33) commands. The host should adhere to the following command sequence: ERASE_WR_BLK_START, ERASE_WR_BLK_END and DISCARD (CMD38)
Das ist ungefähr das Äquivalent zum TRIM-Befehl bei SSDs. Nun macht die SD Association keine Angaben, ob ihr Formatter dieses Kommando wirklich nutzt. Bei diversen $OS-Boardmitteln bin ich jedenfalls deutlich weniger zuversichtlich.

Der Grund ist recht einfach: SD Karten kennen kein TRIM-Kommando, dafür aber ein ERASE CMD38 welches auf das Gleiche hinausläuft. Formatierst du mit Betriebssystemmitteln, wird die Karte nicht gelöscht. Beim Schreiben neuer Daten werden die Blöcke also erstmal gelöscht und dann beschrieben, was die Performance stark beeinträchtigt.
Siehe dazu auch auf der Webseite des SD-Formatters:
"The SD Formatter was created specifically for memory cards using the SD/SDHC/SDXC standards. It is strongly recommended to use the SD Formatter instead of formatting utilities provided with operating systems that format various types of storage media. Using generic formatting utilities may result in less than optimal performance for your memory cards."

Zum anderen gibt es den Format-Modus "Overwrite format", der drastisch zur Sache geht. Er erstellt nicht nur ein neues Inhaltsverzeichnis, sondern macht mit den bereits vorhandenen Daten kurzen Prozess und löscht sie vor dem Formatieren von der Partition. Dieser Vorgang dauert je nach Größe der SD-Karte lange. Für eine noch gründlichere Löschung der vorhandenen Daten kann man die Freeware auffordern, alle Daten auf der Karte mit zufälligen Daten zu überschreiben, diese dann wieder zu löschen und dann erst die Formatierung zu starten. Das dauert noch länger, ist dafür aber besonders effektiv, wenn man vermeiden möchte, dass irgendwelche persönlichen Daten auf der Karte verbleiben. Selbst Recovery-Software kann diese dann nicht mehr wiederherstellen.

Now I issued a 'blkdiscard -v /dev/mmcblk0' on the device (note that this is a scary dangerous command, which, used on an SSD, would nuke all your data into nirvana within milliseconds, so be very careful to get the device name right). The result is this: ...
You can find some more patchy information on SD card 'erase' command CMD32, CMD33, CMD38 on the internet, but as always, many vocal people are highly confused and it is hard to come by reliable info. Thus this tool, play with it and you will understand this much better. At least it gives you a small window into the internal workings of these amazing little gadgets.

Mit dieser Technik erreicht die SSD 860 QVO laut Samsung beim sequentiellen Schreiben eine Leistung von 520 MByte/s. Sollte der TurboWrite-Speicher ausgeschöpft sein, sinkt die Datenrate auf 80 MByte/s (1-TByte-Modell) und 160 MByte/s. In der Praxis dürfte dieser Fall allerdings bei den meisten Nutzern kaum eintreten.

Ein Blick in die Physical Layer Simplified Specification Version 6.00 für SD-Karten offenbart unter Kapitel 4.3.5 das ERASE-Kommando (CMD38) für SDHC- und SDXD-Cards. Unter 4.3.5.2 heißt es:
The DISCARD operation is similar to the default ERASE operation. Card may de-allocate the discarded blocks partially or completely. The contents of a region where the discard function has been applied shall be treated as ‘don’t care’ by host. After discard operation the previously written data may be partially or fully read by the host, depending on the card implementation.
It is desirable to discard many write blocks simultaneously in order to enhance the data throughput. Identification of these write blocks is accomplished with the ERASE_WR_BLK_START (CMD32), ERASE_WR_BLK_END (CMD33) commands. The host should adhere to the following command sequence: ERASE_WR_BLK_START, ERASE_WR_BLK_END and DISCARD (CMD38)
Das ist ungefähr das Äquivalent zum TRIM-Befehl bei SSDs. Nun macht die SD Association keine Angaben, ob ihr Formatter dieses Kommando wirklich nutzt. Bei diversen $OS-Boardmitteln bin ich jedenfalls deutlich weniger zuversichtlich.

Der folgende Beitrag ist von 2013!!
Wie im Vorwort gesagt, habe SSDs und USB-Flashspeicher die Eigenheit, immer langsamer zu werden, je voller sie sind. Bei der SSD hat man dies ja mit einem reservierten Bereich, dem Trim-befehl und ggf. einen Herstellertool gelöst, um beschriebenen Speicher als "frei" zu markieren und damit die Geschwindigkeit wieder zu steigern.
Nun ist es USB-Sticks zwar ähnlich, aber im Gegensatz zu den SSDs hat man hier meines Wissens deutlich weniger Reservespeicher (wenn überhaupt) und auch keinen Trim-Befehl zur Verfügung.

https://www.computerbase.de/forum/threads/sd-karte-und-trim-befehl.1819300/
Gibt es für SD Karten eigentlich etwas ähnliches, wie den Trim Befehl oder ist das hier völlig Sinnlos?
'SD Karten kennen kein TRIM-Kommando, dafür aber ein ERASE CMD38 welches auf das Gleiche hinausläuft. Formatierst du mit Betriebssystemmitteln, wird die Karte nicht gelöscht. Beim Schreiben neuer Daten werden die Blöcke also erstmal gelöscht und dann beschrieben, was die Performance stark beeinträchtigt. '
'In dem Thread hat Holt jedoch direkt geantwortet und Recht behalten. Trim Komandos sind im SD-Card Standard nicht vorgesehen. Das Tool fstrim unter Linux nutzt entsprechend Löschbefehle '


 

https://www.computerbase.de/forum/threads/wie-oft-kann-man-usb-sticks-formatieren.1445301/
Ja, die USB Stick beruhen auch auf dem gleiche NAND Speicher wie SSD, aber meist wird da eher minderwertige Qualität verbaut, erst recht von Herstellern ohne eigene NAND Fertigung, da gut NANDs knapp und teuer sind. TransMemory kenne ich zwar nicht, aber da nur 4 Firmen NAND Hersteller (Flash Forward, Hynix, IMFT und Samsung) und davon 2 Jont Ventures sind (Flash Forward von SanDisk und Toshiba, IMFT von Intel und Micron, wobei Micron Consumerprodukte unter dem Labeln Crucial und Lexar verkauft), kann TransMemory auch nur eine der zahllosen Firmen sein, die bei billigen Sticks den letzten Mist an NAND einbauen (müssen) den es irgendwo gibt, um Gewinn zu machen. Die halten dann mit Glück ein paar Hundert Zyklen aus.
Zitat von Info-Formatiker: Wenn es min. 10.000x klappen sollte, dann dürfte er noch ein paar Jahre halten. Vergiss 10.000, das war bei NAND in Sticks mit 1, 2 und vielleicht noch 4GB mal so, aber ein 32GB Stick ist dafür zu neu und dann ist das noch die Write Amplification, die ist gerade bei USB Stick teilsweise sehr hoch. Wenn er ein oder zwei Jahre ist gut, sonst kaufe halt das nächste mal eine guten Stich von SanDisk oder Lexar, wie die ScanDisk Extreme USB3 Sticks, die haben sogar einen SSD Controller drin.

### offtopic ###
https://askubuntu.com/questions/464306/a-command-which-checks-that-trim-is-working
https://www.intel.com/content/dam/support/us/en/documents/ssdc/data-center-ssds/Intel_Linux_NVMe_Guide_330602-002.pdf
https://kb.sandisk.com/app/answers/list

In diesem Artikel zeigen wir wie Sie unter Linux ein Secure Erase einer SSD durchführen. Sie können damit die Performance vieler gebrauchten SSDs für die künftige Anwendung steigern. Es gehen dabei aber alle Daten der SSD verloren.Update August 2011: Bei der Formatierung von NTFS ab Windows 7 oder der Formatierung von Ext4 ab mke2fs 1.41.10 oder XFS ab xfsprogs 3.1.0 ein ATA Trim durchgeführt wird, ist in diesen Fällen ein Secure Erase nicht mehr erforderlich
 
 
Bei vielen Flash-Speichermedien besteht keine eindeutige Beziehung zwischen einer physischen Speicherzelle und einer extern per USB oder etwa auch SATA ansprechbaren Sektoradresse. Man spricht auch von Flash Translation Layer (FTL): Controller und Firmware nutzen ihn für Funktionen wie Wear Leveling, also die gleichmäßige „Abnutzung“ der Speicherzellen bei Schreibvorgängen. Dabei verwenden sie oft auch reservierte Speicherbereiche, die nicht extern adressierbar sind (Overprovisioning).
 
https://www.datenretter-koeln.de/blog/uber-die-zuverlassigkeit-von-usb-sticks-und-speicherkarten-sowie-hauptursachen-fur-den-datenverlust-2/
Abnutzung des Speichers
Der Speicher wird erkannt und funktioniert, aber seine Dateien werden mit Fehlern gelesen. Dateiinhalte werden verdreht, Datenarchiv wird beschädigt, es kann auch die Meldung „CRC-Fehler“ kommen.
Die Ursache dafür sind Defekte vom Flash-Speicher auf physischer Ebene, was am häufigsten  an Produktionsfehlern oder der Abnutzung liegt. NAND-Flash konnte ursprünglich nur eine begrenzte Anzahl von Speichervorgängen ermöglichen, und je höher die Speicherkapazität des Chips ist, desto niedriger ist die Nutzungsdauer: von 1 Mio. Schreibzyklen vor einigen Jahren bis 100 Tausend  in neuen Models und sogar 10 Tausend in billigem Speicher MLC (Multi – Level Cell).

https://www.ioff.de/archive/index.php/t-424332.html Das einzige was man vielleicht tun könnte, ist auf dem Stick etwas Platz frei zu lassen. Dann hat der Controller mehr Spielraum, um die Zellen gleichmäßg/abwechselnd zu beschreiben. Der haken an der Sache ist freilich: erstens weiß man nicht, ob der verwendete Flash-Controller davon überhaupt profitiert. Und zweitens muss er die leeren Zellen überhaupt erst mal als leer erkennen. Da reicht es nicht, dass das Betriebssystem den Platz frei lässt. Die Zelle muss dabei auch physisch frei sein. Und das bedeutet je nach Flashtyp meist eben nicht "alles mit 0 gefüllt", sondern alle Bits auf 1. Sprich: vergiss es, und benutz die Sticks einfach normal weiter!

https://www.flashbay.de/blog/lebensdauer-eines-usb-sticks
Troy | 01 Nov, 2014
Hello, You only mentioned write cycles which causes wear on the drive. Do read cycles have the same effect on the drive? If I install OS (such as linux) on a flash drive and use it as a boot drive. It will be left running 24/7, and it will do reading most of the time after initial setup. How long will the drive lasts? Thanks
Chris Flashbay | 03 Nov, 2014
Hi Troy, 
Thanks for the comment. In short we estimate 10 read operations to be equivalent to 1 write operation in terms of wear to the NAND flash memory. 
In your specific use case, the retention of the flash drive will depend on:
i) Memory type (SLC, MLC, TLC):
Single level cell (SLC) NAND will have the best data retention. It is subjected less 'read disturb' than MLC or TLC. However SLC NAND flash  is much more expensive than MLC or TLC NAND flash.
A read disturb occurs when a cell that is not being read receives elevated voltage stress and can occasionally result in a bit flip. The probability of read disturb is much lower than is a write disturb.
ii) Flash management
The controller chip does a lot of work to reduce the wear on NAND flash by employing the following techniques: Wear-levelling algorithms, bad block management, error detection and correction, write amplification and over provisioning.
We generally use controllers made by Silicon Motion (SMI) which have excellent flash management. If you buy a flash drive which is much bigger than your data storage requirement you will also benefit from better wear levelling than a drive with little free space.
Our advice would be to purchase a high-quality Flash Drive and run your chosen Operating System from there. It might cost you slightly more but it will be worth it.  People have been running Operating Systems from Flash Drives for quite a while now so there's no reason to think your Flash Drive will stop working after a couple years - if you purchase one with high-quality parts!
 


---------------------------------
Seite erstellt Datum: 25.1.2020


 
  4 Besucher