Fragen zur Fehler-Korrektur für Flash-Chips

06/07/2008 - 15:32 von Erik | Report spam
Hallo NG,


ich hab mal ein paar Fragen zur Fehlerkorrektur und dem Bad-Sektor-Managment von NAND-Flash-Chips:


Wo wird das eigentlich erledigt?
Im NAND-Flash selber oder in einem zusàtzlichen Controller?

In den Datenblàttern zu den NAND-Flashs von Samsung und Hynix stehen nur ein paar Anmerkungen zur Defekt-Sektor-Erkennung daher war meine bisherige Annahme das die Fehlerkorektur und das Bad-Sektor-Managment in zusàtzlichen Controllern steckt.

Jetzt ist mir eine àltere c't (Heft 21 vom 01.10.2007) in die Hànde gefallen und dort steht auf Seite 104 (im gelben Kasten "Lebenserwartung von Flash-Speicher")
| "Hynix implementiert TrueFFS mittlerweile direkt in den Flash-Chips."
Das hat mein Weltbild etwas angeknaxt. Nach etwas Recherche im Netz bin ich eigentlich wieder der Meinung das im Flach-Chip selber nur der Speicher und keine Intelligenz steckt aber ganz sicher bin ich mir da nicht.

Der Grund für meine Fragen ist der das ich vor habe einen solchen NAND-Flash-Chip direkt (über einen FPGA in den Adressraum eingeblendet) an einen Controller anzubinden damit dieser sich vom Flash seine Firmware holen kann. NOR-Flash-Chips sind dafür zu klein und zu teuer, Ein bis Zwei GByte Daten will ich darin nicht unterbringen müssen. Wenn das Bad-Sektor-Managment aber nicht im Flash-Chip steckt dann muss ich Vorkehrungen im FPGA treffen. Daher hatte ich die Idee einfach eine SD-Karte anzubinden aber diese Lösung wàhre im FPGA bestimmt auch nicht einfach zu lösen und wàhre zudem (deutlich) langsamer.

Wie könnte den ein Defekt im Flash aussehen?
Bleiben dann bestimmte/einzelne Bits immer auf 0 oder 1 (je nach dem was der leere Zustand ist)?
Oder làsst erst mal die Speicher-Erhaltungs-Zeit nach?
Sind in so einem Flash-Sektor erst mal einzelne Bits oder gleich ganze Gruppen betroffen?


Vor kurzem hat mir ein Kollege gesagt das die Fehlerkorrektur-Mechanismen in modernen USB-Sticks oder SD-Cards nur dann ordentlich greifen wenn diese mit FAT formatiert sind.
Stimmt das?
Ich habe hier 2 USB-Sticks, den Einen (4 GB) mit NTFS und den Anderen (8 GB) mit EXT2 formatiert.
Sind die nun vom vorzeitigem Ableben bedroht?


Grüße
Erik
 

Lesen sie die antworten

#1 Oliver Bartels
06/07/2008 - 17:11 | Warnen spam
On Sun, 06 Jul 2008 15:32:09 +0200, Erik
wrote:
ich hab mal ein paar Fragen zur Fehlerkorrektur und dem Bad-Sektor-Managment von NAND-Flash-Chips:

Wo wird das eigentlich erledigt?
Im NAND-Flash selber oder in einem zusàtzlichen Controller?



Bei den reinen NAND-Flash IC's (also nicht Karten oder seltener
IC's mit Controller) extern.

Und zwar _unbedingt_ und zwar bitte als _echte_ Korrektur.
Defekte Sektoren ausblenden reicht nicht, bei NAND können
auch einzelne Bits kippen, ECC ist Pflicht, am besten
eine Mehrbit-Korrektur oder z.B. Reed-Solomon.

Ein Bad-Sektor-Management braucht es zusàtzlich.

BTDTNT.

Wie könnte den ein Defekt im Flash aussehen?
Bleiben dann bestimmte/einzelne Bits immer auf 0 oder 1 (je nach dem was der leere Zustand ist)?



Es können komplette Sektoren nicht schreibbar sein, oder einzelne
defekt. Möglich ist alles.

Oder làsst erst mal die Speicher-Erhaltungs-Zeit nach?



Es können definitiv nachtràglich einzelne Bits umkippen.

Sind die nun vom vorzeitigem Ableben bedroht?



NAND Flash ist ein sehr elegantes, aber leider kein dauerhaft
stabiles Speichermedium, die Speicherzellen sind physikalisch
so klein, dass man schon fast die Atome zàhlen kann, und
die Abfrage nacheinander durch die in Serie verundeten (eben
NAND) MOSFETs mit Speicher-Gate ist nicht ganz unproblematisch.
Die Teile sind absolut an der Grenze der physikalischen
Machbarkeit.

Deshalb nimmt man für kritischen Bootcode-Speicher etc.
lieber NOR-Flash. Leider dauert bei dem der Löschvorgang
deutlich lànger und es hat insgesamt nicht soviele Zyklen.
Aber mit dem Vorteil, dass der Speicherinhalt sehr sicher
gehalten wird.

Und aus dem selben Grund rate ich davon ab, wichtige
Daten nur in einem NAND Flash Speicher oder nur einmal
dort zu halten.

Gruß Oliver

Oliver Bartels + Erding, Germany +
http://www.bartels.de + Phone: +49-8122-9729-0 Fax: -10

Ähnliche fragen