Schreibzugriffe aufs NAND


Modran

Member
Joined
Jan 11, 2007
Messages
218
Location
NRW
Website
voynich-ms.de
WEBSITE
http://voynich-ms.de/Merlin
LOCATION
NRW
Ich erstelle diesen Thread in der Hoffnung, durch die Erfahrungsberichte der User ein sehr undurchsichtiges Thema etwas transparenter zu machen, denn "Schreibzugriffe aufs NAND" betreffen uns alle!

Worum gehts?
- sogenanneter "Flash-Speicher" verliert bei jedem Schreibzugriff einen Teil seiner Lebensdauer. Ich will keine Panik stiften: einen WINZIGEN Teil! Im Durchschnitt rechnet man bei Flash-Speicher mit einer Lebensdauer von 100.000 Beschreibungen (pro Block), und NAND lebt länger als NOR (wer es genau wissen will: http://de.wikipedia.org/wiki/Flash-Speicher). Doch "im Durchschnitt" bedeutet: ein Block kann nach 5 Schreibzugriffen kaputt sein, während ein anderer Block 1 Mio locker übersteht. Dies betrifft Marken-Speicher ebenso wie NoName.
- sowohl das Betriebsystem des GP2X als auch unsere geliebten SD-Karten bestehen aus Flash. Der GP2X hat kein ROM. Man hat das OS in einen Flash gelegt, was gut ist, weil man es so leicht ändern kann. Und was schlecht ist, weil bei jeder Änderung theoretisch einzelne Blöcke des internen NAND kaputt gehen können. Das ist auch nicht so schlimm, denn es bleiben tausende von ganzen Blöcken übrig, und beim nächsten Versuch klappts dann. Doch das NAND läßt sich nicht so leicht austauschen, und somit ist der Zustand das NAND wichtiger für den Wert des GP2X als die Kratzer auf seinem Display.

Doch es läßt sich nur schwer nachvollziehen: wann wird in das NAND geschrieben? Wann schreibt das Grundsystem hinein (bei Systemeinstellungen, Film anhalten ... wann noch)? Wie kann man dies minimieren?
Wann und wie oft schreiben populäre Programme ins NAND (und wann und wie oft und unter welchen Umständen auf die SD)?
Welche Workarounds bieten sich an (Film lieber durch Ausschalten beenden als durch X?)

...
 
IIRC gab es zumindest Ansätze zu einem Hack der Firmware, die (sehr vielen) Schreibzugriffe während des Boots genau deshalb zu unterbinden. Auf die Schnelle kann ich nicht sagen, wer und wo und ob aktuell und blah.


Loxi
 
Hab letztens schon davon gelesen, aber konnte es nicht glauben: gibt es wirklich Schreibzugriffe während dem Bootvorgang (jaja, also außer beim Updaten)?

Dies ist wohl der wichtigste Punkt, und gerade deshalb sollte er besonders sorgfältig untersucht werden, bevor schlimme Gerüchte die Runde machen.
Denn es heißt ja: ein falsches Gerücht ist dreimal um die Welt, bevor die Wahrheit sich die Schuhe angezogen hat (siehe auch: Wann muß man wirklich die SD-Karte leeren, bevor man von ihr updatet?). :)


Wußtet Ihr eigentlich, daß es mittlerweile PKW gibt, bei denen man die Motorhaube nicht mehr öffnen kann (ohne spezielle "Boot-Diskette")? ... mhhh ... wie komm ich da bloß jetzt gerade drauf ...?
 
Langzeitgedächtnis

Ein MOSFET behält also - einmal geladen - ohne einen (statischen) Strom seinen Zustand (leitend/nicht leitend) bei. Da an der Gate-Elektrode eines MOSFET jedoch immer weitere Schaltungsteile hängen, entlädt sich das Gate, sobald die Schaltung nicht mehr mit Energie versorgt wird. Flash-Speicher soll jedoch auch ohne Betriebsspannung die Informationen behalten. Daher platziert man bei einer Flash-Zelle zwischen Gate (Control Gate) und Substrat mitten in die nicht leitende Isolierschicht eine weitere Elektrode: das Floating Gate (siehe Grafik in c't 23/2006 auf Seite 138). Diese besitzt keinen Anschluss nach außen und arbeitet als Ladungsfalle. Gelingt es, Ladungsträger auf das Floating Gate zu bringen, bleiben sie dort. Der Kondensator kann sich nicht mehr entladen und der Zustand der Flash-Zelle bleibt auch nach dem Ausschalten erhalten.

Da das Floating Gate keinen Anschluss nach außen besitzt, erfolgt eine Ladungsänderung über den quantenmechanischen Effekt des Fowler-Nordheim-Tunnels: Legt man an das Control Gate eine hohe Spannung (10 bis 13 Volt) an, tunneln einige Elektronen aus dem Source Gate durch die dünne Isolierschicht (meist Siliziumoxid) hindurch in das Floating Gate. Diese Elektronen bleiben dort so lange gefangen, bis man sie mit einer hohen negativen Spannung wieder austreibt.

Das Schreiben erfolgt selektiv für jede einzelne Zelle. Beim Löschen werden hingegen immer ganze Speicherblöcke wieder zurückgesetzt. Oder anders ausgedrückt: Beim Löschvorgang wird ein ganzer Block von Zellen (256 Bytes bis 128 KByte) auf einmal in den Ursprungszustand (beispielsweise logisch 0) versetzt. Beim Schreiben kann man dann jede einzelne Zelle in den anderen Zustand, aber nicht wieder einzeln zurück versetzen. Eine Anekdote aus dem Toshiba-Labor, das 1984 Flash-Speicher entwickelte, berichtet, wie das Speicherverfahren zu seinem Namen kam: Shoji Ariizumi, einen Mitarbeiter des Projektleiters Dr. Fujio Masuoka, erinnerte der blockweise Löschvorgang an das blendende Licht eines Kamerablitzes. Er schlug daher „Flash“ als Namen vor.

Heute existieren zwei verschiedene Arten von Flash-Speichern: NOR- und NAND-Schaltungen. Bei NOR-Flash sitzen die einzelnen Zellen parallel (OR) in einem Gitter aus Word- und Bit-Lines und lassen sich direkt auslesen. Sie eignen sich daher für Programmspeicher von Mikroprozessoren. Allerdings ist NOR-Flash relativ teuer und hat keine besonders hohe Speicherdichte.

NAND-Flash kommt mit deutlich weniger Chipfläche pro Zelle aus, da viele Transistoren in Reihe (AND) geschaltet sind. Will man nun eine einzelne Zelle auslesen, muss man zuvor alle anderen in der Kette maskieren, also auf leitend schalten. Dazu legt man an die nicht gefragten Transistoren eine Offset-Spannung an, die sie durchschaltet. Ein direktes Auslesen des Speichers ist daher nicht möglich. NAND-Flash wird daher blockweise über interne Register - die sich um die Adressierungsdetails kümmern - angesprochen. Die Registerschnittstelle ist weitgehend standardisiert und unabhängig von der internen Organisation der Zellen. Alle aktuellen Flash-Speicherkarten setzen aus Kosten- und Kapazitätsgründen auf NAND-Flash. Lediglich einige der ersten CompactFlash-Karten verwendeten den teuren NOR-Speicher.

Moderne NAND-Flash-Zellen speichern nicht nur ein, sondern gleich zwei oder gar vier Bit pro Zelle. Damit steigt die Speicherdichte nochmals gegenüber NOR-FLASH. Für Multi Level Cells (MLC) gibt es verschiedene Techniken. Entweder kodiert die Stärke des Stroms die Zustände oder man platziert geschickt mehrere Floating Gates innerhalb einer Zelle. MLC-Flash-Speicher unterscheiden sich daher auch beim Auslesen und Schreiben vom klassischen NAND-Speicher.


Halbwertszeit

Flash-Zellen leben nicht besonders lang. Nach einer gewissen Anzahl von Löschzyklen treten Schäden in den Oxidschichten zwischen Control-, Floating Gate und Substrat auf (Degradation). Diese führen dazu, dass die Schicht nicht mehr sauber isoliert und so die Ladungsträger vom Floating Gate abfließen können. Die Hersteller sichern nur 10 000 (NOR) oder 100 000 Löschzyklen (NAND) zu, geben aber an, dass ihre Zellen im Schnitt das Zehnfache schaffen. Die Blockgröße bei NAND-Flash ist deutlich kleiner als bei NOR, sodass der einzelne Block seltener gelöscht werden muss. Dennoch bleibt Bedarf für ein sogenanntes Defektmanagement: Das muss defekte Blöcke markieren und die dort gespeicherten Daten in Reserveblöcke auslagern. Zudem gilt es, die Schreibzugriffe so über alle vorhandenen Blöcke zu verteilen, dass kein einzelner Block allzu oft gelöscht und neu beschrieben wird. In der Vergangenheit gab es daher einige Anläufe für spezielle Dateisysteme. Mittlerweile bestehen die meisten Speicherkarten aus einem Controller und dem eigentlichen NAND-Flash-Speicher. Der Controller kümmert sich nicht nur um die Ansteuerung des Speichers, sondern übernimmt auch das Defektmanagement und die gleichmäßige Verteilung der Daten über die Blöcke. Jeder Block enthält dabei auch Prüfsummen, mit denen sich Bitfehler rekonstruieren lassen. Erkennt der Controller einen solchen Fehler, rekonstruiert er die verlorenen Bits aus den Prüfsummen und transferiert die Daten in einen intakten Reserveblock. Der defekte Block wird ab da nicht mehr genutzt. Das Gerät, das die Karte benutzt, bekommt davon nichts mit. Es kann oft sogar das Dateisystem frei wählen.

Zwar kann eine solche Speicherkarte mit den meisten Dateisystemen formatiert werden, die Verteilungsalgorithmen einiger Controller sind allerdings auf bestimmte Dateisysteme (meist FAT16 oder FAT32) optimiert, sodass der Einsatz eines anderen Formats kaum lohnt.

Wie effizient das Defektmanagement und die Verteilung der Daten funktioniert, zeigt ein Versuch im c't-Labor: Wir haben probiert, einen USB-Stick mit Flash-Speicher gezielt kaputt zu schreiben. Aber selbst nach 16 Millionen Schreibzugriffen auf ein und dieselbe Datei konnten wir keine Fehler feststellen.


Irrlichter

Die Geschwindigkeit, mit denen die Verpackungen der Speicherkarten im Discountmarkt werben, sind oft irreführend. Manche Hersteller geben hier riesige Faktoren à la 200X an. Diese beziehen sich nicht etwa auf das, was die ersten Karten dieses Typs konnten, sondern auf die Datenrate einer Audio-CD, die bei 150 KByte/s liegt. Den sehr viel aussagekräftigeren Absolutwert in MByte/s sieht man hingegen nur selten. Dazu kommt, dass es sich manchmal um die Nenndatenrate der Schnittstelle und nicht die praktisch von der Karte erreichte Geschwindigkeit handelt. Außerdem kann auch eine langsame Kamera oder ein USB-1.1-Kartenleser wie eine Datenbremse wirken. Wie schnell Karten und Geräte in der Praxis Daten auf die oder von der Karte schaufeln, zeigt der folgende Artikel.

Die Speicherkapazität geben die Hersteller hingegen exakt in MByte an. Wie viele Fotos oder Musikstücke auf eine Karte passen verrät unsere Tabelle „Speicherbedarf“. (bbe)

Auszug aus --> http://www.heise.de/ct/06/23/136/

mfg
tom
 
Soweit ich mich erinnern kann bestand das problem mit schreibzugriffen auf den NAND nur bei den allerersten firmwares.
Mittlerweile kann man den NAND ja im Menü für schreibzugriffe sperren und es wird meines wissens nur bei Firmware-Upgrades oder bei eigenständigen Änderungen am NAND auch wirklich auf den NAND geschrieben.
 
Wie effizient das Defektmanagement und die Verteilung der Daten funktioniert, zeigt ein Versuch im c't-Labor: Wir haben probiert, einen USB-Stick mit Flash-Speicher gezielt kaputt zu schreiben. Aber selbst nach 16 Millionen Schreibzugriffen auf ein und dieselbe Datei konnten wir keine Fehler feststellen.

Das macht Mut :)
 
