Die
vorliegende Erfindung betrifft ein Speicherinitialisierungsverfahren
in einem flüchtigen Speicher.The
The present invention relates to a memory initialization method
in a volatile memory.
Falls
bei einer Speichereinheit, die einen flüchtigen Speicher, beispielsweise
eine Halbleiterplattenvorrichtung, benutzt, die Spannungsquelle eingeschaltet
wird oder die Leiterplatte mit Speichermodulen aufgesetzt oder entfernt
wird, wird der Inhalt der Speicher undefiniert. In diesem Fall ist
eine Initialisierung des Speichers zum Einschreiben spezifischer
Daten (Initialisierungsdaten) in den Speicher notwendig. Da die
Vorrichtung während
der Initialisierung nicht benutzt werden kann, muß der Benutzer für einige
Zeit warten, nachdem die Spannungsquelle eingeschaltet worden ist.
Darüber
hinaus ist der Speicherzugriff während
der Initialisierung unmöglich,
da der Zugriffcontroller die Initialisierung ausführt. Es
ist deshalb notwendig, solche Unannehmlichkeiten in einer Speichereinheit
so weit wie möglich
zu reduzieren, indem die Initialisierungszeit verkürzt oder
der Speicherzugriffspfad bzw. -weg verbessert wird.If
in a storage device containing a volatile memory, for example
a semiconductor disk device using the power source turned on
or the printed circuit board with memory modules attached or removed
is, the contents of the memory is undefined. In this case is
an initialization of the memory for writing specific
Data (initialization data) in the memory necessary. Because the
Device during
the initialization can not be used, the user must for some
Wait for the time after the power source has been turned on.
About that
In addition, the memory access is during
impossible to initialize
because the access controller is doing the initialization. It
It is therefore necessary to have such inconveniences in a memory unit
as far as possible
to reduce by shortening the initialization time or
the memory access path is improved.
1 zeigt
einen herkömmlichen
Initialisierungsmechanismus. Falls die Spannungsquelle eingeschaltet
wird, wird ein Initialisierungsstartsignal INS in einem Host-Modul
oder einem Zugriffscontroller 11 erzeugt. Ein Datenregister 12 empfängt dieses Initialisierungsstartsignal
INS und übernimmt
Einschreibdaten IDT zur Initialisierung. Ein Initialisierungsadresszähler 13 gibt
eine Initialisierungsadresse IAD aus. Eine Adressenumschaltung 14 wandelt ein
Adressignal AD vom Host-Modul in die Initialisierungsadresse IAD
um, und gibt die Initialisierungsdaten IDT an einen Datenbus 15,
das Initialisierungsadressignal IAD an einen Adressbus 16 und
ein Speicherzugriffssynchronisationssignal (nicht gezeigt) ab, um
die Initialisierung einer Speichereinheit 10 auszuführen. Dabei
kennzeichnet REF ein Auffrischungsbefehlssignal und IED ein Initialisierungsendsignal. 1 shows a conventional initialization mechanism. If the power source is turned on, an initialization start signal INS in a host module or an access controller 11 generated. A data register 12 receives this initialization start signal INS and accepts write-in data IDT for initialization. An initialization address counter 13 outputs an initialization address IAD. An address switch 14 converts an address signal AD from the host module to the initialization address IAD, and outputs the initialization data IDT to a data bus 15 , the initialization address signal IAD to an address bus 16 and a memory access synchronization signal (not shown) for initializing a memory unit 10 perform. Here, REF indicates a refresh command signal and IED an initialization end signal.
2 zeigt
den Aufbau eines anderen herkömmlichen
Initialisierungsmechanismus. Bei diesem Mechanismus greifen zwei
Zugriffscontroller 11a, 11b auf drei Speicherbereiche 10a, 10b und 10c getrennt
voneinander zu. Jeder der Zugriffscontroller 11a, 11b besitzt
den gleichen Aufbau wie der Zugriffscontroller 11, der
in 1 gezeigt ist. Falls der Speicherbereich 10b in
der Mitte durch Aufsetzen einer gedruckten Leiterplatte für ein Speichermodul
ergänzt
wird, greift der obere Zugriffscontroller 11a auf den Speicherbereich 10b zu,
um ihn in gleicher Weise wie den in 1 gezeigten
Mechanismus zu initialisieren. Während
der Initialisierung des Speicherbereichs 10b, empfängt der
untere Zugriffscontroller 11b ein Adressignal AD und ein
Datensignal DT vom Host-Modul und gibt diese Signale an den Adressbus 16 bzw.
den Datenbus 15 ab. Des weiteren gibt er ein Speicherzugriffssynchronisationssignal
(nicht gezeigt) ab, um auf die anderen beiden Speicherbereiche 10a und 10c abhängig von
der Zugriffsanforderung von dem Host-Modul zuzugreifen. 2 shows the structure of another conventional initialization mechanism. This mechanism is accessed by two access controllers 11a . 11b on three storage areas 10a . 10b and 10c separated from each other. Each of the access controllers 11a . 11b has the same structure as the access controller 11 who in 1 is shown. If the memory area 10b is supplemented in the middle by placing a printed circuit board for a memory module, engages the upper access controller 11a on the storage area 10b to him in the same way as in 1 initialize the mechanism shown. During the initialization of the memory area 10b , the lower access controller receives 11b an address signal AD and a data signal DT from the host module and outputs these signals to the address bus 16 or the data bus 15 from. Further, it outputs a memory access synchronization signal (not shown) to the other two memory areas 10a and 10c depending on the access request from the host module.
Wie
zuvor beschrieben, wird die Initialisierung in herkömmlicher
Weise ausgeführt,
indem eine Initialisierungsadresse erzeugt wird und Initialisierungsdaten
in einen Speicher eingeschrieben werden abhängig von der Adresse eines
Zugriffcontrollers. Falls ein flüchtiger
Speicher initialisiert werden soll, ist zum Halten der Daten im
Speicher eine Auffrischungsoperation notwendig. Falls deshalb ein Auffrischungsbefehlssignal
REF (siehe 1) eingegeben wird, unterbricht
der Initialisierungsadresszähler 13 die
Erzeugung eines Initialisierungsadressignals IAD für die Zeit
der Auffrischungsoperation. Daraus ergibt sich,daß die zur
Initialisierung benötigte Zeit
die Summe aus der Zeit zum Einschrieben der Initialisierungsdaten
IDT und der Zeit zur Ausführung der
Auffrischungsoperation ist.As described above, the initialization is carried out in a conventional manner by generating an initialization address and writing initialization data to a memory depending on the address of an access controller. If a volatile memory is to be initialized, a refresh operation is necessary to hold the data in memory. Therefore, if a refresh command signal REF (see 1 ), the initialization address counter interrupts 13 the generation of an initialization address signal IAD for the time of the refresh operation. As a result, the time required for initialization is the sum of the time for writing the initialization data IDT and the time for executing the refresh operation.
Falls
die Initialisierung längere
Zeit dauert, da beispielsweise die Zugriffsanforderung vom Host-Modul
bis zum Ende der Initialisierung nicht verarbeitet werden kann,
muß der
Benutzer, der die Spannungsversorgung eingeschaltet hat, für längere Zeit
warten, bevor er die Vorrichtung tatsächlich benutzen kann. Bei dem
in 2 gezeigten Mechanismus kann der andere Zugriffscontroller
die Zugriffsanforderung vom Host-Modul verarbeiten. Die Speicherzugriffsleistung
der Vorrichtung im ganzen betrachtet, ist jedoch während dieser
Zeit um die Hälfte
reduziert. D.h., daß die
Leistung selbst bei diesem Mechanismus in großem Maße vermindert wird, falls die
Initialisierung eine lange Zeit benötigt.If the initialization takes a longer time, for example because the access request from the host module can not be processed until the end of the initialization, then the user who has turned on the power must wait for a longer time before he can actually use the device. At the in 2 As shown, the other access controller may process the access request from the host module. However, the memory access performance of the device as a whole is reduced by half during this time. That is, the performance is greatly reduced even in this mechanism, if the initialization takes a long time.
3A und 3B sind
erläuternde
Darstellungen eines herkömmlichen
Speicherinitialisierungsverfahrens, das bei einer Halbleiterplatte
oder ähnlichem
in einem E/A-Hilfssystem angewendet wird. In der 3A stellt
das Symbol INCT einen herkömmlichen
Initialisierungsadreßzähler dar,
wobei die Symbole CAO bis CAn die Spaltenadressen von (n + 1) Bits
darstellen, und RAO bis RAm die Zeilenadressen von (m + 1) Bits.
Ein dynamisches RAM, das ein flüchtiger
Speicher ist, wird sowohl mit den Zeilenadressen, die eine Adresse
in Zeilenrichtung des Speichers darstellen sowie mit Spaltenadressen, die
eine Adresse in Spaltenrichtung des Speichers kennzeichnen, versorgt.
In dem herkömmlichen
Initialisierungsadreßzähler ist
das niederwertigste Bit des Zählerausgangssignals
CAO und das höchstwertigste
Bit RAm. Mit Hilfe des Zählers
INCT werden serielle Adreßsignale
in aufsteigender Folge erzeugt. In dem Zähler INCT werden Initialisierungsdaten
in die Speicherzellen eingeschrieben, wobei die Reihenfolge durch
die Pfeile mit durchgezogenen Linien in 3B gekennzeichnet
ist. 3A and 3B Fig. 12 are explanatory diagrams of a conventional memory initialization method applied to a semiconductor disk or the like in an I / O subsystem. In the 3A symbol INCT represents a conventional initialization address counter, where symbols CAO to CAn represent the column addresses of (n + 1) bits, and RA0 to RAm represent the row addresses of (m + 1) bits. A dynamic RAM which is a volatile memory is supplied with both the row addresses representing an address in the row direction of the memory and column addresses indicating an address in the column direction of the memory. In the conventional initialization address counter, the least significant bit of the counter output signal is CAO and the most significant bit RAm. With the help of the counter INCT serial address signals are generated in ascending order. In the counter INCT, initialization data is written in the memory cells, the order being indicated by the solid line arrows in FIG 3B is marked.
Das
dynamische RAM muß in
konstanten Zeitabständen
aufgefrischt werden. Um das dynamische RAM aufzufrischen, werden
die Daten aller Speicherzellen in einer Zeile 1, die durch
die Adresse RA gekennzeichnet ist, von einem Leseverstärker SA im
Speicher gelesen, wie in 4A gezeigt,
und in die Speicherzellen in der gleichen Zeile zurückgeschrieben,
um die in den Zellen gespeicherten Ladungen über einem konstanten Wert zu
halten. Diese Operation wird hinsichtlich der Daten aller Zeilen
in einem konstanten Zeitabstand wiederholt. Falls diese Auffrischung
der Daten nicht für
alle Zellen in einem konstanten Zeitabstand durchgeführt wird,
gehen die im Speicher gespeicherten Daten verloren. Falls Daten
in dem Speicher eingeschrieben werden, ergibt sich die gleiche Wirkung
wie beim Auffrischen. D.h., daß,
falls Daten in eine Zelle 3 in 4B eingeschrieben
werden, die Daten in der Zeile 2, die extern durch die
Zeilenadresse RA bezeichnet sind, in den Leseverstärker SA
gelesen werden. Nachdem die Daten in der durch die Spaltenadresse
CA gekennzeichneten Zelle 3 durch extern zugeführte Daten
erneuert wurden, werden alle Daten in die Speicherzellen in der
gleichen Zeile zurückgeschrieben.
Auf diese Weise wird durch das Dateneinschreiben die gleiche Wirkung
erzeugt wie beim Auffrischen der Daten in allen Zellen der Zeile 2.The dynamic RAM must be refreshed at constant intervals. To refresh the dynamic RAM, the data of all the memory cells in a row 1 , which is indicated by the address RA, read by a sense amplifier SA in the memory, as in 4A and written back to the memory cells in the same row to keep the charges stored in the cells above a constant value. This operation is repeated with respect to the data of all lines at a constant time interval. If this refresh of the data is not performed for all cells at a constant time interval, the data stored in memory will be lost. If data is written to the memory, the effect is the same as when refreshing. That is, if data in a cell 3 in 4B be written to the data in the line 2 externally indicated by the row address RA are read into the sense amplifier SA. After the data in the cell identified by the column address CA. 3 renewed externally, all data is written back to the memory cells in the same row. In this way, data entry generates the same effect as refreshing the data in all cells of the row 2 ,
Nun
wird auf die 3B Bezug genommen. Falls die
Initialisierungsdaten nacheinander in die Zellen in der Zeile 1 des
Speichers eingeschrieben werden, läuft die Zeit zum Aufrechterhalten
der Ladungen aus, bevor die Daten in die Zellen der Zeile 2 eingeschrieben
sind, so daß die
Ladungen in den Zellen der Zeile 1 verlorengehen. Aus diesem
Grund ist die in 4 erläuterte Auffrischung
während
der Initialisierung beim herkömmlichen
Speicherinitialisierungsverfahren notwendig, wodurch die Initialisierungszeit
verlängert
wird.Now on the 3B Referenced. If the initialization data successively in the cells in the line 1 of the memory are written, the time to sustain the charges expires before the data in the cells of the line 2 are inscribed, so that the charges in the cells of the line 1 get lost. For this reason, the in 4 explained refreshing during initialization in the conventional memory initialization process necessary, thereby lengthening the initialization time.
Andererseits
ist im Initialisierungsadreßzähler INCT,
wie sie in 5A einer erläuternden Ansicht eines als
solchen bekannten Initialisierungsverfahrens gezeigt ist, das niederwertigste
Bit des Zählerausgangssignals
RAO und das höchstwertigste
Bit CAn. Durch Benutzung dieses Zählers sind die erzeugten Adressen
im Vergleich zu jenen von einem herkömmlichen Zähler erzeugten nicht seriell,
und Daten werden fortlaufend in die Speicherzellen in der Reihenfolge
der Spalten eingeschrieben, wie es durch die Pfeile mit durchgehenden
Linien in 5B angezeigt ist. Entsprechend
diesem Dateneinschreibverfahren, ist die zum Einschreiben der Daten in
die Zellen 1 bis 2 und 3 kürzer als
der Zeitabstand zwischen zwei Auffrischungsoperationen, so daß die Ladungen
in der Speicherzelle 1 unverändert gespeichert werden, bis
die Daten in die Speicherzelle 3 eingeschrieben sind. Zum
Zeitpunkt des Einschreibens der Daten in die Speicherzelle 3,
wird die Speicherzelle 1, die in der gleichen Zeile wie
die Speicherzelle 3 ist, aufgrund des Auffrischungseffekts, der
in 4B erläutert
wurde, aufgefrischt. D.h., daß es
gemäß dem Initialisierungsverfahren,
das den Initialisierungsadreßzähler benutzt,
nicht notwendig ist, eine Auffrischung individuell auszuführen, wodurch die
Initialisierungszeit um dieses Maß verkürzt wird.On the other hand, in the initialization address counter INCT, as shown in 5A an explanatory view of an initialization method known as such, the least significant bit of the counter output signal RAO and the most significant bit CAn. By using this counter, the generated addresses are not serial compared to those generated by a conventional counter, and data are continuously written into the memory cells in the order of columns as indicated by the solid line arrows in FIG 5B is displayed. According to this data writing method, that is to write the data into the cells 1 to 2 and 3 shorter than the time interval between two refresh operations so that the charges in the memory cell 1 be stored unchanged until the data in the memory cell 3 are inscribed. At the time of writing the data into the memory cell 3 , becomes the memory cell 1 that are in the same row as the memory cell 3 is, due to the refreshing effect, in 4B was refreshed. That is, according to the initialization method using the initialization address counter, it is not necessary to individually perform a refresh, thereby shortening the initialization time by this amount.
6 zeigt
den Aufbau eines Ausführungsbeispiels
eines als solchen bekannten Speicherinitialisierungsverfahrens.
In 6 kennzeichnet die Bezugsziffer 41 einen
flüchtigen
Speicher, wie beispielsweise ein dynamisches RAM, der eine Auffrischung benötigt, 42 einen 5 Zugriffscontroller, 43 einen
Initialisierungsadressenerzeuger, 44 einen Datenerzeuger
und 45 einen Adreßumschaltbereich.
In dem Initialisierungsadreßerzeuger 43 kennzeichnet
die Bezugsziffer 43a einen Aufwärtszähler von (n + 1) Bits zur Ausgabe
von Initialisierungsspaltenadressen CAO bis CAn und 43b einen
Aufwärtszähler von
(m + 1) Bits zur Ausgabe von Initialisierungszeilenadressen RAO
bis RAm. Beim Start der Initialisierung geben beide Zähler 43a und 43b eine
logische Null aus. Im Datenerzeuger 44 bezeichnen die Bezugsziffer 44a ein
Register zum Speichern der Initialisierungsdaten, 44b eine
Auswahlvorrichtung zum Auswählen der
Initialisierungsdaten oder der Schreibdaten und 44c ein
Datenspeicherregister. Im Adreßumschaltbereich 45 bezeichnen
die Bezugsziffer 45a eine Auswahlvorrichtung zum Umschalten
zwischen einer Initialisierungsspaltenadresse und einer Datenzugriffsspaltenadresse, 45b eine
Auswahlvorrichtung zum Umschalten zwischen einer Initialisierungszeilenadresse
und einer Datenzugriffszeilenadresse und 45c eine Auswahlvorrichtung
zur Auswahl einer Zeilenadresse oder einer Spaltenadresse abhängig von einem
Umschaltsignal SWS. 6 shows the structure of an embodiment of a memory initialization method known as such. In 6 indicates the reference number 41 a volatile memory, such as a dynamic RAM that needs a refresh, 42 one 5 Access controller, 43 an initialization address generator, 44 a data producer and 45 an address switching area. In the initialization address generator 43 indicates the reference number 43a an up-counter of (n + 1) bits for outputting initialization column addresses CA0 to CAn and 43b an up counter of (m + 1) bits for issuing initialization line addresses RA0 to RAm. When starting the initialization, both counters enter 43a and 43b a logical zero. In the data producer 44 denote the reference number 44a a register for storing the initialization data, 44b a selector for selecting the initialization data or the write data and 44c a data storage register. In the address switching area 45 denote the reference number 45a a selector for switching between an initialization column address and a data access column address, 45b a selector for switching between an initialization line address and a data access line address and 45c a selection device for selecting a row address or a column address depending on a switching signal SWS.
7 ist
ein Zeitdiagramm des Betriebs des in 6 gezeigten
Ausführungsbeispiels,
das die Abläufe
der Zähler 43a, 43b und
der Auswahlvorrichtung 45c zeigt. 7 is a timing diagram of the operation of the in 6 shown embodiment, the processes of the counter 43a . 43b and the selector 45c shows.
Wenn
der Spannungsschalter eingeschaltet wird und ein Initialisierungssignal
IST erzeugt wird, schaltet die Auswahlvorrichtung 44b um
von einem Datensignal DT von einem Host-Modul als Eingangssignal
auf ein Initialisierungsschreibdatensignal IDT, das von dem Register 44a ausgegeben
wird, und speichert das Initialisierungsschreibdatensignal IDT im
Register 44c. Die Auswahlvorrichtung 45a schaltet
die Spaltenadressen CAO' bis
CAn' als Eingangssignal
von einem Host-Modul auf die Initialisierungsspaltenadressen CAO
bis CAn als Ausgangssignal vom Zähler 43a,
und die Auswahlvorrichtung 45b schaltet die Zeilenadressen
RAO' bis RAm' als ein Eingangssignal
vom Host-Modul um auf die Initialisierungszeilenadressen RAO bis
RAm als ein Ausgangssignal vom Zähler 43b.When the power switch is turned on and an initialization signal IST is generated, the selector switches 44b order from a data signal DT from a host module as an input to an initialization write data signal IDT sent from the register 44a is output, and stores the initialization write data signal IDT in the register 44c , The selection device 45a switches the column addresses CAO 'to CAn' as input from a host module to the initialization column addresses CAO to CAn as an output from the counter 43a , and the selector 45b Switches the row addresses RA0 'to RAm' as an input signal from the host module to the initialization row addresses RA0 to RAm as an output from the counter 43b ,
Ein
UND-Gatter 43c gibt ein Taktsignal CL an den Zähler 43b und
an ein UND-Gatter 43d.
Da ein Übertragsignal
CRY vom Zähler 43b im
Zustand einer logischen 0 verbleibt, wird das Taktsignal CL nicht dem
Zähler 43a zugeführt. Der
Zähler 43b zählt aufwärts entsprechend
dem Taktsignal CL. Da das Umschaltsignal SWS zur Hälfte der
Taktsignalperiode CL wechselt, gibt die Auswahlvorrichtung 45c abwechselnd
ein Adreßignal
AD, das sich aus der Zeilenadresse RA und der Spaltenadresse CA
zusammensetzt, während
einem Takt aus, wie dies in 7 gezeigt
ist. Zu dieser Zeit werden Daten in der Reihenfolge der Speicherzellen 1 bis 2 (in
der seriellen Reihenfolge der Zeilen) in 5B eingeschrieben. Wenn
der Zähler 43b aufwärts zählt und
alle Initialisierungszeilenadreßignale
RaO bis Ram "1" werden, wird das Übertragsignal
CRY des Zählers 43b ausgegeben
und das UND-Gatter 43b geöffnet. Der Zähler 43a zählt beim
nächsten
Takt aufwärts,
und alle Ausgangssignale des Zählers 43b werden
logisch "0". Deshalb wird das Übertragsignal
CRY wieder logisch 0. Während
der Zähler 43b aufwärts zählt, werden Daten
in der Reihenfolge der Speicherzelle 3 bis 4 in 5B eingeschrieben.
Wenn die Daten in der zweiten Spalte eingeschrieben werden, werden
die Speicherzellen 1, bis 2 aufgefrischt aufgrund des zuvor beschriebenen
Auffrischungseffekts.An AND gate 43c indicates a clock signal CL the counter 43b and an AND gate 43d , Since a carry signal CRY from the counter 43b remains in the logic 0 state, the clock signal CL does not become the counter 43a fed. The counter 43b counts upwards according to the clock signal CL. Since the switching signal SWS changes to half of the clock signal period CL, the selector outputs 45c alternately an address signal AD composed of the row address RA and the column address CA during a clock, as shown in FIG 7 is shown. At this time, data is in the order of memory cells 1 to 2 (in the serial order of the lines) in 5B enrolled. When the counter 43b counts up and all the initialization row address signals Ra0 to Ram become "1", the carry signal CRY of the counter becomes 43b output and the AND gate 43b open. The counter 43a counts up at the next clock, and all output from the counter 43b become logical "0". Therefore, the carry signal CRY becomes logic 0 again. While the counter 43b counts up, data is in the order of the memory cell 3 to 4 in 5B enrolled. When the data in the second column is written, the memory cells become 1 to 2 refreshed due to the refresh effect described above.
Dieser
Ablauf wird wiederholt, und wenn alle Ausgangssignale der Zähler 43a und 43b logisch "1" werden (in 5B in
Zelle 5 gezeigt), werden beide Übertragsignale CRY', CRY der Zähler 43a und 43b "1". Ein Initialisierungsendsignal IED
wird als Ausgangssignal eines UND-Gatters 43e ausgegeben und
das Host-Modul wird vom Ende der Initialisierung des Speichers 41 informiert.This process is repeated, and when all the output signals of the counter 43a and 43b logically "1" (in 5B in cell 5 shown), both carry signals CRY ', CRY the counters 43a and 43b "1". An initialization end signal IED is output as an AND gate 43e output and the host module will start from the initialization of the memory 41 informed.
8 zeigt
den Aufbau eines anderen Ausführungsbeispiels
eines als solches bekanntes Speicherinitialisierungsverfahrens.
In jedem Speichermodul 401 bis 404 werden die gleichen Bezugszeichen für die Elemente
benutzt, die mit denjenigen des in 6 gezeigten
Ausführungsbeispiel übereinstimmen.
In diesem Ausführungsbeispiel
kann der Zugriffscontroller 46 auf jedes der Speichermodule 401 bis 404 separat
voneinander zugreifen. Wenn beispielsweise das zweite Speichermodul 402 von oben hinzugefügt wird, da beispielsweise
eine gedruckte Leiterplatte eingesetzt wird, übermittelt der Zugriffscontroller 46 ein Initialisierungsbefehlssignal
ISTb in Antwort auf eine Anforderung zur Initialisierung von einem
Host-Modul. Das Flipflop 47 im Speichermodul 402 wird dann gesetzt und der Zugriffscontroller
42 im Speichermodul erzeugt eine Initialisierungsadresse, wie zuvor
beschrieben, um die Initialisierung des Speichers auszuführen. Wenn
die Initialisierung beendet ist, wird ein Initialisierungsendsignal
IEDb geliefert, das Flipflop zurückgesetzt
und der Zugriffscontroller 46 über das Ende der Initialisierung
informiert. Da in diesem Ausführungsbeispiel
die Auffrischung bei der Initialisierung nicht notwendig ist, und die
Initialisierung des Speichermoduls 402 als
einzelne Einheit ausgeführt
wird, kann der Zugriffscontroller 46 auf ein anderes Speichermodul
während
der Initialisierung zwischen der Übertragung des Initialisierungsbefehlssignals
IEDb und dem Empfang des Initialisierungsendsignals IEDb zugreifen. 8th Fig. 12 shows the structure of another embodiment of a memory initialization method known as such. In every memory module 40 1 to 40 4 the same reference numerals are used for the elements that correspond to those of the in 6 match embodiment shown match. In this embodiment, the access controller 46 on each of the memory modules 40 1 to 40 4 access separately from each other. For example, if the second memory module 40 2 from the top, for example, because a printed circuit board is used, the access controller transmits 46 an initialization command signal ISTb in response to a request for initialization from a host module. The flip flop 47 in the memory module 40 2 is then set and the access controller 42 in the memory module generates an initialization address as described above to perform the initialization of the memory. When the initialization is completed, an initialization end signal IEDb is provided, the flip-flop reset and the access controller 46 informed about the end of the initialization. Since, in this embodiment, the refresh is not necessary in the initialization, and the initialization of the memory module 40 2 is executed as a single unit, the access controller 46 access another memory module during initialization between the transmission of the initialization command signal IEDb and the reception of the initialization end signal IEDb.
Es
ist auch möglich,
einen anderen Zugriffscontroller 46 (nicht gezeigt) vorzusehen,
so daß die beiden
Zugriffscontroller individuell auf mehrere Speichermodule 401 bis 404 zugreifen
können.
Falls bei diesem Aufbau ein Speichermodul hinzugefügt wird,
da beispielsweise eine gedruckte Leiterplatte eingesetzt wird, überträgt einer
der Zugriffscontroller 46s die Initialisierungsbefehlssignale
ISTa bis ISTd. Danach wird die Initialisierung des gewählten Speichermoduls
als eine einzelne Einheit ausgeführt. Deshalb
können
zwei Zugriffscontroller 46 eine Anforderung zum Zugriff
auf ein Host-Modul verarbeiten, selbst während der Initialisierung des
Speichermoduls.It is also possible to use another access controller 46 (not shown) so that the two access controllers are individually adapted to multiple memory modules 40 1 to 40 4 can access. In this structure, if a memory module is added, for example, because a printed circuit board is used, one of the access controllers transmits 46s the initialization command signals ISTa to ISTd. Thereafter, the initialization of the selected memory module is performed as a single unit. Therefore, two access controllers 46 process a request to access a host module, even during initialization of the memory module.
Um
eine Hochgeschwindigkeits-Initialisierung auszuführen, werden ein dynamisches
RAM, das einen Hochgeschwindigkeitszugriff, beispielsweise in einem
Nippelmodus und einem Hochgeschwindigkeitsseitenmodus zuläßt, eingebracht.
Im Nippelmodus oder einem Hochgeschwindigkeitsseitenmodus ist es
möglich,
Daten in aufeinanderfolgenden vier Speicherzellen in einer Zeile
oder irgendwelche vier Zellen in einer Zeile auszulesen/einzuschreiben. 9 zeigt
diesen Aufbau eines Initialisierungsadreßzählers, der in einem Hochgeschwindigkeitsseitenmodus
benutzt wird. Der Initialisierungsadreßzähler besteht aus einem Zähler 51 von
2 Bits, einem Zähler 52 von
(n – 1)
Bits, einem Zähler 53 von
(m + 1) und UND-Gattern 54 bis 56.In order to perform a high-speed initialization, a dynamic RAM allowing a high-speed access such as in a nipple mode and a high-speed side mode is introduced. In the nipple mode or a high speed page mode, it is possible to read / write data in successive four memory cells in one line or any four cells in a line. 9 Fig. 10 shows this construction of an initialization address counter used in a high-speed page mode. The initialization address counter consists of a counter 51 of 2 bits, one counter 52 of (n-1) bits, one counter 53 of (m + 1) and AND gates 54 to 56 ,
Zur
optimalen Nutzung des Speichers bei Anbindung mehrerer CPUs werden
unter anderem Verfahren zum optimalen Initialisieren, Refresh und kombinierten
Initialisieren/Refresh benötigt.
Standard- und erweiterte Single-CPU-Verfahren sind aus der Druckschrift EP 0 415 433 A2 bekannt.
Das beschriebene Speichersteuerungssystem weist einen Schaltkreis
zur Erzeugung von Initialisierungsdaten auf. Darüber hinaus verfügt das Speichersteuerungssystem über eine
Auffrischkontrollsteuerung für
einen flüchtigen
Speicher. Dabei schreibt bzw. liest und schreibt die Auffrischkontrollsteuerung
aufgefrischte Daten in alle Speicherzellen einer Spalte, während fortlaufend
Zeilenadressen inkrementiert werden. Im Falle, daß eine Spalte
vollständig
durchlaufen wurde und ein Überlauf
erfolgt, wird die Spaltenadresse inkrementiert und mit der Verarbeitung
der nächsten Spalte
begonnen. Durch geschickte Nutzung der vorhandenen Multi-CPU-Hardware
können
jedoch verbesserte Verfahren zur optimalen Speicherinitialisierung/-refresh
gewonnen werden.For optimum use of the memory when connecting several CPUs, among other things methods for optimal initialization, refresh and combined initialization / refresh are needed. Standard and extended single-CPU procedures are from the publication EP 0 415 433 A2 known. The memory control system described has a circuit for generating initialization data. In addition, the memory control system has a refresh memory control for a volatile memory. At this time, the refresh control controller writes and writes refreshed data to all the memory cells of a column while continuously incrementing row addresses. In the event that a column has been completely traversed and an overflow occurs, the column address is incremented and processing of the next column commences. However, skilful use of existing multi-CPU hardware can provide improved methods for optimal memory initialization tion / refresh.
Es
ist daher Aufgabe der vorliegenden Erfindung, ein Initialisierungsverfahren
vorzusehen, mit denen die Initialisierungszeit eines Halbleiterspeichers
verkürzt
werden kann.It
It is therefore an object of the present invention to provide an initialization method
provide, with which the initialization time of a semiconductor memory
shortened
can be.
Die
Aufgabe der vorliegenden Erfindung wird durch die Merkmale des Anspruchs
1 gelöst.The
Object of the present invention is characterized by the features of the claim
1 solved.
Falls
erfindungsgemäß die Initialisierungsdaten
in einem flüchtigen
Speicher, der für
jede Zeile eine Auffrischung benötigt,
eingeschrieben werden, werden die Initialisierungsdaten in alle
Speicherzellen einer i-ten Spalte eingeschrieben, während nacheinander
die Zeilenadressen RA in einer aufsteigenden Reihenfolge erzeugt
werden, wobei die Spaltenadresse CA auf einem konstanten Wert i
gehalten wird. Der Einschreibschritt der Initialisierungsdaten wird
in der gleichen Weise bei aufeinanderfolgenden Spalten wiederholt,
während
die Spaltenadresse CA schrittweise erhöht wird. Da die Auffrischung
und das Dateneinschreiben gleichzeitig ausgeführt werden, ist es nicht notwendig,
getrennt vom Dateneinschreiben die Auffrischung durchzuführen, falls
die zur Einschreibung der Daten benötigte Zeit kürzer ist
als der Zeitabschnitt zwischen zwei Auffrischungsoperationen.If
According to the invention, the initialization data
in a fleeting
Memory that for
every line needs a refresher,
are written, the initialization data in all
Memory cells of an ith column written while successively
generates the row addresses RA in an ascending order
where the column address CA is at a constant value i
is held. The writing step of the initialization data becomes
repeated in successive columns in the same way,
while
the column address CA is incrementally increased. Because the refresher
and data writing are executed simultaneously, it is not necessary
to do the refresher separately from the data entry if
the time required to write the data is shorter
as the time interval between two refresh operations.
Dadurch
verkürzt
sich die Initialisierungszeit. Falls ein Hochgeschwindigkeitsspeicher
benutzt wird, werden die Spaltenadressen CA in eine obere Spaltenadresse
und eine untere Spaltenadresse aufgeteilt, und die Initialisierungsdaten
werden in die Speicherzellen eingeschrieben, während aufeinanderfolgend untere
Spaltenadressen in aufsteigender Reihenfolge erzeugt werden, wobei
die obere Spaltenadresse und die Zeilenadresse RA festgehalten werden.
Die Initialisierungsdaten werden dann in gleicher Weise in die nachfolgende
Zeile eingeschrieben. Nachdem die Initialisierungsdaten in alle
Zeilen eingeschrieben sind, wird das Einschreiben der Daten wiederholt,
während
die obere Spaltenadresse schrittweise um eins erhöht wird.
Mit diesem Verfahren kann ebenfalls eine separate Auffrischung vermieden
werden, wodurch sich die Initialisierungszeit verkürzt. Erfindungsgemäß ist es
auf diesem Wege möglich,
die Leistungsfähigkeit
des E/A-Hilfssystems zu erhöhen.Thereby
shortened
the initialization time. If a high-speed memory
is used, the column addresses CA become an upper column address
and a lower column address, and the initialization data
are written in the memory cells while successively lower
Column addresses are generated in ascending order, where
the upper column address and the row address RA are retained.
The initialization data are then in the same way in the subsequent
Inscribed line. After the initialization data in all
Lines are written, the writing of the data is repeated,
while
the upper column address is incremented by one.
This procedure also avoids a separate refresher
which reduces the initialization time. It is according to the invention
possible in this way,
the efficiency
of the I / O subsystem.
Weitere
Merkmale und Vorteile der vorliegenden Erfindung werden anhand der
folgenden Beschreibung unter Zuhilfenahme der begleitenden Zeichnungen
deutlich.Further
Features and advantages of the present invention will become apparent from the
following description with the aid of the accompanying drawings
clear.
1 zeigt
einen herkömmlichen
Initialisierungsmechanismus; 1 shows a conventional initialization mechanism;
2 zeigt
den Aufbau eines anderen herkömmlichen
Initialisierungsmechanismus; 2 shows the structure of another conventional initialization mechanism;
3A und 3B sind
erläuternde
Ansichten eines herkömmlichen
Speicherinitialisierungsverfahrens; 3A and 3B Fig. 10 are explanatory views of a conventional memory initialization method;
4A und 4B sind
erläuternde
Ansichten einer Auffrischungsoperation; 4A and 4B are explanatory views of a refresh operation;
5A und 5B sind
erläuternde
Ansichten eines als solches bekannten Initialisierungsverfahrens; 5A and 5B Fig. 3 are explanatory views of an initialization method known as such;
6 zeigt
den Aufbau eines Ausführungsbeispiels
eines als solches bekannten Speicherinitialisierungsverfahrens; 6 shows the construction of an embodiment of a memory initialization method known as such;
7 ist
ein Zeitdiagramm, das den Arbeitsablauf des in 6 gezeigten
Ausführungsbeispiels darstellt; 7 is a timing diagram that illustrates the workflow of the 6 illustrated embodiment represents;
8 zeigt
den Aufbau eines anderen Ausführungsbeispiels
eines als solches bekannten Speicherinitialisierungsverfahrens; 8th shows the construction of another embodiment of a memory initialization method known as such;
9 zeigt
den Aufbau eines Initialisierungsadresszählers, der in einem Hochgeschwindigkeitszugriffsmodus
benutzt wird; 9 shows the construction of an initialization address counter used in a high-speed access mode;
10 ist
ein erläuterndes
Verfahren eines weiteren Ausführungsbeispiels
eines Speicherinitialisierungsverfahrens gemäß der vorliegenden Erfindung,
das einen Hochgeschwindigkeitszugriff erlaubt; 10 FIG. 10 is an illustrative method of another embodiment of a memory initialization method according to the present invention that allows high-speed access; FIG.
11 zeigt
den Aufbau eines weiteren Ausführungsbeispiels
eines Speicherinitialisierungsverfahrens gemäß der vorliegenden Erfindung,
in dem der Speicher in mehrere Blöcke unterteilt wird; 11 shows the construction of another embodiment of a memory initialization method according to the present invention in which the memory is divided into a plurality of blocks;
12 zeigt
den Aufbau des Initialisierungsadresszählers, der in dem in 11 gezeigten
Ausführungsbeispiel
benutzt wird; und 12 shows the structure of the initialization address counter, which in the in 11 embodiment shown is used; and
13 ist
eine erläuternde
Ansicht eines Verfahrens zum Einschreiben von Daten des in 11 gezeigten
Ausführungsbeispiels. 13 FIG. 4 is an explanatory view of a method for writing data of the in 11 shown embodiment.
Um
eine Hochgeschwindigkeits-Initialisierung auszuführen, werden ein dynamisches
RAM, das einen Hochgeschwindigkeitszugriff, beispielsweise in einem
Nippelmodus und einem Hochgeschwindigkeitsseitenmodus zuläßt, eingebracht.
Im Nippelmodus oder einem Hochgeschwindigkeitsseitenmodus ist es
möglich,
Daten in aufeinanderfolgenden vier Speicherzellen in einer Zeile
oder irgendwelche vier Zellen in einer Zeile auszulesen einzuschreiben. 9 zeigt
diesen Aufbau eines Initialisierungsadreßzählers, der in einem Hochgeschwindigkeitsseitenmodus
benutzt wird. Der Initialisierungsadreßzähler besteht aus einem Zähler 51 von
2 Bits, einem Zähler 52 von
(n – 1)
Bits, einem Zähler 53 von
(m + 1) und UND-Gattern 54 bis 56.In order to perform a high-speed initialization, a dynamic RAM allowing a high-speed access such as in a nipple mode and a high-speed side mode is introduced. In the nipple mode or a high-speed page mode, it is possible to write data in successive four memory cells in one line or any four cells in a line. 9 shows this construction of an initialization address counter which operates at high speed page mode is used. The initialization address counter consists of a counter 51 of 2 bits, one counter 52 of (n-1) bits, one counter 53 of (m + 1) and AND gates 54 to 56 ,
Ein
Taktsignal CL wird dem Zähler 51 konstant
zugeführt.
Ein Taktsignal CL wird dem Zähler 53 nur
zugeführt,
wenn ein Übertragsignal
CRY1 vom Zähler 51 (alle
Ausgangssignale des Zählers 51 sind logisch "1") ausgegeben wird. Ein Taktsignal CL
wird dem Zähler 52 dann
zugeführt,
wenn das Übertragsignal
CRY1 und ein Übertragsignal
CRY3 gleichzeitig von den Zählern 51 bzw. 53 ausgegeben
werden. Der Zähler 51 gibt
die unteren 2 Bits CAO, CA 1 der Spaltenadresse aus, der Zähler 52 gibt
die oberen (n – 1) Bits
CA2 bis CAn der Spaltenadresse aus, und der Zähler 53 gibt die Zeilenadressen
RAO bis RAm von (m 4 - 1) Bits aus. Falls alle Übertragsignale CRY1 bis CRY3
der Zähler 51 bis 53 ausgegeben
werden, wird das Ausgangssignal IED des UND-Gatters 54 logisch "1", das das Ende der Initialisierung anzeigt.A clock signal CL is the counter 51 Constantly fed. A clock signal CL is the counter 53 supplied only when a carry signal CRY1 from the counter 51 (all output signals of the counter 51 are logically "1") is output. A clock signal CL is the counter 52 then supplied when the carry signal CRY1 and a carry signal CRY3 from the counters simultaneously 51 respectively. 53 be issued. The counter 51 outputs the lower 2 bits CAO, CA 1 of the column address, the counter 52 outputs the upper (n-1) bits CA2 to CAn of the column address, and the counter 53 outputs the row addresses RA0 to RAm of (m 4 - 1) bits. If all the carry signals CRY1 to CRY3 the counter 51 to 53 are output, the output signal IED of the AND gate 54 logical "1", which indicates the end of the initialization.
Die
Daten werden während
der Initialisierung in die Speicherzellen in der Reihenfolge von
1 bis 8 eingeschrieben, indem der Initialisierungsadreßzähler benutzt
wird, wie in 10 gezeigt. Die in die Speicherzellen 1 bis 2 eingeschriebenen
Daten werden aufgefrischt, wenn die Daten in die Speicherzellen 7 bis 8 eingeschrieben
werden. Die für
das Einschreiben der Daten in die Zellen 1 bis 4 benötigte Zeit
ist kürzer
als der Zeitabstand zwischen zwei Auffrischungsoperationen.The data is written into the memory cells in the order of 1 to 8 during initialization by using the initialization address counter as in 10 shown. The in the memory cells 1 to 2 inscribed data is refreshed when the data is in the memory cells 7 to 8th be enrolled. The for writing the data into the cells 1 to 4 time required is shorter than the time interval between two refresh operations.
11 zeigt
den Aufbau eines weiteren Ausführungsbeispiels
eines Speicherinitialisierungsverfahrens entsprechend der vorliegenden
Erfindung, in dem der Speicher 41 in mehrere Speicherblöcke 41a bis 41d aufgeteilt
wird. In diesem Fall enthält
das Adreßignal
AD von einem Host-Modul 1 Spaltenadreßignale CAO'bis CAn', 2 Zeilenadreßignale RAO' bis RAm' und 3 ein Signal BSL zur Auswahl eines Speicherblocks.
Die Auswahlvorrichtung 45d gibt eines der Auswahlsignale
SLa bis SLd aus basierend auf dem Signal BSL, so daß auf einem
der Speicherblöcke 41a bis 41d,
die das Auswahlsigna] SLa bis SLx1 empfangen haben, zugegriffen
wird. Die Auswahl einer der Speicherblöcke 41a bis 41d gleichzeitig
mit der Übertragung
des Adreßignals
ist zum Zeitpunkt der Initialisierung notwendig. Der Initialisierungsadreßzähler 43 besitzt
deshalb einen Aufbau, wie er beispielsweise in 12 gezeigt
ist. Der Initialisierungsadreßzähler 43 wird
erzeugt, indem ein Zahler 57 von 2 Bits, ein Dekodierer 58 zum
Dekodieren der Ausgangssignale des Zählers 57 und LTND-Gatter 59a, 59b zu
dem in 9 gezeigten Aufbau hinzugefügt werden, unter der Annahme,
daß der
zuvor beschriebene Hochgeschwindigkeitsseitenmodus benutzt wird. 11 shows the structure of another embodiment of a memory initialization method according to the present invention, in which the memory 41 in several memory blocks 41a to 41d is split. In this case, the address signal AD contains from a host module 1 Column address signals CAO'to CAn ', 2 row address signals RAO' to RAm ', and 3 a signal BSL for selecting a memory block. The selection device 45d outputs one of the selection signals SLa to SLd based on the signal BSL, so that on one of the memory blocks 41a to 41d having received the selection signal] SLa to SLx1. The selection of one of the memory blocks 41a to 41d simultaneously with the transmission of the address signal is necessary at the time of initialization. The initialization address counter 43 Therefore, has a structure, such as in 12 is shown. The initialization address counter 43 is generated by a payer 57 of 2 bits, a decoder 58 for decoding the output signals of the counter 57 and LTND gates 59a . 59b to the in 9 to be added, assuming that the above-described high speed page mode is used.
Ein
Taktsignal CL wird dem Zähler 51 konstant
zugeführt,
und ein Taktsignal CL wird dem Zähler 53 nur
zugeführt,
wenn ein Übertragsignal
CRY1 vom Zähler 51 ausgegeben
wird. Ein Taktsignal CL wird dem Zähler 57 nur zugeführt, wenn
das Übertragsignal
CRY1 und ein Übertragsignal
CRY3 vom den Zählers 51 bzw. 53 gleichzeitig
ausgegeben werden, und ein Taktsignal CL wird dem Zähler 52 nur zugeführt, wenn
das Übertragsignal
CRY1 ein Übertragsignal
CRY2 und ein Übertragsignal
CRY4 gleichzeitig von Zählern 51, 52 bzw. 57 ausgegeben werden.A clock signal CL is the counter 51 supplied constantly, and a clock signal CL is the counter 53 supplied only when a carry signal CRY1 from the counter 51 is issued. A clock signal CL is the counter 57 supplied only when the carry signal CRY1 and a carry signal CRY3 from the counter 51 respectively. 53 are output simultaneously, and a clock signal CL is the counter 52 supplied only when the carry signal CRY1 a carry signal CRY2 and a carry signal CRY4 simultaneously from counters 51 . 52 respectively. 57 be issued.
In
diesem Initialisierungsverfahren, das den Initialisierungsadreßzähler 43 benutzt,
werden die Daten in die Speicherzellen in der in 13 gezeigten
Reihenfolge eingeschrieben. Die internen Zellen der Speicherblöcke 41a bis 41d,
wie in 11 gezeigt, sind in 13 dargestellt.
Daten werden in die Zellen 1 bis 6 in gleicher
Weise wie in 11 gezeigt, eingeschrieben.
Nachdem die Daten in die Zelle 6 eingeschrieben sind, ändert sich
der Ausgang des Zähler 57 und
der Speicherblock 41b wird ausgewählt, so daß die Daten dann in die Zelle 7 des Speicherblocks 41b eingeschrieben
werden. Nachfolgend werden Daten in die Speicherblöcke 41c und 41d in
gleicher Weise eingeschrieben. Wenn das Einschreiben der Daten in
den Speicherblock 41d beendet ist, wird der Speicherblock 41a wieder
ausgewählt,
da jedoch der Zähler 52 dann
aufwärts
zählt, werden
die Daten in die Speicherzelle 1' eingeschrieben. Da die Zellen 1 bis 2 während des
Einschreiben der Daten in die Zelle 1' bis 2' aufgefrischt werden, besteht nicht
die Möglichkeit,
den Inhalt der Speicherzellen 1 bis 2 zu verlieren.In this initialization procedure, the initialization address counter 43 used, the data in the memory cells in the 13 inscribed sequence. The internal cells of the memory blocks 41a to 41d , as in 11 shown are in 13 shown. Data gets into the cells 1 to 6 in the same way as in 11 shown, inscribed. After the data in the cell 6 are written, the output of the counter changes 57 and the memory block 41b is selected so that the data is then in the cell 7 of the memory block 41b be enrolled. Below are data in the memory blocks 41c and 41d inscribed in the same way. When writing the data into the memory block 41d is finished, the memory block 41a re-selected, but the counter 52 then counts up, the data in the memory cell 1' enrolled. Because the cells 1 to 2 while writing the data into the cell 1' to 2 ' refreshed, there is no possibility of the contents of the memory cells 1 to 2 to lose.