DE4209905C1 - Memory contents management system using EEPROM and RAM - compares new data with memory image stored in EEPROM, stores changed addresses of locations and writes corresp. contents in EEPROM - Google Patents

Memory contents management system using EEPROM and RAM - compares new data with memory image stored in EEPROM, stores changed addresses of locations and writes corresp. contents in EEPROM

Info

Publication number
DE4209905C1
DE4209905C1 DE19924209905 DE4209905A DE4209905C1 DE 4209905 C1 DE4209905 C1 DE 4209905C1 DE 19924209905 DE19924209905 DE 19924209905 DE 4209905 A DE4209905 A DE 4209905A DE 4209905 C1 DE4209905 C1 DE 4209905C1
Authority
DE
Germany
Prior art keywords
memory
eeprom
permanent
sab
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE19924209905
Other languages
English (en)
Inventor
Wolfgang 4793 Bueren De Pusch
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.)
Siemens AG
Original Assignee
Wincor Nixdorf International 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 Wincor Nixdorf International GmbH filed Critical Wincor Nixdorf International GmbH
Priority to DE19924209905 priority Critical patent/DE4209905C1/de
Application granted granted Critical
Publication of DE4209905C1 publication Critical patent/DE4209905C1/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store

Landscapes

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

Description

Die Erfindung betrifft ein System zur Verwaltung des Speicher­ inhaltes eines überschreibbaren Permanentspeichers. In elektro­ nischen Geräten werden in zunehmender Weise Speicherbausteine verwendet, deren Speicherinhalte auch bei einem Wegfall der Versorgungsspannung erhalten bleiben. Dennoch sind die Spei­ cherinhalte dieser Speicherbausteine mit neuen Daten über­ schreibbar. Bevorzugt werden als überschreibbare Permanent­ speicher sogenannte EEPROM (Electrically Erasable Programmable Read Only Memory) als Permanentspeicher eingesetzt. Ebenso wie andere Permanentspeicher weist auch der EEPROM eine gegenüber einem dynamischen oder statischen flüchtigen Speicher (RAM) erhöhte Zugriffszeit auf. Diese Zugriffszeit wird zusätzlich noch dadurch erhöht, daß aus Kostenersparnis- und Platzerspar­ nisgründen häufig EEPROM mit serieller Schnittstelle verwendet werden.
Neben dem Aspekt der Zugriffszeit auf den Permanentspeicher ist auch die Speichererhaltungszeit von Bedeutung. Die Her­ steller garantieren beispielsweise für eine Anzahl von 10 000 Speicherzyklen bei einem EEPROM eine maximale Speichererhal­ tungszeit von 10 Jahren. Wird die Anzahl der Speicherzyklen überschritten, vermindert sich die Speichererhaltungszeit. Bei häufigem Einschreiben neuer Daten kann deshalb der Permanent­ speicher bereits nach kurzer Zeit seinen Zweck der permanenten Datenhaltung nicht mehr erfüllen.
Aus der EP 03 98 654 A2 ist eine Einrich­ tung bekannt, bei der mit Hilfe einer dem Permanentspeicher zu­ geordneten Schreiblesespeicher RAM eine Erhöhung der Lebensdauer der Permanentspeicher erreicht wird. Hierbei wird ein neuer Da­ tensatz in den permanentspeicherstrukturierten Schreib-/Lese­ speicher eingeschrieben und anschließend der eingeschriebene mit dem Datensatz im Permanentspeicher verglichen. Nach einem Feststellen von Unterschieden wird der neue Datensatz in den Permanentspeicher abgespeichert.
Die der Erfindung zugrundeliegende Aufgabe besteht darin, ein System zur Verwaltung des Speicherinhaltes des überschreibba­ ren Permanentspeichers zu schaffen, das kurze Zugriffszeiten auf den Inhalt des Permanentspeichers erlaubt und die Lebens­ dauer des Permanentspeichers bei gleichbleibender Anzahl von Änderungen des Speicherinhaltes noch weiter erhöht.
Diese Aufgabe wird durch die im Patentanspruch 1 angegebenen Merkmale gelöst.
Hierbei wird in dem dem Permanentspeicher zugeordneten, schnel­ len Schreib-/Lesespeicher ein Speicherabbild des Permanentspei­ chers abgelegt. Der Speicherinhalt des Permanentspeichers ist also zweimal vorhanden, wobei lediglich der Permanentspeicher in der Lage ist, die Daten auch in stromlosem Zustand zu hal­ ten. Aus dem Schreib-/Lesespeicher können die gewünschten Da­ ten schneller ausgelesen werden als unmittelbar aus dem Perma­ nentspeicher. Das Auslesen der Daten ist auch möglich, während die Inhalte der im Änderungsspeicher vermerkten Speicherstel­ len des Speicherabbildes in die entsprechenden Speicherstellen des Permanentspeichers geschrieben werden.
Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung sind in mehreren Unteransprüchen angegeben. Im folgenden wird ein Ausführungsbeispiel der Erfindung anhand der Zeichnung er­ läutert. Es zeigen
Fig. 1 schematisch einige Komponenten eines Blockschaltbilds für ein Systems zur Verwaltung eines Permanentspeichers,
Fig. 2.1 die Speicherstruktur eines Speicherabbildes,
Fig. 2.2 die Speicherstruktur des Permanentspeichers,
Fig. 3 die Datenstruktur eines Änderungsspeichers,
Fig. 4 ein Ablaufdiagramm zur Eingabe eines Datensatzes,
Fig. 5.1 einen ersten Teil eines Ablaufdiagramms zur Änderung des Speicherinhaltes des Permanentspeichers,
Fig. 5.2 einen zweiten Teil eines Ablaufdiagramms gemäß Fig. 5.1,
Fig. 6 ein Ablaufdiagramm zur Ausgabe eines Datensatzes, und
Fig. 7 ein Ablaufdiagramm bei der Inbetriebnahme des Systems zur Verwaltung des Permanentspeichers.
Gemäß dem nachfolgenden Ausführungsbeispiel befindet sich das System zur Verwaltung eines Permanentspeichers EEPROM sowie der Permanentspeicher EEPROM selbst in einem Fernsprechendge­ rät. Datensätze DS dieses Fernsprechendgerätes enthalten mehr­ stellige Rufnummern. Permanentspeicher EEPROM, deren Daten D änderbar sein sollen, können jedoch in jedem beliebigen ande­ ren Gerät Verwendung finden. Die Anwendung des Systems zur Verwaltung des Speicherinhaltes eines überschreibbaren Perma­ nentspeichers EEPROM ist somit nicht auf Fernsprechendgeräte beschränkt.
Gemäß Fig. 1 wirken in einem System zur Verwaltung des Spei­ cherinhaltes eines überschreibbaren Permanentspeichers EEPROM ein schneller Schreib-/Lesespeicher RAM und eine Steuerung C, die über einen Datenbus BUS miteinander verbunden sind, zusam­ men. Der schnelle Schreib-/Lesespeicher RAM umfaßt zur Eingabe von Daten D ein Schreibregister SREG und zur Ausgabe von Daten nach außen ein Leseregister LREG. Ferner sind im schnellen Schreib-/Lesespeicher RAM ein Speicherbereich zur Aufnahme eines Speicherabbildes SAB des Permanentspeichers EEPROM und ein Änderungsspeicher AS zur Registrierung von geänderten Speicherstellen SPS enthalten. Über ein Ein-/Ausgaberegister EAR und einen seriellen, sogenannten I2C-Bus ICB ist der schnelle Schreib-/Lesespeicher RAM mit dem Permanentspeicher EEPROM verbunden.
Die Strukturierung des Permanentspeichers EEPROM ist in Fig. 2.2 dargestellt. Der Permanentspeicher EEPROM ist in bei­ spielsweise 25 Adreßbereiche eingeteilt. Jeder Adreßbereich, der die Adressen mehrerer Speicherstellen SPS umfaßt, beginnt mit einer Anfangsadresse N1 und endet mit einer Endadresse N2. Jeder Adreßbereich ist in der Lage, einen kompletten Datensatz DS, bestehend aus Länge L, Daten D und einer Prüfsumme PS auf­ zunehmen. Im Fall des Telefonendgerätes ist es zweckdienlich, für jeden Adreßbereich die gleiche Anzahl Speicherstellen SPS vorzusehen. Rufnummern mit über 20 Stellen sind nicht ge­ bräuchlich. Die maximale Länge L der Daten D dieses Beispiels ist deshalb 20. Wird eine sechsstellige Rufnummer gespeichert, dann wird für die Länge L der Wert 6 eingetragen. In Abhängig­ keit der Länge L und der Daten D bildet die Steuerung C die Prüfsumme PS. Mit Hilfe dieser Prüfsumme PS ist das System zur Verwaltung des Permanentspeichers EEPROM jederzeit in der La­ ge, die Richtigkeit der Daten D zu überprüfen.
Eine Überprüfung der Daten D anhand der Prüfsumme PS durch die Steuerung C liefert ein Ergebnis, das Auskunft darüber gibt, ob die Daten D richtig oder falsch sind. Dieses Ergebnis kann in unbenutzten Teilen von Speicherstellen SPS abgelegt werden. Da der Wert der Länge L bei einer maximal zwanzigstelligen Rufnummer maximal den Wert 20 annehmen kann, werden für das Speichern der Länge L lediglich 5 Bit benötigt. Geht man davon aus, daß eine Speicherstelle SPS 8 Bit breit ist, dann ergeben sich drei freie Bits an der Speicherstelle SPS der Länge L. Eines dieser freien Bits, beispielsweise das siebte Bit, wird als Fehlerflag F verwendet. Es genügt, dieses Fehlerflag F nur im Speicherabbild SAB gemäß Fig. 2.1 des Permanentspeichers EEPROM zu setzen, da beim Auslesen eines Datensatzes DS aus dem Permanentspeicher EEPROM stets die Richtigkeit der Daten D durch Bilden der Prüfsumme PS überprüft wird.
Zur Übertragung der Daten D vom Speicherabbild SAB in den Per­ manentspeicher EEPROM wird der Änderungsspeicher AS benötigt. Die Struktur des Änderungsspeichers AS ist in Fig. 3 darge­ stellt. Für jeden zu ändernden Datensatz DS wird im Änderungs­ speicher AS ein Änderungssatz ASS angelegt. Zunächst ist in diesem Änderungssatz ASS ein Offset OFS eingetragen, der den Abstand zum nachfolgenden Änderungssatz ASS angibt. Durch die­ sen Offset OFS ist eine Aneinanderreihung mehrerer Änderungs­ sätze ASS möglich. Mehrere Änderungssätze ASS werden zu einem Ring zusammengeschlossen, indem der Offset OFS des letzten Än­ derungssatzes ASS auf den ersten Änderungssatz ASS zeigt. Nach dem Offset OFS folgt die Datensatzanfangsadresse DSA des zu ändernden Datensatzes DS. Danach folgt für jede zu ändernde Speicherstelle SPS ein Datenoffset DOFS. Dieser Datenoffset DOFS gibt den Abstand von der Datensatzanfangsadresse DSA zur Adresse der jeweiligen Speicherstelle SPS an. Am Ende des Än­ derungssatzes ASS wird ein Prüfsummenoffset PSOFS eingetragen. Dieser Prüfsummenoffset PSOFS gibt den Abstand der Datensatz­ anfangsadresse DSA zu der Speicherstelle SPS an, in der die Prüfsumme PS gespeichert ist.
Der Änderungsspeicher AS wird bei der Eingabe eines Datensat­ zes DS gemäß dem in Fig. 4 gezeigten Ablaufdiagramm verwen­ det. In einem ersten Schritt S41 gelangt ein neuer Datensatz DS mit Angabe des Adreßbereichs, in dem er abgelegt werden soll, in das Schreibregister SREG des schnellen Schreib-/Lese­ speichers RAM. In einem zweiten Schritt S42 überprüft die Steuerung C, ob das Fehlerflag F des angesprochenen Datensat­ zes DS im Speicherabbild SAB gesetzt ist. Wenn der Datensatz DS nicht als fehlerhaft markiert ist, vergleicht die Steuerung C in einem dritten Schritt S43 den neuen Datensatz DS-NEU mit dem im genannten Adreßbereich des Speicherabbildes SAB gespei­ cherten Inhalt des alten Datensatzes DS-ALT. Werden keinerlei Änderungen festgestellt, dann ist der Vorgang der Eingabe eines neuen Datensatzes DS-NEU beendet. Wenn der ausgesproche­ ne Datensatz DS im Speicherabbild SAB als fehlerhaft markiert ist - wenn also das Fehlerflag F gesetzt ist - dann wird in einem ersten Nebenschritt S401 das Fehlerflag F rückgesetzt. In einem zweiten Nebenschritt S402 werden ohne eine Überprü­ fung vorzunehmen alle Inhalte der drei Speicherstellen SPS des angesprochenen Datensatzes DS als geändert registriert. Da­ durch ist sichergestellt, daß der Inhalt des Speicherabbildes SAB nicht vom Inhalt des Permanentspeichers EEPROM abweicht. In einem weiteren Schritt S44 werden die Anzahl der zu ändern­ den Speicherstellen SPS mit zugehörigem Offset DFS und die zu den zu ändernden Speicherstellen SPS weisenden Datenoffset DOFS berechnet. Die errechneten Werte und der Prüfsummenoffset PSOFS werden in der oben angegebenen Reihenfolge in einen Ände­ rungssatz ASS des Änderungsspeichers AS eingeschrieben.
In einem fünften Schritt S45 berechnet die Steuerung C die Prüfsumme PS des neuen Datensatzes DS-NEU. In einem sechsten Schritt S46 werden zumindest die gegenüber dem alten Datensatz DS-ALT veränderten Daten D des neuen Datensatzes DS-NEU und die neue Prüfsumme PS in das Speicherabbild SAB geschrieben. Anschließend wird in einem siebten Schritt S47 der Änderungs­ satz ASS zum Lesen freigegeben. Nach außen hin ist damit die Eingabe eines neuen Datensatzes DS-NEU beendet.
Das System zur Verwaltung des Speicherinhaltes des über­ schreibbaren Permanentspeichers EEPROM überträgt nun gemäß den Fig. 5.1 und 5.2 die geänderten Daten D des Datensatzes DS in den Permanentspeicher EEPROM. Die Steuerung C überprüft mit Hilfe eines Interrupt IR alle 10 msec in einem ersten Schritt S511, ob eine Schreibsperre SSPA für einen Änderungssatz ASS aktiv ist. Ist keine Schreibsperre SSPA aktiv, wird in einem zweiten Schritt S512 überprüft, ob ein Änderungssatz ASS zum Lesen freigegeben ist. Wenn ja, wird in einem dritten Schritt S513 überprüft, ob eine Lesesperre LSPE aktiv ist. Wenn kein Änderungssatz ASS zum Lesen freigegeben ist, dann wird der In­ terrupt IR beendet. Dieser wird ebenfalls beendet, wenn die Lesesperre LSPE aktiv ist. Die Lesesperre LSPE ist immer dann aktiv, wenn direkt aus dem Permanentspeicher EEPROM Daten D ausgelesen werden. Ist die Lesesperre LSPE nicht aktiv, dann wird in einem vierten Schritt S514 die Schreibsperre SSPA für den Änderungssatz ASS aktiviert. Die Schreibsperre SSPA ver­ hindert ein Beschreiben des Änderungssatzes ASS, in dem die Änderungen des Datensatzes eingetragen sind, der als nächstes im Permanentspeicher EEPROM geändert werden soll.
Zur Änderung eines Datensatzes DS wird in einem fünften Schritt S515 die Anzahl der geänderten Speicherstellen berech­ net. In einem sechsten Schritt S516 erfolgt die Berechnung der Quell- und Zieladresse der Speicherstelle SPS, die als nächste aus dem Speicherabbild SAB in den Permanentspeicher EEPROM übertragen wird. Die Quelladresse gibt die physikalische Adresse der Speicherstelle SPS im Speicherabbild SAB an, und die Zieladresse gibt die logische Adresse der entsprechenden Speicherstelle SPS im Permanentspeicher EEPPOM an. Diese Adressen können sich abhängig von der jeweiligen Speicherorga­ nisation unterscheiden. Liegen die Ouell- und die Zieladresse vor, dann wird in einem siebten Schritt S517 die das Lesen aus dem Permanentspeicher EEPROM verhindernde Schreibsperre SSPE aktiviert. Im nachfolgenden achten Schritt S518 werden die Da­ ten D in das Ein-/Ausgaberegister EAR übertragen und der Pro­ grammiervorgang im Permanentspeicher EEPROM eingeleitet. In einem neunten Schritt S519 wird eine Programmiersperre PSPE gesetzt und ein Programmierüberwachungszähler PUZ initiali­ siert. Anschließend wird der Interrupt IR beendet.
Im nächsten Interrupt IR, nach 10 msec, wird im ersten Schritt S511 die Schreibsperre SSPA für den Änderungssatz als aktiv erkannt. Dies hat zur Folge, daß in einem zweiten Programmteil des Interrupts IR in einem ersten Schritt S5101 überprüft wird, ob der interne Programmiervorgang im Permanentspeicher EEPROM abgeschlossen und damit die Programmiersperre PSPE de­ aktiviert ist. Ist dies der Fall, dann wird in einem zweiten Schritt S5102 überprüft, ob die Lesesperre LSPE aktiv ist. Ist dies der Fall, dann wird der Interrupt IR beendet. Andernfalls wird der erste Programmteil ab dem sechsten Schritt S516 wie­ derholt und damit weitere Daten D vom Speicherabbild SAB in den Permanentspeicher EEPROM übertragen.
Ist die Programmiersperre PSPE aktiv, dann werden die in Fig. 5.2 dargestellten Schritte abgearbeitet. In einem ersten Schritt S521 wird überprüft, ob der interne Programmiervorgang im Permanentspeicher EEPROM bereits beendet ist. Wenn nein, wird in einem ersten Schritt S5201 eines zweiten Programmteils der Fig. 5.2 der Programmierüberwachungszähler PUZ inkremen­ tiert. In einem zweiten Schritt S5202 wird überprüft, ob der maximale Zählerstand, z. B. 12, des Programmierüberwachungszäh­ lers PUZ bereits erreicht ist. Wenn nein, dann wird der Inter­ rupt IR beendet. Ist aber beim zwölften Aufruf in Folge der Programmiervorgang im Permanentspeicher EEPROM immer noch nicht abgeschlossen, dann wird in einem dritten Schritt S5203 die Programmiersperre aufgehoben. Anschließend werden ein fünfter, ein achter und ein neunter Schritt des ersten Pro­ grammteils der Fig. 5.2 abgearbeitet. Im fünften Schritt S525 wird das Fehlerflag F im betroffenen Datensatz DS des Spei­ cherabbildes SAB gesetzt. Im achten Schritt S528 wird die Schreibsperre SSPA für den betroffenen Änderungssatz ASS auf­ gehoben und im neunten Schritt SSPE wird auch die das Lesen aus dem Permanentspeicher EEPROM verhindernde Schreibsperre SSPE aufgehoben. Im Anschluß an den neunten Schritt wird der Interrupt IR beendet.
Wird im ersten Schritt S521 des ersten Programmteils der Fig. 5.2 ein Ende des internen Programmiervorgangs im Perma­ nentspeicher EEPROM festgestellt, dann wird in einem zweiten Schritt S522 die Programmiersperre PSPE deaktiviert. Im nach­ folgenden dritten Schritt S523 werden die soeben in eine Spei­ cherstelle SPS des Permanentspeichers EEPROM eingeschriebenen Daten D zum Ein-/Ausgaberegister EAR des schnellen Schreib-/ Lesespeichers RAM hin ausgelesen und in einem vierten Schritt S524 mit den dort vorhandenen Soll-Daten D verglichen. Sind diese Daten D identisch, dann wird in einem sechsten Schritt S526 die Anzahl der zu ändernden Speicherzellen SPS um eins vermindert. Im folgenden siebten Schritt S527 wird überprüft, ob noch weitere Speicherstellen SPS zu ändern sind. Ist dies nicht der Fall, wird der neunte Schritt S529 abgearbeitet und der Interrupt IR beendet. Sind noch weitere Speicherstellen SPS zu ändern, dann werden der achte und der neunte Schritt S528, S529 abgearbeitet und der Interrupt IR beendet. Wird im vierten Schritt S524 keine Übereinstimmung der Daten D festge­ stellt, dann werden die Schritte fünf, acht und neun S525, S528, S529 abgearbeitet und der Interrupt beendet.
Der Vorgang des Ausgebens eines Datensatzes DS ist in Fig. 6 in Form eines Ablaufdiagramms dargestellt. Von außen gelangt eine Anforderung zum Lesen eines bestimmten Datensatzes DS in das System zur Verwaltung des Permanentspeichers EEPROM. Die Steuerung C veranlaßt in einem ersten Schritt S61 das Lesen des angeforderten Datensatzes DS aus dem Speicherabbild SAB in das Leseregister LREG. In einem zweiten Schritt S62 wird das Fehlerflag F überprüft. Ist es gesetzt, dann wird eine Fehler­ meldung nach außen gegeben, das Leseregister LREG gelöscht und die Routine beendet. Ist das Fehlerflag nicht gesetzt, dann wird in einem dritten Schritt S63 die zugehörige Prüfsumme PS des Datensatzes DS berechnet. In einem vierten Schritt S64 wird diese Prüfsumme PS mit der im Datensatz DS gespeicherten Prüfsumme PS verglichen. Sind diese Prüfsummen PS identisch, dann wird der Datensatz über das Leseregister LREG nach außen abgegeben.
Unterscheiden sich die gespeicherte Prüfsumme PS und die er­ rechnete Prüfsumme PS, dann wird der Inhalt des Leseregisters LREG gelöscht und in einem fünften Schritt S65 die Lesesperre LSPE aktiviert. In einem sechsten Schritt S66 wird geprüft, ob die Schreibsperre SSPE aktiv ist. Dadurch wird ein Lesezugriff auf den Permanentspeicher EEPROM während des Einschreibens von Daten D in den Permanentspeicher EEPROM verhindert. Sobald die Schreibsperre SSPE inaktiv ist, wird der angeforderte Daten­ satz DS in einem siebten Schritt S67 direkt aus dem Perma­ nentspeicher EEPROM gelesen. Anschließend wird in einem ach­ ten Schritt S68 die Lesesperre LSPE deaktiviert. Die Steuerung C bildet in einem neunten Schritt S69 die Prüfsumme PS des aus dem Permanentspeicher EEPROM ausgelesenen Datensatzes DS und vergleicht sie mit der in dem Datensatz DS vorhandenen Prüf­ summe PS. Stimmen die Prüfsummen PS überein, wird der Daten­ satz DS nach außen über das Leseregister LREG ausgegeben. Um das wiederholte Auslesen des eben nach außen abgegebenen Da­ tensatzes DS beschleunigt zu ermöglichen, wird der aus dem Permanentspeicher EEPROM ausgelesene Datensatz DS an entspre­ chender Stelle im Speicherabbild SAB eingeschrieben.
Wird bei der Überprüfung der Prüfsumme PS des aus dem Perma­ nentspeicher EEPROM ausgelesenen Datensatzes DS ein Fehler festgestellt, dann wird das Fehlerflag F des entsprechenden Datensatzes DS im Speicherabbild SAB gesetzt und eine Fehler­ meldung nach außen abgegeben.
Bei der ersten Inbetriebnahme des Fernsprechendgerätes und bei einer Wiederinbetriebnahme, beispielsweise nach einem Aus­ fall der Versorgungsspannung des Fernsprechendgerätes, werden die Inhalte des Speicherabbildes SAB und des Permanentspei­ chers EEPROM einander angepaßt. In Fig. 7 ist in Form eines Ablaufdiagramms die Abfolge der Schritte bei der Inbetriebnah­ me des Systems zur Verwaltung des Permanentspeichers EEPROM dargestellt. Ausgelöst durch einen Reset RS wird in einem er­ sten Schritt S71 ein Initialisierungswert INIT aus einer defi­ nierten Speicherstelle SPS des Permanentspeichers EEPROM aus­ gelesen. In einem zweiten Schritt S72 wird dieser Initialisie­ rungswert INIT mit einem Soll-Initialisierungswert INIT ver­ glichen. Sind diese beiden Initialisierungswerte INIT iden­ tisch, dann werden von außen über das Schreibregister SREG zu­ geführte eine Grundeinstellung enthaltende Datensätze DS in der oben bei der Beschreibung von Fig. 4 dargelegten Weise in das Speicherabbild SAB eingeschrieben. In einem vierten Schritt wird im Speicherabbild SAB der Speicherplatz SPS, in dem der Initialisierungswert INIT abgelegt ist, gelöscht. Die Übertragung der nun im Speicherabbild SAB vorliegenden Daten D erfolgt in einem fünften Schritt S75 gemäß der oben in der Be­ schreibung zu Fig. 5 dargelegten Weise. Die Initialisierung des Permanentspeichers EEPROM erfolgt damit automatisch nach dem Initialisieren des Speicherabbildes SAB. Der von außen er­ kennbare Zeitaufwand für die Initialisierung verringert sich dabei erheblich. Während der Initialisierung des Permanent­ speichers EEPROM können bereits angeforderte Datensätze DS aus dem Speicherabbild SAB ausgelesen und nach außen abgegeben werden.
Erfolgt ein Reset RS nachdem die erste Initialisierung des Fernsprechgerätes zu einem früheren Zeitpunkt bereits einmal erfolgt war, dann ergibt der Vergleich beim zweiten Schritt S72 eine Ungleichheit des Initialisierungswertes INIT mit dem aus dem Permanentspeicher EEPROM ausgelesenen, in der Zwi­ schenzeit gelöschten Initialisierungswert INIT. Dies bedeutet, daß im Permanentspeicher EEPROM gültige Datensätze DS vorhan­ den sind, die, um Gleichheit der Daten D zu erreichen, voll­ ständig in das Speicherabbild SAB kopiert werden müssen. Gemäß Fig. 7 wird bei Feststellen einer Ungleichheit der Initiali­ sierungswerte INIT während der Ausführung des zweiten Schrit­ tes S72 in einem ersten Nebenschritt S701 das Auslesen der Da­ ten D aus dem Permanentspeicher EEPROM in das Speicherabbild SAB veranlaßt. Dieser Übertrag der Daten D erfolgt in der oben in der Beschreibung zu Fig. 6 in den Schritten 5 bis 11 dar­ gestellten Weise.
Das System zur Verwaltung des Speicherinhaltes eines Perma­ nentspeichers EEPROM ermöglicht ein quasi gleichzeitiges Schreiben und Lesen von Daten D. Zudem minimiert es die An­ zahl der Speicherzyklen, die zur Übertragung einer gegebenen Anzahl von Daten D in den Permanentspeicher EEPROM erforder­ lich sind, da nur geänderte Daten D in den Permanentspeicher EEPROM gelangen. Die Lebensdauer des Permanentspeichers EEPROM erhöht sich dadurch.
Außer den oben als Beispiel angeführten Telefonnummern, die in die Speicherstellen SPS der Datensätze DS eingeschrieben wer­ den, gibt es auch Daten D, die sehr häufig geändert werden. Beispielsweise sind dies Daten D zur automatischen Gebührener­ fassung bei Fernsprechendgeräten. Bei solchen Daten D läßt es sich nicht vermeiden, die entsprechenden Speicherstellen SPS im Permanentspeicher EEPROM häufig neu zu beschreiben. Deshalb werden für solche Daten D mehrere Datensätze DS vorgesehen, die nacheinander verwendet werden. Ein Adreßbereich eines Da­ tensatzes DS wird nach beispielsweise 10 000 Speicherzyklen nicht mehr weiterverwendet. Derselbe Datensatz DS wird in einen anderen Adreßbereich geschrieben. Welcher Adreßbereich zu einem bestimmten Zeitpunkt aktuell die Daten D aufnehmen soll, kann dem Permanentspeicher EEPROM über ein oder mehrere Informationsbit im Änderungsspeicher AS mitgeteilt werden. In Abhängigkeit dieser Informationsbits berechnet die Steuerung C die entsprechende Zieladresse.