infiltr8 said:
[...] die Verteilungsalgorithmen einiger Controller sind allerdings auf [...] meist FAT16 oder FAT32 optimiert, sodass der Einsatz eines anderen Formats kaum lohnt. [...]
Ist es dann auf die fehlende Optimierung zurückzuführen, daß Karten z.B. von SanDisk mit ext2 deutlich höheren Datendurchsatz beim Lesen und Schreiben haben?
 
Wers genau wissen will sollte lieber nicht bei Wikipedia nachschaun. Laut Wikipedia ist die NOR-Technik zuverlässiger und hat ebenso "mehrere 100.000" schreibzyklen. Also die Aussagen widersprechen sich auf den Seiten selbst.
 
Wo er genau ist, weiss ich nicht, aber die Seriennummer ist auch im i2c drin, also muss einer existieren ;)
 
Tztz, diese gar nicht mal so nebensächliche geschichte mit der begrenzten Haltbarkeit von FLASH/NAND wird von den Herstellern aber gut unterschlagen. ^^
Es gibt ja schon Laptops mit FLASH-Hybrid Festplatte. Wie lang die wohl halten wird?
Und der (gar nicht mal so dumme) 100$ laptop hat nur Flash-Speicher:
http://de.wikipedia.org/wiki/100-Dollar-Laptop
Kennt ihr sicher auch. Ich find das Ding geil! :lol:
 
