Forum: Mikrocontroller und Digitale Elektronik ECC auf SLC NAND Flash


von Knut E. (knulli)


Lesenswert?

Ich pack's mal in diese Kategorie hier, weil es Memory nicht extra 
gibt...

Ich hab nen Micron SLC NAND Flash MT29F8G08ADBDAH4.

Der Chip hat eine interne ECC, die man ein/aussschalten kann.
Erste Versuche zeigten, dass ohne ECC gelegentlich Bitfehler auftreten.
Mit Einschalten sind die allerdings mehr geworden.

Status 0x70 liefert beim Lesen + Schreiben immer = 0 (alles OK). Ich 
vermute also, dass schon beim Reinschreiben Murks passiert.

Um das zu bestätigen, wollte ich herausfinden, ob die berechneten 
Korrekturdaten (64 Byte Spare Area) zu den fehlerhaften Nutzdaten (2048 
Byte Page-Daten) passen.

Weiß jemand, wie die interne ECC funktioniert? Die veröffentlichten 
Beispiele von Micron sind alle nur 1-Bit Correction. Intern wird aber 
eine 4-Bit Correction verwendet.

Wer kann weiterhelfen?

Knulli

von oszi40 (Gast)


Lesenswert?

Knut E. schrieb:
> Mit Einschalten sind die allerdings mehr geworden.

Unsicherer Speicher ist immer großer Mist, da die daraus folgenden 
Fehler sehr verschieden sein können. Ohne jetzt Deinen Speicher 
persönlich zu kennen, würde ich erst mal überlegen ob der Takt evtl. zu 
hoch ist und die Signale sauber genug ankommen.

von Knut E. (knulli)


Lesenswert?

oszi40 schrieb:
> Ohne jetzt Deinen Speicher persönlich zu kennen...

Da isser...
http://www.micron.com/parts/nand-flash/mass-storage/mt29f8g08adbdah4

µC läuft mit 8 MHz, kann max. bzw. min. auf 125 ns Impulse.
Der Speicher braucht idR. so 10 ns breite Impulse, sollte also nicht 
überfordert sein. Waitstates haben denzufolge nix gebracht.

Ich wollte halt erstmal sehen, ob Daten und Korrekturbytes 
zusammenpassen und ob ich mit C++ auf die selben Korrekturdaten komme 
wie Silizium.

Knulli

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.