Claims (8)

1. System zur Verwaltung des Speicherinhaltes eines über­ schreibbaren Permanentspeichers und eines schnellen Schreib-/ Lesespeichers, die jeweils in aus einer Mehrzahl von adres­ sierbaren Speicherstellen bestehende, einen Datensatz aufneh­ mende Abschnitte strukturiert sind, dadurch gekennzeichnet,
  • a) daß ein Speicherabbild (SAB) des Permanentspeichers (EEPROM) in einem schnellen Schreib-/Lesespeicher (RAM) abgelegt ist,
  • b) daß ein neuer, in einem bestimmten Abschnitt des Perma­ nentspeichers (EEPROM) einzuschreibender Datensatz (DS-NEU) mit dem in diesem Abschnitt des Speicherabbildes (SAB) vor­ handenen alten Datensatz (DS-ALT) verglichen wird,
  • c) daß die Adressen derjenigen Speicherstellen (SPS) des Ab­ schnittes, in denen sich der Speicherinhalt ändert, in einem Änderungsspeicher (AS) vermerkt werden,
  • d) daß zumindest die gegenüber dem alten Datensatz (DS-ALT) geänderten Daten (D) des neuen Datensatzes (DS-NEU) in das Speicherabbild (SAB) geschrieben werden, und
  • e) daß die Inhalte der im Änderungsspeicher (AS) vermerkten Speicherstellen (SPS) des Speicherabbildes (SAB) in die entsprechenden Speicherstellen (SPS) des Permanentspeichers (EEPROM) geschrieben werden.
2. System nach Anspruch 1, dadurch gekenn­ zeichnet, daß von außen angeforderte Datensätze DS aus dem Speicherabbild (SAB) ausgelesen werden.
3. System nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß jedem Daten­ satz DS eine aus den im Datensatz DS gespeicherten Daten (D) gebildete Prüfsumme (PS) zugefügt ist.
4. System nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß beim Fest­ stellen einer Ungleichheit einer gespeicherten Prüfsumme (PS) mit einer beim Auslesen eines Datensatzes (DS) errechneten Prüfsumme (PS) eine Fehlermeldung erfolgt.
5. System nach Anspruch 4, dadurch gekenn­ zeichnet, daß das Auslesen eines Datensatzes (DS) aus dem Speicherabbild (SAB) bei Auftreten einer Fehlermeldung un­ terbleibt und der entsprechende Datensatz (DS) direkt aus dem Permanentspeicher (EEPROM) ausgelesen wird.
6. System nach einem der Ansprüche 4 oder 5, dadurch gekennzeichnet, daß ein im Speicherabbild (SAB) in einem bestimmten Abschnitt gespeicherter Datensatz (DS) als fehlerhaft markiert ist, daß dem System zur Verwaltung des Permanentspeichers (EEPROM) ein neuer Datensatz (DS-NEU), der für diesen Abschnitt bestimmt ist, von außen neu zugeführt wird, daß der neue Datensatz (DS-NEU) vollständig in den Ab­ schnitt des Speicherabbildes (SAB) geschrieben wird und daß der neue Datensatz (DS-NEU) vollständig in den Permanentspei­ cher (EEPROM) geschrieben wird.
7. System nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß bei einer In­ betriebnahme des Systems zur Verwaltung des Permanentspeichers (EEPROM) der Speicherinhalt des Permanentspeichers (EEPROM) in das Speicherabbild (SAB) übertragen wird.
8. System nach einem der vorhergehenden Ansprüche, da­ durch gekennzeichnet, daß bei einer er­ sten Inbetriebnahme des Systems zur Verwaltung eines Perma­ nentspeichers (EEPROM) die einer Initialisierung dienenden Da­ ten (D) zunächst nur in das Speicherabbild (SAB) eingeschrie­ ben werden und daß das System anschließend die Daten (D) aus dem Speicherabbild (SAB) in den Permanentspeicher (EEPROM) überträgt.
DE19924209905 1992-03-26 1992-03-26 Memory contents management system using EEPROM and RAM - compares new data with memory image stored in EEPROM, stores changed addresses of locations and writes corresp. contents in EEPROM Expired - Fee Related DE4209905C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19924209905 DE4209905C1 (en) 1992-03-26 1992-03-26 Memory contents management system using EEPROM and RAM - compares new data with memory image stored in EEPROM, stores changed addresses of locations and writes corresp. contents in EEPROM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19924209905 DE4209905C1 (en) 1992-03-26 1992-03-26 Memory contents management system using EEPROM and RAM - compares new data with memory image stored in EEPROM, stores changed addresses of locations and writes corresp. contents in EEPROM

Publications (1)

Publication Number Publication Date
DE4209905C1 true DE4209905C1 (en) 1993-05-19

Family

ID=6455105

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19924209905 Expired - Fee Related DE4209905C1 (en) 1992-03-26 1992-03-26 Memory contents management system using EEPROM and RAM - compares new data with memory image stored in EEPROM, stores changed addresses of locations and writes corresp. contents in EEPROM

Country Status (1)

Country Link
DE (1) DE4209905C1 (de)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4402901A1 (de) * 1994-02-02 1995-08-03 Sel Alcatel Ag Vorrichtung und Verfahren zur Speicherung und Wiedergabe von digitalen Daten
DE19740525C1 (de) * 1997-09-15 1999-02-04 Siemens Ag Verfahren zur Abspeicherung und Wiedergewinnung von Daten in einem Steuersystem, insbesondere in einem Kraftfahrzeug
WO2015110280A1 (de) * 2014-01-21 2015-07-30 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum verschlüsseln, speichersystem für ein fahrzeug, kraftfahrzeug mit einem speichersystem und computerlesbares speichermedium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4716552A (en) * 1985-03-29 1987-12-29 Advanced Micro Devices, Inc. Method and apparatus for non-destructive access of volatile and non-volatile data in a shadow memory array
EP0398654A2 (de) * 1989-05-16 1990-11-22 Seiko Epson Corporation Anordnung, um Daten in einen EEPROM zu schreiben

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4716552A (en) * 1985-03-29 1987-12-29 Advanced Micro Devices, Inc. Method and apparatus for non-destructive access of volatile and non-volatile data in a shadow memory array
EP0398654A2 (de) * 1989-05-16 1990-11-22 Seiko Epson Corporation Anordnung, um Daten in einen EEPROM zu schreiben

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Electronic Design, 19. Sept. 1985, S. 183-186 u. 188 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4402901A1 (de) * 1994-02-02 1995-08-03 Sel Alcatel Ag Vorrichtung und Verfahren zur Speicherung und Wiedergabe von digitalen Daten
DE19740525C1 (de) * 1997-09-15 1999-02-04 Siemens Ag Verfahren zur Abspeicherung und Wiedergewinnung von Daten in einem Steuersystem, insbesondere in einem Kraftfahrzeug
FR2768529A1 (fr) * 1997-09-15 1999-03-19 Siemens Ag Procede de mise en memoire et recuperation de donnees dans un systeme de commande, notamment dans un vehicule automobile
WO2015110280A1 (de) * 2014-01-21 2015-07-30 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum verschlüsseln, speichersystem für ein fahrzeug, kraftfahrzeug mit einem speichersystem und computerlesbares speichermedium

Similar Documents

Publication Publication Date Title
EP0038947B1 (de) Programmierbare logische Anordnung
EP0195885B1 (de) Verfahren und Anordnung zum nichtflüchtigen Speichern des Zählerstandes einer elektronischen Zählschaltung
DE10308545A1 (de) Verfahren und Vorrichtung zum Aktualisieren eines verteilten Programms
DE2331589A1 (de) Datenverarbeitungsanordnung
EP1183690B1 (de) Speicheranordnung mit adressverwürfelung
DE19921232B4 (de) Verfahren zum gesicherten Schreiben eines Zeigers für einen Ringspeicher, zugehöriger Ringspeicher, Verwendung des Ringspeichers und Chipkarte mit Ringspeicher
DE2703559C2 (de)
DE60222891T2 (de) Nichtflüchtige Speichervorrichtung und Selbstreparatur-Verfahren
EP0123177B1 (de) Verfahren zum Betreiben eines als nichtflüchtigen Schreib-Lese-Speichers ausgebildeten Anwendungsspeichers und Anordnung zur Durchführung des Verfahrens
DE4209905C1 (en) Memory contents management system using EEPROM and RAM - compares new data with memory image stored in EEPROM, stores changed addresses of locations and writes corresp. contents in EEPROM
DE19602039A1 (de) Halbleiterspeichervorrichtung und Verfahren zum Schreiben von Daten in diese
EP0203409B1 (de) Verfahren und Anordnung zum nichtflüchtigen Speichern des Zählerstandes eines digitalen Zählers
DE10322723B3 (de) Vorrichtung und Verfahren zum Behandeln eines Zustands eines Speichers
DE10252059B3 (de) Verfahren zum Betreiben einer Speicheranordnung
DE1295656B (de) Assoziativer Speicher
DE60033818T2 (de) Verfahren und Schaltung zur Programmierung eines nichtflüchtigen Multibitspeichers mit einer reduzierten Anzahl von Kontaktstiften
DE1774849C3 (de) Adressierungseinrichtung für eine Speicherabschnittkette
DE3009317A1 (de) Hybrid-assoziativspeicher
DE2638703A1 (de) Elektronische speichervorrichtung
DE3137152A1 (de) Speicher-korrektureinheit
DE112004002832T5 (de) Sektorschutzschaltung für einen nichtflüchtigen Halbleiterspeicher, Sektorschutzverfahren und nichtflüchtiger Halbleiterspeicher
DE3202495A1 (de) Verfahren und vorrichtung zur ueberwachung einer kritischen anzahl von loesch- und/oder schreibzyklen eines elektrisch loeschbaren, programmierbaren nur-lese-speichers
DE1524791C3 (de) Schaltungsanordnung zur Kompensation schadhafter Speicherstellen in Datenspeichern
DE10128752A1 (de) Verfahren zur Ablage von Daten in einen Speicherbaustein
WO2001071725A1 (de) Verfahren und vorrichtung zum verarbeiten von fehleradressen

Legal Events

Date Code Title Description
8100 Publication of the examined application without publication of unexamined application
D1 Grant (no unexamined application published) patent law 81
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: SIEMENS AG, 80333 MUENCHEN, DE

8339 Ceased/non-payment of the annual fee