Forum: Mikrocontroller und Digitale Elektronik Was macht "Low Level Format" bei SD Karte?


von Ignaz (Gast)


Lesenswert?

Hallo,

ich habe versehentlich meine Speicherkarte in der Kamera formatiert. 
Noch schlimmer wird das ganze dadurch, dass die Option "low level 
format" aktiv war. Diese Option gibt es u.a. bei etlichen Canon Kameras.

Der Formatiervorgang in der Kamera dauert nur ca. 6 Sekunden. Also 
eigentlich nicht genug Zeit, um eine 16GB Karte komplett zu löschen, 
dachte ich.

Nun habe ich mich mit diversen Datenrettungstools auf die Suche gemacht, 
aber es wird keine einzige Datei gefunden. Dann habe ich mit einem 
Diskmonitor mal in die Sektoren reingeschaut. In den ersten 4 Sektoren 
stehen noch ein paar Daten (evtl. neu angelegtes Root Verzeichnis?). 
Alles danach ist komplett Null.

Kann mir jemand erklären, was beim Low Level Format passiert? Gibt es 
ein spezielles Kommando, mit dem die Karte sämtliche Flash Blöcke 
gleichzeitig initialisiert, so dass wirklich physikalisch Null in den 
Zellen steht? Da müsste ja auch der Stromverbrauch kurzzeitig deutlich 
ansteigen. Wenn man eine SD Karte per Lesegerät als Massenspeicher 
anschließt, scheint es diese Funktion nicht zu geben, weil die Windows 
Formatierung (ohne Häkchen Schnellformatierung) 20 Minuten dauert.

Kann jemand bestätigen, dass SD Karten eine solche Funktion zum sicheren 
Komplettlöschen implementiert haben, die sich dann über ein Kommando am 
SDIO Bus aktivieren lässt?

Ob noch Hoffnung für meine Daten besteht, brauch ich wohl erst gar nicht 
zu fragen!? Da es sich um eine microSD Karte handelt kommt man eh nicht 
an den Flash Chip ran, selbst wenn einem nur der Controller Chip die 
Nullen vorgaukeln würde.

Gruß Ignaz

von Jim M. (turboj)


Lesenswert?

Ignaz schrieb:
> Der Formatiervorgang in der Kamera dauert nur ca. 6 Sekunden. Also
> eigentlich nicht genug Zeit, um eine 16GB Karte komplett zu löschen,
> dachte ich.

Falsch gedacht. SD Karten haben einen Erase Befehl, den man für den 
kompletten Datenbereich nutzen kann. Dauert nicht lang, 6 Sekunden 
sind schnell aber offenbar ausreichend.

Befehle stehen in der Simplified Spec auf der sdcard.org Webseite.

von wackelkontakt (Gast)


Lesenswert?

Jim M. schrieb:
> SD Karten haben einen Erase Befehl, den man für den
> kompletten Datenbereich nutzen kann. Dauert nicht lang

Trotzdem müssen dazu 8 x 16 Milliarden Speicherzellen umgeschupst 
werden, ok bei MLC etws weniger, aber trotzdem... Kann mir nicht 
vorstellen daß das in 6 Sekunden erledigt ist?

Die mit Abstand besten Ergebnisse bei versehentlich gelöschten 
Datenträgern habe ich mit TestDisk und PhotoRec erzielen können. Ist 
wirklich nicht so schlimm wie es zunächst ausschaut, einfach mal 
testen...

http://www.heise.de/download/product/photorec-45742

von City Cobra (Gast)


Lesenswert?

wackelkontakt schrieb:
> rotzdem müssen dazu 8 x 16 Milliarden Speicherzellen umgeschupst
> werden, ok bei MLC etws weniger, aber trotzdem... Kann mir nicht
> vorstellen daß das in 6 Sekunden erledigt ist?

Doch. Gibt es auch bei SPI-Flash nennt sich BULK-Erase. Da werden alle 
Leitungen auf einmal Hochgezogen. Eben "Flash" und ja da steigt der 
Verbrauch kurz an und schlagartig sind Deine Urlaubsbilder dahin.

Nächstes mal nicht so schnell abdrücken.

von Kai A. (kaiand1) Benutzerseite


Lesenswert?

Nun evtl mal bei Kroll Anfragen wenn es dir die Bilder Wert sind.
https://www.krollontrack.de/datenrettung/sd-karte-wiederherstellen/

von Axel S. (a-za-z0-9)


Lesenswert?

wackelkontakt schrieb:
> Jim M. schrieb:
>> SD Karten haben einen Erase Befehl, den man für den
>> kompletten Datenbereich nutzen kann. Dauert nicht lang
>
> Trotzdem müssen dazu 8 x 16 Milliarden Speicherzellen umgeschupst
> werden, ok bei MLC etws weniger, aber trotzdem... Kann mir nicht
> vorstellen daß das in 6 Sekunden erledigt ist?

Doch. Tatsächlich sind die 6 Sekunden ziemlich lang. Wobei das Löschen 
selber nur einen Teil der Zeit braucht. Danach muß ja noch ein neues FAT 
Filesystem auf der Karte angelegt werden.

Die schnelle Löschbarkeit ist das Kennzeichen von Flash-Speicher und 
ist auch der Grund für den Namen. U(?)L: Entwickelt wurde Flash für das 
US-Militär während des Kalten Krieges. Die Militärs brauchten für Cruise 
Missiles Speicher für Ziele und Bodenprofile. Sie wollten aber um jeden 
Preis vermeiden, daß diese Daten dem Gegner in die Hände fallen. 
Deswegen mußte der Speicher eine schnelle Möglichkeit zur 
Selbstzerstörung haben.

von Low Rider (Gast)


Lesenswert?

Ignaz schrieb:
> ich habe versehentlich meine Speicherkarte in der Kamera formatiert.

Ein Versehen ist eher unwahrscheinlich, denn dazu musst du dich erst bis 
zum entsprechenden Menüpunkt durchhangeln und dann noch Warnungen 
bestätigen.

von Urban (Gast)


Lesenswert?

Axel S. schrieb:

> Die schnelle Löschbarkeit ist das Kennzeichen von Flash-Speicher und
> ist auch der Grund für den Namen. U(?)L: Entwickelt wurde Flash für das
> US-Militär während des Kalten Krieges. Die Militärs brauchten für Cruise
> Missiles Speicher für Ziele und Bodenprofile. Sie wollten aber um jeden
> Preis vermeiden, daß diese Daten dem Gegner in die Hände fallen.
> Deswegen mußte der Speicher eine schnelle Möglichkeit zur
> Selbstzerstörung haben.

Bis du die Online-Märchentante?

https://de.wikipedia.org/wiki/Flash-Speicher

Auszug Wikipedia:

"Bezeichnung und Name

Die Bezeichnung Flash entstand gemäß einer Anekdote aus dem 
Entwicklungslabor von Toshiba 1984 so: Shoji Ariizumi, ein Mitarbeiter 
des Projektleiters Fujio Masuoka, fühlte sich durch den blockweise 
arbeitenden Löschvorgang des Speichers an einen Blitz (engl. flash) 
einer Fotokamera erinnert, weshalb er aus diesem Grund Flash als Namen 
vorschlug.[1]

Die Geschichte der Flash-Speicher ist eng verbunden mit der Geschichte 
der Digitalkamera. Das erste CompactFlash-Medium mit vier Megabyte 
Kapazität wurde 1994 von SanDisk vorgestellt. 1998 stellte Sony den 
ersten Memory Stick vor, diese wurden auch in älteren Versionen der 
Playstations verwendet."

von Ignaz (Gast)


Lesenswert?

@Low Rider:
Das Versehen entsteht in dem Moment wenn das Hirn sich dazu entscheidet 
die Karte zu löschen, in der versehentlichen Annahme die Freundin hätte 
die Daten schon gesichert, oder man verwechselt zwei identisch 
aussehende Karten, oder...
Die Bestätigungen im Menü sind dann kein großes Hindernis mehr :-)

@Kai:
Software Datenrettungstools für den PC dürften wohl hoffnungslos sein. 
Wie gesagt, mit dem Diskmonitor sehe ich dass in sämtlichen Sektoren nur 
noch Nuller stehen. Daraus wird keine Software was gewinnen können.

Ob ein professioneller Datenretter auf Hardware Ebene noch was machen 
kann wäre eine spannende Frage, denke aber das ist es mir nicht wert.

Naja, zumindest was gelernt dabei. Leider finden sich erstaunlich wenig 
Informationen zu dem Thema, auch wenn man gezielt nach Bulk Erase sucht. 
Schade dass dieses Löschkommando beim Betrieb als Massenspeicher nicht 
zugänglich ist. Sicheres Löschen innerhalb weniger Sekunden wäre 
eigentlich eine praktische Sache (wenn man es nicht versehentlich 
einsetzt, um bei dem Begriff zu bleiben).

Gruß Ignaz

von wackelkontakt (Gast)


Lesenswert?

Axel S. schrieb:

> Die Militärs brauchten für Cruise
> Missiles Speicher für Ziele und Bodenprofile.
> Deswegen mußte der Speicher eine schnelle Möglichkeit zur
> Selbstzerstörung haben.

Ja genau. :-))) Das ist natürlich für Militärs eine sehr schwierige 
Aufgabe, die Selbstzerstörung.
Was für Glück daß die übern Flashspeichr gestolpert sind, sonst gäbe es 
überall nur unzerstörbare Speicher... ROFL :-)))

City Cobra schrieb:
> wackelkontakt schrieb:
>> Kann mir nicht
>> vorstellen daß das in 6 Sekunden erledigt ist?
>
> Doch. Gibt es auch bei SPI-Flash nennt sich BULK-Erase.

Soso, BULK-Erase?? Das ist mir zu Doof! Auf diesem Niveau diskutiere ich 
nicht!

Axel S. schrieb:
> Doch. Tatsächlich sind die 6 Sekunden ziemlich lang. Wobei das Löschen
> selber nur einen Teil der Zeit braucht. Danach muß ja noch ein neues FAT
> Filesystem auf der Karte angelegt werden.

Das Löschen erfolgt blockweise. Ist dir die Blockgröße bei SD-Karten 
bekannt?
EinE neu FAT wenn schon, aber das ist sicher das kleinste Problem bei 
ner leeren Karte.

Ignaz schrieb:
> Leider finden sich erstaunlich wenig
> Informationen zu dem Thema, auch wenn man gezielt nach Bulk Erase sucht.

Ja, warum wohl??

Ignaz schrieb:
> mit dem Diskmonitor sehe ich dass in sämtlichen Sektoren nur
> noch Nuller stehen.

Das ist ein Argument! Selbst wenn die Nullen aus dem Controller und 
nicht aus dem Flash stammen dürfte es für externe Software schwierig 
sein da etwas zu machen.
Trotzdem (gibt ja nix zu verlieren) wiederhole ich meine Empfehlung von 
oben und bin dann hier raus.
wackelkontakt schrieb:
> TestDisk und PhotoRec

von Ignaz (Gast)


Lesenswert?

wackelkontakt schrieb:
> Trotzdem (gibt ja nix zu verlieren) wiederhole ich meine Empfehlung von
> oben und bin dann hier raus.
> wackelkontakt schrieb:
>> TestDisk und PhotoRec

Auch diese beiden Kandidaten habe ich u.a. versucht, mit diversen Deep 
Scan etc. Einstellungen. Nix.

von Ignaz (Gast)


Lesenswert?

wackelkontakt schrieb:
> Soso, BULK-Erase?? Das ist mir zu Doof! Auf diesem Niveau diskutiere ich
> nicht!

Naja, es scheint wohl tatsächlich Kommandos zu geben, die einen Bereich 
zwischen wählbarem Start- und Endsektor löschen:

https://forum.beck-ipc.com/viewtopic.php?f=6&t=15332

Mir war das jedenfalls neu.

von City Cobra (Gast)


Lesenswert?

wackelkontakt schrieb:
> Soso, BULK-Erase?? Das ist mir zu Doof! Auf diesem Niveau diskutiere ich
> nicht!

Da kannst Du drei Mal auf den Boden stampfen und sagen "Ich will aber, 
ich will aber". Entweder Du ließt Dir mal die Datenblätter durch oder du 
glaubst es einfach nicht. Ich frage mich auch, warum Du in einem 
Elektronikerforum fragen stellst und dann die korrekten Antworten 
ignorierst. Mein lieber Freund gibt doch einfach mal "Bulk erase flash 
memory" bei Google ein.

von City Cobra (Gast)


Lesenswert?

wackelkontakt schrieb:
> Die mit Abstand besten Ergebnisse bei versehentlich gelöschten
> Datenträgern habe ich mit TestDisk und PhotoRec erzielen können. Ist
> wirklich nicht so schlimm wie es zunächst ausschaut, einfach mal
> testen...

Kann es sein, dass Du für die Werbung machst? Oder sogar Mitarbeiter? Es 
ist schon suspekt, weil ein Bulk Erase natürlich der Killer für diese 
Geschäftsidee ist.

von Ignaz (Gast)


Lesenswert?

Moment, ICH war der Fragesteller, und ich glaube durchaus an den Bulk 
Erase. Das bestätigt ja letztendlich meine Vermutung aus meinem ersten 
Post.

wackelkontakt hat Hilfe in Form von kostenlosen Tools vorgeschlagen. Da 
würde ich keine Werbung unterstellen. Danke an alle die versucht haben 
zu helfen.

Gruß Ignaz

von wackelkontakt (Gast)


Lesenswert?

wackelkontakt schrieb:
> bin dann hier raus.

Nun muß ich doch noch mal:

City Cobra schrieb:
> Kann es sein, dass Du für die Werbung machst? Oder sogar Mitarbeiter?

Nein und nein. Zumal die Software einerseits kostenlos ist und 
andererseits von der Darreichungsform her überhaupt nicht darauf 
optimiert ist ein breites Publikum anzusprechen.

Ignaz schrieb:
> Naja, es scheint wohl tatsächlich Kommandos zu geben, die einen Bereich
> zwischen wählbarem Start- und Endsektor löschen:

Ja, ein Kommando an den Controller der Karte. Wie dieser das umsetzt und 
wie lange er dazu benötigt ist eine ganz andere Sache.

von City Cobra (Gast)


Lesenswert?

Ignaz schrieb:
> Moment, ICH war der Fragesteller, und ich glaube durchaus an den Bulk
> Erase. Das bestätigt ja letztendlich meine Vermutung aus meinem ersten
> Post.

Ja... zu wenig Kaffee heute... sorry

von City Cobra (Gast)


Lesenswert?

wackelkontakt schrieb:
> Ja, ein Kommando an den Controller der Karte. Wie dieser das umsetzt und
> wie lange er dazu benötigt ist eine ganz andere Sache.

Genau. Und davon hast Du überhaupt keine Ahnung.

von Mikro 7. (mikro77)


Lesenswert?

Das "Low Level Format"* in der Kamera wird wohl auf eines der folgenden 
SCSI Commands hinauslaufen: Erase, Unmap/Trim oder Sanitize 
(http://t10.org/lists/op-num.htm). Also alles Mechanismen zum "Löschen" 
(im Gegensatz zum Überschreiben). Unmap und Sanitize kann man bspw. bei 
Segate nachlesen: 
http://www.seagate.com/files/staticfiles/support/docs/manual/Interface%20manuals/100293068h.pdf

Unter Linux gibt es die praktischen SG3 Utilities: 
http://linuxfromscratch.org/blfs/view/svn/general/sg3_utils.html

* historischer Begriff, der heute quasi alles bedeuten kann

von Rechtschreibär (Gast)


Lesenswert?

wackelkontakt schrieb:
>> Danach muß ja noch ein neues
>> FAT Filesystem auf der Karte angelegt werden.

> EinE neu FAT wenn schon, aber das ist sicher das kleinste Problem bei
> ner leeren Karte.

Im Deutschunterricht besser mal das Smartphone weglegen und zuhören?

Wenn schon "EinE", dann auch neuE. Aber falsch, der von Dir beanstandete 
Satz passt, "ein" bezieht sich auf Filesystem, nicht auf FAT - also "ein 
neues Filesystem .."

von Jim M. (turboj)


Lesenswert?

Mikro 7. schrieb:
> Das "Low Level Format"* in der Kamera wird wohl auf eines der folgenden
> SCSI Commands hinauslaufen: Erase, Unmap/Trim oder Sanitize

So ein Schwachsinn, SD(HC,XC) Karten verwenden gar kein SCSI. Der OP 
benutzte eine Kamera, die spricht direkt SD Protokoll.

Die (Lösch-)Befehle stehen im öffentlich einsehbaren Teil der Spec für 
SD.
Das sind einfach 3 Stück:
 - erster Sektor zum Löschen auswählen
 - letzter Sektor zum Löschen auswählen
 - Löschvorgang starten

Danach dürften selbst professionelle Datenretter nur abwinken.

von batman (Gast)


Lesenswert?

Ausprobiern?!

von wackelkontakt (Gast)


Lesenswert?

Jim M. schrieb:
> So ein Schwachsinn, blabla...

Jim M. schrieb:
> Das sind einfach 3 Stück:
>  - erster Sektor zum Löschen auswählen
>  - letzter Sektor zum Löschen auswählen
>  - Löschvorgang starten

Das ist aber mit aktuellen Flash Chips bei 16Gbyte in 6 Sekunden 
unmöglich!

Oder kennt jemand einen so schnellen Chip ? Datenblatt?

> Danach dürften selbst professionelle Datenretter nur abwinken.

Glaube nicht, die Daten müssen noch im Flash vorhanden sein.

von batman (Gast)


Lesenswert?

Was wird dann wohl das Löschen (ERASE CMD38) eines Blockes bewirken?

von wackelkontakt (Gast)


Lesenswert?

batman schrieb:
> Was wird dann wohl das Löschen (ERASE CMD38) eines Blockes bewirken?

Bewirkt daß ein Speicherblock gelöscht wird! Das sagt doch schon der 
Name!:-)

