DE19957612A1 - Verfahren und System zur Speicherzugriffsverwaltung für Synchronous Dynamic Random-Access Memories oder dergleichen - Google Patents
Verfahren und System zur Speicherzugriffsverwaltung für Synchronous Dynamic Random-Access Memories oder dergleichenInfo
- Publication number
- DE19957612A1 DE19957612A1 DE19957612A DE19957612A DE19957612A1 DE 19957612 A1 DE19957612 A1 DE 19957612A1 DE 19957612 A DE19957612 A DE 19957612A DE 19957612 A DE19957612 A DE 19957612A DE 19957612 A1 DE19957612 A1 DE 19957612A1
- Authority
- DE
- Germany
- Prior art keywords
- page directory
- page
- unit
- stored
- memory
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
Geliefert wird ein Verfahren und ein System 100 zur Speicherzugriffsverwaltung zur Verwendung mit einem SDRAM (Synchronous Dynamic Random-Access Memory) 220 oder dergleichen, zum Zweck der Erhöhung der Performanz von Speicherzugriffen auf den SDRAM 220 mittels Verfolgens der Speicherzugriffs-Geschichte vorangehender Zugriffsoperationen. Das System 100 zur Speicherzugriffsverwaltung weist eine Seitenverzeichnis-Register-Einheit 120 mit einem Seitenverzeichnis 125 zum Abspeichern einer vorbestimmten Anzahl von Speicherplätzen in der Speichereinheit, auf welche Speicherplätze kürzlich zugegriffen worden ist, auf. Weiter weist das System 100 zur Speicherzugriffsverwaltung eine Vergleichseinheit 110 auf, die vermag, in Reaktion auf jede Zugriffsanfrage an die Speichereinheit, zu überprüfen, ob der angefragte Speicherplatz ein Treffer bezüglich eines im Seitenverzeichnis 125 der Seitenverzeichnis-Register-Einheit 120 abgespeicherten Speicherplatzes ist. Mit der Seitenverzeichnis-Register-Einheit 120 ist zum Überwachen der in der Seitenverzeichnis-Register-Einheit 120 abgespeicherten am längsten-unbenutzt-Einträge LRU eine Ausnutzungsraten-Register-Einheit 130 gekoppelt; und außerdem ist mit der Seitenverzeichnis-Register-Einheit 120 zum Überprüfen, ob die im Seitenverzeichnis 125 der Seitenverzeichnis-Register-Einheit 120 abgespeicherten Adreßdaten gültig oder ungültig sind, eine Gültigkeitsprüfeinheit 140 gekoppelt.
Description
Die Erfindung betrifft Computerspeicherverwaltung und ins
besondere ein Verfahren und ein System zur Speicherzugriffs
verwaltung, welche zur Verwendung mit einem SDRAM (Synchronous
Dynamic Random-Access Memory) oder dergleichen bestimmt sind,
zum Zweck der Erhöhung der Leistungsfähigkeit des Speicherzu
griffs auf den SDRAM mittels Verfolgens der Speicherzugriffs
geschichte vorhergehender Zugriffsoperationen.
Bei einem Computersystem wird eine Haupteinheit zum Steuern der
Zugriffsoperationen, ob Lesen oder Schreiben, auf den Haupt
speicher des Computersystems verwendet. Im allgemeinen ist der
Speicherzugriff auf einige spezielle Segmente, und nicht auf
alle Segmente des Hauptspeichers konzentriert; mit anderen Wor
ten wird auf manche Segmente im Vergleich zu anderen am öfte
sten zugegriffen. Beim Entwurf von Speicherzugriffs-Verwal
tungssystemen ist das Hauptaugenmerk auf die Reduzierung von
Overhead und Latenz gerichtet.
Der SDRAM (Synchronous Dynamic Random-Access Memory) ist eine
neue Art von Speichervorrichtung. Jede SDRAM-Einheit ist typi
scherweise in vier Subbänke unterteilt, wobei jede Subbank eine
Anzahl von Seiten aufweist, von denen nur eine zur selben Zeit
geöffnet sein kann. Mit anderen Worten können in jeder SDRAM-
Einheit höchstens 4 Seiten auf einmal geöffnet sein. Herkömmli
cherweise ist jede Subbank mit einer Speichersteuerungs-Einheit
zum Verwalten der Seiten in der Subbank verbunden. Daher werden
für jede SDRAM-Einheit 4 Speichersteuerungs-Einheiten benötigt.
Dieses Konzept der Seitenverwaltung hat jedoch die folgenden
Nachteile.
Erstens wird in dem Fall, wenn ein Speicherslot unbenutzt ist
oder mit einer SDRAM-Einheit mit nur zwei Subbänken besetzt
ist, nicht vollständig davon Gebrauch gemacht, daß vier Spei
chersteuerungs-Einheiten vorgesehen sind, weshalb deren Verwen
dung kostenineffizient ist.
Zweitens ist, wenn ein VC-SDRAM (Virtual Channel SDRAM) verwen
det wird, da jede VC-SDRAM-Einheit nur 16 Kanäle zu liefern
vermag, bei 4 bereitgestellten Speichersteuerungs-Einheiten nur
die Benutzbarkeit von 4 der 16 Kanäle gewährleistet, und die
anderen 12 Kanäle bleiben unbenutzt. Eine Lösung für dieses
Problem ist das Bereitstellen von 16 Speichersteuerungs-Ein
heiten für jede VC-SDRAM-Einheit. Bei dieser Lösung wäre jedoch
zum Integrieren aller 16 Speichersteuerungs-Einheiten eine sehr
große Fläche für das Schaltkreislayout erforderlich, weshalb
diese Lösung vergleichsweise kostenineffizient ist. Außerdem
würde die Verwendung von 16 Speichersteuerungs-Einheiten große
Verzögerungen bei Zugriffsoperationen verursachen, weshalb dies
für die Verwendung bei Hochgeschwindigkeits-Computersystemen
nicht geeignet ist.
Daher besteht ein Bedarf an einem neuen Verfahren und einem
neuen System zur Speicherzugriffsverwaltung, die mit verschie
denen Sorten von Speichervorrichtungen, inklusive SDRAM, VC-
SDRAM und EDO-DRAM verwendbar sind.
Deshalb ist es ein Ziel der Erfindung, zum Zweck einer Erhöhung
der Performanz von Speicherzugriffen auf einen SDRAM ein neues
Verfahren und ein neues System zur Computerspeicherzugriffsver
waltung, welche zur Verwendung mit einem solchen SDRAM oder
dergleichen vorgesehen sind, zu liefern.
In Übereinstimmung mit den vorangehenden und weiteren Zielen
der Erfindung werden ein neues Verfahren und ein neues System
zur Computerspeicherzugriffsverwaltung geliefert.
Das Speicherseitenverwaltungssystem gemäß der Erfindung weist
eine Vergleichseinheit, eine Seitenverzeichnis-Register-Ein
heit, eine Ausnutzungsraten-Register-Einheit und eine Gültig
keitsprüfeinheit auf.
Die Seitenverzeichnis-Register-Einheit weist ein Seitenver
zeichnis zum Abspeichern einer vorbestimmten Anzahl von Spei
cherplätzen, auf die kürzlich zugegriffen worden ist, in die
Speichereinheit auf, wobei jeder abgespeicherte Speicherplatz
zusammen mit einem am längsten-unbenutzt-Bericht (Least-recent
ly-used-record, LRU), der anzeigt, ob auf den abgespeicherten
Speicherplatz am längsten nicht zugegriffen worden ist, abge
speichert wird.
Die Vergleichseinheit vermag, in Reaktion auf jede Zugriffsan
frage an die Speichereinheit, zu überprüfen, ob der angefragte
Speicherplatz ein Treffer auf einen im Seitenverzeichnis der
Seitenverzeichnis-Register-Einheit abgespeicherten Speicher
platz ist; wobei die Vergleichseinheit im Fall eines Treffers
ein Treffersignal erzeugt.
Die Ausnutzungsraten-Register-Einheit ist zum Überwachen der in
der Seitenverzeichnis-Register-Einheit abgespeicherten am läng
sten-unbenutzt-Einträge mit der Seitenverzeichnis-Register-Ein
heit gekoppelt; und die Gültigkeitsprüfeinheit ist zum Überprü
fen, ob die im Seitenverzeichnis der Seitenverzeichnis-Regi
ster-Einheit abgespeicherten Adreßdaten gültig oder ungültig
sind, mit der Seitenverzeichnis-Register-Einheit gekoppelt.
Die Seitenverzeichnis-Register-Einheit weist auf: eine mit der
Vergleichseinheit gekoppelte Auffangschaltung (Latch-Schaltung)
zum Zwischenspeichern der Ausgangssignale der Vergleichsein
heit, die angeben, ob der angefragte Speicherplatz einen Tref
fer im Seitenverzeichnis darstellt; und eine mit der Auffang
schaltung, der Ausnutzungsraten-Register-Einheit und der Gül
tigkeitsprüfeinheit gekoppelte Auswahlschaltung zum Auswählen
eines der abgespeicherten Speicherplätze aus dem Seitenver
zeichnis auf Grundlage der Ausgangssignale der Auffangschal
tung, der Ausnutzungsraten-Register-Einheit und der Gültig
keitsprüfeinheit.
Das Seitenverzeichnis weist ferner eine Vielzahl von Gültig
keitsbits auf, von denen ein jedes einem der in dem Seitenver
zeichnis abgespeicherten Speicherplätze zugeordnet ist, wobei
das Gültigkeitsbit anzeigt, ob der zugeordnete Speicherplatz
gültig oder ungültig ist. Jedes Gültigkeitsbit wird durch die
Vergleichseinheit gesetzt und aktualisiert.
Jeder am längsten-unbenutzt-Bericht ist durch einen numerischen
Wert in einem vorbestimmten Zahlenbereich dargestellt, wobei
der kleinste Wert anzeigt, daß auf den zugeordneten Speicher
platz zuletzt zugegriffen worden ist, und wobei der höchste
Wert anzeigt, daß auf den zugeordneten Speicherplatz am läng
sten nicht zugegriffen worden ist. Der am längsten-unbenutzt-
Eintrag in Verbindung mit jedem abgespeicherten Speicherplatz
des Seitenverzeichnisses wird durch die Ausnutzungsraten-
Register-Einheit gesetzt und aktualisiert.
In dem Fall, daß die aktuelle Zugriffsanfrage ein Fehltreffer
im Seitenverzeichnis ist, wird der Speicherplatz der aktuellen
Zugriffsanfrage als Ersatz für denjenigen, dessen am längsten-
unbenutzt-Eintrag den höchsten Wert aufweist, verwendet; und
bevor der Speicherplatz der aktuellen Zugriffsanfrage denjeni
gen ersetzt, dessen am längsten-unbenutzt-Eintrag den höchsten
Wert aufweist, überprüft die Gültigkeitsprüfeinheit, ob das zu
gehörige Gültigkeitsbit gesetzt ist, so daß es Gültigkeit an
zeigt; falls JA, wird ein Wiederherstellungssignal erzeugt, so
daß am entsprechenden Speicherplatz der ursprüngliche Zustand
wiederhergestellt wird.
Gemäß einem weiteren Aspekt der Erfindung weist das System zur
Speicherseitenverwaltung eine Seitenverzeichnis-Register-Ein
heit mit einem Seitenverzeichnis zum Abspeichern einer vorbe
stimmten Anzahl von Speicherplätzen der Speichereinheit, auf
die kürzlich zugegriffen worden ist, auf, wobei jeder abgespei
cherte Speicherplatz eine Bankadresse und eine Seitenadresse
aufweist, und wobei jeder abgespeicherte Speicherplatz zusammen
mit einem am längsten-unbenutzt-Eintrag und einem Gültigkeits
bit abgespeichert wird, wobei der am längsten-unbenutzt-Eintrag
anzeigt, ob die zugehörige Speicherzelle am längsten unbenutzt
ist, und wobei das Gültigkeitsbit angibt, ob der zugehörige
Speicherplatz gültig oder ungültig ist; und wobei jeder am
längsten-unbenutzt-Eintrag durch einen numerischen Wert aus
einem vorbestimmten Zahlenbereich dargestellt ist, wobei der
kleinste Wert anzeigt, daß auf den zugehörigen Speicherplatz
zuletzt zugegriffen worden ist, und wobei der höchste Wert an
gibt, daß auf den zugehörigen Speicherplatz am längsten nicht
zugegriffen worden ist. Weiter weist das System zur Speicher
seitenverwaltung eine Vergleichseinheit auf, die dazu fähig
ist, in Reaktion auf jede Zugriffsanfrage an die Speicherein
heit, zu überprüfen, ob der angefragte Speicherplatz ein Bank
treffer oder ein Seitentreffer bezüglich eines der im Seiten
verzeichnis der Seitenverzeichnis-Register-Einheit abgespei
cherten Speicherplätze ist; wobei die Vergleichseinheit bei
einem Banktreffer ein Banktreffersignal und bei einem Seiten
treffer ein Seitentreffersignal erzeugt. Außerdem ist mit der
Seitenverzeichnis-Register-Einheit zum Überwachen der in der
Seitenverzeichnis-Register-Einheit abgespeicherten am längsten-
unbenutzt-Einträge eine Ausnutzungsraten-Register-Einheit ver
bunden, die im Fall eines Seitenfehltreffers und eines Bank
fehltreffers im Seitenverzeichnis vermag, denjenigen der im
Seitenverzeichnis abgespeicherten Speicherplätze, auf den am
längsten nicht zugegriffen worden ist, durch den Speicherplatz
der aktuellen Zugriffsanfrage zu ersetzten; und ist mit der
Seitenverzeichnis-Register-Einheit zum Überprüfen, ob die im
Seitenverzeichnis der Seitenverzeichnis-Register-Einheit abge
speicherten Adreßdaten gültig oder ungültig sind, eine Gültig
keitsprüfeinheit gekoppelt.
Gemäß einem weiteren Aspekt liefert die Erfindung ein Verfahren
zur Speicherseitenverwaltung, welches die Schritt aufweist: (1)
Bereitstellen eines Seitenverzeichnisses zum Abspeichern einer
vorbestimmten Anzahl von Speicherplätzen, auf die kürzlich zu
gegriffen worden ist, in der Speichereinheit, wobei jede abge
speicherte Speichereinheit zusammen mit einem am längsten-unbe
nutzt-Eintrag und einem Gültigkeitsbit abgespeichert wird, wo
bei der am längsten-unbenutzt-Eintrag anzeigt, ob der zugehö
rige Speicherplatz am längsten unbenutzt ist, und wobei das
Gültigkeitsbit angibt, ob der zugehörige Speicherplatz gültig
oder ungültig ist; (2) in Reaktion auf eine Zugriffsanfrage
Vergleichen des angefragten Speicherplatzes mit dem im Seiten
verzeichnis abgespeicherten Speicherplatzdaten, um auf Überein
stimmung hin zu überprüfen; falls Übereinstimmung besteht, Er
zeugen eines Treffersignals; wogegen falls nicht, Ersetzen des
jenigen der im Seitenverzeichnis abgespeicherten Speicherplät
ze, auf den am längsten nicht zugegriffen worden ist, durch den
Speicherplatz der aktuellen Zugriffsanfrage; und (3) Überprü
fen, ob das zugehörige Gültigkeitsbit des Speicherplatztes, auf
den am längsten nicht zugegriffen worden ist, gesetzt ist, so
daß Gültigkeit angezeigt wird; falls JA, Erzeugen eines Wieder
herstellungssignals, so daß am entsprechenden Speicherplatz der
ursprüngliche Zustand wiederhergestellt wird.
Verfahren und System zur Speicherzugriffsvewaltung gemäß der
Erfindung haben die folgenden Vorteile. Erstens ist dadurch
durch ein Verfolgen der Geschichte vorangehender Zugriffsopera
tionen auf den SDRAM ein Erhöhen der Speicherzugriffs-Perfor
manz möglich. Zweitens ist dadurch im voraus abschätzbar, ob
der nächste pipelined Zugriff ein Vorladen erfordert oder
nicht; falls JA, wird zu dem Zeitpunkt, zu dem der aktuelle Zu
griff abgewickelt wird, ein Vorladefreigabesignal ausgegeben.
Folglich kann die Zugriffsverzögerung reduziert werden. Insge
samt ist die Speicherzugriffs-Performanz erhöht.
Die Erfindung wird aus der folgenden detaillierten Beschreibung
und den bevorzugten Ausführungsformen, wobei Bezug auf die
Zeichnung genommen wird, noch verständlicher, wobei in der
Zeichnung:
Fig. 1 ein schematisches Blockdiagramm zeigt, das die grundle
gende Hardwarekonfiguration von Verfahren und System zur Spei
cherzugriffsverwaltung gemäß der Erfindung veranschaulicht;
Fig. 2 ein schematisches Diagramm zeigt, das ein Beispiel eines
bei dem Speicherzugriffs-Verwaltungssystems aus Fig. 1 verwen
deten Seitenverzeichnisses veranschaulicht;
Fig. 3 ein schematisches Blockdiagramm zeigt, das die detail
liertere innere Architektur der bei dem System zur Speicher
zugriffsverwaltung aus Fig. 1 verwendeten Vergleichseinheit
veranschaulicht.
Fig. 4 ein schematisches Blockdiagramm zeigt, das die detail
liertere innere Architektur der bei dem System zur Speicher
zugriffsverwaltung aus Fig. 1 verwendeten Seitenverzeichnis-
Register-Einheit veranschaulicht;
Fig. 5A ein schematisches Blockdiagramm zeigt, das die detail
liertere innere Architektur der bei dem System zur Speicher
zugriffsverwaltung aus Fig. 1 verwendeten Ausnutzungsraten-
Register-Einheit veranschaulicht;
Fig. 5B ein schematisches Blockdiagramm zeigt, daß die Ein
gangs-/Ausgangs-Konfiguration der beim System zur Speicher
zugriffsverwaltung aus Fig. 1 verwendeten Gültigkeitsprüfein
heit veranschaulicht;
Fig. 6 ein Flußdiagramm zeigt, das die bei dem Verfahren gemäß
der Erfindung auftretenden Prozedurschritte veranschaulicht;
Fig. 7A bis 7G Tabellen mit beispielhaften Daten zeigen, die im
beim System zur Speicherzugriffsverwaltung aus Fig. 1 in Reak
tion auf eine Folge von Zugriffsanfragen verwendeten Seitenver
zeichnis abgespeichert sind;
Fig. 8A bis 8D Signalfolge-Diagramme zeigen, in denen die Zeit
abfolge zwischen verschiedenen Signalen des erfindungsgemäßen
Systems zur Speicherzugriffsverwaltung veranschaulicht ist; und
Fig. 9A bis 9B Signalfolge-Diagramme zeigen, in denen die Zeit
abfolge zwischen verschiedenen Signalen des erfindungsgemäßen
Systems zur Speicherzugriffsverwaltung veranschaulicht sind.
Die Erfindung liefert ein Verfahren und ein System zur Spei
cherzugriffsverwaltung, wobei ein Seitenverzeichnis zum Ver
folgen der Geschichte vorhergehender Zugriffsoperationen auf
eine Speichereinheit, zum Beispiel ein SDRAM oder dergleichen,
durch ein Registrieren der Adreßdaten der vorangehenden Zu
griffsanfragen verwendet wird. In Reaktion auf jede nachfol
gende Zugriffsanfrage wird das Seitenverzeichnis zuerst darauf
überprüft, ob die aktuell angefragte Speicheradresse auf ein im
Seitenverzeichnis registriertes Adreßdatum zutrifft. Dieses
Konzept vermag dazu beizutragen, die Seitentrefferrate in der
Speichereinheit zu erhöhen, so daß die gesamte Zugriffs-Perfor
manz der Speichereinheit erhöht ist.
Das in Fig. 1 gezeigte schematische Blockdiagramm veranschau
licht die grundlegende Konfiguration der Hardwareimplementie
rung des Verfahrens und des Systems zur Speicherzugriffsver
waltung gemäß der Erfindung. Wie gezeigt, weist das hier mit
dem Bezugszeichen 100 bezeichnete erfindungsgemäße System zur
Speicherzugriffsverwaltung auf: eine Vergleichseinheit 110,
eine Seitenverzeichnis-Register-Einheit 120, eine Ausnutzungs
raten-Register-Einheit 130 und eine Gültigkeitsprüfeinheit 140.
Bei Gebrauch ist das System 100 zur Speicherzugriffsverwaltung
zwischen einer Haupteinheit (Master) 210 und einer SDRAM-Ein
heit 220 verbindend angeordnet und vermag es, der Haupteinheit
210 auf effizientere Weise zu gewähren, Zugang zur SDRAM-Ein
heit 220 zu erlangen.
Die Vergleichseinheit 110 weist eine zum Empfangen einer Anzahl
von decodierten Adressignalen DA [27:11], SEGIN [1:0] und BANK
[9:0] von der Haupteinheit 210 mit derselben verbundene Ein
gangsseite und eine Ausgangsseite zum Ausgeben einer Anzahl von
Zugriffssteuerungssignalen, worunter ein Seitentreffersignal
ONPAG, ein Banktreffersignal BKHIT und ein Segmenttreffersignal
SEGHIT bezüglich der SDRAM-Einheit 220 sind, auf. Es soll hier
angemerkt sein, daß diese Signale freigeschalten werden, wenn
die zugehörige Datenleitung in einen gewissen logischen Zustand
versetzt wird, der je nach Wahl des Schaltungsdesigners ein Zu
stand logisch hoher Spannung oder ein Zustand logisch niedriger
Spannung sein kann. Wenn das Seitentreffersignal ONPAG freige
schalten ist, zeigt es an, daß sich die Daten auf der gegenwär
tig geöffneten Seite befinden; wenn das Banktreffersignal BKHIT
freigeschalten ist, zeigt es an, daß die angefragten Daten sich
in der aktuellen Bank befinden; und wenn das Segmenttreffersig
nal SEGHIT freigeschalten ist, zeigt es an, daß die angefragten
Daten sich im aktuellen Segment befinden. Ferner ist bei der
SDRAM-Einheit 220 die Ausgabe eines Vorlade-Freigabesignals und
eines Aktivierungs-Freigabesignals an die SDRAM-Einheit 220
erforderlich, wenn das Öffnen oder Schließen einer speziellen
Seite der SDRAM-Einheit 220 gewünscht ist. Diese Anforderung
ist jedem, der mit dem Gebrauch von SDRAMs vertraut ist, wohl
bekannt, und liegt nicht im Geiste oder im Bereich der Absich
ten der Erfindung, so daß die Signalwege des Vorlade-Freigabe
signals und des Aktivierungs-Freigabesignals, um die Zeichnung
und die Beschreibung zu vereinfachen, in Fig. 1 nicht gezeigt
sind.
Die Seitenverzeichnis-Register-Einheit 120 wird zum Abspeichern
eines Seitenverzeichnisses 125 verwendet, das zum Registrieren
der Adreßdaten aus vorhergehenden Zugriffsoperationen auf die
SDRAM-Einheit 220 verwendet wird. Ein Beispiel eines Seitenver
zeichnisses 125 ist in Fig. 2 gezeigt. Wie gezeigt, weist das
Seitenverzeichnis 125 eine vorbestimmte Anzahl von Zeilen und
Spalten von Daten auf, zum Beispiel 8 jeweils mit den Bezugs
buchstaben A, B, . . . und H bezeichnete Reihen, wobei jede
Reihe, 6 Datenfelder: BKVC, BNK, SEG, PAG, LRU und VLD aufweist
(es sei hier angemerkt, daß im folgenden innerhalb dieser Be
schreibung die Bezeichnung BKVC_A zur Bezeichnung entweder des
Inhalts des Feldes BKVC in Reihe A oder des zum Setzen des In
halts des Feldes BKVC in Reihe A auf einen spezifizierten Wert
verwendeten Datensignals verwendet wird). Jede Reihe steht für
die Benutzung durch eine vorhergehende Zugriffsoperation. Das
Feld BKVC wird dazu verwendet, anzuzeigen, daß ein im Seiten
verzeichnis abgespeichertes Datum einen vorhergehenden Zugriff
auf eine VC-SDRAM-Einheit (in dem Fall, daß die SDRAM-Einheit
220 eine VC-SDRAM-Einheit ist) darstellt; das Feld BNK wird zum
Speichern der Bankadresse eines vorhergehenden Zugriffs auf die
SDRAM-Einheit 220 oder den VC-SDRAM verwendet; das Feld SEG
wird zum Abspeichern der Segmentadresse eines vorhergehenden
Zugriffs auf den VC-SDRAM verwendet; das Feld PAG wird zum Ab
speichern der Seitenadresse eines vorhergehenden Zugriffs auf
die SDRAM-Einheit 220 oder den VC-SDRAM verwendet. Zusätzlich
wird das Feld LRU zum Abspeichern eines numerischen Wertes im
Bereich von 0 bis 7 verwendet, der den Benutzungsgrad der zuge
hörigen in den Feldern BKVC, BNK, SEG und PAG registrieren
Adreßdaten definiert; und das Feld VLD wird zum Abspeichern
eines Gültigkeitsbits verwendet, das angibt, ob das zugehörige
Adreßdatum gültig oder ungültig ist. Bei dem Beispiel aus Fig.
2 sind nur die Datenfelder aufgeführt, die einen Bezug zum Ge
danken und zum Bereich der Erfindung haben. Bei praktischen Im
plementierungen kann das Seitenverzeichnis 125 weitere zusätz
liche Felder zum Abspeichern von zu verschiedenen anderen
Zwecken bestimmten Daten auf Grundlage der Erfordernisse der
tatsächlichen Anwendung aufweisen. Außerdem sind hier die
Datenfelder in gesammelter Weise in einem einzigen Verzeichnis
dargestellt, in der Praxis können aber einige der Datenfelder
in andere Einheiten integriert sein; zum Beispiel können die
LRU-Daten in die Ausnutzungsraten-Register-Einheit 130 inte
griert sein, und die VLD-Daten können in die Gültigkeitsprüf
einheit 140 integriert sein.
Das schematische Blockdiagramm in Fig. 3 veranschaulicht die
detaillierte innere Architektur der bei dem System 100 zur
Speicherzugriffsverwaltung aus Fig. 1 verwendeten Vergleichs
einheit 110. Wie gezeigt ist, weist die Vergleichseinheit 110
eine Seitenvergleichseinheit 310, eine Bankvergleichseinheit
320 und einen Satz von NAND-Gattern 330, 340, 350 auf. Die Sei
tenvergleichseinheit 310 wird zum Vergleichen der Adreßdaten
der gegenwärtig ausgegebenen Zugriffsanfrage von der Hauptein
heit 210, das heißt DA [27:1] und SEGIN [1:0], mit jedem der 8
Sätze von Adreßdaten (PAG_A, SEG_A, BKVC_A) 311, (PAG_B, SEG_B,
BKVC_B) 312, . . . und (PAG_H, SEG_H, BKVC_H) 318 aus dem Seiten
verzeichnis 125 verwendet, so daß überprüft wird, ob auf den
angefragten Speicherplatz kürzlich zugegriffen worden ist. Die
Seitenvergleichseinheit 310 gibt ein Seitentrefferisgnal PAGHIT
[7:0] aus, welches angibt, ob die aktuelle Zugriffsanfrage ein
Seitentreffer ist, und sie gibt ein Segmenttreffersignal SEGHIT
[7:0] aus, welches angibt, ob die aktuelle Zugriffsanfrage ein
Segmenttreffer ist.
Die Bankvergleichseinheit 320 wird zum Vergleichen der Bank
adreßdaten der gegenwärtig ausgegebenen Zugriffsanfrage von der
Haupteinheit 210, das heißt BANK [9:0], mit jedem der 8 Sätze
von Adreßdaten (BNK_A, VLD_A) 321, (BNK_B, VLD_B) 322, . . . und
(BNK_H, VLD_H) 328 verwendet. Die Bankvergleichseinheit 320
gibt ein Banktreffersignal BKHIT_[H:A]_ aus, welches angibt, ob
die aktuelle Zugriffsanfrage ein Banktreffer ist, ein Seiten
treffersignal PGHIT_[H:A]_, welches angibt, ob die aktuelle
Zugriffsanfrage ein Seitentreffer ist, und ein Segmenttreffer
signal SGHIT_[H:A]_, welches angibt, ob die aktuelle Zugriffs
anfrage ein Segmenttreffer ist. Bei dieser bevorzugten Ausfüh
rungsform werden diese Signale BKHIT_[H:A]_, PGHIT_[H:A]_ und
SGHIT_[H:A]_ ein jedes in frei geschaltenen Zustand versetzt,
wenn der zugehörige Ausgangsport sich in einem Zustand mit
logisch niedriger Spannung befindet. Dazu wird das Banktreffer
signal BKHIT_[H:A]_ anschließend durch ein erstes NAND-Gatter
330 in einen Zustand logisch hoher Spannung invertiert, so daß
es die Freigabe des an die SDRAM-Einheit 220 ausgegebenen Bank
treffersignals BKHIT bildet; das Seitentreffersignal
PGHIT_[H:A]_ wird anschließend von dem zweiten NAND-Gatter 340
in einen Zustand mit logisch hoher Spannung invertiert, so daß
es die Freigabe des an die SDRAM-Einheit 220 ausgegebenen Sei
tentreffersignals ONPAG bildet; und das Segmenttreffersignal
SGHIT_[H:A]_ wird anschließend von dem dritten NAND-Gatter 350
in einen Zustand logisch hoher Spannung invertiert, so daß es
die Freigabe des an die SDRAM-Einheit 220 ausgegebenen Segment
treffersignals SEGHIT bildet.
Das in Fig. 4 gezeigte schematische Blockdiagramm veranschau
licht die detailliertere innere Architektur der bei dem System
100 zur Speicherzugriffsverwaltung aus Fig. 1 verwendeten Sei
tenverzeichnis-Register-Einheit 120. Wie gezeigt ist, weist die
Seitenverzeichnis-Register-Einheit 120 eine Auffangschaltung
410 und eine Auswahlschaltung 420 auf. Darüber hinaus weist die
Seitenverzeichnis-Register-Einheit 120 8 Registersätze (BNK_A,
PAG_A, SEG_A, BKVC_A) 431, . . ., (BNK_H, PAG_H, SEG_H, BKVC_H)
438 auf, wobei jedes Register zum Abspeichern der Adreßdaten
einer vorangehenden Zugriffsoperation auf die SDRAM-Einheit 220
verwendet wird. Diese 8 Registersätze (BNK_A, PAG_A, SEG_A,
BKVC_A) 431, . . ., (BNK_A, PAG_H, SEG_H, BKVC_H) 438 bilden ge
meinsam einen Teil des in Fig. 2 gezeigten Seitenverzeichnisses
125 (bei dieser Ausführungsform sind die beiden anderen Daten
felder, d. h. LRU und VLD, in die Ausnutzungsraten-Register-Ein
heit 130 beziehungsweise in die Gültigkeitsprüfeinheit 140
integriert). Die Auffangschaltung 410 wird durch das Signal
PGCMP gesteuert, so daß die Ausgangsdaten BKHIT_[H:A]_,
SGHIT_[H:A]_, BKHIT und SEGHIT, die von der Haupteinheit 110
kommen, zwischengespeichert werden. Die zwischengespeicherten
Daten werden dann über einen Datenbus 412 zur Auswahlschaltung
420 übertragen. Zusätzlich zu den Ausgangsdaten der Auffang
schaltung 410 empfängt die Auswahlschaltung 420 VLD_[H:A] und
LRU [H:A] von der Ausnutzungsraten-Register-Einheit 130 und ein
Steuersignal PGUPD, wodurch ein Auswahlsignal SEL erzeugt und
an das Seitenverzeichnis 125 übertragen wird, so daß das Daten
element aus dem Seitenverzeichnis 125 ausgewählt wird, dessen
Wert durch die Eingangssignale BANK, LDA [27:11], SEGMENT und
VCSDRAM aktualisiert werden soll. Die Ausgangssignale der Sei
tenverzeichnis-Register-Einheit vvv 120 weisen PREPAG, LPGSB
[1:0], LPGBK [7:0], RXPAG [27:11] und RXSEG [1:0] auf.
Das schematische Blockdiagramm in Fig. 5A veranschaulicht die
detailliertere innere Architektur der in dem Sytem 100 zur
Speicherzugriffsverwaltung aus Fig. 1 verwendeten Ausnutzungs
raten-Register-Einheit 130. Wie gezeigt, weist die Ausnutzungs
raten-Register-Einheit 130 einen Satz von Registern 511, 512,
. . ., 518 zum Abspeichern der Daten LRU_A, LRU_B. . . und LRU_H
auf. Die Ausnutzungsraten-Register-Einheit 130 verwendet PGCMP,
BKHIT, PGUPD und SEL als Eingangssignale und erzeugt ein Aus
gangssignal LRU [H:A]. Darüber hinaus wird das Ausgangssignal
LRU [H:A] als Feedback an die Eingangsseite der Ausnutzungs
raten-Register-Einheit 130 verwendet. Gemäß der Erfindung wer
den die Register LRU_A, LRU_B, . . . und LRU_H 511, 512, . . ., 518
zum Abspeichern der jeweiligen LRU-Werte verwendet, die die
Rate der kürzlichen Ausnutzung von Speicherplätzen in der
SDRAM-Einheit 220, auf die kürzlich zugegriffen worden ist,
angibt. Wie schon früher erwähnt, liegt jeder LRU-Wert im
Bereich von 0 bis 7; außerdem sind die LRU-Werte in diesen 8
Registern 511, 512. . ., 518 jeweils nur einmal zugeordnet und
unterscheiden sie sich voneinander (mit anderen Worten ist die
Summe der in diesen 8 Registern 511, 512, . . ., 518 abgespei
cherten jeweiligen Werte immer 28). Der kleinste Wert 0 wird
verwendet, um anzuzeigen, daß auf den zugehörigen Speicherplatz
zuletzt zugegriffen worden ist, und der höchste Wert 7 wird
verwendet, um anzuzeigen, daß auf den zugehörigen Speicherplatz
am längsten nicht zugegriffen worden ist. Die Aktualisierung
auf die Werte in diesen 8 Registern 511, 512, . . ., 518 wird
einen Taktzyklus, nachdem das Signal PGCMP oder PGUPD freige
schalten worden ist, durchgeführt. Die Zeitdauer dieser Ver
zögerung von einem Taktzyklus kann zum Berechnen der aktuali
sierten Werte dieser 8 Register 511, 512, . . ., 518 verwendet
werden. Wenn die aktuelle Zugriffsanfrage ein Banktreffer ist,
wird die angefragte Bankadresse an das in einer bestimmten
Speicherzelle des Seitenverzeichnisses 125 abgespeicherte Bank
adressendatum angepaßt. Bei der Initialisierung wird ein jedes
dieser Register 511, 512, . . ., 518 auf einen bestimmten Initia
lisierungswert, zum Beispiel 0, eingestellt, so daß die Opera
tion durch undefinierte Daten im Seitenverzeichnis 125 nicht
unterbrochen wird.
Das in Fig. 5B gezeigte schematische Blockdiagramm veranschau
licht die Eingangs-/Ausgangs-Konfiguration der in dem System
100 zur Speicherzugriffsverwaltung aus Fig. 1 verwendeten Gül
tigkeitsprüfeinheit 140. Wie gezeigt, verwendet die Gültig
keitsprüfeinheit 140 PGFLH, PGUPD, BNK_[H:A], EDO_BNK und
BKVC_[H:A] als Eingangssignale und erzeugt ein Ausgangssignal
VLD_[H:A]. Das Ausgangssignal VLD_[H:A] wird weiter als Feed
back an die Eingangsseite der Gültigkeitsprüfeinheit 140 ver
wendet. Das Ausgangssignal VLD_[H:A] ist ein Datenwort, bei dem
jedes Bit verwendet wird, um anzuzeigen, ob die entsprechende
VLD-Speicherzelle im Seitenverzeichnis 125 auf 1 gesetzt werden
soll, wodurch die Gültigkeit des zugehörigen Speicheradreßda
tums angezeigt wird, oder ob sie auf 0 gesetzt werden soll, wo
durch angezeigt wird, daß die zugehörigen Speicheradreßdaten
ungültig oder noch undefiniert sind.
Der Betrieb des in Fig. 1 gezeigten Systems 100 zur Speicherzu
griffsverwaltung weist die folgenden Hauptschritte auf.
- 1. Erstens werden bei der Initialisierung die Speicherzellen des Seitenverzeichnisses 125 eine jede auf einen bestimmten Wert gesetzt, zum Beispiel 0, so daß verhindert wird, daß der Betrieb durch undefinierte Daten im Seitenverzeichnis 125 unterbrochen wird.
- 2. Zweitens wird, wenn eine Zugriffsanfrage ausgegeben wird, der angefragte Speicherplatz, mitsamt Seitenadresse, Bank adresse und Segmentadresse, mit den im Seitenverzeichnis 125 abgespeicherten Adreßdaten verglichen, wodurch überprüft wird, ob auf den angefragten Speicherplatz kürzlich zugegriffen worden ist;
- 3. Drittens werden die LRU-Daten und die VLD-Daten im Seiten verzeichnis 125 daraufhin überprüft, welche Speicherzelle aktu alisiert oder zum Abspeichern von neuen Adreßdaten ausgewählt werden muß.
Das in Fig. 6 gezeigte Flußdiagramm veranschaulicht die bei dem
Verfahren gemäß dem Verfahren vorkommenden Prozedurschritte.
Im ersten Schritt 610 wird von der Speichersteuereinheit ein
Adreßsignal empfangen.
Im zweiten Schritt 612 wird das empfangene Adreßsignal mit den
Adreßdaten im Seitenverzeichnis verglichen, wodurch auf Über
einstimmung überprüft wird. Im Falle eines JA schreitet die
Prozedur weiter zu Schritt 614; anderenfalls, im Falle eines
NEIN, schreitet die Prozedur weiter zu Schritt 620.
Im Schritt 614 wird ein Treffersignal erzeugt; und dann schrei
tet die Prozedur fort zum Schritt 628.
Im Schritt 620 andererseits wird das Seitenverzeichnis einge
sehen, so daß der maximale LRU-Wert aufgefunden wird. Als näch
stes, im Schritt 622, wird überprüft, ob der mit dem maximalen
LRU-Wert verbundene VLD-Wert gültig ist. Falls JA, schreitet
die Prozedur weiter zu Schritt 624; ansonsten, im Falle eines
NEIN, schreitet die Prozedur fort zu Schritt 626.
Im Schritt 624 wird gemäß den mit dem maximalen LRU-Wert ver
bundenen Adreßdaten eine Wiederherstellungsadresse erzeugt, so
daß die entsprechende Seite geschlossen wird. Nachdem dies
vollendet ist, schreitet die Prozedur weiter zu Schritt 626.
In Schritt 626 wird die gegenwärtig empfangene Adresse in die
dem maximalen LRU-Wert zugeordnete Speicherzelle abgespeichert.
Dann schreitet die Prozedur weiter zu Schritt 628.
In Schritt 628 wird die Speicherzelle, die den maximalen LRU-
Wert speichert, auf den LRU-Wert 0 zurückgesetzt, und alle
anderen LRU-Werte im Seitenverzeichnis werden um 1 erhöht. Die
Prozedur ist dann beendet.
Anhand der in den Fig. 7A bis 7G gezeigten Tabellen sind
beispielhafte Daten gezeigt, die in Reaktion auf eine Folge von
Zugriffsanfragen in dem bei dem System 100 zur Speicherseiten
verwaltung aus Fig. 1 verwendeten Seitenverzeichnis 125 abge
speichert sind. In diesen Tabellen sind die im Seitenverzeich
nis 125 aus Fig. 2 gezeigten Daten BKVC, BNK, SEG, PAG zur Ver
einfachung der Beschreibung gemeinsam durch die ADRESSE-Daten
in der ersten Spalte dargestellt.
Fig. 7A zeigt die bei der Initialisierung in das Seitenver
zeichnis abgespeicherten Daten Adresse, LRU und VLD. Wie ge
zeigt, werden bei der Initialisierung alle 8 ADRESSE-Werte in
den 8 Reihen A bis H auf 0 gesetzt, und da alle diese ADRESSE-
Werte ungültig sind (was bedeutet, daß sie nicht die Adreßdaten
eines vorhergehenden Zugriffs auf den SDRAM darstellen), werden
alle VLD-Speicherzellen auf 0 gesetzt. Weiter werden die LRU-
Speicherzellen auf 7, 6, 5, 4, 3, 2, 1 beziehungsweise 0 ge
setzt.
Angenommen, die Haupteinheit 210 gebe dann eine Reihe von Zu
griffsanfragen aus, wodurch Zugriff auf die SDRAM-Einheit 220
erlangt werden soll.
In Bezug auf Fig. 7B sei angenommen, daß eine Zugriffsanfrage
an die Seitenadresse "10" gerichtet sei; dann wird, da alle
ADRESSE-Werte des aktuellen Seitenverzeichnisses unbenutzt
sind, diese Seitenadresse "10" in die ADRESSE-Speicherzelle der
ersten Reihe A abgespeichert; und währenddessen wird die VLD-
Speicherzelle von Reihe A auf 1 gesetzt. Weiter wird die LRU-
Speicherzelle von Reihe A auf 0 gesetzt, wobei die LRU-Spei
cherzellen in anderen Reihen, die niedriger als 7 sind, um 1
erhöht werden.
In Bezug auf Fig. 7C sei nun angenommen, daß die nächste Zu
griffsanfrage an die Seitenadresse "20" gerichtet sei; dann
wird diese Seitenadresse "20" mit allen ADRESSE-Werten im
Seitenverzeichnis aus Fig. 7B verglichen, so daß überprüft
wird, ob Übereinstimmung mit dieser Seitenadresse "20" besteht.
In diesem Beispiel ist das Vergleichsergebnis NEIN; und folg
lich wird die Seitenadresse "20" in die ADRESSE-Speicherzelle
der nächsten Reihe B abgespeichert; und währenddessen wird die
VLD-Speicherzelle von Reihe B auf 1 gesetzt. Weiter wird die
LRU-Speicherzelle von Reihe B auf 0 gesetzt, wobei die LRU-
Speicherzellen in den anderen Reihen, die geringer als 7 sind,
um 1 erhöht werden.
In Bezug auf Fig. 7D sei nun angenommen, daß die nächsten Zu
griffsanfragen jeweils an die Seitenadressen "30", "40", "50",
"60", "70" bzw. "80" gerichtet seien; dann werden, da keine
dieser Seitenadressen mit den im Seitenverzeichnis abgespei
cherten Seitenadresswerten übereinstimmt, diese Seitenadressen
in die verbleibenden unbenutzten Adress-Speicherzellen abge
speichert und die zugehörigen LRU- und VLD-Werte auf die glei
che Art wie oben beschrieben gesetzt.
In Bezug auf Fig. 7E sei nun angenommen, daß die folgende Zu
griffsanfrage an die Seitenadresse "90" gerichtet sei; dann
wird diese Seitenadresse "90" mit allen ADRESSE-Werten im Sei
tenverzeichnis aus Fig. 7D verglichen, so daß überprüft wird,
ob Übereinstimmung mit dieser Seitenadresse "90" besteht. In
diesem Beispiel ist das Vergleichsergebnis NEIN; und folglich
wird diese Seitenadresse "90" in die ADRESSE-Speicherzelle in
der Reihe abgespeichert, die den höchsten LRU-Wert enthält (in
diesem Beispiel die ADRESSE-Speicherzelle der letzten Reihe A,
die den höchsten LRU-Wert 7 enthält (siehe Fig. 7D)). Die VLD-
Speicherzelle von Reihe A bleibt unverändert. Weiter wird die
LRU-Speicherzelle von Reihe A von 7 zu 0 geändert, wobei alle
anderen LRU-Speicherzellen in den anderen Reihen, die niedriger
sind als 7, um 1 erhöht. Außerdem verursacht die VLD-Speicher
zelle von Reihe A, da sie vorher auf 1 gesetzt wird, die Aus
gabe eines Vorlade-Freigabesignals an die SDRAM-Einheit 220, so
daß die gegenwärtig geöffnete Seite mit der Seitenadresse "10"
geschlossen wird.
In Bezug auf Fig. 7F sei nun weiter angenommen, daß die nach
folgende Zugriffsanfrage an die Seitenadresse "40" gerichtet
sei; dann wird diese Seitenadresse "40" zuerst mit allen
ADRESSE-Werten im Seitenverzeichnis aus Fig. 7E verglichen, so
daß überprüft wird, ob Übereinstimmung mit der Seitenadresse
"40" besteht. In diesem Beispiel ist das Vergleichsergebnis JA,
da die ADRESSE-Speicherzelle von Reihe D "40" ist. In diesem
Fall bleiben die Werte der ADRESSE- und der VLD-Speicherzelle
unverändert, während die LRU-Speicherzelle von 5 nach 0 geän
dert wird. Außerdem werden alle LRU-Speicherzellen in anderen
Reihen, die geringer sind als der ursprünglich in der LRU-Spei
cherzelle von Reihe D abgespeicherte Wert, um 1 erhöht (das
heißt die jeweiligen LRU-Speicherzellen der Reihen A, E, F, G
und H werden eine jede um 1 erhöht).
In Bezug auf Fig. 7G sei nun angenommen, daß die nachfolgende
Zugriffsanfrage an die Seitenadresse "22" gerichtet sei und die
angefragte Adresse sich in der selben Bank befinde, in der sich
die Seite mit der Seitenadresse "20" befindet; dann wird diese
Seitenadresse "22" mit all den Speicherzellen im ADRESSE-Feld
des Seitenverzeichnisses 125 verglichen. In diesem Beispiel ist
das Vergleichsergebnis ein Banktreffer. In diesem Fall wird, da
in jeder Bank nur eine Seite auf einmal geöffnet sein kann, der
ADRESSE-Wert von Reihe B von "20" zu "22" geändert und der LRU-
Wert von Reihe B von "7" nach "0" geändert, während der VLD-
Wert von Reihe B unverändert bleibt. Außerdem werden alle ande
ren LRU-Werte in anderen Reihen, die geringer sind als die ur
sprünglichen Werte in den LRU_B-Speicherzellen, um 1 erhöht
(das heißt, die jeweiligen LRU-Werte der Reihen A, D, E, F, G,
C und H werden ein jeder um 1 erhöht). Bevor die angefragte
Seite geöffnet werden kann, sollte die gegenwärtig geöffnete
Seite, das heißt die Seite bei "20", geschlossen werden.
Fig. 8A bis 8D und Fig. 9A bis 9B sind Signalfolgedia
gramme von verschiedenen bei dem System 100 zur Speicherseiten
verwaltung aus Fig. 1 in Reaktion auf verschiedene Betriebs
bedingungen verwendeten Signalen. Die Zeitabfolgen dieser Sig
nale basieren auf einem gemeinsamen Taktsignal DCLK.
Das in Fig. 8A gezeigte Signalfolgediagramm veranschaulicht die
Zeitabfolge zwischen DCLK, ONPAG, BKHIT, PGCMP, LRU_A, VLD_A,
PAG_A und BNK_A für den Fall, daß die aktuelle Zugriffsanfrage
von der. Haupteinheit 210 ein Seitentreffer ist (oder ein Seg
menttreffer bezüglich des VC-SDRAM), und daß der angefragte
Speicherplatz auf einen in Reihe A des Seitenverzeichnisses 125
abgespeicherten zutrifft. In diesem Fall schaltet die Ver
gleichseinheit 110 an T0 die Signale ONPAG und BKHIT in den
freigeschaltenen Zustand (das heißt in einen Zustand logisch
hoher Spannung); und dann wird an T7 PGCMP in einen Zustand mit
logisch hoher Spannung geschalten, wodurch die Auffangschaltung
410 der Seitenverzeichnis-Register-Einheit 120 zum Zwischen
speichern der aktuell empfangenen Daten von der Vergleichsein
heit 110 veranlaßt wird. Anschließend wird an T9 das Signal
LRU_A freigeschalten, so daß die entsprechende Speicherzelle im
Seitenverzeichnis 125 auf 0 gesetzt wird.
Das in Fig. 8B gezeigte Signalfolgediagramm veranschaulicht die
Zeitabfolge zwischen DCLK, ONPAG, BKHIT, PGCMP, PGUPD, LRU_A,
VLD_A, PAG_A Und BNK_A für den Fall, daß die aktuelle Zugriffs
anfrage ein Banktreffer und dabei aber ein Seitenfehltref
fer ist. Wie bereits früher erwähnt wurde, kann in jeder Bank
nur eine Seite auf einmal geöffnet sein. Daher sollte die ent
sprechende Speicherzelle im Seitenverzeichnis 125 durch die
Seitenadresse der aktuellen Zugriffsanfrage ersetzt werden. In
Reaktion auf die Zugriffsanfrage schaltet die Vergleichseinheit
110 am T0 das Signal BKHIT in den freigeschaltenen Zustand (das
heißt in den Zustand logisch hoher Spannung); und dann wird die
gegenwärtig geöffnete Seite geschlossen. Danach wird das Signal
PGCMP an T5 in den Zustand logisch hoher Spannung geschalten,
wodurch die Auffangschaltung 410 der Seitenverzeichnis-Regi
ster-Einheit 120 zum Zwischenspeichern der gegenwärtig empfan
genen Daten von der Vergleichseinheit 110 veranlaßt wird. Da
nach wird an T10 PGUPD freigeschalten, so daß veranlaßt wird,
daß die entsprechende Speicherzelle im Seitenverzeichnis 125
durch das Signal PAG_A auf den Wert der angefragten Seiten
adresse gesetzt wird. Danach wird die angefragte Seite ge
öffnet.
In dem Fall, daß die aktuelle Zugriffsanfrage ein Bankfehltref
fer ist, ist es erforderlich, daß eine Speicherzelle im Seiten
verzeichnis 125 zum Abspeichern des Speicherplatzes der jüng
sten Zugriffsoperation gefunden wird. In diesem Fall müssen
zwei Bedingungen beachtet werden, die im folgenden unter Bezug
auf Fig. 8C beziehungsweise 8D veranschaulicht sind.
Das in Fig. 5C gezeigte Signalfolge-Diagramm veranschaulicht
die Zeitabfolge zwischen DCLK, ONPAG, BKHIT, PGCMP, PGUPD,
LRU_A, VLD_A, PAG_A und BNK_A für den Fall, daß die aktuelle
Zugriffsanfrage ein Bankfehltreffer ist und es noch unbenutzte
Speicherzelle im Seitenverzeichnis 125 gibt. In diesem Fall
behält die Vergleichseinheit 110 den Zustand der Signale ONPAG
und BKHIT unverändert bei. Nachfolgend wird an T1 das Signal
PGCMP in den freigeschaltenen Zustand geschaltet, so daß die
Auffangschaltung 410 der Seitenverzeichnis-Register-Einheit 120
zum Zwischenspeichern der gegenwärtig empfangenen Daten von der
Vergleichseinheit 110 veranlaßt wird. Dann wird aus dem Seiten
verzeichnis 125 die Reihe, die den höchsten LRU-Wert und den
VLD-Wert 0 aufweist, zum Abspeichern des Speicherplatzes der
aktuellen Zugriffsanfrage ausgewählt (in diesem Beispiel wird
die Reihe A gewählt). Nachfolgend wird an T4 das Signal PGUPD
freigeschalten, so daß veranlaßt wird, daß die entsprechenden
Speicherzellen im Seitenverzeichnis 125 durch die Signale PAG_A
und BNK_A jeweils auf den Wert der angefragten Seite bzw. Bank
gesetzt werden, und wodurch auch veranlaßt wird, daß die ent
sprechende Speicherzelle durch das Signal VLD_A auf 1 gesetzt
wird. Nach einem Taktzyklus wird das Signal LRU_A freigeschal
ten, so daß die entsprechende Speicherzelle im Seitenverzeich
nis 125 auf 0 gesetzt wird; und währenddessen werden alle LRU-
Speicherzellen in anderen Reihen, die geringer als 7 sind, um 1
erhöht.
Das in Fig. 8D gezeigte Signalfolge-Diagramm veranschaulicht
die Zeitabfolge zwischen DCLK, ONPAG, BKHIT, PGCMP, PGUPD,
LRU_A, VLD_A, PAG_A, BNK_A, LPGBK und LPGSB für den Fall, daß
die aktuelle Zugriffsanfrage ein Bankfehltreffer ist und es im
Seitenverzeichnis 125 keine unbenutzten Speicherzellen gibt. In
diesem Fall besteht der erste Schritt darin, die Reihe im Sei
tenverzeichnis 125 zu finden, die den höchsten LRU-Wert enthält
(das heißt 7, was bedeutet, daß die Reihe zuletzt verwendet
worden ist). In Reaktionen auf diese einen Bankfehltreffer dar
stellende Zugriffsanfrage behält die Vergleichseinheit 110 den
Zustand der Signale ONPAG und BKHIT unverändert. Anschließend
wird an T1 das Signal PGCMP freigeschalten, so daß die Auffang
schaltung 410 der Seitenverzeichnis-Register-Einheit 120 zum
Zwischenspeichern der gegenwärtig empfangenen Daten von der
Vergleichseinheit 110 veranlaßt wird. Dann wird aus dem Seiten
verzeichnis 125 die Reihe mit dem höchsten LRU-Wert (in diesem
Beispiel die Reihe A) zum Abspeichern des Speicherplatzes der
aktuellen Zugriffsanfrage ausgewählt. Bevor die Aktualisierung
des Seitenverzeichnisses 125 durchgeführt wird, ist es erfor
derlich, daß die SDRAM-Einheit 220 zum Zweck des Schließens der
gegenwärtig geöffneten Bank und Subbank vorgeladen wird. An
schließend, während der ansteigenden Flanke des Taktzyklus T7,
werden die in der ausgewählten Speicherzelle abgespeicherten
Daten zwischengespeichert, und dann werden die Signale LPGBK
und LPGSB in den freigeschaltenen Zustand geschaltet, so daß
die gegenwärtig geöffnete Bank und Subbank vorgeladen werden.
Anschließend wird an T6 das Signal PGUPD freigeschalten, so daß
die Signale PAG_A und BNK_A dazu veranlaßt werden, die entspre
chenden Speicherzellen im Seitenverzeichnis 125 auf die spezi
fizierten Werte zu setzen. Anschließend wird an T8 das Signal
LRU_A freigeschalten, so daß die entsprechende Speicherzelle im
Seitenverzeichnis 125 auf 0 gesetzt wird; und währenddessen
werden alle anderen LRU-Speicherzellen in anderen Reihen um 1
erhöht.
Bei dem vorangehenden Beispiel wird angenommen, daß die SDRAM-
Einheit 220 8 Bänke aufweist, wobei jede Bank in vier Subbänke
partitioniert ist. Daher ist das Signal LBGBK 8 Bit breit, wo
bei jedes Bit zum Freischalten des Zugriffs auf eine der 8
Bänke verwendet wird; und das Signal LPGSB ist 2 Bit breit,
wobei jedes Bit zum Freischalten des Zugriffs auf eine der in
der durch das Signal LPGBK spezifizierten Bank angeordneten 4
Subbänke verwendet wird. Wenn ein VC-SDRAM verwendet wird, dann
werden, wenn die ausgewählten Speicherzellen bereits Daten auf
weisen, Wiederherstellungs-Signale RXPAG [27:11] und RXSEGD
[1:0] zum zyklischen Wiederherstellen erzeugt.
Es gibt einige Computersysteme, bei denen eine SDRAM-Einheit in
Verbindung mit anderen Speichertypen, zum Beispiel einem EDO/FP
DRAM, verwendet wird. In diesem Fall wird das 8 Bit lange Sig
nal CAS# [7:0] vom EDO/FP-DRAM mit dem SDRAM verwendet. Außerdem
sollten, wenn die SDRAM-Einheit aufgefrischt wird, alle darin
enthaltenen Bänke zuerst in Ruhezustand versetzt werden, bevor
das Vorladen ausgeführt werden kann. Das Signal PGFLH wird dazu
verwendet, den zugehörigen VLD-Wert im Seitenverzeichnis auf 0
zu setzen, so daß erlaubt wird, daß der Speicherzugriff von der
EDO/FP DRAM-Einheit zur SDRAM-Einheit schaltbar ist. Zwei Fälle
von Schalten von EDO/FP DRAM zu SDRAM sind im folgenden in Be
zug auf Fig. 9A bzw. 9B dargestellt.
Das in Fig. 9A dargestellte Signalfolgediagramm veranschaulicht
die Zeitabfolge zwischen DCLK, ONPAG, BKHIT, PGCMP, PGFLH,
LRU_A, VLD_A, PAG_A und BNK_A für den Fall, daß die aktuelle
ausgegebene Zugriffsanfrage ein Bankfehltreffer ist und der
aktive Speicherzugriff von der EDO/FP-DRAM-Einheit zur SDRAM-
Einheit geschaltet wird. Wie gezeigt, wird an T1 das Signal
PGUPD freigeschalten, so daß veranlaßt wird, daß die entspre
chenden Speicherzellen im Seitenverzeichnis 125 durch die
Signale PAG_A und BNK_A auf die Werte der angefragten Seiten-
und Bankadressen gesetzt werden; und anschließend wird an T3
das Signal LRU_A freigeschalten, so daß die entsprechenden
Speicherzellen des Seitenverzeichnisses 125 auf 0 gesetzt wer
den, während durch das Signal VLD_A veranlaßt wird, daß der
Wert der entsprechenden Speicherzelle unverändert bleibt. An
schließend wird das Signal PGCMP freigeschalten, so daß der
aktive Speicherzugriff auf die SDRAM-Einheit 220 geschalten
wird. Wenn der EDO/FP DRAM inaktiv ist, kann seine gegenwärtig
geöffnete Seite nicht in geöffnetem Zustand bleiben, weshalb
sie geschlossen werden sollte. An T5 wird das Signal PGFLH in
den Zustand logisch hoher Spannung geschalten, und an T6 wird
VLD_A in den Zustand logisch niedriger Spannung geschalten,
wodurch veranlaßt wird, daß der EDO/FP DRAM deaktiviert wird.
Anschließend wird an T7 das Signal PGUPD freigeschalten, so daß
veranlaßt wird, daß die entsprechenden Speicherzellen im Sei
tenverzeichnis 125 durch die Signale PAG_A und BNK_A auf die
Werte der angefragten Seiten- und Bankadresse gesetzt werden,
und außerdem veranlaßt wird, daß die angefragte Seite geöffnet
wird. Außerdem wird an T8 bei dem Signal VLD_A ein Zustand
logisch hoher Spannung wiederhergestellt, so daß die entspre
chende Speicherzelle im Seitenverzeichnis 125 auf 1 gesetzt
wird, wodurch die Gültigkeit der gespeicherten Adreßdaten an
gezeigt wird. Die LRU_A-Speicherzelle im Seitenverzeichnis 125
verbleibt jedoch auf 0.
Das in Fig. 9B gezeigte Signalfolgediagramm veranschaulicht die
Zeitabfolge zwischen DCLK, ONPAG, PGCMP, PGFLH, PGUPD, LRU_A,
LRU_B, VLD_A, PAG_A, BNK_A, VLD_B, PAG_B und BNK_B für den
Fall, daß die aktuelle Zugriffsanfrage ein Banktreffer ist und
der aktive Speicherzugriff von der EDO/FP DRAM-Einheit zur
SDRAM-Einheit geschaltet wird. Wie gezeigt, wird an T1 das
Signal PGUPD freigeschalten, so daß bewirkt wird, daß die ent
sprechenden Speicherzellen in Seitenverzeichnis 125 durch die
Signale PAG_A und BNK_A auf die Werte der angefragten Seiten-
und Bankadressen gesetzt werden; und anschließend wird an T3
das Signal LRU_A freigeschalten, so daß die entsprechenden
Speicherzellen im Seitenverzeichnis 125 auf 0 gesetzt werden,
während der Wert des Signals LRU_B um 1 erhöht wird und die
VLD_A-Speicherzelle unverändert bleibt. Anschließend wird an T3
das Signal PGCMP freigeschalten, so daß der aktive Speicher
zugriff auf die SDRAM-Einheit 220 geschalten wird. Anschließend
wird an T5, da die Vergleichseinheit 110 anzeigt, daß die aktu
elle Zugriffsanfrage ein Treffer bezüglich eines in der Reihe B
des Seitenverzeichnisses 125 abgespeicherten Speicherplatzes
ist, das Signal LRU_B freigeschalten, so daß bewirkt wird, daß
die entsprechende Speicherzelle im Seitenverzeichnis 125 auf 0
gesetzt wird; und währenddessen werden alle anderen LRU-Spei
cherzellen in anderen Reihen, die geringer sind, als der
ursprünglich in der LRU_B-Speicherzelle abgespeicherte Wert, um
1 erhöht. Außerdem wird das Signal LRU_A freigeschalten, so daß
bewirkt wird, daß die entsprechende Speicherzelle im Seitenver
zeichnis 125 von 0 auf 1 geschalten wird. Danach wird das Sig
nal PGFLH in einen Zustand logisch hoher Spannung geschalten
und das Signal VLD_A in einen Zustand logisch niedriger Span
nung geschalten, wodurch bewirkt wird, daß der EDO/FP DRAM ge
schlossen wird.
Bevor ein Auffrischungsprozeß durchgeführt wird, sollten zuerst
alle Bänke in der SDRAM-Einheit 220 vorgeladen werden. Dazu
sollten zuerst alle VLD-Werte im Seitenverzeichnis 125 auf 0
gesetzt werden, wodurch die Ungültigkeit aller Adreßdaten im
Seitenverzeichnis 125 angezeigt wird. Außerdem ist, wenn ein
VC-SDRAM verwendet wird, keine Aktualisierung der Adreßdaten im
Seitenverzeichnis 125 erforderlich, da der VC-SDRAM eine
automatische Vorladeeinrichtung verwendet.
Zusammenfassend haben das Verfahren und das System zur Spei
cherzugriffsverwaltung gemäß der Erfindung folgende Vorteile.
Erstens ist die Speicherzugriffs-Performanz durch ein Verfolgen
der Geschichte vorangehender Zugriffsoperationen auf den SDRAN
erhöhbar. Zweitens kann im Voraus abgeschätzt werden, ob der
nächste Pipeline-Zugriff ein Vorladen erfordert oder nicht;
falls ja, wird zu der Zeit, wenn der aktuelle Zugriff abge
arbeitet wird, ein Vorlade-Freigabesignal ausgegeben. Folglich
ist die Zugriffsverzögerung reduzierbar. Insgesamt ist die
Speicherzugriffs-Performanz erhöht.
Claims (11)
1. System zur Speicherzugriffsverwaltung (100) zum Verfolgen
der Zugriffsgeschichte auf eine Speichereinheit, die aufweist:
eine Seitenverzeichnis-Register-Einheit (120) mit einem Seiten verzeichnis (125) zum Abspeichern einer vorbestimmten Anzahl von Speicherplätzen der Speichereinheit, auf welche Speicher plätze kürzlich zugegriffen worden ist, wobei jeder abgespei cherte Speicherplatz zusammen mit einem am längsten-unbenutzt- Eintrag (LRU) abgespeichert ist, der angibt, ob auf den abge speicherten Speicherplatz am längsten nicht zugegriffen worden ist;
eine Vergleichseinheit (110), die vermag, in Reaktion auf jede Zugriffsanfrage auf die Speichereinheit zu überprüfen, ob der angefragte Speicherplatz ein Treffer bezüglich eines im Sei tenverzeichnis (125) der Seitenverzeichnis-Register-Einheit (120) abgespeicherten Speicherplatzes ist; wobei im Falle eines Treffers die Vergleichseinheit (110) ein Treffersignal erzeugt;
eine mit der Seitenverzeichnis-Register-Einheit (120) gekoppel te Ausnutzungsraten-Register-Einheit (130) zum Überwachen der in der Seitenverzeichnis-Register-Einheit (120) abgespeicherten am längsten-unbenutzt-Einträge (LRU); und
eine mit der Seitenverzeichnis-Register-Einheit (120) gekoppel te Gültigkeitsprüfeinheit (140) zum Überprüfen, ob die im Sei tenverzeichnis (125) der Seitenverzeichnis-Register-Einheit (120) abgespeicherten Adreßdaten gültig oder ungültig sind.
eine Seitenverzeichnis-Register-Einheit (120) mit einem Seiten verzeichnis (125) zum Abspeichern einer vorbestimmten Anzahl von Speicherplätzen der Speichereinheit, auf welche Speicher plätze kürzlich zugegriffen worden ist, wobei jeder abgespei cherte Speicherplatz zusammen mit einem am längsten-unbenutzt- Eintrag (LRU) abgespeichert ist, der angibt, ob auf den abge speicherten Speicherplatz am längsten nicht zugegriffen worden ist;
eine Vergleichseinheit (110), die vermag, in Reaktion auf jede Zugriffsanfrage auf die Speichereinheit zu überprüfen, ob der angefragte Speicherplatz ein Treffer bezüglich eines im Sei tenverzeichnis (125) der Seitenverzeichnis-Register-Einheit (120) abgespeicherten Speicherplatzes ist; wobei im Falle eines Treffers die Vergleichseinheit (110) ein Treffersignal erzeugt;
eine mit der Seitenverzeichnis-Register-Einheit (120) gekoppel te Ausnutzungsraten-Register-Einheit (130) zum Überwachen der in der Seitenverzeichnis-Register-Einheit (120) abgespeicherten am längsten-unbenutzt-Einträge (LRU); und
eine mit der Seitenverzeichnis-Register-Einheit (120) gekoppel te Gültigkeitsprüfeinheit (140) zum Überprüfen, ob die im Sei tenverzeichnis (125) der Seitenverzeichnis-Register-Einheit (120) abgespeicherten Adreßdaten gültig oder ungültig sind.
2. System (100) nach Anspruch 1, wobei die Seitenverzeichnis-
Register-Einheit (120) aufweist:
eine mit der Vergleichseinheit (110) gekoppelte Latch-, d. h. Auffangschaltung (410) zum Zwischenspeichern der Ausgangssig nale von der Vergleichseinheit (110), die angeben, ob der ange fragte Speicherplatz ein Treffer bezüglich des Seitenverzeich nisses (125) ist; und
eine mit der Auffangschaltung (410), der Ausnutzungsraten- Register-Einheit (130) und der Gültigkeitsprüfeinheit (140) gekoppelte Auswahlschaltung (420) zum Auswählen eines der im Seitenverzeichnis (125) abgespeicherten Speicherplätze auf Grundlage des Ausgangssignals der Auffangschaltung (410), der Ausnutzungsraten-Register-Einheit (130) und der Gültigkeits prüfeinheit (140).
eine mit der Vergleichseinheit (110) gekoppelte Latch-, d. h. Auffangschaltung (410) zum Zwischenspeichern der Ausgangssig nale von der Vergleichseinheit (110), die angeben, ob der ange fragte Speicherplatz ein Treffer bezüglich des Seitenverzeich nisses (125) ist; und
eine mit der Auffangschaltung (410), der Ausnutzungsraten- Register-Einheit (130) und der Gültigkeitsprüfeinheit (140) gekoppelte Auswahlschaltung (420) zum Auswählen eines der im Seitenverzeichnis (125) abgespeicherten Speicherplätze auf Grundlage des Ausgangssignals der Auffangschaltung (410), der Ausnutzungsraten-Register-Einheit (130) und der Gültigkeits prüfeinheit (140).
3. System (100) nach Anspruch 1, wobei das Seitenverzeichnis
(125) weiter in Verbindung mit jedem abgespeicherten Speicher
platz ein Gültigkeitsbit (VLD) aufweist, welches anzeigt, ob
der abgespeicherte Speicherplatz gültig oder ungültig ist.
4. System (100) nach Anspruch 3, wobei das Gültigkeitsbit (VLD)
eines jeden abgespeicherten Speicherplatzes durch die Ver
gleichseinheit (110) gesetzt und aktualisiert wird.
5. System (100) nach Anspruch 4, wobei der einem jeden im Sei
tenverzeichnis (125) abgespeicherten Speicherplatz zugeordnete
am längsten-unbenutzt-Eintrag (LRU) durch die Ausnutzungsraten-
Register-Einheit (130) gesetzt und aktualisiert wird.
6. System (100) nach Anspruch 5, wobei jeder am längsten-unbe
nutzt-Eintrag (LRU) durch einen numerischen Wert in einem vor
bestimmten Zahlenbereich dargestellt ist, wobei der kleinste
Wert anzeigt, daß auf den zugehörigen Speicherplatz zuletzt
zugegriffen worden ist, und der höchste Wert anzeigt, daß auf
den zugehörigen Speicherplatz am längsten nicht zugegriffen
worden ist.
7. System (100) nach Anspruch 6, wobei in dem Fall, daß die
aktuelle Zugriffsanfrage ein Fehltreffer bezüglich des Seiten
verzeichnisses (125) ist, der Speicherplatz der aktuellen Zu
griffsanfrage zum Ersetzen desjenigen verwendet wird, dessen am
längsten-unbenutzt-Eintrag (LRU) den höchsten Wert aufweist.
8. System (100) nach Anspruch 7, wobei, bevor der Speicherplatz
der aktuellen Zugriffsanfrage denjenigen ersetzt, dessen am
längsten-unbenutzt-Eintrag (LRU) den höchsten Wert hat, er
setzt, die Gültigkeitsprüfeinheit (140) überprüft, ob das zuge
hörige Gültigkeitsbit (VLD) gesetzt ist, so daß es Gültigkeit
anzeigt; falls ja, ein Wiederherstellungssignal zum Wiederher
stellen des ursprünglichen Zustandes im entsprechenden Spei
cherplatz erzeugt wird.
9. System (100) zur Speicherzugriffsverwaltung zum Verfolgen
der Zugriffsgeschichte auf eine Speichereinheit, welche auf
weist:
eine Seitenverzeichnis-Register-Einheit (120) mit einem Seiten verzeichnis (125) zum Abspeichern einer vorbestimmten Anzahl von Speicherplätzen in der Speichereinheit, auf die kürzlich zugegriffen worden ist, wobei jeder abgespeicherte Speicher platz eine Bankadresse (BNK) und eine Seitenadresse (PAG) auf weist, und wobei jeder abgespeicherte Speicherplatz zusammen mit einem am längsten-unbenutzt-Eintrag (LRU) und einem Gül tigkeitsbit (VLD) abgespeichert wird, wobei der am längsten- unbenutzt-Eintrag (LRU) anzeigt, ob der zugehörige Speicher platz am längsten unbenutzt ist, und wobei das Gültigkeitsbit (VLD) anzeigt, ob der zugehörige Speicherplatz gültig oder un gültig ist; und wobei jeder am längsten-unbenutzt-Eintrag (LRU) durch einen numerischen Wert aus einem vorbestimmten Zahlen bereich dargestellt wird, wobei der kleinste Wert anzeigt, daß auf den zugehörigen Speicherplatz zuletzt zugegriffen worden ist, und der höchste Wert anzeigt, daß auf den zugehörigen Speicherplatz am längsten nicht zugegriffen worden ist;
eine Vergleichseinheit (110), die vermag, in Reaktion auf jede Zugriffsanfrage auf die Speichereinheit, zu überprüfen, ob der angefragte Speicherplatz ein Banktreffer oder ein Seitentreffer bezüglich eines der im Seitenverzeichnis (125) der Seitenver zeichnis-Register-Einheit (120) abgespeicherten Speicherplätze ist; wobei die Vergleichseinheit (110) im Fall eines Banktref fers ein Banktreffersignal (BKHIT) und im Fall eines Seiten treffers ein Seitentreffersignal (ONPAG) erzeugt;
eine mit der Seitenverzeichnis-Register-Einheit (120) gekoppel te Ausnutzungsraten-Register-Einheit (130) zum Überwachen der in der Seitenverzeichnis-Register-Einheit (120) abgespeicherten am längsten-unbenutzt-Einträge (LRU), und die vermag, im Fall eines Seitenfehltreffers und Bankfehltreffers bezüglich des Seitenverzeichnisses (125) denjenigen der im Seitenverzeichnis (125) abgespeicherten Speicherplätze, auf den am längsten nicht zugegriffen worden ist, durch den Speicherplatz der aktuellen Zugriffsanfrage zu ersetzen; und
eine mit der Seitenverzeichnis-Register-Einheit (120) gekoppel te Gültigkeitsprüfeinheit (140) zum Überprüfen, ob die im Sei tenverzeichnis (125) der Seitenverzeichnis-Register-Einheit (120) abgespeicherten Daten gültig oder ungültig sind.
eine Seitenverzeichnis-Register-Einheit (120) mit einem Seiten verzeichnis (125) zum Abspeichern einer vorbestimmten Anzahl von Speicherplätzen in der Speichereinheit, auf die kürzlich zugegriffen worden ist, wobei jeder abgespeicherte Speicher platz eine Bankadresse (BNK) und eine Seitenadresse (PAG) auf weist, und wobei jeder abgespeicherte Speicherplatz zusammen mit einem am längsten-unbenutzt-Eintrag (LRU) und einem Gül tigkeitsbit (VLD) abgespeichert wird, wobei der am längsten- unbenutzt-Eintrag (LRU) anzeigt, ob der zugehörige Speicher platz am längsten unbenutzt ist, und wobei das Gültigkeitsbit (VLD) anzeigt, ob der zugehörige Speicherplatz gültig oder un gültig ist; und wobei jeder am längsten-unbenutzt-Eintrag (LRU) durch einen numerischen Wert aus einem vorbestimmten Zahlen bereich dargestellt wird, wobei der kleinste Wert anzeigt, daß auf den zugehörigen Speicherplatz zuletzt zugegriffen worden ist, und der höchste Wert anzeigt, daß auf den zugehörigen Speicherplatz am längsten nicht zugegriffen worden ist;
eine Vergleichseinheit (110), die vermag, in Reaktion auf jede Zugriffsanfrage auf die Speichereinheit, zu überprüfen, ob der angefragte Speicherplatz ein Banktreffer oder ein Seitentreffer bezüglich eines der im Seitenverzeichnis (125) der Seitenver zeichnis-Register-Einheit (120) abgespeicherten Speicherplätze ist; wobei die Vergleichseinheit (110) im Fall eines Banktref fers ein Banktreffersignal (BKHIT) und im Fall eines Seiten treffers ein Seitentreffersignal (ONPAG) erzeugt;
eine mit der Seitenverzeichnis-Register-Einheit (120) gekoppel te Ausnutzungsraten-Register-Einheit (130) zum Überwachen der in der Seitenverzeichnis-Register-Einheit (120) abgespeicherten am längsten-unbenutzt-Einträge (LRU), und die vermag, im Fall eines Seitenfehltreffers und Bankfehltreffers bezüglich des Seitenverzeichnisses (125) denjenigen der im Seitenverzeichnis (125) abgespeicherten Speicherplätze, auf den am längsten nicht zugegriffen worden ist, durch den Speicherplatz der aktuellen Zugriffsanfrage zu ersetzen; und
eine mit der Seitenverzeichnis-Register-Einheit (120) gekoppel te Gültigkeitsprüfeinheit (140) zum Überprüfen, ob die im Sei tenverzeichnis (125) der Seitenverzeichnis-Register-Einheit (120) abgespeicherten Daten gültig oder ungültig sind.
10. System (100) nach Anspruch 9, wobei in dem Fall, das die
aktuelle Zugriffsanfrage ein Banktreffer, dabei jedoch ein
Seitenfehltreffer ist, die Seitenverzeichnis-Register-Einheit
(120) die im Seitenverzeichnis (125) abgespeicherte aktuelle
Seitenadresse durch die Seitenadresse der aktuellen Zugriffs
anfrage ersetzt.
11. Verfahren zur Speicherzugriffsverwaltung zum Verfolgen der
Zugriffsgeschichte auf eine Speichereinheit, welches Verfahren
die Schritte aufweist:
- 1. Bereitstellen eines Seitenverzeichnisses (125) zum Abspei chern einer vorbestimmten Anzahl von Speicherplätzen in der Speichereinheit, auf die kürzlich zugegriffen worden ist, wobei jeder abgespeicherte Speicherplatz zusammen mit einem am läng sten-unbenutzt-Eintrag (LRU) und einem Gültigkeitsbit (VLD) ab gespeichert wird, wobei der am längsten-unbenutzt-Eintrag (LRU) angibt, ob der zugehörige Speicherplatz am längsten nicht be nutzt worden ist, und das Gültigkeitsbit (VLD) angibt, ob der zugehörige Speicherplatz gültig oder ungültig ist;
- 2. In Reaktion auf eine Zugriffsanfrage Vergleichen des ange
fragten Speicherplatzes mit den im Seitenverzeichnis (125)
abgespeicherten Speicherplatzdaten, wodurch auf Übereinstimmung
geprüft wird;
falls Übereinstimmung besteht, Erzeugen eines Treffersignals; wohingegen
falls nicht, Ersetzen desjenigen der im Seitenverzeichnis (125) abgespeicherten Speicherplätze, auf den am längsten nicht zuge griffen worden ist, durch den Speicherplatz der aktuellen Zu griffsanfrage; und - 3. Überprüfen, ob das zugehörige Gültigkeitsbit (VLD) des Speicherplatzes, auf den am längsten nicht zugegriffen worden ist, gesetzt ist, so daß Gültigkeit angezeigt wird; falls ja, Erzeugen eines Wiederherstellungssignals zum Wiederherstellen des ursprünglichen Zustandes in der entsprechenden Speicher zelle.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW088103372A TW416032B (en) | 1999-03-05 | 1999-03-05 | Memory pages management device and method for tracking memory access |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| DE19957612A1 true DE19957612A1 (de) | 2000-09-07 |
Family
ID=21639871
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE19957612A Ceased DE19957612A1 (de) | 1999-03-05 | 1999-11-30 | Verfahren und System zur Speicherzugriffsverwaltung für Synchronous Dynamic Random-Access Memories oder dergleichen |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US6490665B1 (de) |
| JP (1) | JP2000267930A (de) |
| DE (1) | DE19957612A1 (de) |
| TW (1) | TW416032B (de) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6571323B2 (en) * | 1999-03-05 | 2003-05-27 | Via Technologies, Inc. | Memory-access management method and system for synchronous dynamic Random-Access memory or the like |
| US6625700B2 (en) * | 2001-05-31 | 2003-09-23 | Sun Microsystems, Inc. | Arbitration and select logic for accessing a shared memory |
| KR100678913B1 (ko) * | 2005-10-25 | 2007-02-06 | 삼성전자주식회사 | 가상 메모리 시스템에서 페이지 폴트를 줄이는 장치 및방법 |
| CN101751341B (zh) * | 2008-12-18 | 2012-05-23 | 慧国(上海)软件科技有限公司 | 非易失性存储器资料管理方法及非易失性储存装置 |
| KR101612922B1 (ko) * | 2009-06-09 | 2016-04-15 | 삼성전자주식회사 | 메모리 시스템 및 메모리 시스템 관리 방법 |
| WO2013095644A1 (en) * | 2011-12-23 | 2013-06-27 | Intel Corporation | Page miss handler including wear leveling logic |
| US10528488B1 (en) * | 2017-03-30 | 2020-01-07 | Pure Storage, Inc. | Efficient name coding |
| TWI639920B (zh) | 2017-11-17 | 2018-11-01 | 財團法人工業技術研究院 | 記憶體控制器及其控制方法以及記憶體及其控制方法 |
| US11537306B2 (en) * | 2021-03-12 | 2022-12-27 | Micron Technology, Inc. | Cold data detector in memory system |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE69130495T2 (de) * | 1990-06-29 | 1999-06-24 | Digital Equipment Corp., Maynard, Mass. | Umwandlung der Befehle von internen Prozessorregistern in I/O-Adressraum |
| US5873123A (en) * | 1996-06-25 | 1999-02-16 | International Business Machines Corporation | Processor and method for translating a nonphysical address into a physical address utilizing a selectively nonsequential search of page table entries |
| US5781922A (en) * | 1996-11-19 | 1998-07-14 | International Business Machines Corporation | Page boundary caches |
| US6069638A (en) * | 1997-06-25 | 2000-05-30 | Micron Electronics, Inc. | System for accelerated graphics port address remapping interface to main memory |
-
1999
- 1999-03-05 TW TW088103372A patent/TW416032B/zh not_active IP Right Cessation
- 1999-07-09 US US09/350,974 patent/US6490665B1/en not_active Expired - Lifetime
- 1999-11-30 DE DE19957612A patent/DE19957612A1/de not_active Ceased
-
2000
- 2000-03-03 JP JP2000059647A patent/JP2000267930A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| JP2000267930A (ja) | 2000-09-29 |
| TW416032B (en) | 2000-12-21 |
| US6490665B1 (en) | 2002-12-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE3909896C2 (de) | ||
| DE3834759C2 (de) | ||
| DE3724317C2 (de) | ||
| DE19740695C2 (de) | Datenspeicher mit Mehrebenenhierarchie | |
| DE68910391T2 (de) | Verfahren zum Speicherdatenzugriff. | |
| DE19526007C2 (de) | Horizontal partitionierter Befehls-Cache-Speicher | |
| DE19882486B4 (de) | Synchroner, nicht-flüchtiger Seitenmodus-Speicher | |
| DE69031411T2 (de) | Verfahren und Anordnung zum Lesen, Schreiben und Auffrischen eines Speichers mit direktem virtuellem oder physikalischem Zugriff | |
| DE3618163C2 (de) | Speichermanagementanordnung für ein Mikroprozessorsystem | |
| EP0513611B1 (de) | Verfahren zur Datenübertragung für einen Halbleiterspeicher und Halbleiterspeicher zur Durchführung des Verfahrens | |
| EP0974977A2 (de) | Integrierter Speicher | |
| DE10307244A1 (de) | Automatische Vorladesteuerungsschaltung und zugehöriges Vorladesteuerungsverfahren | |
| DE202007019469U1 (de) | Vorrichtung zum Kommunizieren von Befehls- und Adresssignalen | |
| DE10392462T5 (de) | Verahren und System zur Speicherzugriffsverwaltung für einen synchronen, dynamischen Direktzugriffsspeicher oder dergleichen | |
| DE19526008A1 (de) | Vertikal partitionierter, primärer Befehls-Cache-Speicher | |
| DE112004002181T5 (de) | Verfahren und Schaltungskonfiguration zum Auffrischen von Daten in einem Halbleiterspeicher | |
| DE19957612A1 (de) | Verfahren und System zur Speicherzugriffsverwaltung für Synchronous Dynamic Random-Access Memories oder dergleichen | |
| DE69025782T2 (de) | Registerbankschaltung | |
| DE4302754C1 (de) | Monolithisch integrierte Datenspeicheranordnung und Verfahren zu deren Betrieb | |
| DE112007003117T5 (de) | Neue Implementierung der Spaltenredundanz für einen Flash-Speicher mit einem hohen Schreibparallelismus | |
| DE10234944B4 (de) | Verfahren zum Testen eines Halbleiterspeichers mit mehreren Speicherbänken | |
| DE2355814C2 (de) | Kanalzugriffseinrichtung für eine hierarchische Speicheranordnung | |
| EP1100016B1 (de) | Speichereinrichtung mit Ersatz-Speicherzellen | |
| DE3535215A1 (de) | Verfahren und schaltungsanordnung zum lesen von daten aus dem speicher einer datenverarbeitungsanlage | |
| DE10332314B4 (de) | Halbleiterspeicher mit kurzer effektiver Wortleitungszykluszeit sowie Verfahren zum Lesen von Daten aus einem derartigen Halbleiterspeicher |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8128 | New person/name/address of the agent |
Representative=s name: BECKER, KURIG, STRAUS, 80336 MUENCHEN |
|
| 8110 | Request for examination paragraph 44 | ||
| R002 | Refusal decision in examination/registration proceedings | ||
| R003 | Refusal decision now final |
Effective date: 20111129 |