DE102004056088A1 - Speichersystem mit Flashspeicher - Google Patents

Speichersystem mit Flashspeicher Download PDF

Info

Publication number
DE102004056088A1
DE102004056088A1 DE102004056088A DE102004056088A DE102004056088A1 DE 102004056088 A1 DE102004056088 A1 DE 102004056088A1 DE 102004056088 A DE102004056088 A DE 102004056088A DE 102004056088 A DE102004056088 A DE 102004056088A DE 102004056088 A1 DE102004056088 A1 DE 102004056088A1
Authority
DE
Germany
Prior art keywords
otpblk
block
time programmable
otp
time
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.)
Granted
Application number
DE102004056088A
Other languages
English (en)
Other versions
DE102004056088B4 (de
Inventor
Chul-Ho Lee
Hyun-Duk Cho
Chang-Rae Kim
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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
Priority claimed from KR1020040031117A external-priority patent/KR100632939B1/ko
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102004056088A1 publication Critical patent/DE102004056088A1/de
Application granted granted Critical
Publication of DE102004056088B4 publication Critical patent/DE102004056088B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/26Floating gate memory which is adapted to be one-time programmable [OTP], e.g. containing multiple OTP blocks permitting limited update ability

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)

Abstract

Die Erfindung bezieht sich auf ein Speichersystem mit einem Flashspeicherbauelement (120), das einen einmalig programmierbaren Block (OTPBLK) umfasst, in welchem in einem vorbestimmten Bereich Schutzdateninformationen und/oder Testdateninformationen speicherbar sind. DOLLAR A Erfindungsgemäß ist ein Schnittstellenbauelement (140) vorgesehen, welches ein Register (142a) umfasst, das eine einmalig programmierbare Sperrstatusinformation speichert, die anzeigt, ob der einmalig programmierbare Block (OTPBLK) programmiert ist, wobei das Schnittstellenbauelement (140) bestimmt, ob die einmalig programmierbare Sperrstatusinformation in den einmalig programmierbaren Block (OTPBLK) programmiert ist, und wobei das Schnittstellenbauelement (140) einen externen Zugriff auf den einmalig programmierbaren Block (OTPBLK) sperrt, wenn die einmalig programmierbare Sperrstatusinformation anzeigt, dass der einmalig programmierbare Block (OTPBLK) programmiert ist. DOLLAR A Verwendung in der Flashspeichertechnologie.

Description

  • Die Erfindung betrifft ein Speichersystem mit einem Flashspeicherbauelement, welches einen einmalig programmierbaren Block umfasst, der nachfolgend auch als OTP-Block bezeichnet wird.
  • Elektrisch löschbare und programmierbare Flashspeicherbauelemente werden in verschiedenen Applikationen benutzt. Die Flashspeicherbauelemente speichern Daten, welche keine Sicherheit benötigen und nachfolgend auch als öffentliche Daten bezeichnet werden, und umfassen ein Speicherzellenfeld mit EEPROM-Zellen. Mit der Zunahme der Komplexität von Informationsverarbeitungssystemen möchten die Benutzer in jüngerer Zeit Bauelementidentifikationsdaten, wie eine Seriennummer des Herstellers, ein Herstellungsdatum, Sicherheitsdaten usw., gemeinsam mit öffentlichen Daten im Flashspeicherbauelement speichern. Für diesen Zweck ist ein Speicherbereich zum Speichern von Sicherheitsdaten im Flashspeicherbauelement konfiguriert worden, welcher den besagten OTP-Block darstellt. Wie der Speicherbereich zum Speichern von öffentlichen Daten umfasst der OTP-Block elektrisch löschbare und programmierbare Zellen. Um eine Zerstörung oder einen Überlauf der Sicherheitsdaten zu verhindern, möchte der Benutzer die Sicherheitsdaten nur einmal in den OTP-Block programmieren. Ein Flashspeicher bauelement mit einem OTP-Block und ein Speichersystem mit einem solchen Flashspeicherbauelement weisen jedoch herkömmlich einige Probleme auf.
  • Erstens können für den Fall, dass ein Programmiervorgang für den OTP-Block erlaubt ist, im OTP-Block gespeicherte Daten von einem unbefugten Benutzer beschädigt werden, wenn der Programmierbefehl bekannt ist. Aufgrund der Eigenschaften des Flashspeicherbauelements kann es beispielsweise sein, dass eine Speicherzelle in einem programmierten Zustand nicht programmiert ist, während eine Speicherzelle in einem gelöschten Zustand programmiert ist. Daher können die wichtigen, im OTP-Block gespeicherten Sicherheitsdaten beschädigt werden. Ist der OTP-Block programmiert, sollte jeglicher Programmiervorgang für den OTP-Block ausgeschlossen sein.
  • Zweitens weist die Identifizierung, ob der OTP-Block programmiert ist, die Schwierigkeit auf, dass immer auf den OTP-Block zugegriffen bzw. dieser gelesen werden muss.
  • Drittens werden, wie allgemein bekannt, EEPROM-Zellen gelöscht, um eine Programmierung von neuen Daten in die programmierten EEPROM-Zellen zu ermöglichen. Daher ist es möglich, die Umprogrammierung des OTP-Blocks zu verhindern, indem für ihn der Löschbetrieb begrenzt wird. Eine Technik zum Ausschließen eines Löschvorganges im OTP-Block ist in der Offenlegungsschrift JP 2001-035176 beschrieben. Dort wird ein Löschvorgang für den OTP-Block durch Einfügen und selektives Auftrennen einer Schmelzsicherung in einen Zeilendecoder verhindert, welcher den OTP-Block auswählt. Diese Technik erfordert jedoch zusätzliche Schmelzsicherungen und einen Prozess zum Auftrennen der Schmelzsicherungen.
  • Es ist Aufgabe der Erfindung, ein Speichersystem der eingangs genannten Art anzugeben, welches in der Lage ist, Löschvorgänge und Umprogrammiervorgänge für OTP-Blöcke mit relativ geringem Aufwand zuverlässig auszuschließen.
  • Die Erfindung löst diese Aufgabe durch ein Speichersystem mit den Merkmalen des Patentanspruchs 1, 6, 8 oder 18.
  • Vorteilhafte Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen angegeben.
  • Ein erfindungsgemäßes Speichersystem umfasst typischerweise ein Flashspeicherbauelement mit einem OTP-Block und ein OTP-Sperrstatusregister zum Speichern von OTP-Sperrstatusinformation. Wird nach dem Speichern von Sicherheitsdaten im OTP-Block ein externer Befehl zum Programmieren des OTP-Blocks empfangen, dann blockiert das erfindungsgemäße Speichersystem die Programmierung des OTP-Blocks in Reaktion auf Schutzdateninformationen, welche im OTP-Sperrstatusregister gespeichert sind. Zusätzlich blockiert das erfindungsgemäße Speichersystem einen Löschvorgang des OTP-Blocks in Reaktion auf die im OTP-Sperrstatusregister gespeicherten Schutzdateninformationen, wenn nach dem Speichern von Sicherheitsdaten im OTP-Block ein externer Befehl zum Löschen des OTP-Blocks empfangen wird. Dies wird nachfolgend detailliert beschrieben. Daher werden die Sicherheitsdaten nur einmal für einen originären Zweck im OTP-Block gespeichert und sie können unabhängig von externen Vorgängen sicher geschützt werden.
  • Vorteilhafte Ausführungsformen der Erfindung sind in den Zeichnungen dargestellt und werden nachfolgend beschrieben. Es zeigen:
  • 1 ein schematisches Blockdiagramm eines ersten erfindungsgemäßen Speichersystems,
  • 2 ein schematisches Blockdiagramm eines Flashspeicherbauelements aus 1,
  • 3 ein schematisches Blockdiagramm eines OTP-Blocks aus 2,
  • 4 ein Flussdiagramm zur Darstellung der Funktionsweise eines erfindungsgemäßen Speichersystems,
  • 5 ein schematisches Blockdiagramm eines zweiten erfindungsgemäßen Speichersystems,
  • 6 ein schematisches Blockdiagramm einer Realisierung einer Schaltung zur Erzeugung eines Lesefreigabesignals aus 5 und
  • 7 ein schematisches Blockdiagramm einer weiteren Realisierung der Schaltung zur Erzeugung eines Lesefreigabesignals aus 5.
  • 1 zeigt ein schematisches Blockdiagramm eines ersten Ausführungsbeispiels eines erfindungsgemäßen Speichersystems 100. Wie aus 1 ersichtlich ist, umfasst das Speichersystem 100 ein Flashspeicherbauelement 120, ein Schnittstellenbauelement 140 und einen Host-Rechner 160. Das Flashspeicherbauelement 120 umfasst einen Speicherbereich zum Speichern von Daten, welcher aus einer Mehrzahl von Speicherblöcken BLK0 bis BLKi und wenigstens einem OTP-Block OTPBLK aufgebaut ist. Bei der vorliegenden Erfindung sind Lösch-/Programmier-/Lesevorgänge für die Speicherblöcke BLK0 bis BLKi und Lesevorgänge für den OTP-Block OTPBLK nicht begrenzt. Im Gegensatz dazu sind Lösch-/Programmiervorgänge für den OTP-Block OTPBLK begrenzt, was nachfolgend näher erläutert wird. Jeder der Speicherblöcke BLK0 bis BLKi und der OTP-Block OTPBLK umfassen elektrisch löschbare und programmierbare ROM-Zellen (EEPROM-Zellen), welche alle einen Transistor mit floatendem Gate umfassen.
  • Das Schnittstellenbauelement 140 wirkt als Schnittstelle zwischen dem Flashspeicherbauelement 120 und dem Host-Rechner 160. Das Schnittstellenbauelement 140 umfasst eine Host-Schnittstelle 141 und eine Flashschnittstelle 142. Die Host-Schnittstelle 141 empfängt verschiedene Anweisungen, z.B. einen Programmierbefehl, einen Löschbefehl, einen Lesebefehl, einen OTP-Befehl usw., vom Host-Rechner 160, um diese an die Flashschnittstelle 142 weiterzuleiten. Die Host-Schnittstelle 141 empfängt beispielsweise einen Befehl zum Signalisieren eines OTP-Modus, welcher nachfolgend auch als OTP-Befehl bezeichnet wird, um einen OTP-Zugriffsbefehl OTP_Access_CMD für die Flashschnittstelle 142 zu erzeugen. Wird der Programmierbefehl während eines OTP-Modus eingegeben, dann gibt die Host-Schnittstelle 141 den OTP-Programmierbefehl OTP_Program_CMD an die Flashschnittstelle 142 aus. Erscheint ein Lesebefehl während des OTP-Modus, dann gibt die Host-Schnittstelle 141 einen OTP-Lesebefehl OTP_Read_CMD an die Flashschnittstelle 142 aus. Wird ein Befehl zum Verlassen des OTP-Modus eingegeben, dann gibt die Host-Schnittstelle 141 einen Rücksetzbefehl Reset_CMD an die Flashschnittstelle 142 aus.
  • Wie weiter aus 1 ersichtlich ist, umfasst die Flashschnittstelle 142 ein OTP-Sperrstatusregister 142a, welches OTP-Sperrstatusinformationen speichert, die anzeigen, ob der OTP-Block OTPBLK programmiert ist. Die OTP-Sperrstatusinformation mit dem Wert „1" zeigt beispielsweise an, dass der OTP-Block OTPBLK des Flashspeicherbauelements 120 programmiert ist, und die OTP-Sperrstatusinformation mit dem Wert „0" zeigt beispielsweise an, dass der OTP-Block OTPBLK des Flashspeicherbauelements 120 nicht programmiert ist. Wie dem Fachmann klar ist, kann die Flashschnittstelle 142 durch Benutzen einer Zustandsmaschine ausgeführt sein, wie sie als Steuerlogik allgemein bekannt ist, wenngleich in den Zeichnungen nicht dargestellt. Die Flashschnittstelle 142 erzeugt Steuersignale für das Flashspeicherbauelement 120 gemäß den Befehlen, welche von der Host-Schnittstelle 141 zur Verfügung gestellt werden. Das Flashspeicherbauelement 120 empfängt Befehle, Adressen und/oder Daten, welche von der Flashschnittstelle 142 gemäß einem vorbestimmten Timing zur Verfügung gestellt werden, wie sich für den Fachmann versteht.
  • Wird der Programmierbefehl vom Host-Rechner 160 zum Schnittstellenbauelement 140 übertragen, dann bestimmt die Flashschnittstelle 142 im Schnittstellenbauelement 140, ob die im OTP-Sperrstatusregister 142a gespeicherte OTP-Sperrstatusinformation den Wert „1" anzeigt. Ist dies der Fall, dann wird der Programmierbefehl nicht zum Flashspeicherbauelement 120 übertragen. Das bedeutet, dass der OTP-Block OTPBLK des Flashspeicherbauelements 120 nicht programmiert wird. Weist die im OTP-Sperrstatusregister 142a gespeicherte OTP-Sperrstatusinformation den Wert „0" auf, dann überträgt die Flashschnittstelle 142 den Programmierbefehl, die Adresse und die Daten zum Flashspeicherbauelement 120 mit einem vorbestimmten Timing. Das bedeutet, dass die gewünschten Sicherheitsdaten im OTP-Block OTPBLK des Flashspeicherbauelements 120 auf bekannte Weise programmiert werden können.
  • Zusätzlich bestimmt die Flashschnittstelle 142, wenn im OTP-Modus ein Löschbefehl zum Schnittstellenbauelement 140 übertragen wird, ob die im OTP-Sperrstatusregister 142a gespeicherte OTP-Sperrstatusinformation den Wert „1" hat. Wenn dies der Fall ist, wird der Löschbefehl nicht zum Flashspeicherbauelement 120 übertragen. Das bedeutet, dass der OTP-Block OTPBLK des Flashspeicherbauelements 120 nicht gelöscht wird. Weist die im OTP-Sperrstatusregister 142a gespeicherte OTP-Sperrstatusinformation den Wert „0" auf, dann überträgt die Flashschnittstelle 142 den Löschbefehl und die Adresse zum Flashspeicherbauelement 120. Das bedeutet, dass der OTP-Block OTPBLK des Flashspeicherbauelements 120 auf die bekannte Weise gelöscht wird.
  • Fordert der Host-Rechner 160 die im OTP-Sperrstatusregister 142a gespeicherte OTP-Sperrstatusinformation vom Schnittstellenbauelement 140 an, dann kann das Schnittstellenbauelement 140 die OTP-Sperrstatusinformation des OTP-Sperrstatusregisters 142a als Schutzdateninformation gemäß der Anforderung des Host-Rechners 160 erzeugen.
  • 2 zeigt ein schematisches Blockdiagramm des Flashspeicherbauelements 120 aus 1. Das Flashspeicherbauelement 120 ist in diesem Beispiel ein NAND-Flashspeicherbauelement. Selbstverständlich ist das Flashspeicherbauelement 120 nicht auf die Ausführung als NAND-Flashspeicherbauelement eingeschränkt.
  • Wie aus 2 ersichtlich ist, umfasst das Flashspeicherbauelement 120 der Erfindung ein Speicherzellenfeld zum Speichern von Informationen. Das Speicherzellenfeld umfasst eine Mehrzahl von Speicherblöcken BLK0 bis BLKi und wenigstens einen OTP-Block OTPBLK. Jeder der Speicherblöcke BLK0 bis BLKi und der OTP-Block OTPBLK umfassen eine Mehrzahl von nicht dargestellten Ketten, welche jeweils einen Kettenauswahltransistor, einen Masseauswahltransistor und Speicherzellentransistoren umfassen, welche in Reihe zwischen den Auswahltransistoren eingeschleift sind. Jeder der Speicherzellentransistoren umfasst einen Transistor mit einem floatenden Gate, welcher elektrisch löschbar und programmierbar ist. Schutzdateninformation ist im OTP-Block OTPBLK gespeichert und die Schutzdateninformation zeigt an, ob der OTP-Block OTPBLK programmiert ist oder nicht. Dies wird nachfolgend detaillierter beschrieben.
  • Wie aus 3 ersichtlich ist, welche schematisch einen OTP-Block darstellt, umfasst der OTP-Block OTPBLK einen Hauptbereich und einen Reservebereich. Sicherheitsdaten werden im Hauptbereich gespeichert, welcher aus einer Mehrzahl von Seiten bzw. Wortleitungen P0 bis Pn aufgebaut ist. Informationen bezüglich jeder der Seiten, z.B. ECC-Informationen, werden im Reservebereich gespeichert. Hierbei wird auch die Schutzdateninformation zur Anzeige, ob der OTP-Block OTPBLK programmiert ist, gespeichert. Die Schutzdateninformation wird in einem speziellen Bereich 121 einer ersten Seite gespeichert, was in 3 durch die schraffierte Darstellung angezeigt ist. Die Schutzdateninformation kann jedoch auch in einem Reservebereich von jeder Seite oder einer zusätzlichen Seite gespeichert werden. Ein Datenwort kann in dem speziellen Bereich 121 des Reservebereichs gespeichert werden und zwei untere Datenbits IO0 und IO1 des Datenworts können als die Schutzdateninformation verwendet werden, wie in 3 dargestellt ist. Das bedeutet, dass ein Datenwert „00" oder „1X/X1" in den zwei unteren Datenbits IO0 und IO1 als Schutzdateninformation gespeichert werden. Die Schutzdateninformation kann gespeichert werden, während Daten in eine ausgewählte Seite des Hauptbereichs gespeichert werden.
  • Wie aus 2 weiter ersichtlich ist, umfasst das Flashspeicherbauelement 120 der vorliegenden Erfindung eine Zeilenpufferschaltung 201, eine Spaltenpufferschaltung 202, eine Zeilendecoderschaltung 203, eine Spaltendecoderschaltung 204, eine Datenzwischenspeicher- und Abtastverstärkerschaltung 205, eine Spaltengatterschaltung 206, eine Datenausgabepufferschaltung 207 und eine Befehlsregister- und Steuerlogikschaltung 208.
  • Die Zeilenpufferschaltung 201 empfängt gesteuert von der Befehlsregister- und Steuerlogikschaltung 208 eine Zeilenadresse, welche über Eingabe-/Ausgabeanschlüsse IO0 bis IO15 empfangen wird, und die Spaltenpufferschaltung 202 empfängt gesteuert von der Befehlsregister- und Steuerlogikschaltung 208 eine Spaltenadresse über die Eingabe-/Ausgabeanschlüsse IO0 bis IO15. Die Zeilendecoderschaltung 203 wählt einen der Speicherblöcke BLK0 bis BLKi in Reaktion auf eine Blockadresse BA aus, welche von der Zeilenpufferschaltung 201 ausgegeben wird, und wählt eine der Wortleitungen/Seiten des ausgewählten Blocks in Reaktion auf die Zeilenadresse RA aus. Die Zeilendecoderschaltung 203 umfasst Zeilendecoder RD0 bis RDi und OTPRD, welche jeweils mit den Speicherblöcken BLK0 bis BLKi bzw. dem OTP-Block OTPBLK korrespondieren. Die Datenzwischenspeicher- und Abtastverstärkerschaltung 205 tastet die im ausgewählten Speicherblock/OTP-Block gespeicherten Daten während eines Lesevorgangs ab und verstärkt sie und puffert die im ausgewählten Speicherblock/OTP-Block zu speichernden Daten. Die Datenzwischenspeicher- und Abtastverstärkerschaltung 205 umfasst eine Mehrzahl von Seitenpuffern, welche jeweils mit den Ketten von jedem Speicherblock/OTP-Block verbunden sind, was in der Zeichnung nicht dargestellt ist. Ein Ausführungsbeispiel eines solchen Seitenpuffers ist in der Patentschrift US 5.936.890 offenbart, deren Inhalt hiermit durch Verweis hierin aufgenommen wird.
  • Die Spaltendecoderschaltung 204 erzeugt Spaltenauswahlsignale in Reaktion auf von der Spaltenpufterschaltung 202 erzeugte Spaltenadressen. Die Spaltengatterschaltung 206 wählt Spalten oder Seitenpuffer des ausgewählten Speicherblocks/OTP-Blocks seriell in Reaktion auf die Spaltenauswahlsignale von der Spaltendecoderschaltung 204 aus. Die in den ausgewählten Seitenpuffern zwischengespeicherten Daten werden über die Eingabe-/Ausgabeanschlüsse IO0 bis IO15 gesteuert von der Befehlsregister- und Steuerlogikschaltung 208 nach außen ausgegeben. Die Befehlsregister- und Steuerlogikschaltung 208 empfängt ei nen Befehl über die Eingabe-/Ausgabeanschlüsse IO0 bis IO15 und steuert den internen Betrieb gemäß dem eingegebenen Befehl.
  • Im Fall der vorliegenden Erfindung aktiviert die Befehlsregister- und Steuerlogikschaltung 208 das OTP-Freigabesignal OTP_EN, wenn ein Befehl eingegeben wird, der den OTP-Modus oder einen Eintritt in den OTP-Modus anzeigt. Das OTP-Freigabesignal OTP_EN wird an die Zeilendecoder RD0 bis RDi, welche mit den Speicherblöcken BLK0 bis BLKi korrespondieren, und an den Zeilendecoder OTPRD angelegt, welcher mit dem OTP-Block OTPBLK korrespondiert. Wird das OTP-Freigabesignal OTP_EN aktiviert, dann werden die Decoder RD0 bis RDi unabhängig von den Block- und Zeilenadressen BA und RA von der Zeilenpufferschaltung 201 deaktiviert. Das bedeutet, dass die Speicherblöcke BLK0 bis BLKi nicht durch die korrespondierenden Zeilendecoder RD0 bis RDi ausgewählt werden, wenn das OTP-Freigabesignal OTP_EN aktiviert ist. Im Gegensatz dazu wählt, wenn das OTP-Freigabesignal OTP_EN aktiviert ist, der Zeilendecoder OTPRD in Reaktion auf die Zeilenadresse RA von der Zeilenpufferschaltung 201 eine der Seiten/Zeilen des OTP-Blocks OTPBLK aus. Ist das OTP-Freigabesignal OTP_EN aktiviert und wird dann ein Programmier-/Lösch-/Lesebefehl eingegeben, dann kann der Programmier-/Lösch-/Lesevorgang des OTP-Blocks OTPBLK gemäß dem allgemein bekannten Verfahren für NAND-Flashspeicherbauelemente ausgeführt werden. Als Ergebnis sind im OTP-Modus die Speicherblöcke BLK0 bis BLKi nicht ausgewählt, aber der OTP-Block OTPBLK ist ausgewählt.
  • 4 zeigt ein Flussdiagramm zur Darstellung von Vorgängen zum Schutz der Programmierung und Neuprogrammierung des OTP-Blocks im erfindungsgemäßen Speichersystem.
  • Daten können nur einmal in den OTP-Block OTPBLK des Flashspeicherbauelements 120 programmiert werden. Um die Daten in den OTP- Block OTPBLK des Flashspeicherbauelements 120 zu programmieren, gibt der Host-Rechner 160 im Schritt S100 einen Befehl an das Schnittstellenbauelement 140 aus, der für den Eintritt in den OTP-Modus erforderlich ist und der vorliegend auch als OTP-Befehl bezeichnet wird. Die Hostschnittstelle 141 des Schnittstellenbauelements 140 erzeugt einen OTP-Zugriffsbefehl in Reaktion auf den OTP-Befehl und die Flashschnittstelle 142 gibt den Befehl zur Anzeige des Eintritts in den OTP-Modus an das Flashspeicherbauelement 120 aus. Die Befehlsregister- und Steuerlogikschaltung 208 des Flashspeicherbauelements 120 aktiviert das OTP-Freigabesignal OTP_EN in Reaktion auf den Ankündungsbefehl des Eintritts in den OTP-Modus. Dies macht die Speicherblöcke BLK0 bis BLKi nicht mehr gemäß der eingegebenen Blockadresse auswählbar. Das bedeutet, dass nicht die Speicherblöcke BLK0 bis BLKi ausgewählt werden, sondern der OTP-Block OTPBLK, wenn das OTP-Freigabesignal OTP_EN im OTP-Modus aktiviert ist.
  • Wird der OTP-Modus durch den oben beschriebenen Prozess gesetzt, dann gibt der Host-Rechner 160 den Programmierbefehl an das Schnittstellenbauelement 140 aus und die Hostschnittstelle 141 des Schnittstellenbauelements 140 gibt den OTP-Programmierbefehl an die Flashschnittstelle 142 in Reaktion auf den Programmierbefehl aus. Die Flashschnittstelle 142 bestimmt im Schritt S110, ob ein Wert im OTP-Sperrstatusregister 142a „0" ist, was anzeigt, dass der OTP-Block OTPBLK nicht programmiert ist. Ist der Wert im OTP-Sperrstatusregister 142a „1 ", dann wird das Verfahren mit dem Schritt S130 fortgesetzt. Ist der Wert im OTP-Sperrstatusregister 142a „0", dann werden im Schritt S120 Sicherheitsdaten und Schutzdaten in den OTP-Block OTPBLK programmiert. Zusätzlich erzeugt die Flashschnittstelle 142 in Reaktion auf den OTP-Programmierbefehl den Programmierbefehl, die Adresse und die Daten für das Speicherbauelement 120 gemäß einem vorbestimmten Zeitablauf, wenn der Wert im OTP-Sperrstatusregister 142a „0" ist. Die Befehlsregister- und Steuerlogikschaltung 208 des Flash speicherbauelements 120 steuert eine nicht dargestellte Generatorschaltung für hohe Spannung, um in Reaktion auf den Programmierbefehl hohe Spannungen zu erzeugen, welche für den Programmiervorgang erforderlich sind. Die Zeilen- und Spaltenpufferschaltungen 201 und 202 puffern jeweils Adressen, welche gesteuert von der Befehlsregister- und Steuerlogikschaltung 208 über die Eingabe-/Ausgabeanschlüsse IO0 bis IO15 eingegeben werden.
  • Der Zeilendecoder OTPRD, welcher mit dem OTP-Block OTPBLK korrespondiert, wählt eine der Seiten des OTP-Blocks OTPBLK in Reaktion auf die Zeilenadresse RA der in die Zeilenpufferschaltung 201 eingegebenen Adressen aus. In diesem Fall werden die Speicherblöcke BLK0 bis BLKi nicht ausgewählt, da die Zeilendecoder BLK0 bis BLKi durch das OTP-Freigabesignal OTP_EN deaktiviert sind. Die Daten, welche seriell in Worteinheiten über die Eingabe-/Ausgabeanschlüsse IO0 bis IO15 eingegeben werden, werden über die Spaltengatterschaltung 206 in die Datenzwischenspeicher- und Abtastverstärkerschaltung 205 geladen. Die zu programmierenden Daten, welche in die Datenzwischenspeicher- und Abtastverstärkerschaltung 205 geladen sind, werden auf die allgemein bekannte Weise in den Hauptbereich des OTP-Blocks OTPBLK geladen. Gleichzeitig kann die Schutzdateninformation mit einem Wert „00" im Reservebereich des OTP-Blocks OTPBLK gespeichert werden. Im Gegensatz dazu kann die Schutzdateninformation mit dem Wert „00" zum Identifizieren, dass der OTP-Block OTPBLK programmiert ist, nach der Programmierung des Hauptbereichs des OTP-Blocks OTPBLK in den Reservebereich programmiert werden.
  • Ist der Programmiervorgang der Sicherheitsdaten- und Schutzdateninformation in den OTP-Block OTPBLK beendet, dann gibt der Host-Rechner 160 im Schritt S130 einen Rücksetzbefehl an das Schnittstellenbauelement 140 aus, um den OTP-Modus zu verlassen. Die Flashschnittstelle 142 bestimmt im Schritt S140, ob der Wert im OTP- Sperrstatusregister 142a „0" ist, was anzeigt, dass der OTP-Block OTPBLK nicht programmiert ist, wenn ein Rücksetzbefehl von der Hostschnittstelle 141 eingegeben wird. Ist der Wert im OTP-Sperrstatusregister 142a „1 ", dann wird das Verfahren mit dem Schritt S160 fortgesetzt. Ist der Wert im OTP-Sperrstatusregister 142a „0", dann wird das OTP-Sperrstatusregister 142a im Schritt S150 aktualisiert. Insbesondere gibt die Flashschnittstelle 142 einen Lesebefehl an das Flashspeicherbauelement 120 aus, um die im Reservebereich des OTP-Blocks OTPBLK gespeicherte Schutzdateninformation zu lesen. Die Flashschnittstelle 142 speichert die OTP-Sperrstatusinformation mit dem Wert „1" im OTP-Sperrstatusregister 142a, wenn die gelesene Schutzdateninformation den Wert „00" hat. Das bedeutet, dass das OTP-Sperrstatusregister 142a aktualisiert wird. Danach gibt die Flashschnittstelle 142 einen Rücksetzbefehl an das Flashspeicherbauelement 120 aus und der OTP-Modus wird im Schritt S160 beendet. Das bedeutet, dass das OTP-Freigabesignal OTP_EN deaktiviert wird.
  • Die im OTP-Sperrstatusregister 142a der Flashschnittstelle 142 gespeicherte OTP-Sperrstatusinformation geht verloren, wenn die Versorgung unterbrochen wird, so dass die Statusinformation im OTP-Sperrstatusregister 142a aktualisiert werden sollte, wann immer Energie angelegt wird. Insbesondere setzt die Flashschnittstelle 142 das Flashspeicherbauelement 120 auf gleiche Weise wie oben beschrieben in den OTP-Modus, wenn die Energie eingeschaltet wird, und gibt einen Lesebefehl an das Flashspeicherbauelement 120 aus, so dass die im Reservebereich des OTP-Blocks OTPBLK gespeicherte Schutzdateninformation gelesen wird. Die Flashschnittstelle 142 speichert die OTP-Sperrstatusinformation mit dem Wert „1" im OTP-Sperrstatusregister 142a, wenn die gelesene Schutzdateninformation den Wert „00" hat. Das bedeutet, dass das OTP-Sperrstatusregister 142a aktualisiert wird.
  • Ist der OTP-Block OTPBLK einmal programmiert, dann ist es unmöglich, ihn im OTP-Modus umzuprogrammieren. Genauer gesagt gibt die Hostschnittstelle 141 den OTP-Programmierbefehl an die Flashschnittstelle 142 aus, wenn der Programmierbefehl im OTP-Modus vom Host-Rechner 160 an das Schnittstellenbauelement 140 angelegt wird. Wird der OTP-Programmierbefehl an die Flashschnittstelle 142 angelegt, dann bestimmt die Flashschnittstelle 142, ob die im OTP-Sperrstatusregister 142a gespeicherte OTP-Sperrstatusinformation den Wert „1" hat. Hat die im OTP-Sperrstatusregister 142a gespeicherte OTP-Sperrstatusinformation den Wert „1 ", dann wird der OTP-Programmiermodus nicht festgestellt. Dadurch wird der OTP-Block OTPBLK nicht neu programmiert. In diesem Fall kann das Schnittstellenbauelement 140 dem Host-Rechner 160 mitteilen, dass ein Eintritt in den OTP-Programmiermodus fehlgeschlagen ist.
  • Wird der OTP-Block OTPBLK einmal programmiert, dann ist ein Löschen des programmierten OTP-Blocks analog zur Neuprogrammierung des OTP-Blocks ebenfalls unmöglich. Speziell erzeugt die Hostschnittstelle 141 den OTP-Löschbefehl für die Flashschnittstelle 142, wenn der Löschbefehl vom Host-Rechner 160 an das Schnittstellenbauelement 140 angelegt wird. Wird der OTP-Löschbefehl an die Flashschnittstelle 142 angelegt, dann bestimmt die Flashschnittstelle 142, ob die im OTP-Sperrstatusregister 142a gespeicherte OTP-Sperrstatusinformation den Wert „1" hat. Ist dies der Fall, dann wird der OTP-Löschmodus nicht gesetzt. Dadurch wird der OTP-Block OTPBLK nicht gelöscht. In diesem Fall kann das Schnittstellenbauelement 140 dem Host-Rechner 160 mitteilen, dass ein Eintritt in den OTP-Modus fehlgeschlagen ist. Wie im Stand der Technik beschrieben ist, kann dort eine Ausführung mit Schmelzsicherungsoption im Zeilendecoder benutzt werden, um einen Löschvorgang des OTP-Blocks OTPBLK zu verhindern. Die Erfindung kann hingegen einen Löschvorgang des OTP-Blocks OTPBLK ohne zu sätzliche, nicht angezeigte Schmelzsicherungsoption im Zeilendecoder OTPRD verhindern.
  • Im erfindungsgemäßen Speichersystem kann die Bestimmung, ob der OTP-Block OTPBLK programmiert ist, ohne einen Lesevorgang der im Reservebereich des OTP-Blocks OTPBLK gespeicherten Schutzdateninformation durchgeführt werden. Beispielsweise wird die im OTP-Sperrstatusregister 142a gespeicherte OTP-Sperrstatusinformation an den Host-Rechner 160 ausgegeben, wenn der Host-Rechner 160 die Schutzdateninformation des OTP-Blocks OTPBLK des Schnittstellenbauelements 140 anfordert. Daher kann die Bestimmung, ob der OTP-Block OTPBLK programmiert ist, ohne einen Lesevorgang der im Reservebereich des OTP-Blocks OTPBLK gespeicherten Schutzdateninformation erfolgen.
  • Wie oben vollständig ausgeführt ist, kann durch Steuern eines Eintritts in den OTP-Modus gemäß der in einem Register gespeicherten OTP-Sperrstatusinformation ein Umprogrammierungs-/Löschvorgang des programmierten OTP-Blocks von vornherein verhindert werden. Das bedeutet, dass die im OTP-Block gespeicherten Daten sicher bewahrt werden. Es kann ohne lästigen Zugriff auf den OTP-Block identifiziert werden, ob der OTP-Block programmiert ist. Zusätzlich kann ein Löschvorgang des OTP-Blocks auch ohne zusätzliche, auftrennende Schmelzsicherungsoption verhindert werden.
  • 5 zeigt ein schematisches Blockdiagramm eines zweiten Ausführungsbeispiels eines erfindungsgemäßen Speichersystems. In 5 sind Elemente, die gleich aufgebaut sind wie in 1, mit gleichen Bezugszeichen versehen, und es kann insoweit auf eine wiederholte Beschreibung verzichtet werden.
  • Im Fall des ersten Ausführungsbeispiels des erfindungsgemäßen Speichersystems werden, wie oben ausgeführt ist, Schutzdaten, welche anzeigen, ob ein OTP-Block programmiert ist, zusammen mit Sicherheitsdaten im OTP-Block gespeichert. Im Fall des zweiten Ausführungsbeispiels des erfindungsgemäßen Speichersystems werden Testinformationen, z.B. eine Betriebsfrequenz des Flashspeicherbauelements, welche auf einem Packungslevel erhalten werden, im OTP-Block OTPBLK gespeichert. Die Testinformation wird in irgendeinem Adressenbereich des OTP-Blocks, z.B. im Hauptbereich oder im Reservebereich des OTP-Blocks, auf einem Packungstestlevel gespeichert, bevor Sicherheits- und Schutzdaten darin gespeichert werden.
  • Wie aus 5 ersichtlich ist, umfasst in diesem Beispiel das Schnittstellenbauelement 140 eine Host-Schnittstelle 141, eine Flashschnittstelle 142 und eine Schaltung 143 zum Erzeugen eines Einschaltrücksetzlesefreigabesignals (POR-Lesefreigabesignals). Die Host-Schnittstelle 141 und die Flashschnittstelle 142 arbeiten in einem OTP-Modus auf die gleiche Weise wie die Komponenten aus 1, so dass hier auf eine erneute Beschreibung verzichtet wird. Die POR-Lesefreigabesignalgeneratorschaltung 143 erzeugt ein POR-Lesefreigabesignal POR_READ beim Einschalten und die Flashschnittstelle 142 gibt in Reaktion auf das POR-Lesefreigabesignal POR_READ einen Befehl an das Flashspeicherbauelement 120 aus, welcher einen POR-Lesemodus signalisiert. Anschließend gibt die Flashschnittstelle 142 einen POR-Lesebefehl und Adressen an den Flashspeicher 120 aus. Die mit dem POR-Lesebefehl an den Flashspeicher 120 übertragenen Adressen bestimmen einen Bereich, in welchem Testinformationen gespeichert sind. Der Flashspeicher 120 liest die Testinformation in Reaktion auf den POR-Lesebefehl aus dem OTP-Block OTPBLK aus und gibt die ausgelesene Testinformation an das Schnittstellenbauelement 140 aus. Die Flashschnittstelle 142 des Schnittstellenbauelements 140 speichert die Testinformation des Flashspeicherbauelements 120 in einem Register 142b. Fordert der Host-Rechner 160 die Testinformation im Register 142b vom Schnittstellenbauelement 140 an, dann gibt das Schnittstellenbauelement 140 die Testinformation aus dem Register 142b über die Hostschnittstelle 141 gemäß der Anforderung des Host-Rechners 160 an den Host-Rechner 160 aus.
  • Gemäß der obigen Beschreibung wird beim zweiten Ausführungsbeispiel des erfindungsgemäßen Speichersystems beim Einschalten ein automatischer Lesevorgang der Testinformationen gesteuert vom Schnittstellenbauelement 140 ausgeführt.
  • In 5 können die individuellen Register 142a und 142b in der Flashschnittstelle 142 durch ein bekanntes Register ersetzt werden, welches die OTP-Sperrstatusinformation und die Testinformation speichert, wie für den Fachmann klar.
  • Die 6 und 7 zeigen jeweils ein schematisches Blockdiagramm von möglichen Ausführungsformen der POR-Lesefreigabesignalgeneratorschaltung aus 5.
  • Wie aus 6 ersichtlich ist, umfasst die POR-Lesefreigabesignalgeneratorschaltung 143 in diesem Beispiel eine Einschaltrücksetzschaltung 143a und einen Signalgenerator 143b. Die Einschaltrücksetzschaltung 143a detektiert, ob eine Versorgungsspannung beim Einschalten einen vorgegebenen Spannungspegel erreicht, und erzeugt ein Einschaltrücksetzsignal POR als Detektionsergebnis. Der Signalgenerator 143b erzeugt das POR-Lesefreigabesignal POR_READ in Reaktion auf das Einschaltrücksetzsignal POR. Das POR-Lesefreigabesignal POR_READ wird nach der Aktivierung des Einschaltrücksetzsignals POR und dem Ablauf einer vorgegebenen Zeitspanne erzeugt. Hierbei entspricht die vorgegebene Zeitspanne einem Zeitbedarf, der von einer Versorgungsspannung Vcc benötigt wird, um vom vorgegebenen Span nungspegel auf eine Sollspannung anzusteigen, z.B. auf einen vollen Spannungspegel Vcc. Der Signalgenerator 143b kann beispielsweise durch einen aus dem Stand der Technik bekannten Oszillator realisiert sein.
  • Ausführungsbeispiele für Einschaltrücksetzschaltungen sind in den Patentschriften US 6.346.834 und 6.204.703 offenbart, deren Inhalt hiermit durch Verweis vollständig hierin aufgenommen wird.
  • Die POR-Lesefreigabesignalgeneratorschaltung 143 kann auch wie im Beispiel von 7 allein durch eine Einschaltrücksetzschaltung ausgeführt sein.
  • Die Funktionsweise des zweiten Ausführungsbeispiels des erfindungsgemäßen Speichersystems wird nachfolgend unter Bezugnahme auf die 1, 2, 5 und 7 beschrieben. Wird Energie an das Speichersystem 100 angelegt, dann erzeugt die POR-Lesefreigabesignalgeneratorschaltung 143 des Schnittstellenbauelements 140 das POR-Lesefreigabesignal POR_READ. Die Flashschnittstelle 142 gibt in Reaktion auf das POR-Lesefreigabesignal POR_READ einen Befehl an das Flashspeicherbauelement 120 aus, welcher den POR-Lesemodus anzeigt. Die Befehlsregister- und Steuerlogikschaltung 208 aus 2 aktiviert das OTP-Freigabesignal OTP_EN, wenn der POR-Lesebefehl vom Flashspeicherbauelement 120 empfangen wird. Das OTP-Freigabesignal OTP_EN wird gemeinsam an die Zeilendecoder RD0 bis RDi, welche jeweils mit den Speicherblöcken BLK0 bis BLKi korrespondieren, und an den Zeilendecoder OTPRD angelegt, welcher mit dem OTP-Block OTPBLK korrespondiert. Wird das OTP-Freigabesignal OTP_EN aktiviert, dann werden die Decoder RD0 bis RDi unabhängig von den Block- und Zeilenadressen BA und RA deaktiviert, welche als nächstes empfangen werden. Das bedeutet, dass die Speicherblöcke BLK0 bis BLKi nicht durch die korrespondierenden Zeilendecoder RD0 bis RDi ausge wählt werden, wenn das OTP-Freigabesignal OTP_EN aktiviert ist. Andererseits wählt der Zeilendecoder OTPRD in Reaktion auf die Zeilenadresse RA von der Zeilenpufferschaltung 201 eine der Seiten/Wortleitungen des OTP-Blocks OTPBLK aus, wenn das OTP-Freigabesignal OTP_EN aktiviert ist.
  • Die Flashschnittstelle 142 gibt Adressen mit dem POR-Lesebefehl an das Flashspeicherbauelement 120 nachfolgend auf den Befehl aus, welcher den POR-Lesemodus anzeigt. Wird der POR-Lesebefehl nach der Aktivierung des OTP-Freigabesignals OTP_EN an das Flashspeicherbauelement 120 angelegt, dann wird auf die bekannte Weise ein Lesevorgang des OTP-Blocks OTPBLK im Flashspeicherbauelement 120 durchgeführt, was nachfolgend im Detail beschrieben wird.
  • Die Zeilenpufferschaltung 201 aus 2 empfängt gesteuert von der Befehlsregister- und Steuerlogikschaltung 208 über die Eingabe-/Ausgabeanschlüsse IO0 bis IO15 eine Zeilenadresse, und die Spaltenpufferschaltung 202 empfängt gesteuert von der Befehlsregister- und Steuerlogikschaltung 208 über die Eingabe-/Ausgabeanschlüsse IO0 bis IO15 eine Spaltenadresse. Der Zeilendecoder OTPRD wählt eine der Wortleitungen/Seiten des OTP-Blocks OTPBLK in Reaktion auf eine Adresse von der Zeilenpufferschaltung 201 aus. Die Datenzwischenspeicher- und Abtastverstärkerschaltung 205 tastet die im ausgewählten OTP-Block gespeicherten Daten ab und puffert sie. Die Spaltendecoderschaltung 204 erzeugt Spaltenauswahlsignale in Reaktion auf die von der Spaltenpufferschaltung 202 erzeugte Spaltenadresse und die Spaltengatterschaltung 206 wählt Spalten oder Seitenpuffer des ausgewählten OTP-Blocks seriell in Worteinheiten in Reaktion auf die Spaltenauswahlsignale von der Spaltendecoderschaltung 204 aus. Die in den ausgewählten Seitenpuffern zwischengespeicherten Daten werden über die Eingabe-/Ausgabeanschlüsse IO0 bis IO15 gesteuert von der Befehlsregister- und Steuerlogikschaltung 208 nach außen ausgegeben. Dar aus resultiert, dass die Testinformation im Register 142b der Flashschnittstelle 142 gespeichert wird. Fordert der Host-Rechner 160 die Testinformation aus dem Register 142b von dem Schnittstellenbauelement 140 an, dann gibt das Schnittstellenbauelement 140 die Testinformation gemäß der Anforderung vom Host-Rechner 160 aus dem Register 142b über die Hostschnittstelle 141 aus.
  • Daraus resultiert, dass im Falle des zweiten Ausführungsbeispiels des erfindungsgemäßen Speichersystems ein Lesevorgang der Testinformationen aus dem OTP-Block automatisch beim Einschalten gesteuert vom Schnittstellenbauelement 140 ohne einen Befehl vom Host-Rechner 160 durchgeführt wird.
  • Beim zweiten Ausführungsbeispiel des erfindungsgemäßen Speichersystems ist es möglich, die Ausbeute durch Speichern der Testinformationen im OTP-Block zu erhöhen, wie beispielsweise einer Betriebsfrequenz des Flashspeicherbauelements 120. Obwohl eine Anzahl von Chips auf einem Wafer unter den gleichen Bedingungen hergestellt wird, ist es beispielsweise möglich, dass Chips existieren, welche nicht in einen gewünschten Betriebsfrequenzbereich fallen. Allgemein werden Testvorgänge für die Chips, z.B. ein Testvorgang der Betriebsfrequenz von jedem Chip, auf einem Packungslevel ausgeführt. Ist eine gemessene Betriebsfrequenz von irgendeinem Chip nicht innerhalb eines gewünschten Betriebsfrequenzbereichs oder ist eine Betriebsfrequenz des hergestellten Chips nicht innerhalb des gewünschten Betriebsfrequenzbereichs, dann werden solche Chips ausgesondert. Im Fall der vorliegenden Erfindung werden Testinformationen der gemessenen Betriebsfrequenz im OTP-Block gespeichert. Liegt die Betriebsfrequenz des hergestellten Chips nicht innerhalb des gewünschten Frequenzbereichs, dann braucht ein solcher Chip nicht ausgesondert werden, sondern kann basierend auf der oben beschriebenen Testinformation einem anderen Betriebsfrequenzbereich zugeordnet werden. Dadurch wird die Ausbeute bei der Chipherstellung verbessert.
  • Im Fall des zweiten Ausführungsbeispiels des erfindungsgemäßen Speichersystems wird die Testinformation nach dem Setzen des POR-Lesemodus ausgelesen. Andererseits kann der POR-Lesevorgang direkt nach der Aktivierung des POR-Lesefreigabesignals ausgeführt werden. Die Flashschnittstelle 142 gibt beispielsweise in Reaktion auf die Aktivierung des POR-Lesefreigabesignals POR_READ mit dem POR-Lesebefehl eine Adresse an das Flashspeicherbauelement 120 aus, welche einen Bereich bestimmt, in welchem die Testinformationen gespeichert ist. Dann aktiviert das Flashspeicherbauelement 120 das OTP-Freigabesignal OTP_EN in Reaktion auf den POR-Lesebefehl. Das bedeutet, dass der Zeilendecoder OTPRD aktiviert wird. Danach wird, wie oben beschrieben ist, ein Lesevorgang ausgeführt, um die Testinformationen aus dem OTP-Block OTPBLK auszulesen, und die so ausgelesenen Testdaten werden im Register 142b der Flashschnittstelle 142 gespeichert.
  • Mit Ausführungsmodifikationen können Schutzdateninformationen und Testinformationen aus dem OTP-Block sequentiell in einem OTP-Modus bzw. einem POR-Lesemodus ausgelesen werden. Alternativ können die Schutzdateninformation und die Testinformation im POR-Lesemodus gleichzeitig oder individuell oder im OTP-Modus gleichzeitig oder individuell ausgelesen werden.

Claims (24)

  1. Speichersystem mit – einem Flashspeicherbauelement (120), welches einen einmalig programmierbaren Block (OTPBLK) umfasst, in welchem in einem vorbestimmten Bereich Schutzdateninformationen speicherbar sind, gekennzeichnet durch – ein Schnittstellenbauelement (140), welches ein Register (142a) umfasst, das eine einmalig programmierbare Sperrstatusinformation speichert, die anzeigt, ob der einmalig programmierbare Block (OTPBLK) programmiert ist, wobei das Schnittstellenbauelement (140) bestimmt, ob die einmalig programmierbare Sperrstatusinformation in den einmalig programmierbaren Block (OTPBLK) programmiert ist, wenn ein Betriebsbefehl in einem Einmalprogrammiermodus angelegt wird, und wobei das Schnittstellenbauelement (140) einen externen Zugriff auf den einmalig programmierbaren Block (OTPBLK) sperrt, wenn die einmalig programmierbare Sperrstatusinformation anzeigt, dass der einmalig programmierbare Block (OTPBLK) programmiert ist.
  2. Speichersystem nach Anspruch 1, dadurch gekennzeichnet, dass das Schnittstellenbauelement (140) eine Signalgeneratorschaltung (143) umfasst, welche beim Einschalten ein Einschaltrücksetzlesefreigabesignal (POR_READ) erzeugt.
  3. Speichersystem nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass auf einem Packungslevel Testinformationen in den einmalig programmierbaren Block (OTPBLK) programmiert werden.
  4. Speichersystem nach Anspruch 3, dadurch gekennzeichnet, dass das Schnittstellenbauelement (140) das Flashspeicherbauelement (120) so steuert, dass die Testinformationen im einmalig programmierbaren Block (OTPBLK) ausgelesen werden, wenn das Einschaltrücksetzlesefreigabesignal (POR_READ) aktiviert ist.
  5. Speichersystem nach Anspruch 3 oder 4, dadurch gekennzeichnet, dass das die aus dem Flashspeicherbauelement (120) ausgelesenen Testinformationen bei jedem Einschalten in einem zweiten Register (142b) gespeichert werden.
  6. Speichersystem mit – einem Flashspeicherbauelement (120), welches einen einmalig programmierbaren Block (OTPBLK) umfasst, in welchem in einem vorbestimmten Bereich Schutzdateninformationen speicherbar sind, gekennzeichnet durch – ein Schnittstellenbauelement (140), welches ein Register (142a) umfasst, das eine einmalig programmierbare Sperrstatusinformation speichert, die anzeigt, ob der einmalig programmierbare Block (OTPBLK) programmiert ist, – wobei das Flashspeicherbauelement (120) folgende Komponenten umfasst: – einen Speicherblock, – eine Speicherblockauswahlschaltung zum Auswählen des Speicherblocks, – eine Schaltung zum Auswählen des einmalig programmierbaren Blocks (OTPBLK) und – eine Steuerschaltung zum Setzen der Speicherblockauswahlschaltung in einen inaktiven Zustand und/oder der Schaltung zum Auswählen des einmalig programmierbaren Blocks (OTPBLK) in einen aktiven Zustand, um einen Zugriff auf den Speicherblock in einem Einmalprogrammiermodus zu sperren.
  7. Speichersystem nach Anspruch 6, dadurch gekennzeichnet, dass das Schnittstellenbauelement (140) einen Befehl erzeugt, um dem Flashspeicherbauelement (120) anzuzeigen, in den Einmalprogrammiermodus einzutreten, wenn die einmalig programmierbare Sperrstatusinformation anzeigt, dass der einmalig programmierbare Block (OTPBLK) nicht programmiert ist, wobei die Steuerschaltung in Reaktion auf den Anzeigebefehl die Speicherblockauswahlschaltung in einen inaktiven Zustand setzt und die Auswahlschaltung für den einmalig programmierbaren Block (OTPBLK) in einen aktiven Zustand setzt.
  8. Speichersystem mit – einem Flashspeicherbauelement (120), welches einen einmalig programmierbaren Block (OTPBLK) umfasst, in welchem in einem vorbestimmten Bereich Schutzdateninformationen speicherbar sind, gekennzeichnet durch – ein Schnittstellenbauelement (140), welches ein Register (142a) umfasst, das eine einmalig programmierbare Sperrstatusinformation speichert, die anzeigt, ob der einmalig programmierbare Block (OTPBLK) programmiert ist, – wobei das Flashspeicherbauelement (120) folgende Komponenten umfasst: – einen Speicherblock, – eine Schaltung zum Auswählen des Speicherblocks, – eine Schaltung zum Auswählen des einmalig programmierbaren Blocks (OTPBLK), – eine Adressenpufferschaltung (201) zum Ausgeben von Blockadressen (BA) und Zeilenadressen (RA), welche vom Schnittstellenbauelement (140) an die Speicherblockauswahlschaltung und an die Schaltung zum Aus wählen des einmalig programmierbaren Blocks (OTPBLK) angelegt werden, und – eine Steuerschaltung zum Erzeugen eines Einmalprogrammierfreigabesignals in Reaktion auf einen Befehl, welcher einen Einmalprogrammiermodus anzeigt, wobei der Speicherblock unabhängig von den Blockadressen nicht von der Speicherblockauswahlschaltung ausgewählt wird, wenn das Einmalprogrammierfreigabesignal aktiviert ist, und die Schaltung zum Auswählen des einmalig programmierbaren Blocks (OTPBLK) den einmalig programmierbaren Block (OTPBLK) in Reaktion auf das aktivierte Einmalprogrammierfreigabesignal auswählt.
  9. Speichersystem nach einem der Ansprüche 6 bis 8, dadurch gekennzeichnet, dass das Schnittstellenbauelement (140) mit der Einmalprogrammiersperrstatusinformation anzeigt, ob der einmalig programmierbare Block (OTPBLK) programmiert ist, wenn ein Programmier-/Löschbefehl im Einmalprogrammiermodus von extern angelegt wird.
  10. Speichersystem nach einem der Ansprüche 6 bis 9, dadurch gekennzeichnet, dass das Schnittstellenbauelement (140) einen externen Zugriff auf den einmalig programmierbaren Block (OTPBLK) sperrt, wenn die Einmalprogrammiersperrstatusinformation anzeigt, dass der einmalig programmierbare Block (OTPBLK) programmiert ist.
  11. Speichersystem nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, dass ein externer Zugriff auf den einmalig programmierbaren Block (OTPBLK) einen Programmier-/Löschvorgang umfasst.
  12. Speichersystem nach einem der Ansprüche 6 bis 11, dadurch gekennzeichnet, dass das Schnittstellenbauelement (140) einen Befehl ausgibt, welcher dem Flashspeicherbauelement anzeigt, in den Einmalprogrammiermodus einzutreten, und die Steuerschaltung das Einmalprogrammierfreigabesignal in Reaktion auf den Anzeigebefehl aktiviert, wenn die Einmalprogrammiersperrstatusinformation anzeigt, dass der einmalig programmierbare Block (OTPBLK) nicht programmiert ist.
  13. Speichersystem nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, dass der einmalig programmierbare Block (OTPBLK) einen Hauptbereich und einen Reservebereich umfasst, wobei der Reservebereich den vorbestimmten Bereich des einmalig programmierbaren Blocks (OTPBLK) umfasst, in welchem die Schutzdateninformationen gespeichert sind.
  14. Speichersystem nach Anspruch 13, dadurch gekennzeichnet, dass die Schutzdateninformationen im Reservebereich gespeichert werden, während der Hauptbereich programmiert wird.
  15. Speichersystem nach Anspruch 13, dadurch gekennzeichnet, dass die Schutzdateninformationen im Reservebereich gespeichert werden, nachdem der Hauptbereich programmiert ist.
  16. Speichersystem nach einem der Ansprüche 1 bis 15, dadurch gekennzeichnet, dass das Register (142a) bei jedem Einschaltvorgang mit den Schutzdateninformationen aktualisiert wird, welche in dem einmalig programmierbaren Block (OTPBLK) gespeichert sind.
  17. Speichersystem nach einem der Ansprüche 1 bis 16, dadurch gekennzeichnet, dass das Schnittstellenbauelement (120) die im Register (142a) gespeicherte, einmalig programmierbare Sperrstatus information ohne externen Zugriff an den einmalig programmierbaren Block (OTPBLK) ausgibt, wenn die Schutzdateninformationen, welche in dem einmalig programmierbaren Block (OTPBLK) gespeichert sind, von außerhalb angefordert werden.
  18. Speichersystem mit – einem Flashspeicherbauelement (120), welches einen einmalig programmierbaren Block (OTPBLK) umfasst, in welchem Testdateninformationen speicherbar sind, gekennzeichnet durch – eine Signalgeneratorschaltung (143), welche beim Einschalten ein Einschaltrücksetzlesefreigabesignal (POR_READ) erzeugt, und – ein Schnittstellenbauelement (140), welches in Reaktion auf das Einschaltrücksetzlesefreigabesignal (POR_READ) einen Zugriff auf das Flashspeicherbauelement (120) steuert, mit dem auf die Testinformation im einmalig programmierbaren Block (OTPBLK) ohne externen Befehl beim Einschalten zugegriffen wird.
  19. Speichersystem nach einem der Ansprüche 1 bis 18, dadurch gekennzeichnet, dass der einmalig programmierbare Block (OTPBLK) elektrisch löschbare und programmierbare Speicherzellen umfasst.
  20. Speichersystem nach Anspruch 18 oder 19, dadurch gekennzeichnet, dass die Testinformationen eine Betriebsfrequenz des Flashspeicherbauelements umfassen, welche auf einem Packungslevel erhalten wird, wobei die Testinformation im einmalig programmierbaren Block (OTPBLK) auf dem Packungslevel gespeichert wird.
  21. Speichersystem nach einem der Ansprüche 18 bis 20, dadurch gekennzeichnet, dass das Schnittstellenbauelement (140) ein Register (142b) umfasst, welches bei jedem Einschaltvorgang mit den Testinformationen aktualisiert wird, die in dem einmalig programmierbaren Block (OTPBLK) gespeichert sind.
  22. Speichersystem nach Anspruch 21, dadurch gekennzeichnet, dass das Schnittstellenbauelement (120) die Testinformationen ohne externen Zugriff auf den einmalig programmierbaren Block (OTPBLK) nach außen ausgibt, wenn die Testinformationen, welche in dem einmalig programmierbaren Block (OTPBLK) gespeichert sind, von außen angefordert werden.
  23. Speichersystem nach einem der Ansprüche 18 bis 22, dadurch gekennzeichnet, dass die Signalgeneratorschaltung (143) eine Einschaltrücksetzschaltung umfasst, welche das Einschaltrücksetzlesefreigabesignal (POR_READ) erzeugt, wenn eine Versorgungsspannung beim Einschalten einen vorgegebenen Spannungspegel erreicht.
  24. Speichersystem nach einem der Ansprüche 18 bis 22, dadurch gekennzeichnet, dass die Signalgeneratorschaltung (143) folgende Komponenten umfasst: – eine Einschaltrücksetzschaltung (143a), welche ein Einschaltrücksetzsignal (POR) erzeugt, wenn die Versorgungsspannung beim Einschalten einen vorgegebenen Spannungspegel erreicht, und – einen Oszillator (143b), welcher nach der Aktivierung des Einschaltrücksetzsignals (POR) und dem Ablauf einer Zeitspanne das Einschaltrücksetzlesefreigabesignal (POR_READ) erzeugt.
DE102004056088A 2003-11-13 2004-11-12 Speichersystem mit Flashspeicher Expired - Fee Related DE102004056088B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20030080301 2003-11-13
KR10-2003-80301 2003-11-13
KR10-2004-0031117 2004-05-03
KR1020040031117A KR100632939B1 (ko) 2003-11-13 2004-05-03 오티피 블록이 포함된 플래시 메모리를 갖는 메모리 시스템

Publications (2)

Publication Number Publication Date
DE102004056088A1 true DE102004056088A1 (de) 2005-06-23
DE102004056088B4 DE102004056088B4 (de) 2008-12-18

Family

ID=34576045

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102004056088A Expired - Fee Related DE102004056088B4 (de) 2003-11-13 2004-11-12 Speichersystem mit Flashspeicher

Country Status (3)

Country Link
US (1) US7031188B2 (de)
JP (1) JP2005149715A (de)
DE (1) DE102004056088B4 (de)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7757295B1 (en) * 2005-02-09 2010-07-13 Lsi Corporation Methods and structure for serially controlled chip security
US7391665B1 (en) * 2005-09-09 2008-06-24 Altera Corporation Process and temperature invariant power on reset circuit using a bandgap reference and a long delay chain
JP2007122784A (ja) * 2005-10-26 2007-05-17 Akebono Brake Ind Co Ltd 車載用半導体センサにおける内部メモリのデータ書き換わり防止方法
TWI269306B (en) * 2005-12-16 2006-12-21 Fortune Semiconductor Corp One-time programmable memory and its data recording method
US7602655B2 (en) * 2006-01-12 2009-10-13 Mediatek Inc. Embedded system
US8122307B1 (en) * 2006-08-15 2012-02-21 Synopsys, Inc. One time programmable memory test structures and methods
US8046571B1 (en) * 2006-12-18 2011-10-25 Marvell International Ltd. System-on-a-chip (SoC) security using one-time programmable memories
US7991943B2 (en) * 2007-10-26 2011-08-02 Standard Microsystems Corporation Implementation of one time programmable memory with embedded flash memory in a system-on-chip
US8417902B2 (en) * 2008-08-05 2013-04-09 Atmel Corporation One-time-programmable memory emulation
KR20100097407A (ko) * 2009-02-26 2010-09-03 삼성전자주식회사 저항성 메모리 장치, 이를 포함하는 메모리 시스템 및 저항성 메모리 장치의 프로그램 방법
KR20100107609A (ko) * 2009-03-26 2010-10-06 삼성전자주식회사 저항성 메모리 장치, 이를 포함하는 메모리 시스템 및 저항성 메모리 장치의 기입 방법
US20120271988A1 (en) * 2009-09-23 2012-10-25 Infinite Memory Ltd. Methods circuits data-structures devices and system for operating a non-volatile memory device
US8261011B2 (en) * 2009-10-29 2012-09-04 Freescale Semiconductor, Inc. One-time programmable memory device and methods thereof
KR101061313B1 (ko) * 2010-01-28 2011-08-31 주식회사 하이닉스반도체 보안 제어장치를 포함하는 반도체 메모리 장치
JP5269020B2 (ja) * 2010-09-22 2013-08-21 株式会社東芝 半導体集積回路装置およびメモリの管理方法
US9256525B2 (en) 2011-12-02 2016-02-09 Kabushiki Kaisha Toshiba Semiconductor memory device including a flag for selectively controlling erasing and writing of confidential information area
JP5885638B2 (ja) * 2011-12-02 2016-03-15 株式会社東芝 半導体記憶装置
US9053791B2 (en) * 2012-03-07 2015-06-09 Medtronic, Inc. Flash memory with integrated ROM memory cells
US9607708B2 (en) 2012-03-07 2017-03-28 Medtronic, Inc. Voltage mode sensing for low power flash memory
US8913454B2 (en) * 2012-10-10 2014-12-16 Cambridge Silicon Radio Limited Programmable memory with restricted reprogrammability
KR102139327B1 (ko) 2012-11-15 2020-07-29 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 동작 방법
KR20140100139A (ko) * 2013-02-05 2014-08-14 삼성전자주식회사 보호 영역을 갖는 오티피 셀 어레이, 이를 포함하는 반도체 메모리 장치, 및 오티피 셀 어레이의 프로그램 방법
KR20170020324A (ko) * 2014-04-23 2017-02-22 인스콘스 데이터 테크놀로지, 엘엘씨. 보안 소거 동작을 완료하기 위한 방법
US9620216B2 (en) 2015-02-17 2017-04-11 Silicon Storage Technology, Inc. Flash memory device configurable to provide read only memory functionality
CN106875974B (zh) * 2017-03-16 2023-12-12 成都信息工程大学 一种otp存储装置以及访问otp存储器的方法
KR102389431B1 (ko) * 2017-08-22 2022-04-25 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
CN110489351B (zh) * 2018-05-14 2021-03-09 英韧科技(上海)有限公司 芯片指纹管理装置及安全芯片
US11099949B2 (en) * 2018-08-03 2021-08-24 Cirrus Logic, Inc. Method apparatus for resuming and recovery checking from interrupted programming of one-time programmable memory device
KR20210078109A (ko) 2019-12-18 2021-06-28 삼성전자주식회사 스토리지 장치 및 이를 포함하는 시스템
CN111651128A (zh) * 2020-06-24 2020-09-11 中国人民解放军国防科技大学 普通存储器otp实现方法及存储器
KR20220028888A (ko) * 2020-08-31 2022-03-08 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
CN117170694B (zh) * 2023-09-15 2024-05-14 合芯科技(苏州)有限公司 一种bmc数据烧录配置方法、装置、设备及介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0844628A (ja) * 1994-08-03 1996-02-16 Hitachi Ltd 不揮発性メモリ、およびそれを用いたメモリカード、情報処理装置、ならびに不揮発性メモリのソフトウェアライトプロテクト制御方法
KR100219501B1 (ko) * 1996-11-13 1999-09-01 윤종용 파워 온 리셋 회로
JPH10302476A (ja) * 1997-02-26 1998-11-13 Toshiba Corp 半導体集積回路装置
KR100255957B1 (ko) * 1997-07-29 2000-05-01 윤종용 전기적으로 소거 및 프로그램 가능한 메모리 셀들을 구비한반도체 메모리 장치
KR100308479B1 (ko) * 1998-08-11 2001-11-01 윤종용 컴퓨터 시스템 내에서 부트-업 메모리로 사용되는 플래시 메모리 장치 및 그것의 데이터 읽기 방법
JP4040215B2 (ja) * 1999-07-19 2008-01-30 株式会社東芝 不揮発性半導体メモリの制御方法
US6204703B1 (en) * 1998-12-21 2001-03-20 Samsung Electronics Co., Ltd. Power on reset circuit with power noise immunity
JP3209733B2 (ja) * 1999-09-17 2001-09-17 富士通株式会社 不揮発性半導体記憶装置
JP2001109666A (ja) * 1999-10-05 2001-04-20 Hitachi Ltd 不揮発性半導体記憶装置
JP4678083B2 (ja) * 2000-09-29 2011-04-27 ソニー株式会社 メモリ装置およびメモリアクセス制限方法
JP2002163900A (ja) * 2000-11-22 2002-06-07 Hitachi Ltd 半導体ウエハ、半導体チップ、半導体装置および半導体装置の製造方法

Also Published As

Publication number Publication date
US7031188B2 (en) 2006-04-18
DE102004056088B4 (de) 2008-12-18
US20050105331A1 (en) 2005-05-19
JP2005149715A (ja) 2005-06-09

Similar Documents

Publication Publication Date Title
DE102004056088B4 (de) Speichersystem mit Flashspeicher
DE3852833T2 (de) Nichtflüchtiger Speicher.
DE19860871B4 (de) Leistungsunabhängiger Halbleiterspeicherbaustein und Verfahren zur Ansteuerung von dessen Wortleitungen
DE4302223C2 (de) Nicht-flüchtige Halbleiterspeichereinrichtung sowie Herstellungsverfahren dafür
DE4233248C2 (de) Nicht-flüchtige Halbleiterspeichereinrichtung und Verfahren zum blockweisen Löschen von Daten in einer nicht-flüchtigen Halbleiterspeichereinrichtung
DE68928112T2 (de) Masken-rom mit Ersatzspeicherzellen
DE69500143T2 (de) Schaltung zum Wählen von Redundanzspeicherbauelementen und diese enthaltende FLASH EEPROM
DE69500007T2 (de) Speicherredundanzschaltung
DE69815258T2 (de) Elektrisch programmier- und löschbarer nichtflüchtiger Speicher mit einem lese- und/oder schreibgeschützen Bereich einschliesslich zugehöriger elektronischer Schaltung
DE4122021C2 (de) Nichtflüchtige Halbleiterspeichervorrichtung und Verfahren zum Löschen von Ladungen in Speicherzellen
DE3900798A1 (de) Verfahren zum loeschen und programmieren eines elektrisch loeschbaren und programmierbaren nur-lese-speichers
DE3318123A1 (de) Schaltungsanordnung mit einem datenspeicher und einer ansteuereinheit zum auslesen, schreiben und loeschen des speichers
DE102007041845A1 (de) Verfahren zum Betreiben eines integrierten Schaltkreises mit mindestens einer Speicherzelle
DE112010000955T5 (de) NAND-Flasharchitektur mit mehrstufiger Zeilendecodierung
DE102004041519B4 (de) Programmiersteuerschaltung und Programmiersteuerverfahren
DE112004002836T5 (de) Nichtflüchtige Halbleitervorrichtung und Verfahren zum automatischen Beheben eines Löschfehlers in der Vorrichtung
DE102005035084A1 (de) Speicherbauelement und Programmierverfahren
DE102005057112A1 (de) Nichtflüchtiges Speicherbauelement und Programmierverfahren
DE102007061406A1 (de) Verfahren zum Betreiben eines nichtflüchtigen Speicherelements, nichtflüchtiges Speicherelement und Speicherkarte
DE112005003436T5 (de) Halbleiterbauelement, Adressenzuordnungsverfahren und Verifizierungsverfahren
DE3626803A1 (de) Halbleiterspeichereinrichtung mit einer redundanzschaltung
DE60102466T2 (de) Zwei-tor cam speicher für simultanen flash speicher betrieb
DE3919185C2 (de)
DE112004003005B4 (de) Nicht-Flüchtiges Speicherbauelement
DE112004002857T5 (de) Halbleitervorrichtung und Steuerverfahren für diese

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20140603