DE3021227A1 - Plattenspeicher-notizblock-teilsystem - Google Patents

Plattenspeicher-notizblock-teilsystem

Info

Publication number
DE3021227A1
DE3021227A1 DE3021227A DE3021227A DE3021227A1 DE 3021227 A1 DE3021227 A1 DE 3021227A1 DE 3021227 A DE3021227 A DE 3021227A DE 3021227 A DE3021227 A DE 3021227A DE 3021227 A1 DE3021227 A1 DE 3021227A1
Authority
DE
Germany
Prior art keywords
disk
data
notepad
memory
storage
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
DE3021227A
Other languages
English (en)
Inventor
Vaclav Vladimir Hoffmeister
Richard David Reiser
Jesse Ingebrigt Stamness
Lynn Weldon Whitfield
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Memorex Corp
Original Assignee
Memorex Corp
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 Memorex Corp filed Critical Memorex Corp
Publication of DE3021227A1 publication Critical patent/DE3021227A1/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

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)
  • Bus Control (AREA)

Description

PATENTANWÄLTE
DR. CLAUS REINLÄNDER DIPL.-ING. KLAUS BERNHARDT
Orthstraße 12 ■ D-8000 München 60 · Telefon 832024/5
Telex 5212744 · Telegramme Interpaienf
M8 P23 D
Memorex Corporation
Santa Clara, CaI., USA
Plattenspei cher-Noti zblock-Tei1 system
Priorität: 4. Juni 1979 - USA - Serial No. 045 476
Zusammenfassung
Es wird ein Plattenspeicher-Notizblock-Teilsystem zum Anschluß eines Hochgeschwindigkeits-Halbieiterspeichers typischerweise an die Plattensteuerung einer Kette von Plattenspeichern beschrieben. Der Plattenspeicher-Notizblock kann die Zugriffszeit zu gewissen Informationen in einem Rechnersystem deutlich herabsetzen, wenn die'Information häufig vom Datenverarbeitungssystem benutzt wird. Der Plattenspeicher-Notizblock wird mikroprogramm-gesteuert, derart, daß die häufig benutzte Information im Notizblockspeicher gehalten wird, und Information, die vom Rechnersystem selten benötigt wird, aus dem Notizblockspeicher gelöscht wird.
Hintergrund der Erfindung
Die Erfindung betrifft rotierende Magnetplatten-Computerspeicher. Durch die Erfindung wird eine verbesserte Teilsystemarchitektur vorgeschlagen, bei der ein Hochgeschwindigkeits-Halb!eiterspei eher geringer Größe ein
030051/0778 --·/2
y-s
schnelleres Wiederauffinden von Information erlaubt, auf die die
Zentraleinheit häufig zugreift.
Nach der Einführung des Systems 360 ist eine Standard-Architektur für den Anschluß von Eingabe-Ausgabe-Geräten an IBM-Zentraleinheiten aufgestellt worden. Die Zentraleinheit kommuniziert über einen "Kanal" mit peripheren Eingabe-Ausgabe-Geräten. Die Kanal-Schnittstelle erlaubt den Anschluß einer Speichersteuereinheit, die die
Befehle von der Zentraleinheit interpretiert und das Schreiben von Information im Plattenspeicher bzw. das Wiederauffinden von Information aus diesem dirigiert . In der Praxis ist die Speichersteuereinheit an eine Plattensteuerung angeschlossen, die ihrerseits eine Anzahl von Magnetenplattenspeichern berücksichtigen kann. Eine Speichersteuereinheit dieser Art ist die Speichersteuereinheit Memorex 3674 (Memorex Veröffentlichung 3674.21-00 "3674 Storage Control Unit Theory of
Operation"). Eine Plattensteuerung dieser Art ist die Plattensteuerung Memorex 3673 (Memorex Veröffentlichung 3673.21-02 "3673/75/70 Disc Storage Subsystem Theory of Operation"). Plattenspeicher der beschriebenen Art sind die Plattenspeicher-Baueinheiten Memorex 3670 und 3675 (Memorex Veröffentlichung 3673.21-02 "3673/75/70 Disc Storage Subsystem Theory of Operation"). Die Verbindung des Kanals mit Speichersteuereinheit, Plattensteuerung und Plattenspeicher-Baueinheiten ist beschrieben in der Memorex Veröffentlichung 3673.21-02 "3673/75/70 Disc Storage Subsystem Theory of Operations".
Es ist auch bekannt, daß eine Plattensteuerung wie beispielsweise die Plattensteuerung Memorex 3673 mit einer Anzahl von angeschlossenen Plattenspeichern über eine als "string switch" bezeichnete Einrichtung an mehreren Speichersteuereinheiten angeschlossen werden kann. Ein "string switch" ist ein Feld aus Hardware und Mikrocode, das
eine intelligente Schnittstelle definiert, die einer Anzahl von Speichersteuereinheiten erlaubt, mit einer einzelnen Kette von Plattenspeichern zu kommunizieren, die von einer Plattensteuerung Type 3673 gesteuert werden.
.../3 830051/0770
Eine Anforderung zur Speicherung von bestimmten Daten , oder eine Anforderung zum Wiederauffinden von bestimmten Daten, wird vom Kanal eingeleitet. Durch die Speichersteuereinheit und die Plattensteuerung greift die Plattenkette zu der speziellen Information zu. Durch die mechanische und elektronische Konfiguration der Komponenten tritt hierbei jedoch eine Verzögerung auf. Plattenspeichereinheiten haben die mechanische Besonderheit, daß magnetische Lese-Schreib-Köpfe fest an einen beweglichen Schlitten befestigt sind, der Zugriff zu einer Vielzahl von Aufzeichnungsspuren auf der Plattenspindel hat. Eine Anforderung für Information erfordert oft eine Bewegung des Schlittens, der die Lese-Schreib-Magnetwandler trägt, zu der Spur, in der die Daten gespeichert sind. Die Zeit für den Schlitten, einen solchen Zugriff vollständig durchzuführen, kann manchmal nur 10 Millisekunden betragen, manchmal aber auch 50 Millisekunden. Zusätzlich kann eine weitere Verzögerung eintreten, wenn auf eine spezielle Spur zugegriffen worden ist und der Schlitten elektronisch durch Befolgung der Servo-Nachlaufinformation verriegelt ist, während die Platte weiter in die richtige Position rotiert, wo die gewünschte Information gespeichert ist. Plattendrehungsverzögerung oder "Latenz" kann vernachlässigbar sein oder sich auf immerhin 17 Millisekunden belaufen, wenn die Platten mit 3600 U/min rotieren. Im Mittel beläuft sich die Latenz auf eine Verzögerung von etwa 8 Millisekunden für Platten, die mit 3600 U/min rotieren. Die Verzögerungen sowohl durch die Zugriffszeit als auch durch die Latenz können sich zu beträchtlichen Belastungen für die Leistung der Zentraleinheit zur Durchführung d,er gewünschten Aufgaben summieren.
Zusätzlich übertragen Plattenspeicher aufgrund ihrer ihnen eigenen Natur Information in den Kanal über die entsprechenden Steuereinrichtungen nur mit einer festen Datenübertragungsrate. Die Datenübertragungsrate ist eine Funktion der Bitdichte der auf dem Plattenspeicher gespeicherten Information, und der Rotationsgeschwindigkeit der Platten selbst. Für Memorex Typen 3670 und 3675 ist der Nennwert der
.../4 030051/0778
y-
Datenübertragungsrate 806,000 Byte pro Sekunde, der Kanal erlaubt jedoch oft aufgrund seiner eigenen Grenzen erheblich höhere Übertragungsraten als 806.000 Byte pro Sekunde. Das heißt,der Plattenspeicher nutzt die Maximalgeschwindigkeit der Kanalelektronik nicht vollständig aus, eine Tatsache, die-Systemarchitekten als unvermeidlich hingenommen haben.
Es ist auch bekannt, daß zwar Plattenspeicher als Direktzugriffs-Speichereinrichtungen bezeichnet werden, was bedeutet, daß jedes bestimmte Informationsteil in etwa der gleichen verstrichenen Zeit abgespeichert oder wiederaufgefunden werden kann, Benutzer aber häufig Information in einer typischen Rechenanlage nicht wahlfrei abspeichern und wiederauffinden. In der Praxis ist die Nutzung von Plattenspeichergeräten oft zeitlich um bestimmte Datensätze gehäuft ("clustered"). Das heißt, daß auf bestimmte Informationsspuren in einem Plattenspeicher häufig zugegriffen wird, oder diese auf den neuesten Stand gebracht werden, während Hunderte von Millionen Bytes anderer Information davon ausgeschlossen sind. Das Konzept eines Notizblocks ist deshalb bereits als Mittel untersucht worden, Information, auf die häufiger zugegriffen wird, in einem Hochgeschwindigkeits-Puffer aufgrund der Wahrscheinlichtkeit zu speichern, daß auf diese Information unter Ausschluß der meisten restlichen Information zugegriffen wird, die derzeit in Direktzugriffs-Speichereinrichtungen erheblich größerer Kapazität residiert.
In den US-PS 40 75 686 und 40 70 706 werden Systemkonfigurationen beschrieben, in denen ein Notizblockspeicher zum schnellen Zugriff auf Prioritätsinformation verwendet wird, um die Systemleistung zu verbessern. Es wird jedoch nicht die Anwendung eines Hochgeschwindigkeits-Halbleiter-Notizblockspeichers für die konventionelle Plattenketten-Architektur beschrieben/"^neSer 05-P5 39 49 369 wird ein Digitalrechnersystem beschrieben, in dem ein Hochgeschwindigkeits-Notizblock-Puffer verwendet wird. Es wird darauf hingewiesen, daß Information
030051/0778
-y-
im Notizblock-PUffer praktisch strukturiert werden kann, so daß mit Bezug auf solche Information ein Prioritätssystem auf der Basis der Häufigkeit der Benutzung aufgebaut wird. Die am häufigsten verwendete Information würde die höchste Priorität erhalten, und die am wenigsten häufig benutzte Information würde die niedrigste Priorität erhalten. Wenn zusätzliche Information innerhalb des Hochgeschwindigkeits-Notizblockspeichers gespeichert werden muß und Raum nicht verfügbar war, würde die am wenigstens benutzte Information, die derzeit innerhalb des Notizblock-Puffers steht, gelöscht werden. Das Konzept des Algorithmus der wenigstkürzlichen Benutzung ist in der US-PS 37 37 881 untersucht, und zwar speziell die Forderungen der Anwendung des Notizblock-Konzepts auf "Seiten (pages)" von Information in einem Hochgeschwindigkeits-Magnetblasenspeicher. Mit "Seiten (pages)" werden in der Computerindustrie vorgegebene Datenblöcke gewisser Größe, die durch die Systemsteuerprogrammierung oder das Betriebssystem diktiert ist, verstanden.
Im allgemeinen hat die Einführung der Technik der virtuellen Speicherung, wie sie in der Konfiguration der Systemsteuerprogrammierung oder des Betriebssystems verwendet wird, das Konzept eines Hochgeschwindigkeitsspeichers mit sich gebracht, der für einen schnelleren Zugriff der Zentraleinheit zu häufig benutzter Information benutzt werden kann, im Gegensatz zu der Zugriffsforderung der Zentraleinheit zu Direktzugriffs-Speichereinrichtungen erheblich größerer Kapazität. Ein allgemein beschriebenes Seitenwechsel system (paging system), bei dem ein Hochgeschwindigkeits-Notizblockspeicher in Verbindung mit einem größeren Plattenspeicher verwendet wird, ist in der US-PS 36 47 beschrieben. Zusätzlich wird das Konzept eines "scheinbaren Speichers" in der OS-PS 35 69 938 untersucht, bei dem wieder ein Hochgeschwindigkeitsspeicher als Zwischenpuffer zwischen der Zentraleinheit und einem erheblich größeren Arbeitsspeicher verwendet wird, um die Leistung der Zentraleinheit zu verbessern. In allen Untersuchungen wird jedoch speziell nicht die Anwendung eines Hochgeschwindigkeits-Halbleiter-Notizblockspeichers, bei dem ein Algorithmus auf der Basis der wenigst-
.../6 030051/0778
kürzlichen Benutzung verwendet wird, gelehrt oder vorgeschlagen, wie er wirksam bei einer Plattenkette angewandt werden könnte.
Zusammenfassung der Erfindung
Aufgrund der Erfindung (im folgenden als "Platten-Notizblock" oder "Plattenspeicher-Notizblock-Teilsystem" bezeichnet) werden Hochgeschwindigkeits-Halbleiter-Speichergeräte verwendet, die in die Plattensteuerung einer Kette von Plattenspeichern gesetzt werden, um einen schnelleren Zugriff zu häufig geforderten Daten zu erlauben, als er sonst nach dem Stand der Technik erreichbar wäre. Der Platten-Notizblock ist aus vier Hauptkomponenten aufgebaut:
1. Schnittstelle zur Plattensteuerung
2. Notizblock-Steuerungs-Mikroprozessor
3. Laden/Oberwachen-Mi kroprozessor
4. Notizblockspeicher.
Die Schnittstelle (1) besteht aus Steuer- und Daten-Bus-Elektronik, um den Anschluß des Platten-Notizblocks innerhalb der Plattensteuerung zu erlauben. Auf diese Weise ist es dann möglich, daß die Speichersteuereinheit entweder mit dem Platten-Notizblock oder mit der Plattenkette kommuniziert. Unter gewissen Umständen kann jedoch der Platten-Notizblock die Kontrolle der Plattenkette übernehmen und direkt mit den Plattenspeichern kommunizieren und der Speichersteuereinheit einen Zustand "Kette besetzt" anzeigen. Zusätzlich ist es auch möglich, daß der Platten-Notizblock effektiv vom Ketten-Teilsystem abgetrennt wird, so daß die Speichersteuereinheit einfach einen Befehl "Durchschalten" von der Plattensteuerung zu den Plattenspeichern befiehlt.
030051/0778
Der Notizblock-Steuer-Mikroprozessor (2) ist grundsätzlich eine Zusammenstellung eines Hochgeschwindigkeits-bit-slice-microprozessor mit Zwischenspeichern und Speicherregister. Der Notizblock-Steuerungs-Mikroprozessor ist die zentrale Komponente des Platten-Notizblock-Teilsystems, bei der ein Mikroprogramm dazu verwendet wird, die Antwort des Platten-Notizblocks auf Speichersteuereinheits-Befehle und die Speicherung von Datenmodulen innerhalb des Notizblocksspeichers zu steuern.
Der Laden-Überwachungs-Mikroprozessor (3) ist eine Zusammenstellung von Komponenten, die dazu ausgelegt ist, das Notizblock-Steuerungs-Mikroprogramm von einem externen Speicher in einen schreibbaren Steuerspeicher zu laden.
Der Notizblockspeicher (4) ist ein Hochgeschwindigkeits-Halbleiterspeicher, der dazu verwendet wird, Information zu speichern, die am häufigsten von der Zentraleinheit angefordert wird. Der Notizblock-Steuerungs-Mikroprozessor legt fest, welche Information gespeichert werden soll und verfolgt die Datenmoduladressen, wenn besagte Information in den Plattenspei ehern residiert.
Das Platten-Notizblock-Teilsystem steht unter der Kontrolle eines Mikroprogramms. In einer geeigneten Ausführungsform ist ein Algorithmus aufgrund der wenigstkürzlichen Benutzung so programmiert, daß der Plattennotizblock diejenigen Datenmodule speichert, zu denen am häufigsten zugegriffen wird, und aus dem Notizblockspeicher die Datenmodule mit geringer Aktivität gelöscht werden.
Wenn ein Datenmodul innerhalb des Platten-Notizblocks residiert und von der Zentraleinheit gewünscht wird, kann dieser Datenmodul direkt vom Platten-Notizblock zur Speichersteuereinheit und weiter zur Zentraleinheit übertragen werden. Eine solche Datenübertragung hängt nicht von der Plattendrehung ab und es ist somit ein Vorteil des Platten-Notiz-
.../8 030051/0778
block-Tei!systems, daß Information vom Platten-Notizblockspeicher zur Speichersteuereinheit durch einen "Direktspeicherzugriff" mit einer Geschwindigkeit übertragen werden kann, die nur durch den Datenkanal begrenzt ist.
Wenn zusätzlich ein spezieller Datenmodul im Notizblockspeicher residiert und ein Teil dieses Datenmoduls von der Zentraleinheit angefordert wird, erlaubt das Konzept des Platten-Notizblocks den Vorteil, innerhalb dieses Datenmoduls direkt zu der gewünschten Information zu springen. Diesen Datensprungvorteil ist möglich, weil der Datenmodul in einem Halbleiterspeicher mit willkürlichem Zugriff steht, auf den durch einfache Adressenwahl zugegriffen werden kann, statt daß Abhängigkeit von der Plattendrehung besteht.
Aufgabe der Erfindung ist es also, der Zentraleinheit eines Rechnersystems einen schnelleren Zugriff zu häufig benutzten Daten zu erlauben als sonst möglich wäre.
Weiter soll durch die Erfindung ein Hochgeschwindigkeits-Halbleiterspeicher unter Mikroprozessorkontrolle verfügbar gemacht werden, um häufig benutzte Information zu speichern.
Weiter soll durch die Erfindung die Speicherung von Information innerhalb eines Noti;
gemacht werden.
halb eines Notizblockspeichers entsprechend einem Algorithmus möglich
Ferner soll durch die Erfindung der Platten-Notizblock in der Plattensteuerung einer Plattenkette situiert werden, so daß der Platten-Notizblock mit der Speichersteuereinheit wechsel wirken kann und mit den Plattenspeichern kommunizieren kann.
Die Erfindung soll anhand der Zeichnung näher erläutert werden; es zeigen:
.../9 030051/0778
Fig. 1 schematisch ein bekanntes Computersystem;
Fig. 2 schematisch ein Computersystem, in dem ein Platten-Notizblock-Teilsystem verwendet wird;
Fig. 3 die Zusammenstellung der Figuren 6, 7a und 7b;
Fig. 4 schematisch eine alternative Ausführungsform des Platten-Notizblocks bei Anwendung bei einem Rechnersystem, in dem keine Speichersteuereinheit verwendet wird;
Fig. 5 schematisch die hauptsächlichen Hardware-Komponenten des
Platten-Noti zblocks;
Fig. 6 schematisch die Schnittstelle zwischen Platten-Notizblock und Plattensteuerung;
Fig. 7a schematisch die Platten-Notizblock-Schnittstellen-Steuerlogik;
Fig. 7b schematisch den Notizblock-Steuerungs-Mikroprozessor, Laden-/ Überwachung-Mikroprozessor und Notizblockspeicher;
Fig. 8 eine vereinfachte Hardware-Konfiguration für den Platten-Notizblock;
Fig. 9 ein Diagramm des Tag-0-Modus (Betriebsart "Identifizierungskennzeichen 0") mit Bezug auf Hardware-Steuerung;
Fig. 10 ein Diagramm der Speichersteuereinheit-Betriebsart mit Bezug auf Hardware-Steuerung
Fig. 11 ein Diagramm der Steuer-Betriebsart mit Bezug auf Hardware-Steuerung;
.../10 030051/0778
Fig. 12 ein Diagramm der Durchlauf-Betriebsart mit Bezug auf Hardware-Steuerung;
Fig. 13 ein Flußdiagramm eines Mikroprogramms für den Platten-Notizblock;
Fig. 14 ein Impulszugdiagramm der SYNC IN/SYNC OUT-Impulse beim Stand der Technik; und
Fig. 15 ein Impulszugdiagramm der SYNC IN/SYNC OUT-Impulse für die Besonderheit der variablen Datenrate für den Platten-Notizblock.
Beschreibung der bevorzugten Ausführungsform
Inhalt der Beschreibung der bevorzugten Ausführungsform.
1. Allgemeines
2. Platten-Notizblock-Hardware
3. Betriebs-Hardware-Moden des Platten-Notizblocks
4. Software des Platten-Notizblock-Teilsystems
5. Speicherverwaltung
6. Tag-Null-Befehle
7. Variable Datenrate
1. Allgemeines
In Figur 1 ist erkennbar, daß ein Datenverarbeitungssystem bekannter Art allgemein in der Weise konfiguriert ist, daß eine Zentraleinheit 2 über einen Speicherbus 4 mit einem Hauptspeicher 6 kommuniziert. Die Zentraleinheit 2 kann statt dessen über Eingabe-Ausgabe- oder Kanal-Bus 8 mit einer Speichersteuereinheit 10 kommunizieren. Wenn
.../11 030051/0778
Daten von einem Plattenspeichersystem wiedergewonnen oder in dieses eingeschrieben werden sollen, leitet die Zentraleinheit 2 einen entsprechenden Befehl ein. Der Befehl wird von der Speichersteuereinheit 10 in eine Reihe von Befehlen Übersetzt, die spezifisch für die adressierte Type eines Gerätes sind; in diesem Falle würde die Speichersteuereinheit 10 die Befehle von der Zentraleinheit 2 in Befehle übersetzen, die von der Plattensteuerung 12 erkannt werden können. Die Speichersteuereinheit 10 kommuniziert über eine System-CTL-Schnittstelle 13 mit der Plattensteuerung
12. Die Befehle von der Speichersteuereinheit 10 werden ihrerseits weiter durch die Plattensteuerung 12 interpretiert und ausgeführt, so daß spezielle Information über Plattenspeicher-Schnittstelle 15 in Plattenspeicher 14 eingeschrieben oder aus diesem ausgelesen werden kann. Definitionen hinsichtlich der bekannten Rechnerarchitektur einschließlich Hardware-Schnittstellen und Daten- und Steuer-Leitungs-Definitionen sind in den in der Einleitung erwähnten Veröffentlichungen zu finden.
In Figur 2 ist erkennbar, daß das Platten-Notizblock-Teilsystem nach der Erfindung ähnlich dem bekannten Teilsystem nach Figur 1 ist. Der Platten-Notizblock 16 ist jedoch in der Komponentenhierarchie über Notizblock-CTL-Schnittstelle 78 an die Plattensteuerung 20 angeschlossen. Tatsächlich ist der Platten-Notizblock 16 wirklich vor der Piattenantriebssteuerlogik (Bezugszeichen 62 in Figur 6) und dem eigentlichen Plattenspeicher 14 angeordnet. Der Platten-Notizblock 16 repräsentiert ein Niveau der Speicherhierarchie zwischen den langsameren Speichern, wie beispielsweise typischen Plattensystemen, und schnelleren Speichern, wie beispielsweise dem Arbeitsspeicher Der Platten-Notizblock 16 enthält interne Intelligenz, die dazu verwendet wird, Datenmodule zu manipulieren, an denen die angeschlossene Plattensteuerung 20 und die Kette von angeschlossenen Plattenspeichern 14 teilnehnen. Hier und im folgenden soll unter einem Datenmodul ein allgemeiner Ausdruck für einen festen Block oder eine Einheit von Daten mit einigen zweckmäßigen Dimensionen verstanden werden.
.../12 030051/0 778
Y-
Bei der Kommunikation mit der Plattensteuerung 20 und den Plattenspeichern 14 führt der Platten-Notizblock Eingabe-/Ausgabe-Operationen mit einer Geschwindigkeit durch, die auf die Rotati ons geschwindigkeit der Plattenspeicher 14 beschränkt ist. Eingabe-/Ausgabe-Operationen zwischen der Speichersteuereinheit 18 und dem Platten-Notizblock 16 können jedoch mit erheblich höherer Übertragungsrate durchgeführt werden (verringertes "Warten" oder kleinere "Latenz") als es sonst mit Konfigurationen und Architektur bekannter Art möglich wäre, was noch näher im Abschnitt "variable Datenrate" erläutert wird.
In dem Teilsystem nach Figur 2, das den Platten-Notizblock 16 enthält, der dazu geeignet ist, über CTL-Schnittstelle 78 mit der Plattensteuerung 20 und der Kette von Plattenantrieben 14 verbunden zu werden, läuft der Betrieb allgemein wie folgt ab:
Für einen Daten-Wiedergewinnungs-Vorgang gibt die Zentraleinheit eine Eingabe-/Ausgabe-Anforderung für einen gewissen Datenmodul oder mehrere Module, die auf Plattenspeichern 14 residieren, über Kanalbus 8 an die Speichersteuereinheit 18. Die Speichersteuereinheit 18 übersetzt die Anforderung der Zentraleinheit 2 in einen Befehlssatz, der vom Platten-Notizblock 16 akzeptiert werden kann. Wenn der angeforderte Datenmodul im Notizblockspeicher 54, der innerhalb des Platten-Notizblocks 16 residiert, vorhanden ist (Fig. 5), wird er über System-CTL-Schnittstelle 13 und Notizblock-CTL-Schnittstelle 78 in die Speichersteuereinheit 18 übertragen. Wenn der angeforderte Datenmodul nicht im Notizblockspeicher 54 vorhanden ist, findet der Platten-Notizblock 16 über Notizblock-CTL-Schnittsteile 78 und Bus 15 den angeforderten Datenmodul aus den Plattenspeichern 14 über Plattensteuerung 20 wieder und speichert ihn innerhalb des Notizblockspeichers 54 des Platten-Notizblocks 16. Der angeforderte Datenmodul wird dann vom Platten-Notizblockspeicher 54, der innerhalb des Platten-Notizblocks 16 residiert, zur Speichersteuereinheit 18 übertragen (Anmerkung: Die Ordnung der
.../13 030051/0773
Platten-Notizblock-Operationen kann mit den verschiedenen Ausführungsformen der Erfindung variieren, und diese Ordnung ist klar abhängig vom Mikroprogramm).
Wenn die Zentraleinheit 2 Information zum Speichermedium auf den neuesten Stand bringen will (d. h. eine "Schreib"-Anforderung) ist es möglich, daß die Speicherung oder das auf den neuesten Stand bringen dieser Information entweder direkt in den Plattenspeicher 14 über die Plattensteuerung 20 erfolgt, oder daß diese Information direkt in Platten-Notizblockspeicher 54 des Platten-Notizblocks 16 auf den neuesten Stand gebracht oder eingeschrieben wird (wieder ist die Ordnung der Platten-Notizblock-Teilsystem-Operationen vom Mikroprogramm abhängig). Wenn die Information direkt in den Platten-Notizblockspeicher 54 eingeschrieben wird, wird sie normalerweise später zur permanenten Speicherung an die Plattenspeicher 14 übertragen.
Es liegt innerhalb des Konzepts der Erfindung, daß in gewissen Datenverarbeitungsarchitekturen eine Speichersteuereinheit nicht verwendet zu werden braucht, und daß die Intelligenz oder die Funktionen dieser Speichersteuereinheit innerhalb der Zentraleinheit residieren. Gemäß Figur 4 liegt es innerhalb des Konzepts der Erfindung, daß der Platten-Notizblock 16 direkt mit der Zentraleinheit 36 kommunizieren kann, und zwar über einen geeigneten Daten-Steuer-Bus 13 über Notizblock-CTL-Schnittstelle 78. Bei dieser Ausführungsform enthält die Zentraleinheit 36 geeignete Intelligenz, um so eine direkte Kommunikation mit dem Platten-Notizblock 16 über Eingabe-/Ausgabe-Bus 13 zu erlauben. Der Platten-Notizblock 16 kommuniziert danach mit der Plattensteuerung 20 und den Plattenspeichern 14 über Steuer-Eingabe-/Ausgabe-Bus 15.
In der allgemeinsten Ausführungsform ist der Platten-Notizblock also ein intelligenter, plattentyp-spezifischer Hochgeschwindigkeitsspeicher, der in die Eingabe-ZAusgabe-Teilsystem-Architektur zwischengeschaltet ist und unter gewissen Umständen die Wiedergewinnung an Information aus dem Eingabe-/Ausgabe-Teilsystem mit einer höheren Geschwindigkeit erlaubt, die sonst nach dem Stand der Technik nicht erreichbar ist.
030051/0778 .../u
2. PI atten-Notizbiock-Hardware
Das Platten-Notizblock-Teilsystem, wie es hier beschrieben wird, ist eine Einrichtung, die Hardware- und Software-Techniken kombiniert, um die gewünschten, oben aufgeführten Aufgaben zu lösen. Die spezielle Implementierung der Einrichtung (in diesem Falle der Hardware) kann viele Formen annehmen, aber eine Ausführung eines Platten-Notizblocks 16 nach Figur 2, die sich als geeignet erwiesen hat, ist in Figur 5 dargestellt. Ersichtlich bestehen die wichtigsten Hardware-Komponenten des Platten-Notizblock-Teilsystems aus folgendem: Schnittstelle-Steuerlogik 48, Platten-Notizblock, Platten-Notizblock-Steuerungsmikroprozessor 50, Laden-Züberwachungs-Mikroprozessor 52, und Notizblockspeicher 54.
Die erste Haupt-Hardware-Komponente ist die Schnittstelle 48 zwischen dem Platten-Notizblock-Steuer-Mikroprozessor 50 und der Plattensteuerung 20. Die Notizblock-CTL-Schnittstelle erfüllt die Funktion, eine Anschlußeinrichtung für das Platten-Notizblock-Teilsystem an die Plattensteuerung gemäß Figur 6 zu schaffen. Bei dieser Steuerung kann es sich um eine Type wie Memorex 3673 "Disc storage controller" handeln, die allgemein in Memorex-Veröffentlichung 3673.21-03 definiert ist. Gemäß Figur 6 ist eine Plattensteuerung 20 so modifiziert, daß sie den Anschluß des Platten-Notizblocks 16 durch Hinzufügung einer Schnittstelle 58 innerhalb der CTL-Schnittstelle der Plattensteuerung erlaubt. Es ist zu beachten, daß die Schnittstelle 58 zwischen der System-CTL-Schnittstelle 13 nach dem string switch 68 und vor der Plattenantrieb-Steuerungslogik 62 positioniert ist. CTL-Leitungen 64 verbinden die string switches 68 mit der Notizblock-Schnittstelle 58, und CTL-Leitungen 34 verbinden die Plattenantriebs-Steuerungslogik 62 mit der Notizblock-Schnittstelle 58. In der speziellen Ausführungsform, die beschrieben wird, ist es notwendig, daß in der Plattensteuerung Type Memorex 6373 der string switch 68 installiert ist, wie in Memorex-Veröffentlichung 3673.21-03 beschrieben. Die Notizblock-Schnittstelle 58 sorgt für Daten-Busse und Steuerleitungen, die von der CTL-Schnittstelle benötigt werden. Notizblock-
.../15 030051/077S
- ψ-it-
Steuerleitungen 70 erlauben dem PlattenrNotizblock-Teilsystem, Kontrolle über die String switch-Schnittstelle auszuüben, die innerhalb der Plattensteuerung residiert. Voller Zugriff für die CTL-Schnittstellen in den Platten-Notizblock erfolgt über System-CTL-Leitungen 72 und vom Platten-Notizblock durch Notizblock-CTL-Leitungen 74.
Die zweite Haupt-Hardware-Komponente des Platten-Notizblocks 16 ist der Platten-Notizblock-Steuermikroprozessor 50 gemäß Figur 5 (mit mehr Details in Fig. 7b dargestellt). Bei einer speziellen Ausführungsform wurde es als zweckmäßig befunden, einen Hochgeschwindigkeits-bit-slice-mikroprocessor als Mikroprozessor 76 gemäß Figur 7b zu verwenden, der 4.000.000 Befehle pro Sekunde Kapazität hat. Für diese spezielle Ausführungsform wurde es als zweckmäßig gefunden, einen maßgeschneiderten Mikroprozessor zu verwenden, der von der 2.900-Familie von LSI-Prozessor-Chips von Advanced Micro Devices. Es sind jedoch viele andere Prozessor-Konstruktionen innerhalb des Konzepts des Platten-Notizblock-Teilsystems nach der Erfindung möglich, die in der Lage sind, die Platten-Notizblock-Aufgaben zu handhaben. Die grundlegenden Aufgaben des Platten-Notizblock-Steuer-Mikroprozessors 50 sind: (1) Antworten auf Steuer- und Daten-Übertragungsbefehle von der Notizblock-CTL-Schni«stelle 78 nach Figur 6, (2) Aufrechterhalten eines Inhaltsverzeichnisses von Daten, die derzeit innerhalb des Notizblockspeichers 54 nach Figuren 5 und 7b (Näheres später) vorhanden sind, (3) Steuern und Füllen des Notizblockspeichers 54 mit den Plattenspeicherdaten, die am wahrscheinlichsten gefordert werden (Näheres später), (4) Fehlererkennungs- und -behänd!ungsprozeduren durchführen, und (5) Betriebsdaten zum Laden-Züberwachen-Mikroprozessor 52 kommunizieren.
Die dritte Haupt-Hardware-Komponente einer geeigneten Ausführungsform des Platten-Notizblock-Teilsystems ist der Laden-/Oberwachen-Mikroprozessor 52 nach Figur 5. Für den Laden-/überwachen-Mikroprozessor 52 wurde es für zweckmäßig gefunden, einen Mikroprozessor
030051/0778 ~'/l6
-/■
Intel 8080A zu verwenden. Der Intel 8080A ist eine vollständige 8-Bit-ParalIeI-Zentraleinheit, die bei 2.000.000 Zyklen pro Sekunde arbeitet. Es sind Ersatz-Mikroprozessoren erhältlich, die an Stelle des Intel-Mikroprozessors verwendet werden können. Die Grundaufgaben des Laden-/Überwachen-Mikroprozessors 52 sind: (1) Steuern des Ladens der Steuerspeicherinformation vom Disketten-Speicher 84 (Näheres später) und (2) Durchführen von Betriebsüberwachungsaufgaben für das Platten-Notizblock-Teilsystem.
Die letzte Haupt-Hardware-Komponente des Platten-Notizblock-Teilsystems gemäß Figur 5 ist der Notizblockspeicher 54. Bei einer geeigneten Au sführungs form des Platten-Notizblocks besteht der Notizblockspeicher 54 aus zwei Niveaus an Halbleiterspeicher. Das erste Niveau des Halbleiterspeicher ist ein Voll spurpuff er 86 gemäß Figur 7b. Aufgrund des Konzepts der Erfindung ist es zwar nicht erforderlich, daß zwei Niveaus Halbleiterspeicher den Notizblockspeicher 54 bilden, und es ist ebenfalls nicht durch das Konzept der Erfindung erforderlich, daß die im Notizblockspeicher 16 gespeicherte Information eine volle Spur Plattenspeicherdaten umfaßt, es wurde jedoch zweckmäßig gefunden, die Hardware des Platten-Notizblocks als solchen derart zu konfigurieren. Das erste Niveau des Halbleiterspeichers, der Voll spurpuffer 86, enthält also wenigstens eine volle Spur Plattenspeicherdaten und kann aus einer Vielzahl von statischen oder dynamischen Speicherchips mit willkürlichem Zugriff aufgebaut werden. Es wurde zV/eckmäßig gefunden, den Voll spurpuffer 86 aus integrierten Schaltungen Intel 2147 oder Intel 2117 aufzubauen. Das zweite Niveau des Notizblockspeichers 54 ist aus Geräten geringerer Geschwindigkeit konfiguriert, und CCDs (charge coupled devices) sind erfolgreich für dieses Niveau geringer Geschwindigkeit des Notizblockspeichers 54 verwendet worden. In der speziellen Ausführungsform sind bis zu 12 Megabyte an CCDs in einer Konfiguration verwendet worden, in der CCDs Fairchild F464 verwendet wurden (jedes Bauelement kann ein Maximum von 64.000 Bit Information speichern). Tatsächlich bildet der Notizblockspeicher
.../17 030051/0778
γ-
in Wirklichkeit zwei Niveaus einer Drei-Speicher-Hierarchie des Platten-Notizblock-Teilsystems, wobei das erste Speicherniveau aus den Plattenspeichern 14 gebildet wird und die beiden folgenden Speicherniveaus die oben beschriebenen Halbleiterspeicher sind. Wie noch erläutert wird, besteht die Funktion des Notizblockspeichers 54 darin, Plattenspeicherdaten in Übereinstimmung mit einem Algorithmus zu speichern, der Plattenspeicherdaten speichert, die am wahrscheinlichsten vom Computersystem angefordert werden (nähere Beschreibung später).
In Verbindung mit Figuren 7a und 7b ist eine detailliertere Definition der Haupt-Hardware-Komponenten des Platten-Notizblocks 16 zu erkennen. Um die Beschreibung gemäß Figuren 7a und 7b zu verstehen, sind die folgenden Definitionen nützlich:
Schnittstelle 90
Zwei Schnittstellensteuerung-Leiterplatten , die Logik zur Erzeugung von Datenbussen und Steuersignalen für die Notizblock-CTL-Schnittstelle 78 erzeugen.
Spei chersteuerei nhei t-Direktspeicherzugriff
Platten-Direktspeicherzugriff 94
Notizblock-Steuerungs-Mikroprozessor 76
Laden-/Überwachen-Mi kroprozessor 82
Eine typische Direkt-Speieher-Zugriff-Port, die Speicheranforderungs-Logik und Adressen- und Wort-Zähler zur Kontrolle von Datenübertragungen zwischen dem Notizblockspeicher 54 und der Speichersteuereinhedt 18 enthält.
Eine typische Direktspeicherzugriff-Port, die Speicheranforderungslogik und Adressen- und Wort-Zähler enthält, um Datenübertragungen zwischen dem Notizblockspeicher 54 und den Platteneinheiten 14 zu kontrollieren.
Ein Bit sei ice Mikroprozessor unter Verwendung der AMD 2900-Familie aus LSI-Prozessor-Chips mit 4.000.000 Instruktionen pro Sekunde.
Ein Mikroprozessor mit der Ein-Chip-Zentraleinheit Intel 8080A als Grundkomponente. Er läuft bei 2MHz und hat 2k χ 8 EPROM-Steuerspeicher.
.../18
030051/0778
3Qi21227
Zwischenspeicher 96 Zwischenspeicher 98
Schreibbarer Steuerspeicher 100
Online-Register 102
Operatorpult 104 Diskettenspeicher 84
Fehlerkorrekturcode (FEC)
Vollspurpuffer 86 CCD-Speicher 88 Grunddatenbus 108
Grundadressenbus 110 C-Bus 138
8k χ 16 statischer RAM-Speicher zur Unterstützung des Notizblock-Steuerungs-Mikroprozessors 76.
Zwei 16 Byte χ 8 FIFO (First-In-First-Out) Noti zblock-Steuerungs-Mi kroprozessor-Speieher, die als Datenpuffer zur Kommunikation mit Laden-/Überwachen-Mikroprozessor 82 verwendet werden.
4k χ 40 Bit statischer RAM-Speicher Intel 2147, der als Steuerspeicher des Notizblock-Steuerungs-Mikroprozessors 76 verwendet wird.
Ein Steuerregister, dessen Bits durch Online-Schalter vom Operator-Pult 104 gesetzt werden. Der Notizblock-Steuer-Mikroprozessor 76 überwacht dieses Register, um zu bestimmen, welche Plattenspeicher auf Notizblock genommen werden sollen.
Enthält Netz- und Notizblock-Vorbereitungsschalter für jeden Plattenspeicher.
Ein Diskettenspeicher zum Laden des Mikroprogramms kann eine übliche Type Memorex 550 sein.
Fehlererkennungs- und Korrektur-Logik ("Hamming Scheme"), das zur Ein-Bit-Fehlerkorrektur und Doppel-Bit-Fehlererkennung benutzt wird.
4k χ 40 Bit (einschließlich FEC) statischer RAM-Speicher mit Chips Intel 2147.
1 bis 12 Megabyte CCD-Speicher mit den FairchiId-CCDs (charged coupled devices)
Bidirektionaler Datenbus für Datenübertraggungen zwischen Speichersteuereinheit-oder Platten-DSZ-Ports und Vollspurpuffer 86.
Speicheradresse mit drei Zuständen (Tristated memory address), die dem Vollspurpuffer 86 vom SSE-DSZ92 oder Platten-DSZ94 zugeführt wird.
Bidirektionaler Datenbus für Datenübertragungen zwischen Voll spurpuffer 86 und CCD-Speicher 88.
.../19
030051 /0778
C-Bus 140
Y-Bus 142
B-Bus 144
Speicheradressenbus 148 Pipeline-Bus 150 Notizblock-Bus-Ein 150 Bus-Ein 152
Bus-Aus 156
Notizblock Bus-Aus 158 CTL-Leitungen 160 Quellenbus mit drei Zuständen (Tristated source bus) für alle externen Ports, die dem Notizblock-Steuermikroprozessor 76 zugänglich sind.
Empfangsbus mit drei Zuständen (Tri-stated destination bus) für alle externen Ports, die dem Notizblock-Steuermikroprozessor 76 zugänglich sind.
Datenbus mit drei Zuständen (Tri-stated data bus), die zum Zugriff des Vollspurpuffers 86 zur FEC-Logik 106 verwendet wi rd.
Speicheradressenbus, der vom Notizblock-Steuermikroprozessor 76 zum Adressieren des schaltbaren Steuerspeichers 100 verwendet wird.
Pipeline-Befehls-Bus, durch den der Notizblock-Steuermikroprozessor 76 seine Mikrobefehle vom schreibbaren Steuerspeicher 100 erhält und mit dem Notizblock 98 kommuniziert,
8 Bit "Bus-Ein"-Datenbus; dies ist der Daten-"Bus-Ein" der System-CTL-Leitungen 72 zur Datenübertragung vom Notizblock zur System-Speichersteuereinheit.
8 Bit "Bus-Eiη"-Datenbus; dies ist der Daten-"Bus-Ein" der Notizblock-CTL-Leitungen 74, der zur Datenübertragung von den Plattenspeichern zum Notizblockspeicher verwendet wird.
8 Bit "Bus-Aus", der "Bus-Aus" der System-CTL-Leitungen 72, der zur Datenübertragungen und Steuerbefehlsdaten von der System-Speichersteuereinheit 18 zum Platten-Notizblock 16 verwendet wird.
8 Bit "Bus-Aus", der "Bus-Aus" der Notizblock-CTL-Leitungen 74, der für Daten und Steuerbefehle verwendet wird, wenn der Platten-Notizblock 16 die Plattenspeicher 14 kontrolliert.
CTL-Schnittstellen-Steuerleitungen, die in der Logik der Schnittstelle 90 erzeugt werden.
.../20
030051/0778
Notizblock-Steuerleitungen 70 Ein Satz von Kontrollsignalen, die
in der Schnittstellenlogik vom Notizblock-Steuermikroprozessor 76 erzeugt werden, um das Schalten der Multiplexer der Schnittstelle 58 nach Figur 6 zu kontrollieren, um .den gewünschten Schnittstellen-Kommunikations weg auszuwählen.
BCiyy Alle Leitungen, die in Figur 7b mit
1 BC1XX Dezeicnnet sind, zeigen an, daß
ein Bus oder ein Steuerkommunikationsweg tatsächlich vorhanden ist, hier aber nicht ausdrücklich definiert ist.
Um die Erfindung voll zu erläutern, sollten Figuren 6, 7a und 7b gemäß Figur 3 orientiert werden.
Gemäß Figuren 7a und 7b ist der Mikroprozessor 76 die Kontrollkomponente des Platten-Notizblocks 16. Der Mikroprozessor 76 empfängt alle externen Daten über den 16-Bit-Datenbus 140 mit drei Zuständen und schreibt an alle externen Ports über den 16-Bit-Ausgangsdatenbus 142 mit drei Zuständen. Wie oben beschrieben, ist eine der Grundfunktionen des Platten-Notizblock-Teilsystems, auf Datenübertragung und Steuer-Befehle zu antworten, die von der Systemspeichersteuereinheit 18 gemäß Figur 2 über Notizblöck-CTL-Schnittstelle 78 empfangen werden. Der Notizblock-Steuermikroprozessor 50 überwacht die Systembefehle, die von der Schnittstellensteuerlogik 48 ihrerseits von der NQtizblock-CTL-Schnittstelle 78 empfangen werden. Der Notizblock-Steuermikroprozessor 50 antwortet auf Befehle dadurch, caß die richtige Antwort in Steuerregister in der Schnittstellensteuerlogik 48 gesetzt wird. Diese Befehle werden dann zur Notizblock-CTL-Schnittstelle 78 gegattert, wie das durch die CTL-Schnittstellen-Spezifikationen gefordert wird, wie das im Stand der Technik definiert ist.
Der Mikroprozessor 76 empfängt seine Mikrobefehle vom schreibbaren Steuerspeicher 100 längs Pipeline-Bus 148. Der Mikroprozessor 76 adressiert den schreibbaren Steuerspeicher 100 über Speicheradressenbus
.../21 030051/077«
146. Der Zwischenspeicher 96 wird hauptsächlich vom Mikroprozessor 76 dazu benutzt, eine Liste von Plattenspeicher-Spuradressen zu speichern, die derzeit im Notizblockspeicher 54 residieren. Die Spurlistenadressen, wie sie im Zwischenspeicher 96 gespeichert sind, können vom Mikroprozessor 76 gesucht und dynamisch auf den neuesten Stand gebracht werden, wenn auf Daten im Notizblockspeicher 54 zugegriffen wird.
Der Mikroprozessor 76 benutzt D-Bus 140 und Y-Bus 142 zum Zugriff zum Zwischenspeicher 96. Zusätzlich sind andere relevante Platten-Notizblock-Steuerdaten im Zwischenspeicher 96 gespeichert, wie durch das Platten-Notizblock-Mikroprogramm (Erläuterung später) definiert. Der Mikroprozessor 76 integriert auch die Information im Online-Register 102 und bestimmt, welche Plattenspeicher 14 der Kette der "Notizblocknotierung" unterworfen sind. Der Speichersteuereinheit-Direktspeicherzugriff 92 und der Platten-Direktspeicherzugriff 94 werden für Datenübertragungen zwischen dem Vollspurpuffer 86 und der System-Speichersteuereinheit 18 bzw. den Plattenspeichern 14 benutzt. Die Direktspeicherzugriffs-Ports werden über D-Bus 140 und Y-Bus 142 vom Mikroprozessor 76 programmiert und überwacht.
Der Voll spurpuffer 86 wird über den Grundadressenbus 110 adressiert und sein Inhalt wird über Grunddatenbus 108 zur Direktspeicherzugriff-Port oder von dieser weg übertragen.
Der Vollspurpuffer 86 und der CCD-Speicher 88 benutzen gemeinsam die Fehlererkennungs- und Korrektur-Logik 106. Datenübertragungen zwischen Vollspurpuffer 86 und CCD-Speicher 88 erfolgen über Operationen vom sogenannten Direktspeicherzugriff-Typ über bidirektionalen C-Bus 183, der vom Mikroprozessor 76 kontrolliert wird. Zusätzlich programmiert der Notizblock-Steuermikroprozessor 50 die Direktspeicherzugriffs-Logik, die in den CCD-Speicher eingeschlossen ist, über Y-Bus 142.
.../22 030051/0778
3. Platten-Notizblock-Operations-Hardware-Betriebsarten
Es ist zwar möglich, das Konzept des erfindungsgemäßen Platten-Notizblocks in vielen Konfigurationen zu praktizieren, eine Konfiguration, die sich als besonders brauchbar gezeigt hat, ist die, die mit der bekannten IBM-Subsystem-Kanal/Steuereinheit/Gerät-Architektur kompatibel ist. Gemäß Figur 8 ist die Speichersteuereinheit 18 mit der Plattensteuerung 20 über System-CTL-Schnittstelle 13 verbunden. Die Plattensteuerung 20 ist über Notizblock-CTL-Schnittstelle 78 mit dem Platten-Notizblock 16 verbunden. Die Plattensteuerung 20 ist über Schnittstelle 15 mit den Plattenspeichern 14 verbunden. Die Darstellung einer gemeinsamen Verbindung der Schnittstellen 13, 15 und 78 innerhalb der Plattensteuerung 20 am Punkt 610 ist etwas vereinfacht. Tatsächlich ist 610 nicht eine festverdrahtete Verbindung, sondern eine Verbindung innerhalb der Plattensteuerung, die sich in Wirklichkeit je nach dem Hardware-Betriebsmodus verändert, wie noch erläutert wird.
Es gibt grundsätzlich vier Hardware-Betriebsmoden für den Platten-Notizblock 16, die durch Befehle von der Speichersteuereinheit 18 in einer geeigneten Ausführungsform festgelegt werden, um die Erfindung durchzuführen. Es handelt sich dabei um folgende:
1. Betriebsart "Identifizierungskennzeichen 0" (Tag Zero Mode).
In dieser Betriebsart, die in Figur 9 dargestellt ist, werden alle Tag-Befehle mit Ausnahme von Tag-Zero-Befehlen (wie sie später im Unterabschnitt "Tag-Zero-Befehle" beschrieben werden) werden zwischen der Speichersteuereinheit 18 durch Schnittstelle 13 zur Plattensteuerung 20 und auf die Plattenspeicher 14 durch Bus 15 übertragen. Für alle Befehle mit Ausnahme Tag-Zero-Befehlen ist der Platten-Notizblock 16 effektiv in der Kette nicht vorhanden. Tag-Zero-Befehle werden jedoch von der Speichersteuereinheit 18 durch Schnittstelle 13 zur Plattensteuerung 20 übertragen, die
- 23 030051/0778
Plattensteuerung 20 leitet diese Befehle jedoch durch Schnittstelle 78 zum Platten-Notizblock 16. Die Antwort auf Tag-Zero-Befehle kommt vom Platten-Notizblock 16 zur Plattensteuerung 20 und Speichersteuereinheit 18 über Schnittstellen 78 bzw. 13. Die Betriebsart "tag zero" kann also als Hardware-Betriebsart verstanden werden, bei der alle anderen Tag-Befehle mit Ausnahme von Tag-Zero zu Plattenspeichern 14 geleitet werden, die Plattensteuerung 20 leitet jedoch Tag-Zero-Befehle zum Platten-Notizblock 16 über Schnittstelle 78. Die Antwort auf Tag-Zero-Befehle kommt vom Platten-Notizblock 16 zur Plattensteuerung 20 und Speichersteuereinheit 18 über Schnittstellen 78 bzw. 13. Die Betriebsart Tag Zero kann also als Operations-Hardware-Betriebsart verstanden werden, in der typische Tag-Befehle im Platten-Teilsystem in einer Weise gehandhabt werden, die mit dem Stand der Technik übereinstimmt, mit Ausnahme der speziellen Tag-Zero-Befehle, die zum Platten-Notizblock geleitet werden.
2. Betriebsart Speichersteuereinheit
Wenn der Platten-Notizblock 16 sich in dieser Betriebsart befindet, werden alle Tag-Befehle von der Speichersteuereinheit 18 (vergl. Figur 10) über Schnittstelle 13 zur Plattensteuerung 20 und weiter über Schnittstelle 78 zum Platten-Notizblock 16 übertragen. Der Platten-Notizblock 16 ist im "aktiven" Zustand im Mikroprogn.mm-Sinn (vergleiche spätere Beschreibung der "Software). In der Betriebsart "Speichersteuereinheit" ist keine Kommunikation zwischen der Speichersteuereinheit 18 und den Plattenspeichern 14 möglich; dies ist die Haupt-Betriebsart für den Platten-Notizblock 16.
3. Betriebsart "Kontrolle"
In dieser Hardware-Betriebsart kommuniziert der Platten-Notizblock gemäß Figur 11 direkt mit Plattenspeichern 14 über Plattensteuerung 20 durch Schnittstellen 78 bzw. 15. In dieser Betriebsart erhält
.../24
030051/0773
die Speichersteuereinheit 18 einen "Besetzf'-Status von der Plattensteuerung 20, was bedeutet, daß keine Verbindung zwischen Speichersteuereinheit 18 und Plattensteuerung 20 über Schnittstelle 13 versucht werden kann. Der Platten-Notizblock 16 hat effektiv die Kontrolle des Platten-Ketten-Teilsystems usurpiert und kontrolliert dessen Operationen.
4. Durchlauf-Betriebsart
Die Durch!auf-Betriebsart gemäß Figur 12 ist effektiv eine Hardware-Betriebsart, die eine direkte Kommunikation zwischen der Speichersteuereinheit 18 und den Plattenspeichern 14 durch die Plattensteuerung 20 und die zugehörigen Schnittstellen 13 und 15 erlaubt. In dieser Betriebsart werden keine Tag-Befehle durch Schnittstelle 78 zum Platten-Notizblock 16 geleitet. Der Platten-Notizblock ist effektiv vom Plattenspeicher-Ketten-Teilsystem getrennt und das Teilsystem verhält sich, als ob kein Platten-Notizblock 16 angeschlossen wäre.
Die Hardware-Betriebsarten, wie sie soeben beschrieben sind, arbeiten integral und stehen unter der Kontrolle des Teilsystem-Mikroprogramms, das im Notizblock-Steuermikroprozessor 50 residiert. Wie noch im Abschnitt "Platten-Notizblock-Teilsystem-Software" beschrieben wird, ist es die Einleitung von geeigneten Tag-Zero-Befehlen durch die Speichersteuereinheit 18, die das Mikroprogramm so katalysiert, daß Mikroprogramm- Zustände (die noch definiert werden) geändert werden, um Änderungen in den Hardware-Betriebsarten des Teilsystems zu bewirken.
4. Platten-Notizblock-Teilsystem-Software
Das Konzept des erfindungsgemäßen Platten-Notizblocks kann auf viele verschiedene Weisen praktiziert werden. In einer speziell brauchbaren Ausführungsform arbeitet die oben beschriebene Hardware in Verbindung mit einem Mikroprogramm, das über Diskettenspeicher 84 in einen schreibbaren
- 25 -
030051/0778
Steuerspeicher 100 geladen wird, der vom Mikroprozessor 76 adressiert wird. Im Sinne des Mikroprogramms für eine geeignete Ausführungsform der Erfindung verwendet das Mikroprogramm vier "Zustände", die Software-Bedingungen des Gerätes mit Bezug auf seine gewünschten Funktionen beschreiben. Ein "Zustand" kann als eine Bedingung des Mikroprogramms verstanden werden, die statisch bleibt, sofern sie nicht durch externe Eingabe ge- und/oder verändert wird. Gemäß Figur 13 gibt es vier Mikroprogramm-Zustände in der bevorzugten Ausführungsform: (1) Wartezustand 400, (2) Auswahl zustand 414, (3) aktiver Zustand 424 und (4) passiver Zustand 432.
Im Wartezustand 400 sind sowohl der Platten-Notizblock als auch das ganze Platten-Teilsystem in einem Ruhe-Zustand, wie dadurch ersichtlich ist, daß die System-CTL-Schnittstelle 13 zwischen der Speichersteuereinheit 18 und der Plattensteuerung 20 ruht; es gibt keine Signale auf der System-CTL-Schnittstelle 13 nach Figur 6. Wie in Figur 13 gezeigt ist, kann der Wartezustand 400 als eine unendliche Programmschleife verstanden werden, die mit dem Zustand der Wahl-Haite-Leitung der CTL-Schnittstelle 78 beginnt. Wenn die Wahl-Haite-Leitung niedrig ist (d. h. ein "Nein"-Zustand 402) beginnt das Mikroprogramm, für eine "Abtastzeitsperre" 404 zu Zeiten. Wenn das Platten-Notizblock-Teilsystem in seinem Ruhezustand verbleibt, so daß eine Abtast-Zeitsperre erreicht wird (d. h. "Ja" 406), dann tritt das Platten-Notizblock-Teilsystem in einen Abtast-Verarbeitungs-Modus 408 ein, in dem interne Haushaltsfunktionen für den Platten-Notizblock ausgeführt werden. Nach Beendigung der Abtast- Verarbeitung 410 kehrt das Mikroprogramm in den Wartezustand 400 zurück und überwacht wieder den Zustand von "Wählen-Halten" auf System-CTL-Schnittstelle 13 in Figur 6. Die Abtast-Verarbeitung 408 ist nicht ein "Zustand", in den das Mikroprogramm in einem "stabilen" Zustand eintritt, d. h. die Abtastverarbeitung 408 ist lediglich eine Funktion, durch die die Programmierung immer zu einem End-Zustand fließt und in den Wartezustand 400 zurückkehrt. Die Abtastverarbeitung ist eine Funktion des Mikrocode, die analog dem Hardware-"Steuermodus" ist,
.../26
030051/0778
während der Wartezustand 400 als ein Hardware-Tag-Zero-Modus verstanden werden kann.
Wenn die Wählen-Halten-Leitung "Hoch" geht ("Ja" 412) während der Wartezustand herrscht, dann tritt das Platten-Notizblock-Mikroprogramm den "Wählen"-Zustand 414. Der "Wählen"-Zustand 414 ist als eine Bedingung definiert, bei der die "Wählen-Halten-Leitung""Hoch" ist; die Speichersteuereinheit hat alle Ketten von angeschlossenen Plattenspeichern davon benachrichtigt, daß eine Wahl einer der Ketten bevorsteht. Zu jedem Zeitpunkt während des "Wähl"-Zustandes 414 wird der Zustand der "Wählen-Halten"-Leitung überwacht. Wenn die "Wählen-Halten"-Leitung "niedrig" geht, dann ist "Wahlen-Halten" inaktiv und ein Zustand "ja" 416 gemäß Figur 13 führt das Platten-Notizblock-Mikroprogramm in den Wartezustand 400 zurück. Wenn die "Wahlen-Halten"-Leitung "hoch" bleibt (d. h. nicht inaktiv 418), dann überwacht das Mikroprogramm für einen Tag-Zero-Befehl auf Notizblock-CTL-Schnittstelle 78 nach Figur 6. Wenn ein Befehl "Tag zero" "aktiv"" nicht empfangen wird (Bezugszeichen 420), stoppt das Mikroprogramm im "Wählen"-Zustand, sofern nicht "Wahlen-Halten" "inaktiv" wird (d. h. "niedrig" 416), und in diesem Falle kehrt das Mikroprogramm in den Wartezustand 400 zurück. Wenn ein Befehl "Tag-Zero-Aktiv" empfangen wird ("Ja" 422), dann tritt das Mikroprogramm in den "aktiven" Zustand 424. Wie im Falle des Wartezustands 400 ist der "Wählen"-Zustand 414 auch ein Hardware-Tag-Zero-Modus.
Der "aktive" Zustand 424 ist als eine Bedingung des Mikroprogramms definiert, unter der die Speichersteuereinheit 18 bereits eine spezielle Speichersteuerung 20 ausgewählt hat, und wenn der Platten-Notizblock an diese Plattensteuerung 20 und das Platten-Ketten-Teilsystem angeschlossen ist, dann "aktiviert" ein Befehl "Tag-Zero-Aktiv"" das Platten-Notizblock-Mikroprogramm. Im "aktiven" Zustand 424 fängt der Platten-Notizblock alle Befehle ab, oder empfa'ngt diese, die von der Speichersteuereinheit 18 kommen, und darin finden Datenverarbeitungsoperationen statt. Dieses könnte auch "Notieren"-Zustand genannt werden und kann als der Hauptbetriebs zustand des Notizblocks verstanden werden. Im
.../27 03005 1/0778
Hardware-Sinn ist das der "Speichersteuereinheif'-Modus wie oben beschrieben. Wenn während des "aktiven" Zustands 424 der Befehl "Tag-Zero" passiv"" 425 vom Platten-Notizblock-Mikroprogramm nicht empfangen wird (Bezugszeichen 426), dann führt der Platten-Notizblock Notizblock-Befehle 428 aus. Die Durchführung von Platten-Notizblock-Befehlen 428 gemäß Figur 13 ist nicht ein "Zustand", sondern richtiger eine Bedingung des Mikroprogramms, durch die Funktionen durchgeführt werden und nach Beendigung kehrt das Mikroprogramm in den "aktiven" Zustand 424 zurück. Die Durchführung von Notizblock-Befehlen kann im Hardware-Sinn als "Speichersteuereinheit-Modus" verstanden werden. Wenn während des "aktiven" Zustands 424 ein Befehl "Tag-Zero"npassiv"" empfangen wird (Bezugszeichen 430 in Figur 13), tritt das Mikroprogramm in den "passiven" Zustand 432.
Der "passive" Zustand 432 wird als Mikroprogramm-Bedingung definiert, unter/die Speichersteuereinheit 18 direkt mit den Plattenspeichern 14 kommuniziert. Es ist zu beachten, daß das ein Unterschied zum "aktiven" Zustand 424 ist, in dem der Platten-Notizblock alle Befehle empfängt und keine Kommunikation zwischen der Speichersteuereinheit 18 und den Plattenspeichern 14 direkt vorhanden ist. Vor der Einleitung des "Passiv"-Zustand 432 hat die Speichersteuereinheit 18 einen Tag-Zero-Befehl spezifischer Decodierung erzeugt, um das Platten-Notizblock-Mikroprogramm in einen "Passiv"-Zustand "fallenzulassen", so daß eine Kommunikation zwischen der Speichersteuereinheit 18 und den Plattenspeichern direkt erlaubt (dies ist der Befehl "Tag-Zero""passiv"" 430). Im "Passi/-Zustand 432 überwacht der Platten-Notizblock 16 kontinuierlich Tag-Zero-Befehle (d. h. Hardware-Tag-Zero-Betriebsart). Wenn ein Befehl "Tag-Zero" aktiv"" empfangen wird, wie durch "ja" 434 in Figur 13 angedeutet, kehrt der Platten-Notizblock 16 in den "Aktiv"-Zustand 424 zurück. Wenn ein Befehl "Tag-Zero" 'aktiv1'" 437 während des "Passiv"-Zustands nicht empfangen wird (Bezugszeichen 436), dann wird der Zustand der "Wähl en-Hal ten"-Leitung wie oben beschrieben überwacht. Wenn "Wahlen-Halten" "aktiv" wird ("yes" 439) während der "passive"-Zustand vorliegt, dann wird
.../28 030051/0778
— 2« —
das Platten-Notizblock-Mikroprogramm für den Empfang eines Befehls "Tag-Zero" 'aktiv"" abgeglichen. Wenn tatsächlich ein Befehl "Tag-Zero" aktiv"" empfangen wird (d. h. "ja" 434), dann kehrt der Platten-Notizblock 16 in den "AktiV-Zustand 424 zurück. Wenn die "Wähl en-Hal ten"-Leitung "niedrig" wird (d. h. "nein"-440), dann arbeitet der Platten-Notizblock weiter mit Füll verarbeitung 442.
-ein
Der Passivzustand 432 ist/Hardware-Tag-Zero-Modus, wie oben beschrieben; die FUl!verarbeitung 442 ist jedoch ein Hardware-Steuermodus. Während der Füll verarbeitung 442 übernimmt der Platten-Notizblock 16 die Kontrolle der Kette aus Plattenspeiehern und füllt in den Vollspurpuffer 86 Information, die zu diesem Zeitpunkt nur auf den Magnetplatten 14 residieren kann. Während der Füll verarbeitung 442 wird eine volle Informationsspur von den Plattenspeichern 14 in den Vollspurpuffer 86
_zu übertragende Spur
übertragen. Da die in den Vollspurpuffer 86/die am kürzTichsten angeforderte ist, erhält diese Spur sinngemäß den Status der am kürzlichsten benutzten Spur in den Speicherverwaltungstabellen, die in Zwischenspeicher 96 nach Figur 7b residieren. Darüber hinaus wird diese Spurtabelleneingabe in dem Speicher so eingestellt, daß sie die Spur berücksichtigt, die in den Vollspurpuffer 86 geladen ist, mit Bezug auf Plattenspeichernummer, Zylinderlage und Kopfadresse. Nach Beendigung der Füll verarbeitung 442 (bei der es sich nicht um einen "Zustand" handelt) kehrt das Mikroprogramm in den Wartezustand 400 zurück und überwacht wieder den Status der Wähl-Haite-Leitung. Im "Hardware"-Sinn sorgt die Einleitung der Füll verarbeitung 442 dafür, daß der Platten-Notizblock "Kontrolle" des Platten-Ketten-Teilsystems übernimmt. Während der Füll verarbeitung 442 kann die Speichersteuereinheit 18 nicht mit der Plattenkette kommunizieren, und für die Speichersteuereinheiten, die mit der Kette verbunden sind, existiert der Zustand "Kette besetzt".
Es ist somit zu verstehen, daß die Hardware und das Mikroprogramm des Platten-Notizblock-Teilsystems ganzheitlich in einer typischen Situation wie folgt antworten kann:
.../29 03 0051/Ό778
-Z-
Zeit TQ: Ein "Wahlen-Halten" "aktiv" von der Speichersteuereinheit 18 wird vom Platten-Notizblock 16 empfangen.
Zeit T.: Ein Tag-Zero-Befehl von der Speichersteuereinheit wird empfangen
Zeit T2: Das Notizblock-Mikroprogramm ändert seinen Zustand (falls erforderlich)
Zeit T3: Der Notizblock fordert die Hardware auf, die Betriebsart zu ändern.
Zeit T.: Die Funktion wird durchgeführt (das Mikroprogramm
—neuen
ist in einem Zustand und die Hardware ist in einer
neuen Betriebsart).
Der Prozeß schreii
Figur 13 gezeigt.
Zeit Tr-: Der Prozeß schreitet fort, wie erforderlich, wie in ο
Eine geeignete Ausführungsform zum Praktizieren der Erfindung des Platten-Notizblock-Teilsystems weist zwar Fehlerbehandlung und andere Programmverfeinerungen zur Verbesserung des Betriebes auf, eine geeignete logische Konfiguration für das Mikroprogramm ist jedoch oben beschrieben und in Figur 13 dargestellt.
5. Speicherverwaltung
Das Platten-Notizblock-Teilsystem verwendet Tabellen, die allgemein im Zwischenspeicher 96 nach Figur 7b residieren, zur Verwaltung des Notizblockspeichers. Innerhalb des Erfindungskonzepts sind viele Implementierungen zur Erreichung der Ziele möglich, ein spezielles Schema für die Speicherverwaltung innerhalb der bevorzugten Platten-Notiz-Ausführung ist jedoch als zweckmäßig erkannt worden. Während allgemein
.../30 030051/0778
Y-.
Datenmodule, die im Notizblockspeicher 54 residieren, auf diskreten Informationseinheiten beliebiger Größe basieren kann, so enthält in der bevorzugten AusfUhrungsform der CCD-Speicher 88 volle Informationsspuren, die im Falle der Plattenspeicher Memorex 3670 und 3675 jeweils 13 030 Byte an Information enthalten. Jede der Datenspuren wird von den Plattenspeichern 14 geladen. Jede Datenspur, die im CCD-Speicher 88 und Vollspurpuffer 86 gespeichert ist, hat entsprechende Eingänge in den Tabellen, die für den Mikroprozessor 76 zugänglich sind, die durch die Notwendigkeit der Datenverwaltung hervorgerufen sind.
Der Platten-Notizblock-Zwischenspeicher 96 hält drei Typen von Speicherverwal tungsta bell en auf dem Laufenden: die dynamische Tabelle, die Spurverrastungstabelle und die Liste des leeren Speichers. Die dynamische Tabelle wird kontinuierlich auf den neuesten Stand gebracht, auf der Basis von Benutzungskriterien des Notizblockspeichers 54. Ein oben erwähnter Algorithmus für die am kürzlichsten erfolgte Benutzung ist erfolgreich für diesen Zweck verwendet worden. Die Spurverrastungstabelle enthält Parameter für den Teil des CCD-Speicher 88, der im Notizblockspeicher 54 "verrastet" ist. In diesem Zusammenhang wird unter "Verrastung" einer Spur im Notizblock verstanden, daß eine Datenspur nicht auf der Basis eines Algorithmus ersetzt wird, wie das der Fall bei der dynamischen Tabelle ist (d.h. sie ist permanent im Notizblockspeicher 54 enthalten). Die Liste des leeren Speichers ist eine Tabelle, die den verfügbaren Raum innerhalb des CCD-Speichers 88 verfolgt; der Inhalt der Tabelle, die den leeren Speicher auflistet, ist der Speicher, der derzeit nicht verwendet wird und dementsprechend verfügbar ist, um mit Daten von den Plattenspeichern 14 gefüllt zu werden.
Jede Datenspur, die im Notizblockspeicher 54 gespeichert wird, hat entsprechende Eingänge innerhalb der dynamischen Tabelle, wobei jeder Eingang aus einer Anzahl von Parametern oder Items besteht. Zwei Parameter verketten die Tabelle, und zwar auf der Basis der kürzlichsten Verwendung- und der wenigst kürzlichen Verwendung der darin aufgelisteten Spuren.
.../31
030051/0778
■/■«.
Jedesmal wenn eine Datenspur vom Notizblockspeicher 54 angefordert wird, wird das mit dieser Spur in Beziehung stehende Item an die Spitze der Liste gesetzt,(d.h. am kürzlichsten benutzt) und das Item am Ende der Liste wird das am wenigsten kürzlich verwendete. Andere Parameter enthalten Information, die die Plattenspuren mit spezifischen Zylinderadressen in Beziehung setzen, Kopfadressen, und Einheitenadressen in den Plattenspeichern 14,von denen sie kommen. Zusammengenommen verketten Adressenzeiger durch bekannte Verkettungstechniken Items der dynamischen Tabelle, was erlaubt, die Tabelle auf der Basis der Spurbenutzung auf den neuesten Stand zu bringen.
Wenn der Notizblockspeicher 54 gefüllt ist und eine weitere Datenspur von den Plattenspeichern 14 in den Notizblockspeicher 54 gefüllt werden soll, wird die am wenigsten kürzlich verwendete Datenspur am Ende der Tabelle von der Tabelle fallengelassen und die neue Datenspur, die soeben von den Plattenspeichern 14 eingefüllt worden ist, wird an die Spitze der Tabelle gesetzt und wird dadurch die am kürzlichsten verwendete Datenspur. Dieser Algorithmus ist bekannt und garantiert, daß die am kürzlichsten verwendeten Spuren sich im Notizblockspeicher befinden, während Datenspuren mit geringer Aktivität vom Notizblockspeicher 54 fallengelassen werden.
Die dynamische Tabelle enthält auch einen zweiten Satz Verkettungszeiger, die Datenspuren verketten, die von einem speziellen Plattenspeicher eingespeichert worden sind, d.h. von innerhalb der gleichen Plattenspeichereinheit-Adresse. Diese Tabellen werden auch auf den neuesten Stand gebracht, wenn die Verkettungsinformation kürzlichst verwendet/am wenigsten kürzlich verwendet auf den neuesten Stand gebracht wird. Auf diese Weise kann die Suche im Notizblockspeicher 54 nach einer speziellen Spur verkürzt werden, weil es immer bekannt ist, daß die Suche der Speichersteuereinheit für eine spezielle Spur die spezielle Plattenspeichereinheit angibt. Es ist deshalb beträchtlich kürzer, eine Tabelle kürzlichst verwendeter/am wenigsten kürzlich verwendeter Spuren zu durchsuchen, wenn diese Tabelle durch spezifische Plattenspeichereinheiten verkettet ist. Natürlicherweise, wenn zu irgendeinem Zeitpunkt immer nur ein einziger Platten-
.../32
0300B1/O778
speicher "notiert" ist, dann muß der gesamte Inhalt des Notizblockspeichers 54 durchsucht werden, wenn jedoch mehr als ein Plattenspeicher verwendet wird, dann können erhebliche Einsparungen an Suchen realisiert werden.
6. Tag-Zero-Befehle
Die Standardarchitektur des IBM-kompatiblen Plattenspeicher-Teilsystems verwendet gewisse Befehle, die als "tag"· (Identifizierungskennzeichen-) Befehle bezeichnet werden, mit denen die Speichersteuereinheit 18 mit der Plattensteuerung 20 auf der System-CTL-Schnittstelle 13 kommuniziert. Für eine vollständige Definition der System-CTL-Schnittstelle und von Tag-Befehlen sowie eine Definition von Bus-Ein- und Bus-Aus-Leitungen wird verwiesen auf Memorex 3673/3675/3670 "Disc Storage Subsystem Theory of Operations (Veröffentlichung 3673.21-02). Innerhalb der Standardarchitektur ist es jedoch für die Speichersteuereinheit nicht möglich, ein Plattenspeicher-Teilsystem zu aktivieren und zu kontrollieren, das einen Platten-Notizblock 16 enthält; um das Konzept der Platten-Notizblock-Erfindung zu verwenden, ist es notwendig, einen speziellen Tag-Befehl zu erzeugen oder zu benutzen, der die Logik des Platten-Notizblocks 16 aktiviert und erlaubt, daß Notizoperationen in der beschriebenen Art ablaufen. Jede Anzahl von Tag-Befehlen könnte so verwendet werden, wobei die einzige Anforderung darin besteht, daß ein Tag-Befehl so als der spezifische Befehl gewählt wird, der den Platten-Notizblock aktivieren soll, daß dieser nicht zweideutig ist und mit anderen Tag-Befehlen verwechselt werden kann, die in dem Sinne decodiert werden, daß sie unterschiedliche Bedeutung innerhalb der Architektur des Platten-E/A-Teilsystems hat. In einer speziellen Aus*führungsform wurde es für zweckmäßig befunden, Tag-Decodierung 00 (hexa) mit variablen Werten auf Bus-Aus als den Tag-Befehl zu verwenden, der Notizblock-Funktionen einleitet. Wenn ein Tag-Zero-Befehl von der Speichersteuereinheit 18 durch den Plattennotizblock 16 empfangen wird, kann der Platten-Notizblock die Kontrolle des Platten-Teilsystems übernehmen und die jeweils geforderte Operation durchführen, wie oben beschrieben. Innerhalb der Definition des Eingabe-/Äusgabe-Teilsystems, die IBM-Kanal-kompatibel ist, ist die Tag-Decodierung 00 ein unbenutzer CTL-Tag-Aus-Bus (Tag-Bits 0, 3, 4, 5, 6 und sind alle gleich Null), der in Verbindung mit den CTL-Bus-Aus-Leitungen verwendet wird.
.../33
030051/0778
Variable Datenrate
Wegen der Platten-Notizblock-Teilsystem-Architektur, wie sie oben beschrieben und allgemein in Fig. 2 dargestellt ist, ist es möglich, einen günstigen Effekt zu erreichen, der mit variabler Datenrate bezeichnet werden kann. Eine variable Datenrate erlaubt es dem Kanal, Daten mit seiner eigenen Kate zu übertragen statt, wie beim Stand der Technik, auf eine Datenrate begrenzt zu sein, die für die übertragung zwischen Plattenspeichern und der Steuereinheit aufgestellt worden ist, je nach der Drehzahl der Plattenspeicher. In einer geeigneten Ausführungsform der Erfindung Platten-Notizblock 16 braucht die Datentransferrate zwischen dem Platten-Notizblock-Teilsystem und dem Kanal nicht eine konstante Datenrate zu sein und diese wird nicht durch die Datentransferrate der rotierenden Speicher begrenzt, wenn eine volle Informationsspur innerhalb des Vollspurpuffers 86 nach Fig. 7b gespeichert ist und diese Information von der Zentraleinheit gewünscht wird. Da die Datentransferrate der Notizblock-CTL-Schnittstelle nicht konstant sein muß, ist die Übertragungsrate des Kanals der kontrollierende Faktor.
Um das Konzept des Aspekts variabler Datenrate des Platten-Notizblocks nach der Erfindung zu verstehen, ist es notwendig, zunächst die Begrenzungen des Standes der Technik zu verstehen. In Fig. 14 sind die SYNC IN- und SYNC OUT-Leitungen einer Datenübertragung nach dem Stand der Technik dargestellt. Die Grund-Zeitbeziehung ist definiert durch die Zeit zwischen den Flanken und 204, 204 und 208,und 208 und 212. Die Zeit zwischen diesen Impulsen ist gleich und durch die Taktimpulse kontrolliert, die direkt durch die codierte Servoinformation auf dem rotierenden Plattenspeicher definiert/."Die Zeit zwischen den Flanken 200 und 201, 204 und 205, 208 und 209 sowie 212 und 213 ist durch Hardware innerhalb der Plattenkettensteuerung 12 nach Fig. kontrolliert. Die Zeitbeziehung zwischen der vorderen Flanke der SYNC-IN-Impulse (Bezugszeichen 200, 204, 208 und 212) und der voreilenden Flanke der SYNC OUT-Impulse (Bezugszeichen 202, 206, 210 und 214) und die Zeitbeziehung zwischen den nacheilenden Flanken der SYNC IN-Impulse (Bezugszeichen 201, 205, 209 und 213) und der nacheilenden Flanke der SYNC OUT-Impulse (203, 207, 211 und 215) ist durch die CTL-Kabel-Verzögerungen und
.../34
030051/0778
21227
Hardwareverzögerungen innerhalb der Speichersteuereinheit 10 kontrolliert. Die Zeit zwischen den voreilenden und nacheilenden Flanken der SYNC OUT-Impulse (Zeit zwischen 202 und 203, 206 und 207, 210 und 211, sowie 214 und 215) ist durch Hardware der Speichersteuereinheit 10 und ihre verzögerte Erkennung von SYNC IN kontrolliert.
Die Implementierung des Konzepts variabler Datenrate liefert eine Impulsfolge, die sich deutlich von der bekannten SYNC IN-/SYNC OUT-Beziehung unterscheidet. Bei Verwendung des Konzepts variabler Datenrate trägt die voreilende Flanke der SYNC IN-Impulse nicht eine sich wiederholende zeitliche Beziehung mit Bezug auf die SYNC OUT-Impulse. Gemäß Fig. 15 wird die Zeit zwischen den Punkten 216 und 220 und zwischen 220 und 224 durch die Hardware-Übertragungsrate des Platten-Notizblocks 16 und die Steuerelektronik kontrolliert und nicht durch die Drehzahl der Plattenspeicher. Es ist zu beachten, daß die Zeit zwischen den Flanken 216 und 220, und zwischen 220 und 224 kleiner ist als die in Fig. 14 zwischen den Flanken 200 und 204, 204 und 208, und 208 und 212 dargestellte, dem Zug aus SYNC IN-Impulsen des Standes der Technik. Das heißt, die Übertragungsrate unter der Ausführung mit variabler Datenrate ist höher als beim Stand der Technik, weil die Übertragungsrate durch die Elektronik des Platten-Notizblocks 16 kontrolliert wird und nicht durch rotierende mechanische Bauteile.
Die Zeit zwischen den Flanken 224 und 228 und zwischen 228 und 232 wird durch eine überwachung der nacheilenden Flanke von SYNC OUT durch die Steuerelektronik kontrolliert. Es ist die Erkennung der Flanken 227 und 231 des SYNC OUT-Impulszuges, die die zeitliche Beziehung zwischen den Flanken 224 und 228 und zwischen 228 und 232 kontrolliert. Die Flanken 228 und 232 der SYNC IN-Impulse können nur nach Erkennung der nacheilenden Flanken 227 und 231 der SYNC OUT-Impulse auftreten. Die nacheilenden Flanken 227 und 231 der SYNC OUT-Impulse sind deutlich verzögert gegen die voreilenden Flanken 226 bzw. 230 dargestellt, weil sie durch die Hardware der Speichersteuereinheit verzögert werden, wenn immer die internen Speichersteuereinheit-Datenpuffer für weitere CTL-Datenübertragung nicht verfügbar sind. Die . . internen Speichersteuereinheit-Datenpuffer werden nicht verfügbar, wenn die CTL-Datenübertragungsrate die Kanal-Datenübertragungsrate übersteigt.
030051/0778
In der Ausführung des Platten-Notizblock-Teilsystems nach der Erfindung mit variabler Datenrate schließt also die Zeit zwischen der voreilenden Flanke 226 und der nacheilenden Flanke 227 und die Zeit zwischen der voreilenden Flanke 230 und der nacheilenden Flanke 231 der SYNC OUT-Impulse die benötigte Zeit ein, so daß die Kanal-Datenübertragungsrate gleich der oder größer als die CTL-Datenübertragungsrate ist. Es ergibt sich also eine "Synchronisierung" der CTL-Datenübertragungsraten und der Kanal Übertragungsraten. Die Datentransferrate ist "variabel". Die Zeit zwischen den Flanken
224 und 228, und zwischen 228 und 232 besteht deshalb aus Verzögerungen, die durch die Teilsystem-Hardware verursacht sind, die CTL-Kabel einschließlich Leitungstreiber und -empfänger und die Elektronik von Speicher und Steuerung des Platten-Notizblocks 16. Wie im Falle des Systems nach dem Stand der Technik, besteht die Zeit zwischen der voreilenden Flanke der SYNC IN-Impulse und der voreilenden Flanke der SYNC OUT-Impulse (d.h. zwischen den Punkten 216 und 218, 220 und 222, 224 und 226, 228 und 230, sowie 232 und 234) aus CTL-Kabel-Verzögerungen und Verzögerungen durch die Speichersteuereinheit-Hardware (d.h. Leitungstreiber und -empfänger).
Wie bei der zeitlichen Beziehung SYNC IN/SYNC OUT beim Stand der Technik, ist auch die Zeit zwischen den Flanken 217 und 219, 221 und 223 sowie zwischen 233 und 235 in ähnlicher Weise zusammengesetzt aus CTL-Kabel-Verzögerungen, Speichersteuereinheit-Hardware-Verzögerungen zur überwachung der Verfügbarkeit der internen Puffer, und Verzögerungen der Leitungstreiber und Leitungsempfänger der Speichersteuereinheit. Was nicht der Falle beim Stand der Technik ist und ein Aspekt der Implementierung variabler Datenrate, ist die zusätzliche Verzögerung zwischen den Flanken
225 und 227, und zwischen Flanken 229 und 231, die verursacht ist durch die Verzögerung des Kanals zur übertragung eines Byte Information (d.h. um einen internen Datenpuffer der Speichersteuereinheit verfügbar zu machen). Die Zeit zwischen den Punkten 216 und 217, 220 und 221, 224 und 225, 228 und 229 sowie zwischen 232 und 233 wird durch den Platten-Notizblock 16 kontrolliert, der so ausgelegt ist, daß er gut geformte Impulse ausreichender Dauer liefert.
.../36
030051/0773
Ersichtlich erlaubt also die Ausführung mit variabler Datenrate eine Datenübertragung zwischen dem Platten-Notizblock 16 und dem Kanal 8 mit einer Rate, die sonst in der Konfiguration des Standes der Technik nicht möglich ist. Die Datenübertragungsrate wird im wesentlichen durch die Datenrate des Kanals 8 kontrolliert.
030051/0778
I/o.
Leerseite

Claims (15)

  1. M8 P23 D
    Patentansprüche
    (IJDirektspeicherzugriff-Notizblock-Teilsystem zur Verwendung mit einer Datenverarbeitungsanlage zur Verringerung der Zeit zum Wiederauffinden vorgegebener Daten gekennzeichnet durch Direktzugriff-Speichereinrichtungen zur Einspeicherung von Daten und deren Wiedergewinnung daraus, Datenspeichereinrichtungen zur Speicherung der vorgegebenen Daten, und Steuereinrichtungen, die die Direktzugriff-Speichereinrichtungen, die Datenspeichereinrichtungen und das Datenverarbeitungssystem verbinden und die Kommunikation zwischen diesen kontrollieren, so daß die Zeit, die dazu erforderlich ist, die vorgegebenen Daten von den Datenspeichereinrichtungen wiederzugewinnen, kleiner ist als die Zeit, die dazu erforderlich ist, die vorgegebenen Daten von den Di rektzugri ff-Spei cherei nri chtungen wi ederzugewi nnen.
  2. 2. Teilsystem nach Anspruch 1, gekennzeichnet durch eine Speichersteuereinheit, die die Steuereinrichtungen mit dem Datenverarbeitungssystem verbindet.
  3. 3. System nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Steuereinrichtung eine Direktzugriff-Speichereinrichtung-Steuerung aufweist, die die Direktzugriff-Speichereinrichtung mit dem Datenverarbeitungssystem verbindet, und Datenspeicher-Steuerungseinrichtungen, die die Datenspeichereinrichtungen mit der Direktzugriff-Speicher-Steuerung verbindet, wobei die Datenspeicher-Einrichtung-Steuerung dazu geeignet ist, dafür zu sorgen, daß vorgegebene Daten in den Datenspeichereinrichtungen gespeichert werden.
  4. 4. System nach Anspruch 3, dadurch gekennzeichnet, daß die Datenspeichersteuerung Mikroprozessoreinrichtungen aufweist, die mit der Direkt-
    .../A2 030051/0778
    ORlQiNAUMSPECTED
    zugriff-Speicher-Steuerungseinrichtung und den Datenspeichereinrichtungen verbunden sind, Steuerspeichereinrichtungen, die mit den Mikroprozessoreinrichtungen verbunden sind, um den Betrieb der Mikroprozessoreinrichtungen derart zu kontrollieren, daß vorgegebene Daten in den Datenspeichereinrichtungen gespeichert werden können, und Zwischenspeichereinrichtungen, die Direktzugriff-Speicher-Adresse der vorgegebenen Daten aufzeichnen, die innerhalb der Datenspeichereinrichtungen gespeichert sind.
  5. 5. System nach Anspruch 4, gekennzeichnet durch eine Schnittstellen-Steuereinrichtung, die die Datenspeicher-Steuereinrichtung und die Direktzugriff-Speicher-Steuereinrichtung verbindet.
  6. 6. System nach Anspruch 5, dadurch gekennzeichnet, daß die Schnittstellen-Steuereinrichtung Direktspeicherzugriffeinrichtungen aufweist, die eine Direktspeicherzugriff-Datenübertragung zwischen den Datenspeichereinrichtungen und dem Datenverarbeitungssystem erlauben und zwischen den Speichereinrichtungen und den Direktzugriff-Speichereinrichtungen.
  7. 7. System nach Anspruch 4, dadurch gekennzeichnet, daß die Steuerspeichereinrichtung ein Mikroprogramm enthält, das dafür sorgt, daß die Speicherung der Information in der Datenspeichereinrichtung entsprechend dem Algorithmus der am wenigsten kürzlichen Verwendung stattfindet.
  8. 8. System nach Anspruch 4, gekennzeichnet durch eine Laden-Überwachung-Mikroprozessoreinrichtung, die mit der Datenspeicher-Steuereinrichtung derart verbunden ist, daß ein Mikroprogramm in die Steuerspeicher-Einrichtung geladen wird zur Ausführung durch die Mikroprozessoreinrichtung und zur überwachung des Betriebes des Direktzugriff-Speicher-Teilsystems.
    .../A3
    030051/0778
  9. 9. System nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Speichermedien, die in der Datenspeichereinrichtung enthalten sind, aus Halbleiter-Speichereinrichtungen mit willkürlichem Zugriff bestehen.
  10. 10. System nach Anspruch 9, dadurch gekennzeichnet, daß die Halbleiter-Speichereinrichtung mit willkürlichem Zugriff wenigstens primäre Speichereinrichtungen und sekundäre Speichereinrichtungen enthält.
  11. 11. System nach Anspruch 10, dadurch gekennzeichnet, daß die primäre Speichereinrichtung zu einer größeren Datenübertragungsrate fähig ist als die sekundäre Speichereinrichtung.
  12. 12. System nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die vorgegebenen Daten eine feste Felddimension haben, die der Datenfeldarchitektur der Direktzugriff-Speichereinrichtungen entspricht.
  13. 13. System nach Anspruch 7, dadurch gekennzeichnet, daß die Datenspeicherkapazität der Datenspeichereinrichtung kleiner ist als die Speicherkapazität der Direktzugriff-Speichereinrichtungen.
  14. 14. System nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Direktzugriff-Speichereinrichtung aus rotierenden Magnetplatten-Speichern besteht.
  15. 15. System nach Anspruch 14, dadurch gekennzeichnet, daß die Einheiten der vorgegebenen Daten vollen Informationsspuren entsprechen, wie sie auf den rotierenden Magnetplattenspeichern gespeichert sind.
    030051/0778
DE3021227A 1979-06-04 1980-06-04 Plattenspeicher-notizblock-teilsystem Withdrawn DE3021227A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US4547679A 1979-06-04 1979-06-04

Publications (1)

Publication Number Publication Date
DE3021227A1 true DE3021227A1 (de) 1980-12-18

Family

ID=21938106

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3021227A Withdrawn DE3021227A1 (de) 1979-06-04 1980-06-04 Plattenspeicher-notizblock-teilsystem

Country Status (3)

Country Link
DE (1) DE3021227A1 (de)
FR (1) FR2458846A1 (de)
GB (1) GB2052118A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3214100A1 (de) * 1981-04-17 1982-11-04 Sharp K.K., Osaka Informations-ausleseeinrichtung

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4467411A (en) * 1981-03-06 1984-08-21 International Business Machines Corporation Scheduling device operations in a buffered peripheral subsystem
DE3278891D1 (en) * 1981-06-05 1988-09-15 Ibm I/o controller with a dynamically adjustable cache memory
US4490782A (en) * 1981-06-05 1984-12-25 International Business Machines Corporation I/O Storage controller cache system with prefetch determined by requested record's position within data block
US4489378A (en) * 1981-06-05 1984-12-18 International Business Machines Corporation Automatic adjustment of the quantity of prefetch data in a disk cache operation
US4430701A (en) * 1981-08-03 1984-02-07 International Business Machines Corporation Method and apparatus for a hierarchical paging storage system
US4464713A (en) * 1981-08-17 1984-08-07 International Business Machines Corporation Method and apparatus for converting addresses of a backing store having addressable data storage devices for accessing a cache attached to the backing store
US4420807A (en) * 1981-08-31 1983-12-13 International Business Machines Corporation Selectively holding data in a buffer for defective backing store tracks
US4403288A (en) * 1981-09-28 1983-09-06 International Business Machines Corporation Methods and apparatus for resetting peripheral devices addressable as a plurality of logical devices
US4429363A (en) * 1981-10-15 1984-01-31 International Business Machines Corporation Method and apparatus for managing data movements from a backing store to a caching buffer store
US4500954A (en) * 1981-10-15 1985-02-19 International Business Machines Corporation Cache bypass system with post-block transfer directory examinations for updating cache and/or maintaining bypass
US4466059A (en) * 1981-10-15 1984-08-14 International Business Machines Corporation Method and apparatus for limiting data occupancy in a cache
EP0080878A3 (de) * 1981-11-27 1985-06-26 Storage Technology Corporation Cache-Speicher und Steuerungsverfahren für die Verwendung mit Magnetscheiben
US4476526A (en) * 1981-11-27 1984-10-09 Storage Technology Corporation Cache buffered memory subsystem
US4468730A (en) * 1981-11-27 1984-08-28 Storage Technology Corporation Detection of sequential data stream for improvements in cache data storage
US4503501A (en) * 1981-11-27 1985-03-05 Storage Technology Corporation Adaptive domain partitioning of cache memory space
US4430712A (en) * 1981-11-27 1984-02-07 Storage Technology Corporation Adaptive domain partitioning of cache memory space
US4571674A (en) * 1982-09-27 1986-02-18 International Business Machines Corporation Peripheral storage system having multiple data transfer rates
FR2635599B1 (fr) * 1988-08-17 1994-02-18 Finger Ulrich Systeme d'extension de memoire pour au moins un ensemble de traitement de donnees

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3214100A1 (de) * 1981-04-17 1982-11-04 Sharp K.K., Osaka Informations-ausleseeinrichtung

Also Published As

Publication number Publication date
GB2052118A (en) 1981-01-21
FR2458846A1 (fr) 1981-01-02
FR2458846B3 (de) 1982-04-23

Similar Documents

Publication Publication Date Title
DE3021227A1 (de) Plattenspeicher-notizblock-teilsystem
DE112018002951B4 (de) Verwenden eines spurformatcodes in einem cache-steuerblock für eine spur in einem cache, um lese- und schreibanforderungen in bezug auf die spur im cache zu verarbeiten
DE2515696C2 (de) Datenverarbeitungssystem
DE3909896C2 (de)
DE69915243T2 (de) Speicherplattenanordnung-Steuerungsvorrichtung
DE69432314T2 (de) Cachespeicher mit aufgeteiltem pegel
DE10348326A1 (de) Permanentspeichervorrichtung, die an eine Kommunikationsverbindung angeschlossen ist
DE3934145C2 (de) Platteneinheit-Steuerungsvorrichtung und Informationsverarbeitungssystem, das dieselbe enthält
EP0013737A1 (de) Mehrstufige Speicherhierarchie für ein Datenverarbeitungssystem
DE112006001706T5 (de) Hardware-orientierte Verwaltung von Native Command Queuing-Kennzeichen auf der Seite des Ziels
DE202010017668U1 (de) Befehls- und Interrupt-Gruppierung bei einer Datenspeichervorrichtung
DE2209282B2 (de) Datenverarbeitungsanlage
DE2448212A1 (de) Asynchrone sammelleitung zur selbstbestimmten kommunikation zwischen mutterrechnergeraeten und tochtergeraeten
DE2061854A1 (de) Speicher aus Schieberegistern
DE3151745A1 (de) Multitasking-datenverarbeitungsanlage
DE112019001863T5 (de) Verwenden von spursperren und schrittweitengruppensperren zum verwalten von cacheoperationen
DE102019106126A1 (de) Massenspeicherungsvorrichtung mit vom Host eingeleiteter Pufferausräumung
DE602004007925T2 (de) Verwalten einer beziehung zwischen einem zielvolumen und einem quellenvolumen
DE4029980A1 (de) On-line-umspeichersystem und platten-untersystem
DE112020000183T5 (de) Speicherungsklassenspeicherzugriff
EP1915694A1 (de) Vorrichtung und verfahren zur speicherung von daten und/oder befehlen in einem rechnersystem mit wenigstens zwei verarbeitungseinheiten und wenigstens einem ersten speicher oder speicherbereich für daten und/oder befehle
DE3911721C2 (de)
DE602004004780T2 (de) Verfahren und einrichtung zum transferieren von daten zwischen einem hauptspeicher und einer speichereinrichtung
DE2149200B2 (de) Einrichtung zur Auswahl von im Verlauf einer Programmbearbeitung am häufigsten benotigten Daten
DE112021003441T5 (de) Abrufen von Cacheressourcen für erwartete Schreiboperationen auf Spuren in einem Schreibsatz, nachdem die Cacheressourcen für die Spuren in dem Schreibsatz freigegeben wurden

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee