[go: up one dir, main page]

DE3889390T2 - Schreibe-Schutzmechanismus für nichtflüchtigen Speicher. - Google Patents

Schreibe-Schutzmechanismus für nichtflüchtigen Speicher.

Info

Publication number
DE3889390T2
DE3889390T2 DE3889390T DE3889390T DE3889390T2 DE 3889390 T2 DE3889390 T2 DE 3889390T2 DE 3889390 T DE3889390 T DE 3889390T DE 3889390 T DE3889390 T DE 3889390T DE 3889390 T2 DE3889390 T2 DE 3889390T2
Authority
DE
Germany
Prior art keywords
write protection
prom
register
signal
write
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
DE3889390T
Other languages
English (en)
Other versions
DE3889390D1 (de
Inventor
George Gordon Grimmer
Robert Wayne Sparks
Brian Freeland Wilkie
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.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Publication of DE3889390D1 publication Critical patent/DE3889390D1/de
Application granted granted Critical
Publication of DE3889390T2 publication Critical patent/DE3889390T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • 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/22Safety or protection circuits preventing unauthorised or accidental access to memory cells

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Description

    Erfindungsgebiet
  • Die vorliegende Erfindung betrifft im allgemeinen einen Schreibschutzmechanismus für einen nichtflüchtigen Speicher. Im besonderen betrifft die Erfindung einen Mechanismus, um einen programmierbaren Festspeicher (PROM), der einen Teil eines Mikrocomputers umfaßt, vor unbeabsichtigtem Beschreiben zu schützen.
  • Hintergrund der Erfindung
  • Die Verwendung von PROM-Speichern in Form eines EPROM (löschbarer, programmierbarer Festspeicher) oder eines EEPROM (elektrisch löschbarer, programmierbarer Festspeicher) nimmt sowohl bei Ein-Chip-Computern als auch bei Computern auf Platinenbasis und Controllern rasch zu. In einem solchen Zusammenhang kann ein PROM z. B. eine Tachometeranzeige im Fall einer Fahrzeug-Steuereinheit oder einen Kontostand im Fall einer "intelligenten" Bankkarte speichern. Solche Parameter müssen gelegentlich geändert werden, müssen aber auch im abgeschalteten Zustand des Speichers gültig bleiben und vor unbeabsichtigter Änderung geschützt werden.
  • Bei einem Mikrocomputer wie dem 68HC11, erhältlich von Motorola Microprocessor Products Group of Austin, Texas, sind alle zur Programmierung des internen EEPROM benötigten Vorrichtungen mit dem Mikrocomputer vereinigt. Dies umfaßt, sehr wichtig, die Ladungspumpe oder eine andere Einrichtung, die erforderlich ist, um die für EEPROMs benötigten höheren Programmierspannungen zu erzeugen. Das EEPROM In einem solchen Mikrocomputer ist somit lesbar und beschreibbar als ob es ein Speicher mit wahlfreiem Zugriff (RAM) wäre, außer vielleicht den längeren Programmierzeiten.
  • Bei einem solchen Mikrocomputer oder einer anderen Einrichtung, wo keine externe Steuerung oder Eingabe benötigt wird, um ein PROM zu programmieren, sind unbeabsichtigte Schreibungen in das PROM eine Hauptsorgenquelle. Zwei elementare Lösungswege sind zum Schutz gegen solche unabsichtlichen Veränderungen angewandt worden. Bei zur Zeit erhältlichen Versionen des oben erwähnten 68HC11 müssen verschiedene Bits eines Steuerregisters richtig gesetzt sein, um die Programmierung des internen EEPROM zu ermöglichen. Der andere Lösungsweg erkennt an, daß die meisten unabsichtlichen Schreibungen in ein PROM eintreten, wenn die Stromversorgung des Systems einem Übergang, z. B. beim Ein- oder Ausschalten, unterliegt.
  • Das ersterwähnte Schreibschutzverfahren arbeitet nach dem Prinzip, daß, wenn die Programmierung komplexer gemacht wird, es wahrscheinlicher ist, daß jedesmal, wenn der Prozeß richtig ausgeführt wird, es die Folge eines absichtlichen Versuchs ist, das PROM zu programmieren. Da jedoch die Befehlsfolge zum Programmieren des PROM irgendwo im Speicher vorhanden sein muß, und da es Zeiten bei Spannungsübergängen gibt wenn das System "wild" Befehle ausführt, besteht einige Wahrscheinlichkeit, daß die Programmierungssequenz getroffen und der Inhalt des PROM unabsichtlich verändert wird.
  • Der letztere Weg löst das Problem durch Ermitteln von Übergängen in der Stromversorgung des Systems und durch Abschalten des Mechanismusses, durch den das PROM programmiert wird. Die U.S.-Patente 4,612, 632 und 4,644,494 zeigen dieses Verfahren des Schreibschutzes eines PROM. Diese Lösung ist im Fall eines Ein-Chip-Mikrocomputers und in einigen anderen Fällen wegen der Erfordernis einer Spannungspegel-Ermittlungsschaltung reizlos. Solche Schaltungen sind schwierig zuverlässig und wiederholbar auf dem gleichen Chip wie ein Mikrocomputer herzustellen. Verarbeitungsabweichungen verursachen von Chip zu Chip Unterschiede in dem genauen Einstellpunkt des Spannungssensors und machen so den Schreibschutz unzuverlässig.
  • U.S.-Patent 4,638,457 offenbart ein Verfahren zur Erhöhung der Zuverlässigkeit der in einem PROM gespeicherten Daten, schützt aber nur gegen unvollständiges Schreiben und nicht gegen unabsichtliches, aber vollständiges Schreiben.
  • U.S.-Patent 4,580,246, zusammen mit der vorliegenden Erfindung erteilt, offenbart ein Schreibschutzverfahren für Steuerregister. Die Steuerregister dürfen nur einmal und nur innerhalb einer kurzen vorbestimmten Zeit nach der Systemrücksetzung beschrieben werden. Nach dieser Periode ist kein Beschreiben erlaubt, bis das System erneut rückgesetzt wird. Dies ist offensichtlich ein zuverlässiger Schutz für bestimmte Arten von Steuer- und Konfigurationsinformationen, kann aber nicht für ein PROM benutzt werden, das relativ lange Datenblöcke, z. B. Motorsteuerungsparameter in einer Fahrzeugsteuereinheit, enthält, die zur Neuprogrammierung mehr als die erlaubte Zeit benötigen würden.
  • Zusammenfassung der Erfindung
  • Es ist folglich eine Aufgabe der vorliegenden Erfindung, eine verbesserte Vorrichtung und Methode zum Schreibschutz eines PROM zur Verfügung zu stellen.
  • Es ist eine weitere Aufgabe der vorliegenden Erfindung, eine Vorrichtung und eine Methode des Schreibschutzes für ein PROM zur Verfügung zu stellen, die nicht durch eine unabsichtlich ausgeführte Sequenz von Befehlen überwunden werden können.
  • Eine weitere Aufgabe der vorliegenden Erfindung ist es, eine Vorrichtung und eine Methode des Schreibschutzes für ein PROM zur Verfügung zu stellen, die keine Spannungsabtastschaltung benötigen.
  • Noch eine weitere Aufgabe der vorliegenden Erfindung ist es, eine Vorrichtung und eine Methode bereitzustellen, um einen unabhängigen Schreibschutz für eine Mehrzahl von unabhängig schreibschutzfähigen PROM-Blöcken zur Verfügung zu stellen.
  • Erfindungsgemäß wird eine Schreibschutzvorrichtung zur Verwendung in einem System zur Verfügung gestellt, wobei das System ein PROM, ein Schreibschutzregister, eine Takteinrichtung zum Liefern eines Taktsignals und eine Schreibschutzeinrichtung umfaßt, um Schreibungen in das PROM zu gestatten, wenn und nur wenn das Schreibschutzregister vorbestimmte Daten enthält, wobei die Schreibschutzvorrichtung umfaßt:
  • eine Zeitgebereinrichtung, ansprechend auf das Taktsignal und auf ein äußeres Ereignis, um ein Zeitsperrensignal eine bestimmte Anzahl von Zyklen des Taktsignals nach dem Eintreten des äußeren Ereignisses zu erzeugen, und
  • eine Registerschutzeinrichtung, ansprechend auf das äußere Ereignis und auf das Zeitsperrensignal, um das Schreiben der vorbestimmten Daten in das Schreibschutzregister nur in der Zeit zwischen dem Auftreten des äußeren Ereignisses und der Erzeugung des Zeitsperrensignals zu gestatten.
  • Diese und andere Aufgaben und Vorteile der vorliegenden Erfindung werden dem Fachmann in der Technik aus der folgenden Beschreibung in Verbindung mit den Zeichnungen ersichtlich.
  • Kurzbeschreibung der Zeichnungen
  • Fig. 1 ist ein Blockschaltbild, das einen Mikrocomputer einer bevorzugten Ausführung der vorliegenden Erfindung darstellt;
  • Fig. 2 ist ein ausführliches Logikdiagramm eines Teils des Mikrocomputers von Fig. 1, und
  • Fig. 3 ist ein ausführliches Logikdiagramm eines Teils der Vorrichtung von Fig. 2.
  • Ausführliche Beschreibung der Erfindung
  • Fig. 1 zeigt einen Ein-Chip-Mikrocomputer 10 in Blockschaltbildform. Während die vorliegende Erfindung im Kontext dieser bevorzugten Ausführung offenbart wird, sind die Prinzipien der vorliegenden Erfindung auf Platinen-Computersysteme, Speichersysteme und andere Ausführungen anwendbar.
  • Eine zentrale Verarbeitungseinheit (CPU) 11 ist mit einem Adreßbus 12 und mit einem Datenbus 13 zur Kommunikation mit anderen Teilen des Mikrocomputers 10 verbunden. Die CPU 11 ist auch mit einer Mehrzahl von Anschlüssen (Pins) des Mikrocomputers 10 für Unterbrechungen, Modusauswahl, Rücksetzungen und dergleichen Zwecke verbunden. Eine erste Peripherie 14 ist mit dem Adreßbus 12 und mit dem Datenbus 13 verbunden. Die Peripherie 14 ist über eine Port-A-Steuervorrichtung 15 auch mit einer Mehrzahl von Pins des Mikrocomputers 10 verbunden. Die Peripherie 14 kann z. B. ein Zeitgeber, eine serielle Kommunikationsschnittstelle, ein Analog/Digital-Wandler oder eine andere periphere Einrichtung sein.
  • Eine zweite Peripherie 16 ist mit dem Adreßbus 12 und mit dem Datenbus 13 verbunden. Die Peripherie 16 ist über eine Port-B-Steuervorrichtung 17 auch mit einer Mehrzahl von Pins des Mikrocomputers 10 verbunden. Die Peripherie 16 kann z. B. ein Zeitgeber, eine serielle Kommunikationsschnittstelle, ein Analog/Digital-Wandler oder eine andere periphere Einrichtung sein.
  • Eine Buserweiterungsschnittstelle 18 ist mit dem Adreßbus 12 und mit dem Datenbus 13 verbunden. Die Buserweiterungsschnittstelle 18 ist über eine Port-C-Steuervorrichtung 19 und eine Port-D-Steuervorrichtung 20 auch mit einer Mehrzahl von Pins des Mikrocomputers 10 verbunden. Die Buserweiterungsschnittstelle 18 dient dazu, Einrichtungen außerhalb des Mikrocomputers 10 einen Zugriff auf den Adreßbus 12 und den Datenbus 13 zur Verfügung zu stellen.
  • Eine Anordnung aus EEPROM 22 ist über eine Adreßdecoder- und Schreibschutzlogik 23 mit dem Adreßbus 12 und mit dem Datenbus 13 verbunden. Gleichermaßen ist eine Anordnung aus Speichern mit wahlfreiem Zugriff (RAM) 24 über eine Adreßdecoderlogik 25 mit dem Adreßbus 12 und mit dem Datenbus 13 verbunden. Eine Takt/Zeitgebervorrichtung 26 ist mit verschiedenen Pins des Mikrocomputers 10 verbunden. Die Takt/Zeitgebervorrichtung 26 empfängt Eingaben entweder von einem externen Taktsignalgenerator oder von einem externen Oszillator und stellt den anderen Komponenten des Mikrocomputers 10 und den externen Einrichtungen verschiedene Takt- und Zeitsteuersignale zur Verfügung. Das von dem Takt/Zeitgeber 26 intern wie extern gelieferte Taktsignal wird als E-Takt bezeichnet.
  • Verschiedene Steuersignale, wie Rücksetzsignale und dergleichen, werden ebenfalls über den ganzen Mikrocomputer 10 verteilt, sind aber hier nicht dargestellt, um Klarheit zu bewahren. Gleichermaßen sind die Stromversorgungs- und Verteilungsschaltungen nicht dargestellt. Es wird angenommen, daß der Mikrocomputer 10 alle erforderlichen Vorrichtungen enthält, um das EEPROM 22 vollständig unter Programmkontrolle zu programmieren.
  • Fig. 2 zeigt einen Teil der Adreßdecoder- und Schreibschutzlogik 23 von Fig. 1. Ein Blockschutzregister 30 enthält fünf Datenbits, wobei die restlichen drei Bits nicht zur Ausführung gebracht sind. Die fünf implementierten Bits schützen vier Blöcke aus EEPROM 22 und ein mit dem mnemotechnischen Kürzel CONFig. (für konfigurieren) bezeichnetes Steuerregister, das unter Verwendung von EEPROM-Zellen ausgeführt ist. Außer für die Einschränkungen beim Löschen (zwingen auf ein logisches Tief) der Bits von Register 30, wie unten beschrieben, ist das Register 30 allen anderen Steuerregistern des Mikrocomputers 10 ähnlich. Bei der bevorzugten Ausführung liegt es bei Adresse $_35 (Adressen werden in Hexadezimalform gegeben, und das führende "_" zeigt an, daß die höchstwertige Hexadezimalziffer ohne Bedeutung ist). Das Register 30 wird auch mit dem mnemotechnischen Kürzel BPROT (für block protect = Blockschutz) bezeichnet.
  • Jedes Bit von Register 30 verhindert, wenn es gesetzt ist, (d. h. wenn es ein logisches Hoch zeigt) Schreibungen in seinen zugehörigen Block aus EEPROM 22 oder in CONFIG, je nachdem. Jedes Bit geht aus einer Rücksetzung von Mikrocomputer 10 im gesetzten Zustand hervor. Jedes Bit kann jederzeit durch die CPU 11 gelesen oder gesetzt werden, kann aber nur während der ersten 64 E-Taktzyklen, die einer Rücksetzung folgen gelöscht werden. Die Schaltungen von Fig. 2 (und Fig. 3) implementieren diese Funktionalität, wie unten im einzelnen beschrieben wird.
  • Jedes der unteren fünf Bits von Register 30 umfaßt einen besonderen Latchkreis 31a-31e. Fig. 3 zeigt die Einzelheiten eines solchen Latchkreises. Jedes der oberen drei Bits von Register 30 umfaßt einen N- kanal-Pulldown-Transistor 32a-32c. Jeder besondere Latchkreis 31a-31e besitzt einen bidirektionalen D- (für Daten) Anschluß. Die D-Anschlüsse der Latchkreise 31a-31e sind mit den Datenanschlüssen DB0-DB4 von Datenbus 13 verbunden. Die Datenleitungen DB5-DB7 sind mit den Source- Anschlüssen der Transistoren 32a-32c verbunden. Alle Drain-Anschlüsse der Transistoren 32a-32c sind mit Masse verbunden. Jeder besondere Latchkreis 31a-31e besitzt einen RST- (für Rücksetzung) Eingang, der mit einer Leitung, die ein Signal RST führt, verbunden ist. RST ist das Systemrücksetzsignal für den Mikrocomputer 10. Jeder besondere Latchkreis 31a-31e besitzt einen S- (für setzen) Eingang, der mit einer Leitung, die ein Signal WBPROT (für write block protect = Schreibblockschutz) führt, verbunden ist. Ferner besitzt jeder besondere Latchkreis 31a-31e einen RD- (für read = lesen) Eingang, der mit einer Leitung, die ein Signal RBPROT (für read block protect = Leseblockschutz) führt, verbunden ist. Die Gates der Transistoren 32a-32c sind ebenfalls mit der Leitung RBPROT verbunden. Schließlich besitzt jeder besondere Latchkreis 31a-31e einen Ausgang Q und einen Eingang R, die in einer unten zu beschreibenden Weise verbunden und benutzt werden.
  • Die Signale WBPROT und RBPROT werden von der Adreßdecoder- und Timinglogik 35 erzeugt. Die Logik 35 besitzt Eingänge, die mit wenigstens einigen Adreßleitungen von Adreßbus 12 verbunden sind. Bei der bevorzugten Ausführung reichen der Logik 35 die unteren sechs Adreßleitungen plus ein internes Registerauswahlsignal aus, um zu bestimmen, wann das Blockschutzregister 30 adressiert wird. Die Logik 35 besitzt auch Eingänge, die mit einem RW- (für read/write) = lesen/schreiben) Signal und mit wenigstens einem Zeitsteuersignal verbunden sind. Außer den oben erwähnten Signalen WBPROT und RBPROT liefert die Logik 35 ein Zeitsteuersignal ETCPH2. Wie aus ihren mnemotechnischen Kürzeln hervorgeht, zeigen WBPROT bzw. RBPROT an, daß ein Versuch gemacht wird, in das Blockschutzregister 30 zu schreiben oder daraus zu lesen.
  • Ein Zeitsperrensignal TIM80 liefert die Basis für den Zeitsteueraspekt des gerade beschriebenen Blockschutzmechanismusses. Bei der bevorzugten Ausführung nimmt TIM80 einen logischen Tief-Zustand an, wann immer eine Systemrücksetzung eingeleitet wird und bleibt für 64 E-Taktzyklen, nachdem der Mikrocomputer 10 aus der Rücksetzung herauskommt und Befehle auszuführen beginnt, Tief und nimmt dann einen Hoch-Zustand an. Die Erzeugung und Verwendung eines Signals wie dem TIM80 sind ausführlicher in U.S.-Patent 4,580,246 beschrieben.
  • Eine Leitung, die TIM80 führt, ist mit einem Inverter 40 verbunden. Der Ausgang von Inverter 40 ist mit einem Eingang eines ODER-Gatters 41 verbunden. Eine Leitung, die ein Signal SMOD (für special mode = besonderer Modus) führt, ist mit dem anderen Eingang von ODER-Gatter 41 verbunden. Der Ausgang von ODER-Gatter 41 ist mit einem Eingang des NAND-Gaters 42 verbunden. Eine Leitung, die das Signal WBPROT führt, ist mit dem anderen Eingang von NAND-Gatter 42 verbunden. Ein Ausgang von NAND-Gatter 42 ist mit einem Eingang eines NOR-Gatters 43 verbunden. Der andere Eingang von NOR-Gatter 43 ist mit einer Leitung verbunden, die das Signal ETCPH2 führt.
  • Wie leicht ersichtlich ist, erzeugt das NAND-Gatter 42 einen logischen Tief-Ausgang, wenn WBPROT Hoch ist (was ein versuchtes Schreiben anzeigt) und wenn der Ausgang von ODER-Gatter 41 Hoch ist. Der Ausgang von ODER-Gatter 41 ist Hoch, wenn entweder die Umkehr von TIM80 Hoch ist (was anzeigt, daß das System innerhalb der 64 E-Taktzyklendauer der letzten Rücksetzung ist) oder SMOD Hoch ist (was anzeigt, daß das System in einem besonderen, oder Testmodus ist). Das NOR-Gatter 43 arbeitet einfach, um den Ausgang von NAND-Gatter 42 mit dem Zeitsteuersignal ETCPH2 aufzubereiten (und um den Sinn des Signals umzukehren), um ein zeitlich richtig abgestimmtes Signal zu erzeugen, das benutzt werden kann, um das Löschen, oder Schreiben eines logischen Tief-Signals, in eines oder mehrere Bits von Register 30 freizugeben. Der Ausgang von NOR-Gatter 43 ist mit den R- (für Rücksetzen oder Löschen) Eingängen jedes der besonderen Latchkreise 31a-31e verbunden.
  • Wie aus der Beschreibung von Fig. 3 unten klarer hervorgehen wird, können die besonderen Latchkreise 31a-31e nur gelöscht werden, wenn ein logisches Hoch-Signal am R-Eingang vorhanden ist. Daher kann kein Bit von Blockschutzregister 30 gelöscht werden, außer während der ersten 64 E-Taktzyklen nach einer Rücksetzung oder während eines Testmodusses. Da das Signal WBPROT jederzeit, wenn es erzeugt wird, den S- Eingängen der besonderen Latchkreise 31a-31e bereitgestellt wird, können die Bits von Register 30 jederzeit gesetzt werden. Der Q-Ausgang des besonderen Latchkreises 31a ist mit einem Eingang eines UND- Gatters 45a verbunden. Der andere Eingang von UNO-Gatter 45a ist mit einer Leitung verbunden, die ein Signal EELAT führt. Das Signal EELAT ist der Ausgang eines Bits eines mit PPROG bezeichneten Steuerregisters, das die Programmierung und Löschung von EEPROM 22 steuert. Insbesondere ist EELAT logisch Hoch, wenn PPROG errichtet wird, um das EEPROM 22 zum Programmieren, oder Schreiben, zu konfigurieren. EELAT ist Tief, wenn das EEPROM zum Nurlesen konfiguriert wird.
  • Ein Ausgang von AND-Gatter 45a ist mit einem Eingang von NOR-Gatter 46a verbunden. Der andere Eingang von NOR-Gatter 46a ist mit einem Ausgang eines Inverters 47 verbunden, dessen Eingang mit einer Leitung verbunden ist, die ein Signal LATERMS1 führt. Das Signal LATERMS1 ist ein Zeitsteuersignal, das benutzt wird, um die Reihendecoderlogik von EEPROM 22 freizugeben. Ein Ausgang von NOR-Gatter 46a ist eine Leitung, die ein Signal NHBTBLK0 (für Block 0 sperren) führt. Das Signal NHBTBLK0, wenn logisch Hoch, gibt die Reihendecoderlogik für einen ersten Block (Block 0) von EEPROM 22 frei. Wenn NHBTBLK0 logisch Tief ist, wird diese Reihendecodervorrichtung abgeschaltet oder gesperrt.
  • Wenn das Signal EELAT Tief ist, was anzeigt, daß das EEPROM 22 nur gelesen werden kann, ist der Ausgang von AND-Gatter 45a immer Tief. Wann immer LATERMS1 Hoch geht, geht daher dieser Eingang von NOR-Gatter 46a Tief und NHBTBLK0 geht Hoch, wodurch die Reihendecoderlogik des Blocks 0 von EEPROM 22 freigegeben wird. Bei dieser Bedingung kann der Status von Latchkreis 31a keinen versuchten Zugriff auf EEPROM 22 erwirken, da nur Lesevorgänge stattfinden.
  • Wenn jedoch EELAT logisch Hoch ist, was das Programmieren von EEPROM 22 erlaubt, wird der Ausgang von UND-Gatter 45a Tief sein und nur, wenn der Q-Ausgang von Latchkreis 31a Tief ist; d. h., wenn der Latchkreis 31a gelöscht ist. Wenn der Latchkreis 31a gelöscht ist, wird NHBTBLK0 Hoch sein, wann immer LATERMS1 Hoch ist. Somit ist ein normaler Zugriff auf Block 0 von EEPROM 22 erlaubt. Wenn jedoch der Latchkreis 31a gesetzt ist (der Q-Ausgang ist Hoch), ist NHBTBLK0 immer logisch Tief, was einen Zugriff auf Block 0 von EEPROM 22 verhindert, bis entweder EELAT Tief gezwungen oder Latchkreis 31a gelöscht wird.
  • Die Logik, die den Latchkreis 31a, das UND-Gatter 45a, das NOR-Gatter 46a und die Signale EELAT, LATERMS1 und NHBTBLK0 einschließt, wird für jedes andere ausgeführte Bit von Register 30 wiederholt. Der Ausgang von NOR-Gatter 46b ist daher eine Leitung, die das Signal NHBTBLK1 führt, das, wenn Hoch, die Reihendecoderlogik des Blocks 1 von EEPROM 22 frei gibt, und so fort. Der Ausgang von NOR-Gatter 46e ist eine Leitung, die das Signal NHBTCONF führt, das, wenn Hoch, die Decoderlogik für das CONF-Register freigibt, um ihm so den gleichen Schreibschutz zu bieten wie er dem EEPROM 22 zur Verfügung gestellt wird.
  • Mit Verweis auch auf Fig. 3 wird ein besonderer Latchkreis 50 beschrieben. Bei der bevorzugten Ausführung ist jeder der besonderen Latchkreise 31a-31e gemäß dem Schaltbild von Fig. 3 aufgebaut. Der Latchkreis 50 hat Eingangsanschlüsse RD, S, RST und R, einen Ausgangsanschluß Q und einen bidirektionalen Anschluß D. Ein Latch 51 umfaßt einen ersten Inverter 52 und einen zweiten Inverter 53, die in der bekannten Latchanordnung verbunden sind. Das Latch 51 besitzt die Anschlüsse 54 und 55. Vor den vorliegenden Zweck soll Latch 51 gesetzt werden, wenn der Anschluß 54 logisch Hoch ist, und soll gelöscht werden, wenn der Anschluß 54 logisch Tief ist. Der Q-Ausgang von Latchkreis 50 ist mit dem Anschluß 54 von Latch 51 verbunden, so daß der Q-Ausgang von Latchkreis 50 den Zustand von Latch 51 darstellt.
  • Ein Inverter 57 besitzt einen mit dem Anschluß 55 von Latch 51 verbundenen Eingang. Ein Ausgang von Inverter 57 ist über ein Übertragungsgatter 58 mit dem bidirektionalen Anschluß D verbunden. Ein nicht-invertierter Eingang von Übertragungsgatter 58 ist mit dem Eingangsanschluß RD verbunden. Der Eingang RD ist über einen Inverter 59 auch mit einem invertierten Eingang von Übertragungsgatter 58 verbunden. Daher wird, wenn das am Eingang RD vorhandene Signal (RBPROT) Hoch ist, der invertierte Zustand von Anschluß 55, der dem nicht-invertierten Zustand von Anschluß 54 entspricht, mit dem bidirektionalen Anschluß D verbunden. Dies ist natürlich der Mechanismus, mit dem der Inhalt von Blockschutzregister 30 gelesen werden kann.
  • Ein Drain-Anschluß eines N-Kanal-Transistors 65 ist mit dem Anschluß 54 von Latch 51 verbunden. Ein Source-Anschluß von Transistor 65 ist mit einem Drain-Anschluß eines N-Kanal-Transistors 66 verbunden. Ein Source-Anschluß von Transistor 66 ist mit Masse verbunden. Ein Gate- Anschluß von Transistor 65 ist mit dem R-Eingang von Lachtkreis 50 verbunden. Ein Gate-Anschluß von Transistor 66 ist mit einem Ausgang eines Inverters 67 verbunden. Ein Eingang von Inverter 67 ist mit dem bidirektionalen Anschluß D verbunden. Folglich wird dann, wenn das mit dem Eingang R verbundene Signal (der Ausgang von NOR-Gatter 43) Hoch ist, und wenn gleichzeitig das an den bidirektionalen Anschluß D (eine der Datenleitungen von Datenbus 13) angelegte Signal Tief ist, der Anschluß 54 von Latch 51 Tief gezogen. Dies löscht natürlich das Latch 51.
  • Ein Drain-Anschluß eines N-Kanal-Transistors 68 ist mit dem Anschluß 55 von Latch 51 verbunden. Ein Source-Anschluß von Transistor 68 ist mit einem Drain-Anschluß einem N-Kanal-Transistors 69 verbunden. Ein Source-Anschluß von Transistor 69 ist mit Masse verbunden. Ein Gate- Anschluß von Transistor 68 ist mit dem S-Eingang von Lachtkreis 50 verbunden. Ein Gate-Anschluß von Transistor 69 ist mit dem bidirektionalen Anschluß D von Latchkreis 50 verbunden. Folglich wird dann, wenn die am S-Anschluß (WBPROT) und am D-Anschluß vorhandenen Signale gleichzeitig logisch Hoch sind, der Anschluß 55 von Latch 51 Tief gezogen werden. Dies setzt natürlich das Latch 51. Ein Drain-Anschluß eines N-Kanal-Transistors 70 ist mit dem Anschluß 55 von Latch 51 verbunden. Ein Source-Anschluß von Transistor 70 ist mit Masse verbunden. Ein Gate-Anschluß von Transistor 70 ist mit dem RST-Eingangsanschluß von Latchkreis 50 verbunden. Daher wird, wenn das am Anschluß RST vorhandene Signal (das Systemrücksetzsignal) Hoch ist, das Latch 51 gesetzt werden.
  • Die oben beschriebene Vorrichtung stellt ein verbessertes Schreibschutzverfahren für PROMs zur Verfügung. Ein Register, das Schreibschutzinformationen enthält, geht aus der Rücksetzung immer konfiguriert hervor, um Schreibungen in das PROM zu verhindern. Das Register muß beschrieben werden, um die Schutzinformationen zu verändern und Schreibungen in das PROM zu erlauben. Außerdem sind solche Schreibungen in das Register, um den Schutz des PROM aufzuheben, nur zu bestimmten Zeiten erlaubt. Eine Schreibung in das Register, die den Schutz des PROM wiederherstellt, kann jederzeit erfolgen. Im Zusammenhang mit einem Mikrocomputer mit internem PROM, wie bei der bevorzugten Ausführung, ist die Tatsache, daß für den Schreibschutz des PROM kein Spannungsfühler benötigt wird, ein Hauptvorteil der vorliegenden Erfindung. Auch wenn der Mikrocomputer während eines Stromabschaltübergangs "wild" Befehle ausführt, ist außerdem keine Befehlsfolge imstande, in das PROM zu schreiben, nachdem das Zeitsperrensignal das Register verriegelt hat.
  • Unter vielen anderen möglichen Modifikationen der hierin offenbarten bevorzugten Ausführung ist es möglich, daß es nicht erwünscht sein mag, verschiedene Blöcke des PROM getrennt zu schützen. Man könnte deshalb das Blockschutzregister auf ein einziges Bit vermindern, das das gesamte PROM in dem System schützen würde.
  • Während die vorliegende Erfindung mit Verweis auf eine bevorzugte Ausführung davon dargestellt und beschrieben worden ist, werden dem Fachmann in der Technik verschiedene Modifikationen und Änderungen dazu ersichtlich sein und innerhalb des Umfangs der vorliegenden Erfindung liegen.

Claims (9)

1. Schreibschutzvorrichtung zur Verwendung in einem System (10), wobei das System ein PROM (22), ein Schreibschutzregister (30), eine Takteinrichtung (26) zum Liefern eines Taktsignals und eine Schreibschutzeinrichtung (23) umfaßt, um Schreibungen in das PROM (22) zu gestatten, wenn und nur wenn das Schreibschutzregister (30) vorbestimmte Daten enthält, wobei die Schreibschutzvorrichtung umfaßt:
eine Zeitgebereinrichtung (26), ansprechend auf das Taktsignal und auf ein äußeres Ereignis, um ein Zeitsperrensignal (TIM80) eine bestimmte Anzahl von Zyklen des Taktsignals nach dem Eintreten des äußeren Ereignisses zu erzeugen, und
eine Registerschutzeinrichtung (40, 41, 42, 43), ansprechend auf das äußere Ereignis und auf das Zeitsperrensignal (TIM80), um das Schreiben der vorbestimmten Daten in das Schreibschutzregister (30) nur in der Zeit zwischen dem Auftreten des äußeren Ereignisses und der Erzeugung des Zeitsperrensignals (TIM80) zu gestatten.
2. Vorrichtung nach Anspruch 1, worin:
das Schreibschutzregister (30) auf das äußere Ereignis anspricht, um andere Daten als die vorbestimmten Daten zu speichern.
3. Vorrichtung nach Anspruch 2, worin:
das äußere Ereignis eine Rücksetzung ist.
4. Vorrichtung nach Anspruch 1, worin:
das Schreibschutzregister (30) weiter eine Mehrzahl von Bitspeicherstellen (31A-31E) umfaßt;
das PROM (22) eine Anzahl getrennt schreibschützbarer Teile gleich der Anzahl der Bitspeicherstellen in dem Schreibschutzregister (30) umfaßt, und
die Schreibschutzeinrichtung (23) weiter eine Einrichtung (45A-45E und 46A-46E) umfaßt, um Schreibungen in jeden der getrennt schreibschützbaren Teile nur zu gestatten, wenn eine vorbestimmte der Bitspeicherstellen (31A-31E) sich in einem ersten vorbestimmten Zustand befindet.
5. Vorrichtung nach Anspruch 1, worin die Schreibschutzeinrichtung (23) weiter umfaßt:
eine Einrichtung (45A-45E und 46A-46E), um einen Adreßdecodierer selektiv abzuschalten.
6. Vorrichtung nach Anspruch 1, weiter umfassend:
eine Konfigurierungseinrichtung (EELAT), um das PROM (22) zum Programmieren oder zum Nurlesen zu konfigurieren, wobei die Schreibschutzeinrichtung (23) auf die Konfigurierungseinrichtung anspricht, um Zugriff auf das PROM ungeachtet der in der Schutzregistereinrichtung (30) gespeicherten Information zu gestatten, wenn das PROM zum Nurlesen konfiguriert ist.
7. Datenverarbeitungssystem (10) umfassend:
eine CPU-Einrichtung (11) zum Ausführen von Instruktionen; und
eine Schreibschutzvorrichtung nach jedem vorangehenden Anspruch.
8. Datenverarbeitungssystem nach Anspruch 7, worin die CPU-Einrichtung (11) imstande ist, ungeachtet der Erzeugung des Zeitsperrensignals (TIM80) in dem Schreibschutzregister (30) andere Informationen als die vorbestimmten Daten zu speichern.
9. Verfahren zum Schützen eines PROM (22) in einem System, das das PROM (22), ein Schreibschutzregister (30), eine Takteinrichtung (26) zum Liefern eines Taktsignals und eine Schreibschutzeinrichtung (23) umfaßt, um Schreibungen in das PROM zu gestatten, wenn und nur wenn das Schreibschutzregister (30) vorbestimmte Daten enthält, wobei das Verfahren das PROM (22) vor unabsichtlichen Schreibungen schützt und die Schritte umfaßt:
Reagieren auf ein äußeres Ereignis und auf das Taktsignal durch Erzeugen eines Zeitsperrensignals (TIM80) eine vorbestimmten Anzahl von Zyklen des Taktsignals nach dem Eintreten des äußeren Ereignisses, und
Gestatten, daß die vorbestimmten Daten in das Schreibschutzregister (30) nur in der Zeit zwischen dem Auftreten des äußeren Ereignisses und der Erzeugung des Zeitsperrensignals TIM80 geschrieben werden.
DE3889390T 1987-07-22 1988-07-18 Schreibe-Schutzmechanismus für nichtflüchtigen Speicher. Expired - Fee Related DE3889390T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/076,509 US4796235A (en) 1987-07-22 1987-07-22 Write protect mechanism for non-volatile memory

Publications (2)

Publication Number Publication Date
DE3889390D1 DE3889390D1 (de) 1994-06-09
DE3889390T2 true DE3889390T2 (de) 1994-12-01

Family

ID=22132466

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3889390T Expired - Fee Related DE3889390T2 (de) 1987-07-22 1988-07-18 Schreibe-Schutzmechanismus für nichtflüchtigen Speicher.

Country Status (4)

Country Link
US (1) US4796235A (de)
EP (1) EP0300406B1 (de)
JP (1) JP2597153B2 (de)
DE (1) DE3889390T2 (de)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6382534A (ja) * 1986-09-26 1988-04-13 Matsushita Electric Ind Co Ltd メモリ保護装置
US4918690A (en) * 1987-11-10 1990-04-17 Echelon Systems Corp. Network and intelligent cell for providing sensing, bidirectional communications and control
JP2712128B2 (ja) * 1988-10-11 1998-02-10 株式会社日立製作所 半導体記憶装置
US5083293A (en) * 1989-01-12 1992-01-21 General Instrument Corporation Prevention of alteration of data stored in secure integrated circuit chip memory
US5381366A (en) * 1989-04-11 1995-01-10 Mitsubishi Denki Kabushiki Kaisha Non-volatile semiconductor memory device with timer controlled re-write inhibit means
US5278786A (en) * 1989-04-11 1994-01-11 Mitsubishi Denki Kabushiki Kaisha Non-volatile semiconductor memory device having an area responsive to writing allowance signal
US5197026A (en) * 1989-04-13 1993-03-23 Microchip Technology Incorporated Transparent EEPROM backup of DRAM memories
US7447069B1 (en) 1989-04-13 2008-11-04 Sandisk Corporation Flash EEprom system
DE69034191T2 (de) * 1989-04-13 2005-11-24 Sandisk Corp., Sunnyvale EEPROM-System mit aus mehreren Chips bestehender Blocklöschung
US5142688A (en) * 1989-11-03 1992-08-25 Motorola, Inc. Data processor test mode access method
US6009495A (en) * 1989-12-29 1999-12-28 Packard Bell Nec Protected address range in an electrically erasable programmable read only memory
FI86922C (fi) * 1990-01-05 1992-10-26 Raha Automaattiyhdistys Foerfarande och anordning foer kontrollering av inskrivning i ett minne
NL9000940A (nl) * 1990-04-20 1991-11-18 Nedap Nv Universeel identificatie label.
US5546561A (en) * 1991-02-11 1996-08-13 Intel Corporation Circuitry and method for selectively protecting the integrity of data stored within a range of addresses within a non-volatile semiconductor memory
US5226006A (en) * 1991-05-15 1993-07-06 Silicon Storage Technology, Inc. Write protection circuit for use with an electrically alterable non-volatile memory card
WO1993010498A1 (en) * 1991-11-12 1993-05-27 Microchip Technology Inc. Security for on-chip microcontroller memory
US7057937B1 (en) 1992-03-17 2006-06-06 Renesas Technology Corp. Data processing apparatus having a flash memory built-in which is rewritable by use of external device
TW231343B (de) * 1992-03-17 1994-10-01 Hitachi Seisakusyo Kk
US6414878B2 (en) 1992-03-17 2002-07-02 Hitachi, Ltd. Data line disturbance free memory block divided flash memory and microcomputer having flash memory therein
US5687345A (en) * 1992-03-17 1997-11-11 Hitachi, Ltd. Microcomputer having CPU and built-in flash memory that is rewritable under control of the CPU analyzing a command supplied from an external device
US5630143A (en) * 1992-03-27 1997-05-13 Cyrix Corporation Microprocessor with externally controllable power management
US6343363B1 (en) * 1994-09-22 2002-01-29 National Semiconductor Corporation Method of invoking a low power mode in a computer system using a halt instruction
US5632037A (en) * 1992-03-27 1997-05-20 Cyrix Corporation Microprocessor having power management circuitry with coprocessor support
JPH06202762A (ja) * 1992-10-30 1994-07-22 Nippon Motorola Ltd ライトデータ保護機能付きリセット信号発生回路
FR2700402B1 (fr) * 1993-01-13 1995-04-07 Sgs Thomson Microelectronics Microcontrôleur à mémoire électriquement programmable multimode.
KR100320360B1 (ko) * 1993-07-29 2002-04-22 페레고스 조지, 마이크 로스 원격재프로그램이가능한마이크로콘트롤러용프로그램메모리
US5467396A (en) * 1993-10-27 1995-11-14 The Titan Corporation Tamper-proof data storage
US5394367A (en) * 1994-03-18 1995-02-28 Ramtron International Corporation System and method for write-protecting predetermined portions of a memory array
US5764995A (en) * 1994-03-25 1998-06-09 Packard Bell Nec Write once read only registers
JPH08235073A (ja) * 1995-02-28 1996-09-13 Nec Kyushu Ltd マイクロコンピュータ
US5778444A (en) * 1996-05-06 1998-07-07 Motorola, Inc. Method and apparatus for reset-sensitive and controlled register write accesses in a data processing system with user and test modes
US5890191A (en) * 1996-05-10 1999-03-30 Motorola, Inc. Method and apparatus for providing erasing and programming protection for electrically erasable programmable read only memory
EP0825530A3 (de) * 1996-06-20 2004-06-02 Sharp Kabushiki Kaisha Rechnergerät mit elektrischem wiederschreibbarem nichtflüchtigem Speicher und nichtflüchtiger Halbleiterspeicher
US5974500A (en) * 1997-11-14 1999-10-26 Atmel Corporation Memory device having programmable access protection and method of operating the same
US6996721B2 (en) * 2001-03-27 2006-02-07 Micron Technology, Inc. Flash device security method utilizing a check register
EP1248200A1 (de) * 2001-04-06 2002-10-09 Micronas GmbH Verriegelungsschaltung zur Verhinderung eines unzulässigen Zugriffs auf die Speichereinrichtung eines Prozessors
EP1764803A1 (de) * 2005-09-09 2007-03-21 STMicroelectronics S.r.l. Speicherarchitektur mit serieller Peripherieschnittstelle
US8549260B2 (en) * 2009-01-29 2013-10-01 Infineon Technologies Ag Apparatus for processing data and method for generating manipulated and re-manipulated configuration data for processor
EP2221825A1 (de) * 2009-02-05 2010-08-25 Thomson Licensing Nichtflüchtige Speichervorrichtung mit fälschungssicherer Festwertspeicheroption
DE102012101343B4 (de) * 2012-02-20 2015-01-08 Avisaro AG Mobiler Datenträger und Steuerprogramm dafür

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3123444A1 (de) * 1981-06-12 1983-01-05 Siemens AG, 1000 Berlin und 8000 München Verfahren und anordnung zum nichtfluechtigen speichern des zaehlerstandes einer elektronischen zaehlschaltung
US4578774A (en) * 1983-07-18 1986-03-25 Pitney Bowes Inc. System for limiting access to non-volatile memory in electronic postage meters
US4580246A (en) * 1983-11-02 1986-04-01 Motorola, Inc. Write protection circuit and method for a control register
US4644494A (en) * 1984-02-06 1987-02-17 Sundstrand Data Control, Inc. Solid state memory for aircraft flight data recorder systems
JPS6124091A (ja) * 1984-07-12 1986-02-01 Nec Corp メモリ回路
US4612632A (en) * 1984-12-10 1986-09-16 Zenith Electronics Corporation Power transition write protection for PROM

Also Published As

Publication number Publication date
EP0300406B1 (de) 1994-05-04
DE3889390D1 (de) 1994-06-09
EP0300406A3 (de) 1992-01-15
JPS6437642A (en) 1989-02-08
US4796235A (en) 1989-01-03
JP2597153B2 (ja) 1997-04-02
EP0300406A2 (de) 1989-01-25

Similar Documents

Publication Publication Date Title
DE3889390T2 (de) Schreibe-Schutzmechanismus für nichtflüchtigen Speicher.
DE68913695T2 (de) Mikrorechner mit einem elektrisch löschbaren und programmierbaren nichtflüchtigen Speicher.
DE3852833T2 (de) Nichtflüchtiger Speicher.
DE3587344T2 (de) Vorrichtung mit programmierbarem Festspeicher und Speicheranordnung zu deren Anwendung.
DE69815258T2 (de) Elektrisch programmier- und löschbarer nichtflüchtiger Speicher mit einem lese- und/oder schreibgeschützen Bereich einschliesslich zugehöriger elektronischer Schaltung
DE3876780T2 (de) Mikrorechner mit eingebauter chipauswahl und programmierbarer busdehnung.
DE69425366T2 (de) System und Verfahren zur Schreibschutz bestimmter Teile eines Speicherarrays
DE10159901B4 (de) Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher
DE2916658A1 (de) Selbstprogrammierbarer mikroprozessor
DE3844033C2 (de) Speicherschaltung für ein Mikroprozessorsystem
EP0500973B1 (de) EEPROM und Verfahren zum Ändern einer Initialisierungsroutine im EEPROM
EP0128362B1 (de) Schaltungsanordnung mit einem Speicher und einer Zugriffskontrolleinheit
EP0129054A1 (de) Schaltungsanordnung mit einem Datenspeicher und einer Ansteuereinheit zum Auslesen, Schreiben und Löschen des Speichers
DE4204119A1 (de) Dual-port-speicher
DE2905675A1 (de) Schaltungsanordnung zur sperrung des zugangs zu einem speicher
DE4238062C2 (de) Multiport-Speichereinrichtung
DE69321700T2 (de) Nicht-flüchtige Halbleiterspeicher
EP0224639B1 (de) Verfahren zum Kontrollieren eines Speicherzugriffs auf einer Chipkarte und Anordnung zur Durchführung des Verfahrens
DE68913442T2 (de) Mikrorechner mit EEPROM.
DE2225841B2 (de) Verfahren und Anordnung zur systematischen Fehlerprüfung eines monolithischen Halbleiterspeichers
DE69602984T2 (de) Verfahren zum Schützen nichtflüchtiger Speicherbereiche
DE2905676A1 (de) Integrierte schaltung mit einem einzigen chip
DE3635754A1 (de) Mikrocomputer mit intern und extern programmiertem eprom
DE69218053T2 (de) Speicherkarte zur Zählung von Daten und Lesevorrichtung
DE19823930A1 (de) Integrierte Halbleiterschaltung mit an einem Halbleiterchip angeordnetem DRAM

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee