DE60314979T2 - Verfahren zur Aktualisierung eines nichtflüchtigen Speichers - Google Patents

Verfahren zur Aktualisierung eines nichtflüchtigen Speichers Download PDF

Info

Publication number
DE60314979T2
DE60314979T2 DE60314979T DE60314979T DE60314979T2 DE 60314979 T2 DE60314979 T2 DE 60314979T2 DE 60314979 T DE60314979 T DE 60314979T DE 60314979 T DE60314979 T DE 60314979T DE 60314979 T2 DE60314979 T2 DE 60314979T2
Authority
DE
Germany
Prior art keywords
section
reserved memory
data
reserved
deleted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60314979T
Other languages
English (en)
Other versions
DE60314979D1 (de
Inventor
Blangy Hugues
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EM Microelectronic Marin SA
Original Assignee
EM Microelectronic Marin SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EM Microelectronic Marin SA filed Critical EM Microelectronic Marin SA
Publication of DE60314979D1 publication Critical patent/DE60314979D1/de
Application granted granted Critical
Publication of DE60314979T2 publication Critical patent/DE60314979T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum Aktualisieren von Daten für einen nichtflüchtigen Speicher vom Typ EEPROM oder Flash-EEPROM.
  • Derartige nichtflüchtige Speicher sind aus Speicherzellen aufgebaut, die im Allgemeinen aus einem sogenannten Transistor mit schwebendem Gate (Floating-Gate-Transistor) gebildet sind, der eine Binärinformation enthalten kann. Die Binärinformation einer derartigen Speicherzelle kann einen ersten bestimmten Wert, beispielsweise 0, durch Einfangen eines angeregten Elektrons in der Oxidschicht, die das Gate des Transistors von der Zelle isoliert ("Stacked Gate"-Technologie oder Transistor mit überlagertem Gate), oder im Floating-Gate des Transistors ("Split-Gate"-Technologie oder Transistor mit geteiltem Gate) annehmen. Diese verhältnismäßig schnelle "Schreib-" oder "Programmier"-Operation erfordert, je nach verwendeter Technologie, beispielsweise nur einige Mikrosekunden. Die Binärinformation kann einen zweiten bestimmten Wert, beispielsweise 1, durch den Fowler-Nordheim-Tunneleffekt annehmen, der den Durchgang, ohne Ionisation, eines eingefangenen Elektrons durch die das Gate des Transistors isolierende Oxidschicht ("Stacked-Gate"-Technologie) hindurch oder aus dem Floating Gate heraus ("Split-Gate"-Technologie) ermöglicht. Diese "Lösch"-Operation dauert deutlich länger als die jene, die zuvor erwähnt wurde; sie kann, bei Betrachtung derselben Technologie, beispielsweise mehrere Millisekunden dauern.
  • Je nach den Anwendungen, bei denen der Speicher genutzt wird, kann dieser Letztere in mehrere ähnliche und unabhängig voneinander löschbare Speicherabschnitte zerlegt werden. Diese Speicherabschnitte haben eine Größe, die von einer Speicherzelle bis zu einer Speicherseite von mehreren Kilobytes variieren kann. Es muss unbedingt hervorgehoben werden, dass in dem besonderen Fall eines Flash-Speichers die Programmieroperationen byteweise ausgeführt werden können, wie bei einem EEPROM, dagegen die Löschoperationen blockweise ausgeführt werden müssen, was erfordert, dass bei jedem Aktualisieren eines einzigen Bytes eines Blocks ein Löschen des gesamten Blocks ausgeführt wird.
  • Ein herkömmliches Verfahren zum Aktualisieren von Daten bei diesem Speichertyp umfasst im Allgemeinen die folgenden Schritte:
    • – Löschen eines für die Datensicherung reservierten Speicherabschnitts;
    • – Sichern der Daten aus einem zu aktualisierenden nicht reservierten Speicherabschnitt in dem vorher gelöschten reservierten Speicherabschnitt;
    • – Löschen des zu aktualisierenden nicht reservierten Speicherabschnitts;
    • – Aktualisieren der Daten in dem im vorhergehenden Schritt gelöschten Speicherabschnitt;
    • – Wiederholen der vorhergehenden Schritte bei jeder neuen Aktualisierung, die erforderlich ist.
  • Vorab sei angemerkt, dass der Ausdruck "Löschen eines Speicherabschnitts" eine sprachliche Abkürzung darstellt, die häufig verwendet wird, um "Löschen der Daten, die in einem Speicherabschnitt enthalten sind" mitzuteilen.
  • Die Verwendung eines nichtflüchtigen reservierten Speicherabschnitts für die Sicherung von zu aktualisierenden Daten ist erforderlich, um zu gewährleisten, dass im Fall einer plötzlichen Unterbrechung des Aktualisierungsprozesses, beispielsweise durch einen Stromausfall, kein Datenverlust eintreten kann. Außerdem ist die Verwendung desselben Speicherabschnitts, um die aktualisierten Daten aufzunehmen, auch erforderlich, um einen einfachen und schnellen Zugriff auf die Daten durch das Speicherverwaltungssystem sicherzustellen. Dann ist keine Nachverfolgung, beispielsweise mittels Zeiger, erforderlich.
  • Der Hauptnachteil, den die Verwendung eines solchen reservierten Speicherabschnitts nach sich zieht, ist die Verlängerung der Ausführungsdauer des Prozesses bei nacheinander durchgeführten Aktualisierungen. Wie in der Einleitung deutlich geworden ist, dauern nämlich die sogenannten "Löschoperationen" oder Operationen, um die Speicherzellen, die den Speicherabschnitt bilden, auf "1" zu setzen, ungefähr 1000-mal länger als eine Schreiboperation. Nun erfordert aber das weiter oben beschriebene Verfahren, für jede Aktualisierung zwei Löschzyklen auszuführen, einen ersten Löschzyklus, um einen Speicherplatz für die Sicherung der Daten zu reservieren, was ermöglicht, einer Funktionsstörung des das Verfahren ausführenden Systems vorzubeugen, und einen zweiten, um das Aktualisieren in dem Abschnitt, der die Daten vor dem Aktualisieren enthielt, durchführen zu können. Folglich wird die Ausführungszeit dieses Verfahrenstyps schnell kritisch, insbesondere insofern, als er während seiner Ausführung die Systembetriebsmittel für sich allein beansprucht.
  • Das Aktualisierungsverfahren gemäß einer Ausführungsform der Erfindung ermöglicht nicht nur, sich vor Datenverlusten im Fall einer Funktionsstörung bei der Aktualisierung zu schützen und einen einfachen und schnellen Datenzugriff sicherzustellen, sondern auch, seine Ausführungszeit zu optimieren.
  • Deswegen wird das Verfahren für einen nichtflüchtigen Speicher ausgeführt, der in mehrere ähnliche und unabhängig voneinander löschbare Speicherabschnitte zerlegt ist, wovon wenigstens zwei Speicherabschnitte für die Aktualisierung der in jedem dieser Abschnitte enthaltenen Daten reserviert sind, wobei das Verfahren dadurch gekennzeichnet ist, dass es die folgenden Schritte umfasst:
    • a) Löschen eines ersten reservierten Speicherabschnitts, falls vorher keiner der reservierten Speicherabschnitte gelöscht worden ist;
    • b) Sichern der Daten eines zu aktualisierenden nicht reservierten Speicherabschnitts in dem gelöschten ersten reservierten Speicherabschnitt oder in einem vorher gelöschten reservierten Speicherabschnitt;
    • c) gleichzeitiges Löschen des nicht reservierten Speicherabschnitts und eines zweiten reservierten Speicherabschnitts;
    • d) Aktualisieren der Daten des nicht reservierten Speicherabschnitts;
    • e) Wiederholen der Schritte b) bis d) für alle anderen zu aktualisierenden nicht reservierten Speicherabschnitte.
  • Die Verwendung von wenigstens zwei Speicherabschnitten, die für die Sicherung von Daten reserviert sind, ermöglicht vorteilhaft, einen ersten Abschnitt zum Speichern der zu aktualisierenden Daten und wenigstens einen zweiten Abschnitt, der gleichzeitig mit dem zu aktualisierenden Abschnitt gelöscht wird, zu nutzen. Somit steht für alle später ausgeführten Aktualisierungen immer ein reservierter Speicherabschnitt zur Verfügung, was ermöglicht, den Schritt a), das Löschen eines vom Verfahren reservierten Speicherabschnitts, auszulassen. Dazu sei angemerkt, dass die zwei Speicherabschnitte, die für die Datensicherung re serviert sind, auf äquivalente Weise durch nichtflüchtige Pufferspeicher außerhalb des die Daten enthaltenden nichtflüchtigen Speichers ersetzt werden können.
  • Wie vorher verdeutlicht worden ist, weist die Tatsache, dass die Aktualisierung der Daten eines Abschnitts in demselben Abschnitt verwirklicht wird, den Vorteil auf, dass der Speicherort dieser Daten im Voraus bekannt ist und folglich kein komplexes System zur Datennachverfolgung wie beispielsweise eine nicht flüchtige Zeigertabelle erfordert. Der Zugriff auf Daten ist folglich einfach und schnell.
  • Dennoch ist es im Fall einer unerwarteten Unterbrechung des Verfahrens während seiner Ausführung vorteilhaft, den Speicherort der gesicherten Daten zu kennen, um die Daten eines in der Aktualisierung begriffenen Abschnitts, so wie sie vorher waren, ohne weiteres wieder herstellen zu können. Im Rahmen des Standes der Technik lag die Lösung auf Grund der Verwendung eines einzigen reservierten Abschnitts klar auf der Hand. Nun ist es aber im Rahmen des Verfahrens gemäß der Ausführungsform, die zuvor dargelegt worden ist, zwingend erforderlich, von wenigstens zwei Abschnitten Gebrauch zu machen, um den angestrebten Zeitgewinn zu erzielen. Deshalb ist vorteilhaft vorgesehen, diesen reservierten Abschnitten einen nichtflüchtigen Steuersektor zuordnen zu können, der ermöglicht, direkt zu bestimmen, welchem in der Aktualisierung befindlichen Abschnitt die in einem reservierten Abschnitt enthaltenen Daten entsprechen.
  • Um das Verfahren zum Wiederherstellen im Fall einer Unterbrechung zu optimieren, ist es vorteilhaft, Mittel zum Prüfen der korrekten Ausführung des Verfahrens bei seiner Anwendung zu gebrauchen, und zwar vom Typ CRC ("Cyclic Redundancy Check"), um Haltepunkte zu definieren, die ermöglichen, den Zeitpunkt der Unterbrechung des Verfahrens genau zu kennen.
  • Weitere Ausführungsformen des Aktualisierungsverfahrens sowie vorteilhafte Varianten sind in den abhängigen Ansprüchen dargelegt.
  • Weitere Merkmale und Vorteile der Erfindung gehen deutlicher aus der folgenden Beschreibung hervor, die lediglich als Beispiel gegeben ist und sich auf die beigefügte Zeichnung bezieht, worin:
  • 1 ein Schema der Schritte des Aktualisierungsverfahrens gemäß einer ersten Ausführungsform der Erfindung zeigt;
  • 1A ein Detailbeispiel des Schritts b) des Verfahrens gemäß der ersten Ausführungsform zeigt;
  • 1B ein Detailbeispiel des Schritts d) des Verfahrens gemäß der ersten Ausführungsform zeigt; und
  • 2 ein Schema der Schritte des Verfahrens gemäß einer zweiten Ausführungsform der Erfindung zeigt.
  • In der folgenden Beschreibung bezieht sich das Verfahren zum Aktualisieren von Daten gemäß den verschiedenen Ausführungsformen der Erfindung auf einen nichtflüchtigen Speicher, vorzugsweise vom Typ Flash-EEPROM, der in mehrere ähnliche und unabhängig voneinander löschbare Speicherabschnitte (SM) zerlegt ist. Wenigstens zwei Speicherabschnitte (SRA, SRB) werden für die Datensicherung reserviert. Es ist jedoch denkbar vorzusehen, diese wenigstens zwei innerhalb des Speichers reservierten Speicherabschnitte durch wenigstens zwei nichtflüchtige externe Pufferspeicher, deren Größe jener der Speicherabschnitte ähnlich ist, zu ersetzen.
  • Gemäß einer ersten Ausführungsform des Verfahrens zum Aktualisieren von Daten, in 1 dargestellt, ist während eines ersten Schritts a) der Initialisierung vorgesehen, wenigstens einen der reservierten Speicherabschnitte (SRA) zu löschen, falls vorher keiner davon gelöscht worden ist. Wenn dieser Initialisierungsschritt erst einmal ausgeführt ist, ermöglicht das Verfahren, bei jedem Aktualisieren eines Speicherabschnitts eine Löschzeit einzusparen.
  • Während des zweiten Schritts b) wird einer der nicht reservierten Speicherabschnitte (SM), dessen Daten aktualisiert werden müssen, in dem im vorhergehenden Schritt gelöschten reservierten Speicherabschnitt oder in einem der vorher gelöschten Speicherabschnitte, d. h. in einem verfügbaren reservierten Speicherabschnitt (SRD), gesichert. Ein Ausführungsbeispiel für einen solchen Sicherungsschritt kann wie in 1A dargestellt verwirklicht sein. In diesem Fall lässt sich der Sicherungsschritt in einen ersten Unterschritt b1), der darin besteht, die zu aktualisierenden Daten aus dem Speicherabschnitt (SM) in ein oder mehrere Register (REG), je nach Größe des Abschnitts, oder in den gesamten flüchtigen Speicherraum, auf den schnell zugegriffen werden kann, zu kopieren, und in einen zweiten Unterschritt b2), während dessen der Inhalt der zugehörigen Register in den verfügbaren reservierten Speicherabschnitt (SRD) übertragen wird, zerlegen.
  • Wenn der zweite Schritt b) erst einmal ausgeführt ist, ist sichergestellt, dass der anfängliche Inhalt, wie vor dem Aktualisieren, auch im Fall einer plötzli chen Unterbrechung des Verfahrens zurückgewinnbar ist, da dieser anfängliche Inhalt in einem nichtflüchtigen reservierten Speicherabschnitt gespeichert ist. Deshalb kann der Schritt, der darin besteht, den zu aktualisierenden nicht reservierten Speicherabschnitt (SM) zu löschen, in völliger Sicherheit ausgeführt werden.
  • Im Rahmen der Umsetzung des erfindungsgemäßen Verfahrens ist bei dem dritten Schritt c) vorgesehen, das Löschen des zu aktualisierenden nicht reservierten Abschnitts (SM) bzw. eines reservierten Speicherabschnitts (SRB), der von jenem, der die zu aktualisierenden Daten enthält, verschieden ist, gleichzeitig auszuführen. Da die zwei Löschoperationen gleichzeitig ausgeführt werden, ist die Gesamtzeit der beiden Operationen gleich der Ausführungszeit nur einer Löschoperation.
  • Es sei angemerkt, dass auf diese Weise der im Schritt c) gelöschte reservierte Speicherabschnitt (SRB) bei der nächsten Aktualisierung als verfügbarer reservierter Speicherabschnitt (SRD) dienen wird.
  • Sobald der Schritt c), in dem der zu aktualisierende Speicherabschnitt (SM) gelöscht wird, erst einmal ausgeführt ist, können die aktualisierten Daten dorthin kopiert werden. Der Schritt d) des Aktualisierens der Daten dieses zu aktualisierenden Speicherabschnitts kann in zwei Unterschritte d1) und d2) zerlegt werden, wie in 1B gezeigt ist. Der erste Unterschritt d1) besteht darin, die in den Registern (REG) enthaltenen Daten, die im Schritt b) verwendet werden und den Daten entsprechen, die vorher in dem zu aktualisierenden nicht reservierten Abschnitt enthalten waren, zu aktualisieren.
  • Dazu sei angemerkt, dass dieser Schritt d1) der Aktualisierung der in den Registern (REG) enthaltenen Daten ausgeführt werden kann, sobald der Schritt b2) der Übertragung dieser Daten in den verfügbaren reservierten Speicherabschnitt (SRD) beendet ist, und spätestens vor dem Schritt d2), der darin besteht, die in den Registern aktualisierten Daten aus diesen Letzteren in den zu aktualisierenden Speicherabschnitt (SM) zu übertragen. Es muss unbedingt angemerkt werden, dass vorteilhaft derselbe Speicherabschnitt für das Aktualisieren verwendet wird, der im Schritt c) gelöscht worden ist. Dies ermöglicht, schnell und einfach auf aktualisierte Daten zuzugreifen – ohne Notwendigkeit der Verwendung eines Mechanismus zum Nachverfolgen der Daten.
  • Schließlich wird bei allen weiteren Aktualisierungen der Schritt a) nicht mehr ausgeführt, da wenigstens ein reservierter Speicherabschnitt schon während des Schritts c) der vorhergehenden Aktualisierung gelöscht worden ist. Folglich werden bei weiteren Aktualisierungen, Schritt e), nur die Schritte b) bis d) nochmals ausgeführt, d. h. ein einziger Löschschritt, Schritt d), was einen Nettogewinn an Zeit bei der Ausführung zur Folge hat.
  • Gemäß einer zweiten Ausführungsform des Verfahrens, in 2 dargestellt, ist vorgesehen, jedem der reservierten Speicherabschnitte einen Steuersektor (SCSR) zuzuordnen. Dieser Steuersektor ermöglicht insbesondere zu bestimmen, ob der zugeordnete reservierte Speicherabschnitt (SRD) insofern verwendet wird, als er Daten enthält, oder ob der betreffende reservierte Speicherabschnitt (SRD) insofern verfügbar ist, als er zuvor gelöscht worden ist.
  • Vorteilhaft hängt die Größe dieses Steuersektors von der Anzahl der nicht reservierten Speicherabschnitte (SM), die aktualisiert werden können, ab. So sollte beispielsweise für einen Speicher, der 62 nicht reservierte Speicherabschnitte enthält, ein Steuersektor von wenigstens 6 Bit vorgesehen werden, um die Nummer des zu aktualisierenden Abschnitts angeben zu können, die seiner Adresse im Speicher entspricht. Folglich ermöglicht das Lesen dieses Steuersektors, nicht nur zu wissen, ob in dem zugeordneten reservierten Speicherabschnitt Daten enthalten sind, sondern auch, welchem zu aktualisierenden nicht reservierten Speicherabschnitt diese Daten entsprechen.
  • Gemäß dieser zweiten Ausführungsform unterscheidet sich der erste Schritt a) der Initialisierung von jenem, der im Rahmen der ersten Ausführungsform ausgeführt wird, dadurch, dass er darin besteht, nicht nur einen reservierten Speicherabschnitt (SRA) zu löschen, wenn zuvor keiner gelöscht worden ist, sondern auch gleichzeitig den diesem reservierten Speicherabschnitt zugeordneten Steuersektor (SCSRA) zu löschen. Da diese Löschoperationen zeitgleich ausgeführt werden, resultiert daraus kein Zeitverlust im Vergleich zum Schritt a) der ersten Ausführungsform. Außerdem weist diese Operation den Vorteil auf, dass schnell und einfach bestimmt werden kann, welcher reservierte Speicherabschnitt (SRD) verfügbar ist, indem ein Lesen nur der Steuersektoren (SCSR) der reservierten Speicherabschnitte durchgeführt wird.
  • Der Schritt b) ist jenem ähnlich, der im Rahmen der ersten Ausführungsform des Verfahrens beschrieben wurde, und wird deshalb hier nicht noch einmal aufgegriffen.
  • Wenn der Schritt b) erst einmal ausgeführt ist, wird ein zusätzlicher Schritt f) ausgeführt. Dieser Schritt f) besteht darin, eine Information in den Steuersektor (SCSRU) des vorher bei dem Schritt b) verwendeten reservierten Speicherabschnitts einzuschreiben, die die Verwendung dieses Letzteren angibt. In dem vorteilhaften Fall, in dem die Größe des Steuersektors an die Anzahl der nicht reservierten Speicherabschnitte angepasst ist, entspricht die eingeschriebene Information der Nummer oder der Adresse des zu aktualisierenden nicht reservierten Abschnitts (SM).
  • Folglich genügt es im Fall einer plötzlichen Unterbrechung des Verfahrens, einfach den Inhalt der verschiedenen Steuersektoren der reservierten Speicherabschnitte (SCSR) zu lesen, um erstens jenen zu bestimmen, der Daten enthält, die eventuell nicht gültig aktualisiert werden konnten, und zweitens den nicht reservierten Speicherabschnitt zu bestimmen, dem die gültigen Daten des reservierten Speicherabschnitts entsprechen.
  • Der Schritt c) unterscheidet sich von jenem, der im Rahmen der ersten Ausführungsform ausgeführt wird, dadurch, dass er darin besteht, nicht nur einen reservierten Speicherabschnitt (SRB), der von jenem, der zum Sichern des zu aktualisierenden nicht reservierten Speicherabschnitts verwendet wurde sowie von diesem Letzteren verschieden ist, sondern gleichzeitig auch den Steuersektor (SCSRB), der diesem weiteren reservierten Speicherabschnitt (SRB) zugeordnet ist, zu löschen. Daraus resultiert kein Zeitverlust im Vergleich zum Schritt c) der ersten Ausführungsform. Außerdem weist diese Operation den Vorteil auf, dass schnell und einfach bestimmt werden kann, welcher reservierte Speicherabschnitt (SRD) im Hinblick auf die nächste Aktualisierung und insbesondere während des Schritts b) dieser weiteren Aktualisierung verfügbar ist.
  • Der Schritt d) ist jenem ähnlich, der im Rahmen der ersten Ausführungsform des Verfahrens beschrieben wurde, und wird deshalb hier nicht noch einmal aufgegriffen.
  • Der Schritt e) besteht darin, alle Schritte vom Schritt b) bis zum Schritt d), selbstverständlich einschließlich des zusätzlichen Schritts f), für jede weitere Aktualisierung zu wiederholen.
  • Gemäß einer Variante der zweiten Ausführungsform des Verfahrens ist vorgesehen, alle Steuersektoren (SC) der reservierten Speicherabschnitte in ein und derselben Speicherzone zusammenzufassen, um ihre Abfrage zu erleichtern.
  • Selbstverständlich sind weitere Ausführungsformen des Aktualisierungsverfahrens denkbar, vorausgesetzt, dass die Daten auch im Fall einer Unterbrechung des Verfahrens immer noch zurückgewinnbar sind, dass der Speicherort dieser Daten immer noch einfach bestimmbar ist und dass die Dauer einer Aktualisierung insofern minimal ist, als das Löschen der reservierten und nicht reservierten Abschnitte gleichzeitig ausgeführt wird.
  • Außerdem sei angemerkt, dass es möglich ist, einen zusätzlichen Schritt vorzusehen, der darin besteht, den gesamten Steuersektor mit 0 zu programmieren, um anzugeben, dass das Programmieren oder Schreiben, das für die Aktualisierung ausgeführt wurde, fehlerfrei ausgeführt worden ist.
  • Schließlich sei angemerkt, dass es erforderlich ist, einen guten Kompromiss zwischen der Anzahl der reservierten und nicht reservierten Speicherabschnitte zu finden. Es ist nämlich vorteilhaft, die Mindestanzahl reservierter Speicherabschnitte, d. h. wenigstens 2, zu haben, um einen größtmöglichen Nutzspeicherraum zu haben. Dagegen ist es ebenfalls vorteilhaft, eine große Anzahl reservierter Speicherabschnitte zu haben, um die Lebensdauer des Speichers zu verlängern, da die Anzahl der Löschzyklen für jeden Teilabschnitt beschränkt ist. Ein effizienter Kompromiss läuft darauf hinaus, 1/8 des Speicherraums für die reservierten Speicherabschnitte zu verwenden.

Claims (7)

  1. Verfahren zum Aktualisieren von Daten für einen nichtflüchtigen Speicher, der in mehrere ähnliche und unabhängig voneinander löschbare Speicherabschnitte zerlegt ist, wovon wenigstens zwei (SRA, SRB) für die Aktualisierung der in jeder dieser Unterabteilungen (SM) enthaltenen Daten reserviert sind, wobei das Verfahren dadurch gekennzeichnet ist, dass es die folgenden Schritte umfasst: a) Löschen eines ersten reservierten Speicherabschnitts (SRA), falls vorher keiner der reservierten Speicherabschnitte gelöscht worden ist; b) Sichern der Daten eines zu aktualisierenden nicht reservierten Speicherabschnitts (SM) in dem gelöschten ersten reservierten Speicherabschnitt (SRD) oder in einem vorher gelöschten reservierten Speicherabschnitt; c) gleichzeitiges Löschen des nicht reservierten Speicherabschnitts (SM) und eines zweiten reservierten Speicherabschnitts (SRB); d) Aktualisieren der Daten des nicht reservierten Abschnitts (SM); e) Wiederholen der Schritte b) bis d) für alle anderen zu aktualisierenden nicht reservierten Speicherabschnitte (SM).
  2. Verfahren nach Anspruch 1, für das der Schritt b) in zwei Unterschritte unterteilt ist: b1) Kopieren der Daten des nicht reservierten Speicherabschnitts (SM) in externe flüchtige Speichermittel (REG); dann b2) Kopieren der Daten von den externen flüchtigen Speichermitteln (REG) in den gelöschten ersten reservierten Speicherabschnitt (SRD) oder in den vorher gelöschten reservierten Speicherabschnitt.
  3. Verfahren nach Anspruch 2, für das der Schritt d) in zwei Unterschritte unterteilt ist: d1) Aktualisieren der Daten, die in dem oder den im Schritt b) verwendeten Registern (REG) enthalten sind; d2) Kopieren der aktualisierten Daten von den Registern (REG) in den zu aktualisierenden Speicherabschnitt (SM).
  4. Verfahren nach einem der Ansprüche 1 bis 3, für das jedem der reservierten Speicherabschnitte (SR) ein Steuersektor (SCSR) zugeordnet ist, wobei das Verfahren dadurch gekennzeichnet ist, dass – im Schritt a) ein erster Steuersektor (SCSRA), der dem gelöschten ersten reservierten Speicherabschnitt (SRA) zugeordnet ist, gleichzeitig gelöscht wird, falls im Voraus kein reservierter Speicherabschnitt gelöscht worden ist; – im Schritt c) ein zweiter Steuersektor (SCSRB), der dem gelöschten zweiten reservierten Speicherabschnitt (SRB) zugeordnet ist, gleichzeitig gelöscht wird; und dass das Verfahren einen weiteren Schritt f) umfasst, der zwischen den Schritten b) und c) ausgeführt wird und darin besteht: f) eine Information in den ersten Steuersektor (SCSRU) des im Schritt b) vorher verwendeten ersten reservierten Speicherabschnitts zu schreiben, die die Verwendung dieses ersten Abschnitts anzeigt.
  5. Verfahren nach Anspruch 4, für das die Größe des Steuerabschnitts jedes der reservierten Speicherabschnitte an die Anzahl von nicht reservierten Speicherabschnitten angepasst ist und dass der weitere Schritt f) dann darin besteht: f) die Nummer oder die Adresse des zu aktualisierenden nicht reservierten Abschnitts (SM) in den ersten Steuersektor (SCSRU) des ersten reservierten Speicherabschnitts, der vorher im Schritt b) verwendet wurde, zu schreiben.
  6. Verfahren nach einem der vorhergehenden Ansprüche, für das parallel zu dem Verfahren eine zyklische redundante Verifikation (CRC) ausgeführt wird.
  7. Verfahren nach einem der vorhergehenden Ansprüche, für das die Anzahl der reservierten Speicherabschnitte 1/8 der Anzahl der nicht reservierten Speicherabschnitte entspricht.
DE60314979T 2003-04-11 2003-04-11 Verfahren zur Aktualisierung eines nichtflüchtigen Speichers Expired - Lifetime DE60314979T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP03008452A EP1467378B1 (de) 2003-04-11 2003-04-11 Verfahren zur Aktualisierung eines nicht flüchtigen Speichers

Publications (2)

Publication Number Publication Date
DE60314979D1 DE60314979D1 (de) 2007-08-30
DE60314979T2 true DE60314979T2 (de) 2008-04-10

Family

ID=32865005

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60314979T Expired - Lifetime DE60314979T2 (de) 2003-04-11 2003-04-11 Verfahren zur Aktualisierung eines nichtflüchtigen Speichers

Country Status (3)

Country Link
US (1) US7099990B2 (de)
EP (1) EP1467378B1 (de)
DE (1) DE60314979T2 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100746198B1 (ko) * 2005-07-08 2007-08-06 삼성전자주식회사 데이터 저장장치, 데이터 저장방법, 및 그 기록매체
US9348730B2 (en) * 2007-01-31 2016-05-24 Standard Microsystems Corporation Firmware ROM patch method

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69033438T2 (de) * 1989-04-13 2000-07-06 Sandisk Corp., Santa Clara Austausch von fehlerhaften Speicherzellen einer EEprommatritze
JPH07114500A (ja) * 1993-10-19 1995-05-02 Matsushita Electric Ind Co Ltd 不揮発性メモリ記憶装置
US6088759A (en) * 1997-04-06 2000-07-11 Intel Corporation Method of performing reliable updates in a symmetrically blocked nonvolatile memory having a bifurcated storage architecture
US6493807B1 (en) * 1999-07-01 2002-12-10 Intel Corporation Updating flash blocks
JP2001209543A (ja) * 2000-01-28 2001-08-03 Nec Ic Microcomput Syst Ltd フラッシュ・マイコンにおけるプログラム書き換え方法
EP1220229B1 (de) * 2000-12-29 2009-03-18 STMicroelectronics S.r.l. Ein elektrisch modifizierbarer nichtflüchtiger Halbleiterspeicher der eingeschriebene Daten solange hält, bis ihre Neuprogrammierung abgeschlossen ist
JP4772214B2 (ja) * 2001-06-08 2011-09-14 ルネサスエレクトロニクス株式会社 不揮発性記憶装置及びその書き換え制御方法

