-
Die
Erfindung betrifft Speicherschaltungen mit einem nicht flüchtigen
Speicherbereich zum Schreiben von Identifikationscodes.
-
Die
Druckschrift
US 5,553,019 beschreibt
ein Speichersystem zum einmaligen Schreiben und mehrfachen Lesen,
um einen Wahlbereich eines Speichers gegen ein Löschen elektronisch zu schützen. Das
Speichersystem umfasst Speicherzellen zur elektronischen Speicherung
von Informationen. Eine Steuerzelle wird dazu verwendet, den Schreib- und/oder
Löschzugriff
auf die Speicherzellen zu steuern. Eine Steuerlogik ist vorgesehen,
um den Zugriff auf die Steuerzelle zu steuern.
-
Die
Druckschrift
DE 43 40 027 beschreibt
ein Verfahren für
den Schreibschutz des Speichers einer elektronischen Steuervorrichtung.
Ein geschützter Speicherbereich
des Speichers ist vorgesehen. Ein Bit des geschützten Speicherbereichs wird
als Markierung eines Schreibschutzes verwendet. Der Zugriff auf
den geschützten
Speicherbereich wird vom Zustand dieser Markierung abhängen.
-
Flüchtige Speicher
mit einem Speicherbereich zur Speicherung eines Identifikationscodes
sind bekannt. Der Speicherbereich ist typischerweise am Ende eines
Tests des Speichers programmiert, um diesen in eindeutiger Weise
zu identifizieren oder um Herstellungsdaten zu speichern. Dieser
Speicherbereich ist typischerweise durch einen Programmierungsstift
programmierbar. Die nicht flüchtige
Speicherschaltung ist vorgesehen, um nur einen einzigen Programmierungsbefehl
an den Speicherbereich zu senden, derart, dass der gespeicherte
Code normalerweise nicht modifiziert wird.
-
Ein
solcher Speicher und sein Arbeitsverfahren zeigen Nachteile. Denn
der Speicherbereich zur Speicherung des Identifikationscodes kann
in betrügerischer
Weise relativ leicht umprogrammiert werden.
-
Es
besteht somit ein Bedarf nach einer Speicherschaltung oder einem
Verfahren, welcher/welches ein oder mehrere dieser Nachteile löst.
-
Die
Erfindung hat somit eine Speicherschaltung zum Gegenstand, mit:
- – einem
freien Speicherbereich;
- – einem
nicht flüchtigen
Speicherbereich zur Speicherung wenigstens eines Identifikationscodes;
- – einem
Zustands-Fixierstift des Speicherbereichs zur Speicherbereichs des
Identifikationscodes;
- – einem
Register, dessen Zustand nur ein einziges Mal fixiert werden, das
einen Zustand speichert, der angibt, ob der Zustand des Speicherbereichs
für die
Speicherung des Identifikationscodes fixiert worden ist;
- – einem
Modul, das die Fixierung des Zustandes des Speicherbereichs für die Speicherung
des Identifikationscodes blockiert, wenn das Register anzeigt, dass
der Zustand des Speicherbereichs für die Speicherung des Identifikationscodes
fixiert worden ist.
-
Das
Register ist ein einziges Mal programmierbar und wird aus einem
Floating-Gate-Transistor gebildet,
dessen Gate oder Drain-Elektrode und Source-Elektrode nicht mit
einer Löschspannung
versorgt werden.
-
Gemäß einer
Variante ist der Stift ein Programmierungsstift, ist das Register
ein einziges Mal programmierbar, zeigt der Zustand des Registers
an, ob der Speicherbereich zur Speicherung des Identifikationscodes
programmiert ist, blockiert das Modul die Programmierung des Speicherbereichs
für den Speichervorgang,
wenn das Register anzeigt, dass der Speicherbereich programmiert
ist.
-
Gemäß einer
Variante ist der freie Speicherbereich nicht flüchtig.
-
Gemäß noch einer
Variante sind der freie Speicherbereich, der Speicherbereich des
Identifikationscodes und das Register EEPROM Speicherzellen.
-
Es
kann auch vorgesehen sein, dass die Schaltung ferner einen UND-Logikschaltkreis
umfasst, dessen zwei Eingänge
jeweils an das Register und an den Zustands-Fixierstift angeschlossen
sind und dessen Ausgang an eine Zustands-Fixierklemme des Speicherbereichs für die Speicherung
des Identifikationscodes angeschlossen ist.
-
Die
Erfindung hat auch ein Verfahren nach Anspruch 6 zum Gegenstand.
-
Gemäß einer
Variante ist das Register ein einziges Mal fixierbar, ist der eingeschriebene
Markierer ein programmierter Zustandsmarkierer.
-
Gemäß einer
weiteren Variante umfasst das Verfahren ferner einen Testschritt
für den
freien Speicherbereich vor dem Einschreiben des Identifkationscodes.
-
Die
Erfindung wird anhand der beigefügten Figur,
die beispielhaft mitgeliefert wird, und die eine schematische Darstellung
eines Beispiels der Speicherschaltung gemäß der Erfindung zeigt, besser verstanden.
-
Die
Erfindung schlägt
vor, ein Register zu verwenden, dessen Zustand nur ein einziges
Mal fixiert werden kann, um die Fixierung des Zustands des Speicherbereichs
für den
Identifikationscode zu speichern und weitere Versuche einer Fixierung
des Zustands zu blockieren.
-
Die
Erfindung wird im Folgenden für
den ganz allgemeinen Fall der Zustandsfixierung beschrieben. Der
in Parenthese gesetzte Text entspricht dem speziell dargestellten
Fall, in welchem die Zustandsfixierung die selektive Programmierung von
Speicherzellen umfasst. Gemäß einer
Alternative kann die verwendete Zustandsfixierung natürlich eine
selektive Löschung
von Speicherzellen sein.
-
1 zeigt
schematisch ein Beispiel einer Speicherschaltung 1 gemäß der Erfindung.
Die Speicherschaltung 1 umfasst einen freien Speicherbereich 2,
der zur Speicherung von Nutzdaten bestimmt ist. Die Speicherschaltung 1 umfasst
auch einen nicht flüchtigen
Speicherbereich zur Speicherung wenigstens eines Identifikationscodes 3.
-
Der
Identifikationscode kann zum Beispiel ein nach einem Testschritt
der Speicherschaltung 1, am Ende des Herstellungsverfahrens,
eingeschriebener Code sein. Der Identifikationscode kann insbesondere
ein Code sein, der in eindeutiger Weise die Schaltung identifiziert,
ein Code, der die Produktionsbedingungen der Schaltung identifiziert,
oder ein Code, der für
Verschlüsselungsvorgänge an Nutzdaten der
Speicherschaltung nutzbar ist.
-
Die
Speicherschaltung 1 umfasst auch einen Zustands-Fixierstift 4 (in
diesem Fall einen Programmierstift) des Speicherbereichs zur Speicherung
des Identifikationscodes 3. Dieser Stift 4 ist
vorgesehen, um wenigstens einen Fixierungsschritt des Zustands (in
diesem Fall einen Programmierschritt) des Speicherbereichs 3 für den Speichervorgang
zu ermöglichen.
-
Die
Speicherschaltung 1 umfasst ferner ein Register, dessen
Zustand nur ein einziges Mal 5 fixiert werden kann (ein
einziges Mal programmierbar ist), das einen Zustand speichert, der
anzeigt, ob der Zustand des Speicherbereichs zur Speicherung des Identifikationscodes 3 fixiert
wurde (dieser Zustand zeigt, ob der Speicherbereich 3 programmiert
worden ist). Das Register hat typischerweise einen Zustand entsprechend
einem Speicherbereich 3, dessen Zustand nicht fixiert wurde
(der Speicherbereich 3 wurde nicht programmiert) und einen
weiteren Zustand entsprechend einem Speicherbereich 3,
dessen Zustand fixiert wurde (der Speicherbereich 3 wurde
programmiert). Eine Größe von 1
Bit kann somit ausreichen, um zu speichern, ob der Zustand des Speicherbereichs 3 fixiert
wurde.
-
Die
Speicherschaltung 1 umfasst ferner ein Modul 6,
welches den Fixierungszustand (im vorliegenden Fall die Programmierung)
des Speicherbereichs 3 blockiert, wenn das Register 5 anzeigt,
dass der Zustand dieses Speicherbereichs 3 fixiert wurde (im
vorliegenden Fall, wenn dieser Speicherbereich 3 programmiert
wurde).
-
Wenn
der Zustand des Speicherbereichs 3 einmal fixiert worden
ist (wenn der Speicherbereich programmiert) ist diese auch das Register 5.
Deshalb kann der Zustand des Registers 5 nur ein einziges
fixiert (programmiert) werden, und jeder spätere Fixierungsversuch des
Zustands (Programmierung) des Speicherbereichs 3 wird blockiert.
Ein irrtümlicher oder
betrugsweiser Versuch der Fixierung des Zustands (Programmierung)
des Speicherbereichs 3 wird somit wirksam vermieden.
-
Die
Erfindung wird in vorteilhafter Weise an einer Speicherschaltung
angewendet, in welcher der freie Speicherbereich 2 nicht
flüchtig
ist. Der geschützte
Speicherbereich 3 erlaubt somit, den Inhalt des freien
Speicherbereichs 2 zu zertifizieren. Der Speicherbereich 2 kann
insbesondere als EEPROM-Speicher, Flash-Speicher oder als ferro-elektrischer
Speicher ausgebildet sein.
-
In
vorteilhafter Weise sind der freie Speicherbereich 2, der
Speicherbereich 3 für
den Speichervorgang und das programmierbare Register 5 Zellen eines
EEPROM-Speichers
oder eines Flash-Speichers. Daraus ergibt sich nämlich relativ leicht, diese unterschiedlichen
Speicherbereiche in den Zellen eines einzigen Speichers eines solchen
Typs zu realisieren. Denn ausgehend von geringen Modifikationen
von für
die Realisation solcher Speicher verwendeten Masken kann man eine
Speicherschaltung 1 gemäß der Erfindung
erhalten.
-
Das
programmierbare Register wird aus einem Floating-Gate-Transistor
gebildet, dessen Drain-Elektrode und Source-Elektrode nicht die
Anschlüsse
haben, die es ermöglichen,
Löschspannungen
zu erhalten. Es kann somit vorgesehen sein, dass die Source-Elektrode
und die Drain-Elektrode nur an eine Source-Elektrode für eine Programmierungs-
und Lesespannung angeschlossen sind. Im Beispiel eines Flash- Speichers kann vorgesehen werden,
dass die Dran-Elektrode, das Substrat und die Source-Elektrode nicht
an einer Pumpe zur Extrahierung von Elektronen aus dem Floating-Gate
angeschlossen sind. Das programmierbare Register 5 kann
auch aus einem Floating-Gate-Transistor gebildet sein, dessen Gate
keine Anschlüsse
aufweist, die es ermöglichen,
eine Löschspannung
zu erhalten. Der Transistor kann dann programmiert werden, kann
aber nicht gelöscht
werden, um wieder neu programmiert zu werden. Für eine Zustandsfixierung durch
Löschung
wird der Fachmann auch adäquate Anschlüsse des
Floating-Gate-Transistors vorsehen, um seine Programmierung zu sperren.
Diese Ausführungsformen
sind insbesondere auf eine Variante ausgelegt, in welcher die verschiedenen
Speicherbereiche EEPROM- oder Flash-Speicherzellen sind: Einfache
Modifikationen von Herstellungsmasken erlauben, die Anschlüsse zwischen
einer Elektrode eines Floating-Gate-Transistors und einer Ladungspumpe
zu unterdrücken.
Diese Ausführungsformen sind
besonders vorteilhaft, denn es ist extrem schwierig, in betrügerischer
Weise eine solche Speicherschaltung zu modifizieren, um die Elektroden
der Transistoren zu versorgen und gegebenenfalls ihre Programmierung
oder ihre Löschung
zu ermöglichen.
-
Ganz
allgemein reicht es aus, Anschlüsse der
Elektroden eines Floating-Gate-Transistors
zu realisieren, derart, dass es möglich wird:
- – Elektronen
hinzuzufügen,
nicht aber von dem Floating-Gate abzuziehen;
- – Elektronen
abzuziehen, nicht aber in das Floating-Gate hinzuzufügen.
-
Gemäß einer
bevorzugten Variante wird das Blockierungsmodul 6 in folgender
Weise realisiert: Das Modul 6 umfasst einen UND-Logikschaltkreis, dessen
zwei Eingänge
jeweils mit dem Register 5 und dem Stift 4 verbunden
sind. Der Ausgang des UND-Schaltkreises ist mit einer Programmierungsklemme
des Speicherbereichs 3 verbunden. Man reduziert in vorteilhafter
Weise einen UND-Schaltkreis mit einer reduzierten Anzahl von Transistoren,
indem ein NICHT-UND-Logikanschluss 61 und ein NICHT-Schaltkreis 62 in
Reihe gesetzt werden, wie dies in 1 dargestellt
ist.
-
In
der dargestellten Speicherschaltung 1 ist ein Leseschaltkreis
des Registers 5 zwischen das Register 5 und dem
UND-Schaltkreis eingefügt.
-
In
dem dargestellten Beispiel kann vorgesehen werden, dass der Schaltkreis 63 ein
Logiksignal auf 1 liefert, wenn das Register 5 unbeschaltet
ist, was einem nicht programmierten Speicherbereich 3 entspricht.
Wenn somit ein Gesuch für
eine Zustandsfixierung (Programmierung) an dem Stift 4 angelegt
wird, wird dieser durch den UND-Schaltkreis für gültig erklärt. Nach der Zustandsfixierung
(Programmierung) des Speicherbereichs 3 ist auch der Zustand
des Registers 5 fixiert worden (das Register ist programmiert).
Der Schaltkreis 63 liefert dann ein Logiksignal auf 0.
Wenn somit ein Gesuch zur Fixierung des Zustands (Programmierung)
an dem Stift 4 angelegt wird, wird dieser durch den UND-Schaltkreis
für ungültig erklärt.
-
Das
Anwendungsverfahren der Speicherschaltung 1 kann somit
wie folgt sein:
Es wird ein Identifikationscode in den Speicherbereich
für die
Identifikation eingeschrieben, dann wird eine Marke für einen
fixierten Zustand (programmiert) in das Register 4 eingeschrieben,
dann wird die Fixierung des Zustands (Programmierung) des Speicherbereichs
für die
Identifikation blockiert.
-
Der
Einschreibevorgang des Identifikationscodes kann einem Testschritt
des freien Speicherbereichs vorangestellt werden, zum Beispiel am
Ende des Herstellungsverfahrens des Speichers. Der Identifikationscode
kann dann Daten enthalten, die sich aus dem Resultat der Tests ergeben.
-
Die
Erfindung ist natürlich
nicht auf die Beispiele und Ausführungsformen
beschränkt,
die beschrieben und dargestellt wurden, sondern ist für zahlreiche
Varianten geeignet, die dem Fachmann zugänglich sind.