Wo befindet sich die Wear-Leveling-Logik der SD-Karte?

Wo befindet sich die Wear-Leveling-Logik der SD-Karte?

Meines Wissens verfügen Speichergeräte wie SD-Karten über eine Wear-Leveling-Logik, um die Lebensdauer der Karte bei so vielen Schreibvorgängen zu verlängern.

Was mich verwirrt ist, ist die Frage, wo sich diese Logik oder dieser Algorithmus befindet, um dies zu steuern. Befindet er sich auf der Karte selbst oder im Dateisystemtreiber (beispielsweise für Linux) eines Computers, der auf die Karte schreibt?

Antwort1

Möglicherweise ist mehr als eine Wear-Leveling-Ebene beteiligt (und möglicherweise auch keine):

  • Der Flash-Controller auf der SD-KarteMaihaben eine Implementierung in ihrer Firmware. Nicht alle haben eine, vor allem frühe SD-Karten hatten meist keine Implementierung: Zu dieser Zeit war der Prozess so viel größer und die Schreibgeschwindigkeit so viel niedriger als heute, dass der Flash-Verschleiß kein so großes Problem darstellte.
  • Das Dateisystem auf der Karte kann es enthalten: Da die ersten SD-Karten kein Wear Leveling hatten, wurde viel Aufwand betrieben, es auf einer höheren Ebene einzuführen. Dies erwies sich als Sackgasse, da die Kompatibilität mit verschiedenen Betriebssystemen darunter litt und es fast nur noch ein Linux-spezifisches Feature war.

Auch heute noch gibt es möglicherweise SD-Karten ohne jegliche Verschleißnivellierung – bei vielen Billigangeboten wird einfach akzeptiert, dass eine Kamera nicht in der Lage ist, tausende Male auf dieselbe Karte zu schreiben.

verwandte Informationen