Forum: Mikrocontroller und Digitale Elektronik Hardwarefrage zu SD Karten


von Maze (Gast)


Lesenswert?

Guten Tag,

ich habe eine Frage zu SD Karten und Flashspeicher im Algemeinen.

Leider findet man im Internet nur Datenblätter der Flashbausteine aber 
nicht von Controllern die die Flashbausteine ansprechen.

Muss ein solcher Controller einer SD Karte Programmiert werden oder ist 
der Hardwaremässig einfach zu ersetzen bei einem Defekt.

von Falk B. (falk)


Lesenswert?

@  Maze (Gast)

>Muss ein solcher Controller einer SD Karte Programmiert

Kann sein, muss nicht.

>werden oder ist der Hardwaremässig einfach zu ersetzen bei einem Defekt.

Ist dein USB-Stick defekt und willst du jetzt die Daten retten?

von Maze (Gast)


Lesenswert?

> Ist dein USB-Stick defekt und willst du jetzt die Daten retten?

Defekt schon aber nicht wichtiges oder Grund für die Frage.
Mich Interessiert das Thema.

> Kann sein, muss nicht.

Ich gehendavon aus das du es auch nicht genau weisst oder?

Kann man also Theoretisch nicht einfach den Flashspeicher mit einem 
grösseren Ersetzen (immer Baugleich).

Von wo wird die Grösse eines Stick oder USB Stick ermittelt.
(Beim Anschluss beim Computer)
Vom Controller aus (Abspeicherung der Grösse des Flash´s?)oder
direkt vom Flash(Grösse vom Flash ermitteln?).

von hmmmm (Gast)


Lesenswert?

normalerweise gibt der Controller das vor (ich erinnere an die Fälle mit 
Sticks die kleinere Speicher hatten als sie nach außen behaupteten), 
aber exotische Ausnahmen kann ich natürlich nicht ausschließen (auch 
wenn das seltsam wäre, da der Flashchip ja dann irgendwie seine Größe 
mitteilen können müsste)

von Εrnst B. (ernst)


Lesenswert?

Das Problem ist: In den SD-Card-Controllern stecken die 
Wear-Leveling-Alogrithmen, und die werden von den Herstellern ähnlich 
geheimgehalten wie das Coca-Cola-Rezept.
Deswegen gibts da kaum Datenblätter, und ob die Controller 
Programmierbar sind oder nicht, darüber kann man höchstens mutmaßen. 
(Hat schonmal jemand ein Firmwareupdate für eine SD-Card gesehen?)

Was deine Fragen betrifft: Die zielen auf das Protokoll hinter dem 
Controller (also zwischen CardReader und Controller, nicht zwischen 
Controller und Flash). Der Teil ist sauber dokumentiert, wenn auch zum 
Teil nur per NDA erhältlich.

von Maze (Gast)


Lesenswert?

Danke für die Antworten.
Ich kann also davon ausgehen das man nich einfach einen Flashspeicher 
von einer SD Karten in einem USB Stick einbauen kann. (Nur zum 
Verständnis)
Gibt es eigentlich sonst noch eine Möglichkeit einen Flashspeicher 
anzusprechen oder auszulesen?
Auf einfacher weisen nicht mit einem Flashreader für mehrere Tausend 
Euro.
Oder kann man einen Flashspeicher direkt mit einem Atmega ansprechen?
Direkt den Flash nicht eine SD Karte.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Maze schrieb:
> Oder kann man einen Flashspeicher direkt mit einem Atmega ansprechen?

Kann man, man braucht nur ein Datenblatt des Speicherbausteins (und das 
Verständnis dessen, was darin steht).

Damit aber kann man die darin enthaltenen Daten nicht unbedingt 
rekonstruieren -- das liegt an den "wear-leveling"-Algorithmen des 
Controllers, die die Daten in gewissen Blöckgrößen wild über den 
Adressraum des Speichers verteilen. Und wenn man die Zuordnung von nach 
außen "sichtbarer" Speicheradresse zu realer Speicheradresse nicht 
kennt, dann ist das Rätselraten.

von Maze (Gast)


Lesenswert?

Danke für die Antword.
Der "wear-leveling"-Algorithmus" hat der die Aufgabe das nicht immer die 
gleichen Speicherzellen des Flash beschrieben werden oder? Weil die 
lebensdauer eines Flashspeichers ist ja auf Lese und Schreibzyklen 
begrenzt?

Ihr wisst nicht zufällig ein tutorial bzw. ein threat wo jemand schon 
mal einen Flash Baustein mit einem Atmega8 direkt angesprochen hat oder?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Maze schrieb:
> Der "wear-leveling"-Algorithmus" hat der die Aufgabe das nicht immer die
> gleichen Speicherzellen des Flash beschrieben werden oder?

Exakt.

> Weil die lebensdauer eines Flashspeichers ist ja auf Lese
> und Schreibzyklen begrenzt?

Nicht ganz, die Lesezyklen sind unbegrenzt, die Schreibzyklen aber 
nicht.

> Ihr wisst nicht zufällig ein tutorial bzw. ein threat

Nein, weder Tutorial noch Bedrohung. Besorg Dir einfach mal das 
Datenblatt des Bausteines, den Du da auslesen willst und sieh Dir das 
an, was da drin steht.

Das Grundkonzept ist sich oft recht ähnlich; früher gab es auch 
Speicherkarten, die ohne Controller auskamen, das waren SmartMedia- bzw. 
xD-Karten. Beispiele, wie die anzusteuern sind, sind im Netz zu finden, 
und die müssten an die Gegebenheiten des von Dir genutzten Bausteines 
angepasst werden.

Aber: Das ist nicht erfolgversprechend, wenn Du Daten rekonstruieren 
willst, da die Daten sehr wild zerhackstückt über den Adressraum des 
Speichers verteilt sind (anders als bei o.g. controller- und daher auch 
"wear-leveling"-losen Karten).

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.