Die Blockgröße ist Chipspezifisch, liegt aktuell irgendwo im Bereich 64 
Kbytes bis 4Mbytes.

Beispiel:
https://www.micron.com/~/media/documents/products/data-sheet/nand-flash/20-series/2gb_nand_m29b.pdf

Dieser Chip besitzt eine Blockgröße von gut 128Kbyte und eine Block 
erase time von typisch 2 / max 3 ms.

1 Mbyte löschen dauert dem zufolge mindestens 16 ms, 1 Gbyte löschen 16 
Sekunden.
In der Praxis vermutlich wesentlich länger, siehe Timingdiagramm.

Ein Chip Erase - was wohl dem hier gelegentlich sogenannten "BulkErase" 
entspricht, kenne ich nur bei älteren/wesentlich kleineren Chips die in 
SD-Karten nicht zum Einsatz kommen.

https://www.micron.com/~/media/documents/products/data-sheet/nor-flash/parallel/m29w/m29w160e.pdf

Dieser 16 Mbyte Chip besitzt "ChipErase" hat dabei laut Tabelle22 eine 
blitzartige Chip Erase Time von typisch 29, max. 60 Sekunden.

von Jim M. (turboj)


Lesenswert?

wackelkontakt schrieb:
> Jim M. schrieb:
>> Das sind einfach 3 Stück:
>>  - erster Sektor zum Löschen auswählen
>>  - letzter Sektor zum Löschen auswählen
>>  - Löschvorgang starten
>
> Das ist aber mit aktuellen Flash Chips bei 16Gbyte in 6 Sekunden
> unmöglich!
>
> Oder kennt jemand einen so schnellen Chip ? Datenblatt?

Wer sagt, das in der µSD Karte nicht mehr als ein Chip drin ist?
Da gehen bis zu 16 Stück rein, und die können durchaus parallel gelöscht 
werden.

Außerdem wird der OP die Zeit nicht mit der Stoppuhr gestoppt haben...

wackelkontakt schrieb:
> 1 Mbyte löschen dauert dem zufolge mindestens 16 ms, 1 Gbyte löschen 16
> Sekunden.

Die 8Gb sind schon mehr als ein Dice. Und die können dann auch parallel 
gelöscht werden - da sind wir bei 8 statt 6 Sekunden, also dicht dran.

von batman (Gast)


Lesenswert?

Ist der Block frecherweise doppelt so groß wie bei micron, sind wir bei 
4s.

von wackelkontakt (Gast)


Lesenswert?

Wie gesagt, es gibt sogar schon Chips mit 4 Mbyte Blockgröße. Aber von 
denen benötigt man keine 16 Stück für eine 16 Gbyte Karte.

Mich interessiert jetzt aber erstmal:

City Cobra schrieb:
> nennt sich BULK-Erase. Da werden alle
> Leitungen auf einmal Hochgezogen. Eben "Flash" und ja da steigt der
> Verbrauch kurz an und schlagartig sind Deine Urlaubsbilder dahin.

wo findet sich denn nun so etwas?

von Hans (Gast)


Lesenswert?

Also das hat mich jetzt interessiert...

es gibt ein "Device-system interface" für "normale" flash devices laut 
JESD68.01 das auf offset 22h den "Typical timeout for full chip erase" 
sowie den "Maximum timeout for chip erase" angibt.

Ein S70GL02GS (2gbit) sollte also in ca 8-65s fertig sein damit.
ein M29W800DB70N6T ist in 12-60s fertig (8mbit)
ein MX66L2G45G (2gbit) braucht ca 180s

Für mich scheinen damit 6s für eine karte als denkbar wenn auch sehr 
wenig...

aber weil du bei 16gb mehrere chips/flash blöcke im verbund haben wirst 
möglich

73

von batman (Gast)


Lesenswert?

Die Karte des TE beweist es ja eigentlich schon.

von Soul E. (Gast)


Lesenswert?

Die Karte darf sich als ready melden, sobald sie in der Lage ist den 
nächsten Befehl entgegenzunehmen. Das ist üblicherweise der 
Schreibzugriff, mit dem die Kamera das FAT32-Dateisystem anlegt. Ob da 
im Hintergrund noch ein bulk erase vor sich hinrattert interessiert 
keinen.

Der Controller in einer SD- oder CF-Karte oder in einer SATA-SSD kann 
durchaus mehrere Tasks gleichzeitig verwalten.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.