[go: up one dir, main page]

DE10317465A1 - Aktualisierung eines Speicherbausteins - Google Patents

Aktualisierung eines Speicherbausteins Download PDF

Info

Publication number
DE10317465A1
DE10317465A1 DE2003117465 DE10317465A DE10317465A1 DE 10317465 A1 DE10317465 A1 DE 10317465A1 DE 2003117465 DE2003117465 DE 2003117465 DE 10317465 A DE10317465 A DE 10317465A DE 10317465 A1 DE10317465 A1 DE 10317465A1
Authority
DE
Germany
Prior art keywords
vector table
memory
data record
area
memory area
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
DE2003117465
Other languages
English (en)
Inventor
Martin Laichinger
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 DE2003117465 priority Critical patent/DE10317465A1/de
Publication of DE10317465A1 publication Critical patent/DE10317465A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Ein Speichersegment, insbesondere ein Flash-Speicher, enthält einen ersten Datensatz-Speicherbereich (P1), in dem eine Mehrzahl von Datensätzen (K, D1, ...Dn) gespeichert ist, wenigstens einen zweiten Datensatz-Speicherbereich (P2) und wenigstens zwei Vektortabellen-Speicherbereiche (V1, V2), in denen Vektortabellen gespeichert sind. Die Vektoren (VK, VD1, ...VDn) der ersten Vektortabelle (V1) weisen jeweils auf Datensätze in dem Datensatz-Speicherbereich (P1). Von den Vektoren der zweiten Vektortabelle (V2) weist wenigstens einer (VD2) auf einen Datensatz (D2') in dem zweiten Datensatz-Speicherbereich (P2). Die übrigen Vektoren weisen jeweils auf die gleichen Datensätze in dem ersten Datensatz-Speicherbereich (P1) wie ihnen entsprechende Vektoren der ersten Vektortabelle (V1). Die Aufteilung in Datensatz- und Vektortabellen-Speicherbereiche ist Ergebnis eines speziellen Aktualisierungsverfahrens.

Description

  • Stand der Technik
  • Die Erfindung betrifft ein Verfahren zum Aktualisieren eines mit einer Mehrzahl von Datensätzen beschriebenen Speicherbausteins und einen Speicherbaustein für ein solches Verfahren.
  • 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 ich vielmehr das ganze Flash-Segment, in dem sie enthalten ist, gelöscht und dann neu beschrieben werden. Dabei ergibt sich das Problem, dass der Inhalt aller anderen Zellen des Segments an anderer Stelle zwischengespeichert werden müsste, um diese Zellen nach dem Löschen mit den zwischengespeicherten Daten wieder herstellen zu kön nen. Dies ist nur dann möglich, wenn eine Datenverarbeitungsschaltung, in der ein solches Flash-Segment eingebaut ist, über Reservespeicher wenigstens in der Größe des Flash-Segments verfügt, um die Daten darin zwischenzusichern.
  • Ein anderes bekanntes Verfahren zum Aktualisieren eines Flash-Speichers in einer solchen Schaltung ist das so genannte Copy-Page-Verfahren. Dieses Verfahren erfordert das Vorhandensein von wenigstens zwei Flash-Segmenten. Eines dieser Segmente dient als aktive Page, d.h. ein Prozessor der Datenverarbeitungsschaltung greift bei seiner Arbeit laufend lesend auf dieses Segment zu. Wenn ein Datenwert der aktiven Page verändert werden muss, so wird in dem zweiten Segment eine so genannte Copy-Page erstellt, indem darin der veränderte Datenwert eingetragen und alle übrigen Datenwerte aus der aktiven Page unverändert hinüber kopiert werden. Wenn dieser Vorgang abgeschlossen ist, wird die Copy-Page aktiviert, d.h. der Prozessor greift nur noch auf das zweite Flash-Segment lesend zu, und das erste kann gelöscht und überschrieben werden.
  • Allen diesen Konzepten ist gemeinsam, dass sie eine Reserve an freiem Speicher wenigstens in der Größe eines Flash-Segments erfordern.
  • Es wäre zwar möglich, den absoluten Speicherbedarf der Datenverarbeitungsschaltung dadurch zu reduzieren, dass eine große Zahl von kleinen Flash-Segmenten eingesetzt wird, doch hat dies den Nachteil, dass die Kosten des Speicherplatzes um so höher sind, je kleiner die Segmente sind, aus denen er besteht. Dies macht Datenverarbeitungsschaltungen, die nach dem Copy-Page-Verfahren aktualisieren, vergleichsweise teuer.
  • Vorteile der Erfindung
  • Der Vorteil der vorliegenden Erfindung liegt darin, dass sie die Aktualisierung von Datensätzen in einem nur segmentweise löschbaren Speicher wie etwa einem Flash-Speicher bei geringen Kosten ermöglicht, und insbesondere ohne dass ein komplettes Speichersegment nur für die Aktualisierung in der Datenverarbeitungsschaltung vorgehalten werden muss. Vielmehr genügt für die Durchführung des erfindungsgemäßen Verfahrens ein einziges Speichersegment, das groß und damit vergleichsweise preiswert sein kann.
  • Diese Vorteile werden erzielt durch ein Verfahren zum Aktualisieren wenigstens eines Datensatzes in einem mit einer Mehrzahl von Datensätzen beschriebenen Speicherbaustein, wobei zu jedem Datensatz ein Eintrag in einer Vektortabelle existiert, der eine Zugriffsadresse spezifiziert, mit folgenden Schritten:
    • a) Identifizieren des wenigstens einen nicht mehr aktuellen Datensatzes aus der Mehrzahl von Datensätzen,
    • b) Identifizieren eines freien Speicherbereichs, als Datensatz-Speicherbereich bezeichnet, in dem eine aktuelle Fassung des wenigstens einen Datensatzes speicherbar ist,
    • c) Identifizieren eines freien Speicherbereiches, als Vektortabellen-Speicherbereich bezeichnet, in dem eine aktuelle Fassung der Vektortabelle speicherbar ist, in welcher der den wenigstens einen Datensatz betreffende Vektor auf den in Schritt b) identifizierten Speicherbereich weist, und
    • d) Eintragen der aktuellen Fassung der Vektortabelle und der aktuellen Fassung des wenigstens einen Datensatzes in den jeweils identifizierten Speicherbereichen.
  • Dies Verfahren kann im Bedarfsfalle mehrere Male wiederholt werden, so oft, bis im in der Datenverarbeitungsschaltung vorhandenen Speicher kein freier Speicherplatz für aktualisierte Datensätze und Vektortabellen mehr vorhanden ist.
  • Der Zugriff auf die jeweils aktuellen Datensätze erfolgt mit Hilfe der jeweils aktuellen Fassung der Vektortabelle. Um auf diese korrekt zugreifen zu können, sollte ein Zeiger auf die Vektortabelle in einem überschreibbaren Speicherbaustein gespeichert gehalten werden, auf den jeweils nach Schritt d) der zusätzliche Schritt
    • e) Überschreiben des Zeigers mit einer Zugriffsadresse der aktuellen Fassung der Vektortabelle
    angewendet wird.
  • Da die Kosten für eine gegebene Speicherkapazität um so geringer sind, je weniger und je größer die Speichersegmente sind, aus denen sie sich zusammensetzt, befinden sich Vektortabellen- und Datensatz-Speicherbereiche vorzugsweise in einem gleichen Speichersegment, d.h. das Identifizieren des freien Vektortabellen-Speicherbereichs und das Eintragen der aktuellen Fassung der Vektortabelle in dem identifizierten Speicherbereich finden in dem gleichen Speichersegment statt wie das Identifizieren des freien Datensatz-Speicherbereichs für die aktuelle Fassung des Datensatzes.
  • Vorzugsweise enthält die zuletzt gespeicherte Vektortabelle jeweils einen Zeiger auf einen freien Bereich des Speichersegments. Dieser kann in Schritt b) oder Schritt c) genutzt werden, um schnell und einfach Datensatz- oder Vektortabellen-Speicherbereich zu identifizieren.
  • Der Zeiger auf den freien Speicherbereich wird vorzugsweise erzeugt, indem bei der Wiederholung des Schritts d) eine Zugriffsadresse eines an den in diesem Schritt beschriebenen Speicherbereichs angrenzenden Speicherbereichs als Zeiger auf den freien Bereich in die Vektortabelle eingetragen wird.
  • Einer bevorzugten Ausgestaltung des Verfahrens zufolge werden in Schritt b) und Schritt c) jeweils aneinander grenzende Speicherbereiche identifiziert. Eine mögliche Alternative wäre, dass, wenn die Schritte a) bis d) mehrfach wiederholt werden, bei jeder Wiederholung des Schrittes b) bzw. c) ein Datensatz- bzw. Vektortabellen-Speicherbereich identifiziert wird, der an den in der vorhergehenden Wiederholung des gleichen Schritts identifizierten Datensatz- bzw. Vektortabellen-Speicherbereich angrenzt. So kann ein zusammenhängender freier Speicherbereich beispielsweise von beiden Seiten her jeweils schrittweise mit Datensatz- bzw. Vektortabellen-Speicherbereichen aufgefüllt werden.
  • Eine bevorzugte Anwendung der Erfindung liegt in der Fertigung einer Datenverarbeitungsschaltung, die einen anhand der in dem Speicherbaustein gespeicherten Information gesteuerten Prozessor und wenigstens einen mit dem Prozessor zusammenwirkenden Peripheriebaustein umfasst. Hier kann in das Speichersegment vorab, noch bevor ein genaues Modell des Peripheriebausteins bekannt ist, mit dem der Prozessor kombiniert werden wird, eine Gruppe von Standard-Datensätzen eingetragen werden, und eine Aktualisierung wenigstens eines dieser Datensätze durch einen für einen tatsächlich eingesetzten Peripheriebaustein spezifischen Datensatz findet statt, sobald die Identität dieses Peripheriebausteins festliegt, spätestens wenn er in die Datenverarbeitungsschaltung eingebaut ist. Das Verfahren ermöglicht aber auch eine Aktualisierung der Steuerinformation zu einem beliebigen Zeitpunkt während der Lebensdauer der Datenverarbeitungsschaltung, z.B. wenn der Peripheriebaustein durch Reparatur verändert oder ausgetauscht worden ist.
  • Ein Speichersegment gemäß der vorliegenden Erfindung zeichnet sich dadurch aus, dass es wenigstens einen Datensatz-Speicherbereich, in dem eine Mehrzahl von Datensätzen entsprechend den oben erwähnten Standard-Datensätzen gespeichert ist, wenigstens einen zweiten Datensatz-Speicherbereich und wenigstens zwei Vektortabellen-Speicherbereiche aufweist, in denen Vektortabellen gespeichert sind, wobei die Vektoren der ersten oder ursprünglichen Vektortabelle jeweils auf die Datensätze in dem ersten Datensatz-Speicherbereich weisen und von den Vektoren der zweiten Vektortabelle wenigstens einer auf einen Datensatz in dem zweiten Datensatz-Speicherbereich weist und die übrigen Vektoren jeweils auf die gleichen Datensätze in dem erstem Datensatz-Speicherbereich weisen wie ihnen entsprechende Vektoren der ersten Vektortabelle.
  • Der Speicherbereich der zweiten Vektortabelle ist vorzugsweise zwischen dem ersten und dem zweiten Datensatz-Speicherbereich eingeschlossen.
  • Jeder Vektortabellen-Speicherbereich enthält ferner vorzugsweise einen Vektor, der entweder auf einen weiteren Vektortabellen-Speicherbereich oder auf einen freien Speicherbereich weist.
  • Weitere Merkmale und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen mit Bezug auf die beigefügten Figuren. Es zeigen:
  • 1 ein Blockdiagramm einer Datenverarbeitungsschaltung mit einem Speichersegment gemäß der Erfindung;
  • 2 eine Aufteilung des Speichersegments vor dem endgültigen Zusammenbau der Datenverarbeitungsschaltung; und
  • 3 eine Aufteilung des Speichersegments nach einmaliger Aktualisierung.
  • Beschreibung der Ausführungsbeispiele
  • 1 zeigt ein Blockdiagramm einer Datenverarbeitungsschaltung, an der die vorliegende Erfindung anwendbar ist. Die Datenverarbeitungsschaltung umfasst in an sich bekannter Weise einen Mikroprozessor 1, ein Flash-Speichersegment 2, einen zellenweise elektrisch überschreibbaren Speicher wie etwa ein EEPROM 3, sowie eine Schnittstellenschaltung 4, die es dem Mikroprozessor 1 ermöglicht, mit an die Schnittstellenschaltung 4 angeschlossenen, in der Figur nicht dargestellten Peripheriebausteinen zu kommunizieren, oder die selber als ein Peripheriebaustein der Datenverarbeitungsschaltung aufgefasst werden kann. Die Komponenten 1 bis 4 sind untereinander durch einen Bus 5 verbunden.
  • Bei der Datenverarbeitungsschaltung kann es sich insbesondere um ein Motorsteuergerät für ein Kraftfahrzeug handeln, das anhand von diversen an einem Kraftfahrzeug gemessenen Betriebsparametern Größen wie etwa Zündzeitpunkt, zugeführte Kraftstoffmenge etc. regelt. Sensoren zum Erfassen der Parameter und Aktoren zum Beeinflussen der Größen sind an die Datenverarbeitungsschaltung über die Schnittstellenschaltung 4 angeschlossen. Sie können in einer großen Vielzahl von Typen zum Einsatz kommen, so dass ein Motorsteuergerät, das in unterschiedlichen Kraftfahrzeugmodellen einsetzbar sein soll, in der Lage sein muss, mit einer Vielzahl von solchen Typen von Sensoren und Aktoren zu kommunizieren, deren Messsignale korrekt zu verarbeiten und Steuersignale korrekt zu erzeugen. Die Steuerinformationen, auf die der Mikroprozessor 1 während des Betriebs zugreift, d.h. die Gesamtheit aus Steuerprogramm und Parameterwerten, die in dem Steuergerät gespeichert sein, können daher allenfalls zum Teil für alle Steuergeräte einer Serie einheitlich sein. Ein anderer Teil der Steuerinformation, der von den mit dem Mikroprozessor zusammenwirkenden Peripheriebausteinen abhängt, muss beim Zusammenbau des Steuergerätes – soweit diese Information von den Komponenten des Steuergerätes abhängt – oder erst beim Einbau des Steuergeräts in ein Kraftfahrzeug festgelegt werden.
  • Bei der nachfolgenden Beschreibung von Ausführungsbeispielen wird der Einfachheit halber davon ausgegangen, dass der Teil der Steuerinformation, der von den Peripheriebausteinen abhängt, mit denen das Steuergerät in einem Kraftfahrzeug kombiniert wird, nur aus Datenwerten besteht. Es liegt jedoch auf der Hand, dass auch eine Anpassung von Programmteilen in Abhängigkeit von den verwendeten Peripheriebausteinen erforderlich sein könnte, wobei allerdings die Verallgemeinerung der Erfindung auf die sen Fall für den Fachmann aus der nachfolgenden Beschreibung ohne Weiteres erkennbar ist.
  • Noch während der Entwicklung des Steuergerätes werden dessen Parameter sortiert in solche, die unabhängig vom Typ eines Peripheriebausteins, der an den Mikroprozessor des Steuergeräts angeschlossen werden soll, immer benötigt werden, und solche, deren Werte vom Typ eines verwendeten Peripheriebausteins abhängen oder die möglicherweise gar nicht benötigt werden, wenn ein entsprechender Peripheriebaustein nicht vorhanden ist. Die stets benötigten Parameter werden im Folgenden als Konstanten bezeichnet, diejenigen Parameter, dessen Werte von Vorhandensein oder Nichtvorhandensein und gegebenenfalls vom Typ eines bestimmten Peripheriebausteins abhängen, werden als ein diesem Peripheriebaustein zugeordneter Datensatz bezeichnet. Die Gesamtmenge der Betriebsparameter des Steuergerätes setzt sich also zusammen aus den Konstanten und einer Anzahl von für die verwendeten Peripheriebausteine spezifischen Datensätzen.
  • Um eine Prüfung der Funktionsfähigkeit des Steuergeräts bei dessen Hersteller zu ermöglichen, noch bevor es in ein Kraftfahrzeug eingebaut ist, muss es über vollständige Steuerinformation mit Konstanten und Datensätzen verfügen, wobei die vorhandenen Datensätze nicht zwangsläufig solche sind, die auch für den Betrieb des Steuergeräts, wenn es in einem Kraftfahrzeug eingebaut ist und mit einem für ein bestimmtes Fahrzeugmodell spezifischen Satz von Peripheriebausteinen zusammenarbeiten muss, geeignet sind.
  • 2 zeigt eine Aufteilung des Flash-Speichersegments 2 in einem solchen, noch nicht an eine spezifische Anwendungsumgebung in einem Kraftfahrzeug angepassten Zustand des Steuergeräts. Das Segment enthält einen Vektortabellen-Speicherbereich V1, in welchem eine Anzahl Vektoren VF, VK, VD1, ..., VDn gespeichert sind, sowie – eventuell, aber nicht notwendigerweise – unmittelbar an den Vektortabellen-Speicherbereich V1 angrenzend, einen Parameter-Speicherbereich P1, welcher seinerseits unterteilt ist in einen Speicherbereich K für die Konstanten und eine Mehrzahl von Speicherbereichen D1, ..., Dn für die Datensätze. Ein erster Vektor VF des Vektortabellen-Speicherbereichs V1 weist auf einen freien Speicherbereich F, der sich an den Parameter-Speicherbereich P1 anschließt.
  • Der Mikroprozessor 1 greift auf die Konstanten und Datensätze mit Hilfe eines Zeigers B zu, der auf einen vorgegebenen Vektor, hier den Vektor VK, des Vektortabellen-Speicherbereichs V1 weist. Dieser Zeiger B ist in dem EEPROM 3 gespeichert.
  • Erst wenn das Motorsteuergerät in ein Kraftfahrzeug eingebaut wird, eventuell auch erst, wenn es darin eingebaut ist, stehen sämtliche Peripheriebausteine fest, mit denen es zusammenarbeiten muss. In Kenntnis dieser Peripheriebausteine können nun diejenigen Datensätze des Parameter-Speicherbereichs P1 identifiziert werden, die an die vorhandenen Peripheriebausteine nicht angepasst sind und folglich nicht mehr aktuell sind und ersetzt werden müssen.
  • Der Vorgang des Ersetzens wird anhand der 3 beschrieben, wobei hier der Einfachheit halber davon ausgegangen ist, dass nur ein einziger Datensatz, der Datensatz D2, ersetzt werden muss.
  • Anhand des Zeigers VF im Vektor-Speicherbereich V1 identifiziert der Mikroprozessor den in 2 mit F bezeichneten freien Speicherbereich, der in der Lage ist, einen neuen Vektortabellen-Speicherbereich V2 aufzunehmen. Die Struktur des Vektortabellen-Speicherbereichs mit Vektoren VK, VD1 bis VDn, VF und infolgedessen die Ausdehnung des Vektortabellen-Speicherbereichs V2 ist die gleiche wie bei V1. Durch Addieren der Größe von V2 zum Wert des Zeigers VF kann der Mikroprozessor 1 somit eine Startadresse eines Datensatz-Speicherbereichs P2 berechnen, der sich an V2 anschließt und den aktualisierten Datensatz D2' aufnehmen kann. Die Werte derjenigen Vektoren, die auf nicht veränderte Datensätze weisen, bleiben unverändert. Nachdem die Werte aller Vektoren des neuen Vektortabellen-Speicherbereichs V2 feststehen, werden sie vom Mikroprozessor 1 – oder einem externen, zeitweilig an den Bus 5 angeschlossen Programmiergerät – in den Speicherbereich V2 eingetragen, und im Anschluss daran wird der aktualisierte Datensatz D2' geschrieben.
  • Wenn festgestellt wird, dass nicht einer, sondern mehrere der Datensätze im Speicherbereich P1 aktualisierungsbedürftig sind, so ist es natürlich möglich, die mehreren aktualisierten Datensätze in den Datensatz-Speicherbereich P2 zu schreiben und die Adressen dieser Datensätze in den entsprechenden Vektoren des Vektortabellen-Speicherbereichs V2 einzutragen.
  • Es ist aber auch möglich, eine Mehrzahl von Aktualisierungen durchzuführen, indem jeweils in dem freien Speicherbereich F, auf den der Vektor VF des zuletzt angelegten Vektortabellen-Speicherbereichs V2 weist, ein neuer Vektortabellen-Speicherbereich V3 und dazugehörige aktualisierte Datensätze eingetragen werden, so lange, bis eine erneute Aktualisierung daran scheitert, dass in dem Flash-Speichersegment kein Platz mehr zur Verfügung steht.
  • Selbstverständlich kommen auch Aufteilungsschemata des Speichersegments in Betracht, die von dem in 2 und 3 gezeigten Muster abweichen. Während bei den bisher betrachteten Beispielen der freie Speicherbereich des Flash-Segments 2 nur von einer Seite her jeweils gemischt mit Vektortabellen-Speicherbereichen V2, V3, ... und Datensatz-Speicherbereich P2, ... aufgefüllt wird, ist es insbesondere denkbar, einen aktualisierten Vektortabellen-Speicherbereich jedes Mal an ein erstes Ende des freien Speicherbereichs, z.B. bei niedrigen Adressen, zu schreiben, und einen aktualisierten Datensatz-Speicherbereich an einem zweiten Ende des freien Speicherbereichs zu platzieren, so dass der freie Speicherbereich sukzessive von beiden Seiten her aufgefüllt wird.

Claims (11)

  1. Verfahren zum Aktualisieren eines mit einer Mehrzahl von Datensätzen (K, D1, -Du) beschriebenen Speichersegments, insbesondere eines Flash-Speichers (2), wobei zu jedem Datensatz (K, D1, ..., Dn) ein Eintrag (VK, VD1, ..., VDn) in einer Vektortabelle (V1) existiert, der eine Zugriffsadresse des Datensatzes spezifiziert, mit den Schritten: a) Identifizieren wenigstens eines nicht mehr aktuellen Datensatzes (D2) aus der Mehrzahl von Datensätzen, b) Identifizieren eines freien Datensatz-Speicherbereichs (P2), in dem eine aktuelle Fassung (D2') des wenigstens einen Datensatzes speicherbar ist, c) Identifizieren eines freien Vektortabellen-Speicherbereichs (V2), in dem eine aktuelle Fassung der Vektortabelle speicherbar ist, in welcher der den wenigstens einen Datensatz betreffende Vektor (VD2) auf den in Schritt b) identifizierten Speicherbereich weist, d) Eintragen der aktuellen Fassung der Vektortabelle und der aktuellen Fassung des wenigstens einen Datensatzes in den jeweils identifizierten Speicherbereichen (V2, P2).
  2. Verfahren nach Anspruch 1, bei dem ein Zeiger auf die Vektortabelle (V1, V2) in einem überschreibbaren Speicherbaustein (3) gespeichert gehalten wird, und bei dem auf Schritt d) jeweils der zusätzliche Schritt e) Überschreiben des Zeigers mit einer Zugriffsadresse der aktuellen Fassung der Vektortabelle folgt.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass das Identifizieren des freien Vektortabellen-Speicherbereichs (V2) und das Eintragen der aktuellen Fassung der Vektortabelle in dem gleichen Speichersegment (2) erfolgt wie das Identifizieren des freien Datensatz-Speicherbereichs (P2) für die aktuelle Fassung des Datensatzes (D2').
  4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die zuletzt gespeicherte Vektortabelle jeweils einen Zeiger (VF) auf einen freien Bereich (F) des Speichersegments enthält, und dass in Schritt b) oder Schritt c) freier Speicherbereich jeweils an der Zugriffsadresse identifiziert wird, auf die der Zeiger (VF) weist.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass bei jeder Wiederholung des Schritts d) eine Zugriffsadresse eines an den in diesem Schritt beschriebenen Speicherbereich angrenzenden Speicherbereichs (F) als Zeiger auf den freien Bereich in die in Schritt d) gespeicherte Vektortabelle eingetragen wird.
  6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in Schritt b) und c) jeweils aneinandergrenzende Speicherbereiche identifiziert werden.
  7. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die Schritte a) bis d) mehrfach wiederholt werden, und dass in jeder Wiederholung des Schrittes b) bzw. c) ein Speicherbereich identifiziert wird, der an den in der vorhergehenden Wiederholung des gleichen Schritts identifizierten Speicherbereich angrenzt.
  8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass es in der Fertigung einer Datenverarbeitungsschaltung eingesetzt wird, die einen anhand der in dem Speicherbaustein gespeicherten Informationen gesteuerten Prozessor (1) und wenigstens einen mit dem Prozessor zusammenwirkenden Peripheriebaustein (4) umfasst, und dass der wenigstens eine Datensatz (D2) für den Peripheriebaustein (4) spezifische Informationen enthält.
  9. Speichersegment, insbesondere Flash-Speicher, dadurch gekennzeichnet, dass es einen ersten Datensatz-Speicherbereich (P1), in dem eine Mehrzahl von Datensätzen (K, D1, ..., Dn) gespeichert ist, wenigstens einen zweiten Daten satz-Speicherbereich (P2) und wenigstens zwei Vektortabellen-Speicherbereiche (V1, V2) umfasst, in denen Vektortabellen gespeichert sind, wobei die Vektoren (VK, VD1, ..., VDn) der ersten Vektortabelle (V1) jeweils auf Datensätze in dem Datensatz-Speicherbereich (P1) weisen und von den Vektoren der zweiten Vektortabelle (V2) wenigstens einer (VD2) auf einen Datensatz (D2') in dem zweiten Datensatz-Speicherbereich (P2) weist und die übrigen Vektoren jeweils auf die gleichen Datensätze in dem ersten Datensatz-Speicherbereich (P1) weisen wie ihnen entsprechende Vektoren der ersten Vektortabelle (V1).
  10. Speichersegment nach Anspruch 9, dadurch gekennzeichnet, dass der zweite Vektortabellen-Speicherbereich (V2) zwischen dem ersten und dem zweiten Datensatz-Speicherbereich (P1, P2) eingeschlossen ist.
  11. Speichersegment nach Anspruch 9 oder 10, dadurch gekennzeichnet, dass jeder Vektortabellen-Speicherbereich (V1, V2) einen Vektor (VF) enthält, der entweder auf einen weiteren Vektortabellen-Speicherbereich (V2) oder auf einen freien Speicherbereich (F) weist.
DE2003117465 2003-04-16 2003-04-16 Aktualisierung eines Speicherbausteins Withdrawn DE10317465A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2003117465 DE10317465A1 (de) 2003-04-16 2003-04-16 Aktualisierung eines Speicherbausteins

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2003117465 DE10317465A1 (de) 2003-04-16 2003-04-16 Aktualisierung eines Speicherbausteins

Publications (1)

Publication Number Publication Date
DE10317465A1 true DE10317465A1 (de) 2004-11-11

Family

ID=33154250

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2003117465 Withdrawn DE10317465A1 (de) 2003-04-16 2003-04-16 Aktualisierung eines Speicherbausteins

Country Status (1)

Country Link
DE (1) DE10317465A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008002494A1 (de) 2008-06-18 2009-12-24 Robert Bosch Gmbh Verfahren zum Aktualisieren eines Speichersegments, Datenverarbeitungsschaltung und Speichersegment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102008002494A1 (de) 2008-06-18 2009-12-24 Robert Bosch Gmbh Verfahren zum Aktualisieren eines Speichersegments, Datenverarbeitungsschaltung und Speichersegment

Similar Documents

Publication Publication Date Title
DE19740525C1 (de) Verfahren zur Abspeicherung und Wiedergewinnung von Daten in einem Steuersystem, insbesondere in einem Kraftfahrzeug
DE10308545A1 (de) Verfahren und Vorrichtung zum Aktualisieren eines verteilten Programms
EP2318920B1 (de) Steuergerät für ein fahrzeug und verfahren für eine datenaktualisierung für ein steuergerät für ein fahrzeug
DE69326175T2 (de) Daten-Reprogrammierungsverfahren in einem EEPROM und in einer EEPROM-Karte
DE102005034611A1 (de) Speichersystem und zugehörige Betriebs- und Blockverwaltungsverfahren
DE19839680B4 (de) Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten
DE2847575A1 (de) Schablonen-mikrospeicher
EP0195885B1 (de) Verfahren und Anordnung zum nichtflüchtigen Speichern des Zählerstandes einer elektronischen Zählschaltung
EP1101153A2 (de) Verfahren zum applizieren von steuerdaten eines elektronischen kraftfahrzeug-steuergeräts
EP0500973B1 (de) EEPROM und Verfahren zum Ändern einer Initialisierungsroutine im EEPROM
DE102005013285B4 (de) Verfahren zum Konfigurieren eines Steuergeräts und Steuergerät
DE102006028695A1 (de) Elektronisches Steuersystem mit Fehlfunktionsüberwachung
DE3200626C2 (de) Verfahren zur Überprüfung, ob ein außer dem Hauptspeicher vorgesehener weiterer Speicher in ein Mikrocomputersystem eingefügt ist
DE102004013493B4 (de) Zugriffs-Verfahren für einen NAND-Flash-Speicherbaustein und ein entsprechender NAND-Flash-Speicherbaustein
DE19963475B4 (de) Verfahren und Vorrichtung zur Steuerung von Betriebsabläufen in einem Fahrzeug sowie zur Bereitstellung von Daten diesbezüglich
DE10321104B4 (de) Verfahren zur Ablage von veränderlichen Daten
DE10317465A1 (de) Aktualisierung eines Speicherbausteins
DE19705507C1 (de) Steuergerät
DE112019006886T5 (de) Systementwicklungsunterstützungsvorrichtung, Verfahren, Programm und Aufzeichnungsmedium
DE102005001430A1 (de) Verfahren zur Beschreibung von Speicherinhalten und zur Beschreibung des Transfers von Speicherinhalten
DE69130400T2 (de) Netzwerk und Verfahren zur Datenübertragung zwischen einem programmierbaren Steuergerät und mehreren Verarbeitungseinheiten
WO2001053944A2 (de) Redundanter datenspeicher
DE19748181B4 (de) Verfahren zum Prüfen einer Funktion oder Einrichtung eines Fahrzeugs
DE102016225308A1 (de) Verfahren und Vorrichtung zum Kalibrieren eines Steuergerätes
DE102005058690A1 (de) Einrichtung und Prozess zur Steuerdatenspeicherung

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
R016 Response to examination communication
R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee