-
Technisches Gebiet
-
Die
vorliegende Erfindung bezieht sich auf das Gebiet von nicht-flüchtigen
Halbleiter-Speichereinrichtungen und insbesondere von einer asynchronen,
nicht-flüchtigen
Speichereinrichtung, die einen unabhängigen, asynchronen Boot-Block
aufweist.
-
Allgemeiner Stand der Technik
-
Nicht-flüchtige Speichereinrichtungen
umfassen eine Vielfalt von Halbleiter-Speichereinrichtungen, die
Zellen aufweisen, die ihre Daten beibehalten, wenn die Energie vom
Chip entfernt wird. Arten von nicht-flüchtigen Speichereinrichtungen
umfassen Flash-Speicher und elektrisch löschbare, programmierbare Festwertspeicher
(Electrically Erasable Programmable Read Only Menory) (EEPROM) sowie
eine Vielfalt von anderen Ausführungen
der Einrichtungen. Typischerweise arbeiten diese Arten von Speichern
mit einem Einrichtungs-Systemtakt, um Daten von der Speichermatrix
zu lesen und um Daten in die Speichermatrix zu programmieren/schreiben.
-
Oft
weisen nicht-flüchtige
Einrichtungen einen Boot-Block auf, der ein bestimmter Bereich ist, der
verwendet wird, um spezielle Programme, wie ein Betriebssystem,
ein BIOS (Basic Input Output System, Basis-Eingabe-Ausgabe-System)
und dergleichen zu speichern. Im Allgemeinen wird auf die Daten
in diesen Boot-Blöcken
synchron mit dem Takt zugegriffen, der für den Rest der Speichermatrix
verwendet wird. Der Nachteil daran ist, dass das Taktsignal und
die Lesebefehle erstellt werden müssen, bevor auf die Daten vom
Boot-Block zugegriffen werden kann. Es wäre vorteilhaft, wenn man auf
die Daten aus dem Boot-Block sofort nach dem Einschalten zugreifen
könnte,
ohne den Takt oder die Lesebefehle aufbauen zu müssen. Um dies zu erreichen,
müsste der
Boot-Block asynchron zum normalen, synchronen Hauptspeicherbereichteil
der Speichereinrichtung arbeiten.
-
U.S. Patent Nr. 5,197,034 von
Fandrich et al. offenbart einen nicht-flüchtigen Speicher, der einen Hauptblock
und einen Boot-Block umfasst. Die Schaltungsmittel sind gekoppelt,
um ein Steuersignal als Steuereingang zu empfangen, um den Bootbereich
aktualisieren zu können,
falls das Steuersignal in einem ersten Spannungszustand ist, und
um ein Ausschalte-Signal zu erzeugen, um den Speicher in einen im
wesentlichen ausgeschaltenen Zustand zu schalten, falls sich das
Steuersignal in einem anderen Spannungszustand befindet.
-
U.S. Patent Nr. 5,402,383 von
Akaogi offenbart eine elektrisch löschbare, nichtflüchtige Halbleiter- Speichereinrichtung,
zur wahlweisen Verwendung in Flash-Speichereinrichtungen vom Boot-Blocktyp
oder vom normalen Typ. Die Einrichtung weist eine Speicherelementmatrix,
eine erste Löscheinheit,
eine zweite Löscheinheit
und eine Betriebsfestlegungseinheit auf. Wenn ein erster Betriebsmodus
festgelegt ist, wird die Löschoperation der
Speicherelementmatrix nur von einer ersten Löscheinheit durchgeführt. Wenn
ein zweiter Betriebsmodus festgelegt ist, wird die Löschoperation der
ersten Löscheinheit
gesperrt und die zweite Löscheinheit
wird zum Ausführen
der Löschoperation aktiviert.
Folglich kann der Wechsel zwischen Boot-Block-Flash-Speicher und
einem normalen Flash-Speicher realisiert werden, indem ein festgelegter
Wert der Betriebsmoduseinheit geändert
wird.
-
U.S. Patent Nr. 5,502,835 von
Le et al. beschreibt ein Verfahren zum synchronen Ansteuern eines
Speichers, bei dem ein als integrierte Schaltung ausgeführter Mikroprozessor
Daten von einer externen Speichereinrichtung durch früh überlappende Speicherzugriffszyklen
liest, wodurch effiziente Zugriffe auf Speicher mit geringerer Geschwindigkeit möglich sind.
Der Schaltkreis weist einen Bootbereich auf, der die Bootroutine
speichert. Der Bootbereich ist Teil der Chipansteuerungs-Erzeugungseinheit,
die in
13 des Le et al. Patents gezeigt
wird, und scheint synchron zu sein.
-
EP 0 961 283 A2 offenbart
eine Speicherschaltung mit einem Flash-Speicher, der RIOS- und Betriebssystem-Anwendungsprogramm-Software speichert.
Abhängig
vom Zustand eines Steuersignals (Einschaltsignal), das zum Lesen
aus einem Speicher an eine Schaltungssteuerungsperipherie gelegt
wird, wird das Lesen in asynchronem Modus (Einschaltsignal aktiv)
oder in synchronem Impulsbetriebsmodus (Einschaltsignal inaktiv)
durchgeführt. Im
synchronen Modus wird der Flash-Speicher auf die gleiche Weise wie
der Hauptspeicher betrieben. Die Bootzeit wird aufgrund des Lesens
in einem asynchronen Modus während
des Einschaltens reduziert. Unabhängige und getrennte Peripherie-Steuerungsschaltwerke
werden verwendet, eines für
die Steuerung des Betriebssystem-Flash-Speichers und eines für den Hauptspeicher.
-
Es
ist eine Aufgabe der vorliegenden Erfindung eine nichtflüchtige Speichereinrichtung
mit Boot-Block vorzusehen, auf den asynchron zugegriffen werden
kann und der dennoch in einer synchronen Betriebsart programmiert/gelöscht werden
kann.
-
Es
ist eine weitere Aufgabe der vorliegenden Erfindung eine nicht-flüchtige Speichereinrichtung vorzusehen,
die entweder dem asynchronen Boot-Block erlauben kann, nachdem die
Einrichtung anfänglichen
eingeschalten wird, aktiv zu sein oder die das Umschalten aus dem
synchronen Betrieb erlaubt, um den asynchronen Boot-Block nach dem
Sicherstellen eines regulären
synchronen Speicherbetriebsbefehls zu aktivieren.
-
Die
Erfindung ist im Anspruch 1 definiert. Besondere Ausführungsbeispiele
sind in den abhängigen
Ansprüchen
dargelegt.
-
Zusammenfassung der Erfindung
-
Die
obigen Aufgaben wurden durch eine nicht-flüchtige Speichereinrichtung
gelöst,
die einen Hauptspeicherblock, der synchron zum Systemtakt arbeitet,
und einen unabhängigen
asynchronen Boot-Block aufweist. Diese Konstruktion der Einrichtung
kann für
die Konfiguration des Mikroprozessor-/Speicher-Steuergeräts verwendet
werden, in welchem die Einrichtung bei anfänglichen Einschaltoperation
und Systemrücksetz-Operationen
verwendet wird. Die nichtflüchtige
Speichereinrichtung weist eine Steuerlogikschaltung auf, die dem
asynchronen Boot-Block erlauben kann, nach dem Einschalten von Beginn
an aktiv zu sein, oder die dem Boot-Block erlauben kann, im synchronen
Modus aktiviert zu sein und dann in den asynchronen Modus geschalten werden
kann. Dies ermöglicht,
dass Daten sofort aus dem Boot-Block gelesen werden können, ohne
auf das Festlegen von Takt- oder Lesebefehlssignale zu warten. Da
viele Mikroprozessor-/Speicher-Steuergeräte asynchron arbeiten, ermöglicht dies
zusätzlich,
dass die nichtflüchtige
Speichereinrichtung mit asynchronen Mikroprozessoren kompatibel
ist.
-
Kurzbeschreibung der Zeichnungen
-
1 ist
ein Blockdiagramm einer nicht-flüchtigen
Speichereinrichtung der vorliegenden Erfindung.
-
2 ist
ein Blockdiagramm des asynchronen Boot-Blocks.
-
3 ist
ein Schaltungsdiagramm eines x-Dekodierer-Schaltungsblocks in dem asynchronen Boot-Block.
-
4 ist
ein Schaltungsdiagramm einer x-Dekodierer-Schaltung im Hauptspeicher.
-
5 ist
ein Schaltungsdiagramm der Ausgangspuffer des Boot-Blocks und des
Hauptspeicherblocks.
-
Beste Art zur Ausführung der
Erfindung
-
Mit
Bezug auf 1, wird die nicht-flüchtige Speichereinrichtung
der vorliegenden Erfindung gezeigt. Die Speichereinrichtung ist
aus einem regulären,
synchronen, nicht-flüchtigen
Speicherblock 23 und einem asynchronen Boot-Block 25 ausgebildet. Beide,
der reguläre,
synchrone, nicht-flüchtige
Speicher-Block 23 und der asynchrone Boot-Block 25, sind
Blöcke
aus Speicherschaltungen, die Adresseingänge, x und y Dekodierer, Spaltenteile
zum Lesen, Programmieren und Löschen,
nicht-flüchtige
Speichermatrixen, Leseverstärker
und Ausgangspuffer umfassen können.
Die Speichereinrichtung 20 umfasst eine Vielzahl von Eingangsanschlüssen 21 und Ausgangsanschlüssen 27 zum
Empfangen von Befehlen und Ausgeben von Befehlen zu und von der Speichereinrichtung.
Signalleitungen 31 und 33 übertragen Befehle zwischen
dem Hauptspeicherblock 23 und dem asynchronen Boot-Block 25.
Ein Boot-Block-Freigabesignal 32 wird
in den asynchronen Boot-Block 25 eingespeist und wird invertiert 35, bevor
es in den regulären
Hauptspeicherblock eingegeben wird.
-
Bezug
nehmend auf 2, empfängt der asynchrone Boot-Block 25 ein
Signal 41 am Adressbereich des Blocks 49 und der
x-Dekodierer 47 und der y-Dekodierer 48 zusammen
mit der Spaltenauswahl 44 und der Programmier-/Löschauswahl 42 legen
fest, welcher Block im Speicherbereich 43 für Lese-,
Programmier- und Löschoperationen
ausgewählt
wird. Der Boot-Block umfasst auch Leseverstärker und Ausgangspuffer, die
verwendet werden, um das Ausgangssignal 50 zu Puffern.
-
Der
asynchrone Boot-Block kann auf wenigstens zwei Wegen aktiviert werden.
Ein Weg ist das Erstellen eines "Modusregister-Setzbefehls", der ein regulärer synchroner
Speicherbetriebsbefehl ist, um den asynchronen Boot-Block zu aktivieren
und um den regulären,
synchronen, nicht-flüchtigen Speicherbereich
zu deaktivieren. In diesem Fall würde der Boot-Block im synchronen
Modus arbeiten und der Modusregistersatz würde zum Arbeiten im asynchronen
Modus den Boot-Block umschalten. Dies würde den meisten funktionalen
Operationen – wie
Lesen, Programmieren und Löschen – erlauben, anstelle
für den
regulären
Hauptspeicherblock, für den
asynchronen Boot-Block zugänglich
zu sein. Ein zweiter Weg zum Aktivieren des asynchronen Boot-Blocks
besteht darin, dass man beim Einschalten des Chips den asynchronen
Boot-Block aktiv sein lässt.
Ein Modusregister-Setzbefehl kann ausgegeben werden, um den asynchronen
Boot-Block zu solchen Zeitpunkten zu deaktivieren, wenn es gewünscht ist,
den synchronen Hauptspeicherblock zu aktivieren. Der Modusregister-Setzbefehl ist normalerweise
eine synchrone Chipoperation. Da man diesen Befehl im asynchronen
Boot-Block-Operationsmodus
eingeben würde,
können
einige der Eingangsanschluss-Funktionen wie Takt, Reihenzugriff (RAS#)
und Spaltenzugriff (CAS#), etc. nicht deaktiviert werden, aber sie
können
an den Eingängen
bei VIL oder VIH auf ihren entsprechenden nicht-aktiven Zustand
gesetzt werden, bis sie für
Eingangsbefehle verwendet werden. Auf diese Weise kann die synchrone
Programmier- und Lösch-Befehlssequenze immer
noch erstellt werden und funktionsfähig sein, während der Chip im asynchronen
Boot-Block-Betriebsmodus ist. Dies kann den großen Arbeitsaufwand einsparen,
der benötigt würde, um
einen Satz asynchroner Logik zum Programmieren und Löschen des
asynchronen Boot-Blocks zu erstellen.
-
Mit
Bezug auf 3, wird ein Steuerlogikschaltkreis
gezeigt, der zum Aktivieren und Deaktivieren des asynchronen Boot-Blocks
verwendet wird. Die Schaltung in 3 stellt
einen x-Dekodierer in dem asynchronen Boot-Block dar, während die Schaltung von 4 einen
x-Dekodierer im
synchronen Hauptspeicherblock darstellt. Mit Bezug auf 3 weist
die x-Dekodierer-Logik-Schaltung 60 ein NAND-Gatter 65 mit
einer Vielzahl von Eingangssignalen 61, 69 auf,
welche ein Boot-Block-Freigabesignal 67 umfassen. Das Ausgangssignal
des NAND-Gatters 65 wird durch den Inverter 66 invertiert,
wodurch ein Ausgangssignal 68 entsteht. Ähnlich wie
in 4 empfängt
ein NAND-Gatter 75 eine Vielzahl von Eingangssignalen 71, 79,
die ein Boot-Block-Freigabesignal 77 einschließen. Das Boot-Block-Freigabesignal wird
jedoch invertiert, bevor es in das NAND-Gatter 75 eintritt.
Der Ausgang des NAND-Gatters 75 wird durch den Inverter 76 invertiert,
wodurch ein Ausgangssignal 78 entsteht. Das Boot-Block-Freigabesignal
kann aktiviert oder mit dem Modusregister-Setzbefehl auf logisch
Hoch geschalten werden oder kann nach dem Einschalten auf Hoch geschalten
werden, um anzuzeigen, dass der asynchrone Boot-Block aktiviert
ist. Wenn der asynchrone Boot-Block nicht aktiviert ist, wird das Boot-Block-Freigabesignal
auf einem niedrigen logischen Zustand sein. In 3 wird
das Ausgangssignal der logischen Kombination des Eingangs a-0 bis a-n 61, 69 nur
folgen, wenn das Boot-Block-Freigabesignal 67 auf einem
logisch hohen Zustand ist. Anderenfalls wird das Ausgangssignal 68 auf
einem logischen niedrigen Zustand bleiben, solange das Boot-Block-Freigabesignal 67 auf
einem logisch niedrigen Zustand bleibt, der anzeigt, dass der asynchrone
Boot-Block nicht aktiviert ist. Mit Bezug auf 4 wird
in dem x-Dekodierer-Schaltungsblock 70 des
synchronen Hauptspeicherblocks das Ausgangssignal 78 der
Logikkombination der Eingangssignale a-0 bis a-n 71, 79 folgen,
wenn sich das Boot-Block-Freigabesignal 77 auf einem logisch niedrigen
Zustand befindet, was anzeigt, dass der asynchrone Boot-Block nicht
aktiviert ist und dass der reguläre,
synchrone Hauptspeicherblock aktiviert ist.
-
Mit
Bezug auf 5 werden die Ausgangspuffer
des Bootblocks und des Hauptspeicherblocks gezeigt. Das Ausgangspuffer-Steuerlogikschaltwerk 80 des
asynchronen Boot-Blocks wird mit dem Ausgangspuffer 90 des
synchronen Hauptspeicherblocks kombiniert, so dass die Ausgänge eines
jeden Puffers ein Ausgangssignal 99 an dem Ausgangskontakt 100 vorsehen.
Der erste Logikblock 80, der der Ausgangspuffer des asynchronen
Boot-Blocks ist, besteht aus einem ersten Inverter 83,
der das Boot-Block-Freigabesignal 87 an einem Eingangsanschluss
empfängt
und ein Zwischensteuersignal an einem Ausgangsanschluss des Inverters 83 erstellt. Ein
erster Eingangsanschluss eines NOR-Gatters 84 ist mit dem
Ausgangsanschluss des ersten Inverters 83 gekoppelt und
empfängt
das Zwischensteuersignal. Das NOR-Gatter empfängt das erste Eingangssignal 81 am
zweiten Eingangsanschluss des NOR-Gatters. Das NOR-Gatter erstellt ein
erstes Gattersignal an einem NOR-Ausgang. Das NAND-Gatter 82 empfängt das
Boot-Block-Freigabesignal 87 an
einem ersten Anschluss und empfängt ein
Eingangssignal 81 an einem zweiten Anschluss. Das Ausgangssignal
des NAND-Gatters 82 ist ein zweites Gattersignal. Die beiden
Gattersignale werden in die Gatter des CMOS-Inverters eingespeist, die
aus einem PMOS- Transistor 85 und
einem NMOS-Transistor 86 bestehen. Der PMOS-Transistor
empfängt
das Signal des Ausgangs des NAND-Gatters 82 und
der NMOS-Transistor 86 empfangt ein Signal des Ausgangs
des NOR-Gatters 84. Der Ausgang des Inverters, der durch
den PMOS- 85 und den NMOS-Transistor 86 gebildet
wird, erzeugt ein Signal 88, das zum Ausgangssignal 99 des
Ausgangskontakts 100 gesendet wird. Die Schaltung 90 des
synchronen, nicht-flüchtigen
Speichereinrichtung-Blocks hat einen Inverter 93, der das Boot-Block-Freigabesignal
an einem Eingangsanschluss empfängt
und ein Zwischensteuersignal an seinem Ausgangsanschluss erzeugt.
Ein erster Eingangsanschluss eines NAND-Gatters 92 ist
mit dem Ausgangsanschluss des ersten Inverters 93 gekoppelt
und das NAND-Gatter 92 empfangt das erste Eingangssignal 91 am
zweiten Eingangsanschluss, wodurch ein erstes Gattersignal am NAND-Ausgang erzeugt
wird. Das NOR-Gatter 94 empfängt das Boot-Block-Freigabesignal 97 am
ersten Anschluss und empfängt
das Eingangssignal 91 an einem zweiten Anschluss und erzeugt
ein zweites Gattersteuersignal an seinem Ausgang. Das erste Gattersteuersignal
geht zum PMOS-Transistor 95 und
das zweite Gattersteuersignal geht zum Gate des einen NMOS-Transistors 96.
Der PMOS-Transistor 95 und der NMOS-Transistor 96 bilden
einen Inverter, der ein Ausgangssignal 98 erzeugt, das
zum Ausgangsanschluss 100 geht.
-
Wenn
der synchrone Boot-Block aktiviert ist, wird das Boot-Block-Freigabesignal
auf logisch Hoch sein und wird den Eingangssignalen erlauben, das Logikschaltwerk
zu steuern, um den Ausgang 100 zum gleichen Zeitpunkt anzusteuern,
zu dem das auf logisch Hoch befindliche Boot-Block-Freigabesignal die
Logikschaltung 90 ausschaltet, so dass der Ausgangspuffer
und der synchrone Hauptspeicherblock deaktiviert werden. Wenn der
synchrone Boot-Block nicht aktiviert ist, wird das Boot-Block-Freigabesignal auf
einem logisch niedrigen Wert sein, so dass der Ausgangspuffer des
asynchronen Boot-Blocks 80 deaktiviert wird und das niedrige
Signal zum Ausgangspuffer 90 des synchronen Hauptspeicherblocks
aktiviert wird. Daher wird, auch wenn der Ausgangskontakt 100 durch
beide Ausgangspuffer angesteuert wird, nur einem Ausgangspuffer
erlaubt, den Kontakt zu irgendeinem Zeitpunkt anzusteuern während sich
der andere Puffer in einem Dreizustandmodus befindet. Dies ermöglicht das
Aktivieren und Deaktivieren des asynchronen Boot-Blocks, sogar nachdem
der synchrone Speicherblock in Betrieb gewesen ist.