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
Links
- 238000012546 transfer Methods 0.000 title claims abstract description 56
- 238000012545 processing Methods 0.000 title claims description 4
- 239000000872 buffer Substances 0.000 claims abstract description 170
- 238000000034 method Methods 0.000 claims abstract description 11
- 230000005540 biological transmission Effects 0.000 claims 7
- 238000001514 detection method Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods 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/16—Multiplexed systems, i.e. using two or more similar devices which are alternately accessed for enqueue and dequeue operations, e.g. ping-pong buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data 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.
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)
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)
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 |
-
1984
- 1984-12-20 US US06/684,769 patent/US4667286A/en not_active Expired - Lifetime
-
1985
- 1985-12-19 JP JP60287636A patent/JPH0618033B2/ja not_active Expired - Lifetime
- 1985-12-19 DE DE85309263T patent/DE3587604T2/de not_active Expired - Fee Related
- 1985-12-19 EP EP85309263A patent/EP0187027B1/de not_active Expired - Lifetime
- 1985-12-19 AT AT85309263T patent/ATE95329T1/de not_active IP Right Cessation
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 |