- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 11

Thema: Schreibalgorithmus für Flashspeicher

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    Blog-Einträge
    133
    Vielen Dank für eure tollen Antworten.

    Wear Leveling ist wirklich das, was ich tun möchte. Die notwendigen Infos dazu sollen auf jeden Fall auf dem Flash selber vorhanden sein, da der Stick flexibel an verschiedene Geräten benutzt werden soll. Im Internet habe ich dazu jetzt genügend Infos gefunden, die mir aber allesamt mindestens eine Nummer zu groß für meine Anwendung sind; und sicher auch dementsprechend kompliziert zu implementieren sind.

    Beim Surfen im Inet sah ich auch weitere relativ große und günstige RAM- und Flashspeicher, teilweise im DIP8 Gehäuse. Der RAM war zB bei sehr geringem Strom und hinunter bis zu nur einem Volt bestimmt gut pufferbar und unbegrenzt oft beschreibbar. Wäre eigentlich ideal für mich zum Datensammeln auf einem autonomen Fahrgestell und gleich danach Auswertung der Daten auf dem PC. Hab mich jetzt aber erstmal an dem, mir schon zur Verfügung stehenden nocost Flash verbissen

    Ja, ein Sektor bzw eine Seite soll nach der anderen beschrieben werden. Wenn die letzte Seite erreicht ist, soll von vorne bei der ersten wieder weitergemacht werden. Als Schreib-/Lesezeichen dient dabei die gelöschte Seite. Das Auffinden der gelöschten Seite geht bei dieser Speichergröße für mich noch schnell genug und braucht während des Gebrauchs ja nur einmal am Anfang durchgeführt zu werden.

    Ich brauche kein Filesystem. Falls Minimalangaben über die gespeicherten Daten oder über den Flash notwendig werden, könnte ich die relativ zu der gelöschten Seite ablegen. zB auf der folgenden Seite, die auch entsprechend verschoben werden könnte, wenn es mal notwendig sein sollte. Ich denke, daß ich in nächster Zeit nur ein bis zwei kByte pro Einsatz des Flashes brauche.

    Wow, hoffentlich kann mich das Wissen um die internen Vorgänge im Flash jetzt nicht an der unvoreingenommenen Nutzung behindern Super Info! Auf jeden Fall werde ich die im Datenblatt angegebenen Schreibzyklen zu Flashspeichern nicht mehr so absolut nehmen. Auch die 13 Tage ununtebrochenen Schreiben-/Lesenkönnens des Flash Destroyers von der Dangerousprototypes Seite lassen mich leicht am Sinn des Wear Leveling für meinen Zweck zweifeln. Egal, jetzt habe ich da schon mal angefangen, finde es interessant, werde es durchziehen und beim nächsten Mal dann, hoffentlich spätestens bei Einsatz eines RAM-Speichers wie den oben erwähnten, darauf verzichten

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    27.08.2013
    Ort
    Region Basel
    Alter
    67
    Beiträge
    2.435
    Hallo Searcher,
    Zitat Zitat von Searcher Beitrag anzeigen
    Wear Leveling ist wirklich das, was ich tun möchte. Die notwendigen Infos dazu sollen auf jeden Fall auf dem Flash selber vorhanden sein, da der Stick flexibel an verschiedene Geräten benutzt werden soll. Im Internet habe ich dazu jetzt genügend Infos gefunden, die mir aber allesamt mindestens eine Nummer zu groß für meine Anwendung sind; und sicher auch dementsprechend kompliziert zu implementieren sind.
    Wenn du mit dem Fachenglisch zurecht kommst, kannst du nach alten Appnotes suchen, so 20-30 Jahre alt.
    Damals gab es die heutigen Controller noch nicht und man musste das selbst per Software machen.

    Zum 24C04 wurde damals eine Menge geschrieben. In den Anfängen hatten die eine Lebensdauer zwischen 1'000 und 10'000 Zyklen, heute stehen sie auch bei 1M.

    MfG Peter(TOO)
    Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?

  3. #3
    Erfahrener Benutzer Roboter-Spezialist Avatar von schorsch_76
    Registriert seit
    25.03.2012
    Ort
    Kurz vor Neuschwanstein
    Alter
    48
    Beiträge
    456
    Um den "Master Record" zu schützen/schonen kannst du bsp. die ersten 16 Sektoren/Seiten reservieren. Die Seite 0, zeigt, welche der folgenden Seiten gerade genutzt wird. Nach x Zyklen wechselst du von "Filesystem Management" Seite 1 auf 2 ... 2 auf 3 ... usw. bis du wieder bei 1 bist. So verteilst du die Schreiblast des "Filesystems" auf 16 Seiten.

    Die jeweilige aktive Seite, managt das "Filesystem". Belegte Sektoren, etc pp. Auch könnte hier hinterlegt werden wie oft schon auf welchen Block geschrieben wurde.

    Die Seite 0 wird nur dann "belastet", wenn du die Seite bsp,. von 1 auf 2 springt.

    Unter Linux wird bsp. UBIFS2 benutzt um auf "rohem" NAND Speicher zu arbeiten. Das was du hier hast
    http://www.linux-mtd.infradead.org/doc/ubifs.html

    Hier wird bsp. Beschrieben wie das Verteilen des schreiben prinzipiell funktioniert. Ab Seite 16/17 des PDFs wird es für dich sehr interessant sein. Ich denke aber dass due ruhig alles lesen kannst. Sind nur 50 Folien.
    http://www.linux-mtd.infradead.org/doc/ubifs.pdf

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    40
    Beiträge
    3.416
    ich finde die Idee klasse, man teilt sozusagen die Fehlerwahrscheinlichkeit für den counter damit runter

    die Anzahl Seiten für den Counter sollte dann idealerweise >= Anzahl an Runden im restlichen Flash sein ... die genutzten Flash Seiten würde ich für maximale Sicherheit eventuell noch doppelt nehmen und immer eine Kopie als Fallback mitführen. Halbiert zwar Grundsätztlich den Speicher bzw. die Lebensdauer aber führt zumindest nicht unmittelbar in einen Dead-Zustand sondern man kann vorwarnen dass mind. 1 Seite fehlerhaft ist
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  5. #5
    Erfahrener Benutzer Roboter-Spezialist Avatar von schorsch_76
    Registriert seit
    25.03.2012
    Ort
    Kurz vor Neuschwanstein
    Alter
    48
    Beiträge
    456
    Hier noch ein Paper der Universität Peking über Wear Leveling (auf englisch)
    http://dbgroup.cs.tsinghua.edu.cn/li...11-lazyftl.pdf

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von BMS
    Registriert seit
    21.06.2006
    Ort
    TT,KA
    Alter
    34
    Beiträge
    1.192
    Richtig, man kann auch wichtige Felder mehrfach (redundant) abspeichern.
    Beim Lesen macht man dann z.B. eine Mehrheitsentscheidung, also z.B. 2 aus 3 oder 3 aus 5 gelesenen etc...
    Das kann ja auf mehrere Pages verteilt werden. Oder auf mehrere ICs. Ein kleines RAID
    Grüße, Bernhard
    "Im Leben geht es nicht darum, gute Karten zu haben, sondern auch mit einem schlechten Blatt gut zu spielen." R.L. Stevenson

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    Blog-Einträge
    133
    Da ist ja nochmal was zusammengekommen. Über die Überwachung des Speichers und Ersatzschaltung von schlechten Zellen habe ich mir bisher noch keine rechten Gedanken gemacht.

    Zitat Zitat von schorsch_76 Beitrag anzeigen
    Um den "Master Record" zu schützen/schonen kannst du bsp. die ersten 16 Sektoren/Seiten reservieren. Die Seite 0, zeigt, welche der folgenden Seiten gerade genutzt wird. Nach x Zyklen wechselst du von "Filesystem Management" Seite 1 auf 2 ... 2 auf 3 ... usw. bis du wieder bei 1 bist. So verteilst du die Schreiblast des "Filesystems" auf 16 Seiten.
    Fand ich auch gut und das Weiterspinnen des Gedankens. Scheint mir etwas für größere Speicher zu sein, bei denen eine Suche im ganzen Speicher nach einem "Filesystem" zu lange dauert. Muß ich mir zusammen mit den geposteten Links noch gründlicher ansehen. http://www.linux-mtd.infradead.org/doc/ubifs.html läßt sich im Augenblick nicht öffnen. (timed out)

    Danke und Gruß
    Searcher

    PS. Englisch ist kein Problem für mich. Außer Deutsch alle anderen Sprachen und vor allem fernöstliche schon
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

Ähnliche Themen

  1. Mit Bascom in den Flashspeicher Daten ablegen und lesen.
    Von funkheld im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 9
    Letzter Beitrag: 01.10.2010, 16:26
  2. Antworten: 13
    Letzter Beitrag: 03.11.2005, 18:31

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress