DE60103397T2 - Gesicherter eeprom-speicher mit fehlerkorrekturschaltung - Google Patents

Gesicherter eeprom-speicher mit fehlerkorrekturschaltung Download PDF

Info

Publication number
DE60103397T2
DE60103397T2 DE60103397T DE60103397T DE60103397T2 DE 60103397 T2 DE60103397 T2 DE 60103397T2 DE 60103397 T DE60103397 T DE 60103397T DE 60103397 T DE60103397 T DE 60103397T DE 60103397 T2 DE60103397 T2 DE 60103397T2
Authority
DE
Germany
Prior art keywords
bits
circuit
bit
area
memory device
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 - Lifetime
Application number
DE60103397T
Other languages
English (en)
Other versions
DE60103397D1 (de
Inventor
Sylvie Wuidart
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.)
STMicroelectronics SA
Original Assignee
STMicroelectronics SA
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 STMicroelectronics SA filed Critical STMicroelectronics SA
Publication of DE60103397D1 publication Critical patent/DE60103397D1/de
Application granted granted Critical
Publication of DE60103397T2 publication Critical patent/DE60103397T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • 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)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

  • Die vorliegende Erfindung betrifft EEPROM-Speichervorrichtungen, umfassend einen gesicherten, nicht löschbaren Bereich, insbesondere EEPROM-Speichervorrichtungen für integrierte Schaltungen von Chipkarten.
  • Die vorliegende Erfindung betrifft insbesondere die Integration einer Fehlerkorrekturschaltung in solche Speichervorrichtungen.
  • Elektrisch löschbare und programmierbare Speichervorrichtungen, die in den integrierten Schaltungen von Chipkarten vorhanden sind, weisen im Allgemeinen einen gesicherten programmierbaren aber nicht löschbaren Speicherbereich auf, der zur Aufnahme der OTP-Bits bestimmt ist, das heißt, der Bits, deren Wert nur in einer Richtung verändert werden kann. Wenn also gemäß Konvention einem gelöschten Bit der Wert „0" und einem programmierten Bit der Wert „1" zugewiesen wurde, unterscheidet sich ein OTP-Bit von einem normalen Bit dadurch, dass es auf 1 gesetzt werden kann aber hinterher nicht mehr zurück auf 0 gesetzt werden kann.
  • Die OTP-Bits finden verschiedene Anwendungen im Zusammenhang mit der Sicherung von Daten in Speichern und werden im Allgemeinen als verbrauchbare „Zugriffsberechtigungen" oder zum Bilden nicht umkehrbarer Zähler benutzt. Zum Beispiel können die OTP-Bits benutzt werden, um während den Personalisierungsphasen einer Chipkarte den Zugang zu bestimmten Speicherbereichen zu erlauben und werden anschließend alle auf 1 gesetzt, wenn die Chipkarte kommerzialisiert wird, um den Zugang zu den sensiblen Speicherbereichen, wo sich beispielsweise geheime Codes befinden, zu blockieren. Die Nichtumkehrbarkeit der Programmierung einer Speicherzelle, die ein OTP-Bit umfasst, ist daher eine unverzichtbare Bedingung, um ein gewisses Maß an Sicherheit in den integrierten Schaltungen einer Chipkarte zu erhalten.
  • Andererseits ist es aufgrund der Entwicklung der Technologien und der zunehmenden Miniaturisierung integrierter Schaltungen wünschenswert geworden, die EEPROM-Speicher mit einer Schaltung zu versehen, die es ermöglicht, Fehler bei der Speicherung der Bits festzustellen. Solche Fehler entstehen im Allgemeinen durch eine Änderung der permanenten elektrischen Merkmale der Speicherzellen (Schwellenspannung) und kommen häufiger bei Speichervorrichtungen der letzten Generation vor, die Transistoren mit offenem Gitter umfassen, bei denen die Gitter sehr kurz unter 0,35 Mikrometer sind. In der Praxis kann eine Änderung des permanenten elektrischen Merkmals einer Speicherzelle kann sich durch das Lesen eines fehlerhaften Bits offenbaren, zum Beispiel das Lesen eines Bit von „0", während ursprünglich ein Bit von „1" gespeichert wurde.
  • Um diesen Nachteil zu beseitigen, besitzen die EEPROM-Speicher eine Schaltung zur Fehlerkorrektur, die jedem gespeicherten Binärwort einen Fehlerkorrekturcode oder ECC-Code zuweist, der beispielsweise mittels des Hamming-Algorithmus erzeugt wird, der dem Fachmann gut bekannt ist. Ein solches Verfahren macht es erforderlich, dass bei jeder Änderung eines Bit eines Binärworts ein neuer, mit dem betreffenden Binärwort verbundener ECC-Code im Speicher gespeichert werden muss. Dieser Vorgang erweist sich jedoch als unmöglich in den Speicherbereichen, die die OTP-Bits enthalten, weil das Speichern eines neuen ECC-Codes im Allgemeinen das Löschen und Programmieren der Speicherzellen, die den Code aufnehmen, erfordert, während die Speicherzellen eines OTP-Bereichs nicht gelöscht werden können.
  • Die vorliegende Erfindung hat zum Ziel, diesen Nachteil zu beseitigen, und zielt insbesondere auf ein Mittel ab, das es ermöglicht, Lesefehler in dem gesicherten, nicht löschbaren Bereich einer Speichervorrichtung zu ermitteln und/oder zu korrigieren.
  • Ein anderes Ziel der vorliegenden Erfindung besteht in der Bereitstellung einer Speichervorrichtung, die sowohl einen gesicherten OTP Bereich als auch ein System zur Fehlererfassung und/oder -korrektur umfasst, das die gesamte Speichervorrichtung abdeckt.
  • Um diese Ziele zu erreichen, besteht eine Idee der vorliegenden Erfindung darin, für den OTP-Bereich einer Speichervorrichtung ein Verfahren zur Fehlererfassung und/oder -korrektur bereit zu stellen, dessen Ausführung kein Löschen von Speicherzellen erfordert.
  • Insbesondere stützt sich die vorliegende Erfindung auf die Feststellung, dass ein Fehlererfassungsverfahren durch Bereitstellung einer Byteredundanz in einer Speichervorrichtung auf „Bit-Niveau" anwendbar ist auf OTP-Bits, weil es kein Löschen von Speicherzellen erfordert, wenn es auf OTP-Bits angewendet wird. Dies ist zunächst nicht offensichtlich aber wird klar, wenn man ein konkretes Beispiel betrachtet. So nehmen wir beispielsweise einen Speicherbereich OTP, der standardmäßig nur OTP-Bits von "0" (nicht benutzte oder nicht "verbrauchte" Bits) enthält. Die Verwendung oder der "Verbrauch" eines OTP-Bits äußert sich durch die Tatsache, N Speicherzellen (N OTP-Bits von „1") zu programmieren ohne dass Speicherzellen gelöscht werden müssen, weil in einer Speichervorrichtung vom EEPROM-Typ die Programmierung der Speicherzellen individuell erfolgt. Eine solche Redundanz von OTP-Bits gemäß der Erfindung kann mit oder ohne Verschachtelung von OTP-Bits bereit gestellt werden.
  • So besteht ein erster Aspekt der vorliegenden Erfindung darin, für den OTP-Bereich einer Speichervorrichtung ein Verfahren zur Erfassung und/oder Korrektur von Lesefehlern bereit zu stellen, basierend auf einer Redundanz von Bits und auf der Lieferung eines Fehlersignals und/oder eines höherwertigen Bits, wenn redundante Bits nicht gleich sind.
  • Im Gegensatz dazu besteht das übliche Verfahren zum Schützen von OTP-Bits gegen Speicherfehler darin, die Anzahl der in einer Speichervorrichtung gespeicherten OTP-Bits zu untersetzen, damit mindestens ein OTP-Bit einen gewünschten Wert aufweist, so dass dieses Verfahren ohne Bezug auf eine Fehlererfassung und/oder -korrektur ist, die auf einen Vergleich der Werte redundanter Bits beruht.
  • Die Patentschrift US 5,999,447 veranschaulicht dieses klassische Verfahren. Ein OTP-Bereich umfasst eine erste Gruppe von n redundanten OTP-Bits und eine zweite Gruppe von n umgekehrten redundanten OTP-Bits. Eine Differenzialleseschaltung [DIFF-SENSE], dargestellt in 3 dieser Schrift, liest gleichzeitig die erste Gruppe redundanter Bits und die zweige Gruppe umgekehrter redundanter Bits und liefert ein Bit und ein einziges [„BIT"]. Diese Differenzialleseschaltung ist nicht empfänglich für den Begriff der Höherwertigkeit und auch nicht in der Lage, ein Fehlersignal zu liefern. Es genügt, dass mindestens eine Speicherzelle durchlassend ist, damit ein Strom in dem Leseverstärker fließt.
  • Gemäß demselben Prinzip ist auch aus FR 2 687 811 eine in Sektoren unterteilte Flash-Speichervorrichtung 2 bekannt, in der jeder Sektor ein Löschverwaltungsfeld [11] umfasst, das eine Redundanz von Löschbestätigungsmarken [D7, D6] und eine Redundanz von Anzeigemarken beschädigter Sektoren [D5, D4] umfasst. In dieser Anwendung ist kein Begriff der Fehlererfassung und/oder -korrektur oder der Erfassung eines höheren Werts vorhanden. Wenn beispielsweise der signifikante Wert einer Marke „1" ist, genügt es, dass in einer Redundanzgruppe mindestens eine Marke auf „1" ist, damit die Marke als gleich „1" betrachtet wird.
  • Eine andere Idee der vorliegenden Erfindung besteht darin, für den Nicht-OTP-Teil einer Speichervorrichtung ein Verfahren zur Korrektur von Lesefehlern bereit zu stellen, das Fehlerkorrekturcodes vom Hamming-Codetyp verwendet.
  • Noch eine andere Idee der vorliegenden Erfindung besteht darin, in einer Speichervorrichtung eine erste Schaltung zur Fehlererfassung und/oder -korrektur, die gemäß dem Prinzip der einfachen oder höherwertigen Redundanz funktioniert, und eine zweite Schaltung zur Fehlerkorrektur, die Fehlerkorrekturcodes verwendet, zu kombinieren, indem in Abhängigkeit von einer auf die Speichervorrichtung angewendeten Adresse die eine oder die andere ausgewählt wird, wobei die erste Schaltung für einen OTP-Bereich der Speichervorrichtung vorgesehen ist und die zweite für die löschbaren Bereiche der Speichervorrichtung vorgesehen ist.
  • So stellt die vorliegende Erfindung eine elektrisch löschbare und programmierbare Speichervorrichtung bereit, umfassend mindestens einen gesicherten programmierbaren und nicht löschbaren Bereich und einen nicht gesicherten löschbaren und programmierbaren Bereich, und eine erste Schaltung zur Erfassung und Korrektur von Fehlern, der für den gesicherten Bereich vorgesehen ist, der redundante Mittel zum Speichern einer Vielzahl von redundanten Bits in dem gesicherten Bereich über einen einfachen Programmiervorgang, für den kein Löschen der Speicherzellen erforderlich ist, umfasst, und Korrekturmittel zum Aufnehmen einer Vielzahl von ausgewählten und in dem gesicherten Bereich gelesenen redundanten Bits und zum Liefern eines Fehlersignals und/oder eines höherwertigen Bits wenn die ausgewählten redundanten Bits nicht gleich sind.
  • Gemäß einer Ausführungsform umfasst die Speichervorrichtung eine zweite Schaltung zur Fehlerkorrektur, die für den löschbaren und programmierbaren Bereich der Speichervorrichtung vorgesehen ist, und die zum Speichern von Fehlerkorrekturcodes sowie zum gleichzeitigen Speichern von Datenbits, und erforderlichenfalls zum Erfassen des Vorhandenseins eines fehlerhaften Bits in einer Bitkette, die aus der Speichervorrichtung ausgelesen wird, und zum Korrigieren des fehlerhaften Bits ausgelegt ist.
  • Gemäß einer Ausführungsform umfasst die Speichervorrichtung eine Auswahlschaltung, die zum Liefern eines Auswahlsignals der ersten oder der zweiten Schaltung zur Erfassung und/oder Korrektur von Fehlern in Abhängigkeit von dem Wert einer Adresse ausgelegt ist, die auf die Speichervorrichtung angewendet wird.
  • Gemäß einer Ausführungsform ist die Auswahlschaltung eine Schutzschaltung für den gesicherten Bereich, die zum Liefern eines Signals zum Sperren eines Löschvorgangs ausgelegt ist, wenn die auf die Speichervorrichtung angewendete Adresse dem gesicherten Bereich entspricht.
  • Gemäß einer Ausführungsform umfasst die Speichervorrichtung: Ketten von M Bits mit N1 Datenbits und N2 Fehlerkorrekturcode-Bits in den löschbaren Bereichen der Speichervorrichtung, Ketten von M Bits mit M/N3 redundanten Bits in den nicht löschbaren Bereichen der Speichervorrichtung, wobei N3 eine Redundanzrate ist.
  • Gemäß einer Ausführungsform ist die erste Schaltung zur Erfassung und/oder Korrektur von Fehlern, die für den gesicherten Bereich vorgesehen ist, ausgelegt zum Programmieren von wenigstens zwei mit dem zu speichernden Bit gleichen Bits, wenn ein Bit in dem gesicherten Bereich programmiert werden soll, und zum Lesen der redundanten Bits, die dem zu lesenden Bit entsprechen, wenn die redundanten Bits nicht gleich sind, wenn ein Bit in dem gesicherten Speicherbereich gelesen werden soll.
  • Gemäß einer Ausführungsform ist die erste Schaltung zur Erfassung und/oder Korrektur von Fehlern, die für den gesicherten Bereich vorgesehen ist, ausgelegt zum Programmieren von wenigstens drei mit dem zu speichernden Bit gleichen Bits, wenn ein Bit in dem gesicherten Bereich programmiert werden soll, und zum Lesen der redundanten Bits, die dem zu lesenden Bit entsprechen, und zum Liefern eines Bits, dessen Wert gegenüber den gelesenen redundanten Bits höherwertiger ist, wenn ein Bit in dem gesicherten Speicherbereich gelesen werden soll.
  • Gemäß einer Ausführungsform ist die erste Schaltung zur Erfassung und/oder Korrektur von Fehlern, die für den gesicherten Bereich vorgesehen ist, zum Verschachteln der redundanten Bits ausgelegt.
  • Die vorliegende Erfindung betrifft ebenfalls eine integrierte Schaltung, umfassend eine elektrisch löschbare und programmierbare Speichervorrichtung gemäß der Erfindung sowie ein tragbares elektronisches Objekt, das eine integrierte Schaltung umfasst, die eine elektrisch löschbare und programmierbare Speichervorrichtung gemäß der Erfindung enthält.
  • Diese Objekte, Merkmale und Vorteile sowie weitere der vorliegenden Erfindung werden in der folgenden nicht einschränkenden Beschreibung einer Speichervorrichtung gemäß der Erfindung ausführlich und unter Bezugnahme auf die angehängten Figuren beschrieben, in denen:
  • 1 die klassische Architektur einer EEPROM-Speichervorrichtung mit einem gesicherten, nicht löschbaren Bereich darstellt;
  • 2 eine klassische Architektur einer EEPROM-Speichervorrichtung mit einer Fehlerkorrekturschaltung darstellt;
  • 3 die Architektur einer Speichervorrichtung gemäß der Erfindung darstellt, die einen gesicherten, nicht löschbaren Bereich und ein System zur Erfassung und/oder Korrektur von Fehlern umfasst;
  • 4 die Architektur einer Schaltung zur Erfassung und/oder Korrektur von Fehlern gemäß der Erfindung darstellt, die in 3 in Form eines Blocks dargestellt ist;
  • 5 das Logikschema eines Elements zur Fehlerkorrektur zeigt, das i 3 in Form eines Blocks dargestellt ist; und
  • 6 schematisch eine Chipkarte darstellt, die eine Speichervorrichtung gemäß der Erfindung enthält.
  • ERINNERUNGEN BETREFFEND EEPROM-SPEICHERVORRICHTUNGEN, UMFASSEND EINEN GESICHERTEN, NICHT LÖSCHBAREN BEREICH
  • Zur Erinnerung stellt 1 in Form eines Blocks die klassische Architektur einer Speichervorrichtung MEM1 dar, umfassend einen gesicherten, nicht löschbaren Bereich vom Typ OTP1. Die Speichervorrichtung MEM1 umfasst eine Speichervorrichtungsebene CMEM, einen Zeilendecodierer DR und einen Säulendecodierer DC, die jeweils die höherwertigen Bits ADH und die niedrigwertigen Bits ADL der auf die Speichervorrichtung angewendeten Adressen ADR empfangen, eine Schaltung LTC zum Laden von Daten, ein e Leseschaltung SA und eine Schaltung EPC zur Kontrolle der Lösch- und Programmiervorgänge der Speicherebene CMEM.
  • Die Speicherebene CMEM besteht üblicherweise aus Speicherzellen, die in Wortzeilen WLi und in Bitzeilen ausgelegt sind, wobei die Bitzeilen in Säulen ausgelegt sind, um in jeder Wortzeile WLi Binärwörter W0 bis WN zu begrenzen, die jeweils M Bits umfassen, im Allgemeinen Bytes umfassend Bits b7 bis b0. Die Schaltung LTC umfasst mehrere Programmiersperren („latches"), die bereit gestellt sind, um die Bits eines Wortes Wj zu speichern, das in der Speichervorrichtung gespeichert werden soll. Die Schaltung SA umfasst Leseverstärker („sense amplifiers") zum Lesen der Bits eines Wortes Wj, das in der Speicherebene CMEM ausgewählt ist. Die Schaltung EPC empfängt am Eingang Programmiersignale PROG und Löschsignale ERASE von der Speichervorrichtung und liefert dem Zeilendecodierer DR, dem Säulendecodierer DC und der Schaltung DC eine „hohe" Programmier- oder Löschspannung Vpp im Bereich von 15 bis 20 V.
  • Wenn ein Binärwort Wj in der Speichervorrichtung gespeichert werden muss, wird die Speicheradresse ADR des Wortes auf die Speichervorrichtung angewendet. Die Bits b7 bis b0 des Wortes Wj werden in die Schaltungssperren LTC geladen, und das Signal ERASE wird zunächst auf die Schaltung EPC angewendet, die dann die Spannung Vpp zum Löschen der durch die Adresse ADR bezeichneten Zellen an den Zeilendecodierer DR sendet. Das Programmiersignal PROG wird anschließend auf die Schaltung EPC angewendet, die die Programmierspannung Vpp an den Säulendecodierer DC und an die Sperren LTC sendet.
  • Zusammenfassend umfasst die Speicherung eines Wortes Wj also einen Schritt zum kollektiven Löschen der durch die Adresse ADR bezeichneten Zellen, die auf 0 gesetzt werden (wobei die „0" hier gemäß Konvention gewählt ist, um den Löschzustand zu bezeichnen), gefolgt von einem Schritt zur individuellen Programmierung der Zellen, die Bits von „1" des neuen Wortes Wj enthalten müssen, wobei diese Zellen automatisch durch die Sperren der Schaltung LTC ausgewählt sind.
  • In einer solchen Speichervorrichtung wird ein gesicherter, nicht löschbarer Bereich vom Typ OTP auf einfache Weise mittels einer Adresssteuerschaltung ACC erhalten, die am Eingang die Adressen ADR empfängt, die auf die Speichervorrichtungen angewendet werden, und ein Signal VALID zur Bestätigung der Löschvorgänge liefert. Das VALID-Signal wird beispielsweise durch die Schaltung ACC auf 0 gesetzt, wenn eine Adresse, die dem OTP-Bereich entspricht, auf die Speichervorrichtung angewendet wird, was die Anwendung des Signals ERASE auf die Schaltung EPC sperrt, wie schematisch in 1 durch ein Tor UND dargestellt ist, die am Eingang die Signale ERASE und VALID empfängt und deren Ausgang das Signal ERASE an die Schaltung EPC liefert.
  • ERINNERUNGEN BETREFFEND EEPROM-SPEICHERVORRICHTUNGEN, UMFASSEND EINE FEHLERKORREKTURSCHALTUNG
  • Immer noch zur Erinnerung, stellt 2 in Form von Blöcken die Architektur einer Speichervorrichtung MEM2 dar, die sich von der Speichervorrichtung MEM1 dadurch unterscheidet, dass sie eine Fehlerkorrekturschaltung ECCT umfasst und keinen gesicherten Bereich umfasst. Die Schaltung ECCT weist einen Eingang/Ausgang ES1 aus, der an den Datenbus DTB der Speichervorrichtung angeschlossen ist, und einen Eingang/Ausgang ES2, der an den Eingang der Schaltung LTC und an den Ausgang der Schaltung SA angeschlossen ist (folglich wird ein Eingang/Ausgang je nach Kontext der Beschreibung als „Eingang" oder „Ausgang" bezeichnet). Die Schaltung ECCT empfängt ein Signal RD („Read"), das während der Lesephasen der Speichervorrichtung auf 1 ist, und ein Signal WR („Write"), das während der Lösch- oder Programmierphasen auf 1 ist.
  • Wenn ein Wort Wj in der Speichervorrichtung gespeichert werden muss (WR=1), wird das Wort auf den Eingang ES1 der Schaltung ECCT angewendet, deren Ausgang ES2 das Wort Wj liefert, das mit einem Fehlerkorrekturcode ECCj verkettet ist. Die verkettete Gesamtheit ECCj/Wj bildet eine Bittkette DSj, die in die Schaltung LTC geladen wird, um in der Speicherebene CMEM gespeichert zu werden. Der Code ECCj ist beispielsweise ein Hamming-Code von vier Bits, der es ermöglicht, ein fehlerhaftes Bit unter zwölf zu erfassen, so dass die Bitkette DSj zwölf Bits umfasst:
    Esj – b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b0
    von denen die Bits b11 bis b8 den Code ECCj bilden und die Bits b7 bis b0 das Wort Wj bilden.
  • Die Speichervorrichtung MEM2 unterscheidet sich also von der vorhergehenden dadurch, dass die Zeilen der Wörter WLi der Speicherebene Bitketten DSj (DS0 bis DSN) umfassen, die jeweils ein Binärwort Wj und einen Code ECCj umfassen. Wenn also eine Bitkette DSj durch die Schaltung SA (RD=1) in der Speichervorrichtung gelesen wird, dann empfängt die Schaltung ECCT an ihrem Eingang ES2 die Bitkette DSj und liefert an ihrem Ausgang ES1 die acht Datenbits b7–b0, die in der Kette DSj enthalten sind, wobei eines dieser Bits korrigiert wird, wenn ein Lesefehler erfasst wird.
  • Wie in der Präambel angegeben, stößt sich die Bereitstellung eines gesicherten, nicht löschbaren Bereichs in der Speichervorrichtung an der Tatsache, dass die Speicherung einer Bitkette, die Codes ECC umfasst, nicht ohne vorheriges Löschen der Aufnahmezellen erfolgen kann, wobei ein Fehlerkorrekturcode Bits von 1 oder 0 umfassen kann, die ohne Bezug auf die Bits des zuvor gespeicherten Codes sind. Die Integration einer Fehlerkorrekturschaltung wie der Schaltung ECCT in eine Speichervorrichtung ist also inkompatibel mit der Bereichstellung eines nicht löschbaren OTP-Bereichs.
  • BESCHREIBUNG EINER SPEICHERVORRICHTUNG GEMÄSS DER ERFINDUNG
  • 3 veranschaulicht eine Speichervorrichtung MEM3 gemäß der Erfindung, die den oben beschriebenen Nachteil beseitigt. Die allgemeine Struktur der Speichervorrichtung MEM3 entspricht der der Speichervorrichtungen MEM1 und MEM2 und wird nicht nochmals beschrieben. Es wird hier vorausgesetzt, dass die Speicherebene CMEM der Speichervorrichtung MEM3, genau wie die der Speichervorrichtung MEM2, Bitketten DSj von jeweils 12 Bits umfasst.
  • Die Speichervorrichtung MEM3 unterscheidet sich von den Speichervorrichtungen MEM1, MEM2 dadurch, dass sie zugleich einen gesicherten OTP-Bereich und ein System zur Fehlerkorrektur, das die gesamte Speicherebene CMEM einschließlich des OTP-Bereichs abdeckt, aufweist. Dieser OTP-Bereich ist in klassischer Weise löschgeschützt durch eine Adresskontrollschaltung ACC, die das Signal VALID liefert, das Löschvorgänge (Signal ERASE) sperrt oder zulässt, je nachdem, ob eine auf die Speichervorrichtung angewendete Adresse ADR dem OTP-Bereich entspricht oder nicht.
  • Gemäß der Erfindung umfasst die Speichervorrichtung MEM3 eine erste Fehlerkorrekturschaltung ECCT1, die für die Verwaltung der Lesefehler im OTP-Bereich vorgesehen ist, und eine parallel zu der ersten angeordnete zweite Fehlerkorrekturschaltung ECCT2, die für die Verwaltung der Lesefehler im Rest der Speicherebene CMEM vorgesehen ist. Jede der Schaltungen ECCT1 und ECCT2 umfasst zwei Eingänge/Ausgänge ES1, ES2 und empfängt ein Signal RD von 1 während der Leseperioden der Speichervorrichtung und ein Signal WR von 1 während der Schreibperioden. Der Eingang/Ausgang ES1 jeder Schaltung ist über einen Multiplexer MUX1 an den Datenbus DTB der Speichervorrichtung angeschlossen, und der Eingang/Ausgang ES2 ist über einen Multiplexer MUX2 an die Datenladeschaltung LTC und an die Leseschaltung SA angeschlossen. Die Multiplexer MUX1, MUX2 empfangen an Ihrem Auswahleingang das durch die Adresskontrollschaltung ACC gelieferte Signal VALID und sind dafür ausgelegt, je nach dem Wert dieses Signals die eine oder die andere der zwei Schaltungen ECCT1, ECCT2 auszuwählen.
  • Wenn also eine auf die Speichervorrichtung angewendete Adresse ADR eine Bitkette bezeichnet, die sich im OTP-Bereich befindet, ist der Eingang/Ausgang ES1 der Schaltung ECCT1 an den Datenbus DTB angeschlossen und ihr Eingang/Ausgang ES2 ist an die Schaltungen LTC, SA angeschlossen. Umgekehrt, wenn die angewendete Adresse ADR nicht dem OTP-Bereich entspricht, dann sind es die Eingänge/Ausgänge ES1, ES2 der Schaltung ECCT2, die an den Datenbus DTB und an die Schaltungen LTC, SA angeschlossen sind.
  • Die Schaltung ECCT2 ist eine klassische Fehlerkorrekturschaltung gemäß der oben beschriebenen Schaltung ECCT. So liefert die Schaltung ECCT2 im Schreibmodus der Speichervorrichtung (WR=1) an ihrem Ausgang ES2 Bitketten, die acht Datenbits b7–b0 umfassen, die ein am Eingang ES1 empfangenes Binärwort Wj wiedergeben, und vier Bits b11–b8, die einen Fehlerkorrekturcode bilden, beispielsweise einen Hamming-Code. Im Lesemodus der Speichervorrichtung (RD=1) empfängt die Schaltung ECCT2 an ihrem Eingang ES2 eine Bitkette, umfassend einen Code ECC, und acht Datenbits b7–b0, die am Ausgang ES1 eventuell nach Korrektur eines Bits, wenn ein Lesefehler erfasst wird, geliefert werden.
  • Die Schaltung ECCT1 funktioniert gemäß einem anderen Fehlerkorrekturprinzip, basierend auf einer Redundanz von Bits ohne Codierung. Im Schreibmodus der Speichervorrichtung (WR=1) liefert die Schaltung ECCT1 an ihrem Ausgang ES2 Bits, die auf redundante Weise die am Eingang ES1 empfangenen Bits wiedergeben. Da die Speicherebene CMEM hier zum Speichern von Ketten von zwölf Bits vorgesehen ist, ist die Redundanzrate der Schaltung ECCT1 beispielsweise gleich 3 gewählt, um drei Gruppen von vier Bits zu bilden. So dupliziert die Schaltung ECCT1 4 Bits b3 bis b0, empfangen am Eingang ES1, zu zwölf Bits b12' bis b0', geliefert am Ausgang ES2, die mit den Bits b3 bis b0 durch folgende Beziehungen verbunden sind: b8' = b4' = b0' = b0 b9' = b5' = b1' = b1 b10' = b6' = b2' = b2 b11' = b7' = b3' = b3die eine dreifache Redundanz mit Verschachtelung der redundanten Bits b11' bis b0' definieren. Die Bits b11' bis b0' werden anschließend in Sperren der Schaltung LTC geladen und werden dann durch einen einfachen Programmiervorgang, der kein Löschen von Speicherzellen erfordert, wenn die Manipulationsregeln der OTP-Bits beachtet werden, in der Speichervorrichtung gespeichert.
  • Nehmen wir beispielsweise an, der OTP-Bereich umfasst eine Bitkette gleich: DSj = 111011101110
  • Durch Eliminieren der Redundanzen ist diese Bitkette gleichwertig mit vier Zugriffsberechtigungen, von denen drei „verwendet" worden sind (Bit von 1), wobei eine Zugriffsberechtigung verfügbar bleibt (Bit von 0):
    1110
  • Um die letzte Zugriffsberechtigung zu verwenden, wird das Wort „1111" an den Eingang ES1 der Schaltung ECCT1 platziert, die nun an ihrem Ausgang ES2 folgende redundante Kette liefert: DSj' = 111111111111
  • Diese Bitkette DSj' wird in die entsprechenden Sperren der Schaltung LTC geladen und an Stelle der vorhergehenden Bitkette DSj gespeichert. Dieser Vorgang umfasst nur die Speicherung der drei „1" an Stelle der vorhergehenden drei „0" und erfordert nur einen Programmierungsschritt der entsprechenden Zellen ohne Löschen der vorhergehenden Bitkette. So ist offensichtlich, dass die Speicherung der redundanten OTP-Bits kein Problem in einem nicht löschbaren OTP-Bereich aufwirft.
  • Im Lesemodus (RD=1) der Speichervorrichtung empfängt die Schaltung ECCT1 am Eingang ES2 eine Kette redundanter Bits b11'-b0', geliefert durch die Leseschaltung SA, und liefert am Ausgang ES1 die vier ursprünglichen Bits b3–b0. Ein Lesefehler auf einem Bit offenbart sich durch eine Ungleichheit zwischen den drei redundanten Bits, und das am Ausgang ES1 gelieferte Bit ist dasjenige, das auf den drei gelesenen Bits mehrwertig ist. Nehmen wir beispielsweise an, dass die folgende Bitkette durch die Leseschaltung SA am Eingang ES1 der Schaltung ECCT1 geliefert wird: DSj = 011101100110
  • Diese Bitkette enthält einen Lesefehler, weil drei Bits, die gleich sein sollten (unterstrichene Bits), dies nicht sind. Die Schaltung ECCT1 liefert nun an ihrem Ausgang ES1 folgende Bits:
    0110
  • Wobei das vierte Bit gleich „0" ist, weil die „0" in den drei redundanten Bits mehrwertig ist. Die Schaltung ECCT1 liefert außerdem ein Fehlersignal ERR, das angibt, dass mindestens ein gelesenes Bit fehlerhaft ist.
  • AUSFÜHRUNGSBEISPIEL DER SCHALTUNG ECCT1
  • 4 stellt eine Ausführungsform der Schaltung ECCT1 dar. Die Schaltung ECCT1 umfasst einen Korrekturblock CT und einen Redundanzblock DM. Der Korrekturblock CT ist über einen Puffer BUF1 mit dem Eingang ES2 verbunden und über einen Puffer BUF2 mit dem Ausgang ES1 verbunden, wobei die Puffer BUF1, BUF2 transparent sind, wenn das Signal RD auf 1 ist. Der Redundanzblock DM ist über einen Puffer BUF3 mit dem Eingang ES1 verbunden und über einen Puffer BUF4 mit dem Ausgang ES2, wobei die Puffer BUF3, BUF4 transparent sind, wenn das Signal WR auf 1 ist.
  • Der Block DM umfasst vier Demultiplexer DM1 bis DM4, die jeweils einen Eingang und drei Ausgänge besitzen, wobei die drei Ausgänge ausgelegt sind, um gleichzeitig den Wert eines am Eingang vorliegenden Bits wiederzugeben. Die Schaltung DM1 empfängt am Eingang das Bit b0 einer auf den Eingang ES1 angewendeten Bitkette und liefert die redundanten Bits b8', b4', b0'. Die Schaltung DM2 empfängt am Eingang das Bit b1 und liefert die Bits b9', b5', b1'. Die Schaltung DM3 empfängt das Bit b2 und liefert die Bits b10', b6', b2', und die Schaltung DM4 empfängt das Bit b3 und liefert die Bits b11', b7', b3'. Die acht anderen am Eingang ES1 vorliegenden Bits werden nicht verwendet, Da die entsprechenden Leiterbahnen des Datenbus nicht mit der Schaltung ECCT1 verbunden sind.
  • Der Block CT umfasst vier Fehlerkorrekturschaltungen CT1 bis CT4, die jeweils drei redundante Bits empfangen, die ausgewählt sind aus einer Bitkette b11 bis b0, geliefert durch die Leseschaltung SA und angewendet auf den Eingang ES2. Es handelt sich jeweils um die Bits {b8', b4' und b0'}, {b9', b5', b1'}, {b10', b6', b2'}, {b11', b7', b3'}. Die Blöcke CT1 bis Ct4 liefern jeweils ein korrigiertes Bit b0, b1, b2, b3, angewendet auf den Eingang ES1 über den Puffer BUF2. Jede Schaltung CT1 bis CT4 liefert im Übrigen jeweils ein Fehlerbit e0 bis e3, wenn drei redundante Bits, die am Eingang vorliegen, nicht gleich sind. Die Fehlerbits werden in einem Tor ODER kombiniert, um das durch die Schaltung ECCT1 gelieferte Fehlersignal ERR zu bilden.
  • 5 stellt ein Ausführungsbeispiel der Korrekturschaltung CT1 in Form einer logischen Schaltung dar. Die Schaltung CT1 umfasst ein Tor „ODER" 10 mit drei Eingängen, ein Tor "NICHT UND" 11 mit drei Eingängen, ein Tor "ODER Exklusiv" 12 mit zwei Eingängen („+"), ein Tor „ODER" 13 mit zwei Eingängen, ein Tor „UND" 14 mit zwei Eingängen, ein Tor „UND" 15 mit zwei Eingängen, ein Tor „UND" 16 mit zwei Eingängen und ein Umkehrtor 17 („INV"). Diese verschiedenen Tore sind ausgelegt, um das Datenbit b0 und das Fehlerbit e0 gemäß den folgenden Beziehungen zu liefern: b0 = [(b8 + b4) UND b4] ODER [INV(b8 + b4) UND b0] e0 = [INV (b0 UND b4 UND b8)] UND [b0 ODER b4 ODER b8]
  • Die anderen Schaltungen CT2, CT3, CT4 besitzen dieselbe Struktur wie CT1 und werden deshalb nicht beschrieben. Sie unterscheiden sich von der Schaltung CT1 durch den Rang der am Eingang empfangenen Bits und durch den Rang des gelieferten Bits.
  • VARIANTEN UND ANWENDUNGEN DER ERFINDUNG
  • Die vorliegende Erfindung kann natürlich verschiedene Varianten und Ausführungsformen aufweisen. Insbesondere, obschon im Vorhergehenden eine Schaltung ECCT1 beschrieben wurde, die eine Fehlerkorrektur durch mehrwertige Redundanz sicherstellt, besteht eine Ausführungsform darin, eine Schaltung ECCT1 bereit zu stellen, die ausschließlich die Fehlererfassung ohne Bitkorrektor sicherstellt. In diesem Fall kann die Schaltung ECCT1 nach dem Prinzip der einfachen Redundanz funktionieren, wobei ein am Eingang ES1 empfangenes Bit nur am Ausgang ES2 zu zwei Bits dupliziert wird, beispielsweise wie im Folgenden angegeben: b6' = b0' = b0 b7' = b1' = b1 b8' = b2' = b2 b9' = b3' = b3 b10' = b4' = b4 b11' = b5' = b5
  • In diesem Fall löst die Schaltung ECCT1 nicht die Konflikte zwischen den beiden redundanten Bits und beschränkt sich darauf, das Fehlersignal ERR zu liefern, wenn die beiden Redundanten Bits nicht gleich sind. Das Fehlersignal ERR wird durch die Speicherverwaltung, z.B. einen Mikroprozessor, erfasst, die programmiert werden kann, definitiv zu blockieren, wenn das Fehlersignal ERR ausgegeben wird. Man bedenkt in diesem Fall, dass die Speichervorrichtung nicht brauchbar ist und dass die Schaltung, in die sie integriert ist, zerstört werden muss.
  • Andererseits, obschon oben eine Verschachtelung redundanter Bits vorgeschlagen wurde, kann eine Redundanz nicht verschachtelter Bits ebenfalls vorgesehen werden, beispielsweise wie folgt: b2' = b1' = b0' = b0 b5' = b4' = b3' = b1 b8' = b7' = b6' = b2 b11' = b10' = b9' = b3
  • Ebenso, obschon im Vorhergehenden eine vorteilhafte Kombination einer Schaltung zur Erfassung und/oder Korrektur von Fehlern ECCT1, die nach dem Prinzip der einfachen oder mehrwertigen Redundanz funktioniert, und eine Fehlerkorrekturschaltung ECCT2, die Fehlerkorrekturcodes verwendet, beschrieben wurden, versteht es sich von selbst, dass die Anwendung eines gesicherten, nicht löschbaren Bereichs der Schaltung ECCT1, unabhängig von der vorgeschlagenen Verbindung, einen wesentlichen Aspekt der Erfindung darstellt, so dass die Schaltung ECCT1 ohne die Schaltung ECCT2 ausgeführt werden kann. Die Schaltung ECCT1 kann auch in Kombination mit einem beliebigen anderen Typ einer Fehlerkorrekturschaltung ausgeführt werden.
  • Ebenso geht aus dem Vorhergehenden hervor, dass die vorliegende Erfindung auf alle Typen von elektrisch löschbaren und programmierbaren Speichervorrichtungen, die einen gesicherten, nicht löschbaren Bereich umfassen, anwendbar ist, insbesondere FLASH-Speichervorrichtungen.
  • Schließlich kann eine Speichervorrichtung gemäß der Erfindung in verschiedenen Anwendungen eingesetzt werden. Insbesondere kann sie allein oder in Verbindung mit anderen Elementen auf einer Siliziumplatte integriert werden. Als Beispiel stellt 6 sehr schematisch eine Chipkarte 20 dar, die eine integrierte Schaltung 21 und Kontakte 22 umfasst, zum Beispiel acht ISO 7816-Kontakte. Die integrierte Schaltung 21 umfasst einen Mikroprozessor MP, eine Speichervorrichtung MEM3 gemäß der Erfindung, einen Nurlesespeicher ROM und einen Schreib-Lesespeicher RAM, wobei diese verschiedenen Elemente mit einem Datenbus DTB und einem Adressbus ADB verbunden sind. Der Mikroprozessor MP umfasst außerdem Eingangs-/Ausgangsanschlüsse, die mit den Kontakten 22 verbunden sind.
  • In einer solchen Anwendung kann der OTP-Bereich der Speichervorrichtung MEM3 während der Personalisierungsphasen der Karte 20 für die Verwaltung des Zugriffs auf bestimmte Bereiche der Speichervorrichtungen MEM3, ROM oder RAM verwendet werden. Wenn die Karte 20 in Betrieb genommen wird, werden alle OTP-Bits auf 1 gesetzt, so dass der Zugriff auf die Personalisierungsbereiche der Karte endgültig versperrt ist.

Claims (10)

  1. Elektrisch löschbare und programmierbare Speichervorrichtung (MEM3), umfassend mindestens einen gesicherten, programmierbaren und nicht löschbaren Bereich (OTP) und einen nicht gesicherten löschbaren und programmierbaren Bereich, dadurch gekennzeichnet, dass sie eine erste Schaltung (ECCT1) zur Erfassung und/oder Korrektur von Fehlern umfasst, die für den gesicherten Bereich (OTP) vorgesehen ist, umfassend redundante Mittel (DM) zum Speichern einer Vielzahl von redundanten Bits (b11' – b0') in dem gesicherten Bereich über einen einfachen Programmiervorgang, für den kein Löschen von Speicherzellen erforderlich ist, und Korrekturmittel (CT) zum Aufnehmen einer Vielzahl von ausgewählten und in dem gesicherten Bereich gelesenen redundanten Bits (b8, b4, b10) und zum Liefern eines Fehlersignals (e0) und/oder eines höherwertigen Bits (b0), wenn die ausgewählten redundanten Bits nicht gleich sind.
  2. Speichervorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass sie eine zweite Schaltung zur Fehlerkorrektur (ECCT2) umfasst, die für den löschbaren und programmierbaren Bereich der Speichervorrichtung vorgesehen ist, wobei sie zum Speichern von Fehlerkorrekturcodes (ECC, b11 – b8) sowie zum gleichzeitigen Speichern von Datenbits in der Speichervorrichtung, und erforderlichenfalls zum Erfassen des Vorhandenseins eines fehlerhaften Bits in einer Bitkette (DSj), die aus der Speichervorrichtung ausgelesen wird, und zum Korrigieren des fehlerhaften Bits ausgelegt ist.
  3. Speichervorrichtung nach Anspruch 2, dadurch gekennzeichnet, dass sie eine Auswahlschaltung (ACC) umfasst, die zum Liefern eines Auswahlsignals (VALID) der ersten (ECCT1) oder der zweiten (ECCT2) Schaltung zur Erfassung und/oder Korrektur von Fehlern in Abhängigkeit von dem Wert einer Adresse (ADR) ausgelegt ist, die auf die Speichervorrichtung angewendet wird.
  4. Speichervorrichtung nach Anspruch 3, dadurch gekennzeichnet, dass die Auswahlschaltung eine Schutzschaltung (ACC) für den gesicherten Bereich ist, die zum Liefern eines Signals (VALID) zum Sperren eines Löschvorgangs (ERASE) ausgelegt ist, wenn die auf die Speichervorrichtung angewendete Adresse dem gesicherten Bereich entspricht.
  5. Speichervorrichtung nach einem der Ansprüche 2 bis 4, dadurch gekennzeichnet, dass sie folgendes umfasst: – Ketten (DSj) von M Bits mit N1 Datenbits (b7 – b0) und N2 Fehlerkorrekturcode-Bits (b11 – b8) in den löschbaren Bereichen der Speichervorrichtung, – Ketten (DSj) von M Bits (b11' – b0') mit M/N3 redundanten Bits (b3' – b0') in den nicht löschbaren Bereichen der Speichervorrichtung, wobei N3 eine Redundanzrate ist.
  6. Speichervorrichtung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die erste Schaltung zur Erfassung (ECCT1) und/oder Korrektur von Fehlern, die für den gesicherten Bereich vorgesehen ist, für folgendes ausgelegt ist: – zum Programmieren von wenigstens zwei mit dem zu speichernden Bit gleichen Bits, wenn ein Bit in dem gesicherten Bereich programmiert werden soll, und – zum Lesen der redundanten Bits, die dem zu lesenden Bit entsprechen, und zum Liefern eines Fehlersignals (ERR), wenn die redundanten Bits nicht gleich sind, wenn ein Bit in dem gesicherten Speicherbereich gelesen werden soll.
  7. Speichervorrichtung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass die erste Schaltung zur Erfassung (ECCT1) und/oder Korrektur von Fehlern, die für den gesicherten Bereich vorgesehen ist, für folgendes ausgelegt ist: – zum Programmieren von wenigstens drei mit dem zu speichernden Bit gleichen Bits, wenn ein Bit in dem gesicherten Bereich programmiert werden soll, und – zum Lesen der redundanten Bits, die dem zu lesenden Bit entsprechen, und zum Liefern eines Bits, dessen Wert gegenüber den gelesenen redundanten Bits höherwertiger ist, wenn ein Bit in dem gesicherten Speicherbereich gelesen werden soll.
  8. Speichervorrichtung nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass die erste Schaltung zur Erfassung (ECCT1) und/oder Korrektur von Fehlern, die für den gesicherten Bereich vorgesehen ist, zum Verschachteln der redundanten Bits ausgelegt ist.
  9. Integrierter Schaltkreis (21), dadurch gekennzeichnet, dass er eine elektrisch löschbare und programmierbare Speichervorrichtung nach einem der Ansprüche 1 bis 8 umfasst.
  10. Tragbares elektronisches Objekt (20), dadurch gekennzeichnet, dass es einen integrierten Schaltkreis umfasst, der eine elektrisch löschbare und programmierbare Speichervorrichtung nach einem der Ansprüche 1 bis 8 enthält.
DE60103397T 2000-06-13 2001-05-28 Gesicherter eeprom-speicher mit fehlerkorrekturschaltung Expired - Lifetime DE60103397T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0007479 2000-06-13
FR0007479A FR2810152A1 (fr) 2000-06-13 2000-06-13 Memoire eeprom securisee comprenant un circuit de correction d'erreur
PCT/FR2001/001634 WO2001097032A1 (fr) 2000-06-13 2001-05-28 Memoire eeprom securisee comprenant un circuit de correction d'erreur

Publications (2)

Publication Number Publication Date
DE60103397D1 DE60103397D1 (de) 2004-06-24
DE60103397T2 true DE60103397T2 (de) 2005-06-02

Family

ID=8851189

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60103397T Expired - Lifetime DE60103397T2 (de) 2000-06-13 2001-05-28 Gesicherter eeprom-speicher mit fehlerkorrekturschaltung

Country Status (6)

Country Link
US (1) US7178067B2 (de)
EP (1) EP1292889B1 (de)
JP (1) JP2004503891A (de)
DE (1) DE60103397T2 (de)
FR (1) FR2810152A1 (de)
WO (1) WO2001097032A1 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6731536B1 (en) * 2001-03-05 2004-05-04 Advanced Micro Devices, Inc. Password and dynamic protection of flash memory data
US7047381B2 (en) * 2002-07-19 2006-05-16 Broadcom Corporation System and method for providing one-time programmable memory with fault tolerance
FR2851074B1 (fr) * 2003-02-10 2005-04-22 St Microelectronics Sa Memoire flash sectorisee comprenant des moyens de controle et de rafraichissement de cellules memoire
EP1460542B1 (de) * 2003-03-19 2018-10-31 Micron Technology, INC. Integriertes Speichersystem mit mindestens einem nichtflüchtigen Speicher und einem automatischen Fehlerkorrektor
DE10338032B4 (de) * 2003-08-19 2009-12-17 Infineon Technologies Ag Prozessor mit elektronischen Sicherungen zum Speichern von Geheimdaten
JP2005108273A (ja) * 2003-09-26 2005-04-21 Toshiba Corp 不揮発性半導体記憶装置
JP4270994B2 (ja) * 2003-09-29 2009-06-03 株式会社東芝 不揮発性半導体記憶装置
EP1714294B1 (de) * 2004-02-10 2016-04-20 Semiconductor Energy Laboratory Co., Ltd. Nichtflüchtiger speicher
US7263027B2 (en) * 2004-10-14 2007-08-28 Broadcom Corporation Integrated circuit chip having non-volatile on-chip memories for providing programmable functions and features
KR20080054412A (ko) * 2005-09-27 2008-06-17 엔엑스피 비 브이 에러 검출/보정 회로 및 방법과, 전자 메모리 소자 또는메모리 모듈
US7562283B2 (en) * 2005-12-27 2009-07-14 D.S.P. Group Ltd. Systems and methods for error correction using binary coded hexidecimal or hamming decoding
KR100881025B1 (ko) * 2006-11-07 2009-02-05 삼성전자주식회사 보안 데이터를 관리하는 장치 및 그 방법
KR100842680B1 (ko) * 2007-01-08 2008-07-01 삼성전자주식회사 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템
KR101398212B1 (ko) * 2008-03-18 2014-05-26 삼성전자주식회사 메모리 장치 및 인코딩/디코딩 방법
JP2010092574A (ja) * 2008-10-12 2010-04-22 Kyoto Software Research Inc フラッシュファイルシステムの誤り訂正機能
KR101750457B1 (ko) * 2010-12-30 2017-06-23 삼성전자주식회사 Ecc를 이용하는 메모리 장치 및 그 시스템
KR101788737B1 (ko) 2011-05-12 2017-10-24 에스케이하이닉스 주식회사 반도체 시스템
US9183082B2 (en) 2013-01-29 2015-11-10 Qualcomm Incorporated Error detection and correction of one-time programmable elements
US10776259B2 (en) * 2013-10-31 2020-09-15 Infineon Technologies Ag Method, apparatus and device for data processing
US9940048B2 (en) 2014-02-26 2018-04-10 Macronix International Co., Ltd. Nonvolatile memory data protection using nonvolatile protection codes and volatile protection codes
US10547326B2 (en) 2017-01-12 2020-01-28 Proton World International N.V. Error correction in a flash memory
US10296738B2 (en) 2017-05-03 2019-05-21 Nuvoton Technology Corporation Secure integrated-circuit state management

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5853099A (ja) * 1981-09-26 1983-03-29 Fujitsu Ltd メモリ−の有効利用方法
JP2514954B2 (ja) * 1987-03-13 1996-07-10 三菱電機株式会社 Icカ−ド
JPH01173147A (ja) * 1987-12-28 1989-07-07 Oki Electric Ind Co Ltd Prom内蔵マイクロコンピュータ
US4839628A (en) * 1988-01-11 1989-06-13 Motorola, Inc. Paging receiver having selectively protected regions of memory
JP2830308B2 (ja) * 1990-02-26 1998-12-02 日本電気株式会社 情報処理装置
JPH0535458A (ja) * 1991-07-30 1993-02-12 Matsushita Electric Ind Co Ltd ワンチツプマイクロコンピユータ
JPH05233426A (ja) * 1992-02-20 1993-09-10 Fujitsu Ltd フラッシュ・メモリ使用方法
JPH0683716A (ja) * 1992-09-01 1994-03-25 Rohm Co Ltd 電気的書換可能型不揮発メモリ
JPH0785685A (ja) * 1993-09-17 1995-03-31 Fujitsu Ltd 半導体装置
JP3272903B2 (ja) * 1995-03-16 2002-04-08 株式会社東芝 誤り訂正検出回路と半導体記憶装置
JPH09134237A (ja) * 1995-11-07 1997-05-20 Sony Corp 電子機器
JP3136994B2 (ja) * 1996-06-14 2001-02-19 株式会社デンソー データ処理装置
DE19630918A1 (de) * 1996-07-31 1997-10-16 Siemens Ag Datenmassenspeicher und Verfahren zur Verarbeitung von in einem solchen Datenmassenspeichermedium gespeicherten Daten
US5818771A (en) * 1996-09-30 1998-10-06 Hitachi, Ltd. Semiconductor memory device
US5996096A (en) * 1996-11-15 1999-11-30 International Business Machines Corporation Dynamic redundancy for random access memory assemblies
JPH10302485A (ja) * 1997-04-28 1998-11-13 Hitachi Inf Technol:Kk フラッシュ・メモリを有する情報処理装置
FR2771839B1 (fr) * 1997-11-28 2000-01-28 Sgs Thomson Microelectronics Memoire non volatile programmable et effacable electriquement
EP0926601A1 (de) * 1997-12-24 1999-06-30 STMicroelectronics S.r.l. Verfahren zur Datensicherung einer Halbleiterspeicheranordnung und entsprechende geschützte Speicheranordnung
JPH11283396A (ja) * 1998-03-27 1999-10-15 Sony Corp メモリ装置
US6160734A (en) * 1998-06-04 2000-12-12 Texas Instruments Incorporated Method for ensuring security of program data in one-time programmable memory
US6108236A (en) * 1998-07-17 2000-08-22 Advanced Technology Materials, Inc. Smart card comprising integrated circuitry including EPROM and error check and correction system
JP4040215B2 (ja) * 1999-07-19 2008-01-30 株式会社東芝 不揮発性半導体メモリの制御方法
JP3308915B2 (ja) * 1998-11-11 2002-07-29 エヌイーシーマイクロシステム株式会社 不良救済用メモリセル及びそれを用いた記憶装置
JP2001350672A (ja) * 2000-06-08 2001-12-21 Casio Comput Co Ltd メモリ制御装置およびそのデータ処理方法
JP2010225259A (ja) * 2009-02-27 2010-10-07 Renesas Electronics Corp 半導体装置

Also Published As

Publication number Publication date
US7178067B2 (en) 2007-02-13
FR2810152A1 (fr) 2001-12-14
EP1292889B1 (de) 2004-05-19
US20030126513A1 (en) 2003-07-03
WO2001097032A1 (fr) 2001-12-20
JP2004503891A (ja) 2004-02-05
EP1292889A1 (de) 2003-03-19
DE60103397D1 (de) 2004-06-24

Similar Documents

Publication Publication Date Title
DE60103397T2 (de) Gesicherter eeprom-speicher mit fehlerkorrekturschaltung
DE3852833T2 (de) Nichtflüchtiger Speicher.
DE602004003275T2 (de) Nichtflüchtiger Speicher mit Seiten-Kopierfunktion und entsprechendes Verfahren
DE4328605C2 (de) Halbleiterspeichereinrichtung
DE102013222321B4 (de) Elektronisches Gerät mit einer Vielzahl von Speicherzellen und mit physikalisch unklonbarer Funktion
DE60306510T2 (de) Verfahren zum Speichern von Daten in nicht-flüchtigen Speichern
DE60035810T2 (de) Flash-Speicher
DE3689128T2 (de) Halbleiterspeichergerät mit einer Korrekturfunktion.
DE69022287T2 (de) Halbleiterspeicheranordnung mit selbstkorrigierender Funktion.
DE69500007T2 (de) Speicherredundanzschaltung
DE69022310T2 (de) Halbleiterspeichergerät.
DE3750460T2 (de) Halbleiterspeichergerät.
DE102015113414B4 (de) Fehlerkorrektur unter Verwendung von WOM-Codes
DE3603926A1 (de) Halbleiter-speicherelement
DE102008003944A1 (de) Speichersystem und Programmierverfahren für ein Speichersystem
DE3318123A1 (de) Schaltungsanordnung mit einem datenspeicher und einer ansteuereinheit zum auslesen, schreiben und loeschen des speichers
DE3412676A1 (de) Halbleiterspeichervorrichtung
DE3930932A1 (de) Ausgangsrueckkopplungssteuerschaltung fuer integrierte schaltung
DE60102466T2 (de) Zwei-tor cam speicher für simultanen flash speicher betrieb
DE4028819A1 (de) Schaltungsanordnung zum testen eines halbleiterspeichers mittels paralleltests mit verschiedenen testbitmustern
DE102006044853B4 (de) Speichereinrichtung und Verfahren, um Information in Speicherzellen zu verifizieren
WO2001029843A2 (de) Verfahren zur identifizierung einer integrierten schaltung
DE602004009078T2 (de) Speicherordnung
DE102017124313A1 (de) Speicheranordnung und verfahren zum verifizieren eines speicherzugriffs
DE102004004308A1 (de) Halbleiterbaustein und Testschaltung zum effektiven Ausführen eines Verifizierungstests für nichtflüchtige Speicherzellen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition