Speicherzelle direkt auswählen

Diablokiller999

Enthusiast
Thread Starter
Mitglied seit
09.01.2004
Beiträge
2.053
Hi Leute!
Ich möchte in einem Projekt heraus finden, wie lang Speicherzellen einer SD Karte im Durchschnitt halten, bis sie zerstört sind. Jedoch wird mir der Controller bei einem direkten ansprechen einer Speicherzelle / eines Speicherblocks wahrscheinlich dazwischen funken. Wie misst man die MTTF / MTBF einer SD Karte am besten?:hmm:
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Testen von Computersystemen, Studienfach an meiner Universität. Will zusammen mit TestStand und / oder LabView und unterschiedlichen Temperaturen die Lebensdauer von Speicherzellen / Blöcken ermitteln, nur fällt mir gerade nichts ein wie ich sicher stelle, das immer die gleichen Blöcke angesprochen werden um so einen anständigen Wert auslesen zu können. Ich könnte natürlich auch einfach eine 128MB Karte mit einem Arduino befüllen bis ein Lesefehler kommt, aber das wäre etwas einfach wie ich finde...
 
Naja, wie du den Controller hacken könntest um die zu beschreibenden Zellen aus zu wählen kann ich dir auch nicht sagen...

Aber vlt finden sich eval-boards mit denen du einen Cotroller emulieren könntest? Das wäre optimal.

Vlt. aber auch nicht! Die MTBF bezieht sich doch immer auf das Produkt (=SD-Karte) und nicht Bestandteile(=Zellen/Blöcke).
Also wäre ein dauerhaftes beschreiben-auslesen-vergleichen mit ausreichend großer Stückzahl eigentlich das vernünftigste.
 
Ihm geht es ja um die Speicherzellen und nicht um das restliche 'drumrum'. Daher macht es schon sinn die Zellen 'manuell' zu beschreiben bzw. am Controller vorbei.
Idr machen doch eh die Controller die Graetsche und der Speicher an sich ist noch fit.

Wie man die Controller allerdings manipuliert / umgeht kann ich dir nich sagen :/

Grueße
 
Die MTBF ist ein theoretisch errechneter Wert der sich auf zumeist auch nur angenommenen Ausfallraten der einzelnen Komponenten bezieht, nur für einen bestimmten Zeitraum und unter sehr genau definierten Nutzungs- und Umgebungsbedingungen gültig ist. Ohne diese zu kennen, ist die reine Angabe einer Zahl dann pures Marketing.

Schau Dir z.B. die Ausfallraten der OCZ Petrol von z.B. 40% bei der 64GB Version an die über einen Zeitraum von im wesentlichen 6 bis 12 Monaten Nutzung aufgetreten sind und vergleiche diese dann mit der Angabe von 1.2 Millionen Stunden (das Datenblatt hat OCZ wohl schon entfernt und die alten SATA 2 SSD alle zu den ausgelaufenen Produkten verschoben), wenn Du sehen willst, wie wenig realistisch die Angaben der MTBF sind!

Zu Deinem Problem: So kannst Du Du allenfalls die Zahl der möglichen P/E Zyklen testen, wirst aber dauerhaft die ganze Kapazität beschreiben müssen, denn ein Zugriff auf einzelne Zellen ist unmöglich, wenn Controller davor hängt. Der macht, wenn er nur ein bischen taugt, Wear-Leveling und mappt daher die Flash Adresse immer wieder auf anderen nach außen ansprechbare Adressen.
 
Sicher, dass die Controller zu erst in die Knie gehen?
Kann ich mir eigentlich nicht vorstellen...
Wird mir wohl nix anderes übrig bleiben als eine 128MB Karte immer und immer wieder zu befüllen, zu lesen, zu löschen und CRC zu vergleichen wie es aussieht. Das macht die Sache dann aber relativ einfach...
 
Ihm geht es ja um die Speicherzellen und nicht um das restliche 'drumrum'.
Das kann man aber ncht trennen, denn die Lebensdauer (Zyklenfestigkeit) der Zellen hängt auch davon ab, wie genau die Zellen beschrieben und gelöscht werden, also wie genau Spannungen und Timmings der Vorgänge eingehalten werden und das macht halt der Controller. Betrachtet man also nur die Zellen, dann hat das mit dem Gesamtprodukt nicht mehr zu tun. Obendrein ist es wenig aussagekräftig eine einzelne SD Karte zu testen, da bei SD Karte und USB-Sticks i.d.R. auch minderwertige NANDs verbaut werden, die eben sehr unterschiedliche Haltbarkeiten aufweisen können.

Daher macht es schon sinn die Zellen 'manuell' zu beschreiben bzw. am Controller vorbei.
Wenn man nur die Lebensdauer der Zellen vergleichen will ja, aber dann braucht man deren genau Spezifikationen und einen aufwendigen Versuchsaufbau der es ermöglicht diese bei der Ansteuerung auch einzuhalten.
Idr machen doch eh die Controller die Graetsche und der Speicher an sich ist noch fit.
Das ist ja auch unsinn, die Controller gehen sogar extrem selten kaputt. Was aber oft kaputt geht, sind die Daten die der Controller braucht und die im NAND stehen. Das siehst Du auch in in den Releasenotes der 2.0er FW der OCZ Vector:
Improvements since version 1.03.1

* Fixed a corner case issue with firmware corruption after unexpected sudden power loss scenarios, which caused drives to no longer be recognized.
* Improved SATA timings, which addresses intermittent detection issues on some platforms.
* ...
Neben der FW die eben offenbar nicht bei allen SSDs an einer fest Adresse im NANDs seht sondern intern ebenfalls verschoben wird und somit das gleiche Ausfallrisiko bei einem plötzlichen Stromausfall hat wie alle anderen Daten, sind die Daten des Mappings von LBAs auf Flashadressen am sensibelsten und wenn diese nicht mehr stimmen, funktionieren die SSDs i.d.R. auch nicht mehr (SF Panik-Lock, Intel 8MB Bug).
 
Ooch, jetzt verschwinden Beiträge...Ich hab' den aber schon im Archiv - soll ich noch mal...
 
In diesem Zusammenhang lesenswert:
SSD Write Endurance 25nm Vs 34nm


Du musst genaugenommen sogar Read-Modify-Write machen, dann die Speicherkarte liegen lassen, dann Lesen und Testen.
Nur so bekommst du raus, ob die Karte noch ok ist. Lesen und schreiben kann man (fast) immer.
Die Bits im Chip kippen aber irgendwann immer schneller.

Ein reiner Lese/Schreibtest reicht also nicht ;)

@Bernd

Jetzt moser nicht, es wird seine Gründe haben, warum dein Beitrag "abhanden" gekommen ist...
 
Da bin ich überfragt, sorry.

In diesem Fall hier sollte ein Tool zum Einsatz kommen das Daten wiederholt schreibt. Dann muss die Karte entfernt und liegen gelassen werden.
Nach eine Zeitspanne X (zB 4 Wochen) Wird die Karte eingelesen und auf Fehler / gekippte Bits getestet.

Nur so findet man heraus ob die Speicherkarte noch vernünftig läuft, da sie sich irgendwann zwar noch beschreiben lassen wird, die Daten jedoch nicht mehr allzu lange halten kann.

Ob H2testw das kann wäre dann zu prüfen. Eigentlich tuts aber auch eine einfache Batchdatei + ein Tool zum vergleichen.
Direkten Zugriff auf die Speicherzellen wird man so oder so nicht erhalten.
 
Macht H2testw von c't nicht das Gleiche?
Auch wenn es jetzt kleinlich klingt, aber h2testw macht einen Schreib- Lesetest und keinen Lese/Schreibtest. Der Unterschied ist gering, aber nicht ganz unwichtig.

Aber davon abgesehen hast Du recht, h2testw ist dafür ein gutes Tool und genau für diesen Zweck programmiert (und nicht um als Benchmark zu dienen).
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh