DE102008061091A1 - Verfahren zur Durchführung eines sequentiellen Datenzugriffes - Google Patents

Verfahren zur Durchführung eines sequentiellen Datenzugriffes Download PDF

Info

Publication number
DE102008061091A1
DE102008061091A1 DE200810061091 DE102008061091A DE102008061091A1 DE 102008061091 A1 DE102008061091 A1 DE 102008061091A1 DE 200810061091 DE200810061091 DE 200810061091 DE 102008061091 A DE102008061091 A DE 102008061091A DE 102008061091 A1 DE102008061091 A1 DE 102008061091A1
Authority
DE
Germany
Prior art keywords
memory
data
address
access
sections
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.)
Withdrawn
Application number
DE200810061091
Other languages
English (en)
Inventor
Frank Wolz
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE200810061091 priority Critical patent/DE102008061091A1/de
Publication of DE102008061091A1 publication Critical patent/DE102008061091A1/de
Withdrawn 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/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/30Reduction of number of input/output pins by using a serial interface to transmit or receive addresses or data, i.e. serial access memory

Abstract

Es wird ein Verfahren vorgestellt, welches unter Verwendung des flüchtigen Speichers eines Flashbausteines nichtflüchtige Speicherzellen des Flash-Bausteines aktualisiert. Hierdurch kann die Datenrate beim Zugriff auf den Speicher mittels einer Datenverarbeitungseinrichtung reduziert werden.

Description

  • Die Erfindung betrifft ein Verfahren zur Durchführung eines sequentiellen Datenzugriffes auf einen Speicher mittels eines maschinenlesbaren Programms gemäß dem Anspruch 1.
  • Aus dem Stand der Technik sind sogenannte Flash-Speicherbausteine bekannt. Flash-Speicherbausteine sind digitale Speicherchips, die auch als Flash-EEPROM bekannt sind. Im Gegensatz zu gewöhnlichen EEPROM-Speichern lassen sich aber bei einem Flash-EEPROM die kleinsten adressierbaren Speichereinheiten, nicht einzeln löschen, denn ein Flash-Speicher ist mittels feingranularer Speicherstrukturen (z. B. Flash-Pages) realisiert, welche als Ganzes gelöscht werden müssen, sofern man ihren Dateninhalt ersetzten will. Für den Zugriff auf den Speicher umfassen diese Speicherbausteine in der Regel ein paralleles oder ein serielles Kommunikationsinterfaceinterface. Insbesondere Bausteine mit seriellem Kommunikationsinterfaceinterface (SPI) werden nachfolgend betrachtet, weil diese sehr kompakt realisiert und für die geplanten Anwendungen optimal geeignet sind. Unter Verwendung einer externen Datenverarbeitungseinheit ist ein Speicherzugriff auf den Flash-Speicher mittels des seriellen Interfaces jederzeit möglich. Für den Zugriff hält der Flash-Speicher einen Befehlssatz bereit, mittels dessen interne Speicheroperationen des Flash-Bausteins ausführbar sind.
  • Die Verwendung des seriellen Kommunikationsinterfaces bringt jedoch den Nachteil mit sich, dass beim Zugriff auf den Flash-Speicher im Falle der Aktualisierung z. B. einer Flash-Page die komplette Datenlast mittels der seriellen Schnittstelle zu bewältigen ist. Die externe Datenverarbeitungseinheit muss beispielsweise zur Änderung eines Datums in einer Page die komplette Page auslesen, das Datum modifizieren und anschließend zurück schreiben. Während dieses gesamten Zeitraumes ist zumindest diejenige Task, welche die Kommunikation übernimmt, aktiv und damit blockiert. Je nach Anwendungsfall sind sehr häufig Aktualisierungen von Pages erforderlich. Dementsprechend hoch ist der Kommunikationsaufwand.
  • Die Erfindung verwendet einen Flash-Speicher, welcher eine Schnittstelle zur Realisierung eines sequentiellen Zugriffes auf den Speicher, eine integrierte Datenverarbeitungseinheit, eine Vielzahl von voneinander unabhängigen und mittels Adressierung einzeln zugänglichen und bezüglich der Daten nichtflüchtigen Speicherabschnitten umfasst. Zusätzlich ist ein von den Speicherabschnitten separat ausgebildeter und separat adressierbarer integrierter flüchtiger zweiter Speicher als Datenpuffer umfasst.
  • Der integrierte flüchtige zweite Speicher (Datenpuffer) befindet sich zwischen dem seriellen Kommunikationsinterface (SPI) und dem eigentlichen nichtflüchtigen Flash-Speicher. Es handelt sich um einen SRAM-Puffer mit der Größe zum Beispiel einer Flash-Page.
  • Eine Änderung von in einem nichtflüchtigen Speicherabschnitt abgelegten Daten erfolgt erfindungsgemäß unter Verwendung des Datenpuffers mittels eines von dem Datenverarbeitungsmittel verarbeitbaren und für den Speicher spezifischen Befehlessatzes. Der Datenpuffer kann mittels des speichereigenen Befehlssatzes unter Verwendung des seriellen Kommunikationsinterfaces gelesen und beschrieben werden. Komplette Pages werden aus dem Flash-Speicher in den der Datenpuffer zwecks Änderung einzelner Bytes übertragen und anschließend zurück geschrieben. Diese Vorgänge laufen speicherintern ab, ohne dass die externe Datenverarbeitungseinheit nennenswerte Rechenleistung aufbringen müsste oder eine Task übermäßig lange aktiv sein müsste.
  • Dies reduziert die erforderliche Kommunikation zwischen einer externen Datenverarbeitungseinheit und dem Flash-Speicher erheblich und begrenzt diese lediglich auf die Übertragung der speicherspezifischen Befehle.
  • Eine Übertragung des gesamtes Speicherinhaltes der Pages an die Datenverarbeitungseinheit ist nun nicht mehr erforderlich. Dementsprechend weniger Rechenkapazität benötigen die auf der Datenverarbeitungseinheit ablaufenden Tasks, so dass die Rechenkapazität anderen Aufgaben zur Verfügung steht. Auch das serielle Kommunikationsinterface wird dabei nicht für die gesamte Dauer des Datenzugriffs blockiert.
  • Vorzugsweise werden im Rahmen des erfindungsgemäßen Verfahrens in einem ersten Schritt Daten von einem Speicherabschnitt ausgelesen und in den Datenpuffer geschrieben, wobei in einem zweiten Schritt die Daten im Datenpuffer modifiziert werden, und wobei in einem dritten Schritt die modifizierten Daten aus dem Datenpuffer ausgelesen und in einen Speicherabschnitt zurückgeschrieben werden. Dieser Speicherabschnitt kann identisch mit dem zuvor ausgelesenen Speicherabschnitt sein, es kann sich aber auch um einen anderen Speicherabschnitt handeln. Gegebenenfalls wird es erforderlich den Speicherabschnitt vor dem erneuten Beschreiben zu löschen.
  • Die Vorteile dieser Lösungen kommen beispielsweise zum Tragen bei der Regelung von elektrischen Antrieben, da hierbei mittels der externen Datenverarbeitungseinheit permanent Regelparameter verarbeitet und im Flash-Speicher abgelegt werden müssen. Stünde der Datenverarbeitungseinheit wegen der permanenten Speicherzugriffe nicht genügend Rechenleistung zur Verfügung, so könnte die Datenverarbeitungseinheit die Regelungsaufgaben gegebenenfalls nicht mehr mit der erforderlichen Geschwindigkeit abarbeiten. Trotz Verwendung einer seriellen Datenübertragung kann nun insbesondere auch bei häufig wiederkehrenden Speicher- und Aktualisierungsanforderungen ein sehr zeiteffizienter Speicherzugriff erfolgen und gleichzeitig können Soll- und Istwerte beispielsweise zu Regelzwecken verarbeitet werden.
  • Bei Flash-Speichern können, wie zuvor schon angedeutet, Daten nur in zuvor gelöschte Speicherzellen geschrieben werden. Ein Löschen kann häufig nur sektorweise, also über größere Bereiche hinweg erfolgen.
  • Aus diesem Grunde muss von der externen Datenverarbeitungseinheit, welche den Flash-Speicher ansteuert, in der Regel ein Reorganisationsverfahren ausgeführt werden, welches den kompletten löschbaren Bereich im Flash umkopiert und dabei partiell aktualisiert. Besonders bevorzugt wird daher eine Mehrzahl von Speicherabschnitten zu einem Speicherbereich zusammengefasst und die Adressen der Speicherabschnitte werden zusammenhängend in einem vom nichtflüchtigen Speicher oder vom Datenpuffer separaten externen Datenspeicher (z. B. Arbeitsspeicher) der Datenverarbeitungseinheit (z. B. Mikrocontroller) abgespeichert. Dies ermöglicht eine einfache Verwaltung der Flash-Speicherabschnitte mittels der externen Datenverarbeitungseinheit.
  • Vorteilhafterweise ist zumindest einem Speicherabschnitt eine erste Zählvariable zur Zählung von Speicherzugriffen zugeordnet, welche während eines Speicherabschnittzugriffes verändert wird. Der Inhalt der Zählvariable wird in dem der jeweiligen Zählvariable zugeordneten Speicherabschnitt (z. B. Flash-Page) abgespeichert. Für jeden Speicherabschnitt wird somit ein sogenannter „Alterungszähler” realisiert (z. B. 32-Bit-Wert), welcher zusätzlich zu den eigentlichen Daten im Speicherabschnitt abgespeichert wird. Mittels des „Alterungszählers” ist eine Aussage bezüglich der bisher erfolgten Anzahl der Zuggriffe (z. B. Schreibzugriffe) auf den Speicherabschnitt möglich, da ein Flash ja bekanntlich mit jedem Schreibzugriff altert und mit der Zeit seine Fähigkeit verliert, Daten nichtflüchtig zu speichern.
  • Bevorzugt wird jedem Speicherabschnitt eine zweite Zählvariable zur Zählung von Speicherzugriffen zugeordnet. Diese wird jedoch im Gegensatz zur ersten Zählvariablen nicht während des Speicherzugriffes, sondern erst nach Abschluss eines Speicherabschnittzugriffes verändert. Der Inhalt dieser Zählvariablen kann in einem, ggf. vom Flash-Speicher separaten, nichtflüchtigen Speicher, welcher für die Datenverarbeitungseinrichtung zugänglich ist, gespeichert werden. Stimmen die erste und die zweite Zählvariable nicht überein, so können hieraus Rückschlüsse bezüglich der Gültigkeit des aus der ersten Zählvariablen abgeleiteten Alters einer Page gezogen werden. Die zweite Zählvariable wird von einem auf der Datenverarbeitungseinrichtung ablaufenden Speichererwaltungssystem remanent gesichert, so dass sie auch nach einem Abschalten des Systems wieder zur Verfügung steht.
  • Eine sogenannte Adressenzuordnungstabelle ist vorgesehen, mittels welcher die physikalischen ersten Adressen von Speicherabschnitten logischen zweiten Adressen der Speicherabschnitte zugeordnet werden. Somit kann ein mittelbarer Datenzugriff über logische Adressen mittels der Adressenzuordnungstabelle auf die Speicherabschnitte realisiert werden. Die logische Adresse wird in dem der logischen Adresse zugeordneten Speicherabschnitt zusätzlich als Datum mit abgespeichert, wodurch dieser Speicherabschnitt eindeutig identifiziert werden kann. Exemplarisch sei P = {P1, ..., Px} die Menge der im Flash zu sichernden Daten. Zur Sicherung der Daten werden im Flash zum Beispiel eine Menge zusammenhängender Pages reserviert. Diese Menge wird als Daten-Sicherungsbereich (DSB) bezeichnet. Zu jedem Datum Pk mit k = 1 ... x werden zwei 16-Bit-Werte vorgehalten: Der Pagelist-Index Ik und der Page-Offset Ok. Diese Werte sind konstant und werden während der Betriebszeit eines auf der Datenverarbeitungseinheit ablaufenden Daten-Verwaltungssystems nie geändert.
  • Die Adressenzuordnungstabelle enthält bei Position Ik die physikalische Adresse der Page im Flash, in welcher das Datum Pk beginnt. Falls das Datum sich über mehrere Flash-Pages erstreckt, ist bei Position „Ik + d” der Adressenzuordnungstabelle die Adresse der d-ten Fortsetzungs-Page im Flash vorgesehen. Beginnen zwei Daten Pi und Pk in derselben Page m, so ist der Pagelist-Index Ii identisch mit Ik. Der Page-Offset Ok gibt an, ab welchem Byte-Offset in der Page mit dem Index Ik das Datum Pk beginnt.
  • Der weiter oben erwähnte Datensicherungsbereich (DSB) ist vorzugsweise dadurch gekennzeichnet, dass in der Adressenzuordnungstabelle logische erste und physikalische zweite Adressen von diesem Bereich zugeordneten Speicherabschnitten abgelegt werden. Dieser Datensicherungsbereich kann für einen aktuell laufenden Datenverarbeitungsprozess reserviert werden.
  • Vorzugsweise wird die Adresszuordnungstabelle automatisch erzeugt, wobei die Zuordnung einer physikalischen Adresse zu einer logischen Adresse unter Verwendung der logischen Adresse und unter Verwendung der ersten Zählvariablen derart erfolgt, dass nur diejenigen physikalischen Adressen einer logischen Adresse zugeordnet werden, deren Speicherabschnitte die höchsten Zählerstände für den Alterungszähler aufweisen. Hierdurch kann beispielsweise nach einem Neustart des auf der Datenverarbeitungseinheit ablaufenden Speicherverwaltungssystems die Adressenzuordnungstabelle eindeutig und vollautomatisch rekonstruiert werden. Eine remanente Sicherung von Daten ist nicht erforderlich. Bei der Rekonstruktion der Adressenzuordnungstabelle wird unter mehreren Pages, welche im Flash ggf. die gleiche logische Adresse beinhalten, die Adresse jener Page als physikalische Page-Adresse für die Adresszuordnungstabelle ausgewählt, deren Alterungsdatum (erste Zählervariable) am jüngsten (höchster Zählerstand) ist. Der Zählerstand darf jedoch nicht jünger sein als der des separat remanent gesicherten Alterungszählers, welcher mittels der zweiten Zählervariable realisiert ist.
  • Die letzte Bedingung ist notwendig, damit bei Sicherung eines sich über mehrere Pages erstreckenden Datums keine Inkonsistenzen entstehen können, wenn nicht alle zu aktualisierenden Pages gesichert werden konnten (z. B. wegen eines Stromausfalles). Die Inkonsistenzen werden vermieden, wenn der aktuelle Alterungszähler (zweite Zählvariable), der vor jedem Abschalten des Speicherverwaltungssystems remanent gesichert wird, erst nach dem vollständigem Sichern der Pages weitergezählt wird. Vorzugsweise wird die logische Adresse eines Speicherabschnittes im Rahmen der Erstellung der Adresszuordnungstabelle verworfen, sofern sich die erste dem Speicherabschnitt zugeordnete Zählvariable und die zweite remanent gespeicherte Zählvariable voneinander derart unterscheiden, dass die erste Zählvariable eine höhere Speicherzugriffsanzahl impliziert als die zweite Zählvariable.
  • Um unabhängig von der Speicherhardware oder einem Speicherhersteller zu bleiben, erfolgt der Zugriff auf die in den Speicherabschnitten abgelegten Daten vorzugsweise ausschließlich unter Verwendung ihrer logischen Adresse. Daten werden in einen Speicherabschnitt vorzugsweise beginnend ab einer Versatzadresse geschrieben, wobei jedem Datum der zuvor schon erwähnter Page-Offset (Versatzadresse) und ein Page-Index (logische Adresse) zugeordnet wird.
  • Mittels des aktuell laufenden Datenverarbeitungsprozess, welcher auf den nichtflüchtigen Speicher zugreift, werden unbenutzte logische Adressen von Speicherabschnitten in eine Listenstruktur übertragen und mittels der Listenstruktur (sogenannte Freiliste) verwaltet.
  • Diese Liste wird im Arbeitsspeicher (RAM) des auf einer Datenverarbeitungseinrichtung ablaufenden Speicherverwaltungssystems vorzugsweise in Form einer Warteschlangenstruktur (FIFO) für alle aktuell unbenutzten Speicherbereiche (z. B. Flash-Pages) des Datensicherungsbereiches vorgehalten. Mittels des Alterungszählers kann auch die sogenannte Freiliste nach einem Neustart des Speicherverwaltungssystems leicht rekonstruiert werden. Für jeden Speicherabschnitt (z. B. Page) des Datensicherungsbereiches wird zur Realisierung einer solchen Rekonstruktion die Adressenzuordnungstabelle durchlaufen. Falls eine Page des Datensicherungsbereiches nicht in der Adressenzuordnungstabelle vorhanden ist, wird sie in die Freiliste aufgenommen. Die Abfolge der Pages in der Freiliste wird anhand der in der Page abgelegten Alterungsinformation derart bestimmt, daß die Pages mit steigendem Alter näher am Ausgang der der FIFO liegen.
  • Die erfindungsgemäßen Vorteile ergeben sich insbesondere in Verbindung mit einer parametrierbaren Einrichtung zum Betrieb eines Servomotors, umfassend einen Speicher, insbesondere einen Flash-Speicher, in dem Parameter der Einrichtung abgelegt sind, sowie umfassend ein Mittel zur Verarbeitung der in dem Speicher abgelegten Parameter, wobei das Mittel derart realisiert ist, dass ein Datenzugriff auf die Parameter gemäß einem der vorhergehenden Verfahrensansprüche mittels eines maschinenlesbaren Programms erfolgt. Gleiches gilt auch für ein Antriebssystem umfassend eine erfindungsgemäße Einrichtung und einen Servomotor, welcher mittels der Einrichtung regelbar ist.
  • Zusammenfassend werden hier noch einmal die wesentlichen Vorteile des erfindungsgemäßen Verfahrens bzw. der erfindungsgemäßen Einrichtungen aufgeführt:
    Auch bei nichtdeterministisch auftretenden Speicheranforderungen wird die Alterung aller Flash-Pages überwacht und der Datenzugriff kann dementsprechend koordiniert werden.
  • Direkte Verwaltung von Flash-Pages: Nur sich ändernde Pages eines über mehrere Pages sich erstreckenden Datums sind zu schreiben.
  • Die Kommunikation zwischen der externen Datenverarbeitungseinrichtung und dem Flash-Speicher beschränkt sich auf die tatsächlich zu ändernden Daten. Die übrigen Daten einer zu aktualisierenden Page müssen nicht aus dem Flash ausgelesen werden. Es wird keine Reorganisation der Daten-Pages erforderlich.
  • Fast alle Verwaltungsdaten (z. B. Adressenzuordnungstabelle, Freiliste) können bei einem Neustart des Verwaltungssystems rekonstruiert werden und müssen nicht remanent gesichert werden.
  • Beispielhaft wird nachfolgend eine Datenaktualisierung für einen Datensatz erläutert, welcher sich über mehrere Pages eines Flash-Speicherbausteines mit seriellem (SPI) Kommunikationsinterface erstreckt.
  • Es sei Pi ein zu aktualisierendes Datum, und Sk die d-te Fortsetzungs-Page, in welcher die zu aktualisierende Stelle des Datums liegt. Mit Ii + d kann somit die Page Sk unter Verwendung der Adressenzuordnungstabelle adressiert werden. Es sei weiter Su das oberste Element der im RAM gebildeten Freiliste F für Flash-Pages.
    • 1. Pageadresse Su wird aus F entfernt.
    • 2. Page Sk wird in den internen SRAM-Puffer des Flash geladen.
    • 3. Datum und Alterungsinformation von Sk wird im Puffer aktualisiert.
    • 4. Su mit dem Pufferinhalt beschrieben (zuvor Löschen von Su).
    • 5. Die Adresse Ii + d wird durch die Adresse von Su ersetzt. (siehe Tabelle 1 und 2).
    • 6. Pageadresse Sk wird ungelöscht an die Freiliste F angehängt.
    Adressenzuordnungstabelle
    Position Inhalt
    Ii v
    Ii + 1 ...
    ... ...
    Ii + d k u
    Tab 1: Adressenzuordnungstabelle
  • Adresse k wurde durch Adresse u der Page Su in der Adressenzuordnungstabelle ersetzt.
    Flash
    Page Offset Page-Inhalt
    Sv 0 ...
    Oi Beginn des Datums Pi
    ...
    Sk 0 d-te Fortsetzung des Datums Pi (vor Update)
    ...
    Su 0 d-te Fortsetzung des Datums Pi (nach Update)
    Tab 2: Inhalt des Flash
    • FIFO-Freiliste vor Update: F = {TOP: Su, ...}
    • FIFO-Freiliste nach Update: F = {TOP: ..., Sk}
  • Ein Problem kann noch entstehen, wenn zuletzt nur eine partielle Sicherung durchgeführt wurde, d. h. im Flash bereits Pages existieren mit einem höheren Alterungsindex, als dies der wiederhergestellte aktuelle Alterungszähler angibt. Wird der Zähler nun im Zuge folgender Updates weitergezählt, kann es zu Dateninkonsistenzen kommen, wenn zufällig eine erneute Aktualisierung des Datums, dessen Aktualisierung nur partiell durchgeführt werden konnte, ansteht.
  • Das Problem kann mit folgender Vorgehensweise vermieden werden: Die logische Page-Adresse mit dem Wert 0 (Null) wird als „ungültig” definiert und nicht als Adresse den zu sichernden Daten zugeordnet. Die logische Page-Adresse von Pages, die bei einem Neustart jünger sind, als der remanent gesicherte aktuelle Alterungszähler, wird durch einfaches Überschreiben (d. h. ohne voriges Löschen der Page) auf Null gesetzt. Die so ungültig gemachten Pages können somit bei einem späteren Neustart nicht in die Adressenzuordnungstabelle aufgenommen werden, da sie keine gültige logische Page-Adresse beinhalten, andererseits werden sie – aufgrund des noch immer vorhandenen Alterungsdatums – stets zeitlich korrekt in die Freiliste eingefügt. Damit kann der Alterungszähler beim nächsten Daten-Sicherungsvorgang ohne weitere Betrachtung wie gewohnt weitergezählt werden.
  • Nachdem bei einem Neustart des Verwaltungssystems – wie oben beschrieben – die Adressenzuordnungstabelle rekonstruiert wurde, kann auch die Freiliste rekonstruiert werden.
  • Erreicht der Alterungswert einer Page einen bestimmten Zählerstand kann diese durch Pages aus der Freiliste ersetzt werden.

Claims (18)

  1. Verfahren zur Durchführung eines sequentiellen Datenzugriffes auf einen Speicher mittels eines maschinenlesbaren Programms, insbesondere auf einen Flash-Speicher, wobei der Speicher umfasst, eine Schnittstelle zur Realisierung eines sequentiellen Zugriffes auf den Speicher, eine integrierte Datenverarbeitungseinheit, eine Vielzahl von voneinander unabhängigen und mittels Adressierung einzeln zugänglichen und bezüglich der Daten nichtflüchtigen Speicherabschnitten sowie einen von den Speicherabschnitten separat ausgebildeten und separat adressierbaren integrierten flüchtigen zweiten Speicher als Datenpuffer, wobei eine Änderung von in einem Speicherabschnitt abgelegten Daten unter Verwendung des Datenpuffers mittels eines von dem Datenverarbeitungsmittel verarbeitbaren und für den Speicher spezifischen Befehles erfolgt.
  2. Verfahren nach Anspruch 1, wobei in einem ersten Schritt Daten von einem Speicherabschnitt ausgelesen und in den Datenpuffer geschrieben werden, wobei in einem zweiten Schritt die Daten im Datenpuffer modifiziert werden, und wobei in einem dritten Schritt die modifizierten Daten aus dem Datenpuffer ausgelesen und in einen Speicherabschnitt geschrieben werden.
  3. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei eine Mehrzahl von Speicherabschnitten zu einem Speicherbereich zusammengefasst und die Adressen der Speicherabschnitte zusammenhängend in einem vom nichtflüchtigen Speicher oder vom Datenpuffer separaten externen Datenspeicher, insbesondere des Arbeitsspeichers eines Mikrocontrollers, gespeichert werden.
  4. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei zumindest einem Speicherabschnitt eine erste Zählvariable zur Zählung von Speicherzugriffen zugeordnet ist, welche während eines Speicherabschnittzugriffes verändert wird, wobei der Inhalt der Zählvariable in dem der jeweiligen Zählvariable zugeordneten Speicherabschnitt gespeichert wird.
  5. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei zumindest einem Speicherabschnitt eine zweite Zählvariable zur Zählung von Speicherzugriffen zugeordnet ist, welche erst nach Abschluss eines Speicherabschnittzugriffes verändert wird, wobei der Inhalt der Zählvariablen in einem nichtflüchtigen Speicher gespeichert wird.
  6. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei die physikalischen ersten Adressen von Speicherabschnitten mittels einer Adressenzuordnungstabelle logischen zweiten Adressen der Speicherabschnitte zugeordnet werden, so dass ein mittelbarer Datenzugriff mittels der Adressenzuordnungstabelle auf die Speicherabschnitte realisiert ist, wobei die logische Adresse in dem der logischen Adresse zugeordneten Speicherabschnitt abgespeichert wird
  7. Verfahren gemäß Anspruch 6, wobei in der Adressenzuordnungstabelle logische erste und physikalische zweite Adressen von denjenigen Speicherabschnitten abgelegt werden, welche für einen aktuell laufenden Datenverarbeitungsprozess, welcher auf den nichtflüchtigen Speicher zugreift, relevante Daten enthalten.
  8. Verfahren gemäß einem der vorhergehenden Ansprüche 6 bis 7, wobei die Adresszuordnungstabelle automatisch erzeugt wird, wobei die Zuordnung einer physikalischen Adresse zu einer logischen Adresse unter Verwendung der logischen Adresse und unter Verwendung der ersten Zählvariablen derart erfolgt, dass nur diejenigen physikalischen Adressen einer logischen Adresse zugeordnet werden, deren Speicherabschnitte die höchsten Zählerstände aufweisen.
  9. Verfahren gemäß einem der vorhergehenden Ansprüche 6 bis 8, wobei die logische Adresse eines Speicherabschnittes im Rahmen der Erstellung der Adresszuordnungstabelle verworfen wird, sofern sich die erste dem Speicherabschnitt zugeordnete Zählvariable von der zweiten Zählvariable derart unterscheidet, dass die erste Zählvariable eine höhere Speicherzugriffsanzahl impliziert als die zweite Zählvariable.
  10. Verfahren gemäß einem der vorhergehenden Ansprüche 6 bis 9, wobei der Zugriff auf die Daten in den Speicherabschnitten ausschließlich unter Verwendung ihrer logischen Adresse erfolgt.
  11. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei Daten in einen Speicherabschnitt beginnend ab einer Versatzadresse geschrieben werden, wobei jedem Datum eine vorzugsweise feste Versatzadresse und eine vorzugsweise feste logische Adresse zugeordnet ist.
  12. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei von einem aktuell laufenden Datenverarbeitungsprozess, welcher auf den nichtflüchtigen Speicher zugreift, unbenutzte logische Adressen von Speicherabschnitten in eine Listenstruktur übertragen und mittels der Listenstruktur verwaltet werden.
  13. Verfahren gemäß Anspruch 12, wobei die Listenstruktur gemäß dem First In First Out-Prinzip verwaltet wird.
  14. Verfahren gemäß einem der vorhergehenden Ansprüche 12 bis 13, wobei die Verwaltung der logischen Speicherabschnittsadressen innerhalb der Listenstruktur unter Berücksichtigung zumindest einer der beiden Zählvariablen erfolgt.
  15. Verfahren gemäß einem der vorhergehenden Ansprüche 12 bis 14, wobei die Listenstruktur unter Verwendung der ersten Zählvariablen automatisch derart erzeugt und verwaltet wird, dass die Speicherabschnittsadressen mit der höchsten Speicherzugriffsanzahl an im wesentlichen einem Ende der Liste abgelegt werden.
  16. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei zumindest eine Adresse aus der Adressenzuordnungstabelle durch eine Adresse aus der Listenstruktur ersetzt wird.
  17. Parametrierbare Einrichtung zum Betrieb eines Servomotors, umfassend einen Speicher, insbesondere einen Flash-Speicher, in dem Parameter der Einrichtung abgelegt sind, sowie umfassend ein Mittel zur Verarbeitung der in dem Speicher abgelegten Parameter, wobei das Mittel derart realisiert ist, dass ein Datenzugriff auf die Parameter gemäß einem der vorhergehenden Verfahrensansprüche mittels eines maschinenlesbaren Programms erfolgt.
  18. Antriebssystem umfassend eine Einrichtung gemäß Anspruch 17 und einen Servomotor, welcher mittels der Einrichtung regelbar ist.
DE200810061091 2008-12-08 2008-12-08 Verfahren zur Durchführung eines sequentiellen Datenzugriffes Withdrawn DE102008061091A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200810061091 DE102008061091A1 (de) 2008-12-08 2008-12-08 Verfahren zur Durchführung eines sequentiellen Datenzugriffes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200810061091 DE102008061091A1 (de) 2008-12-08 2008-12-08 Verfahren zur Durchführung eines sequentiellen Datenzugriffes

Publications (1)

Publication Number Publication Date
DE102008061091A1 true DE102008061091A1 (de) 2010-06-10

Family

ID=42145682

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200810061091 Withdrawn DE102008061091A1 (de) 2008-12-08 2008-12-08 Verfahren zur Durchführung eines sequentiellen Datenzugriffes

Country Status (1)

Country Link
DE (1) DE102008061091A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014205924A1 (de) * 2014-03-31 2015-10-01 Robert Bosch Gmbh Speichereinheit für erweiterte Fahrzeugdatenaufzeichnung

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07244992A (ja) * 1994-03-02 1995-09-19 Oki Electric Ind Co Ltd 半導体記憶装置とメモリ制御方法
JPH0945091A (ja) * 1995-07-25 1997-02-14 Oki Micro Design Miyazaki:Kk 不揮発性メモリのデータ書き換え方法
DE10044505A1 (de) * 1999-09-10 2001-03-22 Aisin Seiki Steuergerät zur Speicherung von Steuerdaten in einem nichtflüchtigen Speicher
US20030058733A1 (en) * 2001-09-26 2003-03-27 Kabushiki Kaisha Toshiba. Flash memory rewrite circuit, semiconductor integrated circuit, memory card having the semiconductor integrated circuit thereof, method of rewriting flash memory and flash memory rewriting program
DE10227256C1 (de) * 2002-06-19 2003-12-18 Hyperstone Ag Verfahren zum Adressieren von blockweise löschbaren Speichern

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07244992A (ja) * 1994-03-02 1995-09-19 Oki Electric Ind Co Ltd 半導体記憶装置とメモリ制御方法
JPH0945091A (ja) * 1995-07-25 1997-02-14 Oki Micro Design Miyazaki:Kk 不揮発性メモリのデータ書き換え方法
DE10044505A1 (de) * 1999-09-10 2001-03-22 Aisin Seiki Steuergerät zur Speicherung von Steuerdaten in einem nichtflüchtigen Speicher
US20030058733A1 (en) * 2001-09-26 2003-03-27 Kabushiki Kaisha Toshiba. Flash memory rewrite circuit, semiconductor integrated circuit, memory card having the semiconductor integrated circuit thereof, method of rewriting flash memory and flash memory rewriting program
DE10227256C1 (de) * 2002-06-19 2003-12-18 Hyperstone Ag Verfahren zum Adressieren von blockweise löschbaren Speichern

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014205924A1 (de) * 2014-03-31 2015-10-01 Robert Bosch Gmbh Speichereinheit für erweiterte Fahrzeugdatenaufzeichnung

Similar Documents

Publication Publication Date Title
DE60319563T2 (de) Verwaltung der anzahl von löschungen in einem nicht-fluchtigem speicher
DE19600081C2 (de) Sicherung der Datenintegrität bei Datenträgerkarten
DE60030876T2 (de) Bereichsverwaltung eines nichtflüchtigen Speichers mit hoher Kapazität
DE19681704B4 (de) Verfahren zum Ausführen eines Programms aus einem nichtflüchtigen Speicher heraus
DE102009034651A1 (de) Prozess und Verfahren zur Abbildung von logischen Adressen auf physische Adressen in Festkörperplatten
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
EP0163096A1 (de) Einrichtung zur Rettung eines Rechnerzustandes
EP0067364B1 (de) Verfahren und Anordnung zum nichtflüchtigen Speichern des Zählerstandes einer elektronischen Zählschaltung
DE10238566A1 (de) Fenster-basierendes Flashspeicher-Speichersystem und Management und Zugriffsverfahren darauf
DE2331589A1 (de) Datenverarbeitungsanordnung
EP1514171B1 (de) Verfahren zur wiederherstellung von verwaltungsdatensätzen eines blockweise löschbaren speichers
DE102008061091A1 (de) Verfahren zur Durchführung eines sequentiellen Datenzugriffes
DE10321104B4 (de) Verfahren zur Ablage von veränderlichen Daten
EP1625592B1 (de) Vorrichtung und verfahren zum behandeln eines zustands eines speichers
DE10260103A1 (de) Verfahren und Vorrichtung zur Änderung von Software in einem Steuergerät sowie entsprechendes Steuergerät
DE10227256C1 (de) Verfahren zum Adressieren von blockweise löschbaren Speichern
EP0556430B1 (de) Verfahren zur Steuerung eines Peripheriesystems
DE102020206596A1 (de) Verfahren zum Betreiben eines Speichermediums und Recheneinheit mit Speichermedium
WO2002099650A2 (de) Verfahren zur verwaltung eines speichers einer chipkarte
EP0715313B1 (de) Verfahren zur Programmierung eines elektrisch löschbaren, nichtflüchtigen Speichers in einem elektronischen Rechengerät sowie Steuergerät zur Verwendung bei dem Verfahren
EP1276116B1 (de) Verfahren zur Speicherung zusammengehöriger Datensätze
WO2004001604A1 (de) Verfahren zum adressieren von blockweise löschbaren speichern
DE112015002881T5 (de) Speichervorrichtung, Flash-Speicher-Steuervorrichtung und Programm
EP1564754A2 (de) Verfahren und Vorrichtung zur Verwaltung von Daten in einem nichtflüchtigen Datenspeicher
DE102004001285B4 (de) Umprogrammierbare nichtflüchtige Halbleiter-Speichereinrichtung

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
R012 Request for examination validly filed
R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee