DE69835794T2 - Halbleiterschaltung und steuerungsverfahren dazu - Google Patents

Halbleiterschaltung und steuerungsverfahren dazu Download PDF

Info

Publication number
DE69835794T2
DE69835794T2 DE69835794T DE69835794T DE69835794T2 DE 69835794 T2 DE69835794 T2 DE 69835794T2 DE 69835794 T DE69835794 T DE 69835794T DE 69835794 T DE69835794 T DE 69835794T DE 69835794 T2 DE69835794 T2 DE 69835794T2
Authority
DE
Germany
Prior art keywords
data
dram
rows
time
row
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69835794T
Other languages
English (en)
Other versions
DE69835794D1 (de
Inventor
Koji Fukuoka-shi Kai
Taku Sagamihara-shi OHSAWA
Kazuaki Kasuga-shi MURAKAMI
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of DE69835794D1 publication Critical patent/DE69835794D1/de
Application granted granted Critical
Publication of DE69835794T2 publication Critical patent/DE69835794T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory

Description

  • 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.

Claims (10)

  1. Verfahren zum Steuern einer Halbleiterschaltung mit einem DRAM, mit den Schritten: – Anordnen von zufällig verteilten Daten an Positionen auf Reihen (21) des DRAM derart, daß Daten mit einander nicht überlappenden Spaltenadressen auf derselben Reihe (21) angeordnet sind, um die Anzahl von Reihen, auf denen Daten gespeichert sind, zu minimieren, gekennzeichnet durch – Aktualisieren nur jeder der Reihen (21), auf denen Daten gespeichert sind.
  2. Verfahren nach Anspruch 1, wobei: der Anordnungsschritt enthält, es Daten, die überlappen oder eine enge Beziehung in der Zeitspanne zwischen einer anfänglichen Schreibezeit und der letzten Lesezeit haben, zu erlauben, auf derselben Reihe (21) des DRAM angeordnet zu werden; und der Aktualisierungsschritt ein Aktualisieren der Reihe (21) nur während der Zeitspanne zwischen einer anfänglichen Datenschreibezeit und der letzten Datenlesezeit in der Reihe enthält.
  3. Verfahren nach Anspruch 1, wobei der Aktualisierungsschritt folgendes enthält: – Bestimmen der für eine das DRAM verwendende Anwendung erforderlichen Speicherkapazität und Speichern von Daten auf den Reihen (21) des DRAM in absteigender Reihenfolge der Datenaufbewahrungszeit in den Reihen unter Bezugnahme auf eine Tabelle mit einer vorbestimmten Datenaufbewahrungszeit jeder der Reihen; und – Setzen einer Aktualisierungszykluszeit auf der Grundlage der Reihe (21) mit der kürzesten Datenaufbewahrungszeit in den Reihen (21), die Daten darauf speichern.
  4. Verfahren nach Anspruch 3, mit Anordnen der zu speichernden Daten auf bestimmten Reihen (21) des DRAM entsprechend dem Wichtigkeitsgrad der Daten.
  5. Verfahren nach einem der Ansprüche 1 bis 4, mit dem Schritt eines Erfassens der Temperatur der Halbleiterschaltung, um einen Aktualisierungszyklus des DRAM entsprechend der erfaßten Temperatur zu setzen.
  6. Halbleiterschaltung mit einem DRAM, mit: – einer Einrichtung (8) zur Anordnung von zufällig verteilten Daten an Positionen auf Reihen des DRAM derart, daß es Daten mit einander nicht überlappenden Spaltenadressen erlaubt wird, daß sie auf derselben Reihe angeordnet sind, um die Anzahl der Reihen zu minimieren, auf denen Daten gespeichert sind, gekennzeichnet durch – eine Einrichtung (8) zum Aktualisieren nur jeder der Reihen, auf denen Daten gespeichert sind.
  7. Halbleiterschaltung nach Anspruch 6, wobei: – die Anordnungseinrichtung betätigbar ist, um es überlappenden Daten oder Daten mit einer engen Beziehung in der Zeitspanne zwischen einer anfänglichen Schreibezeit und der letzten Lesezeit zu erlauben, auf der selben Reihe des DRAM angeordnet zu werden; und – die Aktualisierungseinrichtung (8) betätigbar ist, die Reihe nur während der Zeitspanne zwischen einer anfänglichen Datenschreibezeit und der letzten Datenlesezeit in der Reihe zu aktualisieren.
  8. Halbleiterschaltung nach Anspruch 6, wobei die Aktualisierungseinrichtung folgendes enthält: – eine Einrichtung (8) zur Bestimmung der für eine das DRAM (7) verwendende Anwendung erforderlichen Speicherkapazität und zur Speicherung von Daten auf den Reihen des DRAM in absteigender Reihenfolge der Datenaufbewahrungszeit in den Reihen unter Bezugnahme auf eine Tabelle mit einer vorbestimmten Datenaufbewahrungszeit für jede der Reihen; und – einer Einrichtung (8) zum Setzen eines Aktualisierungszyklus auf der Grundlage der Reihe mit der kürzesten Datenaufbewahrungszeit in der Reihe, die Daten darauf speichert.
  9. Halbleiterschaltung nach Anspruch 8, mit einer Einrichtung (8) zur Anordnung der zu speichernden Daten auf bestimmten Reihen des DRAM (7) entsprechend dem Wichtigkeitsgrad der Daten.
  10. Halbleiterschaltung nach einem der Ansprüche 6 bis 9, mit einer Einrichtung (5) zur Erfassung der Temperatur der Halbleiterschaltung, um eine Aktualisierungszykluszeit des DRAM (7) entsprechend der erfaßten Temperatur zu setzen.
DE69835794T 1997-06-12 1998-06-08 Halbleiterschaltung und steuerungsverfahren dazu Expired - Lifetime DE69835794T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP15512597 1997-06-12
JP15512597 1997-06-12
PCT/JP1998/002543 WO1998057332A1 (fr) 1997-06-12 1998-06-08 Circuit a semiconducteur et procede de commande de ce dernier

Publications (2)

Publication Number Publication Date
DE69835794D1 DE69835794D1 (de) 2006-10-19
DE69835794T2 true DE69835794T2 (de) 2007-09-13

Family

ID=15599113

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69835794T Expired - Lifetime DE69835794T2 (de) 1997-06-12 1998-06-08 Halbleiterschaltung und steuerungsverfahren dazu

Country Status (7)

Country Link
US (1) US6446159B2 (de)
EP (1) EP0917152B1 (de)
JP (1) JP4246812B2 (de)
KR (1) KR100419462B1 (de)
CN (1) CN100336134C (de)
DE (1) DE69835794T2 (de)
WO (1) WO1998057332A1 (de)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2153455T3 (es) 1995-08-04 2001-03-01 Belle Gate Invest B V Sistema de intercambio de datos que incluye unidades portatiles de procesamiento de datos.
WO2000019699A1 (en) 1998-09-29 2000-04-06 Sun Microsystems, Inc. Superposition of data over voice
SE512773C2 (sv) * 1998-10-28 2000-05-08 Imsys Ab Metod och anordning för kontroll/access av DRAM-minnen
KR20020010926A (ko) 1999-06-10 2002-02-06 헨드리쿠스 하롤트 판 안델 분리된 메모리 영역 내에 상이한 버전의 데이터 세트를저장하는 장치 및 메모리 내의 데이터 세트를 갱신하는 방법
KR100759257B1 (ko) 1999-12-06 2007-09-17 선 마이크로시스템즈 인코포레이티드 비 리프레시 디램을 이용한 컴퓨터 장치
WO2001040910A1 (en) * 1999-12-06 2001-06-07 De Jong, Eduard, Karel Computer arrangement using non-refreshed dram
KR100693874B1 (ko) 1999-12-07 2007-03-12 선 마이크로시스템즈 인코포레이티드 판독을 제어하는 마이크로프로세서를 포함한 컴퓨터 판독매체 및 이러한 매체와 통신하도록 설정된 컴퓨터
CN1398385B (zh) 1999-12-07 2010-06-02 太阳微系统公司 识别装置、与识别装置通信的终端和验证照相图象的方法
CA2416844A1 (en) 2000-07-20 2002-01-31 Belle Gate Investment B.V. Method and system of communicating devices, and devices therefor, with protected data transfer
JP2002056671A (ja) * 2000-08-14 2002-02-22 Hitachi Ltd ダイナミック型ramのデータ保持方法と半導体集積回路装置
AU1142001A (en) * 2000-10-19 2002-04-29 Dsm N.V. Protein hydrolysates
EP1233419A3 (de) * 2001-02-16 2006-04-19 Koninklijke Philips Electronics N.V. Auffrischungsverfahren eines dynamischen Speichers
JP4212257B2 (ja) * 2001-04-26 2009-01-21 株式会社東芝 半導体集積回路
JP4700223B2 (ja) * 2001-05-18 2011-06-15 株式会社バッファロー Dram装置およびdram装置のリフレッシュ方法
KR100413761B1 (ko) * 2001-05-31 2003-12-31 삼성전자주식회사 온도와 공정에 따라 리프레시 사이클이 조절되는 반도체메모리 장치 및 방법
KR100406555B1 (ko) * 2001-06-29 2003-11-20 주식회사 하이닉스반도체 반도체 메모리 장치 및 그 테스트 방법
US6738861B2 (en) * 2001-09-20 2004-05-18 Intel Corporation System and method for managing data in memory for reducing power consumption
US6603694B1 (en) * 2002-02-05 2003-08-05 Infineon Technologies North America Corp. Dynamic memory refresh circuitry
ATE400856T1 (de) * 2002-05-16 2008-07-15 United Parcel Service Inc Systemen und verfahren für sortierung und lieferung von paketen unter verwendung von rfid technik
US6990342B2 (en) * 2002-08-29 2006-01-24 Motorola, Inx. Method and apparatus for cell reselection within a communications system
US6920523B2 (en) * 2002-10-07 2005-07-19 Infineon Technologies Ag Bank address mapping according to bank retention time in dynamic random access memories
CN100487816C (zh) * 2003-04-23 2009-05-13 富士通微电子株式会社 半导体存储装置及其刷新方法
US6876593B2 (en) * 2003-07-01 2005-04-05 Intel Corporation Method and apparatus for partial refreshing of DRAMS
US7345940B2 (en) * 2003-11-18 2008-03-18 Infineon Technologies Ag Method and circuit configuration for refreshing data in a semiconductor memory
CN100409365C (zh) * 2003-12-05 2008-08-06 晶豪科技股份有限公司 伪静态随机存取存储器的数据刷新方法
US7325090B2 (en) * 2004-04-29 2008-01-29 Sandisk Il Ltd. Refreshing data stored in a flash memory
US7145823B2 (en) 2004-06-30 2006-12-05 Intel Corporation Method and apparatus to implement a temperature control mechanism on a memory device
JP4786155B2 (ja) * 2004-08-18 2011-10-05 ルネサスエレクトロニクス株式会社 半導体装置及び半導体装置のリフレシュ処理方法
US8250296B2 (en) * 2004-12-01 2012-08-21 Dell Products L.P. System and method for information handling system memory page mapping optimization
US7342841B2 (en) 2004-12-21 2008-03-11 Intel Corporation Method, apparatus, and system for active refresh management
KR100803352B1 (ko) 2006-06-12 2008-02-14 주식회사 하이닉스반도체 반도체 메모리의 리프레쉬 제어장치 및 방법
US20080016272A1 (en) * 2006-07-03 2008-01-17 Stmicroelectronics Sa Method of refreshing dynamic random access memory, in particular in standby mode and in active operating mode, and corresponding dynamic random access memory device, for example incorporated into a cellular mobile telephone
KR100832029B1 (ko) * 2006-09-28 2008-05-26 주식회사 하이닉스반도체 온도 정보 출력 장치 및 그를 갖는 반도체 소자
KR100832006B1 (ko) 2006-09-29 2008-05-26 주식회사 하이닉스반도체 셀프리프레쉬 주기 생성장치를 구비하는 반도체메모리소자및 그의 구동방법
JP5439788B2 (ja) * 2008-10-03 2014-03-12 富士通株式会社 コンピュータ装置、及びメモリ用途設定プログラム
US8030957B2 (en) 2009-03-25 2011-10-04 Aehr Test Systems System for testing an integrated circuit of a device and its method of use
US8984217B2 (en) * 2010-08-24 2015-03-17 Qualcomm Incorporated System and method of reducing power usage of a content addressable memory
JP5737753B2 (ja) 2011-03-30 2015-06-17 日本電気株式会社 ネットワーク装置、ネットワーク装置の管理方法、管理プログラム、パケットネットワークシステム
US20120272036A1 (en) * 2011-04-22 2012-10-25 Naveen Muralimanohar Adaptive memory system
JP2014030110A (ja) * 2012-07-31 2014-02-13 Toshiba Corp リコンフィギャラブル集積回路装置およびその書き込み方法
CN104143355B (zh) * 2013-05-09 2018-01-23 华为技术有限公司 一种刷新动态随机存取存储器的方法和装置
US9336855B2 (en) * 2013-05-14 2016-05-10 Qualcomm Incorporated Methods and systems for smart refresh of dynamic random access memory
CN104239220B (zh) * 2013-06-13 2017-11-24 华为技术有限公司 存储器刷新处理方法和装置
US9165668B1 (en) * 2013-07-29 2015-10-20 Western Digital Technologies, Inc. Data retention monitoring using temperature history in solid state drives
CN103810126B (zh) * 2014-01-27 2017-06-13 上海新储集成电路有限公司 混合dram存储器及降低该dram存储器刷新时功耗的方法
US10447433B2 (en) 2014-11-21 2019-10-15 Telefonaktiebolaget Lm Ericsson (Publ) Signal processing apparatus and method
US10691572B2 (en) 2017-08-30 2020-06-23 Nvidia Corporation Liveness as a factor to evaluate memory vulnerability to soft errors

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4172282A (en) * 1976-10-29 1979-10-23 International Business Machines Corporation Processor controlled memory refresh
JPS60157353A (ja) * 1984-01-26 1985-08-17 Citizen Watch Co Ltd プリンタ情報問い合せ通信方式とプリンタ
US4920489A (en) * 1987-08-14 1990-04-24 Cardiodata Inc. Apparatus and method for solid state storage of episodic signals
JPH01290193A (ja) * 1988-05-17 1989-11-22 Pfu Ltd Dramリフレッシュ制御方式
EP0465050B1 (de) * 1990-06-19 1997-09-03 Dell Usa L.P. Digitalrechner, der eine Anlage für das aufeinanderfolgende Auffrischen einer erweiterbaren dynamischen RAM-Speicherschaltung hat
US5276843A (en) * 1991-04-12 1994-01-04 Micron Technology, Inc. Dynamic RAM array for emulating a static RAM array
JPH05242671A (ja) * 1992-02-27 1993-09-21 Toshiba Corp Dramリフレッシュ装置
JP2546161B2 (ja) * 1992-07-22 1996-10-23 日本電気株式会社 ダイナミック型メモリ装置
JP2546138B2 (ja) * 1993-05-17 1996-10-23 ティアック株式会社 ディスク駆動装置
US6085283A (en) * 1993-11-19 2000-07-04 Kabushiki Kaisha Toshiba Data selecting memory device and selected data transfer device
JPH09306164A (ja) * 1996-05-13 1997-11-28 Internatl Business Mach Corp <Ibm> メモリ・リフレッシュ・システム
US5907857A (en) * 1997-04-07 1999-05-25 Opti, Inc. Refresh-ahead and burst refresh preemption technique for managing DRAM in computer system
US6094704A (en) * 1997-06-17 2000-07-25 Micron Technology, Inc. Memory device with pipelined address path

Also Published As

Publication number Publication date
US20020004882A1 (en) 2002-01-10
KR20000068150A (ko) 2000-11-25
US6446159B2 (en) 2002-09-03
EP0917152A4 (de) 2000-09-06
WO1998057332A1 (fr) 1998-12-17
EP0917152B1 (de) 2006-09-06
KR100419462B1 (ko) 2004-02-19
CN100336134C (zh) 2007-09-05
DE69835794D1 (de) 2006-10-19
EP0917152A1 (de) 1999-05-19
CN1234901A (zh) 1999-11-10
JPH1166845A (ja) 1999-03-09
JP4246812B2 (ja) 2009-04-02

Similar Documents

Publication Publication Date Title
DE69835794T2 (de) Halbleiterschaltung und steuerungsverfahren dazu
DE102008028327B4 (de) Speicherauffrischsystem und -Verfahren
DE10345383B4 (de) Bankadreßabbildung gemäß einer Bankhaltezeit bei dynamischen Direktzugriffsspeichern
DE602004007545T2 (de) Auffrischung für dynamische zellen durch intentifizieren derjenigen mit schwacher retention und häufigeres auffrischen dieser als derjenigen mit normaler retention
EP0527866B1 (de) Integrierter halbleiterspeicher mit paralleltestmöglichkeit und redundanzverfahren
DE3902425C2 (de)
DE19615956C2 (de) Ein nicht-flüchtiger, an einen DRAM-Bus anschließbarer Halbleiterspeicher und Verfahren zu dessen Betrieb
DE102007038615B4 (de) Speicher mit Speicherbänken und Modusregistern, sowie Verfahren zum Betreiben eines solchen Speichers
DE10330111A1 (de) Verfahren eines selbstreparierenden dynamischen Direktzugriffsspeichers
DE102004027121B4 (de) Ein Mehrfachbankchip, der mit einer Steuerung kompatibel ist, die für eine geringere Anzahl von Banken entworfen ist, und ein Verfahren zum Betreiben
DE10206719A1 (de) Cache-Testsequenz für eintorigen Zeilenreparatur-CAM
DE2555439A1 (de) Monolithische hochintegrierte halbleiterschaltung
DE102006025108A1 (de) Direktzugriffsspeicher mit ECC
DE4317887A1 (de) Dynamische Speichervorrichtung für wahlfreien Zugriff mit Selbst-Refresh-Funktion
DE102004039178A1 (de) Speichersteuerschaltung, Smartcard und Lesesteuerverfahren
DE102004016148A1 (de) Verfahren und System zur Herstellung von dynamischen Speichern (DRAM) mit reduziertem Strombedarf für die Selbstauffrischung
EP1113362A2 (de) Integrierter Halbleiterspeicher mit einer Speichereinheit zum Speichern von Adressen fehlerhafter Speicherzellen
DE10206367A1 (de) Integrierter dynamischer Speicher mit Steuerungsschaltung zur Steuerung eines Refresh-Betriebs von Speicherzellen sowie Verfahren zum Betrieb eines solchen Speichers
DE19823930A1 (de) Integrierte Halbleiterschaltung mit an einem Halbleiterchip angeordnetem DRAM
DE112004002181T5 (de) Verfahren und Schaltungskonfiguration zum Auffrischen von Daten in einem Halbleiterspeicher
DE10022698A1 (de) Halbleiterspeichereinrichtung
DE102005032484A1 (de) Nichtflüchtiges Speicherelement und zugehöriges Programmierverfahren
DE10337284A1 (de) Integrierter Speicher mit einer Schaltung zum Funktionstest des integrierten Speichers sowie Verfahren zum Betrieb des integrierten Speichers
DE10233250A1 (de) Halbleiterspeichervorrichtung
DE19721516C2 (de) Mikroprozessor

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: PANASONIC CORP., KADOMA, OSAKA, JP