- Labornetzteil AliExpress         
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
    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?

  2. #2
    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

  3. #3
    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.

  4. #4
    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

  5. #5
    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

  6. #6
    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
  •  

Solar Speicher und Akkus Tests