-
Die vorliegende Erfindung betrifft allgemein ein Verfahren zum Schreiben einer Binärzahl in einen Speicher, der eine beschränkte Anzahl von Schreibzyklen hat. Insbesondere betrifft die vorliegende Erfindung einen inkrementierenden Zähler mit verlängerter Schreiblebensdauer.
-
In vielen Anwendungen werden Vorrichtungen mit Speichern verwendet, um einen Wert eines Zählers für eine bestimmte Zeit zu speichern. Ein Funkautoschlüssel mit einem HF-Transmitter hat zum Beispiel einen internen Speicher. Bei jeder Verwendung des Schlüssels wird ein interner Zähler in dem Schlüssel inkrementiert. Der interne Zählerstand in dem Schlüssel wird verschlüsselt, und der verschlüsselte Zählerstand wird an das Auto gesendet, damit er mit einem entsprechenden in einem Speicher in dem Auto erzeugten und gespeicherten Zählerstand verglichen wird. Die in dem Schlüssel und in dem Auto gespeicherten Zählerstände werden bei jeder Verwendung des Schlüssels miteinander verglichen. Wenn die Zählerstände nicht innerhalb eines bestimmten Bereichs liegen, kann das Auto nicht mehr mit dem Schlüssel geöffnet werden, und es muss eine Synchronisation durchgeführt werden. Hierdurch wird zusätzliche Sicherheit in Bezug auf das Kopieren von Funkautoschlüsseln bereitgestellt. Ein Hauptproblem liegt in den beschränkten Schreibzyklen des Speichers in dem Schlüssel. Typischerweise werden EEPROMs verwendet, da sie nichtflüchtig sind, aber sie halten lediglich Tausende bis Hunderttausende von Schreibzyklen stand. Wenn die maximale Anzahl von Schreibzyklen erreicht ist, funktioniert die den Speicher verwendende Vorrichtung, d. h. z. B. der Funkautoschlüssel, nicht mehr richtig. Zur Vermeidung eines vorzeitigen Ausfalls des Schlüssels ist der Speicher in dem Schlüssel typischerweise redundant, d. h. es gibt mehr Speicher als für die bloße Bitlänge des Zählerstands benötigt wird. Dieser Ansatz erhöht jedoch die Kosten. Folglich gibt es einen allgemeinen Wunsch, die Lebensdauer des Speichers um einen gewissen Faktor zu verlängern, der für die meisten Anwendungen ausreicht.
-
Lediglich als veranschaulichendes Beispiel kann ein Zählerstand als 32-Bit- bzw. 4-Byte-Wort in einem Speicher gespeichert werden. In einem einfachen Ansatz des Schreibens des Zählerstands in den Speicher würden bei jeder Verwendung des Schlüssels 32 Bit gelöscht und erneut in den Speicher geschrieben. Für Binärzahlen schaltet jedoch jedes Mal, wenn der Zählerwert um Eins erhöht wird, lediglich das niedrigstwertige Bit um. Folglich hat die Position in dem Speicher, an der das LSB des 32-Bit-Worts gespeichert ist, die häufigste Änderung bzw. höchste Schreiblast. Somit werden die Bits mit der höheren Schreiblast periodisch mit Bits, die eine niedrigere Schreiblast haben (höher- oder höchstwertige Bits bzw. MSB), vertauscht. Die sich nicht verändernden Bits werden einfach beibehalten. Hierdurch werden Schreibzyklen des Speichers an den Stellen, an denen keine Änderung stattfindet, eingespart. Wenn die Speicherstellen jedoch ausgetauscht werden, werden zusätzliche Informationen darüber benötigt, wie und wo sich die spezifischen Bits des Zählerstands nach der Änderung befinden. Bestehende Lösungen fügen der Anzahl von für den Zählerstand benötigten Bits einige zusätzliche Bits hinzu. Wenn der Zählerstand zum Beispiel 32 Bit hat, können vier zusätzliche Bits dafür verwendet werden, sechzehn verschiedene Konfigurationen darüber anzugeben, wo sich die spezifischen Bits des Zählerstands nach einer Änderung befinden. Dieser Ansatz vergrößert jedoch den benötigten Speicher und erhöht dadurch die Kosten des entsprechenden Produkts.
-
Eine typische Vorrichtung gemäß dem Stand der Technik, bei welcher lediglich redundanter Speicher hinzufügt wird, ist aus der
US 4,803,707 bekannt.
-
Die vorliegende Erfindung stellt ein Verfahren zum Schreiben einer Binärzahl mit Länge N in einen Speicher bereit, der eine beschränkte Anzahl von Schreibzyklen hat. Das Verfahren umfasst das periodische Austauschen einer physischen Speicherstelle von Bits (R-Bit) niederer Wertigkeit mit Bits höherer Wertigkeit des Zählerstands in dem Speicher, das Speichern fester Bits des Zählers an festen physischen Speicherstellen und das Verwenden eines Bitwertemusters der festen Bits als Anzeige für die physischen Speicherstellen der periodisch auszutauschenden Bits (R-Bit). Folglich ordnet die vorliegende Erfindung bestimmte Bits des Zählerstands zu, die immer fest bzw. an denselben physischen Speicherstellen gespeichert sind, anstatt zusätzlich zu den für das Speichern des Zählerstands benötigten Bits zusätzliche Bits zu verwenden, wie es mit früheren Lösungen erforderlich war. Die Position dieser festen Bits in dem Zählerstand wird dann dafür verwendet, die physische Stelle in dem Speicher anzuzeigen, an der die sich ändernden Bits gespeichert sind. Das Vertauschen der Positionen von Bits in dem Zählerstand gemäß der vorliegenden Erfindung verlängert die effektive Schreiblebensdauer des Speichers, ohne dass zusätzlicher nichtflüchtiger Speicher benötigt wird. Folglich wird die Größe des benötigten Speichers im Vergleich zu bestehenden Lösungen verringert, da die Anzeige der Speicherstellen der sich ändernden Bits durch Bits in dem Zählerstand selbst bereitgestellt wird.
-
Vorzugsweise ist die Anzahl von festen Bits größer als oder gleich wie der Logarithmus zur Basis Zwei der Anzahl von verschiedenen Positionsmustern der periodisch auszutauschenden Bits des gesamten Zählerstands. Diese Mindestanzahl von festen Bits kann dazu verwendet werden, um ausreichende Informationen für den notwendigen Bitaustausch im Hinblick auf eine akzeptable Verlängerung der Lebensdauer des Speichers zu haben.
-
Die sich ändernden Bits können in Zuordnungseinheiten gruppiert werden, wobei die Mindestanzahl von Zuordnungseinheiten Zwei beträgt. Die Bits können dann mit gesamten Zuordnungseinheiten vertauscht werden. Dieser Aspekt ist hilfreich, da die beschränkte Anzahl von festen Bits lediglich eine beschränkte Anzahl verschiedener Muster der zyklisch verschobenen bzw. periodisch auszutauschenden Bits zulässt. Die Verwendung von Zuordnungseinheiten an Stelle von Einzelbit verringert die Anzahl von möglichen Stellen.
-
Die Wertigkeit (d. h. die Position innerhalb des Zählerstands von LSB zu MSB) kann mit besonderer Sorgfalt ausgewählt werden. Das feste Bit sollte nicht das niedrigstwertige Bit eines Zählerstands sein, andernfalls würde es in jedem Schreibzyklus umschalten. Gemäß einem Aspekt der Erfindung kann das niedrigstwertige feste Bit eine Wertigkeit innerhalb des Zählerstands haben, die höher als der Logarithmus zur Basis Zwei der Anzahl von verschiedenen Mustern der sich ändernden Bits ist.
-
Gemäß einem Aspekt der Erfindung kann der Zählerstand eine Bitlänge von n = 32 haben. Die Länge einer Zuordnungseinheit kann sieben Bit betragen, und die festen Bits können die Bits an den Positionen 7, 15, 23 und 31 sein. In dieser Konfiguration kann das Bitmuster der festen Bits an den Positionen 7 und 15 in dem Wort zur Anzeige der entsprechenden physischen Speicherstellen der Zuordnungseinheiten verwendet werden. Die physischen Speicherstellen der sich ändernden Bits können ungefähr alle 128 Schreibzyklen des Speichers geändert werden. Das bedeutet, dass alle physischen Speicherstellen des Speichers ungefähr gleichmäßig verwendet werden, wodurch die Gesamtschreiblebensdauer des Speichers verlängert wird.
-
Die Position der sich ändernden Bits kann geändert werden, indem entweder die Position eines sich ändernden Bit mit der eines anderen sich ändernden Bit getauscht wird, oder indem die physische Speicherstelle des sich ändernden Bit auf eine Speicherstelle geändert wird, die noch nicht bzw. nicht mehr von dem Zählerstand verwendet wird. Dies ist zum Beispiel der Fall bei höherwertigen Positionen des Zählerstands (MSB), wenn der Zählerstand noch sehr niedrig ist. Die LSB können dann in Speicherstellen geschrieben werden, an denen MSB zu speichern sind, sobald sie gesetzt werden. Alternativ oder zusätzlich können die Positionen der Zuordnungseinheiten geändert oder getauscht werden.
-
Die vorliegende Erfindung betrifft ebenfalls eine elektronische Vorrichtung mit einer Schaltung zum Schreiben einer Binärzahl mit Länge N in einen Speicher, der eine beschränkte Anzahl von Schreibzyklen hat. Die Schaltung ist so eingerichtet, dass sie die physischen Speicherstellen von Bits (R-Bit) niederer Wertigkeit mit Bits höherer Wertigkeit eines in dem Speicher gespeicherten Zählerstands periodisch austauscht und feste Bits des Zählerstands in feste physische Speicherstellen schreibt. Des Weiteren ist die Schaltung auch so eingerichtet, dass sie ein Bitwertemuster der festen Bits als Anzeige für die Position der entsprechenden physischen Speicherstellen der periodisch auszutauschenden Bits (R-Bit) verwendet. Der Speicher kann ein EEPROM sein und ist in physische Speicherstellen eingeteilt. Da die physischen Speicherstellen der Bits periodisch ausgetauscht werden, wird die Schreiblast des Speichers wesentlich verringert, und dessen Lebensdauer wird verlängert. Des Weiteren wird kein zusätzlicher Speicher zur Anzeige der Positionen der Bits nach deren Änderung benötigt, da die Anzeige der physischen Speicherstellen der sich ändernden Bits durch ein Muster aus festen Bits in dem Zählerstand selbst bereitgestellt wird. Folglich muss der Speicher nicht vergrößert werden, bzw. kann der Platz in dem Speicher vollständig für das bloße Speichern des Zählerstands selbst verwendet werden.
-
Vorzugsweise ist die Anzahl von festen Bits gleich wie oder größer als der Logarithmus zur Basis Zwei der Anzahl von verschiedenen Positionsmustern der sich ändernden Bits über die gesamte Zählung. Diese Mindestanzahl von festen Bits kann dann zur Bereitstellung ausreichender Informationen für den benötigten Austausch von Bits im Hinblick darauf, wie lange die Lebensdauer des Speichers verlängert werden soll, verwendet werden. Wie nachstehend gezeigt wird, kann die Anzahl von festen Bits jedoch ebenso größer als der Logarithmus zur Basis Zwei sein, wenn dies im Hinblick auf Zuordnungseinheiten, auf die Symmetrie oder auf andere Gründe nützlich ist.
-
Gemäß einem Aspekt der Erfindung können die festen Bits als Steuersignale für einen Multiplexer verwendet werden. Diese Steuersignale steuern den Multiplexer so, dass er Bits des Zählerstands von der richtigen physischen Speicherstelle in den Speicher schreibt. Folglich kann die elektronische Vorrichtung eine bestimmte Anzahl von Multiplexern umfassen, die sich auf die Anzahl von sich ändernden Bits und die Anzahl von durchzuführenden Multiplexingaktionen (Änderungen) bezieht. Vorteilhafterweise werden die festen Bits als Steuer- bzw. Konfigurationssignale für den bzw. die Multiplexer verwendet. Dieser Aspekt der Erfindung sorgt für eine äußerst effiziente und einfache Ausführung. Bestimmte Bitstellen des Speichers werden dann mit den Steuereingängen eines oder mehrerer Multiplexer gekoppelt. Eine Änderung der festen Bits ändert dann den Ausgang des Multiplexers. Da ein Zählerstand aus einem Speicher ausgelesen und in diesen geschrieben wird, können zwei gleiche Multiplexeranordnungen um den Speicher herum bereitgestellt werden. Eine erste Multiplexerstufe würde dann vorzugsweise zum Auslesen aus dem Speicher verwendet, und eine zweite Multiplexerstufe würde zum Schreiben in den Speicher verwendet. All diese Multiplexer können durch die festen Bits gesteuert werden. Der Ausgang der ersten Stufe und der Eingang der zweiten Stufe könnten mit dem Zähler oder einer zusätzlichen Logikschaltung gekoppelt sein. Wenn dieser Aspekt der Erfindung richtig implementiert wird, können der Zähler bzw. die zusätzliche externe Logik in Unkenntnis jeglicher Änderung der Bits bleiben. Folglich ermöglicht die vorliegende Erfindung die Verwendung derselben unveränderten Zähler und Logik wie sie in Lösungen nach dem Stand der Technik verwendet werden.
-
Die vorliegende Erfindung ist allgemein vorteilhaft für radiofrequenzbasierte Identifizierungsvorrichtungen (RFID-Vorrichtungen) und für die RFID-Technologie, wenn Speicher verwendet wird. Ein Funkautoschlüssel kann zum Beispiel unter Verwendung von RFID-Technologie implementiert werden. Entsprechend stellt die vorliegende Erfindung allgemein ebenfalls ein RFID-Tag bereit. Das RFID-Tag umfasst eine elektronische Vorrichtung mit einer Schaltung zum Schreiben einer Binärzahl mit Länge N in einen Speicher mit einer beschränkten Anzahl von Schreibzyklen. Die Schaltung ist so eingerichtet, dass sie die physischen Speicherstellen von Bits (R-Bit) niederer Wertigkeit mit Bits höherer Wertigkeit des in dem Speicher gespeicherten Zählerstands periodisch austauscht und feste Bits des Zählerstands in feste physische Speicherstellen schreibt. Die Schaltung ist ferner so eingerichtet, dass sie ein Bitwertemuster der festen Bits als Anzeige der Position der entsprechenden physischen Speicherstellen der periodisch auszutauschenden Bits (R-Bit) verwendet. Dieses RFID-Tag kann in einem RFID-System implementiert sein, das ebenfalls eine Lese-Schreib-Einheit aufweist, die so eingerichtet ist, dass sie mit dem RFID-Tag kommuniziert.
-
Die vorliegende Erfindung betrifft ebenfalls ein Fahrzeugverriegelungssystem, umfassend eine elektronische Vorrichtung mit einer Schaltung zum Schreiben einer Binärzahl mit Länge N in einen Speicher mit einer beschränkten Anzahl von Schreibzyklen. Die Schaltung ist ferner so eingerichtet, dass sie die physischen Speicherstellen von Bits (R-Bit) niederer Wertigkeit mit Bits höherer Wertigkeit des in dem Speicher gespeicherten Zählerstands periodisch austauscht und feste Bits des Zählerstands in feste physische Speicherstellen schreibt. Des Weiteren kann die Schaltung ein Bitwertemuster der festen Bits als Anzeige der Position der entsprechenden physischen Speicherstellen der periodisch auszutauschenden Bits (R-Bit) verwenden. Somit wird die Lebensdauer des Speichers in dem Fahrzeugverriegelungssystem gemäß der vorliegenden Erfindung verlängert, und ebenso wird die Größe des benötigten Speichers verringert, da die Position der sich ändernden Bits durch feste Bits in dem Zählerstand selbst und nicht durch eine separate Anzeige angezeigt wird. Die elektronische Vorrichtung in dem Fahrzeugverriegelungssystem kann sich sowohl in einem Schlüssel zum Abschließen des Fahrzeugs als auch in dem Fahrzeug selbst befinden, so dass das Fahrzeug nur dann geöffnet werden kann, wenn der in dem Speicher der Vorrichtung in dem Schlüssel gespeicherte Zählerstand gleich ist wie der in dem Speicher der Vorrichtung in dem Fahrzeug gespeicherte Zählerstand oder nahe genug an diesem liegt (d. h. innerhalb eines vorbestimmten Toleranzbereichs). Wenn die Zählerstände zu weit auseinander liegen, kann das Fahrzeug nicht geöffnet werden. Dies stellt einen Kopierschutz für den Schlüssel in dem Fahrzeugverriegelungssystem bereit.
-
Die vorliegende Erfindung stellt ebenfalls einen Autoschlüssel bereit, umfassend eine elektronische Vorrichtung mit einer Schaltung zum Schreiben einer Binärzahl mit Länge N in einen Speicher mit einer beschränkten Anzahl von Schreibzyklen. Die Schaltung ist so eingerichtet, dass sie die physischen Speicherstellen von Bits (R-Bit) niederer Wertigkeit mit Bits höherer Wertigkeit des in dem Speicher gespeicherten Zählerstands periodisch austauscht und feste Bits des Zählerstands in feste physische Speicherstellen schreibt. Die Schaltung ist ferner so eingerichtet, dass sie ein Bitwertemuster der festen Bits als Anzeige der Position der entsprechenden physischen Speicherstellen der periodisch auszutauschenden Bits (R-Bit) verwendet. Die Lebensdauer des Speichers in dem Autoschlüssel wird dann verlängert, da seine Schreiblebensdauer verlängert wird. Des Weiteren wird kein zusätzlicher nichtflüchtiger Speicher zur Speicherung der Positionen der physischen Speicherstellen der sich ändernden Bits benötigt, da dies durch das Muster der festen Bits in dem Zählerstand selbst durchgeführt wird.
-
Die vorliegende Erfindung stellt ebenfalls ein Verfahren zur Konstruktion einer elektronischen Vorrichtung zum Schreiben einer Binärzahl mit Länge N in einen Speicher mit einer beschränkten Anzahl von Schreibzyklen bereit. Das Verfahren umfasst das Bereitstellen eines Zählers, eines Speichers und einer Schaltung zum Schreiben der Binärzahl aus dem Zähler in den Speicher und das Koppeln des Zählers und des Speichers mit der Schaltung. Das Verfahren umfasst ebenfalls das Einrichten der Schaltung derart, dass sie die physischen Speicherstellen von Bits (R-Bit) niederer Wertigkeit mit Bits höherer Wertigkeit des in dem Speicher gespeicherten Zählerstands periodisch austauschen kann und feste Bits des Zählerstands in feste physische Speicherstellen schreibt. Die Schaltung ist ferner so eingerichtet, dass sie ein Bitwertemuster der festen Bits als Anzeige der Position der entsprechenden physischen Speicherstellen der periodisch auszutauschenden Bits (R-Bit) verwenden kann. Die elektronische Vorrichtung ist somit so ausgelegt, dass kein zusätzlicher nichtflüchtiger Speicher zur Speicherung der Positionen der periodisch auszutauschenden Bits benötigt wird, wodurch die Größe des benötigten Speichers verringert wird.
-
Obwohl die vorliegende Erfindung in Bezug auf bestimmte Anwendungen beschrieben wurde, sind die obigen Aspekte der Erfindung allgemein nützlich für alle elektronischen Vorrichtungen mit integriertem Speicher, und die Erfindung ist somit nicht auf irgendeine spezifische Anwendung beschränkt.
-
Weitere Vorteile und Merkmale der Erfindung ergeben sich aus der untenstehenden Beschreibung der bevorzugten Ausführungsformen und aus den beigefügten Zeichnungen. Es zeigen:
-
1 ein vereinfachtes Blockdiagramm des Verfahrens gemäß der vorliegenden Erfindung,
-
2a und 2b eine Tabelle mit einem Bitmuster gemäß einer bevorzugten Ausführungsform der Erfindung.
-
3 eine vereinfachte schematische Darstellung eines Speichers in einer elektronischen Vorrichtung gemäß der Erfindung.
-
1 zeigt ein vereinfachtes schematisches Blockdiagramm, welches das Verfahren gemäß der Erfindung für einen 32-Bit-Zähler darstellt. Jeder horizontale Block in 1 stellt unterschiedliche Schreibzyklen in den Speicher der Vorrichtung und eine entsprechende Verwendung des Speichers dar. Die horizontalen Blöcke in 1 stellen die Art der periodischen Änderung der physischen Speicherstelle von Bits des Zählerstands in dem Speicher dar, wobei die festen physischen Speicherstellen zum Speichern der festen Bits angeordnet sein können, und sie stellen dar, wie das Bitwertemuster der festen Bits als Anzeige für die physischen Speicherstellen der sich ändernden Bits verwendet werden kann. Es wird angenommen, dass ein inkrementeller Zähler ab Null hochzuzählen beginnt. Jedes Mal, wenn der Zähler um Eins inkrementiert wird, schreibt eine mit dem Zähler gekoppelte Schaltung die Binärzahl in die durch die horizontalen Blöcke in 1 dargestellten 32 Speicherbit, und der Speicher speichert die Binärzahl aus dem Zähler. Die Länge des Zählerstands wird in Zuordnungseinheiten A, B, C und D eingeteilt, wobei jede Zuordnungseinheit sieben Bit lang ist. Der Anfang und das Ende der Zuordnungseinheit A wird durch die Zählerbit B[31] bzw. B[23] angegeben (d. h. mit Wertigkeit 231 bzw. 223), der Anfang und das Ende der Zuordnungseinheit B wird durch die Zählerbit B[23] bzw. das Austauschsteuerbit B[15] angegeben (d. h. mit Wertigkeit 223 bzw. 215). Der Anfang und das Ende der Zuordnungseinheit C wird durch das Austauschsteuerbit B[15] bzw. B[7] angegeben (d. h. mit Wertigkeit 215 bzw. 27). Der Anfang der Zuordnungseinheit D wird durch das Austauschsteuerbit B[7] angegeben. Beide Zählerbit B[31] und B[23] sowie die Austauschsteuerbit B[15] und B[7] sind feste Bits des Zählerwerts, die an festen physischen Speicherstellen des Speichers gespeichert sind. Bits in den Zuordnungseinheiten A, B, C und D sind sich ändernde bzw. zyklisch verschobene Bits (R-Bit). Die benötigte Anzahl von Austauschsteuerbit wird durch die Anzahl von Austauschpositionen bestimmt, d. h. durch die Anzahl von unterschiedlichen Mustern der sich ändernden Bits. In dem vorliegenden Beispiel werden zwei feste Bits B[15], B[7] als Anzeige des Bitmusters der sich ändernden Bits verwendet. Die beiden Bits können vier verschiedene Muster angeben, was gleich ist wie der Logarithmus zur Basis Zwei der Anzahl von Mustern bzw. Austauschpositionen in dem vorliegenden Beispiel. Je nach benötigter Mindestanzahl können einige Zählerbit zur Symmetrie benötigt werden, um die festen Bits aufzufüllen, damit sich ein Byte ergibt. Folglich sind die Bits B[23] und B[31] ebenfalls feste Bits, aber sie werden nicht als Musteranzeige verwendet. Die Austauschsteuerbit B[15], B[7] können sich innerhalb der in dem Austausch involvierten Speicherbyte oder in separaten Byte des Speichers befinden, der momentan nicht verwendet wird, aber noch immer Teil des zum Speichern des Zählerstands mindestens benötigten Speichers ist. Die binäre Interpretation der Austauschsteuerbit gibt direkt die Position der Speicherzelle an, die die niedrigstwertigen R-Bit enthält. Die Positionen der anderen R-Bit können dann nachfolgend aus dieser Position berechnet werden.
-
Nach einer gewissen Anzahl von Schreibzyklen des Speichers, zum Beispiel 128, werden Positionen in den Bits der Zuordnungseinheiten periodisch geändert, zum Beispiel in dem einfachsten Austauschalgorithmus auf die Position der nachfolgenden Zuordnungseinheit, wie in 1 gezeigt ist. Das Umschalten des Austauschsteuerbits B[7] von 1 auf 0 oder von 0 auf 1 löst eine Änderung der physischen Stelle der Zuordnungseinheit aus. Zum Beispiel ist zunächst die das niedrigstwertige Bit enthaltende Zuordnungseinheit D an der äußersten rechten Position, dann wechselt die Zuordnungseinheit D mit dem niedrigstwertigen Bit bei einer Änderung des Werts des Austauschsteuerbits B[7] von 0 auf 1 ihre Position dahin, wo sich die Zuordnungseinheit C vorher befand. Alle Byte innerhalb des Speichers werden bei jeder Änderung der Austauschsteuerbit geschrieben. Dazwischen wird lediglich das die niedrigstwertigen Bits enthaltende Byte aktualisiert. Die niedrigstwertigen Bits werden an vier verschiedenen Speicherpositionen 127-mal inkrementiert. Dieser Bitaustauschalgorithmus kann entweder in Hardware oder in Software ausgeführt sein. Auf diese Weise kann jede physische Speicherstelle des Speichers (bzw. jede Zuordnungseinheit) ungefähr für dieselbe Anzahl von Schreibzyklen des Speichers verwendet werden, und somit wird die Lebensdauer des Speichers verlängert. In diesem bestimmten Beispiel ist die Schreiblast 127+4 Speicherschreibvorgänge für 512 Inkremente für jedes Speicherbyte. Dies führt zu einer Erhöhung der Schreiblebensdauer um den Faktor 3,908.
-
Die 2a und 2b zeigen das Bitmuster in dem Speicher, wenn der Zähler in der Vorrichtung gemäß der vorliegenden Erfindung gemäß einer anderen bevorzugten Ausführungsform der Erfindung inkrementiert wird. Nicht alle Schreibzyklen des Zählers sind in den 2a und 2b gezeigt, da es eine äußerst große Anzahl von Schreibzyklen über die gesamte Zählung gibt. Der in der Tabelle in den 2a und 2b gezeigte Austauschalgorithmus ergibt die effizienteste Verwendung des Speichers über alle Schreibzyklen der gesamten Zählung. Die Tabelle beginnt in 2a und wird in 2b fortgesetzt.
-
Die mit CNT und CNT+1 betitelten Spalten zeigen den Zählerstand eines 32-Bit-Zählers mit festen Bits an den Positionen [7],[15], [23] und [31], gleich wie die in 1 gezeigte Ausführungsform. 2 ist jedoch nützlich zum besseren Verständnis der spezifischen Weise der Änderung von Speicherstellen mit den sich ändernden Bits [0] bis [6], [8] bis [14], [16] bis [22] und [24] bis [30].
-
Der vorherige Zählerwert CNT wird aus dem Speicher ausgelesen und in dem Zähler gespeichert (bzw. der Zähler wird auf den Zählerstand CNT gesetzt). Jede Zeile der Tabelle stellt einen Schritt dar, der einen Speicherlesevorgang, ein Erhöhen des Zählers um Eins und einen Speicherschreibvorgang beinhaltet. Die Tabelle zeigt die Anzahl von Schreib- und Lesezyklen sowie die Speicherinhalte. Der Zählerstand CNT wird um 1 erhöht, und der erhöhte Wert CNT+1 wird in denselben Speicher zurückgeschrieben, wodurch der vorherige Speicherinhalt überschrieben wird, wenn sich der Wert einer Zuordnungseinheit (7 LSB eines Byte) geändert hat.
-
Der momentane Speicherinhalt ist in der Spalte mit dem Titel „Speicherinhalt nach Erhöhen (binär)” angegeben. Der Block „Speicherlesevorgang” hat vier Spalten 3, 2, 1, 0, die jeweils ein Speicherbyte darstellen. Die Zahl in einem Feld stellt die Anzahl von Schreibzyklen dar, die in der entsprechenden Speicherzuordnungseinheit stattfanden, d. h. die entsprechenden 7 niedrigerwertigen Bits der Byte 0, 1, 2 und 3. Dies ist gleich für den Block „Speicherschreibvorgang”. Die Spalte „Speicherschreibvorgang 0” hat zum Beispiel in der dritten Zeile eine 1. Das bedeutet, dass der erste Schreibvorgang in diesem Schritt stattfindet. Folglich zeigt der Speicherinhalt ebenfalls die binäre 1 als LSB. Wie in der nächsten Zeile in Spalte „Speicherlesevorgang 0” angegeben, wird der Wert 1 zurück aus dem Speicher gelesen, in einen Zähler platziert (d. h. der Zähler kann auch einfach auf den aus dem Speicher ausgelesenen Wert gesetzt werden), und der Zähler wird um Eins erhöht, woraus sich ein Zählerwert von CNT + 1 = 2 ergibt. Der Wert wird, wie in der Spalte Speicherschreibvorgang 0 angegeben und in dem Speicherinhalt gezeigt, in den Speicher geschrieben, wobei die Bits [0] bzw. [1] den Wert '0' bzw. '1' annehmen. Die Tabelle zeigt nicht alle Schritte. Zwischen CNT + 1 = 3 und CNT + 1 = 125 gibt es zum Beispiel eine Lücke. Die ersten 128 Schreibzyklen werden jedoch alle mit dem niedrigstwertigen Byte 0 durchgeführt, d. h. mit den Bits [0] bis [6]. CNT + 1 =128 hat den Binärwert '1000 0000b', was bedeutet, dass das Bit [7] auf Eins zu setzen ist. Da das Bit [7] eines der festen Bits ist und als Anzeige für ein spezifisches Bitmuster verwendet wird (d. h. für eine Änderung der Speicherstellen), wird die Speicherzuordnung für das Byte 0 und das Byte 1 geändert. Lediglich das feste Bit [7] bleibt an derselben Position. Die 127 Schritte bzw. Schreibzyklen, die auf die ersten 128 Schreibzyklen folgen, werden dann mit den sieben LSB von Byte 1 durchgeführt. Der Schreibzykluszähler in der Spalte „Speicherschreibvorgang 0” bleibt somit auf 128. Der Schreibzykluszähler in der Spalte „Speicherschreibvorgang 1” wird in jedem Schritt erhöht, was bedeutet, dass nun Schreibzyklen von Byte 1 an Stelle der Schreibzyklen von Byte 0 verwendet werden. Wenn CNT + 1 = 256 Bit ist, schaltet das feste Bit [7] um, denn 256 entspricht 28 = 1 0000 0000b'. Folglich wird das Byte 0 für die folgenden Schreibzyklen verwendet, und das Byte bleibt unverändert.
-
Das MSB von 256 = 28 = '1 0000 0000b' passt nicht in ein Einzelbyte. Da die physischen Speicherstellen für die Byte 0 und 1 fortlaufend ausgetauscht werden, müsste das MSB ebenfalls ausgetauscht werden. Dies würde jedoch zusätzliche Schreibzyklen in den Byte 0 und 1 erfordern. Folglich werden das MSB und weitere MSB in Byte 2 an Stelle von Byte 1 oder 0 gespeichert. Der Wert in Byte 2 ändert sich lediglich alle 256 Schritte, und wenn CNT + 1 = 32767 ist, liegt die Anzahl von Schreibzyklen für Byte 2 bei 127. In Schritt CNT + 1 = 32768 = 215 = '1000 0000 0000 0000b'. Das bedeutet, dass sich das Bit [7] von Byte 2 bzw. das Bit [15] des Speicherinhalts von 0 auf 1 ändert. Da das Bit [15] ein festes Bit ist und als Anzeige für eine Änderung des Bitmusters verwendet wird, wird die Speicherstelle für die LSB des Zählerstands auf Byte 2 geändert. Des Weiteren wird der Austausch der Speicherzuordnungen alle 128 bzw. 127 Schritte nun zwischen Byte 3 und Byte 2 an Stelle von zwischen Byte 0 und Byte 1 bzw. Byte 1 und Byte 2 durchgeführt. Das MSB (und weitere MSB), die in Schritt CNT + 1 = 284 in Byte 2 gespeichert wurden, werden nun in Byte 0 gespeichert.
-
Es ist ersichtlich, dass die physische Speicherstelle des Zählerstands ungefähr alle 128 Schreibzyklen auf eine andere physische Speicherstelle des Speichers geändert wird, da das Austauschsteuerbit zwischen 0 und 1 umgeschaltet wird. Zwischen diesem periodischen Austausch schaltet lediglich das niedrigstwertige Bit des Zählerstands um. Das bedeutet, dass das niedrigstwertige Bit alle 128 Schreibzyklen in einem anderen Teil des Speichers gespeichert wird (obwohl die Position manchmal alle 125, 126 oder 127 Schreibzyklen geändert wird). Der Austausch der Speicherstelle wird ferner auf eine Weise erweitert, indem jede Einheit aus 7 Bit eines Speicherbyte (jede Einheit der Speicherstelle) ungefähr gleich häufig für eine Zuordnungseinheit des Zählerstands einer spezifischen Wertigkeit verwendet wird, wenn der Zähler den maximalen Zählerstand von 232-1 erreicht.
-
3 zeigt schematisch einen Speicher für eine elektronische Vorrichtung gemäß der Erfindung und ist ein Beispiel dafür, wie der oben beschriebene Austauschalgorithmus in Hardware ausgeführt sein kann. Diese Hardware kann zum Beispiel in einem RFID-Tag, einem Autoschlüssel oder einem Fahzeugverriegelungssystem in einem Auto bereitgestellt werden. Vier Speicherzellen 11, 12, 13 bzw. 14 sind über die Multiplexer MUX1, MUX2, MUX3 bzw. MUX4 mit einem Speicherschreibbus und über die Multiplexer MUX5, MUX6, MUX7 bzw. MUX8 mit einem Speicherlesebus verbunden. Jede Speicherzelle 11, 12, 13 und 14 ist so eingerichtet, dass sie ein Byte bzw. eine Zuordnungseinheit des Zählerstands speichert. Der Zähler schreibt den Wert des Zählerstands über die Multiplexer MUX1, MUX2, MUX3, bzw. MUX4 in die Speicherzellen 11, 12, 13 bzw. 14. Der Speicherlesebus liest den gespeicherten Wert des Zählerstands über die Multiplexer MUX5, MUX6, MUX7 bzw. MUX8 aus den Speicherzellen 11, 12, 13 bzw. 14 aus. Jeder der Multiplexer MUX5, MUX6, MUX7 bzw. MUX8 hat einen Eingang, der einer Zuordnungseinheit bzw. einem Byte des Zählerstands entspricht. Die Position der das niedrigstwertige Bit enthaltenden Zuordnungseinheit wird periodisch ungefähr nach jedem 128. Schreibzyklus in einer unterschiedlichen Speicherzelle gespeichert. Jeder Multiplexer MUX5, MUX6, MUX7 bzw. MUX8 hat zwei Steuereingänge, die so eingerichtet sind, dass sie ein durch die in 1 dargestellten festen Bits B[15] und B[7] bereitgestelltes Steuersignal empfangen. Abhängig von dem Binärwert der festen Bits B[15] und B[7] gibt dies den Multiplexern MUX5, MUX6, MUX7 bzw. MUX8 die Stelle des das niedrigstwertige Bit des Zählerstands enthaltenden Byte an, und somit, wo sich alle anderen Byte des Zählerstands befinden. Folglich wird jeder der Multiplexer MUX5, MUX6, MUX7 bzw. MUX8 so gesteuert, dass er aus dem entsprechenden Byte des Zählerstands, das in der entsprechenden Speicherzelle 11, 12, 13 bzw. 14 gespeichert ist, das richtige Eingangssignal auswählt.
-
Obwohl die Erfindung obenstehend unter Bezugnahme auf bestimmte Ausführungsformen beschrieben wurde, ist diese nicht auf diese Ausführungsformen beschränkt, und dem Fachmann fallen zweifellos weitere Alternativen ein, die innerhalb des beanspruchten Schutzumfangs der Erfindung liegen.