DE3587604T2 - Datenübertragung zwischen einer Platte und einer Zentraleinheit. - Google Patents

Datenübertragung zwischen einer Platte und einer Zentraleinheit.

Info

Publication number
DE3587604T2
DE3587604T2 DE85309263T DE3587604T DE3587604T2 DE 3587604 T2 DE3587604 T2 DE 3587604T2 DE 85309263 T DE85309263 T DE 85309263T DE 3587604 T DE3587604 T DE 3587604T DE 3587604 T2 DE3587604 T2 DE 3587604T2
Authority
DE
Germany
Prior art keywords
data
disk
buffer
header
cpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE85309263T
Other languages
English (en)
Other versions
DE3587604D1 (de
Inventor
John Drew
Michael C Shebanow
Mark S Young
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Application granted granted Critical
Publication of DE3587604D1 publication Critical patent/DE3587604D1/de
Publication of DE3587604T2 publication Critical patent/DE3587604T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/16Multiplexed systems, i.e. using two or more similar devices which are alternately accessed for enqueue and dequeue operations, e.g. ping-pong buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Exchange Systems With Centralized Control (AREA)

Description

  • Auf einer Platte gespeicherte Daten werden üblicherweise in mehreren adressierbaren Sektoren gespeichert, die in mehreren konzentrischen Spuren angeordnet sind.
  • Um Daten in üblicher Form zu einer Platte hin oder von ihr weg zu übertragen, überträgt eine CPU einen Header zu einer Plattensteuereinrichtung (DC). Der Header enthält Informationen über den Sektor einschließlich seiner Adresse oder Stelle auf der Platte. Nach Empfang des Headers hat die Plattensteuereinrichtung Zugriff auf den Sektor und überträgt die Daten zwischen der CPU oder einem Zwischendatenpuffer und der Platte.
  • Jeder der beim Zugreifen zu und Lesen von Daten aus einem Sektor oder beim Übertragen von Daten zu einem Sektor auf einer Platte erforderlichen Schritte benötigt Zeit. Zusätzliche Zeit ist erforderlich, wenn die auf eine Platte oder von dieser weg übertragene Daten einer Fehlererkennung und Korrekturverfahren unterzogen werden.
  • Bei relativ einfachen Plattenspeichersystemen wird durch die Zeit, die erforderlich ist, um einen Sektor zu adressieren, den Adressierschaltungen die Möglichkeit zur Stabilisierung zu geben, die Daten aus dem Sektor auf der Platte wiederzugewinnen oder sie dorthin zu übertragen und die Daten auf Fehler zu prüfen, im allgemeinen der Zugriff auf physisch benachbarte Sektoren während einer einzigen Plattenumdrehung verhindert.
  • Es hat Vorschläge für Geräte gegeben, die imstande sein sollen, auf physisch benachbarte Sektoren auf einer Platte während einer einzigen Plattenumdrehung zugreifen zu können; diese sind jedoch im allgemeinen aus diesem oder jenem Grunde nicht zufriedenstellend. Beispielsweise werden bei einem dieser früheren bekannten Geräte alle Sektoren in einer Spur durch einfaches Adressieren der Spur und Starten des Lesevorgangs der Sektoren nach dem Erkennen einer Indexmarke auf der Spur gelesen. Bei dieser Vorrichtung werden keine Headerinformationen verwendet und daher ist die zur Einstellung und Stabilisierung der sektoradressierenden Schaltungen erforderliche Zeit nicht erforderlich. Da die Sektoren jedoch nicht einzeln adressiert werden, ist eine herkömmliche Datenverarbeitung, wie beispielsweise Fehlererkennung und -korrektur, im allgemeinen nicht möglich oder unzweckmäßig.
  • Bei einem anderen früheren bekannten Gerät wurden mehrere nichtkippende Header- und Datenpuffer zum einzelnen Adressieren von aufeinanderfolgenden Sektoren in einer Spur verwendet. Bei diesem Gerät war es jedoch erforderlich, zusätzliche Steuerleitungen und Nachlaufinformationen zu verarbeiten, um die Plattensteuereinrichtung mit der Platte und den CPU-Funktionen zu synchronisieren.
  • Ein in ELECTRONIC DESIGN, Band 32, Nr. 8, 19. April 1984, Seiten 143-149 unter dem Titel Controller implements faster Winchester interface" veröffentlichter Artikel offenbart eine Winchester-Steuereinrichtung, die hohe Datenübertragungsraten, schnelle Zugriffszeit und verbesserte Datenintegrität bietet.
  • Ein in COMPUTER DESIGN, Band 21, Nr. 4, April 1982, Seiten 127-136 unter dem Titel "Interfacing intelligent peripherals" veröffentlichter Artikel beschreibt eine einzige Steuereinrichtung, die Offline-Datenübertragungen zwischen Platte und Band, Fehlerüberwachung und Fehlererkennung durchführt.
  • In Anbetracht des vorstehend Beschriebenen besteht eine Aufgabe der vorliegenden Erfindung darin, eine Weiterbildung eines Verfahrens und einer Vorrichtung zur Übertragung von Daten zwischen einer Platte und einer CPU zu schaffen, die mehrere Kipp-Header- und Datenpuffer A und B aufweist.
  • Diese Aufgabe wird mit dem Verfahren und der Vorrichtung gemäß den Ansprüchen 1 bzw. 7 gelöst.
  • Bei einem Beispiel des Betriebs der die Erfindung verkörpernden Vorrichtung werden Daten zwischen einem Sektor auf der Platte und einem Datenpuffer A unter der Steuerung eines Headers in dem Headerpuffer A übertragen. Während die Daten in dem Datenpuffer A zwischen dem Datenpuffer A und der CPU übertragen werden, werden Daten zwischen einem physisch benachbarten Sektor auf der Platte und einem Datenpuffer B unter der Steuerung eines Headers in einem Headerpuffer B übertragen.
  • Die Rate, mit der der Inhalt der Datenpuffer zwischen den Datenpuffern und der CPU übertragen wird, liegt vorzugsweise bei einer Rate, die beträchtlich höher ist als die Rate, mit der die Daten zwischen physisch benachbarten Sektoren auf der Platte und den Datenpuffern übertragen werden.
  • Wenn die Übertragung von Daten zu dem Datenpuffer A oder davon weg abgeschlossen worden ist, ist der Headerpuffer A bei dem angegebenen Beispiel frei für einen neuen Header. Durch Abschließen der Übertragung in ausreichendem Maße vor dem Abschließen der Übertragung zwischen der Platte und dem Datenpuffer B verbleibt der CPU genügend Zeit, die einen benachbarten Sektor auf der Platte betreffenden Informationen an den Headerpuffer A zu übertragen, die zu der CPU oder von ihr weg übertragenen Daten auf Fehler zu überprüfen, einen READ- oder WRITE- Befehl an die Plattensteuereinrichtung aus zugeben und eine Stabilisierung der Zugriffsschaltungen zu ermöglichen, bevor der adressierte Sektor den Plattenlesekopf passiert. Danach, wenn die Datenübertragung zwischen der Platte und dem Datenpuffer B abgeschlossen ist, werden die Header- und Datenpuffer A und B gekippt, um die Übertragung der Daten zwischen dem Datenpuffer B und der CPU und der Daten zwischen dem benachbarten Sektor auf der Platte und dem Datenpuffer A zu starten.
  • Im einzelnen unterscheidet sich die Rate der Datenübertragung zwischen der CPU und den Datenpuffern in ausreichendem Maße von der Rate der Datenübertragung zwischen der Platte und den Datenpuffern, so daß ein Lesen aus oder Schreiben in alle Sektoren einer Platte während einer Plattenumdrehung möglich ist.
  • Bei den beigefügten Zeichnungen zeigen, lediglich als Beispiel:
  • Fig. 1 ein Blockdiagramm einer die vorliegende Erfindung verkörpernden Vorrichtung mit Kipp- Header- und Datenpuffern;
  • Fig. 2 ein ausführlicheres Blockdiagramm eines der Header- und Datenpuffer von Fig. 1.
  • Wie aus Fig. 1 hervorgeht, ist eine allgemein mit 1 bezeichnete Datenübertragungsvorrichtung vorgesehen. In der Vorrichtung 1 ist eine CPU 2, ein allgemein mit 3 bezeichneter Headerpuffer A, ein allgemein mit 4 bezeichneter Headerpuffer B, ein allgemein mit 5 bezeichneter Datenpuffer A, ein allgemein mit 6 bezeichneter Datenpuffer B, eine Plattendatensteuereinrichtung 7, eine Platte 8 und ein Paar Inverter 9 und 10 vorgesehen.
  • Die CPU 2 ist mit Header- und Datenpuffern 3 und 5 und dem Eingang der Inverter 9 und 10 mittels einer Kippsignalleitung 15, mit den Header- und Datenpuffern 3-6 mittels eines 3-Draht-Steuersignalbusses 16 und eines N- Draht-Adreßbusses 17, wobei 2N gleich der oder größer als die Puffergröße ist, mit den Headerpuffern 3 und 4 mittels eines N-Draht-Datenbusses 18 und mit den Datenpuffern 5 und 6 mittels eines 16-Draht-Datenbusses 19 verbunden. Die Ausgänge der Inverter 9 und 10 sind mittels einer mit 15' bezeichneten Kippsignalleitung mit den Header- und Datenpuffern 4 und 5 gekoppelt.
  • Die Plattendatensteuereinrichtung 7 ist mittels eines Statusbusses 20 und eines Steuersignalbusses 21 mit der CPU, mittels eines 3-Draht-Steuersignalbusses 30 und eines N-Draht-Adreßbusses 31 mit den Headerpuffern 3 und 4, mittels eines 3-Draht-Steuersignalbusses 32, eines N- Draht-Adreßsignalbusses 33 mit den Datenpuffern 5 und 6, mittels eines 16-Draht-Datenbusses 34 mit den Header- und Datenpuffern 3-6 und mittels eines N-Draht-Datenbusses 35 mit der Platte 8 gekoppelt.
  • Wie aus Fig. 2 hervorgeht, sind in jedem der Puffer 3-6 ein Schreib-Lese-Speicher (RAM) 40 und mehrere Multiplexer 41,42 und 43 vorgesehen.
  • Die Größe des RAM 40 und die Anzahl der zu seiner Adressierung erforderlichen Adreßleitungen hängt davon ab, ob er in den Headerpuffern 3 und 4 oder in den Datenpuffern 5 und 6 angeordnet ist. Dies heißt in der Praxis, daß die Größe des RAM 40 kleiner und die Anzahl der Adreßleitungen geringer ist, wenn er in den Headerpuffern 3 und 4 angeordnet ist, als wenn er sich in den Datenpuffern 5 und 6 befindet.
  • In jedem der Multiplexer 41-43 sind mehrere Ports 0, 1 und S sowie ein Steuersignalport C vorgesehen.
  • In dem Multiplexer 41 ist der Port 0 mit dem Datenbus 34 gekoppelt. Abhängig davon, ob der RAM 40 in den Headerpuffern 3 und 4 oder in den Datenpuffern 5 und 6 angeordnet ist, ist der Port 1 mit dem Datenbus 18 oder 19 gekoppelt. Der Port S ist mittels eines Datenbusses 45 mit dem RAM 40 gekoppelt. Abhängig davon, ob der RAM 40 in dem Headerpuffer 3 und in dem Datenpuffer 5 oder in dem Headerpuffer 4 und dem Datenpuffer 6 angeordnet ist, ist der Port C mit der Kippsignalleitung 15 oder 15' gekoppelt.
  • In dem Multiplexer 42 ist der Port 0 mit dem Steuersignalbus 30 oder 32 gekoppelt, abhängig davon, ob der RAM 40 in dem Headerpuffer 3 und 4 oder in dem Datenpuffer 5 und 6 angeordnet ist. Der Port 1 ist mit dem Steuersignalbus 16 gekoppelt. Der Port S ist mittels eines Steuerbusses 46 mit dem RAM 40 gekoppelt. Abhängig davon, ob der RAM 40 in dem Headerpuffer 3 und dem Datenpuffer 5 oder in dem Headerpuffer 4 und dem Datenpuffer 6 angeordnet ist, ist der Port C mit der Kippsignalleitung 15 oder 15' gekoppelt.
  • In dem Multiplexer 43 ist der Port 0 mit dem Adreßbus 31 oder 33 gekoppelt, abhängig davon, ob der RAM 40 in den Headerpuffern 3 und 4 oder in den Datenpuffern 5 und 6 angeordnet ist. Der Port 1 ist mit dem Steuerbus 16 gekoppelt. Der Port S ist mittels eines Adreßbusses 47 mit dem RAM 40 gekoppelt. Abhängig davon, ob der RAM 40 in dem Headerpuffer 3 und dem Datenpuffer 5 oder in dem Headerpuffer 4 und dem Datenpuffer 6 angeordnet ist, ist der Port C mit der Kippsignalleitung 15 oder 15' verbunden.
  • Beim Betrieb der Vorrichtung von Fig. 2 ist der Puffer- RAM 40 mit den Steuer-, Adreß- und Datenbussen der Plattendatensteuereinrichtung 7 gekoppelt, wenn an den Port C der Multiplexer 41, 42 und 43 eine logische 0 angelegt wird. Wenn andererseits eine logische 1 an den Steuerport C der Multiplexer 41, 42 und 43 angelegt wird, wird der Puffer-RAM 40 mit den Steuer-, Adreß- und Datenbussen der CPU 2 gekoppelt.
  • In Anbetracht des vorstehend Beschriebenen und wegen der Inverter 9 und 10 ist ersichtlich, daß jedesmal dann, wenn der Headerpuffer A und der Datenpuffer A mit den Steuer-, Adreß- und Datenbussen der Plattendatensteuereinrichtung 7 gekoppelt sind, der Headerpuffer B und der Datenpuffer B mit den Steuer-, Adreß- und Datenbussen der CPU 2 gekoppelt sind und umgekehrt.
  • Mit der vorstehenden Erläuterung des Betriebs der Vorrichtung von Fig. 2 wird nunmehr der Betrieb der Vorrichtung 1 von Fig. 1 im Hinblick auf eine Übertragung von Daten von der Platte zu der CPU beschrieben, wobei darauf hingewiesen wird, daß eine Übertragung von Daten von der CPU zu der Platte dieselben Schritte beinhaltet, doch in umgekehrter Richtung. Bei der folgenden Beschreibung bedeutet die Verweisung auf das Koppeln der CPU 2 und der Plattendatensteuereinrichtung 7 mit einer bestimmten Puffereinrichtung, daß die Steuer-, Adreß- und Datenbusse der CPU 2 und der Plattendatensteuereinrichtung 7 mit dem Puffer gekoppelt sind.
  • Es sei angenommen, daß eine Übertragung des Inhalts eines ersten Sektors von der Platte 8 zu dem Datenpuffer A erwünscht ist; dann legt die CPU 2 eine logische 1 an die Kippsignalleitung 15 an. Wenn an der Kippsignalleitung 15 eine logische 1 anliegt, werden der Headerpuffer A und der Datenpuffer A mit der CPU 2 und der Headerpuffer B und der Datenpuffer B mit der Plattendatensteuereinrichtung 7 gekoppelt. Wenn der Headerpuffer A und der Datenpuffer A mit der CPU 2 gekoppelt sind, überträgt die CPU 2 den Header des ersten Sektors auf der Platte 8 zu dem Headerpuffer A und kippt dann die Puffer, indem sie eine logische 0 an die Kippsignalleitung 15 anlegt und einen READ-Befehl an die Plattensteuereinrichtung 7 an der Leitung 21 sendet. Wenn an der Kippsignalleitung 15 eine logische 0 anliegt, sind der Headerpuffer A und der Datenpuffer A nun mit der Plattendatensteuereinrichtung 7 verbunden, während der Headerpuffer B und der Datenpuffer B mit der CPU 2 verbunden sind.
  • Wenn der Headerpuffer A mit der Plattensteuereinrichtung 7 verbunden und unter der Steuerung des READ-Befehls ist, wird der Inhalt des ersten Sektors von der Platte 8 zu dem Datenpuffer A übertragen. Während der Zeit, in der der Inhalt des ersten Sektors auf der Platte 8 zu dem Datenpuffer A übertragen wird, überträgt die CPU 2, die nun mit dem Headerpuffer B verbunden ist, den Header eines physisch benachbarten zweiten Sektors zu dem Headerpuffer B. Wenn die Übertragung des Inhalts des ersten Sektors von der Platte 8 zu dem Datenpuffer A abgeschlossen ist, legt die CPU 2 eine logische 1 an die Kippsignalleitung 15 an, wodurch die Header- und Datenpuffer gekippt werden, und sendet einen weiteren READ- Befehl an die Plattensteuereinrichtung 7. Wenn die Header- und Datenpuffer A mit der CPU 2 gekoppelt sind und die Header- und Datenpuffer B mit der Plattendatensteuereinrichtung 7 gekoppelt sind, wird der Inhalt des Datenpuffers A zu der CPU 2 übertragen, während der Inhalt des zweiten Sektors auf der Platte 8 unter der Steuerung des READ-Befehls zu dem Datenpuffer B übertragen wird.
  • Ein wichtiges Merkmal der vorliegenden Erfindung besteht darin, daß die Übertragung des Inhalts eines Datenpuffers zu der CPU 2 mit einer höheren Rate erfolgt als die Übertragung des Inhalts eines Sektors auf der Platte 8 zu dem Datenpuffer. In der Praxis ist die Rate der Datenübertragung zu der CPU 2 von einem Datenpuffer aus ausreichend hoch, um der CPU 2 zu ermöglichen, die an sie übertragenen Daten Fehlererkennungsvorgängen zu unterziehen, deren Ergebnisse auf der Statusleitung 21 angezeigt werden, und es der CPU zu ermöglichen, einen neuen Header zu dem Headerpuffer A zu übertragen, bevor eine Übertragung von Daten von der Platte 8 zu dem Datenpuffer B abgeschlossen ist. Wenn dies auftritt, wie oben beschrieben, ist ersichtlich, daß alle Sektoren in einer Spur auf der Platte 8 abwechselnd zu dem Datenpuffer A und dem Datenpuffer B während einer einzigen Plattenumdrehung übertragen werden können.

Claims (10)

1. Verfahren zur Datenübertragung zwischen einer Platte (8) und einer zentralen Verarbeitungseinheit (CPU) (2), mit den sequentiellen Schritten:
a) Übertragung eines zum Adressieren eines ersten Sektors auf der Platte vorgesehenen ersten Headers von der CPU (2) zu einem Headerpuffer A (3);
b) Übertragung von ersten Daten zwischen dem von dem ersten Heäder in dem Headerpuffer A (3) adressierten ersten Sektor auf der Platte und einem Datenpuffer A (5);
c) Übertragung eines zum Adressieren eines zweiten Sektors auf der Platte vorgesehenen zweiten Headers von der CPU (2) zu einem Headerpuffer B (4) während der Übertragung der ersten Daten zwischen dem ersten Sektor auf der Platte und dem Datenpuffer A (5);
d) Übertragung von zweiten Daten zwischen dem von dem zweiten Header in dem Headerpuffer B (4) adressierten zweiten Sektor auf der Platte und einem Datenpuffer B (6) nach Beendigung der Übertragung der ersten Daten zwischen dem ersten Sektor auf der Platte und dem Datenpuffer A (5);
e) Übertragung und Beendigung der Übertragung der ersten Daten zwischen dem Datenpuffer A (5) und der CPU (2) vor Beendigung der Übertragung der zweiten Daten zwischen dem zweiten Sektor auf der Platte und dem Datenpuffer B (6);
f) Übertragung eines zum Adressieren eines dritten Sektors auf der Platte vorgesehenen dritten Headers von der CPU (2) zu dem Headerpuffer A (3) nach Beendigung der Übertragung der ersten Daten zwischen dem Datenpuffer A (5) und der CPU (2) und vor Beendigung der Übertragung der zweiten Daten zwischen dem zweiten Sektor auf der Platte und dem Datenpuffer B (6);
g) Übertragung von dritten Daten zwischen dem von dem dritten Header in dem Headerpuffer A (3) adressierten dritten Sektor auf der Platte und dem Datenpuffer A (5) nach Beendigung der Übertragung der zweiten Daten zwischen dem zweiten Sektor auf der Platte und dem Datenpuffer B (6);
h) Übertragung und Beendigung der Übertragung der zweiten Daten zwischen dem Datenpuffer B (6) und der CPU (2) vor Beendigung der Übertragung der dritten Daten zwischen dem dritten Sektor auf der Platte und dem Datenpuffer A (5);
i) Übertragung eines zum Adressieren eines vierten Sektors auf der Platte vorgesehenen vierten Headers von der CPU (2) zu dem Headerpuffer B (4) nach Beendigung der Übertragung der zweiten Daten zwischen dem Datenpuffer B (6) und der CPU (2) und vor Beendigung der Übertragung der dritten Daten zwischen dem dritten Sektor auf der Platte und dem Datenpuffer A (5);
j) Wiederholung der Schritte (d) bis (i) für alle von der CPU (2) zu den Headerpuffern A und B (3,4) übertragenen Header (dritte, vierte, fünfte . . . ).
2. Verfahren nach Anspruch 1, bei dem die Sektoren physisch benachbarte Sektoren aufweisen und alle Übertragungsschritte innerhalb einer einzigen Umdrehung der Platte (8) auftreten.
3. Verfahren nach Anspruch 1, bei dem die Übertragungsschritte den Schritt des Kippens der Header- und Datenpuffer A und B (3,4,5,6) nach jeder Übertragung der Daten zwischen einem Datenpuffer (5,6) und der CPU (2) aufweisen.
4. Verfahren nach Anspruch 1, bei dem die Übertragungsschritte zu und von den Datenpuffern A und B (5,6) die Schritte des Übertragens der Daten zwischen den Datenpuffern und der CPU (2) mit einer vorbestimmten Rate aufweisen, die höher ist als die Rate, mit der die Daten zwischen der Platte und den Datenpuffern übertragen werden.
5. Verfahren nach Anspruch 4, bei dem die vorbestimmte Rate eine Rate ist, die der CPU (2) das Übertragen eines Headers zu einem Headerpuffer (3,4), das Prüfen der zwischen einem Datenpuffer und der CPU (2) übertragenen Daten auf Fehler und das Kippen der Header- und Datenpuffer zum Starten der Übertragung von Daten zwischen dem nächsten physisch benachbarten Sektor auf der Platte und einem Datenpuffer innerhalb der aktuellen Umdrehung der Platte ermöglicht.
6. Verfahren nach Anspruch 3, bei dem der Schritt des Kippens die Schritte des Umschaltens des Headerpuffers A (3) von der CPU (2) zu einer Plattensteuereinrichtung (7) und des Headerpuffers B (4) von der Plattensteuereinrichtung (7) zu der CPU (2) und gleichzeitig des Umschaltens des Datenpuffers A (5) von der CPU (2) zu der Plattensteuereinrichtung (7) und des Datenpuffers B (6) von der Plattensteuereinrichtung (7) zu der CPU (2) und sequentiell umgekehrt aufweist.
7. Vorrichtung zur Übertragung von Daten zwischen einer Platte (8) und einer zentralen Verarbeitungseinheit (CPU) (2), mit:
a) einer Einrichtung zur Übertragung eines zum Adressieren eines ersten Sektors auf der Platte vorgesehenen ersten Headers von der CPU (2) zu einem Headerpuffer A (3);
b) einer Einrichtung zur Übertragung von ersten Daten zwischen dem von dem ersten Header in dem Headerpuffer A (3) adressierten ersten Sektor auf der Platte (8) und einem Datenpuffer A (5);
c) einer Einrichtung zur Übertragung eines zum Adressieren eines zweiten Sektors auf der Platte vorgesehenen zweiten Headers von der CPU (2) zu einem Headerpuffer B (4) während der Übertragung der ersten Daten zwischen dem ersten Sektor auf der Platte und dem Datenpuffer A (5);
d) einer Einrichtung zur Übertragung von zweiten Daten zwischen dem von dem zweiten Header in dem Headerpuffer B (4) adressierten zweiten Sektor auf der Platte und einem Datenpuffer B (6) nach Beendigung der Übertragung der ersten Daten zwischen dem ersten Sektor auf der Platte und dem Datenpuffer A (5);
e) einer Einrichtung zur Übertragung und Beendigung der Übertragung der ersten Daten zwischen dem Datenpuffer A (5) und der CPU (2) vor Beendigung der Übertragung der zweiten Daten zwischen dem zweiten Sektor auf der Platte und dem Datenpuffer B (6);
f) einer Einrichtung zur Übertragung eines zum Adressieren eines dritten Sektors auf der Platte (8) vorgesehenen dritten Headers von der CPU (2) zu dem Headerpuffer A (3) nach Beendigung der Übertragung der ersten Daten zwischen dem Datenpuffer A (5) und der CPU (2) und vor Beendigung der Übertragung der zweiten Daten zwischen dem zweiten Sektor auf der Platte und dem Datenpuffer B (6);
g) einer Einrichtung zur Übertragung von dritten Daten zwischen dem von dem dritten Header in dem Headerpuffer A (3) adressierten dritten Sektor auf der Platte (8) und dem Datenpuffer A (5) nach Beendigung der Übertragung der zweiten Daten zwischen dem zweiten Sektor auf der Platte und dem Datenpuffer B (6);
h) einer Einrichtung zur Übertragung und Beendigung der Übertragung der zweiten Daten zwischen dem Datenpuffer B (6) und der CPU (2) vor Beendigung der Übertragung der dritten Daten zwischen dem dritten Sektor auf der Platte und dem Datenpuffer A (5);
i) einer Einrichtung zur Übertragung eines zum Adressieren eines vierten Sektors auf der Platte (8) vorgesehenen vierten Headers von der CPU (2) zu dem Headerpuffer B (4) nach Beendigung der Übertragung der zweiten Daten zwischen dem Datenpuffer B (6) und der CPU (2) und vor Beendigung der Übertragung der dritten Daten zwischen dem dritten Sektor auf der Platte und dem Datenpuffer A (5);
j) einer Einrichtung zur Wiederholung der Übertragungsoperationen (d) bis (i) für alle von der CPU (2) zu den Headerpuffern A und B (3,4) übertragenen Header (dritte, vierte, fünfte . . . ).
8. Vorrichtung nach Anspruch 7, bei der die Sektoren physisch benachbarte Sektoren aufweisen und die Übertragungseinrichtungen eine Einrichtung zur Übertragung aller Sektoren innerhalb einer einzigen Umdrehung der Platte (8) aufweisen.
9. Vorrichtung nach Anspruch 7, bei der die Übertragungseinrichtungen eine Einrichtung zum Kippen der Header- und Datenpuffer A und B (3,4,5,6) nach jeder Übertragung der Daten zwischen einem Datenpuffer (5,6) und der CPU (2) aufweisen.
10. Vorrichtung nach Anspruch 7, bei der die Übertragungseinrichtung zur Übertragung von Daten zu und von den Datenpuffern A und B (5,6) eine Einrichtung zum Übertragen der Daten zwischen den Datenpuffern (5,6) und der CPU (2) mit einer vorbestimmten Rate aufweist, die höher ist als die Rate, mit der die Daten zwischen der Platte (8) und den Datenpuffern (5,6) übertragen werden.
DE85309263T 1984-12-20 1985-12-19 Datenübertragung zwischen einer Platte und einer Zentraleinheit. Expired - Fee Related DE3587604T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/684,769 US4667286A (en) 1984-12-20 1984-12-20 Method and apparatus for transferring data between a disk and a central processing unit

Publications (2)

Publication Number Publication Date
DE3587604D1 DE3587604D1 (de) 1993-11-04
DE3587604T2 true DE3587604T2 (de) 1994-03-24

Family

ID=24749497

Family Applications (1)

Application Number Title Priority Date Filing Date
DE85309263T Expired - Fee Related DE3587604T2 (de) 1984-12-20 1985-12-19 Datenübertragung zwischen einer Platte und einer Zentraleinheit.

Country Status (5)

Country Link
US (1) US4667286A (de)
EP (1) EP0187027B1 (de)
JP (1) JPH0618033B2 (de)
AT (1) ATE95329T1 (de)
DE (1) DE3587604T2 (de)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5283907A (en) * 1986-05-20 1994-02-01 Robert Bosch Gmbh Process for safeguarding transfer of data from a temporary part into a main part of a non-volatile memory
JPS63113623A (ja) * 1986-10-30 1988-05-18 Nec Corp セクタバツフア制御方式
FR2611942B1 (fr) * 1987-02-25 1991-11-29 France Etat Serveur a large bande, en particulier pour la transmission de musique ou d'images
AU622626B2 (en) * 1987-06-03 1992-04-16 Sony Corporation Method of processing data
US5163132A (en) * 1987-09-24 1992-11-10 Ncr Corporation Integrated controller using alternately filled and emptied buffers for controlling bi-directional data transfer between a processor and a data storage device
US4843544A (en) * 1987-09-25 1989-06-27 Ncr Corporation Method and apparatus for controlling data transfers through multiple buffers
JPH07122868B2 (ja) * 1988-11-29 1995-12-25 日本電気株式会社 情報処理装置
JPH03100718A (ja) * 1989-09-13 1991-04-25 Hitachi Ltd バッファ付きディスク装置の入出力処理方法
WO1991006053A1 (en) * 1989-10-10 1991-05-02 Storage Technology Corporation Multiple step data read apparatus
US5206943A (en) * 1989-11-03 1993-04-27 Compaq Computer Corporation Disk array controller with parity capabilities
US5045940A (en) * 1989-12-22 1991-09-03 Avid Technology, Inc. Video/audio transmission systsem and method
US5335234A (en) * 1990-06-19 1994-08-02 Dell Usa, L.P. Error correction code pipeline for interleaved memory system
JP3203701B2 (ja) * 1990-11-01 2001-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション コードセグメントのリンク方法とそのシステム及びコードセグメントのダイナミックリンク方法
US5337414A (en) * 1992-09-22 1994-08-09 Unisys Corporation Mass data storage and retrieval system
US5448709A (en) * 1992-10-13 1995-09-05 Compaq Computer Corporation Disk array controller having command descriptor blocks utilized by bus master and bus slave for respectively performing data transfer operations
WO1994009436A1 (en) * 1992-10-13 1994-04-28 Compaq Computer Corporation Disk array controller having advanced internal bus protocol
JPH08234928A (ja) * 1995-02-22 1996-09-13 Matsushita Electric Ind Co Ltd 情報記憶制御装置
US5742789A (en) * 1995-12-28 1998-04-21 Emc Corporation Dynamically adaptive data retrieval for a disk drive storage system
US6324642B1 (en) * 1998-07-08 2001-11-27 Intel Corporation Method and apparatus for increasing the data rate over a parallel port
US6826650B1 (en) * 2000-08-22 2004-11-30 Qlogic Corporation Disk controller configured to perform out of order execution of write operations
US7111228B1 (en) 2002-05-07 2006-09-19 Marvell International Ltd. System and method for performing parity checks in disk storage system
US7287102B1 (en) 2003-01-31 2007-10-23 Marvell International Ltd. System and method for concatenating data
US7007114B1 (en) * 2003-01-31 2006-02-28 Qlogic Corporation System and method for padding data blocks and/or removing padding from data blocks in storage controllers
US7492545B1 (en) 2003-03-10 2009-02-17 Marvell International Ltd. Method and system for automatic time base adjustment for disk drive servo controllers
US7099963B2 (en) * 2003-03-10 2006-08-29 Qlogic Corporation Method and system for monitoring embedded disk controller components
US7039771B1 (en) 2003-03-10 2006-05-02 Marvell International Ltd. Method and system for supporting multiple external serial port devices using a serial port controller in embedded disk controllers
US7870346B2 (en) * 2003-03-10 2011-01-11 Marvell International Ltd. Servo controller interface module for embedded disk controllers
US7064915B1 (en) 2003-03-10 2006-06-20 Marvell International Ltd. Method and system for collecting servo field data from programmable devices in embedded disk controllers
US7080188B2 (en) * 2003-03-10 2006-07-18 Marvell International Ltd. Method and system for embedded disk controllers
US7526691B1 (en) 2003-10-15 2009-04-28 Marvell International Ltd. System and method for using TAP controllers
US7139150B2 (en) * 2004-02-10 2006-11-21 Marvell International Ltd. Method and system for head position control in embedded disk drive controllers
US7120084B2 (en) 2004-06-14 2006-10-10 Marvell International Ltd. Integrated memory controller
US8166217B2 (en) * 2004-06-28 2012-04-24 Marvell International Ltd. System and method for reading and writing data using storage controllers
US8032674B2 (en) * 2004-07-19 2011-10-04 Marvell International Ltd. System and method for controlling buffer memory overflow and underflow conditions in storage controllers
US7757009B2 (en) * 2004-07-19 2010-07-13 Marvell International Ltd. Storage controllers with dynamic WWN storage modules and methods for managing data and connections between a host and a storage device
US9201599B2 (en) * 2004-07-19 2015-12-01 Marvell International Ltd. System and method for transmitting data in storage controllers
US7386661B2 (en) 2004-10-13 2008-06-10 Marvell International Ltd. Power save module for storage controllers
US7240267B2 (en) * 2004-11-08 2007-07-03 Marvell International Ltd. System and method for conducting BIST operations
US7802026B2 (en) * 2004-11-15 2010-09-21 Marvell International Ltd. Method and system for processing frames in storage controllers
US7609468B2 (en) * 2005-04-06 2009-10-27 Marvell International Ltd. Method and system for read gate timing control for storage controllers
CN102609378B (zh) * 2012-01-18 2016-03-30 中国科学院计算技术研究所 一种消息式内存访问装置及其访问方法
DE102014016172A1 (de) 2014-11-03 2016-05-04 Audi Ag Antriebsvorrichtung für ein hybridgetriebenes Kraftfahrzeug

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4148098A (en) * 1976-10-18 1979-04-03 Xerox Corporation Data transfer system with disk command verification apparatus
JPS5936782B2 (ja) * 1977-03-18 1984-09-05 松下電器産業株式会社 誤り訂正装置
US4298954A (en) * 1979-04-30 1981-11-03 International Business Machines Corporation Alternating data buffers when one buffer is empty and another buffer is variably full of data

Also Published As

Publication number Publication date
JPS61161541A (ja) 1986-07-22
JPH0618033B2 (ja) 1994-03-09
ATE95329T1 (de) 1993-10-15
EP0187027A3 (en) 1989-02-15
DE3587604D1 (de) 1993-11-04
EP0187027B1 (de) 1993-09-29
EP0187027A2 (de) 1986-07-09
US4667286A (en) 1987-05-19

Similar Documents

Publication Publication Date Title
DE3587604T2 (de) Datenübertragung zwischen einer Platte und einer Zentraleinheit.
DE2921387C2 (de) Verfahren zum Austauschen von Informationen zwischen einer Datenverarbeitungsanlage und einem Magnetplattenspeicher
DE2550339C2 (de) Speichersystem mit einem langsam arbeitenden Hauptspeicher großer Kapazität und mit zumindest einem schnell arbeitenden Pufferspeicher geringer Kapazität
DE2806024C2 (de)
DE69215538T2 (de) Verfahren zur verbesserung von partiellen streifenschreib-operationen einer speicherplattenanordnung
DE69131728T2 (de) Speicherungssystem für binäre rechner mit hoher geschwindigkeit, hoher kapazität, fehlertoleranz und fehlerkorrektur
DE2637054C3 (de) Steuervorrichtung für einen Pufferspeicher
DE69330924T2 (de) Plattennetzwerk programmierbares Steuerungsgerät
DE2326942A1 (de) Verfahren und anordnung zum registrieren von informationen in konzentrischen spuren einer mehrzahl von gleichachsig drehbaren platten
DE69228975T2 (de) Steuerungsschaltung zur Datenübertragung von einem VME-Bus zu einer SCSI-Platteneinheit
DE2310631A1 (de) Speicherhierarchie fuer ein datenverarbeitungssystem
DE2703559C2 (de)
DE2432608A1 (de) Speicheranordnung fuer datenverarbeitungseinrichtungen
DE2911495A1 (de) Datenverarbeitungsanordnung
AT389951B (de) Datenuebertragungseinrichtung
DE1524788C3 (de) Schaltungsanordnung zum Erkennen und zum automatischen Ersetzen von schadhaften Speicherstellen in Datenspeichern
DE19722803A1 (de) Schaltung zur Verschiebung von Daten zwischen entfernten Speichern und ein diese Schaltung enthaltender Rechner
DE4312086C2 (de) Halbleiterspeichereinrichtung und Betriebsverfahren dafür
DE2941477C2 (de)
DE3713043C2 (de) Verfahren zur Behandlung eines fehlerhaften Bereichs eines Magnetplattenstapels
DE69031983T2 (de) Mehrschritt-datenlesevorrichtung
DE3639549A1 (de) Mehrfachsteuersystem und -verfahren fuer plattenspeicher
DE2823554A1 (de) Hochintegrierte schaltung
EP0101938B1 (de) Schaltungsanordnung zum Adressieren eines Plattenspeichers in einer Datensignale verarbeitenden Anlage, insbesondere Fernschreib- und Datenvermittlungsanlage
DE69125815T2 (de) Anordnung und Verfahren zu einer variablen Datenzuweisung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee