DE102008002494A1 - Verfahren zum Aktualisieren eines Speichersegments, Datenverarbeitungsschaltung und Speichersegment - Google Patents

Verfahren zum Aktualisieren eines Speichersegments, Datenverarbeitungsschaltung und Speichersegment Download PDF

Info

Publication number
DE102008002494A1
DE102008002494A1 DE200810002494 DE102008002494A DE102008002494A1 DE 102008002494 A1 DE102008002494 A1 DE 102008002494A1 DE 200810002494 DE200810002494 DE 200810002494 DE 102008002494 A DE102008002494 A DE 102008002494A DE 102008002494 A1 DE102008002494 A1 DE 102008002494A1
Authority
DE
Germany
Prior art keywords
memory
data
record
storage area
data set
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
DE200810002494
Other languages
English (en)
Inventor
Benoit Budiscak
Rocco Gonzalez Vaz
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 DE200810002494 priority Critical patent/DE102008002494A1/de
Publication of DE102008002494A1 publication Critical patent/DE102008002494A1/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
    • 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
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written

Abstract

Die Erfindung betrifft ein Verfahren zum Aktualisieren eines Speichersegments (1, 1'), insbesondere eines Flash-Speichers, mit einem Originaldatensatz-Speicherbereich (2, 2'), in dem eine Mehrzahl von Datensätzen (D1, 1...Dn, m) gespeichert ist, einem Datensatz-Instanzen-Speicherbereich (4, 4') und einem Vektoren-Speicherbereich (3, 3'), in dem eine Vektortabelle gespeichert ist, wobei die Vektoren (V1, 1...Vn, m) der Vektortabelle jeweils auf Datensätze (D1, 1...Dn, m) in dem Originaldatensatz-Speicherbereich (2, 2') weisen und wenigstens ein weiterer Vektor (D1, 1...Dn, m) auf jeweils einen Datensatz (D1, 1...Dn, m) in dem Datensatzinstanzen-Speicherbereich (4, 4') weist. Eine Plausibilisierung der Daten erfolgt gegen Regeln, die tolerierbare Abweichungen zwischen einer aktuellen Fassung wenigstens eines Datensatzes (D1, 1...Dn, m) und wenigstens einer vorhergehenden Fassung bzw. Instanz des jeweiligen Datensatzes (D1, 1...Dn, m) vorgeben.

Description

  • Stand der Technik
  • Die vorliegende Erfindung betrifft ein Verfahren zum Aktualisieren eines Speichersegments, insbesondere eines Flash-Speichers, mit den Verfahrenschritte a) bis d) gemäß Oberbegriff des Anspruchs 1, eine dazu geeignete Datenverarbeitungsschaltung nach Anspruch 11 und ein entsprechendes Speichersegment nach Anspruch 12.
  • Unter der Bezeichnung Flash-Speicher sind nichtflüchtige Speicherbausteine bekannt, bei denen unbeschriebene oder gelöschte Zellen jederzeit einzeln beschrieben werden können, bei denen das Löschen von Zellen aber nur segmentweise möglich ist. Ein Flash-Speicher kann daher nicht wie ein RAM-Baustein aktualisiert werden, in dem jeweils nur diejenigen Zellen, deren Inhalte nicht mehr aktuell sind, selektiv mit aktuellen Werten überschrieben werden. Um eine einzelne Zelle überschreiben zu können, muss vielmehr das ganze Flash-Segment, in dem sie enthalten ist, gelöscht und dann neu beschrieben werden.
  • Flash-Speicher werden unter anderem zur Emulation von EEPROMs (Electrically eraseable programmable read only memory) eingesetzt, um das bisher verwendete serielle EEPROM einzusparen. Im seriellen EEPROM liegen normalerweise Daten, die sich während des Betriebs, bzw. während der Lebensdauer eines Steuergeräts in einem Fahrzeug ändern können, wie z. B. Abgleichwerte, Wegfahrsperredaten etc. Bei der EEPROM-Emulation wird hierfür nun anstelle des seriellen EEPROMs der Flash-Speicher verwendet, welcher auf jedem Steuergerät sowieso verbaut ist.
  • Wie schon vorstehend beschrieben, lässt sich der Flash allerdings physikalisch bedingt nur einmalig Programmieren und muss anschließend vor dem erneuten Programmieren gelöscht werden. Die Segmentierung beim Programmieren und Löschen ist zudem unter schiedlich. Typischerweise kann 16- oder 32-Bit breit programmiert werden, aber nur sektorenweise gelöscht werden, wobei ein Sektor je nach Flashtyp zwischen 8 kB bis 256 kB groß sein kann. Somit lassen sich Werte im Flash nicht überschreiben wie im seriellen EEPROM, sondern es müssen neue Werte als Differenzen im noch nicht programmierten Bereich abgelegt werden.
  • Die Plausibilität dieser Differenzen zu ihren Vorgängerwerten bleibt dabei jedoch ungeprüft und ermöglicht z. B. eine Manipulation des Steuergeräts.
  • Die DE 103 17 465 beschäftigt sich mit der Aktualisierung von Datensätzen in einem nur segmentweise löschbaren Speicher wie etwa einem Flash-Speicher, ohne dass ein komplettes Speichersegment nur für die Aktualisierung in der Datenverarbeitungsschaltung vorgehalten werden muss.
  • Die DE 198 39 680 beschreibt, wie Datenfehler erkannt werden können, beispielweise bei fehlerhaften Speicher- oder Programmiervorgängen. Dazu werden beispielweise Paritätsbits herangezogen, die eine Fehlererkennung durch Checksummenbildungen erlauben.
  • Aufgaben und Vorteile der Erfindung
  • Der Vorteil der vorliegenden Erfindung liegt darin, dass eine umfassende und schnelle, dabei gleichzeitig einfache und kostengünstige Plausibilisierung von Datensätzen in einem Speichersegment, insbesondere einem Flash-Speicher, ermöglicht wird.
  • Offenbarung der Erfindung
  • Der genannte Vorteil der vorliegenden Erfindung wird durch die weiteren Verfahrensschritte nach dem kennzeichnenden Teil des Anspruchs 1 herbeigeführt, d. h. e) Speichern von Regeln, die tolerierbare Abweichungen zwischen einer aktuellen Fassung wenigstens eines Datensatzes und wenigstens einer vorhergehenden Fassung bzw. Instanz des jeweiligen Datensatzes vorgeben, und f) Überprüfen der aktuellen Fassung des wenigstens einen Datensatzes auf eine Verletzung der in Schritt e) festgelegten Regeln.
  • Die vorliegende Erfindung geht dabei davon aus, dass bei einer Aktualisierung von Datensätzen in einem Speichersegment die jeweils neuen Werte eines Datensatzes als Differenzen zu den vorhergehenden Werten dieses Datensatzes abgespeichert werden.
  • Aufbauend darauf besteht ein wesentlicher Punkt des erfindungsgemäßen Verfahrens in der Vorgabe eines Regelsatzes, anhand dessen die Plausibilität jeweils aktueller Fassungen von Datensätzen gegenüber ihrer Historie geprüft wird. Dabei kann insbesondere eine oder mehrere der Vorgängerinstanzen dieses Datensatzes in Betracht gezogen werden, was eine umfassende Plausibilisierung ihrer jeweiligen Werte ermöglicht. Da das Verfahren bevorzugt mit einem Flash-Speicher betrieben wird, ist es in Bezug auf Zugriffs- und Löschzyklen besonders schnell. Die Verwaltung zusätzlicher Einträge ist datentechnisch leicht realisierbar, womit ein serielles EEPROM überflüssig wird.
  • Bevorzugte Weiterbildungen des erfindungsgemäßen Verfahrens sind in den Ansprüchen 2 bis 10 angegeben.
  • Die Ansprüche 2 und 3 betreffen Regelungsgegenstände und die Kenntlichmachung von Regelverletzungen.
  • In einer bevorzugten Ausführungsform ist dabei vorgesehen, dass die Regeln Angaben darüber enthalten, in welche Richtung und/oder mit welcher Schrittweite sich bestimmte Daten ändern dürfen. Eine Richtung kann dabei mit positiv, negativ oder keiner Änderung angegeben werden, eine Schrittweite sich z. B. auf einen Kilometerstand, einen Betriebstundenzähler etc beziehen. Dies ermöglicht eine umfassende Überprüfung einer Entwicklung der Daten, bezogen auf eine oder mehrere Instanzen ihrer Historie.
  • Tritt eine Regelverletzung auf, ist es von Vorteil, wenn ein Fehler signalisiert und/oder gespeichert wird. Im Fall gespeicherter Fehler eröffnet sich die nachträgliche Diagnosemöglichkeit eines Steuergeräts, in dem das Speichersegment verbaut ist. Bei einem sofort signalisierten Fehler kann z. B. vorgesehen sein, dass der entsprechende Datensatz wieder gelöscht oder ein Standarddatensatz vorgegeben wird. Damit wird ein Tuningschutz zur Verhinderung von Manipulationen an dem Steuergerät möglich. Natürlich ist es grundsätzlich auch möglich, bei einer Fehlermeldung den entsprechend regelverletzenden Datensatz erst gar nicht einzutragen, womit fehlerhafte Dateneingänge ignoriert werden.
  • Die Ausführungsformen der Ansprüche 4 bis 6 betreffen den Aktualisierungsmechanismus des erfindungsgemäßen Verfahrens, der bei Erreichen einer Speichergrenze eintreten soll.
  • Danach ist in einer vorteilhaften Ausführungsform vorgesehen, dass die Schritte a) bis f) mehrfach wiederholt werden und dann, wenn in Schritt b) und/oder c) kein freier Spei cherabschnitt mehr identifizierbar ist, folgende weitere Schritte ausgeführt werden: g) Identifizieren der aktuellen Instanzen aller Datensätze in dem Originaldatensatz- und Datensatzinstanzen-Speicherbereich; h) Speichern der in Schritt g) identifizierten Instanzen der Datensätze an aneinandergrenzenden Speicherabschnitten eines Originaldatensatz-Speicherbereichs eines weiteren Speichersegments; i) Speichern einer Vektortabelle in einem Vektoren-Speicherbereich des weiteren Speichersegments, in der die Vektoren eingetragen sind, welche die Zugriffsadressen der in Schritt h) gespeicherten Instanzen der Datensätze spezifizieren, und j) Markieren des weiteren Speichersegments als aktives Segment. Damit ist ein schneller und einfacher Segmentwechsel vollzogen, der eine Fortführung des erfindungsgemäßen Verfahrens erlaubt, auch wenn die Speichergrenze eines Segments erreicht ist.
  • Bevorzugt wird in der Folge in einem weiteren Verfahrenschritt k) das ursprüngliche Speichersegment gelöscht, um einen weiteren Segmentwechsels bei Fortführung des Verfahrens zu ermöglichen. Damit sind nicht mehr als zwei Segmente notwendig, um das erfindungsgemäße Verfahren zu realisieren.
  • Zur Vermeidung von Dateninkonsistenzen im Verlauf des beschriebenen Segmentwechsels ist es von Vorteil, wenn jede Aktualisierung von Datensätzen während der Ausführung der Schritte g) bis j) bzw. der Schritte g) bis k) gesperrt wird.
  • Die Ansprüche 7 bis 10 betreffen die Speicherverwaltung des erfindungsgemäßen Verfahrens und seine bevorzugte Verwendung.
  • Danach ist es in einer bevorzugten Ausführungsform vorgesehen, dass die Schritte a) bis f) mehrfach wiederholt werden, und bei jeder Wiederholung des Schrittes c) bzw. d) ein Speicherabschnitt identifiziert wird, der an den in der vorhergehenden Wiederholung des gleichen Schrittes identifizierten Speicherabschnitt angrenzt. Damit ist sowohl im Vektoren-Speicherbereich wie im Originaldatensatz- bzw. Datensatzinstanzen-Speicherbereich eine optimale Speichernutzung gewährleistet.
  • Aus Gründen der Speicheroptimierung ist es zudem bevorzugt, wenn die Größe des Vektoren-Speicherbereichs in Abhängigkeit von der Größe des Speichersegments gewählt wird. Dadurch steht zur Adressierung der Datensätze in dem Originale- und dem Datensatzinstanzen-Speicherbereich ausreichend Speicherplatz zur Verfügung.
  • Zur Emulation eines seriellen EEPROMs wird dessen logische Block- und Page-Struktur bevorzugt mit Hilfe der Datensätze auf das physikalische Speichersegment abgebildet. Mit dem erfindungsgemäßen Verfahren kann damit das EEPROM auf diesem Segment emuliert werden.
  • Eine besonders einfache Realisierung des Verfahrens sieht dabei vor, einen EEPROM-Treiber (Handler) zur Durchführung des Verfahrens zu verwenden.
  • Der eingangs genannte Vorteil der vorliegenden Erfindung wird auch durch eine Datenverarbeitungsschaltung zur Verwaltung von Daten in einem Speichersegment, insbesondere einem Flash-Speicher erzielt, die zur Durchführung des Verfahrens nach einem der vorstehenden Ansprüche ausgebildet ist.
  • Dieser Vorteil wird zudem durch ein Speichersegment, insbesondere einen Flash-Speicher, mit einem Originaldatensatz-Speicherbereich, in dem eine Mehrzahl von Datensätzen gespeichert ist, einem Datensatzinstanzen-Speicherbereich und einem Vektoren-Speicherbereich herbeigeführt, in dem eine Vektortabelle gespeichert ist, wobei die Vektoren der Vektortabelle jeweils auf Datensätze in dem Originaldatensatz-Speicherbereich weisen und wenigstens ein weiterer Vektor auf jeweils einen Datensatz in dem Datensatzinstanzen-Speicherbereich weist.
  • Zur Speicheroptimierung sind die jeweiligen Datensätze in dem Originaldatensatz- und in dem Datensatzinstanzen-Speicherbereich vom Beginn dieser Speicherbereiche ausgehend aneinandergrenzend gespeichert.
  • Das erfindungsgemäße Verfahren bzw. die erfindungsgemäße Datenverarbeitungsschaltung wird im Folgenden anhand eines beispielhaften Speichersegments unter Bezugnahme auf die beigefügten Figuren erläutert. Gleiche oder gleichwirkende Teile sind mit gleichen Bezugsziffern versehen.
  • Kurze Beschreibung der Zeichnungen
  • Die einzige Figur zeigt ein erfindungsgemäßes Speichersegment in Form eines Flash-Speichers, mit einem Originaldatensatz-Speicherbereich, einem Vektoren-Speicherbereich und einem Datensatzinstanzen-Speicherbereich.
  • Ausführungsformen der Erfindung
  • Die einzige Figur zeigt ein erfindungsgemäßes Speichersegment 1 in Form eines Sektors eines Flash-Speichers, mit einem Originaldatensatz-Speicherbereich 2, einem Vektoren-Speicherbereich 3 und einem Datensatzinstanzen-Speicherbereich 4. Ein Sektorkopf(header)-Speicherbereich 5 beinhaltet verschiedene Flags, die Statusinformationen und Konfigurationsdaten des Sektors 1 wiedergeben.
  • Das heutige EEPROM-Layout eines seriellen EEPROMs wird durch die Datensätze D1,1 ... Dn,m in dem Originaldatensatz-Speicherbereich beibehalten, mit der bisherigen Block- und Page-Struktur. Diese logische Struktur wird mit Hilfe der Datensätze D1,1 ... Dn,m auf dem physikalischen Flash-Sektor 1 abgebildet. Eine Page kann dabei einer logischen EEPROM-Page von 32 Byte entsprechen. Der Index n soll dabei die jeweilige Nummer des Datensatzes und der Index m seine jeweilige Instanz bezeichnen, wobei m = 1 für die Originaldatensätze steht.
  • Die fehlerfreie Übertragung der Datensätze D1,1 ... Dn,m wird beispielhaft durch Bildung einer jeweiligen Prüfsumme CS (Checksum) in Quersumme oder Längssumme überprüft. Weitere lineare und/oder zyklisch ausführbare Prüfverfahren sind mit dem Hamming-Code, dem BCH-(Bose, Chand. h.uri, Hocquenghem)Code und dem Abramson-Code bekannt.
  • Der Vektoren-Speicherbereich 5 beinhaltet eine Vektortabelle, die sogenannte Page Allocation Table, in der die Verweise auf alle Instanzen von EEPROM-Pages abgelegt werden, sowohl auf die Originale (m = 1) wie auch auf die Kopien (m > 1). Explizit gezeigt sind in der Figur die Verweise der Vektoren V1,1 ... V3,1 auf die Originaldatensätze D1,1 ... D3,1 in dem Originaldatensatz-Speicherbereich 2 und die Verweise der Vektoren V1,2 ... V3,2 auf die erste Instanz dieser Datensätze D1,2 ... D3,2 in dem Datensatzinstanzen-Speicherbereich 4. Die Größe des Vektoren-Speicherbereichs 5 ist so gewählt, dass der gesamte Originaldatensatz- 2 und Datensatzinstanzen-Speicherbereich 4 adressiert werden kann. Dadurch wird eine optimale Speichernutzung sichergestellt.
  • Wird nun eine neue EEPROM-Page geschrieben, so wird eine neue Instanz von dieser Page angelegt, und diese wird in den freien Bereich nach dem Originaldatensatz-Speicherbereich 2 in das Flash 1 geschrieben. In der Page Allocation Table steht die Referenz (Pageindex) auf die neue Instanz der Page.
  • Vor oder nach dem Eintrag eines aktuellen Datensatzes wird dabei eine Plausibilitätsprüfung seiner Daten gegen vorformulierte Regeln durchgeführt, die Angaben z. B. darüber enthalten, in welche Richtung oder mit welcher Schrittweite sich bestimmte Daten ändern dürfen. Eine Richtung kann ein maximale positive, negative oder keine Änderung festlegen, die Schrittweite eine maximale Änderung eines Kilometerstands, eines Betriebsstundenzählers etc. Wird eine Regelverletzung festgestellt, kann von der Datenverarbeitungsschaltung eine Fehlermeldung ausgegeben und/oder gespeichert werden. Dadurch ist sowohl eine sofortige Reaktion auf den Datensatzeintrag und/oder dessen nachträgliche Diagnose möglich.
  • Im vorliegenden Beispiel soll eine Fehlermeldung ausgegeben werden, die z. B. von einem Steuergerät mit einem darin verbauten Flash-Speicher 1 an die Armaturentafel eines Fahrzeugs signalisiert und dort angezeigt wird. Gleichzeitig kann der aktuelle Datensatz zwar eingetragen, eine weitergehende Auswertung aber verhindert werden. Dadurch entsteht ein wirksamer Schutz gegen nicht erwünschte Tuningeingriffe an dem Fahrzeug. Gleichzeitig wird der Fehler gespeichert, wodurch eine nachträgliche Diagnose des Steuergeräts möglich ist.
  • Das Schreiben neuer Instanzen der Datensätze D1,1 ... Dn,m geschieht nun so lange, bis der Flashsektor 1 mit neuen Instanzen gefüllt ist. Ist dies der Fall, so findet im Hintergrund ein Sektorenwechsel zu einem neuen Sektor 1' statt. Dieser neue Sektor 1' ist durch den Zustand 'wartend' gekennzeichnet, d. h. er ist frei bzw. gelöscht und kann neue Daten aufnehmen. Der neue Sektor 1 ist ansonsten nicht anders als der ursprüngliche Sektor 1 aufgebaut und partitioniert.
  • Bei diesem Sektorenwechsel werden alle aktuellen Datensätze, also alle aktuellen Instanzen aller Pages von dem Originaldatensatz- 2 und dem Datensatzinstanzen-Speicherbereich 4 in den Originaldatensatz-Speicherbereich 2' des neuen Sektors 1' geschrieben, der anschließend als 'aktiv' markiert wird. In dem Vektor-Speicherbereich 3' wird eine neue Page Allocation Table erzeugt, die Einträge enthält, welche die Originaldatensätze in dem Originaldatensatz-Speicherbereich 2' referenzieren. Der neue Sektor 1' wird nun von der EEPROM Emulation für das Schreiben neuer Page-Instanzen verwendet. Der ursprüngliche Sektor 1 wird im Hintergrund gelöscht, damit dieser für den nächsten Sektorenwechsel vorbereitet ist.
  • Für die Emulation wird ein EEPROM-Handler wie für ein serielles EEPROM verwendet. Die Schnittstellen zur Anwendungssoftware sowie die Konfiguration des EEPROM- Layouts bleiben unverändert. Es soll beispielhaft nur die zusätzliche Randbedingung gelten, dass für den Lösch- und Programmiervorgang die Interrupts im System für eine gewisse Zeit gesperrt werden, um Dateninkonsistenzen zu vermeiden. Diese Maximalzeit für die Interrupt-Sperre ist projektspezifisch konfigurierbar und muss jeweils im Projekt geprüft und festgelegt werden.
  • Das erfindungsgemäße Verfahren ist durch die einfache Speicherverwaltung und – aufteilung besonders einfach umzusetzen. Da sich die Zykluszeiten auf einem Flash-Speicher deutlich von denen eines EEPROMs unterscheiden, ist es auch besonders schnell. Die in das Verfahren integrierte Plausibilisierung der Daten weist die gleichen Vorteile auf. Im Rahmen des Verfahrens ist zudem eine umfassende Plausibilitätsprüfung gegen vorgegebene Regeln möglich, da wenigstens eine der vorhergehenden Instanzen eines jeden Datensatzes zur Verfügung steht und der Prüfung zugänglich ist. Eine Anzeige und/oder Speicherung von Regelverletzungen erlaubt einen effizienten Schutz vor unerwünschten Manipulationen und macht deren nachträgliche Diagnose möglich.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • - DE 10317465 [0006]
    • - DE 19839680 [0007]

Claims (13)

  1. Verfahren zum Aktualisieren eines Speichersegments (1, 1'), insbesondere eines Flash-Speichers, mit einem Originaldatensatz-Speicherbereich (2, 2'), der mit einer Mehrzahl von Datensätzen (D1,1 ... Dn,m) beschrieben ist, und einem Vektoren-Speicherbereich (3, 3') mit einer Vektortabelle, in der zu jedem Datensatz (D1,1 ... Dn,m) ein Eintrag (V1,1 ... Vn,m) existiert, der eine Zugriffsadresse des Datensatzes (D1,1 ... Dn,m) spezifiziert, mit den Schritten: a) Identifizieren wenigstens eines nicht mehr aktuellen Datensatzes aus der Mehrzahl von Datensätzen (D1,1 ... Dn,m); b) Identifizieren eines freien Datensatz-Speicherabschnitts in einem Datensatzinstanzen-Speicherbereich (4), in dem eine aktuelle Fassung bzw. Instanz des wenigstens einen Datensatzes (D1,1 ... Dn,m) speicherbar ist; c) Identifizieren eines freien Vektortabellen-Speicherabschnitts, in welchem der die aktuelle Instanz des wenigstens einen Datensatzes (D1,1 ... Dn,m) betreffende Vektor (V1,1 ... Vn,m) speicherbar ist, der auf den in Schritt b) identifizierten Speicherabschnitt verweist; d) Speichern des Vektors (V1,1 ... Vn,m) und der aktuellen Fassung des wenigstens einen Datensatzes (D1,1 ... Dn,m) in den jeweils identifizierten Speicherabschnitten, wobei das Verfahren durch weiteren Schritte gekennzeichnet ist: e) Speichern von Regeln, die tolerierbare Abweichungen zwischen einer aktuellen Fassung wenigstens eines Datensatzes (D1,1 ... Dn,m) und wenigstens einer vorhergehenden Fassung bzw. Instanz des jeweiligen Datensatzes (D1,1 ... Dn,m) vorgeben, und f) Überprüfen der aktuellen Fassung des wenigstens einen Datensatzes (D1,1 ... Dn,m) auf eine Verletzung der in Schritt e) festgelegten Regeln.
  2. Verfahren nach Anspruch 1, bei dem die Regeln Angaben darüber enthalten, in welche Richtung und/oder mit welcher Schrittweite sich bestimmte Daten ändern dürfen.
  3. Verfahren nach Anspruch 1 oder 2, bei dem ein Fehler signalisiert und/oder gespeichert wird, wenn eine Regelverletzung festgestellt wird.
  4. Verfahren nach einem der vorstehenden Ansprüche, bei dem die Schritte a) bis f) mehrfach wiederholt werden und dann, wenn in Schritt b) und/oder c) kein freier Speicherabschnitt mehr identifizierbar ist, folgende weitere Schritte ausgeführt werden: g) Identifizieren der aktuellen Instanzen aller Datensätze (D1,1 ... Dn,m) in dem Originaldatensatz- (2, 2') und Datensatzinstanzen-Speicherbereich (4, 4'); h) Speichern der in Schritt g) identifizierten Instanzen der Datensätze (D1,1 ... Dn,m) an aneinandergrenzenden Speicherabschnitten eines Originaldatensatz-Speicherbereichs (2, 2') eines weiteren Speichersegments (1, 1'); i) Speichern einer Vektortabelle in einem Vektoren-Speicherbereich (3, 3') des weiteren Speichersegments (1, 1'), in der die Vektoren eingetragen sind, welche die Zugriffsadressen der in Schritt h) gespeicherten Instanzen der Datensätze (D1,1 ... Dn,m) spezifizieren, und j) Markieren des weiteren Speichersegments (1, 1') als aktives Segment.
  5. Verfahren nach Anspruch 4, bei dem nach dem Schritt j) der folgende weitere Schritt ausgeführt wird: k) Löschen des ursprünglichen Speichersegments (1, 1') zum Vorbereiten eines weiteren Segmentwechsels bei Fortführung des Verfahrens.
  6. Verfahren nach Anspruch 4 oder 5, bei dem jede Aktualisierung von Datensätzen (D1,1 ... Dn,m) während der Ausführung der Schritte g) bis j) bzw. der Schritte g) bis k) gesperrt wird.
  7. Verfahren nach einem der vorstehenden Ansprüche, bei dem die Schritte a) bis f) mehrfach wiederholt werden, und bei jeder Wiederholung des Schrittes c) bzw. d) ein Speicherabschnitt identifiziert wird, der an den in der vorhergehenden Wiederholung des gleichen Schrittes identifizierten Speicherabschnitt angrenzt.
  8. Verfahren nach einem der vorstehenden Ansprüche, bei dem die Größe des Vektoren-Speicherbereichs (3, 3') in Abhängigkeit von der Größe des Speichersegments (1, 1') gewählt wird.
  9. Verfahren nach einem der vorstehenden Ansprüche, bei dem die logische Block- und Page-Struktur eines seriellen EEPROMs mit Hilfe der Datensätze (D1,1 ... Dn,m) auf das physikalische Speichersegment (1, 1') abgebildet wird.
  10. Verwendung eines EEPROM-Treibers für ein serielles EEPROM zur Durchführung des Verfahrens Anspruch 9.
  11. Datenverarbeitungsschaltung zur Verwaltung von Daten in einem Speichersegment (1, 1'), insbesondere einem Flash-Speicher, die zur Durchführung des Verfahrens nach einem der vorstehenden Ansprüche ausgebildet ist.
  12. Speichersegment (1, 1'), insbesondere Flash-Speicher, mit einem Originaldatensatz-Speicherbereich (2, 2'), in dem eine Mehrzahl von Datensätzen (D1,1 ... Dn,m) gespeichert ist, einem Datensatzinstanzen-Speicherbereich (4, 4') und einem Vektoren-Speicherbereich (3, 3'), in dem eine Vektortabelle gespeichert ist, wobei die Vektoren (V1,1 ... Vn,m) der Vektortabelle jeweils auf Datensätze (D1,1 ... Dn,m) in dem Originaldatensatz-Speicherbereich (2, 2') weisen und wenigstens ein weiterer Vektor (D1,1 ... Dn,m) auf jeweils einen Datensatz (D1,1 ... Dn,m) in dem Datensatzinstanzen-Speicherbereich (4, 4') weist.
  13. Speichersegment nach Anspruch 12, bei dem die jeweiligen Datensätze (D1,1 ... Dn,m) in dem Originaldatensatz- (2, 2') und in dem Datensatzinstanzen-Speicherbereich (4, 4') vom Beginn dieser Speicherbereiche ausgehend aneinandergrenzend gespeichert sind.
DE200810002494 2008-06-18 2008-06-18 Verfahren zum Aktualisieren eines Speichersegments, Datenverarbeitungsschaltung und Speichersegment Withdrawn DE102008002494A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200810002494 DE102008002494A1 (de) 2008-06-18 2008-06-18 Verfahren zum Aktualisieren eines Speichersegments, Datenverarbeitungsschaltung und Speichersegment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200810002494 DE102008002494A1 (de) 2008-06-18 2008-06-18 Verfahren zum Aktualisieren eines Speichersegments, Datenverarbeitungsschaltung und Speichersegment

Publications (1)

Publication Number Publication Date
DE102008002494A1 true DE102008002494A1 (de) 2009-12-24

Family

ID=41334643

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200810002494 Withdrawn DE102008002494A1 (de) 2008-06-18 2008-06-18 Verfahren zum Aktualisieren eines Speichersegments, Datenverarbeitungsschaltung und Speichersegment

Country Status (1)

Country Link
DE (1) DE102008002494A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015200808A1 (de) 2015-01-20 2016-07-21 Continental Automotive Gmbh Verfahren zur Behandlung von Unterbrechungen der Energieversorgung eines sektorweise löschbaren nichtflüchtigen Datenspeichers, elektronisches System und Computerprogrammprodukt

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19839680A1 (de) 1998-09-01 2000-03-02 Bosch Gmbh Robert Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten
DE10317465A1 (de) 2003-04-16 2004-11-11 Robert Bosch Gmbh Aktualisierung eines Speicherbausteins

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19839680A1 (de) 1998-09-01 2000-03-02 Bosch Gmbh Robert Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten
DE10317465A1 (de) 2003-04-16 2004-11-11 Robert Bosch Gmbh Aktualisierung eines Speicherbausteins

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015200808A1 (de) 2015-01-20 2016-07-21 Continental Automotive Gmbh Verfahren zur Behandlung von Unterbrechungen der Energieversorgung eines sektorweise löschbaren nichtflüchtigen Datenspeichers, elektronisches System und Computerprogrammprodukt

Similar Documents

Publication Publication Date Title
DE19740525C1 (de) Verfahren zur Abspeicherung und Wiedergewinnung von Daten in einem Steuersystem, insbesondere in einem Kraftfahrzeug
EP0067364B1 (de) Verfahren und Anordnung zum nichtflüchtigen Speichern des Zählerstandes einer elektronischen Zählschaltung
DE102008041360A1 (de) Steuergerät für ein Fahrzeug und Verfahren für eine Datenaktualisierung für ein Steuergerät für ein Fahrzeug
DE60222891T2 (de) Nichtflüchtige Speichervorrichtung und Selbstreparatur-Verfahren
DE102009033961A1 (de) Emulation eines einmal programmierbaren Speichers
DE102018124836A1 (de) Neuartiger speicherbaustein
DE102015209502A1 (de) Markierungsprogrammierung in nichtflüchtigen Speichern
DE102005040916A1 (de) Speicheranordnung und Betriebsverfahren dafür
EP2608037B1 (de) Verfahren zum Verwalten von Daten in einem Flash-Speicher, Fahrerassistenzeinrichtung und Kraftfahrzeug
DE102012101405B4 (de) Steuervorrichtung zum Steuern eines Datenlesens und - schreibens von und zu einem Flash-Speicher
DE102008002494A1 (de) Verfahren zum Aktualisieren eines Speichersegments, Datenverarbeitungsschaltung und Speichersegment
DE10321104B4 (de) Verfahren zur Ablage von veränderlichen Daten
DE10030990A1 (de) Verfahren zum Beschreiben und Löschen eines nichtflüchtigen Speicherbereichs
DE10260103A1 (de) Verfahren und Vorrichtung zur Änderung von Software in einem Steuergerät sowie entsprechendes Steuergerät
EP1564754B1 (de) Verfahren und Vorrichtung zur Verwaltung von Daten in einem nichtflüchtigen Datenspeicher
DE112015002881B4 (de) Speichervorrichtung, Flash-Speicher-Steuervorrichtung und Programm
WO2009103728A1 (de) Verfahren und vorrichtung zum speichern von informationsdaten
DE102004006308B4 (de) Verfahren zum Verändern von Programmcode eines tragbaren Datenträgers mittels Patchdaten
EP2002342A2 (de) Verfahren und recheneinheit zum betreiben einer speichereinrichtung
DE10340010B4 (de) Verfahren und Vorrichtung zum sicheren Speichern von Daten
DE102020208331A1 (de) Verfahren zum Betreiben eines Hardware-Sicherheits-Moduls
EP1593036A2 (de) Verfahren und vorrichtung zum modifizieren von modular aufgebauten nachrichten
DE102020006031A1 (de) Verfahren zum Erzeugen einer Softwarekomponente für eine elektronische Recheneinrichtung eines Kraftfahrzeugs, Computerprogrammprodukt, computerlesbares Speichermedium sowie kraftfahrzeugexternes Aktualisierungssystem
DE102020209236A1 (de) Verfahren zum Betreiben einer nicht-flüchtigen Speichereinheit
DE102008061091A1 (de) Verfahren zur Durchführung eines sequentiellen Datenzugriffes

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R012 Request for examination validly filed

Effective date: 20150422

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee