Hallo,
Wenn ich während des Schreibens auf eine SD-Karte die Stromversorgung
abschalte, kann es sein, daß die Karte unwiederbringlich zerstört wird?
Ich habe den Verdacht, daß ich 2 SD-Karten damit kaputt gemacht habe.
Sie lassen sich zwar formatieren, aber Dateien enthalten Lücken, so als
wäre der interne Flash-Controller defekt.
Ich habe es schon mal geschafft einen Block
unfreiwillig mit Schreibschutz zu versehen.
Da wurde beim schreiben wohl ein Befehl falsch erkannt.
Hat wohl an dem ungünstigen Aufbau gelegen.
Sowas könnte beim abschalten während des schreibens
möglicherweise auch passieren.
vielleicht ist da auch ein ziemlich intelligenter flash-controller drin
der selbst blöcke umorganisiert, das ist jetzt durcheinandergekommen
passiert auch gern mal bei USB-Sticks die einfach abgezogen werden...
>Ist ein Schreibschutz bei "normalen" SD-Cards überhaupt möglich?
CMD28 SET_WRITE_PROTECT
Der Befehl ist allerdings optional, also die Karte
muß ihn nicht unterstützen. Meine SanDisk 128MB kannte
den wohl ;) Nach bombardieren der Karte mit:
CMD29 CLR_WRITE_PROTECT
lief sie wieder.
>Die Karten sind von SanDisk. Kann es sein, daß beim Ausschalten>versehentlich einzelne Sektoren "write-protected" werden?
Wenn es HighCapacity Karten sind kannst du das ausschließen.
Die unterstützen CMD28 nicht.
CMD28 ac [31:0] data
address2
R1b SET_WRITE_PROT If the card has write protection features,
this command sets the write protection
bit of the addressed group. The
properties of write protection are coded
in the card specific data
(WP_GRP_SIZE).
A High Capacity SD Memory Card does
not support this command.
> Wenn es HighCapacity Karten sind kannst du das ausschließen.> Die unterstützen CMD28 nicht.
Naja, es sind beides 2GB Karten. Sind das HighCapacity Karten? Schon
seltsam das ganze. Ich werde mal versuchen sie mit CMD29 wieder zum
Leben zu erwecken.
Kennt jemand eine Software für PC, mit der man SD-Karten ausgiebig
testen kann (also auch SD-Kommandos abschicken kann)?
So, jetzt hab ich mal was versucht:
1. Protection-bits ausgelesen mit CMD30, alle Sektoren, alle 32 Bits
waren 0
2. Trotzdem mit CMD29 alles "unprotected", dabei einen Zähler von
0...2^32 durchlaufen lassen (Mir war nicht ganz klar, wieso man Bytes
angeben muss, aber so sollte ich alles bei einer 2GB-Karte erwischt
haben).
3. Dann mit CMD32,33,38 alle Sektoren gelöscht.
Keins der Kommandos gab einen Fehlercode zurück, daher nehme ich an, daß
alles erfolgreich war).
Der PC hat die Karte dann als unformatiert erkannt (Löschen der Sektoren
hat scheinbar geklappt), Karte formatiert und mein 300MB Testfile
draufgeladen. Der PC hat sich beim Kopieren nicht beschwert.
Testfile mit einem Hexeditor geöfnet und - oh schreck - mitten in der
Datei befanden sich alte Inhalte, die eigentlich, durch den
erase-Vorgang nicht mehr existieren sollten.
Wie kann das sein??
Ich werde jetzt noch mal versuchen, die Karte zu erasen und auf dem PC
sektorweise auslesen. Dann sollte ja überall 0xff zu lesen sein.
OK, gelöschte Sektoren erscheinen als nullen.
Die Sektoren 4096...82669 sind bei mir nicht beschreibbar, lassen sich
nicht löschen und es erscheinen immer wieder die alten Daten. Sehr
seltsam das alles...
Mittlerweile sind es drei Karten, die ich zerschossen habe. Alle SanDisk
2GB. Ich habe scheinbar den absoluten SD-Karten Killer gebaut.
> Evtl eine gefälschte SK-Karte, die mehr Kapazität vorgibt als sie hat
Von einem Markenhersteller wie Sandisk? Vor allem gingen die Karten mal.
Was ist da nur los? Sehr verdächtig ist z.b. auch, daß Windows nicht im
geringsten meckert beim Schreiben, aber trotzdem können die Sektoren
definitiv nicht verändert werden.
Ich suche immer noch verzeifelt nach einem brauchbaren SD-Karten
Test-Tool. Weiss jemand von euch was?
Danke für die Links, ich schaue sie mir gleich an...
>Sehr verdächtig ist z.b. auch, daß Windows nicht im>geringsten meckert beim Schreiben, aber trotzdem können die Sektoren>definitiv nicht verändert werden.
Das hatte ich bei meiner Karte auch. Den Fehler
hab ich nur durch Dateivergleich von HD gegen SD gefunden.
Peter schrieb:
> Von einem Markenhersteller wie Sandisk?
Die Markenhersteller bauen ja keine gefälschten Teile, sondern
irgendeine fremde Firma bedruckt die mit dem Markennamen.
Halte ich hier aber auch für unwahrscheinlich.
> Was ist da nur los? Sehr verdächtig ist z.b. auch, daß Windows nicht im> geringsten meckert beim Schreiben, aber trotzdem können die Sektoren> definitiv nicht verändert werden.
Das klingt danach als wenn nicht bei dem SD Controller der Schreibschutz
aktiv wäre, sondern bei dem Flashspeicher selbst.
> Ich suche immer noch verzeifelt nach einem brauchbaren SD-Karten> Test-Tool. Weiss jemand von euch was?
Allgemein wird es da nix geben, denn der PC sieht nicht viel von der SD
Karte. All die Kommunikation mit der SD Karte macht der µC im
Kartenleser. Der PC hat nur Zugriff auf die Sektoren usw.
Falls es sowas gibt, dann beim Hersteller des Kartenlesers.
> Das klingt danach als wenn nicht bei dem SD Controller der Schreibschutz> aktiv wäre, sondern bei dem Flashspeicher selbst.
Aber wäre es dann nicht so, daß ich wenigstens noch einzelne Bits ändern
könnte? Und warum sind so viele Sektoren in Folge betroffen, danach und
davor ist aber alle in Ordnung?
Gibt es eigentlich noch andere Möglichkeiten, Sektoren zu sperren, als
das bereits erwähnte CMD28?
> Das hatte ich bei meiner Karte auch. Den Fehler> hab ich nur durch Dateivergleich von HD gegen SD gefunden.
Welche Karte was das (Kapazität, Hersteller)?
Und weißt Du auch noch, wodurch das passiert ist?
Peter schrieb:
> Aber wäre es dann nicht so, daß ich wenigstens noch einzelne Bits ändern> könnte?
Nein, Schreibschutz heißt Schreibschutz. In dem Bereich geht dann
garnichts mehr.
> Und warum sind so viele Sektoren in Folge betroffen, danach und> davor ist aber alle in Ordnung?
Weil der Schreibschutz meist für eine komplette Page oder einen Block in
dem Flash gilt. Je nach Flash sind das ein paar kByte bis mehrere MByte.
>> Das hatte ich bei meiner Karte auch. Den Fehler>> hab ich nur durch Dateivergleich von HD gegen SD gefunden.>Welche Karte was das (Kapazität, Hersteller)?>Und weißt Du auch noch, wodurch das passiert ist?
Hab ich doch oben schon gesagt:
Beitrag "Re: SD card physikalisch zerstören durch power-off?"
SanDisk 128 MB. Schuld war mein grottiger Aufbau.
Windows schreibt seltsamerweise eine Datei
über die gesperrten Blöcke hinweg auf die
Karte ohne zu meckern.
> Nein, Schreibschutz heißt Schreibschutz. In dem Bereich geht dann> garnichts mehr.
Das ist klar, ich hatte Dich mißverstanden.
> Weil der Schreibschutz meist für eine komplette Page oder einen Block in> dem Flash gilt. Je nach Flash sind das ein paar kByte bis mehrere MByte.
Und diesen Schreibschutz kann man versehentlich aktivieren? Gibt es denn
eine Möglichkeit ihn wieder aufzuheben? Vielleicht gibt es sowas wie
einen totalen Reset der Karte. Ich muß mir wohl mal das User Manual von
Sandisk für diesen Kartentyp runterladen, vielleicht steht da was
drin...
> Hab ich doch oben schon gesagt:> Beitrag "SD card physikalisch zerstören durch power-off?"
Ach, stimmt ja, Du warst das. Bei dir war's ein Hardware-Problem? Das
könnte bei mir auch der Fall sein. Ich habe noch zwei andere Komponenten
am gleichen SPI-Bus.
So, weitere Tests haben weitere Karten zerstört
Bis jetzt Kaputt:
- 6 * SanDisk 2GB
Nicht zu killen sind:
- SanDisk Primier (Micro-SD) 1GB
- Eine SanDisk 2GB (Die stammt offensichtlich aus einer anderen
Serie??!)
- Transcend 2GB
Noch zu testen:
- Transcend 1GB
- SanDisk 4GB
Irgendwie beschleicht mich das Gefühl, daß es sich bei den kaputten
Karten doch um Fälschungen minderer Qualität handelt.
> Hast du eigentlich die Karten vor dem Zerstören mal komplett im PC> getestet, ob die vorher komplett beschreibbar waren?
Leider nicht. Das hätte ich mal tun sollen. Vielleicht waren sie vorher
schon angeschlagen. Manchmal ist es vielleicht gar nicht so gut, wenn
man zuerst bei sich selbst nach dem Fehler sucht. :-(
>Von Panasonic gibt es einen SD-Formatter, vielleicht kann der die Karten>retten.
Nö. Kann er nicht. Habe ich auch schon probiert. Der SD-Formatter kann
nur "heile" Karten ordnungsgemäß formatieren. Nicht mehr und nicht
weniger. Ich hatte vor einiger Zeit in meinem SD-Karten-Recorder, meinem
PC und einer DigiCam ein Karten-Massensterben. Es waren 3 CN-Memory und
2 Platinum-Karten. Ursache unbekannt.
So, eine neue Erkenntnis:
Die Karten gehen nur kaputt, wenn sie vorher nicht am PC waren. Der
PC-Kartenleser greift im MMC-Modus auf die Karten zu. Möglicherweise
passiert dabei irgendeine Art von Initialisierung, die die Karten erst
betriebsbereit macht. Jedenfalls ist es mir nicht geglückt, eine
SandDisk 2GB zu zerstören, auf die der PC voher eine Datei geschrieben
hat.
Das ist immer noch alles sehr seltsam...
Hallo,
ich habe hier auch 2GB karten von Sandisk.
habe leider schon 2 vermeintlich zerstört.
hast du schonmal das getestet:
[comment]
Force Erase
In case the user forgets the password (the PWD content) it is possible
to erase all card data content along with the PWD content. This
operation is called Forced Erase.
1. Select a card (CMD7), if not previously selected.
2. Define the block length (CMD16) to 1 byte (8-bit card lock/unlock
command).
Send the Card Lock/Unlock command with the appropriate data block of one
byte on the data line including 16-bit CRC. The data block will indicate
the mode ERASE (the ERASE bit will be the only bit set).
If the erase bit is not the only bit in the data field, the
LOCK_UNLOCK_FAILED error bit will be set in the Status Register and the
erase request is rejected. If the command was accepted, all card content
is erased including the PWD and PWD_LEN Register content
and the locked card will get unlocked.
An attempt to force erase on an unlocked card will fail and the
LOCK_UNLOCK_FAILED
error bit will be set in the Status Register.
[/comment]
Bin mir nicht sicher wie das gehene soll.
gruß
Nichts ist unmöglich.
Mir ist es z.B. gelungen, die nicht veränderbaren
(write protected) Daten des Kartenherstellers
zu überschreiben. Keine Ahnung wie. Die Flash-
Karte liegt als abschreckendes Beispiel noch hier.
War eine 256 MB von Kingston.
Mal als Denkanstoß.
Ich habe hier zufällig eine defekte SD-Karte 128MB.
Der Besitzer hat diese irgendwie so zerknickt, dass sich das Gehäuse
geöffnet hat. Angeblich sei diese von selber aufgegangen 8-|
Eingebaut ist ein Flash-Speicher Toshiba TC58DVG02A1TGIO
Datenblatt:
http://www.digchip.com/datasheets/download_datasheet.php?id=955311&part-number=TC58DVG02A1FT00
Habe ich mir noch nicht angesehen, aber vielleicht steht hier etwas
hilfreiches drin.
Weiterhin noch der Controller: MNBC69CKA1 Hersteller unbekannt "Japan".
Moin
SunDisk ist was SD Card angeht meines wissens markt führer, es ist eher
umgekehrt, da wo nicht sundisk draufsteht, könnte sundisk drinn sein.
kann man ggf an der herstellerkennung auf dem Chip erkennen. sollte sich
irgendwie auslesen lassen.
und über das passwort Proteckt commando kann man nur die ganze karte vor
zugriff sperren. da geht dan mit sektor read solange nichts, bis das
passwort übertragen wurde.
Hallo,
inzwischen sind schon 3 Karten defekt.
Ich bin mir nicht sicher ob ich die Karten ohne Dateisystem nutzen darf?
Weiß dazu jemand näheres?
Die Fehlersuche gestaltet sich echt schwierig,
da die Karte auf einmal das "Schreiben" einstellt.
Gruß
...autsch, wie sieht denn Deine HW-Anbindung, speziell die 3,3V
Spannungsversorgung aus ???
Solltest Du mal ohne Karte mit dem Scope anschauen und dann Karte
stecken und das ansehen.
Desgleichen CLK, Serial-In, *CS beim Pon und Poff, nicht das da was
rumzappelt.
gruss, tom.
tom schrieb:
> ...autsch, wie sieht denn Deine HW-Anbindung, speziell die 3,3V> Spannungsversorgung aus ???
Die 3V3 werden mit einem Buck-Spannungsregler der bis 1A kann erzeugt.
Von 9V-36V macht der ST Chip 3V3, die sind aber relativ sauber,
Mit dem Oszi werde ich nachher mal schauen.
Die SD-Karte ist in einem Slot von Hirose und der PIC sowie die
Verbindung des PIC zu SD-Karte ist auf einer gefertigten Leiterplatte
mit ziemlich kurzen Leiterbahnen.
Dass die Karten von minderer Qualität sind, bezweifle ich. Das klingt
mir eher nach der Firmware. Evtl. ein Zahlendreher beim Berechnen der
Sektoren?
Gruß RalfH
Wie formatierst du die Karten am PC? Die Schnellformatierung macht
nämlich nichts anderes, als einfach die FAT selber zu löschen; bei einer
vollständigen Formatierung hingegen wird der gesamte Speicher
überschrieben (und es wird m.W. auch geprüft, ob der korrekte Wert
geschrieben wurde!).
Hallo,
ich nutze HxD.
Mit HxD beschreibe ich die Karten komplett mit 00.
Allerdings muss das in mehreren kleineren Schritte gemacht werden,
alle Sektoren auswählen bringt eine Arbeitsspeicher zu gering Meldung
Gruß
?? 0xFF ((
Wieso,
es ist egal mit welchen Werte ich die Karte beschreibe.
Es ändert sich nur temporär etwas, nach dem erneuten Laden (F5)
ist wieder der alte Inhalt da, dieser ist auch an manchen Stellen !=
0x00
Gruß
Auch wenn es rühmlich ist mehr als ein halbes Jahr Geduld zu üben bevor
man das Thema wieder hervorholt, mach doch (wenn das Problem weiterhin
besteht) lieber einen seperaten Thread auf mit einer genauen
Fehlerbeschreibung.