Die Hybridplatten haben es da nicht so schwer. Wenn der Flash seinen Geist aufgibt wird er einfach abgeschaltet, und du hast wieder eine normale HDD.

Interessanter ist es bei der reinen Flashlösung wie zB beim OLPC.
 
Jo ich find den 100$ laptop auch geil... würde mir das ding sogar kaufen wenns für privatleute verfügbar währe... isses aber nicht und scheint wenndann für den dreifachen preis zu haben sein um die entwicklungsländer zu unterstützen und das kann ich mir nicht leisten.
 
Seraptin said:
Jo ich find den 100$ laptop auch geil... würde mir das ding sogar kaufen wenns für privatleute verfügbar währe... isses aber nicht und scheint wenndann für den dreifachen preis zu haben sein um die entwicklungsländer zu unterstützen und das kann ich mir nicht leisten.
In Zukunft soll man sich das Ding auch in den Industrieländern kaufen können. Zwar nicht dreifacher aber zweifacher Preis was dann wohl 280 $ währen da der Lappi nun so um die 140$ kosten soll.
Also für Schulen ist sowas allemal preiswerter als Dicke PC's. Auch bei uns hier.
 
Wird nicht lange dauern, dann werden die ersten Kids ihre Geräte über eBay verscherbeln. Einfach abwarten. ;)

Die Konstruktion von dem Ding finde ich jedenfalls genial: Tastaturbeleuchtung, spontane Netzwerkbildung mit hoher Reichweite, HiRes-Screen für bessere Tageslichtsicht auf s/w umschaltbar, niedrige Stromaufnahme (läßt sich mit Handgenerator betreiben) - und das alles zu dem Preis ... :twisted:
 
Modran said:
Wird nicht lange dauern, dann werden die ersten Kids ihre Geräte über eBay verscherbeln. Einfach abwarten. ;)

Die Konstruktion von dem Ding finde ich jedenfalls genial: Tastaturbeleuchtung, spontane Netzwerkbildung mit hoher Reichweite, HiRes-Screen für bessere Tageslichtsicht auf s/w umschaltbar, niedrige Stromaufnahme (läßt sich mit Handgenerator betreiben) - und das alles zu dem Preis ... :twisted:
Und einen Touchscreen hat er auch noch, sogar drehbar damit das Ding wie ein Tablet-PC genutzt werden kann. Die Entwickler ham sich echt mal Gedanken gemacht. :) Staub und Spritzwassergeschützt ist der Laptop auch noch. Da würde so manch Profi-Gerät neidisch werden.
 
Back
Top