flash-speicher
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
flash-speicher [2012/09/03 14:03] – angelegt Dirk Krause | flash-speicher [2024/08/07 13:34] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 23: | Zeile 23: | ||
FLASH-basierter Speicher nutzt eine Technologie namens NAND-FLASH. | FLASH-basierter Speicher nutzt eine Technologie namens NAND-FLASH. | ||
- | - Die kleinste ansprechbare Einheit beim Lesen/ | + | * Die kleinste ansprechbare Einheit beim Lesen/ |
- | - Eine Page kann nicht einfach überschrieben werden, sie muss zuvor gelöscht werden (andernfalls wäre der neue Inahlt eine Oder-Verknüpfung von altem Inhalt und neu geschriebenen Daten). | + | |
- | - Es kann aber nicht eine einzelne Page gelöscht bzw. geschrieben werden, Löschen und Schreiben ist nur für "Erase Blocks" | + | |
- | - Nach dem Löschen des Erase-Blocks können die Pages nicht in beliebiger Reihenfolge geschrieben werden sondern nur in sequentieller Reihenfolge beginnend mit der ersten Page. | + | |
- | - Blöcke verschleißen im Lauf der Zeit. Nach einer gewissen Anzahl von Löschzyklen wird ein Block permanent unbrauchbar und kann nicht mehr zur Datenspeicherung benutzt werden. Pages können auch fehlerhaft werden, wenn auf benachbarte Pages zugegriffen wird oder auch bei Lesezugriffen. | + | |
NAND FLASH unterscheidet sich fundamental von Festplatten. Da die IT-Branche aber seit Jahrzehnten Festplatten benutzt, gab es einen großen Druck, FLASH-Speicher wie Festplatten anzusprechen. FLASH-Speicher " | NAND FLASH unterscheidet sich fundamental von Festplatten. Da die IT-Branche aber seit Jahrzehnten Festplatten benutzt, gab es einen großen Druck, FLASH-Speicher wie Festplatten anzusprechen. FLASH-Speicher " | ||
+ | |||
+ | Eine weitere Aufgabe der FTL ist es, Erase-Blöcke, | ||
Egal wie gut die FTL-Software ist, bestimmte Zugriffsmuster erfordern Mehrarbeit "im Innern" | Egal wie gut die FTL-Software ist, bestimmte Zugriffsmuster erfordern Mehrarbeit "im Innern" | ||
Zeile 39: | Zeile 41: | ||
Unabhängig von den Unterschieden gibt es auch Gemeinsamkeiten zwischen den Dateisystemtypen: | Unabhängig von den Unterschieden gibt es auch Gemeinsamkeiten zwischen den Dateisystemtypen: | ||
- | - Signature - Die meisten Dateisystem schreiben eine Kennung mit dem Dateisystemtyp an eine markante Stelle innerhalb der Partition sowie Parameter wie Größe und Speicherort bestimmter Datenstrukturen. Typischerweise steht diese Signatur am Partitionsanfang. Für Unix- und Linux-Dateisysteme beispielsweise steht der " | + | * Signature - Die meisten Dateisystem schreiben eine Kennung mit dem Dateisystemtyp an eine markante Stelle innerhalb der Partition sowie Parameter wie Größe und Speicherort bestimmter Datenstrukturen. Typischerweise steht diese Signatur am Partitionsanfang. Für Unix- und Linux-Dateisysteme beispielsweise steht der " |
- | - Allokations-Daten (allocation data) - Die meisten Dateisysteme notieren, welche Sektoren bereits benutzt werden und welche noch ungenutzt sind. Für FAT-Dateisysteme folgt die "File Allocation Table" auf den BPB, mit evtl. ein paar ungenutzten Sektoren dazwischen. Für ext2 und Nachfolger sowie NTFS sind diese Zuordnungstabellen in der Partition verteilt. Dies ist für Festplatten sinnvoll, um Suchlaufzeiten zu verringern und auch für FLASH-Speicher hilfreich, da der "hot spot" | + | |
- | - Speicher-Cluster (storage clusters) - Aus Performance-Gründen und auch um die Allokations-Daten nicht zu stark wachsen zu lassen, verwenden Dateisysteme meist Speichereinheiten größer als einen Sektor. Für FAT und NTFS heißt diese Einheit " | + | |
Auf Allokationsdaten und Speicher-Cluster wird häufig zugegriffen, | Auf Allokationsdaten und Speicher-Cluster wird häufig zugegriffen, | ||
- | * Wenn die Allokationsdaten an einer NAND-FLASH Page-Grenze beginnen, sinkt die Wahrscheinlichkeit, | + | |
- | * Wenn die Clustergröße ein Zweierpotenz-Vielfaches der NAND-FLASH Page-Größe ist und der erste Cluster an einer Erase-Block-Grenze liegt, vereinfacht dies auch das Schreiben der Speicher-Cluster. | + | |
- | * Da der Verschleiß durch Löschzyklen beim Überschreiben von Daten immer ganze Erase-Blöcke betrifft, sollten Nur-Lese-Daten nicht gemeinsam mit Schreib-Lese-Daten in einem Erase-Block untergebracht werden. | + | * Wenn die Clustergröße ein Zweierpotenz-Vielfaches der NAND-FLASH Page-Größe ist und der erste Cluster an einer Erase-Block-Grenze liegt, vereinfacht dies auch das Schreiben der Speicher-Cluster. |
+ | * Da der Verschleiß durch Löschzyklen beim Überschreiben von Daten immer ganze Erase-Blöcke betrifft, sollten Nur-Lese-Daten | ||
===== Original-Formatierung ===== | ===== Original-Formatierung ===== | ||
- | Die Hersteller von FLASH-Speichern kennen die Details ihrer Speicher (insbesondere Page-Größe und Erase-Block-Größe), | + | Die Hersteller von FLASH-Speichern kennen die Details ihrer Speicher (insbesondere Page-Größe und Erase-Block-Größe), |
Hier ein Beispiel: Auf einer 2-GB-SD-Karte mit FAT16-Dateisystem befindet sich die Partitionstabelle in Sektor 0. Die Sektoren 1-254 bleiben ungenutzt, die erste Partition beginnt in Sektor 255. Damit liegt der BPB (die Signatur) gemeinsam mit der Partitionstabelle - also Konfigurationsdaten, | Hier ein Beispiel: Auf einer 2-GB-SD-Karte mit FAT16-Dateisystem befindet sich die Partitionstabelle in Sektor 0. Die Sektoren 1-254 bleiben ungenutzt, die erste Partition beginnt in Sektor 255. Damit liegt der BPB (die Signatur) gemeinsam mit der Partitionstabelle - also Konfigurationsdaten, | ||
Zeile 58: | Zeile 61: | ||
Wenn Sie ein Programm wie fdisk benutzen, ist es unwahrscheinlich, | Wenn Sie ein Programm wie fdisk benutzen, ist es unwahrscheinlich, | ||
- | Wenn Sie die erste Partition in Sektor 1 beginnen lassen, haben Sie ebenfalls verloren. Schreiboperationen, | + | Wenn Sie die erste Partition in Sektor 1 beginnen lassen, haben Sie ebenfalls verloren. Schreiboperationen, |
Andere häufig genutzte Startpunkte sind die Sektoren 16, 32 und 63. Keine dieser Einstellungen ist für FLASH-Speicher geeignet, da Sie wirklich Partitionstabelle und häufig geschriebene Daten so voneinander trennen wollen, dass sie in unterschiedlichen Erase-Blöcken liegen. | Andere häufig genutzte Startpunkte sind die Sektoren 16, 32 und 63. Keine dieser Einstellungen ist für FLASH-Speicher geeignet, da Sie wirklich Partitionstabelle und häufig geschriebene Daten so voneinander trennen wollen, dass sie in unterschiedlichen Erase-Blöcken liegen. | ||
Zeile 78: | Zeile 81: | ||
Zusammenfassung: | Zusammenfassung: | ||
- | * Behalten Sie nach Möglichkeit Partitionierung und Formatierung des Auslieferungszustandes bei. | + | |
- | * Wenn Sie ein Image vorbereiten, | + | * Wenn Sie ein Image vorbereiten, |
- | ===== Beispiel für SD-Karte ===== | ||
===== Quelle ===== | ===== Quelle ===== |
flash-speicher.1346673828.txt.gz · Zuletzt geändert: 2024/08/07 13:34 (Externe Bearbeitung)