-
TECHNISCHES
GEBIET
-
Die
Erfindung betrifft eine Halbleiterschaltung und deren Steuerverfähren und
im Besonderen eine Halbleiterschaltung und deren Steuerverfahren, wobei
das Intervall zwischen den Aktualisierungsvorgängen eines DRAM verlängert ist.
-
STAND DER
TECHNIK
-
Mit
dem Fortschritt in der Integration von Halbleitern wurde es möglich, einen
Prozessor, einen Speicher oder eine andere Schaltung auf einem Chip zu
integrieren. Darüber
hinaus wurde durch den Fortschritt in der Prozesstechnologie, die
das Vereinen einer logischen Schaltung, beispielsweise aus einem Prozessor
und DRAM (Dynamischer RAM), auf einem Chip ermöglicht, das Implementieren
eines DRAM auf einem Speicher möglich.
-
Jede
Speicherzelle eines DRAM ist klein und wird aus einem Kondensator
hergestellt. Ihr Vorteil gegenüber
dem Implementieren eines SRAM (Statischer RAM) besteht darin, daß die Chipfläche merklich
verkleinert werden kann. Andererseits weisen sie den Nachteil auf,
daß sich
die darauf als Daten gespeicherte elektrische Ladung mit der Zeit
entlädt und
damit die Daten verloren gehen. Demzufolge ist es notwendig, einen
Vorgang durchzuführen,
der den Datenverlust verhindert. Die Speicherzellen eines DRAM sind
im Allgemeinen in einem Matrix-Array angeordnet. Die in den Speicherzellen
gespeicherten Daten werden für
jede Reihe alle gleichzeitig ausgelesen, von einem Leseverstärker detektiert,
und die Werte der ausgelesenen Daten werden in die Speicherzellen
geschrieben, aus denen die Daten ausgelesen wurden. Ein solcher
Vorgang von Arbeitsschritten wird als „Aktualisierung" ("Refresh") bezeichnet.
-
Während des
Aktualisierungsvorgangs erlaubt der DRAM keinen Zugriff auf sich.
In dem normalen Modus, der Lesen/Schreiben von außerhalb des
DRAM erlaubt, wird der Aktualisierungsvorgang von einem DRAM-Controller
außerhalb
des DRAM ausgeführt,
in dem Schlafmodus jedoch, wenn er beispielsweise über Batterie
versorgt wird, wird der Aktualisierungsvorgang von einem Aktualisierungs-Controller
innerhalb des DRAM-LSI durchgeführt.
In dem Schlafmodus wird kein Schreib-/Lesezugriff von außerhalb
des DRAM zugelassen.
-
Hierbei
treten Probleme auf, wenn der DRAM und die logische Schaltung auf
demselben LSI vereint sind.
-
Vereinte
DRAM-Logik-LSIs weisen jedoch Nachteile dahingehend auf, daß der DRAM-Teil
des vereinten DRAM-Logik-LSIs unter kürzerer Datenaufliewahrungszeit
leiden kann. Wärme
und Rauschen, die durch den Logik-Teil desselben Chips abgegeben
werden, können
die Datenaufbewahrungszeit auf dem Ein-Spitzen-DRAM (one-tip DRAM)
beeinträchtigen.
Wenn die Umgebungstemperatur zum Beispiel von 25°C auf 70°C steigt, wird der Kriechstrom
der auf der Speicherzelle des DRAM gespeicherten Ladung um das 30-fache
erhöht,
und demzufolge wird es notwendig, den Aktualisierungsvorgang 30
Mal häufiger
durchzuführen
(Ito, "VLSI Memory Design", Baifukan). In einem
System, das herkömmliche
DRAMs verwendet, werden Aktualisierungsvorgänge in kurzen Abständen durchgeführt, wobei
die schlechtesten Betriebsumgebungsbedingungen angenommen werden.
Somit werden Aktualisierungsvorgänge
unter normalen Temperaturbedingungen sehr häufig vorgenommen.
-
Unter
den Speicherzellen des DRAM gibt es große Abweichungen der Datenaufbewahrungszeit, und
wenige Speicherzellen weisen kurze Datenaufbewahrungszeiten auf
(Iwata et al. „Circuit
Techniques for Super Low Retention Current DRAM", Technical Report of Institute of Electronics,
Information, and Communication Engineers, ICD 95-50). Doch die Aktualisierungsvorgänge werden
für alle
Reihen zur gleichen Zykluszeit durchgeführt. Das bedeutet, daß Aktualisierungsvorgänge mit
einer größeren Häufigkeit
durchgeführt
werden, als es für
viele Reihen notwendig ist, wobei oft keine Speicherzellen einbezogen
werden, die eine kleine tatsächliche
Kapazität
in Bezug auf Datenaufbewahrungszeit aufweisen.
-
Ferner
werden alle Reihen aktualisiert, unabhängig davon, ob die in dem DRAM
gespeicherten Daten für
die logische Schaltung notwendig sind oder nicht. Tatsächlich müssen nur
notwendige Daten in dem Speicher gespeichert werden, und somit müssen unnötige Daten
nicht aktualisiert werden.
-
Dieses übermäßige Aktualisieren
führt zu übermäßigem Stromverbrauch.
-
Unter
diesen Umständen
wird eine Einrichtung zur Verringerung der Häufigkeit der Aktualisierungsvorgänge untersucht.
Als eine Technik zum Verringern des Stromverbrauchs im Datenaufbewahrungsmodus
eines herkömmlichen
DRAM gibt es ein Verfahren 1, in dem Selbstaktuali sierung bei einer Aktualisierungszykluszeit
durchgeführt
wird, die einer Temperatur entspricht (Japanische Patent-Offenlegungsschrift
Nr. 6-215561). Ferner gibt es als Technik zum Verringern des Stromverbrauchs
im normalen Modus eines herkömmlichen
DRAM ein Verfahren 2, in dem eine Steuerung für die Stromversorgung und die
Entscheidung, ob ein Aktualisierungsvorgang durchgeführt werden
soll, gemäß einem
Kennzeichen (flag) ausgeführt
wird, das in jedem Speicherbereich eingerichtet ist (Japanische
Patent-Offenlegungsschrift Nr. 5-324140, US-Patentschrift Nr. 5469559).
-
Doch
da in dem oben beschriebenen Verfahren 1 die Aktualisierungszykluszeit
im normalen Modus an die Speicherzelle angepasst ist, die die kürzeste Datenaufbewahrungszeit
in dem DRAM aufweist, bleibt noch immer das ungelöste Problem
des Stromverbrauchs im normalen Modus bestehen. Ferner bewältigt Verfahren
2 nicht die Unterschiede in der Datenaufbewahrungszeit.
-
Wichtiger
ist jedoch, daß der
vereinte DRAM-Logik-LSI eine Verbindung an eine hohe Speicherbandbreite
aufweist, um hochgradig verbesserte Verarbeitungsleistung des logischen
Teils zu erzielen. In einem solchen LSI tritt das Problem eines Konflikts
zwischen Aktualisierung des und Zugriff auf den DRAM durch die logische
Schaltung auf, wobei die für
den DRAM-Zugriff benötigte
Zeit verlängert und
somit die Verarbeitungsleistung der logischen Schaltung verschlechtert
wird. Dies ist ein ernstes Problem vergleichbar mit dem Problem
des Erreichens einer Verringerung beim Stromverbrauch.
-
Die
erste Aufgabe der vorliegenden Erfindung besteht darin, in einer
Halbleiterschaltung oder im Besonderen in einem LSI, auf dem ein
DRAM und eine logische Schaltung vereint sind, die Anzahl der Aktualisierungsvorgänge zu verringern,
indem lediglich die Reihen aktualisiert werden, die notwendige Daten
speichern, wodurch sowohl eine Verringerung im Stromverbrauch als
auch die Verhinderung der Leistungsverminderung der logischen Schaltung
erzielt werden, hervorgerufen durch einen Anstieg der Zugriffszeit
auf Grund des Konflikts zwischen Aktualisierung des und Zugriff
auf den DRAM.
-
Eine
zweite Aufgabe der Erfindung besteht darin, die Reihen, auf denen
Daten gespeichert werden, gemäß dem Grad
der Wichtigkeit der Daten zu bestimmen, um dadurch das Speichern
wichtiger Daten ohne übermäßiges Verkürzen der
Aktualisierungszykluszeit sicherzustellen.
-
Eine
dritte Aufgabe der Erfindung besteht darin, daß Aktualisierungsvorgänge zu geeigneten
Zykluszeiten in Übereinstimmung
mit den Temperaturen ausgeführt
werden, um dadurch sowohl eine Verringerung im Stromverbrauch als
auch ein Verhindern der Leistungsverminderung in der Verarbeitungsleistung
der logischen Schaltung zu erreichen. Die
JP 1 290 193 betrifft ein DRAM-Aktualisierungssteuersystem,
die
JP 6089 571 betrifft
eine dynamische Vorrichtung und die
JP
2 242 671 betrifft einen DRAM.
-
Die
US 4,720,819 betrifft einen
Videospeicher, der aus einem DRAM besteht, der seriell beschrieben
und gelesen wird.
-
OFFENLEGUNG
DER ERFINDUNG
-
Um
die erste Aufgabe zu lösen,
ist die Erfindung, in einem Steuerverfahren eines kombinierten DRAM-Logik-LSI,
dadurch gekennzeichnet, daß sie die
Schritte des Anordnens von Daten auf jeder der Reihen des DRAM,
die derart zusammengefasst sind, daß die Anzahl der Reihen, auf
denen Daten gespeichert sind, verringert werden kann, und des Aktualisierens
jeder der Reihen umfasst, auf der Daten gespeichert sind.
-
Ein
weiteres Verfahren, um die erste Aufgabe zu lösen, ist, in einem Steuerverfahren
eines kombinierten DRAM-Logik-LSI, dadurch gekennzeichnet, daß es die
Schritte des Anordnens von willkürlichen Daten,
bei denen sich Zeitspannen zwischen Schreiben und Auslesen überschneiden
oder nahe beieinander liegen, auf derselben Reihe des DRAM und des
Aktualisierens der Reihe nur während
der Zeitspanne zwischen dem Hineinschreiben der Daten am Anfang
bis zu deren Auslesen am Ende umfaßt.
-
Ein
Verfahren zum Lösen
der ersten und zweiten Ziele in einem Steuerverfahren eines kombinierten
DRAM-Logik-LSI umfasst die Schritte des Ermittelns der Speicherkapazität, die für eine den DRAM
verwendende Anwendung erforderlich ist, und des Speicherns der Daten
in dem DRAM in Reihenfolge (order) angefangen bei einer Reihe, die
eine längere
Datenaufbewahrungszeit hat, unter Bezugnahme auf eine Tabelle, die
die zuvor ermittelte Datenaufbewahrungszeit jeder Reihe des DRAM
speichert, und des Setzens eines Aktualisierungszyklus angepaßt an die
Reihe, deren Datenaufbewahrungszeit die kürzeste der Reihen ist, auf
denen Daten gespeichert sind.
-
In
diesem Verfahren können
Daten auf speziellen Reihen gemäß der Wichtigkeit
der Daten angeordnet werden, wenn sie in dem DRAM gespeichert werden.
-
Ein
Verfahren zum Lösen
der dritten Aufgabe in jedem der oben genannten Verfahren ist dadurch gekennzeichnet,
daß es
die Schritte des Erfassens der Temperatur der Halbleiterschaltung
und des Setzens der Aktualisierungszykluszeit des DRAM entsprechend
der Temperatur umfaßt.
-
Eine
Halbleiterschaltung zum Lösen
der ersten Aufgabe ist dadurch gekennzeichnet, daß sie eine
Einrichtung zur Anordnung von Daten, die derart zusammengefasst
sind, daß die
Anzahl der Reihen, auf denen Daten gespeichert sind, verringert
werden kann, auf jeder der Reihen des DRAM und eine Einrichtung
zur Aktualisierung jeder der Reihen umfaßt, auf denen die Daten gespeichert
sind.
-
Eine
weitere Halbleiterschaltung, die die erste Aufgabe löst, ist
dadurch gekennzeichnet, daß sie eine
Einrichtung zur Anordnung willkürlicher
Daten auf derselben Reihe des DRAM, bei denen sich Zeitspannen zwischen
Hineinschreiben und Auslesen überschneiden
oder nahe beieinander liegen, und eine Einrichtung zur Aktualisierung
der Reihe nur während
der Zeitspanne zwischen dem Hineinschreiben der Daten und deren
Auslesen am Ende umfaßt.
-
Eine
Halbleiterschaltung, die die erste und zweite Aufgabe löst, ist
dadurch gekennzeichnet, daß sie
eine Einrichtung zur Ermittlung der Speicherkapazität, die von
einer den DRAM verwendenden Anwendung erfordert wird, und zur Speicherung
der Daten in dem DRAM in einer Reihenfolge, die mit einer Reihe
beginnt, die eine längere
Datenaufbewahrungszeit aufweist, unter Bezugnahme auf eine Tabelle,
die die zuvor ermittelte Datenaufbewahrungszeit jeder Reihe des
DRAM speichert, und eine Einrichtung zum Setzen einer Aktualisierungszykluszeit umfaßt, die
auf die Reihe angepasst ist, deren Datenaufbewahungszeit die kürzeste unter
den Reihen ist, auf denen Daten gespeichert sind.
-
In
dieser Halbleiterschaltung kann eine Einrichtung zur Anordnung von
Daten, wenn sie in dem DRAM gespeichert werden, auf speziellen Reihen entsprechend
des Grades der Wichtigkeit der Daten bereitgestellt sein.
-
Eine
Halbleiterschaltung, die die dritte Aufgabe in jeder der oben genannten
Halbleiterschaltun gen löst,
ist dadurch gekennzeichnet, daß sie
eine Einrichtung zur Ermittlung der Temperatur der Halbleiterschaltung
und zum Setzen des Aktualisierungszyklus des DRAM entsprechend der
Temperatur umfaßt.
-
Gemäß dieser
Erfindung können
die folgenden vorteilhaften Effekte erzielt werden:
- (1) Da lediglich die Reihen aktualisiert werden, die notwendige
Daten speichern, kann die Anzahl der Aktualisierungsvorgänge verringert
werden und somit kann eine Verringerung im Stromverbrauch und Verhinderung
der Verminderung der Verarbeitungsleistung der logischen Schaltung,
hervorgerufen durch den Konflikt zwischen Aktualisierung und DRAM-Zugriff,
erzielt werden.
- (2) Da die Reihen, auf die Daten geschrieben werden, entsprechend
dem Grad der Wichtigkeit der gespeicherten Daten bestimmt werden,
kann der Bedarf an übermäßiger Verkürzung des
Aktualisierungszyklus eliminiert werden, und somit kann eine Verringerung
im Stromverbrauch und Verhinderung der Verminderung der Verarbeitungsleistung
der logischen Schaltung, hervorgerufen durch den Konflikt zwischen
Aktualisierung und DRAM-Zugriff, erzielt werden.
- (3) Da der Aktualisierungszyklus entsprechend der Temperatur
gesetzt wird, kann der Bedarf an übermäßiger Verkürzung des Aktualisierungszyklus
eliminiert werden, und somit kann eine Verringerung im Stromverbrauch
und Verhinderung der Verminderung der Verarbeitungsleistung der
logischen Schaltung, hervorgerufen durch den Konflikt zwischen Aktualisierung
und DRAM-Zugriff, erzielt werden.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm, das den allgemeinen Aufbau einer Informationsverarbeitungsvorrichtung
zeigt, auf die eine Halbleiterschaltung der Erfindung angewendet
wird.
-
2 ist
ein Blockdiagramm, das einen internen Aufbau der Hauptspeichereinheit 4 zeigt,
die in 1 gezeigt ist.
-
3 ist
ein Blockdiagramm, das einen internen Aufbau des DRAM 7 zeigt.
-
4(a) ist ein Diagramm, das die Beziehung
zwischen gespeicherten Datenpositionen und Reihen vor der Optimierung
zeigt, und
-
4(b) ist ein Diagramm, das die Beziehung
zwischen gespeicherten Datentpositionen und Reihen nach der Optimierung
zeigt.
-
5 ist
ein Funktionsdiagramm, das das Prinzip der Speicherbelegung durch
einen Kompilierer (compiler) in einer ersten Ausführungsform
zeigt.
-
6 ist
ein Funktionsdiagramm, das das Prinzip der Speicherbelegung durch
ein Betriebssystem in der ersten Ausführungsform zeigt.
-
7 ist
eine erklärende
Zeichnung einer zweiten Ausführungsform,
in der (a) eine Kurve ist, welche die Lebenszeiten von Daten in
einem DRAM zeigt, (b) eine erklärende
Zeichnung eines Falls ist, in dem Daten ohne Berücksichtigung der Lebenszeiten der
Daten angeordnet werden, (c) eine Kurve ist, die Lebenszeiten von
Daten zeigt, die in jeder Reihe angeordnet sind, (d) eine erklärende Zeichnung
eines Falls ist, in dem Daten, deren Lebenszeiten ähnlich sind,
auf der gleichen Reihe angeordnet und in dem DRAM gespeichert werden,
und (e) eine Kurve ist, die die Lebenszeiten der Daten auf jeder
der Reihen zeigt, nachdem die Anordnung der Daten A–H optimiert
wurde.
-
8 ist
ein Funktionsdiagramm, das das Prinzip der Speicherbelegung durch
einen Kompilierer in der zweiten Ausführungsform zeigt.
-
9 ist
ein Funktionsdiagramm, das das Prinzip der Speicherbelegung durch
ein Betriebssystem in der zweiten Ausführungsform zeigt.
-
10 ist
ein Blockdiagramm einer Ausführungsform,
in der eine Speichertabelle für
Datenaufbewahrungszeiten in einer dritten Ausführungsform vorgesehen ist.
-
11 ist
ein Funktionsdiagramm, das das Prinzip der Speicherbelegung durch
einen Kompilierer in der dritten Ausführungsform zeigt.
-
12 ist
ein Funktionsdiagramm, das das Prinzip der Speicherbelegung durch
ein Betriebssystem in der dritten Ausführungsform zeigt.
-
13 ist
ein Funktionsdiagramm, das das Prinzip der Speicherbelegung durch
einen Kompilierer in einer vierten Ausführungsform zeigt.
-
14 ist
ein Blockdiagramm einer fünften Ausführungsform,
die mit einer Einrichtung zur Ermittlung der Temperatur und einer
Einrichtung zur Steuerung der Aktualisierungszykluszeit vorgesehen ist.
-
BESTE UMSETZUNG
DER ERFINDUNG
-
1 ist
ein Blockdiagramm, das den allgemeinen Aufbau einer Informationsverarbeitungsvorrichtung
zeigt, auf die die Halbleiterschaltung der Erfindung angewendet
wird. Ein Prozessor 1, ein ROM 3, eine Hauptspeichereinheit 4,
eine Temperaturermittlungseinheit 5, eine I/O (Eingangs-/Ausgangsschnittstelle) 6 und ähnliches
sind durch einen Bus 2 verbunden. Die Hauptspeichereinheit 4 umfasst
einen DRAM 7 zur Speicherung von Daten, einen DRAM-Controller 8 zur
Steuerung der Lese- und Schreibvorgänge auf dem DRAM 7 und
eine Speichereinrichtung für
Datenaufbewahrungszeiten 9 zur Speicherung der Datenaufbewahrungszeiten
jeder der Reihen in dem DRAM 7. Hierbei umfaßt ein Logik-Teil 33 Nicht-Speicherschaltungen,
beispielsweise Logik-Schaltungen, einschließlich des Prozessors 1,
der I/O 6 und ähnlichem.
-
2 ist
ein Blockdiagramm, das einen internen Aufbau der Hauptspeichereinheit 4 zeigt,
die in 1 gezeigt ist. Der DRAM-Controller 8 innerhalb der
Hauptspeichereinheit 4 umfasst eine Reihenadresserzeugungseinrichtung 10 zur
Erzeugung der Reihenadresse der Reihe des DRAM 7, einen
Zeitgeber 11 zur Bestimmung der Taktung der Erzeugung der
Reihenadresse und einen Reihenkennzeichenspeicherabschnitt (row
flag storing portion) 12 zum Setzen der Reihe als das Objekt
der Aktualisierung in dem DRAM 7. Der DRAM 7 ist
mit dem Bus 2 durch die Schnittstelle (i/f) 13 verbunden.
-
Ein
DRAM-Controller 8 ist innerhalb des Chips eines kombinierten
DRAM-Logik-LSI implementiert und führt die Steuerung des Aktualisierungsvorgangs
und ähnlicher
Vorgänge
zu allen Zeiten ungeachtet des Betriebsmodus des DRAM aus.
-
In
einem herkömmlichen
System, in dem eine Logik-Schaltung und ein DRAM miteinander auf einer
Leiterplatte verbunden sind, gibt es Schaltungen zum getrennten
Durchführen
der Aktualisierung sowohl außerhalb
als auch innerhalb des DRAM, und sie können in unterschiedlichen Zyklen
abhängig
von den Modi (normaler Modus/Schlafmodus) des DRAM arbeiten. In
diesem Punkt unterscheidet es sich von dem DRAM-Controller in dem
vereinten DRAM-Logik-LSI (merged DRAM/logic LSI).
-
Jedes
Mal, wenn eine vorgegebene Zeitspanne durch den Zeitgeber 11,
der eine Komponente des DRAM-Controllers 8 ist, ausgezählt ist,
gibt die Reihenadresserzeugungseinrichtung 10 eine Aktualisierungsadresse
aus, um dadurch die Adresse der Reihe zu aktualisieren. Das Reihenkennzeichen
(row flag) 12 umfasst die Kennzeichen, die jeder der Reihen
in dem DRAM entsprechen. Der DRAM-Controller 8 bezieht
sich auf den Wert des Kennzeichens, das der Reihe entspricht, die
durch die Reihenadresserzeugungseinrichtung 10 jedes Mal
angezeigt wird, wenn eine vorgegebene Zeitspanne von dem Zeitgeber 11 ausgezählt ist,
und führt
einen Aktualisierungsvorgang nur dann aus, wenn der Wert des Kennzeichens
derart gesetzt ist, daß ein
Aktualisierungsvorgang ausgeführt
werden sollte, und andernfalls führt
er keinen Vorgang aus. Als vorgegebene Zeitspanne wird zum Beispiel
die Zeit verwendet, die durch Dividieren der Aktualisierungszykluszeit
durch die Anzahl der Reihen erhalten wird.
-
Der
DRAM-Controller 8 hat auch die Funktion zur Koordination
des Konflikts zwischen Zugriff auf den DRAM über den Bus 2 und
einem Aktualisierungsvorgang. Im Übrigen können der Prozessor 1 und
der DRAM 7 innerhalb der Hauptspeichereinheit 4 einen
Pfad zum gegenseitigen Verbinden nicht mittels des Busses 2 aufweisen.
In diesem Fall führt
der DRAM-Controller 8 auch die Koordinierung des Konflikts
zwischen Zugriff auf den DRAM über
diesen Pfad und einem Aktualisierungsvorgang durch.
-
3 ist
ein Blockdiagramm, das einen internen Aufbau des DRAM 7 zeigt.
Eine Steuersignalleitung 14, an die ein Steuersignal zur
Steuerung des Schreibens und Lesens gegeben wird, eine Adressleitung 15,
an die ein Adresssignal mit (A + B) Bits gegeben wird, und eine
Datenleitung 16, an die Daten gegeben werden, sind mit
einer Eingabe-/Ausgabeschnittstelle 17 verbunden. Eine
Adresse mit (A + B) Bits wird durch die Eingabe-/Ausgabeschnittstelle 17 in
eine Reihenadresse mit A Bits und eine Spaltenadresse mit B Bits
geteilt, von denen die Reihenadresse mit A Bits an einen Reihendekodierer 18 bereitgestellt
wird und die Spaltenadresse mit B Bits an einen Spaltendekodierer 19 bereitgestellt
wird. Eine Speicherzelle 24 ist in der Nähe des Kreuzungspunktes (intersection)
der Wortleitung (word line) 21 und der Bitleitung (bit
live) 23 angeordnet. Die Ausgabe des Reihendekodierers 18 wird
der Wortleitung 21 bereitgestellt, die aus einer Speicherzellenanordnung 20 ausgewählt wird,
und die Daten in den Speicherzellen auf der ausgewählten Reihe
werden über
2B Teile der Bitleitungen 23 ausgegeben.
Dann verstärkt
ein Leseverstärker 22 die
Daten. Ferner werden die Daten auf den Bitleitungen, die durch den
Spaltendekodierer 19 ausgewählt werden, an außerhalb
der Hauptspeichereinheit 4 ausgegeben.
-
In
der obigen Beschreibung stimmt die Größe der Spaltenadresse mit der
Anzahl der Bitleitungen überein,
und die zu einer Zeit mindestens zugängliche Datenmenge beträgt ein Bit.
Die zu einer Zeit zugängliche
Datenmenge kann entweder ein vorgegebener Wert sein oder ein Wert,
der bei jedem Zugriff durch ein Signal zur Spezifizierung der Größe bestimmt
werden soll, das in dem Steuerungssignal 14 enthalten ist.
Ferner kann die Größe des Raums, den
die Spaltenadresse aufweist, kleiner als die Anzahl der Bitzeilen
sein. In diesem Fall ist die Datenmenge, die zu einer Zeit zugänglich ist,
der Wert, der durch Dividieren der Anzahl der Bitzeilen durch die Größe des Spaltenadressraums
ermittelt wird.
-
Nachfolgend
werden einige Steuerverfahren beschrieben, die in der oben beschriebenen
Halbleiterschaltung verwendet werden.
-
Erste Ausführungsform:
-
Das
Grundkonzept des Steuerverfahrens in der vorliegenden Erfindung
wird nachfolgend im Vergleich mit dem Steuerverfahren des Stands
der Technik beschrieben.
-
4(a) zeigt die Beziehung zwischen der gespeicherten
Position der Daten und den Reihen, wenn keine Optimierung der Anordnung
der Daten vorgenommen wurde. Bezugnehmend auf 4(a), zeigt
die Position, die durch den Kreis angezeigt wird, die Position,
an die Daten geschrieben werden, und ein Oval zeigt eine Ansammlung
einzelner Daten.
-
4(a) zeigt ein Beispiel, in dem die Positionen,
an die Daten zugewiesen werden, zufällig bestimmt werden. In diesem
Beispiel sind Daten auf jede von fünf Reihen geschrieben, die
in einer Abfolge angeordnet sind.
-
In
dieser Ausführungsform
wird der Anordnung der Daten auf dem DRAM Beachtung geschenkt. In
Bezug auf die Anordnung der Daten auf den Speicherzellen auf jeder
Reihe gibt es, wenn der Zustand der Überlappung der Daten in der
Richtung der Bitleitung 23 untersucht wird, keine Überlappungen
der Daten auf den Reihen 21a, 21b und 21c und ebenso
auf den Reihen 21d und 21e.
-
Dann
wird die Anordnung der Daten, wie in 4(b) gezeigt,
derart bestimmt, daß die
Anzahl der Reihen, auf denen Daten gespeichert sind, abnimmt, während mehrere
Daten derart angeordnet sind, daß sie einander auf derselben
Reihe nicht überlappen.
Das Verfahren zum Bestimmen der Kombination der Daten, die auf jeder
Reihe angeordnet sind, mit dem Ziel der Verringerung der Anzahl der
Reihen wird als ein kombinatorisches Optimierungsproblem gelöst. In 4(b) werden die Reihen 21a und 21d,
an die Daten zugewiesen werden, durch dicke Linien angezeigt, und
die Reihen 21b, 21c und 21e, an die keine
Daten zugewiesen werden, durch dünne
Linien angezeigt.
-
Somit
wird nach dem vorstehend beschriebenen Anordnen der Daten das Setzen
für die
Steuerung der Ausführung
des Aktualisierungsvorgangs für
jede Reihe vorgenommen.
-
Jedes
Feld des Reihenkennzeichens 12 entspricht jeder Reihe des
DRAM. Der DRAM-Controller 8 bestimmt,
ob eine Aktualisierung entsprechend dem Kennzeichenwert, der in
dem Reihenkennzeichen 12 gesetzt ist, durchgeführt werden
soll oder nicht, und führt
die Aktualisierungssteuerung für
die Reihe durch, die durch das Kennzeichen zur Aktualisierung gesetzt
ist. Jedes Kennzeichen des Reihenkennzeichens 12 kann durch
ein Bit umgesetzt werden (an/aus).
-
Als
ein Verfahren zum Bestimmen der Datenanordnung gibt es eines, das
durch einen Kompilierer ausgeführt
wird, und ein weiteres, das durch ein Betriebssystem ausgeführt wird.
-
Bei
dem ersten Verfahren, das durch den Kompilierer, wie in 5 gezeigt,
ausgeführt
wird, wird der Optimierungsprozess der Speicherzuweisung auf das
Zwischenformat 42 durch die Speicherzuweisungseinrichtung 41 als
eine der Funktionen des Kompilierers angewendet. Der Prozess zur
kombinatorischen Optimierung der Daten wird durchgeführt, um
die Anzahl der Reihen zu minimieren, an die Daten tatsächlich zugewiesen
werden, wobei die Anzahl der Reihen und die Anzahl der Speicherzellen auf
jeder Reihe, als der Struktur des Speichers, als Beschränkungen
(constraints) verwendet werden, um dadurch relative Adressen der
einzelnen Daten zu bestimmen. Dann wird das Zwischenformat 43 ausgegeben
mit dem Vorgang zum Setzen von Kennzeichen, die Reihen entsprechen,
auf die die Daten gespeichert werden sollen, darin eingefügt. Das
Zwischenformat 43 wird im letzten Schritt des Kompilierungsprozesses
in eine Sequenz von Anweisungen konvertiert. Als ein Verfahren zum
tatsächlichen
Setzen des Kennzeichens gibt es ein Verfahren, das eine Anweisung
zum automatischen Setzen/Rücksetzen
des Kennzeichens für
eine zugegriffene Reihe verwendet, oder ein Verfahren, das den Wert
durch eine sofortige Anweisung oder eine Datenübertragungsanweisung feststellt.
-
Bei
dem letzteren Verfahren, das durch das Betriebssystem, wie in 6 gezeigt,
ausgeführt wird,
wird die Anordnung der Seiten durch eine Adressenübersetzungseinrichtung 44 bestimmt, wenn
sie die Seiten, die durch die virtuelle Adresse 45 wiedergegeben
werden, auf die physikalische Adresse 46 derart abbildet,
daß die
Anzahl der Seiten, das heißt
die Anzahl der Reihen, an die Daten zugewiesen werden, minimiert
wird. Das Setzen des Reihenkennzeichens 12 wird durch Einbeziehen
einer Anweisung, welche das Kennzeichen wie oben beschrieben setzt,
einer Zwischenanweisung oder einer Datenübertragungsanweisung in die
Adressenübersetzungseinrichtung 43 so
umgesetzt, daß das Kennzeichen
für die
Reihe gesetzt wird, auf die Daten tatsächlich abgebildet werden.
-
Nachdem
die Daten, wie oben beschrieben, angeordnet wurden, werden Aktualisierungsvorgänge, wie
oben beschrieben, nur für
die Reihen durchgeführt,
auf denen Daten tatsächlich
gespeichert sind, wobei unnötige
Aktualisierungsvorgänge
verringert werden können
und sowohl eine Verringerung des Stromverbrauchs als auch Verhinderung
der Zunahme der Speicherzugriffszeit auf Grund des Konflikts zwischen
Aktualisierung und Speicherzugriff erzielt werden können.
-
Die
Position, an der der Kompilierer oder das Betriebssystem arbeiten,
kann entweder innerhalb oder außerhalb
der Halbleiterschaltung sein, vorausgesetzt, daß sie in der Lage ist, die
Struktur des Speichers zu kennen.
-
Zweite Ausführungsform:
-
Ein
Steuerverfahren wird beschrieben, in dem die Anordnung von Daten
unter Berücksichtigung
der Lebenszeit bzw. Lebensdauer der Daten, das heißt der Zeitspanne
zwischen dem ersten Hineinschreiben einer Variablen und deren Auslesen
am Ende, bestimmt wird.
-
7(a) ist eine Kurve, die Lebenszeiten (lifetimes)
der Daten A–H
zeigt, die in einem DRAM gespeichert werden sollen.
-
Wenn
die Daten ohne Beachtung ihrer Lebenszeiten abgebildet werden (mapped),
werden Daten, deren Lebenszeiten unterschiedlich sind, an dieselbe
Reihe zugewiesen, wie in 7(b) gezeigt.
-
7(c) ist eine Zeichnung, in der die Lebenszeiten
der Daten in 7(a) für jede Reihe
neu angeordnet sind. Da zum Beispiel in Reihe R1 Daten B, C und
F gespeichert sind, wird es nötig,
Reihe R1 ständig
zu aktualisieren, solange die Daten B, C und/oder F leben.
-
Demzufolge
wird in der vorliegenden Ausführungsform,
wie in 7(d) gezeigt, Aufmerksamkeit auf
die Lebenszeit der Daten A–H
gerichtet, und die Daten werden derart gespeichert, daß jene,
die nahe beieinander liegende oder einander überlappende Lebenszeiten aufweisen,
auf derselben Reihe angeordnet werden, um in dem DRAM gespeichert
zu werden. Das Verfahren zum Bestimmen der Kombination der Daten,
die an jede Reihe zugewiesen werden, mit dem Ziel der Minimierung
des Gesamtbetrags der Zeitspannen, während derer Daten auf jeder
der Reihen gespeichert bleiben, wird als ein Kombinationsoptimierungsproblem
gelöst.
-
In
dem in 7(d) gezeigten Beispiel werden
Daten A und C auf Reihe R0 angeordnet, Daten B und D auf Reihe R1,
Daten F und G auf Reihe R2 und Daten E auf Reihe R3. 7(e) ist eine Kurve, die die Lebenszeiten
der Daten jeder Reihe zeigt, nachdem die Positionen, in die Daten
A–H geschrieben
werden, geändert
wurden.
-
Somit
wird nach dem Zuweisen der Daten, deren Lebenszeiten sich überschneiden
oder nahe bei einander liegen, an dieselbe Reihe, das Setzen für die Steuerung
der Ausführung
des Aktualisierungsvorgangs für
jede Reihe durchgeführt.
-
Jedes
Feld des Reihenkennzeichens 12 entspricht jeder Reihe des
DRAM, und der DRAM-Controller 8 steuert
den Aktualisierungsvorgang für
die relevante Reihe lediglich während
der Zeitspanne, die durch das Kennzeichen gesetzt ist, um anzuzeigen, daß der Aktualisierungsvorgang
vorgenommen werden sollte. Jedes Kennzeichen des Reihenkennzeichens 12 wird
durch ein Bit umgesetzt (an/aus).
-
Als
ein Verfahren zum Bestimmen der Datenanordnung gibt es eines, das
durch einen Kompilie rer durchgeführt
wird. und ein weiteres, das durch ein Betriebssystem durchgeführt wird.
-
Bei
ersterem Verfahren, das durch den Kompilierer wie in 8 gezeigt,
durchgeführt
wird, wird ein Optimierungsprozess für Speicherzuweisung auf das
Zwischenformat 48 durch die Speicherzuweisungseinrichtung 47 als
eine der Funktionen des Kompilierers angewendet. Die Speicherzuweisungseinrichtung 47 ermittelt
die Lebenszeiten der einzelnen Daten auf Basis einer Ablaufgrafik
als Zwischenformat 49. Der Prozess zur kombinatorischen
Optimierung der Daten wird durchgeführt, um den Gesamtbetrag für alle Reihen
der Lebenszeiten jeder der Reihen zu minimieren, in denen mindestens
ein Satz Daten noch immer lebt, wobei die Anzahl der Reihen und
die Anzahl der Speicherzellen als die Struktur des Speichers verwendet
werden, um somit die relative Adresse der einzelnen Daten zu bestimmen.
Dann wird das Zwischenformat 49 mit dem Vorgang zum Setzen
des Kennzeichen entsprechend der Reihe, auf die Daten zu Beginn
der Lebenszeit der Daten gespeichert werden sollen, und mit dem Vorgang
zum Zurücksetzen
des Kennzeichens der Reihe, auf der Daten gespeichert sind am Ende
der Lebenszeit der darin eingefügten
Daten ausgegeben. Das Zwischenformat 49 wird im letzten
Schritt des Kompilierungsprozesses in eine Sequenz von Anweisungen
konvertiert. Als ein Verfahren zum tatsächlichen Setzen des Kennzeichens
gibt es ein Verfahren, das eine Anweisung zum automatischen Setzen/Rücksetzen
des Kennzeichens für
eine Reihe, auf die zugegriffen wird, verwendet, oder ein Verfahren,
das den Wert durch eine sofortige Anweisung oder eine Datenübertragungsanweisung
feststellt.
-
Bei
letzterem Verfahren, das durch das Betriebssystem wie in 9 gezeigte
durchgeführt wird,
wird die Anordnung der Seiten durch die Adressenübersetzungseinrichtung 50 in
die virtuelle Adresse 51 bestimmt, wenn es die Seiten,
die durch die virtuelle Adresse 51 dargestellt werden,
derart auf die physikalische Adresse 52 abbildet, daß für alle Reihen
der Gesamtbetrag der Lebenszeiten für jede der Reihen, in denen
mindestens eine Seite lebt, minimiert wird, wobei die Anzahl der
Reihen und die Anzahl der Speicherzellen als Struktur des Speichers als
Begrenzungen verwendet werden. Die Lebenszeit jeder Seite wird durch
die Zeitspanne, während der
die Daten leben, gegeben, wenn die Seite mindestes einen Satz Daten
enthält,
und sie kann durch den Kompilierer durch Analysieren der Lebenszeit
jedes einzelnen Datums ermittelt werden, wenn er die Daten der Seite
zuordnet. Das Setzen des Kennzeichens, wenn die Seite auf dem physikalischen
Speicher angeordnet wird, und das Zurücksetzen des Kennzeichens,
wenn der Speicher freigegeben wird, kann durch Einschließen einer
Kennzeichensetzanweisung, einer Datenübertragungsanweisung, einer Zwischenanweisung
oder ähnlichem,
wie in der ersten Ausführungsform
beschrieben, in die Adressenübersetzungseinrichtung 50 umgesetzt
werden.
-
Nachdem
die Daten wie oben beschrieben angeordnet wurden, werden Aktualisierungsvorgänge für die Reihen,
die Daten speichern, lediglich für die
Zeitspanne ausgeführt,
in der Daten leben, wobei unnötige
Aktualisierungsvorgänge
verringert, der Stromverbrauch vermindert und der Anstieg der Speicherzugriffszeit
auf Grund des Konflikts zwischen Aktualisierung und Speicherzugriff
vermieden werden können.
Das Verfahren der Optimierung im Zeitbereich, wie in der zweiten
Ausführungsform
beschrieben, und das Verfahren der Optimierung im Ortsbereich, wie
in der ersten Ausführungsform
beschrieben, können
gleichzeitig praktiziert werden.
-
Der
Kompilierer oder das Betriebssystem können entweder innerhalb oder
außerhalb
der Halbleiterschaltung arbeiten, vorausgesetzt daß sie in
der Lage sind, die Struktur des Speichers zu kennen.
-
Dritte Ausführungsform:
-
Ein
Steuerverfahren zum Bestimmen der Anordnung der Daten wird nun beschrieben,
wobei Aufmerksamkeit auf die Datenaufbewahrungszeit jeder der Reihen
des DRAM gelegt wird.
-
In
diesem Beispiel wird, wie in 10 schematisch
gezeigt, die Speichertabelle für
Datenaufbewahrungszeiten 9a bereitgestellt, die die Datenaufbewahrungszeiten
tr0–tr7
auf jeder der mehreren Reihen R0–R7 des DRAM 7 speichert.
-
Die
Speichertabelle 9a entspricht der Speichereinrichtung für Datenaufbewahrungszeiten 9,
die in 1 gezeigt ist, und kann durch eine Einrichtung umgesetzt
werden, auf die geschrieben werden kann wie ein PROM, ein EPROM,
ein FLASH-Speicher oder ein FPGA. Auf der Tabelle 9a werden
für jede Reihe
die Datenaufbewahrungszeiten der Speicherzelle gespeichert, die
die kürzeste
Datenaufbewahrungszeit unter allen in der Reihe eingeschlossenen Speicherzellen
aufweist.
-
Die
Messung der Datenaufbewahrungszeit wird ausgeführt, wenn der DRAM getestet
wird. Das Ergebnis der Messung kann auf der Speichertabelle 9a gespeichert
werden. Die Informationen werden in Tabelle 9a gespeichert,
da die Datenaufbewahrungszeit die Zeit selbst oder ein kodierter
Wert sein kann, der durch einen Wert dividiert wird.
-
Wenn
die Zeiten durch den Rang dividiert werden, wird ein Vorteil dahingehend
erzielt, daß die Größe der Tabelle
verringert werden kann.
-
Wenn
die Daten in der Hauptspeichereinheit 4 gespeichert werden,
werden die Datenaufbewahrungszeiten jeder der Reihen, die auf der
Speichertabelle 9a gespeichert sind, einbezogen, und die
Daten werden in Reihenfolge von der Reihe mit der längeren Datenaufbewahrungszeit
gespeichert. Dann wird die Aktualisierungszykluszeit, die auf die
kürzeste Datenaufbewahrungszeit
der Reihe angepaßt
ist, auf die Daten tatsächlich
gespeichert wurden, in dem Zeitgeber 11 gesetzt.
-
Nach
dem Setzen des Zeitgebers 11, wie oben beschrieben, wird
das Setzen zur Steuerung der Ausführung der Aktualisierung für jede Reihe
vorgenommen.
-
Jedes
Feld des Reihenkennzeichens 12 entspricht jeder Reihe des
DRAM. Der DRAM-Controller 8 bestimmt,
ob eine Aktualisierung für
jede Reihe entsprechend dem Kennzeichenwert, der in dem Reihenkennzeichen 12 gesetzt
ist, vorgenommen werden soll oder nicht, und führt die Steuerung der Aktualisierung
der Reihe durch, die durch das Kennzeichen zur Aktualisierung gesetzt
ist. Jedes Kennzeichen des Reihenkennzeichens 12 kann durch
ein Bit umgesetzt werden (an/aus).
-
Als
ein Verfahren zum Bestimmen der Datenanordnung gibt es eines, das
durch einen Kompilierer durchgeführt
wird, und ein weiteres, das durch ein Betriebssystem durchgeführt wird.
-
Bei
ersterem Verfahren, das durch den Kompilierer, wie in 11 gezeigt,
durchgeführt
wird, wird ein Optimierungsprozess für Speicherzuweisungen auf das
Zwischenformat 54 durch die Speicheranordnungseinrichtung 53 als
eine der Funktionen des Kompilierers angewendet. Wenn Daten auf
dem Speicher angeordnet sind, werden die auf der Speichertabelle 9a gespeicherten
Werte einbezogen, und die physikalische Adresse, die der Reihe mit
der längeren
Datenaufbewahrungszeit entspricht, wird vorzugsweise als Objekt
der Datenzuweisung genommen, wobei die Anzahl der Reihen und die
Anzahl der Speicherzellen als Struktur des Speichers als die Begrenzungen
verwendet werden. Dann wird unter Bezug auf die Datenaufbewahrungszeit
der Reihe, die als letztes als Objekt der Zuweisung genommen würde, die
Aktualisierungszykluszeit, die in dem Zeitgeber 8 gesetzt
werden soll, bestimmt. Zuletzt werden das Zwischenformat 55 einschließlich des
Vorgangs zum Setzen des Kennzeichens für die Reihe, auf der tatsächliche
Daten gespeichert werden sollen, und der Vorgang zum Setzen der
Aktualisierungszykluszeit ausgegeben. Das Zwischenformat 55 wird
im letzten Schritt des Kompilierungsprozesses in eine Sequenz von
Anweisungen konvertiert. Als ein Verfahren zum tatsächlichen
Setzen des Kennzeichens gibt es zwei Verfahren. Das eine besteht
darin, eine Anweisung zum automatischen Setzen/Zurücksetzen
des Kennzeichens für
eine Reihe, auf die zugegriffen wird, zu verwenden, das andere besteht
darin, den Wert durch eine sofortige Anweisung oder eine Datenübertragungsanweisung
festzulegen.
-
Bei
letzterem Verfahren, das durch das Betriebssystem, wie in 12 gezeigt,
durchgeführt wird,
wird, wenn eine Seite, die durch die virtuelle Adresse 57 dargestellt
ist, auf die physikalische Adresse 58 durch die Adressenübersetzungseinheit 56 abgebildet
wird, die Reihe mit der längeren
Datenaufbewahrungszeit vorzugsweise als Objekt der Zuordnung der
Seite genommen, das heißt,
die Daten, bei denen die Anzahl der Reihen und die Anzahl der Speicherzellen
auf jeder Reihe als Struktur des Speichers als die Begrenzungen
genommen werden. Dann wird Bezug genommen auf die Datenaufbewahrungszeit
der zuletzt als Objekt der Zuordnung genommenen Reihe, und die Aktualisierungszykluszeit
wird in dem Zeitgeber 8 gesetzt und somit kann das Verfahren
realisiert werden. Das Setzen des Kennzeichens und der Aktualisierungszykluszeit
wird durch Einschließen
einer Anweisung, wie einer Kennzeichensetzanweisung, einer Zwischenanweisung
oder einer Datenübertragungsanweisung,
in der Adressenübersetzungseinrichtung 56 realisiert, wie
in der ersten Ausführungsform
beschrieben.
-
Somit
kann durch Verwendung der Reihen vorzugsweise mit längerer Datenaufbewahrungszeit die
Anzahl der Aktualisierungsvorgänge
verringert, der Stromverbrauch vermindert und der Anstieg in der
Speicherzugriffszeit auf Grund des Konflikts zwischen Aktualisierung
und Speicherzugriff vermieden werden.
-
Es
ist ebenfalls möglich,
ein Verfahren zum Bestimmen der Anordnung der Daten durch Beachtung
der Datenaufbewahrungszeit jeder Reihe, wie in der dritten Ausführungsform
beschrieben, parallel zu dem Verfahren zur Optimierung im Ortsraum,
wie in der ersten Ausführungsform
beschrieben, und dem Verfahren zur Optimierung im Zeitbereich, wie
in der zweiten Ausführungsform
beschrieben, zu verwenden. Die Position, in der der Kompilierer
oder das Betriebssystem arbeiten, kann entweder innerhalb oder außerhalb
der Halbleiterschaltung sein, vorausgesetzt daß er/es in der Lage ist, die
Struktur des Speichers zu kennen.
-
Vierte Ausführungsform:
-
Ein
Verfahren, durch das die Anordnung von Daten, wenn die Daten auf
einem DRAM gespeichert werden, entsprechend dem Grad der Wichtigkeit
der Daten bestimmt wird, wird beschrieben.
-
Unter
den Daten, die in dem DRAM gespeichert werden sollen, gibt es zum
Beispiel jene, die fehlerkorrigiert werden können, wie Kommunikationspakete,
und jene, die nicht fehlerkorrigiert werden können.
-
Es
gibt auch Daten, die keine darin erzeugten Fehler erlauben, wie
jene für
numerische Berechnung und Steuerungszwecke, wohingegen es jene gibt,
die keine ernsthaften Unannehmlichkeiten verursachen, selbst wenn
darin einige Fehler vorliegen, wie bei Bilder-Nideodaten.
-
Demzufolge
werden die Reihen, auf denen Daten gespeichert werden sollen, entsprechend
dem Grad der Wichtigkeit der Daten bestimmt. Insbesondere werden
jene Daten, die fehlerkorrigiert werden können oder das Vorliegen von
Fehlern erlauben, an Reihen zugewiesen, die kürzere Speicherzeiten aufweisen.
Andererseits werden jene Daten, die nicht fehlerkorrigiert werden
können
oder die kein Vorliegen numerischer Fehler erlauben, an solche Reihen zugewiesen,
die längere
Datenaufbewahrungszeiten aufweisen. Somit kann durch das Anordnen
von Daten entsprechend des Grades der Wichtigkeit, wodurch die Zykluszeit
für die
Aktualisierung geeignet verlängert
wird, die Häufigkeit
der Aktualisierungsvorgänge
verringert werden.
-
Die
Bestimmung der Anordnung der Daten entsprechend ihres Grades der
Wichtigkeit kann, wie in 13 gezeigt,
durch einen Kompilierer erreicht werden, der dem Zwischenformat 60 entspricht,
das eine Funktion aufweist, die den Grad der Wichtigkeit der Daten
anzeigt. Der Grad der Wichtigkeit der Daten kann in einem Programm
durch beispielsweise die Bereitstellung von Typen (types) beschrieben werden,
die die Grade der Wichtigkeit zeigen. In der Speicherzuweisungseinrichtung 59 des
in 13 gezeigten Kompilierers, der Bezug auf die Datenaufbewahrungszeit
jeder in der Speichereinrichtung für Datenaufbewahrungszeiten 9 gespeicherten
Reihe nimmt, ordnet Daten auf dem Zwischenformat 60 entsprechend
dem Grad der Wichtigkeit der Daten an, bestimmt die physikalische
Adresse der einzelnen Daten und gibt das Zwischenformat 61 aus.
Das Zwischenformat 61 wird im letzten Schritt des Kompilierungsprozesses
in eine Sequenz von Anweisungen konvertiert.
-
Die
Position, in der der Kompilierer arbeitet, kann entweder innerhalb
oder außerhalb
der Halbleiterschaltung sein, vorausgesetzt daß er in der Lage ist, die Struktur
des Speichers zu kennen.
-
Fünfte Ausführungsform:
-
Es
ist eine Eigenschaft gewöhnlicher DRAMs,
daß die
Datenaufbewahrungszeit jeder Reihe nicht feststehend, sondern mit
der Temperatur variabel ist. Insbesondere ist, wie oben beschrieben, die
Datenaufbewahrungszeit umso länger,
je geringer die Temperatur ist. Der Abstand zwischen den Aktualisierungsvorgängen eines
herkömmlichen DRAM
ist im Allgemeinen so gesetzt, daß sie sehr kurz ist, wobei
die schlechteste Arbeitsbedingung angenommen wird, das heißt, eine
Bedingung mit hoher Temperatur. Doch da die tatsächliche Datenaufbewahrungszeit
bei normalen Temperaturen groß ist, wird
die Aktualisierungszykluszeit, die auf Bedingungen mit hohen Temperaturen
angepasst ist, sehr kurz im Vergleich zu der tatsächlichen
Datenaufbewahrungszeit, was bedeutet, daß dann übermäßige Aktualisierung praktiziert
wird.
-
Somit
wird nicht nur übermäßig Strom
verbraucht, sondern die durchschnittliche Speicherzugriffszeit erhöht sich
auf Grund des häufiger
auftretenden Konflikts zwischen Aktualisierung und Speicherzugriff
und dadurch wird die Leistung des Logikteiles 33, der mit
dem DRAM 7 vereint ist, verschlechtert.
-
Demzufolge
wird in der in 14 gezeigten Ausführungsform
die Halbleiterschaltung, die aus dem DRAM 7 und dem Logikteil 33 vereint
auf einem Chip ausgebildet ist, mit der Temperaturerkennungseinrichtung 5 zur
Erkennung der Temperatur der Halbleiterschaltung bereitgestellt.
Somit wird durch Steuerung des Zeitgeberregisters 8a des DRAM-Controllers 8 entsprechend
der Temperatur die Aktualisierungszykluszeit geeignet gesetzt.
-
Die
Temperaturerkennungseinrichtung 5 kann durch ein Verfahren
realisiert werden, in dem ein Leckstrom einer Speicherzelle mit
derselben Temperaturcharakteristik wie die Speicherzelle zum tatsächlichen
Speichern der Daten überwacht
wird, ein Verfahren in dem ein Ringoszillator verwendet wird oder ähnliches
(1994, Ito, "VLSI
Memory", Baifukan).
-
Somit
kann durch Setzen der Aktualisierungszykluszeit bei Erfassen der
Temperatur, wodurch die Häufigkeit
der Aktualisierungsvorgänge
herabgesetzt wird, die Ausführung
unnötigen
Aktualisierens in dem DRAM-Logik-Hybrid-LSI verringert werden und
somit sowohl eine Verringerung des Stromverbrauchs als auch eine
Vermeidung des Anstiegs der Zugriffszeit auf Grund des Konflikts
zwischen Aktualisierung und Speicherzugriff erreicht werden.
-
Es
ist auch möglich,
das Verfahren, wie in der fünften
Ausführungsform
beschrieben, in der die Aktualisierungszykluszeit bei Erfassen der
Temperatur gesetzt wird, parallel zu dem Verfahren der Optimierung
im Ortsraum, wie in der ersten Ausführungsform beschrieben, dem
Verfahren der Optimierung im Zeitbereich, wie in der zweiten Ausführungsform
beschrieben, und dem Verfahren zur Bestimmung der Datenanordnung
entsprechend der Datenaufbewahrungszeit, wie in der dritten und
vierten Ausführungsform
beschrieben, zu verwenden.
-
INDUSTRIELLE
ANWENDBARKEIT
-
Die
Erfindung kann im Bereich der Halbleiterschaltungen, die DRAM einsetzen,
verwendet werden.