DE3390315T1 - Anpassungsfähige Unterteilung eines Chachespeicherraums in Domainen - Google Patents

Anpassungsfähige Unterteilung eines Chachespeicherraums in Domainen

Info

Publication number
DE3390315T1
DE3390315T1 DE19833390315 DE3390315T DE3390315T1 DE 3390315 T1 DE3390315 T1 DE 3390315T1 DE 19833390315 DE19833390315 DE 19833390315 DE 3390315 T DE3390315 T DE 3390315T DE 3390315 T1 DE3390315 T1 DE 3390315T1
Authority
DE
Germany
Prior art keywords
frame
domain
data
domains
cache
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.)
Withdrawn
Application number
DE19833390315
Other languages
English (en)
Inventor
Ronald L. Blickenstaff
Richard L. Stanford Calif. Coulson
P. David Dodd
Dean P. Longmont Conn. Kinard
Robert J. Boulder Conn. Moreno
Original Assignee
Storage Technology Corp., Louisville, Col.
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 Storage Technology Corp., Louisville, Col. filed Critical Storage Technology Corp., Louisville, Col.
Publication of DE3390315T1 publication Critical patent/DE3390315T1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/312In storage controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/601Reconfiguration of cache memory

Description

Diese Anmeldung stellt eine Teilfortführung der gleichzeitig anhängigen US-Anmeldung 325 351 mit gleichem Titel, eingereicht am 27. November 1981, dar.
Gebiet der Erfindung
Diese Erfindung bezieht sich auf die Datenspeicherverwaltung und -steuerung, insbesondere auf ein System, bei dem ein Festkörper-Cachespeicher, der in Verbindung mit verschiedenen Typen von Langzeit-Magnetplatteneinrichtungen verwendet wird, in Blöcke oder "Domainen" unterteilt wird, deren Größen derart gewählt werden, daß eine effiziente Verwendung des Cachespeichers sichergestellt wird, und zwar ungeachtet der sich ändernden Anforderungen, die an das System gestellt worden.
der Technik
Die Erfindung betrifft ein Festkörper-Cachespeichersubsystem, das als Zusatz zu Langzeit-Magnetplattenspeichermedien verwendet wird. Der Cachespeicher ist außerhalb eines konventionellen Datenübertragungskanals angeordnet, der nicht speziell zur Verwendung mit einem solchen Cachespeichersubsystem ausgebildet ist, so daß das Cachespeichersystem steckerkompatibel und softwaretransparent zu einem Hauptrechner ist. Im einzelnen ist die Erfindung so ausgestaltet, daß sie in .<"■*■ 10 Übereinstimmung mit einem Cachespeichersubsystem arbeiten kann, das Gegenstand der gleichzeitig anhängigen US-Anmeldung 325 346, eingereicht am 27. November 1981, von Dodd, mit dem Titel: "Cache Buffered Memory Subsystem", ist. Diese Anmeldung beschreibt ein Cachespeichersubsystem, das mit einem oder mehreren Speicherinterpolatoren operativ in Verbindung steht, die wiederum an einem Ende mit einem Hauptrechner und mit dem anderen Ende mit Steuermodulen verbunden sind. Weiterhin stehen die Steuermodule mit dem aktuellen Magnetplattenlaufwerk in Verbindung. Wie aus dem Stand der Technik bekannt, dienen die Interpolatoren der Anpassung des Hauptrechners an die Steuermodule, wobei die Steuermodule wiederum die Interpolatoren an die Magnetplattenlaufwerke anpassen. Die Steuermodule werden in Übereinstimmung mit einem bestimmten verwendeten Magnetplattenlaufwerktyp ausgesucht, wohingegen die Interpolatoren mit verschiedenen Steuermodultypen und somit mit verschiedenen Magnetplattenlaufwerkstypen verwendet werden. Gemäß der Erfindung dieser Anmeldung kann der Cachespeicher mit verschiedenen Typen von Magnetplattenlaufwerken und Steuermodulen verwendet werden, da dieser direkt mit dem Interpolator bzw. Interpolatoren in Verbindung steht.
Die Funktion des Festkörper-Cachespeichersubsystems der oben erwähnten, gleichzeitig anhängigen Anmeldung besteht
darin, gewisse,Daten zu speichern, die bestimmt wurden im Hinblick darauf, daß sie vom Hauptrechner wahrscheinlich aufgerufen werden, wobei die Speicherung dieser Daten vor einer aktuellen Datenanforderung des Hauptrechners erfolgt. Diese Bestimmung wird durchgeführt gemäß einer Erfindung, die in weiteren, gleichzeitig anhängigen US-Anmeldungen offenbart ist, nämlich der Anmeldung 325 350, eingereicht am 27. November 1981, von Coulson et al, mit dem Titel: "Detection of Sequential Data Stream", sowie in einer Teilfortführung dieser Anmeldung mit gleichem Titel. Wurde bei einem bevorzugten Ausführungsbeispiel dieser Erfindung einmal bestimmt, daß ein bestimmter Datenblock voraussichtlich vom Hauptrechner aufgerufen wird, so wird die gesamte Magnetplattenspur, die diesen Datenblock enthält, in den Cachespeicher zur vorläufigen Speicherung gebracht, und zwar in Erwartung, daß dieser vom Hauptrechner aufgerufen wird.
Aus Gründen des Adressierungskomforts ist es erwünscht, den Cachespeicher in "Rahmen" zu unterteilen, die so bemessen sind, daß Datenblockgrößen gespeichert werden können, die zur Abspeicherung im Cachespeicher erwartet werden. In Anbetracht der Tatsache, daß das Cachespeichersubsystem mit verschiedenen Typen von Magnetplattenlaufwerken zusammenarbeiten muß, die wiederum sich ändernde Mengen von Daten auf einer bestimmten Spur gespeichert haben, muß eine Einrichtung vorgesehen werden, um den Cachespeicher so nützlich wie möglich zu machen, und zwar ungeachtet der Tatsache, daß Magnetplattenspuren mit unterschiedlichen Größen Spur um Spur in den Cachespeicher abgespeichert werden. Geht man beispielsweise davon aus, daß der gesamte Cachespeicher 200 kb (Kilobytes) Daten enthält und daß die Spurlänge eines bestimmten Magnetplattenlaufwerks 20 kb beträgt, so würden 10 solche Spuren in den Cachespeicher passen. Etwas anders ausgedrückt, der Cachespeicher könnte in zehn 20 kb "Rahmen" unterteilt werden. Sind z.B. alle zehn Rahmen voll
^ ■*
und soll eine andere Spur in den Cachespeicher übertragen werden, so könnte ein Cacheverwalter dann- einfach einen Rahmen freigeben, z.B. den Rahmen, der die am weitesten zurückliegend verwendeten Daten enthält, und dann diesen Rahmen der neuen Spur zuordnen. Falls jedoch die auf einem anderen Magnetplattenlaufwerktyp abgespeicherten Daten mit einer Spurgröße von beispielsweise 25 kb abgespeichert werden sollen, so wäre es erforderlich, die zwei benachbarten 20 kb-Rahmen freizugeben, um sie einer 25 kb-Spur anzupassen, wodurch jedoch 15 kb des Speicherraumes nutzlos wären. Selbst wenn man davon ausgeht, daß zwei benachbarte Rahmen ohne Verlust von brauchbaren Daten freigegeben werden könnten, so wäre allein die Vergeudung des Speicherraums zweifellos unerwünscht.
Würde man andererseits den gesamten Festkörperspeicher in zwei Unterabschnitte oder "Domainen" unterteilen, wobei eine Domaine nur Spuren einer Größe speichert und eine andere Domaine Spuren einer anderen Größe speichert, so könnten die einzelnen Domainen des Speichers wirksam für die Zuteilung von Spuren einer bestimmten Größe unterteilt werden. Jedoch setzt die Brauchbarkeit dieser Lösung voraus, daß die relative Aktivität der Plattenlaufwerke, die die beiden Größen von Spuren aufweisen, über die Zeit konstant ist, was man jedoch nicht erwarten kann. Demzufolge ist es erwünscht, daß dem gesamten Speicherbereich des Festkörper-Cachespeichers irgendeine zum Cachespeicher übertragene Spurgröße zugeordnet werden kann, so daß der Speicher äußerst rationell verwendet werden kann. Letztlich könnte man den Cachespeicher in viele kleinere, gleich große "Seiten", d.h. mit einer Größe von 2 kb unterteilen, in die eine Spur von irgendeiner Größe unterteilt werden könnte. Jedoch würde diese Vorgehensweise eine komplexe Hardware erfordern und zusätzlich die Leistungsfähigkeit des Cachespeichers verringern, da für eine bestimmte Magnetplattenspur notwendigerweise die Neigung
bestehen würde, an verschiedenen Abschnitten des Cachespeichers gespeichert zu werden, was einen beachtlichen zusätzlichen Aufwand zur Folge haben würde, d.h. den Abruf von zusätzlichen Speicherplätzen der Abschnitte einer gegebenen Spur.
Aufgaben der Erfindung
Es besteht demzufolge eine Aufgabe der Erfindung darin, eine Einrichtung vorzuschlagen, mit deren Hilfe der in einem Festkörper-Cachespeicher verfügbare Speicherbereich äußerst rationell verwendet werden kann.
Eine andere Aufgabe der Erfindung besteht darin, eine Einrichtung vorzuschlagen, mit deren Hilfe ein Festkörper-Cachespeichersubsystem rationell zur Speicherung von Datenaufzeichnungen unterschiedlicher Größe betrieben werden kann.
Eine weitere Aufgabe der Erfindung besteht darin, eine Einrichtung vorzuschlagen, mit der ein Cachespeicher "dynamisch" bzw. zum Zwecke der Anpassung neu rekonfiguriert werden kann, der vorher entsprechend der momentanen Verwendung in Domainen mehrerer Klassen unterteilt wurde, um somit den verfügbaren Speicherbereich voll verwenden zu können.
Zusammenfassung der Erfindung
Die vorstehend erwähnten Bedürfnisse des Standes der Technik sowie die Aufgaben der Erfindung werden mit Hilfe der vorliegenden Erfindung befriedigt bzw. gelöst, wonach ein Festkörperspeicher in Domainen unterteilt wird. Die Größe
- τ·
der Domainen wird so ausgewählt, daß sie ein im wesentlichen ganzzahliges Vielfaches jeder der einzuspeichernden Spurgrößen ist, so daß z.B. drei 50 kb-Spuren einer Geräteklasse in die gleiche 150 kb-Domaine passen wie zwei 75 kb-Spuren einer anderen Geräteklasse. Jede einzelne Domaine wird danach für die Speicherung von Spuren eines bestimmten Gerätetyps zugeordnet und danach in spurbemessene Rahmen unterteilt, in die bestimmte Spuren eingeschrieben werden. Im Hinblick auf die Verwendung der Domainen werden Statistiken unterhalten. Falls Anzeichen dafür bestehen, daß die von einem bestimmten Gerätetyp übertragenen Daten über andere vorherrschen, so wird eine bestimmte Domaine des zweiten Gerätetyps für den ersten Gerätetyp freigegeben, um somit eine rationelle Verwendung des ganzen verfügbaren Speicherraumes sicherzustellen. Auf diese Weise wird eine Zersplitterung infolge der Vermischung von unterschiedlichen Spurgrößen im gleichen Bereich des Speichers vermieden.
Kurze Beschreibung der Zeichnungen
0 Die Erfindung wird durch Bezugnahme auf die beiliegenden Zeichnungen besser verständlich. Es zeigen:
Fig. 1 ein schematisches Blockdiagramm des erfindungsgemäßen Systems;
Fig. 2 wie einzelne Domainen entsprechend der darin zu speichernden Spurgrößen unterteilt werden
können;
Fig. 3 eine Domainenumschalt-Entscheidungstabelle, die zur Bestimmung verwendet wird, welche Domainen zu einem bestimmten Zeitpunkt umgeschalten werden sollen;
339P315
Fig. 4 ein Diagramm, das anzeigt, wie die bestimmte
Domainenumschaltentscheidung bei der aktuellen Durchführung des Schaltvorganges verwendet wird und wie die Steuertabellen beim Voranschreiten des Schemas bzw. Systems aktualisiert werden und
Fig. 5A bis 5C die LRU ("least recently used - vor kurzem nicht verwendet"), die zur Zuordnung der Rahmen zu den zu speichernden Daten verwendet wird
10 Beschreibung der bevorzugten Ausführungsbeispiele
Wie oben erläutert, sind die erfindungsgemäßen Verfahren zur anpassungsfähigen Unterteilung in Domainen so ausgestaltet, daß sie in einem Festkörper-Cachespeichersubsystem Verwendung finden können, das auf einem Magnetplattenspeieher abgespeicherte Daten aufnimmt, und zwar in der Erwartung, daß diese Daten von einem Hauptrechner abgerufen werden.
Fig. 1 zeigt ein schematisches Diagramm eines derartigen Systems. Der Hauptrechner 10 steht mit Hilfe eines üblichen Kanalinterface 12 mit einem Speicherinterpolator 16 in Verbindung. Der Speicherinterpolator 16 ist weiterhin mit mehreren Steuermodulen 18 zusammengeschaltet, die Magnetplattenlaufwerke 14 steuern, die - wie dargestellt - von unterschiedlicher Art sein können. Im einzelnen kann die Datenmenge, die auf einer bestimmten Spur eines dieser Magnetplattenlaufwerke abgespeichert ist, variieren. Wird eine Entscheidung von einm Cacheverwalter 24 getroffen - d.h. in Übereinstimmung mit den vorstehend erwähnten, gleichzeitig anhängigen Anmeldungen mit dem Titel "Detection of
■*■
Sequential Data Stream" - , daß die Inhalte einer Spur in einem Festkörper-Cachespeicher 22 gespeichert werden sollen, so muß den Daten eine Anzahl von Speicherplätzen im Cachespeicher zugeordnet werden, deren Größe der Länge der Spur auf dem Magnetplattenlaufwerk 14 entspricht, d.h. ein "Rahmen", bestehend aus Cachespeicherplätzen. Falls der Cacheverwalter 24 wünscht, daß eine bestimmte Spur in einen Rahmen des Cachespeicherfelds 22 übertragen werden soll, so wird demzufolge ein Rahmen geeigneter Größe dieser Spur zugeordnet und der Vorgang geht weiter.
Für den Fachmann ist es verständlich, daß eine solche "Rahmenbildung" eines Blockes von fortlaufenden Speicherplätzen und deren Zuordnung erwünscht ist, um die Komplexität der Zuordnung von Adressen zu den Daten zu verringern. Wird dies getan, so brauchen im einzelnen nur die Spuranfangsadresse (BOT) und die Spurendadresse (EOT) bekannt sein, um die Speicherplätze aller auf der Spur befindlichen Daten definieren zu können, da die Gesamtzahl an Datenbytes durch die Rahmendefinition bestimmt ist. Vergleiche hierzu
20 die gleichzeitig anhängige Anmeldung mit dem Titel
"Dynamic Addressing for Variable Track Length Cache Memory", von Swiatek et al, und die Anmeldung 325 288, eingereicht am 27. November 1981 von Moreno et al, mit dem Titel "Control of Cache Buffer for Memory Subsystem" sowie eine Teilfortführung dieser Anmeldung mit dem gleichen Titel, um detaillierte Angaben für die Zuordnung von Cachespeicheradressen zu Daten, die in dem Rahmen gespeichert werden sollen, zu erhalten. Die vorliegende Erfindung betrifft die rationelle Unterteilung des Cachefeldes in Unterabschnitte bzw. "Domainen". Die Größe der Domainen wird so gewählt, daß ungefähr ganze Zahlen von Magnetplattenspuren verschiedener Länge in die "Rahmen" jeder Domaine passen. Nachdem somit die Domaine einer bestimmten Spurlänge zugeordnet ist, wird
- Ar
diese somit in Rahmen unterteilt, deren Größen den Spurlängen entsprechen.
Man kann erwarten, daß an manchen Stellen alle Domainen, die Spuren einer bestimmten Länge zugeordnet sind, ständig in Gebrauch sind, wohingegen diejenigen Domainen, die Magnetplattenspuren eines anderen Gerätetyps bzw. anderer Gerätetypen zugeordnet sind, nicht ständig in Gebrauch sind. Gemäß einem wichtigen Aspekt der Erfindung werden die Domainen so gewählt, daß sie die gleiche Größe aufweisen, so daß sie rationell freigegeben werden können, um Daten aufnehmen zu können, die auf einem anderen Magnetplatteneinrichtungstyp gespeichert sind. Die Domainen werden entsprechend der Verwendung in Rahmen unterschiedlicher Größe aufgeteilt. Aus diesem Grund wird die Größe der Domaine so ausgewählt, daß die Domainen ganze Zahlen von Rahmen unterschiedlicher Größe enthalten. Fig. 2 zeigt ein Beispiel, wie dies bewerkstelligt werden kann. In diesem Fall beträgt die Größe der Domaine etwa 256 kb. Bei einem bevorzugten Ausführungsbeispiel weist der Cachespeicher etwa
20 12 solche Domainen für eine Gesamtkapazität von etwa
3 Megabytes auf. In Fig. 2 sind drei mögliche Schemen für die Domainenunterteilung dargestellt.
Fig. 2a zeigt ein Schema, das für eine Domaine angewendet werden kann, die in Verbindung mit einem Plattenlaufwerk Modell 8650 der Storage Technology Corporation, dem Anmelder vorliegender Anmeldung, verwendet werden kann, bei dem jede Spur etwa 19069 Bytes zuzüglich : einer Identifizierungszwecken dienenden "Kopf-Information aufweist. Dreizehn derartige Spuren einschließlich ihrer Kopfinformation passen in die 256 kb-Domaine. Andererseits weist das Plattenlaufwerk Modell 8375 der Storage Technology Corporation eine Spurgröße von etwa 37000 Bytes auf. Wie aus Fig. 2b ersichtlich, passen sechs solche 37000 Bytes-
- 4t.
Spuren in die 256 kb-Domaine. Schließlich weist das Plattenlaufwerk Modell 8380 der Storage Technology Corparation eine Spurgröße von 47476 Bytes auf. Fig. 2c zeigt, daß fünf solche Rahmen zusammen mit den Kopfinformationen (Anfangsetiketten) gut in die 256 kb große Domaine passen.
Gemäß der Erfindung wird entsprechend der Verwendung eine dynamische Neuverteilung der Speicherraumzuordnung vorgesehen. Dies ermöglicht eine hohe Speicherleistung ohne starke Zersplitterung. Diese Zersplitterung stellt eine Verschwendung von Speicherraum dar, und zwar aufgrund der mangelnden Übereinstimmung zwischen der Größe der verfügbaren Rahmen und der Größe der Spuren, die in den verfügbaren Rahmen gespeichert werden sollen. Diese starke Zersplitterung wird vermieden, da eine für einen Gerätetyp vorgesehene Domaine für einen anderen Gerätetyp durch erneute Rahmenbildung neu zugewiesen werden kann, wann immer dies gewünscht ist. Dieses Neuzuweisen tritt jeweils nur in einer Domaine auf, wodurch eine Stabilität und Unkompliziertheit durch Beseitigung des Erfordernisses, das gesamte Cachezuordnungsschema zu jeder Zeit außer Kraft setzen zu müssen, vorgesehen wird. Eine "Domainenverwendungs-Zählung" wird durchgeführt, um zu überwachen, welche Domainenklasse bzw. -kategorie eine häufige Verwendung erfährt. Dies macht die Bestimmung möglich, ob die gegenwärtige Zuordnung der Domainen die effizienteste im Hinblick auf die Verwendung des Systems zu irgendeinem bestimmten Zeitpunkt ist. Dies wird nachfolgend in Verbindung mit den Fig. 3 und 4 erörtert.
Ein vorläufiges Problem, das angesprochen werden muß, stellt die Rahmenzuordnung dar, d.h. wie man den besten Rahmen aussucht, der einer bestimmten, in das Cachespeicherfeld zu übertragenden Spur zugeordnet wird. Der "beste Rah-
■Al.
men" ist der, der gegenwärtig keiner Spur zugeordnet ist. Sind jedoch keine Rahmen frei, so muß ein Rahmen von einer Spur "befreit" werden, der er momentan zugeordnet ist, und der neuen Spur, die gespeichert werden soll, wieder zugeteilt werden. Der zur Freigabe am besten geeignete Rahmen ist einer, der vom Hauptrechner nicht mehr gelesen wird. Jedoch sollten Rahmen, die vom Hauptrechner noch gelesen werden, nicht freigegeben werden, da der bei der Übertragung verwendete Aufwand nicht wieder wettgemacht werden könnte, falls er freigegeben würde, ehe die Daten gelesen werden. Die vorstehend angesprochene, gleichzeitig anhängige Anmeldung mit dem Titel "Detection of Sequential Data Stream" enthält detaillierte Angaben zu Verfahren, mit deren Hilfe eine Freigabe durchgeführt werden kann.
Bei einem bevorzugten Ausführungsbeispiel der Erfindung wird, falls keine freien Rahmen verfügbar sind, die Rahmenzuordnung unter Verwendung eines LRUC'least recently used - am weitesten zurückliegend verwendet")-Schemas durchgeführt. Dieses LRU-Schema wird mit Hilfe einer Liste von Rahmen ausgeführt. Ein Beispiel für eine derartige Liste ist in den Fig. 5A bis 5C dargestellt. Am Anfang der Liste sind Rahmen angeordnet, die vor äußerst kurzer Zeit bzw. zuletzt verwendet wurden, wohingegen am Ende der Liste Rahmen vorgesehen sind, die vor kurzem nicht verwendet wurden 5 und die frei sind. Wird ein Rahmen verwendet, d.h. wird er übertragen oder gelesen, so wird demzufolge sein "Name", d.h. seine Adresse und sein Kennzeichen an den Anfang der Liste gesetzt. Wird ein Rahmen freigegeben, so wird dessen Name an das Ende der Liste bewegt. Dies findet statt, falls der Hauptrechner einen Schreibvorgang auf den Bereich auf der Magnetplatte richtet, von dem die Inhalte dieses Rahmens übertragen wurden, wodurch demzufolge die Daten in diesem Rahmen ungültig gemacht werden, oder falls alle Aufzeichnungen dieser Spur gelesen wurden. Somit enthält das
untere Ende der Liste einen freien Rahmen oder den am weitesten zurückliegend verwendeten Rahmen. Der Rahmen am unteren Ende der Liste ist somit für die Zuordnung einer zu übertragenden Spur am besten geeignet. Selbstverständlich wird der Rahmen an den Anfang der Liste gesetzt, falls der Rahmen zugeordnet ist, was anzeigt, daß dieser Rahmen der letztverwendete ist.
Die Fig. 5A bis 5C zeigen die Cachebezugsliste, die in dem Steuerspeicher des Cacheverwalters 32 gespeichert ist. Diese Bezugs- bzw. Adreßliste enthält die LRU-Liste, die verwendet wird, um die Domainen- und Rahmenspeicherplatzadressen, die einer bestimmten Spur zugeordnet sind, zu bestimmen. Die Cachebezugsliste enthält eine abgeschlossene bzw. verbundene Liste mit Rahmenspeicherplätzen und deren jeweiligen Status.
Fig. 5A zeigt eine Reihe von Rahmendeskriptoren 74, von denen jeder einen Rahmen in dem Speicherfeld beschreibt. Jeder Rahmendeskriptor enthält den Status seines entsprechenden Rahmens. LRU("least recently used - am weitesten zurückliegend verwendet")-Hinweismarken, die die verbundene Liste fortschreiben bzw. führen, sind ebenso dargestellt. Der Rahmendeskriptor 66 stellt den Anfang einer LRU-Liste dar und speichert Adressen der Rahmen, die als letzte verwendet wurden. Der Rahmendeskriptor 68 stellt das Ende der Liste dar und listet Rahmen auf, die vor kurzem nicht verwendet wurden und jene die frei sind. Die Deskriptoren 66 und 68 sind für einen Magnetplattenlaufwerktyp (Typ A) vorgesehen. Die Deskriptoren 70 und 72 sind ähnlich, sie werden jedoch für einen anderen Magnetplattenlaufwerktyp (Typ B) verwendet.
Die Fig. 5B veranschaulicht die zehn 2 Byte-Worte 63, aus denen jeder Rahmendeskriptor besteht. Die ersten beiden Worte (Adressen 00 und 01) werden zum Suchen einer bestimmten Datenspur verwendet, die im Cachespeicher gespei-
339031
chert wurde. Die bei den Adressenstellen 02 und 03 gespeicherten Worte, stellen die LRU-Hinweismarken dar, d.h. zeigen, wo sich der entsprechende Rahmen in der LRU-Liste befindet. Das Hinweismarkenwort bei der Adresse 02 gibt die Adresse des Rahmens an, der der nächstaktive ist. Die Liste weist doppelte Hinweismarken auf. So spezifiziert die Hinweismarke bei der Adresse 03 den Nachbarrahmen in Richtung des Listenanfangs. Die Worte bei den Adressen 04 und 05 stellen die Spuradressen des Rahmens dar, der durch den Deskriptor beschrieben wird. Die Adresse 06, Byte 0 speichert das Rahmenstatusbyte, das detaillierter mit Bezug auf Fig. 5C beschrieben wird. Die bei den Adressen 07 und 08 gespeicherten Worte stellen die Domainenadresse und Cacheadresse für den bestimmten Rahmen dar.
Fig. 5C zeigt im einzelnen die 8 Bits des Rahmenstatusbyte gemäß Wort 6, Byte 0 der Fig. 5B. Diese Bits werden gesetzt, um die Übertragungsaktivität des bestimmten, in Betracht stehenden Rahmens anzuzeigen. Die Bits 0 bis 5 des 8 Bit-Rahmenstatusbyte zeigen spezielle Kennzeichnungen, die verschiedene, sich auf den Rahmenstatus beziehende Zustände verdeutlichen. Die 6 Bits 0 bis 5 werden wie folgt interpretiert:
Bit 0: zugeteilt/frei
1 = Der Rahmen ist zugeteilt und enthält gül-■ tige Daten.
0 = Der Rahmen enthält keine gültigen Daten.
Bit 1: Gerät A/B
1 = Dies ist ein Rahmen für den Gerätetyp A.
0 = Dies ist ein Rahmen für den Gerätetyp B.
30 Bit 2: Definierter Rahmen
1 = Dieser Rahmen ist definiert.
0 = Dieser Rahmen ist nicht definiert, d.h.
dieses Einreihungsfeld für einen Rahmen in der Bezugsliste definiert keinen Rahmen.
'JS-
Bit 3: Übertragung im Gange
1 = Zu diesem Rahmen ist eine Übertragung im Gange. Die Daten sind noch nicht gültig, aber der Rahmen ist nicht frei.
0 = Es ist keine Übertragung zu diesem Rahmen
im Gange.
Bit 4: Permanenter Fehler
1 = Dieser Rahmen weist einen ständigen Fehler auf. Die Daten sind nicht gültig, aber der Rahmen soll nicht neu zugewiesen werden.
Die Adresse des Fehlers wird dort gespeichert, wo die Spur ID üblicherweise gespeichert wird.
0 = Dieser Rahmen enthält keinen permanenten Fehler.
Bit 5: In Gebrauch
1 = Dieser Rahmen ist momentan in Gebrauch. Das
diesem Rahmen entsprechende Gerät muß nicht aufgerufen werden.
0 = Dieser Rahmen ist nicht in Gebrauch.
Ist somit beispielsweise beim Bit 4 das Rahmenstatuswort eine "1", so zeigt dies an, daß dieser Rahmen einen permanenten Fehler aufweist (z.B. falls eines der RAM-Chips, in dem der Rahmen gespeichert ist, defekt ist). Offensichtlich ist es nicht erwünscht, zur Übertragung diesem Rahmen Daten zuzuordnen. Die Bits 1 und 2 werden in dem Neuzuordnungsverfahren verwendet, das nachfolgend in Verbindung mit Fig. 4 erörtert wird.
Der Cacheverwalter weist somit eine geschlossene Liste von Rahmendeskriptoren auf, die die Adressen sowie den Status jedes einzelnen, im Cachespeicherfeld 34 vorgesehenen Rah-
mens spezifiziert. Wird auf einen Eingabe/Ausgabebefehl hin in den Cachespeicher eingeschrieben, so werden die Domainenadresse und die Spuranfangsadresse eines verfügbaren Rahmens aus der geschlossenen Liste der Fig. 5A erhalten. Wie erläutert, wird diese Liste LRU-Liste bezeichnet, da der Anfang der Liste Rahmen enthält, die zuletzt verwendet wurden und das Ende der Liste Rahmen enthält, die vor kurzem nicht verwendet wurden und demzufolge verfügbar sind. Entsprechend der Erfindung der gleichzeitig anhängigen Anmeldung mit dem Titel "Dynamic Addressing for Variable Track Length Cache Manager" von Swiatek et al, sieht die LRU-Liste eine Spuranfangsadresse (BOT) eines Rahmens in einer Domaine vor, die einem bestimmten Magnetplattenlaufwerktyp zugewiesen ist. Die Anzahl von Bytes pro Datenspur ist für diesen Magnetplattenlaufwerktyp bekannt und wird zur BOT-Adresse hinzuaddiert, um die Spurendadresse (EOT) zu erhalten. Auf diese Weise wird die EOT-Adresse mit Hilfe des Cacheverwalters 24 abgeleitet.
Beim Einschreiben einer Spur in den Cachespeicher ist die Startadresse die erste Adresse nach der BOT-Adresse, was es ermöglicht, eine geeignete Anzahl von Speicherplätzen für das Kopf- bzw. Anfangsetikett vorzusehen. Sobald eine -- Spur zum Cachespeicher übertragen oder in diesen eingeschrieben wird, wird der Speicherplatz jederAufzeichnung in dem Kopfetikett gespeichert.
Wird aus dem Cachespeicher ausgelesen, so stellt die Startadresse, die Adresse der spezifizierten Aufzeichnung dar, wie dies vom Kopfetikett bestimmt wird.
Obwohl das LRU-Schema für die Zuordnung von bestimmten, in Domainen enthaltenen Rahmen zu Spuren, die in den Cachespeicher übertragen werden sollen, vorliegt, kann es gut
sein, daß, falls mehrere Klassen von Domainen mit unterschiedlichen Größen im Cachespeicher vorliegen, ein erster Gerätetyp viel häufiger verwendet wird, als ein zweiter Gerätetyp, so daß die LRU-Liste für den ersten Domainentyp beispielsweise weniger freie Rahmen aufweist, als die Liste des zweiten Domainentyps. In einem solchen Fall kann die Leistungsfähigkeit des Systems dadurch verbessert werden, daß man Domainen des zweiten Gerätetyps dem ersten Gerätetyp neu zuordnet. Dieses Domainen-Neuzuordnungs-Verfahren ermöglicht eine rationelle Verwendung des Cachespeicherraums Anders ausgedrückt, da sich der Bedarf an Rahmen, die auf eine bestimmte Einrichtung bzw. auf ein bestimmtes Gerät abgestimmt sind, mit der Zeit ändert, ist es erwünscht, aufgrund der Anforderung dem Gerätetyp Domainen dynamisch zuzuteilen bzw. diese Zuordnung dynamisch aufzuheben. Ein wichtiger Aspekt der Erfindung bezieht sich auf ein geeignetes Schema für eine dynamische Domainenzuordnung. Bei einem bevorzugten Ausführungsbeispiel unterhält die Erfindung zwei Magnetplattenspeichereinrichtungen mit unterschiedlichen Spurspeicherkapazitäten, wobei Domainen beispielsweise eines Gerätetyps A einem Gerätetyp B neu zugeordnet werden können. Es ist jedoch auch möglich, drei oder mehr Klassen von Domainen in einem bestimmten Cachespeicher vorzusehen. Auf diese Weise wird der Cachespeicherraum im Verhältnis zur Eingabe/Ausgabeaktivität zugeordnet.
Entsprechend dem gegenwärtig bevorzugten Ausführungsbeispiel der Erfindung werden drei Fragen beim Domainenzuordnungs-Entscheidungsfindungsprozeß erörtert:
Wie oft sollen Domainen umgeschalten werden? 30 Wann soll eine Domaine umgeschaltet werden? Welche Domainen sollen geschalten werden?
Im Hinblick auf die erste Frage wird beim gegenwärtig bevor-
zugten Ausführungsbeispiel eine Domainenumschaltung pro 1024 Übertragungsvorgänge in Betracht gezogen, d.h. es erfolgt jedesmal ein Schaltvorgang, wenn 1024 mal eine Datenspur in den Cachespeicher eingelesen wurde. Bei einem relativ großen Ausführungsbeispiel der Erfindung tritt dies etwa jede 30 bis 60 Sekunden auf.
Das zweite Problem betrifft die Bestimmung, zu welchem Zeitpunkt eine Domaine umgeschaltet werden soll. Diese Entscheidung sollte ein Ungleichgewicht zwischen den Cachespeicher-Eingabe/Ausgabe-Aktivitätsverhältnissen für den Gerätetyp A im Hinblick auf den Gerätetyp B berücksichtigen. Ein geeignetes Verfahren zum Messen der Aktivität besteht darin, die Übertragungen zu den Domainen, die jedem Gerätetyp zugeordnet sind, zu zählen. Dieses Übertragungszahlverhältnis sollte dem idealen "Rahmenverfügbarkeits"-Verhältnis entsprechen. Dieses Rahmenverfügbarkeitsverhältnis kann wiederum verwendet werden, um ein ideales "Domainenzuordnungs"-Verhältnis zu berechnen, da die Anzahl der Rahmen pro Domaine bekannt ist. Falls das aktuelle Domainenzuordnungsverhältnis sich von dem idealen Domainenzuordnungsverhältnis unterscheidet, ist es zweckmäßig, die Domainen umzuschalten. Auf diese Weise wird die relative Größe der verschiedenen Rahmen aus der Überlegung gestrichen, da sich dies mit der alleinigen Messung der Aktivität des Do-
25 mainentyps nicht verträgt.
Das dritte und schwierigste Problem betrifft die Bestimmung, welche Domaine umgeschaltet werden soll. Domainen, die viele kürzlich verwendete Rahmen aufweisen, stellen offensichtlich keine guten Kandidaten für die Umschaltung dar. Die für den Schaltvorgang am besten geeigneten Domainen sind stattdessen diejenigen, die viele alte und freie Rahmen aufweisen. Zwei Alternativen können in Erwägung gezogen wer-
den. Erstens, da die oben in Verbindung mit den Fig. 5A bis 5C beschriebene LRU-Liste das relative Alter der Rahmen jeder Domaine angibt, kann diese zur Bestimmung verwendet werden, welche Domaine umgeschaltet werden soll. Ein Abtastung einer bestimmten Anzahl von Rahmen, die sich auf der oben beschriebenen Liste befinden, kann durchgeführt werden, wobei ein Zähler für jede Domaine inkrementiert wird, falls ein zu dieser Domaine gehöriger Rahmen in der Liste gefunden wird. Demzufolge ist die Domaine, die die niedrigste Zählung am Ende der Abtastung aufweist, die die momentan die geringste Aktivität zeigt. Die Abtastung sollte auf den oberen Teil der Liste begrenzt werden, da dort eine Aktivität auftritt. Man könnte glauben, daß die Betrachtung des unteren Endes der Liste sehr nützlich sein könnte, da dort die alten und ungültigen Rahmen versammelt sind. Falls sich aber ein einziger aktiver Rahmen in der gleichen Domaine mit einer großen Anzahl von alten Rahmen befindet, so würde diese außer Kraft gesetzt, wie auch durch diese Domainen-Neuzuordnungsvorgangsweise, was unerwünscht wäre. Die zweite Alternative besteht darin, die Übertragungen zu jeder Domaine zu zählen, anstatt die LRU-Liste zu überprüfen. Diese würde wieder einen Hinweis auf die relative Aktivität geben.
Somit wird deutlich, daß das erfindungsgemäße Domainenumschaltungsschema zwei Teile aufweist: den Entscheidungsfindungsteil, der entscheidet, ob es erwünscht ist, Domainen von einer Klasse auf eine andere umzuschalten, und den eigentlichen Umschaltprozeß, bei dem bestimmt wird, welche Domaine umgeschaltet werden soll. Bei einem speziell bevorzugten Ausführungsbeispiel wird der Entscheidungsfindungsvorgang mit Hilfe von Tabellen gesteuert, um Operationszeit einzusparen; d.h. beim Einschalten des Geräts wird eine Nachschlagetabelle, die die idealen Zuordnungen
der Domainen für verschiedene relative Aktivitätspegel anzeigt, erzeugt und gespeichert, so daß dann j'ede nachfolgende Neuzuordnungsentscheidung einfach ein Nachschlagevorgang sein kann, der keine schwierige Berechnung erforderlich macht. Eine derartige Domainenumschalt-Entscheidungstabelle, die bei einem bevorzugten Ausführungsbeispiel der Erfindung verwendet werden kann, bei dem die Domainenumschaltung zwischen zwei Gerätetypen auftritt, ist in Fig. 3 dargestellt.
Die Tabelle wird aufgebaut, indem man alle möglichen Domainenumschaltungsentscheidungen zur "post-IMP"-Zeit (d.h. nach anfänglicher Mikrocodeladung der Einrichtung) ausführt, was Rechenzeit spart, falls die Entscheidung wirklich getroffen wird. Das Treffen der Entscheidung, eine Domaine neu zuzuordnen, wird zu einem einfachen Nachschlag in einer Tabelle, die z.B. auf der Anzahl der Domainen, die dem Gerätetyp A zugeordnet sind, sowie auf der A-Domainenverwendung" einer Zahl, die die tatsächlichen Übertragungsvorgänge von Geräten des Typs A wiedergibt, zu einem be- stimmten Zeitpunkt beruht. In dem Ausführungsbeispiel der Fig. 3 gibt die Tabelle Zahlen zwischen 0 und 15 (d.h. F im Hexadezimalcode) längs der horizontalen Achse wieder, die die relative Anzahl von Übertragungen zu A-Geräte-Domainen anzeigen. Die senkrechte Achse hingegen gibt die 5 Anzahl der Domainen an, die Geräten vom Α-Typ zugeordnet sind; jede Spalte verdeutlicht somit die A-Domainenverwendungssymbole, wohingegen jede Zeile die Zahl der Domainen wiedergibt, die zu einem bestimmten Zeitpunkt dem Gerätetyp A zugeordnet sind. Für jede Reihe, d.h. für jede Anzahl von Domainen, die A-Typ-Geräten zugeordnet sind, besteht eine ideale geplante "A-Domainenverwendung". Die Tabelle sieht somit eine Korrelation zwischen der Anzahl der in einer bestimmten Zeit ausgeführten Α-Übertragungen und der
Anzahl von Domainen, die A-Typ-Geräten zugeordnet sind, vor. Falls das aktuelle Symbol nicht dem idealen Symbol, das durch die Tabelle der Fig. 3 veranschaulicht wird, entspricht, so ist es dann offensichtlich, daß eine Domainenumschaltung durchgeführt werden sollte.
Die geplante Verwendung wird aufgrund der Annahme berechnet, daß die ideale Cachespeicherunterteilung erreicht wird, falls gilt:
Rahmen A _ Übertragungen A Rahmen B Übertragungen B
Man kann sinnvoll einen Ausdruck, genannt "Sollwert für A-Übertragungen", definieren, der die Anzahl der Übertragungen wiedergibt, die zu dem Gerätetyp A zugeordneten Domainen auftreten würden, falls die Ubertragungsaktivitat im Gleichgewicht mit der Cachespeicherzuordnung ist. Dies führt zu einem "Sollwert für eine A-Rahmenverwendung", der mit der aktuellen A-Rahmenverwendung verglichen werden kann, um zu bestimmen, wie nahe die aktuelle Ubertragungsaktivitat an das Ideal heranreicht. In der Tabelle der Fig. 3 verdeut-'licht somit jede der horizontalen Reihen eine bestimmte Anzahl von Domainen, die einem Gerät zugeordnet sind. Der Sollwert für die Α-Verwendung ist dann für diese Reihe gleich. Eines von drei Zeichen wird dann in jede Position dieser Reihe entsprechend der aktuellen Verwendung eingesetzt. Ein "a", das anzeigt, daß eine Domainenneuzuordnung von B zu A "bevorsteht", d.h. erwünscht ist, wird an den Stellen eingesetzt, bei denen die aktuelle A-Verwendung größer als der Sollwert für die Α-Verwendung ist, womit angezeigt wird, daß ein Umschalten eines Rahmens von B nach A eine akzeptable Handlung ist, falls eine Anforderung für eine A-Rahmenzuordnung aufgrund der momentanen Zuordnung nicht befriedigt werden kann. Auf gleiche Weise wird ein
stx.
"b", das eine "bevorstehende" Umschaltung von A auf B anzeigt, an Stellen eingesetzt, bei denen die aktuell~e A-Verwendung geringer als der Sollwert für die Α-Verwendung ist. Andererseits wird ein "n", das einen "keine Umschaltung erforderlichen" Vorgang anzeigt, eingesetzt. Ein Vergleich der aktuellen Verwendung mit der idealen, in Fig. 3 gezeigten Beziehung zeigt somit, welche Neuzuordnung durchgeführt werden soll, wenn überhaupt.
Wie aus Fig. 3 ersichtlich, weisen mehrere, typischerweise drei, der Spalten für jede Reihe die Symbole "n" auf, die anzeigen, daß keine Umschaltung bevorsteht. Dies ist erwünscht, um unnötige Domainenumschaltungen aufgrund statistischer Änderungen in der Anzahl der Übertragungen pro Domäinentyp über eine kurze Zeitperiode zu verhindern, von denen man erwarten kann, daß sie auftreten, wohingegen diese nicht anzeigen, daß eine Domainenneuzuordnung aufgerufen wird. Diese Vielzahl an "n"-Symbolen in den Spalten sieht einen Quasi-Dämpfungseffekt für die Domainenumschaltung, die gemäß der Erfindung ausgeführt wird, vor.
0 Wurde einmal wie oben bestimmt, daß eine Domainenumschaltung bevorsteht, falls Daten in den Cachespeicher übertragen werden sollen und kein Rahmen für den maßgebenden Gerätetyp frei ist und ein Domainenumschaltvorgang anhängig ist, der einen Rahmen des maßgebenden Gerätetyps vorsehen würde, so wird der Domainenumschaltvorgang eingeleitet.
Der erste Vorgang, der bei dem Domainenumschaltvorgang ausgeführt wird, besteht darin, zu entscheiden, welche Domaine für die Umschaltung am besten geeignet wäre. Die LRU-Liste der Fig. 5A bis 5C des umzuschaltenden Gerätetyps wird abgetastet, um zu bestimmen, welche Domaine die wenigsten Rahmen im aktiveren Teil der LRU-Liste aufweist. Hat die
Domaine wiederum keine Rahmen, die markiert sind mit "in Gebrauch bzw. Verwendung" oder "Übertragung im Gange", so wird daraus gefolgert, daß diese die beste für den Umschaltvorgang ist. Andererseits wird die Domaine mit den nächstwenigsten Rahmen, die sich am Anfang der LRU-Liste befindet, ausgewählt. Ist einmal eine Domaine für den Umschaltvorgang ausgwählt worden, so wird die Domaine für den neuen Gerätetyp umgewandelt. Alle gültigen Rahmen, die zu der Domaine gehören, werden freigegeben. Alle Rahmen der Domaine werden aus der LRU-Liste des Gerätetyps entfernt, von dem die Domaine umgeschaltet wurde. Wird z.B. eine Typ-A-Domaine freigegeben, werden alle Rahmen in der Domaine vom LRU-Deskriptor 68 entfernt. Die Anzahl der neuen Rahmen, die in die neue Domaine paßt, wird am Ende der LRU-Liste des neuen Gerätetyps angereiht. Bei diesem Beispiel werden sie in den Deskriptor 72 eingeschrieben. Letztlich werden neue Hinweismarken für jeden Rahmen dem Feld zugeordnet, und zwar entsprechend der Rahmengröße des neuen Gerätetyps.
Fig. 4 zeigt einen schematischen Überblick des erfindungsgemäßen Entscheidungsfindungsprozesses. Wie oben erläutert, wird zum anfänglichen Programmlade-"IMPL"-Zeitpunkt (vergleiche Block 30) die Tabelle mit allen möglichen Entscheidungen geschrieben, was mit dem Block 32 verdeutlicht wird. Die Tabelle hat dann das in Fig. 3 gezeigte Aussehen. Diese Information ist dann für das Domainenumschaltbestimmungsmodul 34 verfügbar. Dieser Entscheidungsfindungsvorgang wird auch durch eine Domainenumschaltstatistik (Block 36) unterstützt, die anzeigt, ob eine Domainenverwendung momentan der Domainenzuordnung entspricht. Wird demzufolge eine Übertragungsanforderung durch den Cacheverwalter 24 (Fig. 1) bestätigt, wie dies anhand des Blockes 38 verdeutlicht ist und in der gleichzeitig anhängigen US-Anmeldung 325 350, eingereicht am 27. November 1981, mit dem Titel:"Detection
of Sequential Data Stream" sowie der gleichzeitig anhängigen Teilfortführung dieser Anmeldung mit dem gleichen Titel erörtert wird, so kann die Domainenumschaltstatistik geprüft werden, um zu bestimmen, welche Domaine umgeschaltet werden soll, wenn überhaupt. Typischerweise wird dieser Vorgang jeweils bei 1024 Übertragungen durchgeführt. Falls ein Ungleichgewicht durch Zugriff auf die Tabelle der Fig. 3 festgestellt wird, wie dies anhand des Blockes 40 dargestellt ist, wird eine Hinweismarke gesetzt, die anzeigt, daß ein Umschaltvorgang bevorsteht bzw. anhängig ist. Anschließend wird nach einer Anforderung, daß ein Rahmen einer Datenaufzeichnung zugeordnet werden soll, falls kein freier Rahmen verfügbar ist und ein geeigneter Umschaltvorgang anhängig ist, die am weitesten zurückliegend verwendete Domaine umgeschaltet, wie dies vorstehend erläutert wurde und anhand des Blockes 44 angezeigt wird. Die somit beim Block 46 umgewandelte Domaine ist nun dem neuen Gerätetyp, z.B. dem Typ A, zugeordnet und die LRU-Tabellen werden aktualisiert, um dieser Tatsache Rechnung zu tragen (Block 48), während die Bezugsliste mit den verfügbaren Rahmen gleichfalls beim Block 50 aktualisiert wird. Entsprechend wird das Rahmenstatusbyte jedes Rahmens (Fig. 5C) aktualisiert; d.h. Bit 1, das den Einrichtungs- bzw. Gerätetyp definiert, dem der Rahmen zugeordnet ist, würde umgeschaltet, und Bit 2 würde auf
25 1 gesetzt.
Der Anmeldung ist als Anlage A ein Dokument mit dem Titel: "Module: Domain Switching" beigefügt, das eine detaillierte Beschreibung der Verfahren darstellt, die zur Ausführung der Erfindung verwendet werden. Dieses Dokument ist größtenteils in Art eines Pseudocodes geschrieben, deren Grundbegriffe in einem Dokument beschrieben werden, das ebenfalls als Anlage A-I beigefügt ist und den Titel "Chinook Prolog and Pseudo-Code Conventions" trägt. Für den Fachmann ist es
-xs-
mit Hilfe des "Domain-Switching"-Dokuments in Anlage A sowie des "Pseudocodekonventions"-Dokuments in Anlage A-I nicht schwierig, die erfindungsgemäßen Verfahren auszuführen .
Für den Fachmann ist ersichtlich, daß ein Domainenunterteilungssystem zum Aufteilen eines Festkörperspeichers beschrieben wurde, das die vorstehend beschriebenen Bedürfnisse des Standes der Technik befriedigt und die genannten Aufgaben der Erfindung löst. Im einzelnen ermöglicht die Verwendung von Domainen, die eine Größe aufweisen, in die Datenmengen, z.B. Spuren, passen, auf die gemeinsam zugegriffen wird, in angemessener Weise eine rationelle Speicherung von Daten, ohne daß dabei eine Zerstückelung bzw. Zersplitterung auftritt, da alte Daten durch neue Daten überschrieben werden.
Insbesondere ermöglicht das Schema für eine anpassungsfähige Domainenumschaltung, daß eine rationelle Verwendung des Speichers selbst dann erreicht wird, falls die relative Domainenverwendung sich von Zeit zu Zeit ändert. Weiterhin ist einzusehen, daß das erfindungsgemäße Verfahren über das speziell beschriebene Ausführungsbeispiel, das zwei verschiedene Gerätetypen aufweist, hinaus Anwendung finden kann und daß demzufolge die oben gegebenen Erläuterungen der Erfindung nicht als eine Begrenzung des Schutzumfanges der Erfindung angesehen werden sollte, sondern lediglich als eine beispielhafte Verdeutlichung der Erfindung. Der Schutzumfang der Erfindung wird durch die folgenden Patentansprüche geeigneter abgegrenzt.

Claims (8)

Patentansprüche:
1. Verfahren zur Unterteilung eines Speicherfeldes in
Domainen für die Abspeicherung von Daten, die in mehreren unterschiedlichen, vorbestimmten Längen von mehreren Speichereinrichtungsklassen empfangen werden, wobei die Verbesserung darin besteht, daß das Speicherfeld in Domainengrößen unterteilt wird, die im wesentlichen ganzzahlige Vielfache der vorbestimmten Längen, der dort eingespeicherten Daten sind.
2. Die Verbesserung nach Anspruch 1, wobei die Domainen
bei einer Anfangsübertragung einer Speichereinrichtungsklasse zugeordnet werden.
3. Die Verbesserung nach Anspruch 2, wobei die Zuordnung der Domainen im Laufe der Zeit von Einrichtungsklasse zu Einrichtungsklasse geändert werden kann und die
Änderung entsprechend dem Verhältnis der Anzahl von
Domainen, die einer bestimmten Einrichtungsklasse zugeordnet sind, zur Verwendung der Domainen gesteuert
wird.
4. Die Verbesserung nach Anspruch 1, wobei die vorbestimmten Längen von Daten vollständigen Spuren von Daten entsprechen, die auf Magnetplattenspeichermedien gespeichert sind.
5. Verfahren zur Organisation eines Feldes von Speicherplätzen, das zur Speicherung von Datenaufzeichnungen mit mehreren unterschiedlichen, vorbestimmten Längen verwendet werden soll, dadurch gekennzeichnet, - daß man eine Domainengröße bestimmt, die im wesent-
lichen ein ganzzahliges Vielfaches all der vielen vorbestimmten Datenlängen ist,
- daß man das Speicherfeld in die so bestimmten Domainen unterteilt und
- daß man jeder Domaine eine einzige vorbestimmte Datenlänge zuordnet.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet , daß die Zuordnung entsprechend der Verwendung jeder Domaine variiert werden kann.
7. Cachespeichersubsystem für den Anschluß an einen Hauptrechner sowie Magnetplatteneinrichtungen unterschiedlicher Klasse, wobei in den Magnetplatteneinrichtungen für jede Klasse verschiedene vorbestimmte Datenmengen auf den Spuren der Magnetplatten gespeichert sind, gekennzeichnet durch
- ein Festkörper-Cachespeicherfeld (22) und einen Cacheverwalter (24), wobei das Festkörper-Cachespeicherfeld in mehrere Domainen unterteilt ist und die Domainen so bemessen sind, daß sie im wesentlichen ganzzahlige Vielfache von vorbestimmten Datenmengen enthalten,
- wobei der Cacheverwalter (24) eine Einrichtung zum Umspeichern von auf Magnetplattenspeichereinrichtungen gespeicherten Daten in das Festkörper-'Cachespeicherfeld
15 aufweist und
- wobei der Cacheverwalter (24) eine Einrichtung zur Unterteilung jeder Domaine in Rahmen, die so bemessen sind, daß sie eine Datenmenge aufnehmen, die einer der vorbestimmten Datenmengen entspricht, sowie eine
Einrichtung für die Zuordnung der Adresse eines Rahmens entsprechender Größe zu Daten aufweist, die von einer der Magnetplattenspuren in das Festkörper- Cachespeicherfeld übertragen werden sollen.
8. Cachespoichersubsystem nach Anspruch 7, dadurch g e k e η η ζ e χ'·c h η e t , daß der Cacheverwalter (24) weiterhin eine Einrichtung aufweist, die bestimmte . Domainen einer ersten Magnetplatteneinrichtungsklasse einer zweiten Klasse zuordnet, falls eine Anzeige für ein Verwendungsungleichgewicht besteht, und daraufhin die neu zugewiesenen Domainen neu in Rahmen unterteilt, die zur Speicherung von Datenmengen bemessen sind, die den vorbestimmten Datenmengen entsprechen, die auf einer Spur der zweiten Magnetplatteneinrichtungsklasse gespeichert sind.
v_
8650- 19,069 FR2 FR 8 176 X13 FR3 FR4 FR9 FRIO FR5 FR6 FR7 FRII FRI2 FRI3 FR5 FRI X6 FR7 -37,000 FR 2 8375 FR1 FR5 FR4 FR3 -47,< FR2 FR6 8380 FR1 X5 FR3 FR3 FR4
g.2
RELATIVE 1 2 ANZAHL DER UBERi1RAGUNGEN ZU A 5 6 7 8 9 J A B C D E F DEM GERAT DQMAINEN η Q DER GERATE VOM TYP Q α α Q Q α Q α Q Q α TYP A ZU η η 3 'A-DOMAINEN-VERWENDUNG" Q Q Q α Q α α α Q Q Q GEORDNETE η T) Q α Q α Q α α Q Q α Q Q DQMAINEN 0 b η Q 4 Q Q α α Q Q Q Q Q Q Q η b b Q Q Tl Q α Q α α α Q Q Q Q 0 b b b T) α Tl TI α α α Q Q Q Q Q Q 1 b b b η α TI η η α Q α Q Q Q Q α 2 b b b b Tl b Tl η η α Q Q Q Q α α 3 b b b b η b b η η Tl Q Q α Q Q α 4 b b b b η b b b η fl η Q Q α α α 5 b b b b b b b b b η η η α Q Q Q 6 b b b b b b b b b b π Tl Tl α Q Q 7 b b b b b b b b b b b T) η Tl Q α 8 b b b b b b b b b b b b T) Tl η α 9 b b b b b b b b b b b b b η η α A b b b b b b b b b b b b b b Tl Ti B b b b C b b b D b b E b b F
I 34 __ 1 fe 1 r r B NACH A
UMSCHAL
TUNG
ANHÄNGIG
42- /48 Γ ^/44
"POST IMPL"
VERARBEITUNG
DOMAINEN DOMAINEN
UMSCHALT-
BESTIMMÖNG
DOMAINEN UM-
3HALTENT-
A NACH B
UMSCHALTUNG
ANHÄNGIG
DOMAINEN-
UMSCHALT
STATISTIK
TABELLE USCHALTUNG
\ ]
3
\ /
r1 p ZUORDNUNG
EINES
DOMAINEN
UMWANDLUNG
FREIEN
RAHMENS
ÜBERTRA
GUNG
BESTÄTI
GEN DOMAINEN
ZUGEORD
SPEICHERRAUMVERWALTUNG NET A ^-46
50
DOMAINEN-VEF SCHREIBEN
DER BEZUGS
TABELLE
iWALTUNl 36
Πα
REL. ADR.
0000
BESCHREIBUNG
ENDE DER LKU-Liyl'JÜ ÜJJRÄTETYP ~Ä" (PSEUDOANGABE)
.66
00OA 0014
unteres ende der lru-liste geratetyp a Tpseudoangabe)
OBERES ENDE DER LRU-LISTE GERATETYP B (PSEUDOANGABE)
'70
001E 0028 0032
XXXX XXXX
UNTERES ENDE DER LRU-LISTE GERATETYP B (PSEUDOANGABE)
RAHMENDESKRIPTOR 1 (BESCHREIBUNG SIEHE UNTEN) RAHMENDESKRIPTOR 2
RAHfENDESKRIPTOR N (N ABHÄNGIG VOM AUFBAU)
ANZEIGE FÜR TABELLENENDE
-72
TIg. 5A
RAHMENDESKRIPTOR: Λ
REL. ADR. BYTE U
STORKOLLISION VORW.
(HI)
BYTE 1
00 STÖRKOLLISION RUCKW.
(HI)
STORKOLLISION VORW.
(TD)
Ol LRU-LISTE VORW. (HI) STORKOLLISION RUCKW.
(LO)
02 LRU-LISTE RÜCKW. (HI) LRU-LISTE VORW. (LO) 03 SPURADRESSE: DID LRU-LISTE RÜCKW.(LO) 04 SPURADRESSE: CYL (LO) SPURADRESSE: CYL (HI) 05 RAHMENSTATUSBYTE SPURADRESSE: HEAD 06 DOMAINENNUMMER RAHMENZUGRIFFZAHL 07 CACHEADRESSE: BOT (HI) CACHEADRESSE : DOMAINE 08 ALGORITHM. INFO.BYTE 1 CACHEADRESSE: BOT (LO) 09 Πα ALGORITHM. INFO.BYTE 2 .5B
RAHMENSTATOSBYTE
BIT 0 j = DIESER RAHMEN IST ZUGEORDNET (ENTHÄLT GÜLTIGE DATEN) IST DEFINIERT BIT 1 1 = DIESER RAHMEN GEHÖRT ZUM GERÄTETYP A IST EINE ÜBERTRAGUNG IM GANG BIT 2 \ = DIESER RAHMEN IST LIEGT EIN PERMANENTER FEHLER VOR BIT 3 \ = FÜR DIESEN RAHMEN MOMENTAN IN GEBRAUCH BIT 4 Ί = AUF DIESEM RAHMEN BIT 5 \ = DIESER RAHMEN BIT 6 RESERVIERT BIT 7 RESERVIERT
.5C
Int. Cl^: G 06 F 7/00
Anmeldetag: 14. November 1983
Veröffentlichungstag: 21. Februar 1985
-33-
IO
HAUPTRECHNER
I2.
ι τ
KANALINTERFACE
I6.
STEUERUNG
SPEICHER-INTERPOLATCR
I8
STEUER-i
MCOUL.
.18
STEUERMODUL
DATEN
CACHEVERWALTER
22'
20
ΤΊα. 1
DE19833390315 1982-11-15 1983-11-14 Anpassungsfähige Unterteilung eines Chachespeicherraums in Domainen Withdrawn DE3390315T1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/441,791 US4503501A (en) 1981-11-27 1982-11-15 Adaptive domain partitioning of cache memory space

Publications (1)

Publication Number Publication Date
DE3390315T1 true DE3390315T1 (de) 1985-02-21

Family

ID=23754298

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19833390315 Withdrawn DE3390315T1 (de) 1982-11-15 1983-11-14 Anpassungsfähige Unterteilung eines Chachespeicherraums in Domainen

Country Status (5)

Country Link
US (1) US4503501A (de)
CA (1) CA1203633A (de)
DE (1) DE3390315T1 (de)
GB (1) GB2140597B (de)
WO (1) WO1984002013A1 (de)

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4724518A (en) * 1983-07-29 1988-02-09 Hewlett-Packard Company Odd/even storage in cache memory
US4648030A (en) * 1983-09-22 1987-03-03 Digital Equipment Corporation Cache invalidation mechanism for multiprocessor systems
US4922408A (en) * 1985-09-27 1990-05-01 Schlumberger Technology Corporation Apparatus for multi-processor communications
CA1263760A (en) * 1985-09-27 1989-12-05 Alan L. Davis Apparatus for multiprocessor communication
US4785392A (en) * 1986-10-14 1988-11-15 Amdahl Corporation Addressing multiple storage spaces
US5210832A (en) * 1986-10-14 1993-05-11 Amdahl Corporation Multiple domain emulation system with separate domain facilities which tests for emulated instruction exceptions before completion of operand fetch cycle
JPS63172143A (ja) * 1987-01-12 1988-07-15 Canon Inc カメラのフイルムカウンタ
US4947319A (en) * 1988-09-15 1990-08-07 International Business Machines Corporation Arbitral dynamic cache using processor storage
US4905141A (en) * 1988-10-25 1990-02-27 International Business Machines Corporation Partitioned cache memory with partition look-aside table (PLAT) for early partition assignment identification
US4994962A (en) * 1988-10-28 1991-02-19 Apollo Computer Inc. Variable length cache fill
US6092153A (en) * 1988-11-14 2000-07-18 Lass; Stanley Edwin Subsettable top level cache
EP0389151A3 (de) * 1989-03-22 1992-06-03 International Business Machines Corporation System und Verfahren für die Verwaltung eines verteilten Cache-Speichers
US5394531A (en) * 1989-04-03 1995-02-28 International Business Machines Corporation Dynamic storage allocation system for a prioritized cache
EP0457403B1 (de) * 1990-05-18 1998-01-21 Koninklijke Philips Electronics N.V. Mehrstufiger Befehlscachespeicher und Verwendungsverfahren dafür
US5235690A (en) * 1990-08-31 1993-08-10 International Business Machines Corporation Method for operating a cached peripheral data storage subsystem including a step of subsetting the data transfer into subsets of data records
JPH0799508B2 (ja) * 1990-10-15 1995-10-25 インターナショナル・ビジネス・マシーンズ・コーポレイション キャッシュ記憶機構を動的に区分する方法およびキャッシュ記憶機構システム
JP3308554B2 (ja) * 1991-02-20 2002-07-29 株式会社日立製作所 制御装置及び制御装置の制御方法
US5367653A (en) * 1991-12-26 1994-11-22 International Business Machines Corporation Reconfigurable multi-way associative cache memory
US6026452A (en) * 1997-02-26 2000-02-15 Pitts; William Michael Network distributed site cache RAM claimed as up/down stream request/reply channel for storing anticipated data and meta data
US5381539A (en) * 1992-06-04 1995-01-10 Emc Corporation System and method for dynamically controlling cache management
GB2271202B (en) * 1992-10-01 1995-12-13 Digital Equipment Int Dynamic non-coherent cache memory resizing mechanism
US5499354A (en) * 1993-05-19 1996-03-12 International Business Machines Corporation Method and means for dynamic cache management by variable space and time binding and rebinding of cache extents to DASD cylinders
US5588129A (en) * 1994-02-09 1996-12-24 Ballard; Clinton L. Cache for optical storage device and method for implementing same
US5584007A (en) * 1994-02-09 1996-12-10 Ballard Synergy Corporation Apparatus and method for discriminating among data to be stored in cache
US5675797A (en) * 1994-05-24 1997-10-07 International Business Machines Corporation Goal-oriented resource allocation manager and performance index technique for servers
US5581736A (en) * 1994-07-18 1996-12-03 Microsoft Corporation Method and system for dynamically sharing RAM between virtual memory and disk cache
US6085234A (en) * 1994-11-28 2000-07-04 Inca Technology, Inc. Remote file services network-infrastructure cache
US5649153A (en) * 1995-06-19 1997-07-15 International Business Machines Corporation Aggressive adaption algorithm for selective record caching
US6016535A (en) * 1995-10-11 2000-01-18 Citrix Systems, Inc. Method for dynamically and efficiently caching objects by subdividing cache memory blocks into equally-sized sub-blocks
US6081623A (en) * 1995-10-11 2000-06-27 Citrix Systems, Inc. Method for lossless bandwidth compression of a series of glyphs
GB9521955D0 (en) * 1995-10-26 1996-01-03 Sgs Thomson Microelectronics Cache memory
US5784699A (en) * 1996-05-24 1998-07-21 Oracle Corporation Dynamic memory allocation in a computer using a bit map index
US6057857A (en) 1996-06-12 2000-05-02 Citrix Systems, Inc. Method for the lossless compression of lines in a distributed computer system
AU3483997A (en) * 1996-06-18 1998-01-07 Zitel Corporation Novel cache memory structure and method
US5901333A (en) * 1996-07-26 1999-05-04 Advanced Micro Devices, Inc. Vertical wavetable cache architecture in which the number of queues is substantially smaller than the total number of voices stored in the system memory
US6012126A (en) * 1996-10-29 2000-01-04 International Business Machines Corporation System and method for caching objects of non-uniform size using multiple LRU stacks partitions into a range of sizes
US6088777A (en) * 1997-11-12 2000-07-11 Ericsson Messaging Systems, Inc. Memory system and method for dynamically allocating a memory divided into plural classes with different block sizes to store variable length messages
US6349364B1 (en) * 1998-03-20 2002-02-19 Matsushita Electric Industrial Co., Ltd. Cache memory system with variable block-size mechanism
US6490615B1 (en) 1998-11-20 2002-12-03 International Business Machines Corporation Scalable cache
US6317778B1 (en) 1998-11-23 2001-11-13 International Business Machines Corporation System and method for replacement and duplication of objects in a cache
US6425058B1 (en) 1999-09-07 2002-07-23 International Business Machines Corporation Cache management mechanism to enable information-type dependent cache policies
US6421761B1 (en) * 1999-11-09 2002-07-16 International Business Machines Corporation Partitioned cache and management method for selectively caching data by type
US20020029285A1 (en) 2000-05-26 2002-03-07 Henry Collins Adapting graphical data, processing activity to changing network conditions
US6792509B2 (en) 2001-04-19 2004-09-14 International Business Machines Corporation Partitioned cache of multiple logical levels with adaptive reconfiguration based on multiple criteria
US6745295B2 (en) 2001-04-19 2004-06-01 International Business Machines Corporation Designing a cache with adaptive reconfiguration
US6748491B2 (en) 2001-04-19 2004-06-08 International Business Machines Corporation Designing a cache using an LRU-LFU array
US7275135B2 (en) * 2001-08-31 2007-09-25 Intel Corporation Hardware updated metadata for non-volatile mass storage cache
US20030074524A1 (en) * 2001-10-16 2003-04-17 Intel Corporation Mass storage caching processes for power reduction
US7093097B2 (en) 2001-11-27 2006-08-15 International Business Machines Corporation Dynamic self-tuning memory management method and system
US7127528B2 (en) * 2002-07-22 2006-10-24 Honeywell International Inc. Caching process data of a slow network in a fast network environment
US6996676B2 (en) * 2002-11-14 2006-02-07 International Business Machines Corporation System and method for implementing an adaptive replacement cache policy
US7406579B2 (en) * 2002-12-17 2008-07-29 International Business Machines Corporation Selectively changeable line width memory
AU2002360640A1 (en) * 2002-12-17 2004-07-29 International Business Machines Corporation Selectively changeable line width memory
US7107403B2 (en) * 2003-09-30 2006-09-12 International Business Machines Corporation System and method for dynamically allocating cache space among different workload classes that can have different quality of service (QoS) requirements where the system and method may maintain a history of recently evicted pages for each class and may determine a future cache size for the class based on the history and the QoS requirements
US20050138296A1 (en) * 2003-12-18 2005-06-23 Coulson Richard L. Method and system to alter a cache policy
US7133997B2 (en) * 2003-12-22 2006-11-07 Intel Corporation Configurable cache
US7146466B2 (en) * 2004-03-23 2006-12-05 International Business Machines System for balancing multiple memory buffer sizes and method therefor
JP2006079495A (ja) * 2004-09-13 2006-03-23 Hitachi Ltd ストレージシステム及び論理区画の設定方法
US8214837B2 (en) * 2004-12-03 2012-07-03 Intel Corporation Method, apparatus and system for dynamically allocating sequestered computing resources
US7996644B2 (en) * 2004-12-29 2011-08-09 Intel Corporation Fair sharing of a cache in a multi-core/multi-threaded processor by dynamically partitioning of the cache
JP4819369B2 (ja) 2005-02-15 2011-11-24 株式会社日立製作所 ストレージシステム
US8423673B2 (en) * 2005-03-14 2013-04-16 Citrix Systems, Inc. Method and apparatus for updating a graphical display in a distributed processing environment using compression
US8171169B2 (en) * 2005-03-14 2012-05-01 Citrix Systems, Inc. Method and apparatus for updating a graphical display in a distributed processing environment
JP4568168B2 (ja) * 2005-05-17 2010-10-27 株式会社日立製作所 情報処理方法及びシステム
US7627714B2 (en) * 2006-08-22 2009-12-01 International Business Machines Corporation Apparatus, system, and method for preventing write starvation in a partitioned cache of a storage controller
US8825982B2 (en) 2010-06-10 2014-09-02 Global Supercomputing Corporation Storage unsharing
US9223710B2 (en) 2013-03-16 2015-12-29 Intel Corporation Read-write partitioning of cache memory
CN104717152B (zh) * 2013-12-17 2019-07-19 深圳市中兴微电子技术有限公司 一种实现接口缓存动态分配的方法和装置
US10133673B2 (en) * 2016-03-09 2018-11-20 Verizon Digital Media Services Inc. Cache optimization based on predictive routing
KR20190097930A (ko) 2018-02-13 2019-08-21 삼성전자주식회사 채널 별 메모리 용량을 조절하는 메모리 장치 및 이를 포함하는 메모리 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2052118A (en) * 1979-06-04 1981-01-21 Memorex Corp Disc Cache Subsystem
EP0080875A2 (de) * 1981-11-27 1983-06-08 Storage Technology Corporation Datenspeichersystem für einen Arbeitsrechner
EP0080876A2 (de) * 1981-11-27 1983-06-08 Storage Technology Corporation Cache-Steuerverfahren und -einrichtung
EP0080877A2 (de) * 1981-11-27 1983-06-08 Storage Technology Corporation Speichersystem und Organisation für Arbeitsrechner

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3142043A (en) * 1960-07-28 1964-07-21 Honeywell Regulator Co Information handling apparatus for distributing data in a storage apparatus
GB1246128A (en) * 1967-12-14 1971-09-15 Olivetti & Co Spa Electronic computer
US3820078A (en) * 1972-10-05 1974-06-25 Honeywell Inf Systems Multi-level storage system having a buffer store with variable mapping modes
US3906455A (en) * 1974-03-15 1975-09-16 Boeing Computer Services Inc Associative memory device
US3976977A (en) * 1975-03-26 1976-08-24 Honeywell Information Systems, Inc. Processor for input-output processing system
US4047243A (en) * 1975-05-27 1977-09-06 Burroughs Corporation Segment replacement mechanism for varying program window sizes in a data processing system having virtual memory
US4035778A (en) * 1975-11-17 1977-07-12 International Business Machines Corporation Apparatus for assigning space in a working memory as a function of the history of usage
US4028668A (en) * 1975-12-22 1977-06-07 Honeywell Information Systems, Inc. Apparatus for selectively addressing sections and locations in a device controller's memory
US4096567A (en) * 1976-08-13 1978-06-20 Millard William H Information storage facility with multiple level processors
US4080651A (en) * 1977-02-17 1978-03-21 Xerox Corporation Memory control processor
US4115854A (en) * 1977-03-28 1978-09-19 International Business Machines Corporation Channel bus controller
US4161024A (en) * 1977-12-22 1979-07-10 Honeywell Information Systems Inc. Private cache-to-CPU interface in a bus oriented data processing system
US4195342A (en) * 1977-12-22 1980-03-25 Honeywell Information Systems Inc. Multi-configurable cache store system
JPS54128634A (en) * 1978-03-30 1979-10-05 Toshiba Corp Cash memory control system
US4315312A (en) * 1979-12-19 1982-02-09 Ncr Corporation Cache memory having a variable data block size

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2052118A (en) * 1979-06-04 1981-01-21 Memorex Corp Disc Cache Subsystem
EP0080875A2 (de) * 1981-11-27 1983-06-08 Storage Technology Corporation Datenspeichersystem für einen Arbeitsrechner
EP0080876A2 (de) * 1981-11-27 1983-06-08 Storage Technology Corporation Cache-Steuerverfahren und -einrichtung
EP0080877A2 (de) * 1981-11-27 1983-06-08 Storage Technology Corporation Speichersystem und Organisation für Arbeitsrechner

Also Published As

Publication number Publication date
US4503501A (en) 1985-03-05
CA1203633A (en) 1986-04-22
WO1984002013A1 (en) 1984-05-24
GB2140597A (en) 1984-11-28
GB8417056D0 (en) 1984-08-08
GB2140597B (en) 1986-11-12

Similar Documents

Publication Publication Date Title
DE3390315T1 (de) Anpassungsfähige Unterteilung eines Chachespeicherraums in Domainen
EP0703534B1 (de) Speicherverwaltungssystem eines Rechnersystems
EP0096079B1 (de) Verfahren zur Aufbereitung von Punktrasterdaten für Zeichen- und/oder Bilddarstellungen
DE60130593T2 (de) Flash-Speicherarchitektur mit gleichzeitig programmierbaren mehrfachen hostfähigen Flash-Speicherbanken
DE2617408C3 (de) Speichermodul fur ein Datenverarbeitungsgerät mit Speicherhierarchie
DE2230987C2 (de)
DE19615948C2 (de) Flash-Festkörper-Plattenspeicher-Karte
DE3718501A1 (de) Videoanzeigegeraet
DE2310631C3 (de) Speicherhierarchie für ein Datenverarbeitungssystem
DE3015875A1 (de) Speicherzugriffssystem und verfahren fuer einen zugriff zu einem digitalen speichersystem
DE4022885A1 (de) Verfahren zum neuadressieren eines speichers und speichersystem mit einer rangordnung
DE2432608A1 (de) Speicheranordnung fuer datenverarbeitungseinrichtungen
EP0704803A1 (de) Verfahren zur Speicherverwaltung eines Flash-Speichers
DE2703559A1 (de) Rechnersystem
DE2801982A1 (de) Verfahren zum austausch von information zwischen einem externen speicher und einem arbeitsspeicher in einem textverarbeitungssystem
EP0195324A1 (de) Kontrolleinheit für einen Magnetplattenspeicher
DE69933043T2 (de) Verfahren und vorrichtung für einen adaptiven generator von adressennachschlagtabellen
DE3039285A1 (de) Datenspeicher-anordnung und datenspeicherverfahren
DE69912034T2 (de) Bildverarbeitungsgerät
DE10120615B4 (de) Dynamische Speicherverwaltung für Objekte unterschiedlicher Größe
DE2558417A1 (de) Datenverarbeitungssystem
DE60035114T2 (de) Plattenmediumverwaltungsverfahren
DE2525287A1 (de) Assoziativspeicher
DE10039505A1 (de) Verfahren, Systeme und Rechner-Programmprodukte zur Speicherung von Daten mit Hilfe einer Rollfensterdatei
DE2261586A1 (de) Speichereinrichtung

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 12/08

8136 Disposal/non-payment of the fee for publication/grant