Also Published As

Publication number Publication date
EP1467378A1 (de) 2004-10-13
DE60314979D1 (de) 2007-08-30
EP1467378B1 (de) 2007-07-18
US7099990B2 (en) 2006-08-29
US20040205291A1 (en) 2004-10-14

Similar Documents

Publication Publication Date Title
DE60211653T2 (de) Teildatenprogrammier- und leseoperationen in einem nichtflüchtigen speicher
DE69430668T2 (de) Flash-speicher mit verringerter löschung und überschreibung
DE69431795T2 (de) Massenspeicherarchitektur mit flash-speicher
DE69034191T2 (de) EEPROM-System mit aus mehreren Chips bestehender Blocklöschung
DE19882933B4 (de) Flash-Speicher-Unterteilung für Lese-während-Schreiboperationen
DE60121697T2 (de) Verfahren zum ansteuern von remapping in einem flash-speicher und in einer dafür geeigneten flash-speicher-architektur
DE69433320T2 (de) Ferngesteuerter rreprogrammierbarer programmspeicher fuer einen mikrokontroller
DE69226847T2 (de) Datenverwaltungssystem für Halbleiterspeicher mit beschränkter Programmierung und I.C.-Speicherkarte mit solchem Datenverwaltungssystem
DE69839126T2 (de) Verschiebung aufeinander folgender sektoren innerhalb eines datenblocks in einem flash-massenspeicher
DE19681704B4 (de) Verfahren zum Ausführen eines Programms aus einem nichtflüchtigen Speicher heraus
DE60030876T2 (de) Bereichsverwaltung eines nichtflüchtigen Speichers mit hoher Kapazität
EP2923261B1 (de) VERFAHREN ZUR STEUERUNG EINES FLASH-SPEICHERS ZUR MASSENSPEICHERUNG, DER VON EINEM AN EINEN HOST ANSCHLIEßBAREN KOMMUNIKATIONSGERÄT UMFASST IST, UND COMPUTERPROGRAMMPRODUKT ZUR AUSFÜHRUNG DES VERFAHRENS
DE102008011514B4 (de) Steuerschaltung einer Flash-Speichervorrichtung und Verfahren zum Betreiben der Flash-Speichervorrichtung
DE69401291T2 (de) Integrierte Schaltung für Speicherkarte und Verfahren zum Abzählen der Einheiten in einer Speicherkarte
DE102009048179A1 (de) Prozess und Verfahren für eine Löschstrategie in Festkörperplatten
DE2515696A1 (de) Anordnung zum selektiven loeschen von teilen beziehungsweise zum ersatz von daten in einem cache-speicher
DE19960258A1 (de) Flash-Speicher-Einheit und Verfahren zur Steuerung des Flash-Speichers
DE102010037064A1 (de) Nichtflüchtige Speichervorrichtung und -system sowie Verfahren des Programmierens einer nichtflüchtigen Speichervorrichtung
DE602004008240T2 (de) Verfahren zum Verwalten von defekten Speicherblöcken in einem nicht-flüchtigen Speicher und nicht-flüchtiger Speicher zur Ausführung des Verfahrens
DE602004012923T2 (de) Wortweise programmierbarer Flash-Speicher
DE60314979T2 (de) Verfahren zur Aktualisierung eines nichtflüchtigen Speichers
DE69512456T2 (de) Verfahren und Schaltungen zur Löschung eines Speichers
EP3602275B1 (de) Verfahren und vorrichtung zum aktualisieren eines programmes
EP1514171A1 (de) Verfahren zur wiederherstellung von verwaltungsdatensätzen eines blockweise löschbaren speichers
DE112019007368T5 (de) Speichergerät und verfahren zur überwachung der leistungen eines speichergeräts

Legal Events

Date Code Title Description
8364 No opposition during term of opposition