Ich versuche eine Alarm-History-Struktur zu entwickeln, die im nichtflüchtigen Flash-Speicher gespeichert wird. Der Flash-Speicher hat eine begrenzte Anzahl von Schreibzyklen, daher brauche ich eine Möglichkeit, Datensätze zu der Struktur hinzuzufügen, ohne jedesmal die Flash-Seiten in der Struktur neu zu schreiben oder aktualisierte Zeiger auf den Kopf/das Ende der Warteschlange zu schreiben.Alarmverlaufsstapel oder Warteschlange?
Zusätzlich, sobald der verfügbare Flash-Speicherbereich verwendet wurde, möchte ich beginnen, Datensätze zu überschreiben, die zuvor im Flash gespeichert wurden, beginnend mit dem ersten zuerst hinzugefügten Datensatz. Dies lässt mich denken, dass ein zirkulärer Puffer am besten zum Hinzufügen von Elementen geeignet wäre. Beim Anzeigen von Datensätzen soll die Struktur jedoch wie ein Stapel funktionieren. Z.B. Die Datensätze würden in umgekehrter chronologischer Reihenfolge "last-in-first-out" angezeigt.
Strukturgröße, Kopf, Endung, Indizes können nicht gespeichert werden, es sei denn, sie sind im Datensatz selbst gespeichert, da sie jedes Mal an einen festen Ort geschrieben würden und die maximalen Schreibzyklen auf der Seite überschreiten würden, auf der sie gespeichert wurden .
Also sollte ich einen Stapel, eine Warteschlange oder eine hybride Struktur verwenden? Wie sollte ich die Kopf-, End- und Größeninformationen im Flash speichern, damit sie nach dem Einschalten neu initialisiert werden können?
Arbeiten Sie direkt am Flash oder verwenden Sie ein Dateisystem im Flash? – stefaanv
Kein Dateisystem. Schreiben, um direkt zu blinken. – mjh2007