[go: up one dir, main page]

CH667543A5 - Data communication for processing network - using stored table in communication unit for each node defining data segment storage location - Google Patents

Data communication for processing network - using stored table in communication unit for each node defining data segment storage location Download PDF

Info

Publication number
CH667543A5
CH667543A5 CH1687/85A CH168785A CH667543A5 CH 667543 A5 CH667543 A5 CH 667543A5 CH 1687/85 A CH1687/85 A CH 1687/85A CH 168785 A CH168785 A CH 168785A CH 667543 A5 CH667543 A5 CH 667543A5
Authority
CH
Switzerland
Prior art keywords
memory
computer
data segments
memories
data
Prior art date
Application number
CH1687/85A
Other languages
German (de)
Inventor
Hans-Rudolf Aschmann
Original Assignee
Bbc Brown Boveri & Cie
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 Bbc Brown Boveri & Cie filed Critical Bbc Brown Boveri & Cie
Priority to CH1687/85A priority Critical patent/CH667543A5/en
Publication of CH667543A5 publication Critical patent/CH667543A5/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

Data segments (A,B,C) are transferred between the spaced data processor nodes (1,2,3). Each of these has a read/write store (1.2, 2.2, 3.2) for holding the data segments (A,B,C) and a communication unit (1.3, 2.3, 3.3) connected to an external data channel (4). Each communication unit (1.3, 2.3, 3.3) has a memory holding a table which identifies the base address and size of the data segments (A,B,C) in the read/write store (1.2, 2.2, 3.2) for location of the data segments to be transmitted and for direct insertion of the received data (A,B,C) in the correct location of the read/write store (1.2, 2.2, 3.2). ADVANTAGE - Improved data transmission efficiency.

Description

       

  
 



   BESCHREIBUNG



   Die Erfindung betrifft ein Verfahren zur Übertragung von Datensegmenten zwischen Rechnerknoten eines Rechnernetzes gemäss dem Oberbegriff des Anspruchs 1.



   Bei der Implementierung von Fehlertoleranz in Rechnernetzen ergibt sich die Notwendigkeit, bestimmte, in den Schreib/ Lese-Speichern einzelner Rechnerknoten enthaltene Datensegmente zur Sicherung gegen Verlust in vorzugsweise gleich mehreren anderen Rechnerknoten zu speichern. Wenn ein in mehreren Rechnerknoten gespeichertes Datensegment in einem Rechnerknoten verändert wird, müssen die gleichen Änderungen zur Erhaltung der Identität in den übrigen Rechnerknoten, die das gleiche Datensegment enthalten ebenfalls vorgenommen oder, was meist einfacher und effizienter ist, das gesamte geänderte Datensegment vollständig neu durch Übertragung in die anderen Rechnerknoten kopiert werden.



   Aus einer Druckschrift Nr. HEDT 91700, 8309 der Firma BBC Brown, Boveri    &    Cie., Baden/Schweiz ist ein Verfahren der eingangs genannten Art bekannt. Bei diesem Verfahren müssen den Steuereinheiten in den Kommunikationseinheiten der übertragenden Rechnerknoten von den Zentraleinheiten der jeweiligen Knotenrechner die Adressen der Speicherplätze der zu übertragenden Datensegmente in den Schreib/Lese-Speichern zur Ermöglichung des direkten Speicherzugriffs jeweils einzeln mitgeteilt werden.

  Weiter werden bei diesem Verfahren die in den Pufferspeichern in den Kommunikationseinheiten der empfangenen Rechnerknoten zwischengespeicherten, aus den übertragenden Datensegmenten und der ihnen beigefügten Protokollinformationen bestehenden Nachrichten, vollständig von den jeweiligen Steuereinheiten in die jeweiligen Schreib/Lese-Speicher übertragen, jedoch nur in einen jeweils vorläufigen Speicherbereich. Die endgültigen Speicherplätze können den empfangenden Datensegmenten erst durch die Zentraleinheiten der jeweiligen Knotenrechner nach Auswertung der jeweiligen Protokollinformation zugewiesen werden. D.h., dass bei dem bekannten Verfahren jeweils noch ein Umkopieren der Datensegmente innerhalb der Schreib/Lese-Speicher erforderlich ist.



  Die Durchführung des bekannten Verfahrens ist daher mit einer nicht unerheblichen Aktivität für die Zentraleinheiten der beteiligten Knotenrechner verbunden. Dies kann sich für manche Anwendungsfälle als ungünstig erweisen, besonders dann, wenn grosse Datensegmente mit hoher Frequenz übertragen werden müssen und wenn in den Rechnerknoten mehrere Datensegmente gebildet sind.



   Die Erfindung, wie sie in den Ansprüchen gekennzeichnet ist, löst die Aufgabe, ein Verfahren der eingangs genannten Art anzugeben, durch welches eine effizientere Datenübertragung bei gleichzeitiger Entlastung der Zentraleinheiten der Knotenrechner erreicht wird.



   Die Vorteile der Erfindung sind im wesentlichen darin zu sehen, dass die Zentraleinheiten der Knotenrechner praktisch vollständig von der Datenübertragung entlastet sind und ihnen dadurch mehr Zeit für andere Aufgaben zur Verfügung steht.



   Die in den Kommunikationseinheiten enthaltenen Steuereinheiten können anhand der in den Tabellenspeichern erfindungsgemäss abgelegten Tabellen völlig selbständig, auf nur einen einzigen Befehl der Zentraleinheiten der Knotenrechner hin, die gewünschten Datentransfers ausführen. Sie können anhand der Tabellen die zu übertragenden Datensegmente neben anderen, nicht zu übertragenden Datensegmenten in den Schreib/Lese-Speichern auffinden und umgekehrt die empfangenen Daten, wiederum anhand der Tabellen sowie unter Auswertung der Protokollinformation, direkt ihren endgültigen Speicheplätzen in den Schreib/Lese-Speichern zuführen. Das Umkopieren empfangener Datensegmente in den Schreib/Lese-Speichern entfällt. Es ergibt sich eine wesentlich effizientere Datenübertragung.



   Nachfolgend wird das erfindungsgemässe Verfahren am Bei  spiel eines in der Zeichnung dargestellten einfachen Rechnernetzes mit lediglich drei Rechnerknoten und lediglich drei verschiedenen Datensegmenten näher erläutert. Im einzelnen zeigt
Fig. 1 in schematischer Darstellung das Rechnernetz mit den drei Rechnerknoten, wobei in den Rechnerknoten lediglich Zentraleinheiten, Schreib/Lese-Speicher und Kommunikationseinheiten dargestellt sind und
Fig. 2 ebenfalls in schematischer Darstellung ein Beispiel für eine Architektur der Rechnerknoten nach Fig. 1.



   In Fig. 1 sind mit 1, 2 und 3 drei Rechnerknoten eines Rechnernetzes bezeichnet, welche über einen externen Datenkanal 4 miteinander verbunden sind. In den Rechnerknoten 1, 2 und 3 sind rein schematisch als Rechtecke lediglich Zentraleinheiten
1.1, 2.1 und 3.1 der Knotenrechner, Schreib/Lese-Speicher 1.2, 2.2 und 3.2 sowie Kommunikationseinheiten 1.3, 2.3 und 3.3 dargestellt. Die Kommunikationseinheiten 1.3, 2.3 und 3.3 dienen als Kopplungsglieder zwischen den einzelnen Knotenrechnern und dem externen Datenkanal 4. Im Schreib/Lese-Speicher 1.2 des ersten Rechnerknotens 1 sollen beispielsweise Datensegmente A, B und C unterschiedlicher Grösse abgespeichert sein, welche zur Sicherung gegen Verlust in den beiden anderen Rechnerknoten 2 und 3, jedoch in anderen Speicherbereichen zusätzlich vorhanden sind.

  Dabei ist im Beispiel von Fig. 1 das
Datensegment A im zweiten 2 und im dritten Rechnerknoten 3 zusätzlich gespeichert, also doppelt abgesichert, während das
Datensegment B nur im zweiten 2 und das Datensegment C nur im dritten Rechnerknoten 3 nochmals vorhanden ist.



   Fig. 2 zeigt eine vorteilhafte Architektur der Rechnerknoten
1, 2 und 3 von Fig. 1. Um kenntlich zu machen, dass es sich bei
Fig. 2 um eine detaillierte Darstellung jedes der drei Rechner knoten 1, 2 und 3 handelt, wurde in Fig. 2 bei den Bezugszei chen anstelle einer konkreten ersten Ziffer, die einen der drei
Rechnerknoten bezeichnen würde, ein neutrales  x  verwendet.



   So ist in Fig. 2 die Zentraleinheit des Knotenrechners mit x. 1, der Schreib/Lese-Speicher mit x.2 und die Kommunikationsein heit mit x.3 bezeichnet. Die Kommunikationseinheit x.3 enthält einen Sendepufferspeicher x.3.1, einen Empfangspufferspeicher x.3.2, einen Tabellenspeicher x.3.3, ein Kontroll-und-Status-Re gister x.3.4 sowie eine DMA-Einheit x.3.5. Die Zentraleinheit x.l, der Schreib/Lese-Speicher x.2 sowie alle vorgenannten Ele mente der Kommunikationseinheit x.3 sind mit einem lokalen
Bus x.4 verbunden. Zwischen dem Sendepufferspeicher   x.3. 1    und einem, die Verbindung zum externen Datenkanal 4 herstel lenden, nicht zur Kommunikationseinheit x.3 gehörenden Bus koppler x.5 ist ein Parallel/Seriell-Wandler x.3.6 und zwischen den Buskoppler x.5 und den Eingangspufferspeicher x.3.2 ein
Seriell/Parallel-Wandler x.3.7 geschaltet.

  Im Zentrum der
Kommunikationseinheit x.3 ist schliesslich eine Steuereinheit x.3.8 angeordnet, welche mit allen übrigen Elementen der Kom munikationseinheit x.3 verbunden ist.



   Anordnungen nach der Art von Fig. 1 und Fig. 2 wurden, wie in der eingangs zitierten Literaturstelle beschrieben, bereits schaltungstechnisch realisiert und sind auf dem Markt erhält lich, weshalb sich hier eine eingehendere Beschreibung erübrigt.



   Nach der Erfindung wird im Tabellenspeicher x.3.3 jedoch zu sätzlich eine Tabelle geführt, in welcher die Identifikation sämt licher Datensegmente des jeweiligen Schreib/Lese-Speichers x.2 mit ihren zugehörigen Speicheradressen enthalten sind. Die
Speicheradressen der Datensegmente sind in der Tabelle vor zugsweise durch die jeweiligen Basisadressen und die jeweiligen
Grössen der Datensegmente im Schreib/Lese-Speicher x.2 be stimmt. Die Grösse der Datensegmente ergibt sich aus der Zahl der aufeinanderfolgenden Speicherplätze, die zu ihrer Speiche rung jeweils erfdrderlich sind, z.B. eine Mehrzahl von 8-Bit
Worten.

  Im Beispiel von Fig. 1 würden im Tabellenspeicher
1.3.3 im Rechnerknoten 1 die Identifikationen der Datenseg mente A, B und C, im Tabellenspeicher 2.3.3 im Rechnerkno ten 2 die der Datensegmente B und A und im Tabellenspeicher 3.3.3 im Rechnerknoten 3 die der Datensegmente C und A mit ihren zugehörigen Speicheradressen geführt.



   Es soll nun zur Erläuterung des erfindungsgemässen Verfahrens angenommen werden, dass das Datensegment A im Schreib/Lese-Speicher 1.2 des ersten Rechnerknotens 1 durch eine beliebige Datenoperation verändert wurde und deshalb zur Kontexterhaltung mit seinen Sicherungskopien in den beiden Rechnerknoten 2 und 3 vom Rechnerknoten 1 in diese übertragen werden muss. Die Übertragung des Datensegments A in die Rechnerknoten 2 und 3 erfolgt nach der Erfindung folgendermassen: Zunächst wird von der Zentraleinheit 1.1 des ersten Rechnerknotens 1 über das Kontroll-und-Status-Register 1.3.4 der Steuereinheit 1.3.8 in der Kommunikationseinheit 1.3 der Befehl erteilt, das Datensegment A, dessen Identifikations der Einfachheit halber gleichfalls  A  sein soll, zu senden.

  Auf diesen Befehl hin wird die Steuereinheit 1.3.8 aus der im Tabellenspeicher 1.3.3 geführten Tabelle anhand der Identifikation  A  die Basisadresse und Segmentgrösse des Datensegments A ermitteln und diese der DMA-Einheit 1.3.5 weitergeben. Die DMA-Einheit 1.3.5 ist daraufhin in der Lage, das Datensegment A aus dem Schreib/Lese-Speicher 1.2 durch direkten Speicherzugriff in den Sendepufferspeicher 1.3.1 zu übertragen.



  Anstelle von der DMA-Einheit 1.3.5 könnte der direkte Speicherzugriff auch von der Steuereinheit 1.3.8 selbst ausgeführt werden. Sobald der direkte Speicherzugriff beendet ist, wird das Datensegment A im Sendepufferspeicher 1.3.1 von der Steuereinheit 1.3.8 mit Protokollinformation versehen, welche unter anderem die Identifikation des Datensegments, hier also  A , enthält. Weiter kann die Protokollinformation, abhängig von der Art der Adressierung im Rechnernetz bei direkter Adressierung eine oder mehrere Zieladressen von anderen Rechnerknoten, z.B.  2  und  3 , enthalten in die das Datensegment übertragen werden soll, oder, bei Quellenadressierung eine Typenspezifikation oder dergleichen, anhand derer die anderen Rechnerknoten jeweils selbst entscheiden können, ob das Datensegment A für sie von Interesse ist oder nicht.

  Zusammen mit der Protokollinformation wird das Datensegment A dann, immer unter der Kontrolle durch die Steuereinheit 1.3.8, über den Parallel/Seriell-Wandler 1.3.6 und den Buskoppler 1.5 als Nachricht auf den externen Datenkanal 4 gegeben. Im Buskoppler 1.5 wird die vom Parallel/Seriell-Wandler erzeugte Signalfolge in einen Übertragungscode, z.B. den  Bi-phase-L  Code, umgesetzt.



   In den Rechnerknoten 2 und 3 wird die vom Rechnerknoten 1 auf den externen Datenkanal gegebene Nachricht empfangen und nach Rückcodierung in den Buskopplern 2.5 und 3.5 und Seriell/Parallel-Wandler in den Seriell/Parallel-Wandlern 2.3.7 und 3.3.7 in die Eingangspufferspeicher 2.3.2 und 3.3.2 geschrieben. Nun könnte durch die Steuereinheiten 2.3.8 und 3.3.8 zunächst eine der Protokollinformation gegebenenfalls beigefügte Zieladresse oder eine Typenspezifikation geprüft werden. Darauf soll hier jedoch nicht weiter eingegangen sondern angenommen werden, dass die Steuereinheiten 2.3.8 und 3.3.8 anhand der in der Protokollinformation jedenfalls enthaltenden Identifikation des mit der empfangenen Nachricht empfangenen Datensegments, hier A, entscheiden, ob die Nachricht für sie bestimmt ist oder nicht. 

  Die Steuereinheiten 2.3.8 und 3.3.8 werden deshalb die Identifikation  A  des in der Nachricht enthaltenen Datensegments A aus den Eingangspufferspeichern 2.3.2 und 3.3.2 ermitteln und in den Tabellenspeichern 2.3.3 und 3.3.3 nachschauen, ob die Identifikation  A  dort in der Tabelle enthalten ist. Beim Datensegment A ist dies im Beispielsfalle in beiden Rechnerknoten 2 und 3 der Fall. Beide Steuereinheiten 2.3.8 und 3.3.8 werden deshalb die gesendete Nachricht als für ihren Rechnerknoten bestimmt interpretieren und die zugehörigen Speicheradressen des Datensegments A in ihren Schreib/Lese-Speichern 2.2 und 3.2 ebenfalls den Tabellen in den Tabellenspeichern 2.3.3 und 3.3.3 entnehmen. Wie  im gewählten Beispiel können diese Speicheradressen grundsätzlich in den einzelnen Rechnerknoten verschieden sein.

  Die Steuereinheiten 2.3.8 und 3.3.8 werden dann die Speicheradressen bzw. die Basisadressen und Segmentgrössen des empfangenen Datensegments A den DMA-Einheiten 2.3.5 und 3.3.5 mitteilen. Danach sind diese in der Lage, das Datensegment A aus den Empfangspufferspeichern 2.3.2 und 3.3.2 ohne die Protokollinformation durch direkten Speicherzugriff in die Schreib/ Lese-Speicher 2.2 und 3.2 in die durch die Speicheradressen bestimmten Speicherplätze zu übertragen. Diese direkten Speicherzugriffe könnten natürlich auch von den Steuereinheiten 2.3.8 und 3.3.8 selbst ausgeführt werden. Nach Ausführung dieser Operationen ist in beiden Rechnerknoten 2 und 3 jeweils eine neue Sicherungskopie des Datensegments A erstellt.

  Von den Steuereinheiten 2.3.8 und 3.3.8 kann schliesslich über die Kontroll-und-Status-Register 2.3.4 und 3.3.4 den Zentraleinheiten 2.1 und 3.1 der Knotenrechner noch Meldung über den erfolgten Datentransfer gemacht werden. An der ganzen beschriebenen Übertragung des Datensegments A war direkt nur die Zentraleinheit 1.1 im ersten Rechnerknoten 1 mit einem   ein-    zigen, die Übertragung initialisierenden Befehl beteiligt.

 

   Sollten einzelne Datensegmente zu gross sein, um von den Sende- oder Empfangspufferspeichern x.3.1 oder x.3.2   vollstän.   



  dig aufgenommen werden zu können, so werden diese vorteilhaft in mehreren Teilen übertragen. Von den Steuereinheiten x.3.8 müssen dann neben der jeweiligen Identifikation noch spezielle, die einzelnen Teile als zusammengehörig kennzeichnende Kennzeichnungen, wie z.B. Sequenznummern, der Proto kollinformation beigefügt und aus dieser entsprechend wieder entnommen werden. 



  
 



   DESCRIPTION



   The invention relates to a method for transmitting data segments between computer nodes of a computer network according to the preamble of claim 1.



   When fault tolerance is implemented in computer networks, there is a need to store certain data segments contained in the read / write memories of individual computer nodes in order to protect against loss in preferably several other computer nodes. If a data segment stored in several computer nodes is changed in one computer node, the same changes to maintain identity in the other computer nodes that contain the same data segment must also be made or, which is usually simpler and more efficient, the entire changed data segment must be completely new by transmission copied to the other computer nodes.



   A method of the type mentioned at the outset is known from a publication No. HEDT 91700, 8309 by BBC Brown, Boveri & Cie., Baden / Switzerland. In this method, the control units in the communication units of the transmitting computer nodes must be informed individually by the central units of the respective node computers of the addresses of the storage locations of the data segments to be transmitted in the read / write memories to enable direct memory access.

  Furthermore, with this method, the messages temporarily stored in the buffer memories in the communication units of the received computer nodes and consisting of the transmitting data segments and the protocol information attached to them are completely transferred from the respective control units to the respective read / write memories, but only in a provisional one Storage area. The final storage locations can only be assigned to the receiving data segments by the central units of the respective node computers after evaluation of the respective protocol information. This means that in the known method, it is still necessary to copy the data segments within the read / write memory.



  The implementation of the known method is therefore associated with a not inconsiderable activity for the central units of the node computers involved. This can prove to be unfavorable for some applications, especially when large data segments have to be transmitted at high frequency and when several data segments are formed in the computer nodes.



   The invention, as characterized in the claims, achieves the object of specifying a method of the type mentioned at the outset by which a more efficient data transmission is achieved while simultaneously relieving the load on the central units of the node computers.



   The advantages of the invention are essentially to be seen in the fact that the central units of the node computers are practically completely relieved of the data transmission and more time is available for other tasks.



   The control units contained in the communication units can carry out the desired data transfers completely independently on the basis of the tables stored according to the invention in the table memories, upon a single command from the central units of the node computers. You can use the tables to find the data segments to be transferred next to other data segments that are not to be transferred in the read / write memories and vice versa the received data, again using the tables and by evaluating the log information, directly their final memory locations in the read / write Feed save. The copying of received data segments in the read / write memories is eliminated. The result is a much more efficient data transmission.



   The method according to the invention is explained in more detail below on the example of a simple computer network shown in the drawing with only three computer nodes and only three different data segments. In detail shows
1 shows a schematic representation of the computer network with the three computer nodes, only central units, read / write memories and communication units being shown in the computer nodes and
FIG. 2 also shows a schematic illustration of an example of an architecture of the computer nodes according to FIG. 1.



   1, 1, 2 and 3 denote three computer nodes of a computer network which are connected to one another via an external data channel 4. In the computer nodes 1, 2 and 3, only central units are purely schematic as rectangles
1.1, 2.1 and 3.1 of the node computers, read / write memories 1.2, 2.2 and 3.2 and communication units 1.3, 2.3 and 3.3 are shown. The communication units 1.3, 2.3 and 3.3 serve as coupling links between the individual node computers and the external data channel 4. In the read / write memory 1.2 of the first computer node 1, for example, data segments A, B and C of different sizes are to be stored, which are used to protect against loss in the other two computer nodes 2 and 3, but are also present in other memory areas.

  1 in the example
Data segment A is additionally stored in the second 2 and in the third computer node 3, that is to say doubly secured, while the
Data segment B is only present again in the second 2 and data segment C only in the third computer node 3.



   2 shows an advantageous architecture of the computer nodes
1, 2 and 3 of Fig. 1. To indicate that it is
Fig. 2 is a detailed representation of each of the three computer nodes 1, 2 and 3, was in Fig. 2 Chen in the reference characters instead of a specific first digit, one of the three
Compute node would use a neutral x.



   2 is the central unit of the node computer with x. 1, the read / write memory with x.2 and the communication unit with x.3. The communication unit x.3 contains a transmit buffer memory x.3.1, a receive buffer memory x.3.2, a table memory x.3.3, a control and status register x.3.4 and a DMA unit x.3.5. The central unit x.l, the read / write memory x.2 and all the above elements of the communication unit x.3 are with a local
Bus x.4 connected. Between the transmit buffer memory x.3. 1 and one that establishes the connection to the external data channel 4 and does not belong to the communication unit x.3 bus coupler x.5 is a parallel / serial converter x.3.6 and between the bus coupler x.5 and the input buffer memory x.3.2
Serial / parallel converter x.3.7 switched.

  At the center of the
Communication unit x.3 is finally arranged a control unit x.3.8, which is connected to all other elements of the communication unit x.3.



   Arrangements according to the type of Fig. 1 and Fig. 2, as described in the above-cited literature, have already been implemented in terms of circuitry and are available on the market, which is why a more detailed description is unnecessary here.



   According to the invention, however, a table is additionally kept in the table memory x.3.3, in which the identification of all data segments of the respective read / write memory x.2 with their associated memory addresses are contained. The
Memory addresses of the data segments are preferably in the table by the respective base addresses and the respective
Sizes of the data segments in the read / write memory x.2 are determined. The size of the data segments results from the number of consecutive memory locations that are required to save them, e.g. a plurality of 8 bits
Words.

  In the example of Fig. 1 would be in the table memory
1.3.3 in computer node 1, the identifications of data segments A, B and C, in table memory 2.3.3 in computer node 2, that of data segments B and A and in table memory 3.3.3 in computer node 3, that of data segments C and A with their associated ones Memory addresses.



   To explain the method according to the invention, it should now be assumed that the data segment A in the read / write memory 1.2 of the first computer node 1 has been changed by any data operation and therefore to maintain context with its backup copies in the two computer nodes 2 and 3 from the computer node 1 in this must be transferred. The data segment A is transferred to the computer nodes 2 and 3 according to the invention as follows: First, the command from the central unit 1.1 of the first computer node 1 via the control and status register 1.3.4 of the control unit 1.3.8 in the communication unit 1.3 granted to send the data segment A, whose identification should also be A for the sake of simplicity.

  Upon this command, the control unit 1.3.8 will determine the base address and segment size of the data segment A from the table kept in the table memory 1.3.3 based on the identification A and pass it on to the DMA unit 1.3.5. The DMA unit 1.3.5 is then able to transfer the data segment A from the read / write memory 1.2 by direct memory access to the transmit buffer memory 1.3.1.



  Instead of the DMA unit 1.3.5, the direct memory access could also be carried out by the control unit 1.3.8 itself. As soon as the direct memory access has ended, the data segment A in the transmit buffer memory 1.3.1 is provided with protocol information by the control unit 1.3.8, which contains, among other things, the identification of the data segment, here A. Furthermore, the protocol information, depending on the type of addressing in the computer network with direct addressing, can include one or more target addresses from other computer nodes, e.g. 2 and 3, into which the data segment is to be transmitted, or, in the case of source addressing, a type specification or the like, by means of which the other computer nodes can each decide for themselves whether the data segment A is of interest to them or not.

  Together with the protocol information, the data segment A is then, always under the control of the control unit 1.3.8, sent as a message to the external data channel 4 via the parallel / serial converter 1.3.6 and the bus coupler 1.5. In the bus coupler 1.5, the signal sequence generated by the parallel / serial converter is converted into a transmission code, e.g. the Bi-phase-L code.



   The message given by the computer node 1 to the external data channel is received in the computer nodes 2 and 3 and, after recoding in the bus couplers 2.5 and 3.5 and serial / parallel converters in the serial / parallel converters 2.3.7 and 3.3.7, into the input buffer memory 2.3.2 and 3.3.2 written. Now the control units 2.3.8 and 3.3.8 could first of all check a destination address or a type specification possibly added to the protocol information. However, this should not be dealt with further here, but it should be assumed that the control units 2.3.8 and 3.3.8 decide on the basis of the identification of the data segment received here with the received message, in this case A, whether the message is intended for them or Not.

  The control units 2.3.8 and 3.3.8 will therefore determine the identification A of the data segment A contained in the message from the input buffer memories 2.3.2 and 3.3.2 and look in the table memories 2.3.3 and 3.3.3 to see whether the identification A there is included in the table. In the case of data segment A, this is the case in both computer nodes 2 and 3 in the example. Both control units 2.3.8 and 3.3.8 will therefore interpret the sent message as intended for their computer node and the associated memory addresses of data segment A in their read / write memories 2.2 and 3.2 also the tables in the table memories 2.3.3 and 3.3.3 remove. As in the example selected, these memory addresses can fundamentally be different in the individual computer nodes.

  The control units 2.3.8 and 3.3.8 will then communicate the memory addresses or the base addresses and segment sizes of the received data segment A to the DMA units 2.3.5 and 3.3.5. They are then able to transfer the data segment A from the receive buffers 2.3.2 and 3.3.2 without the protocol information through direct memory access into the read / write memories 2.2 and 3.2 into the memory locations determined by the memory addresses. These direct memory accesses could of course also be carried out by the control units 2.3.8 and 3.3.8 themselves. After these operations have been carried out, a new backup copy of data segment A is created in both computer nodes 2 and 3.

  Finally, the control units 2.3.8 and 3.3.8 can use the control and status registers 2.3.4 and 3.3.4, the central units 2.1 and 3.1 of the node computers to report the data transfer that has taken place. Only the central processing unit 1.1 in the first computer node 1 was directly involved in the entire transmission of the data segment A with a single command that initialized the transmission.

 

   If individual data segments are too large to be complete from the transmit or receive buffer memories x.3.1 or x.3.2.



  dig be able to be included, they are advantageously transmitted in several parts. In addition to the respective identification, the control units x.3.8 must then also have special identifications that identify the individual parts as belonging together, such as Sequence numbers, the protocol information attached and removed from this accordingly.


    

Claims (4)

PATENTANSPRÜCHE 1. Verfahren zur Übertragung von Datensegmenten zwischen Rechnerknoten eines Rechnernetzes, wobei die Datensegmente in den Rechnerknoten in Schreib/Lese-Speichern gespeichert sind und die Rechnerknoten jeweils eine, mindestens einen Pufferspeicher, einen Tabellenspeicher sowie eine Steuereinheit enthaltende Kommunikationseinheit als Kopplungsglied zu einem externen, sie verbindenden Datenkanal aufweisen, bei welchem Verfahren die zu übertragenden Datensegmente auf Veranlassung einer Zentraleinheit des Knotenrechners des jeweils übertragenden Rechnerknotens von der Steuereinheit der zugehörigen Kommunikationseinheit in direktem Speicherzugriff aus dem jeweiligen Schreib-/Lese-Speicher zunächst in den jeweiligen Pufferspeicher geholt,  PATENT CLAIMS 1. A method for the transmission of data segments between computer nodes of a computer network, the data segments being stored in the computer nodes in read / write memories and the computer nodes each having a communication unit containing at least one buffer memory, a table memory and a control unit as a coupling element to an external one connecting data channel, in which method the data segments to be transmitted are first fetched from the respective read / write memory into the respective buffer memory by the control unit of the associated communication unit at the instigation of a central unit of the node computer of the respective transmitting computer node, dort mit Protokollinformation versehen und anschliessend zusammen mit dieser Protokollinformation als Nachricht über den externen Datenkanal im Rechnernetz verbreitet werden, bei welchem die Datensegmente zusammen mit der Protokollinformation in den empfangenen Rechnerknoten ebenfalls zunächst in einen Pufferspeicher in der Kommunikationseinheit aufgenommen und aus diesem durch die jeweilige Steuereinheit in direktem Speicherzugriff in den jeweiligen Schreib/Lese Speicher übertragen werden, dadurch gekennzeichnet, dass in den Tabellenspeichern (x.3.3) Tabellen geführt werden, welche Identifikation, Basisadresse und Grösse der Datensegmente (A, B, C) in den jeweiligen Schreib/Lese-Speichern (x.2) enthalten, wobei jede Identifikation in die Tabellen von mindestens zwei Tabellenspeichern (x.3.3) in zwei Rechnerknoten (1, 2, 3) aufgenommen wird,  provided with protocol information there and then, together with this protocol information, distributed as a message via the external data channel in the computer network, in which the data segments together with the protocol information in the received computer nodes are likewise initially recorded in a buffer memory in the communication unit and from there by the respective control unit direct memory access is transferred to the respective read / write memory, characterized in that tables are kept in the table memories (x.3.3), which identification, base address and size of the data segments (A, B, C) in the respective read / write Contain memories (x.2), each identification being recorded in the tables by at least two table memories (x.3.3) in two computer nodes (1, 2, 3), dass von der Zentraleinheit (1.1) des Knotenrechners des jeweils übertragenden Rechnerknotens (1) bei der Veranlassung der jeweiligen Steuereinheit (1.3.8) zur Übertragung eines bestimmten Datensegments (A) dieser nur die Identifikation des bestimmten Datensegments (A) mitgeteilt wird, dass durch die jeweilige Steuereinheit (1.3.8) anhand der mitgeteilten Identfikationen die für den direkten Speicherzugriff erforderliche Basisadresse sowie die Grösse des bestimmten Datensegments (A) im jeweiligen Schreib/Lese-Speicher (1.2) aus der Tabelle des jeweiligen Tabellenspeichers (1.3.3) selbständig ermittelt wird, dass die Identifikation des zur Übertragung bestimmten Datensegments (A) der Protokollinformation beigefügt wird, dass in den empfangenden Rechnerknoten (2, 3) noch während die empfangenen Datensegmente (A) in den Pufferspeichern (2.3.2,  that the central unit (1.1) of the node computer of the respective transmitting computer node (1) when prompting the respective control unit (1.3.8) to transmit a specific data segment (A) only informs it of the identification of the specific data segment (A) that by the respective control unit (1.3.8) independently uses the identified identifications to determine the base address required for direct memory access and the size of the specific data segment (A) in the respective read / write memory (1.2) from the table of the respective table memory (1.3.3) It is determined that the identification of the data segment (A) intended for transmission is added to the protocol information, that in the receiving computer nodes (2, 3) the received data segments (A) are still in the buffer memories (2.3.2, 3.3.2) zwischengespeichert sind, anhand deren mitübertragener Identifikation deren jeweilige Basisadresse und Segmentgrösse in den jeweiligen Schreib/Lese-Speichern (2.2, 3.2) aus den Tabellen in den jeweiligen Tabellenspeichern (2.3.3, 3.3.3), sofern dort vorhanden, von den jeweiligen Steuereinheiten (2.3.8, 3.3.8) ermittelt wird und dass schliesslich die empfangenen Datensegmente (A), deren Basisadresse und Segmentgrösse anhand ihrer Identifikation ermittelt werden konnte, von der jeweiligen Steuereinheit (2.3.8, 3.3.8) direkt in die entsprechenden Speicherplätze in den jeweiligen Schreib/Lese-Speichern (2.2, 3.2) übertragen werden.  3.3.2) are temporarily stored, based on their transmitted identification, their respective base address and segment size in the respective read / write memories (2.2, 3.2) from the tables in the respective table memories (2.3.3, 3.3.3), if available there, is determined by the respective control units (2.3.8, 3.3.8) and that finally the received data segments (A), whose base address and segment size could be determined on the basis of their identification, directly by the respective control unit (2.3.8, 3.3.8) are transferred to the corresponding memory locations in the respective read / write memories (2.2, 3.2).   2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Kommunikation der Zentraleinheiten (x.l) der Knotenrechner mit ihren zugehörigen Kommunikationseinheiten (x.3) über ein Kontroll-und-Status-Register (x.3.4) geführt wird.  2. The method according to claim 1, characterized in that the communication of the central units (x.l) of the node computers with their associated communication units (x.3) is carried out via a control and status register (x.3.4). 3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass Datensegmente, welche wegen ihrer Grösse von den Pufferspeichern (x.3.1, x.3.2) nicht vollständig aufgenommen werden können, in mehreren Teilen übertragen werden.  3. The method according to claim 1, characterized in that data segments, which due to their size cannot be completely absorbed by the buffer memories (x.3.1, x.3.2), are transmitted in several parts. 4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die einzelnen getrennt übertragenen Teile durch eine mit übertragene Kennzeichnung als zusammengehörig gekennzeichnet werden.  4. The method according to claim 3, characterized in that the individual separately transmitted parts are identified as belonging together by a transmitted identification.
CH1687/85A 1985-04-19 1985-04-19 Data communication for processing network - using stored table in communication unit for each node defining data segment storage location CH667543A5 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CH1687/85A CH667543A5 (en) 1985-04-19 1985-04-19 Data communication for processing network - using stored table in communication unit for each node defining data segment storage location

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CH1687/85A CH667543A5 (en) 1985-04-19 1985-04-19 Data communication for processing network - using stored table in communication unit for each node defining data segment storage location

Publications (1)

Publication Number Publication Date
CH667543A5 true CH667543A5 (en) 1988-10-14

Family

ID=4216252

Family Applications (1)

Application Number Title Priority Date Filing Date
CH1687/85A CH667543A5 (en) 1985-04-19 1985-04-19 Data communication for processing network - using stored table in communication unit for each node defining data segment storage location

Country Status (1)

Country Link
CH (1) CH667543A5 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7231564B2 (en) * 2000-10-19 2007-06-12 Oracle International Corporation Data block location verification

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4007450A (en) * 1975-06-30 1977-02-08 International Business Machines Corporation Data sharing computer network
EP0092895A2 (en) * 1982-04-28 1983-11-02 International Computers Limited Data processing system
EP0094177A2 (en) * 1982-05-07 1983-11-16 Digital Equipment Corporation Apparatus for direct memory-to-memory intercomputer communication
WO1984003192A1 (en) * 1983-02-07 1984-08-16 American Telephone & Telegraph Data network interface

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4007450A (en) * 1975-06-30 1977-02-08 International Business Machines Corporation Data sharing computer network
EP0092895A2 (en) * 1982-04-28 1983-11-02 International Computers Limited Data processing system
EP0094177A2 (en) * 1982-05-07 1983-11-16 Digital Equipment Corporation Apparatus for direct memory-to-memory intercomputer communication
WO1984003192A1 (en) * 1983-02-07 1984-08-16 American Telephone & Telegraph Data network interface

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7231564B2 (en) * 2000-10-19 2007-06-12 Oracle International Corporation Data block location verification

Similar Documents

Publication Publication Date Title
DE3856569T2 (en) Message transfer arrangement with common data transfer and collection devices
DE2230830C2 (en) Data processing system
DE4033352C2 (en)
DE2753063C3 (en)
CH634940A5 (en) Channel-adapter arrangement
DE68927202T2 (en) Parallel processor
DE69724732T2 (en) Remote atomic operation and device for performing the operation
DE2703559A1 (en) COMPUTER SYSTEM
EP0010263B1 (en) Method and circuit for memory-space extension of a central processing unit, especially of a microprocessor
DE3142504A1 (en) MULTIPLE DISK STORAGE TRANSMISSION SYSTEM
DE2900586A1 (en) ARRANGEMENT FOR DECODING CODE WORDS OF VARIABLE LENGTH
DE103335T1 (en) CIRCUIT ARRANGEMENT FOR THE EXCHANGE OF MESSAGES IN A TELECOMMUNICATION SYSTEM CONSTRUCTING FROM A MULTIPLE NUMBER OF MODULAR UNITS.
DE10105627B4 (en) A multi-port memory device, method and system for operating a multi-port memory device
DE1437002A1 (en) Multiple switching stage and associated control circuit
CH667543A5 (en) Data communication for processing network - using stored table in communication unit for each node defining data segment storage location
DE4129412A1 (en) METHOD FOR DATA TRANSFER AND DATA PROCESSING SYSTEM WITH DISTRIBUTED COMPUTER NODES
DE69807738T2 (en) METHOD AND DEVICE FOR BYTE ORIENTATION
EP0048869B1 (en) Multiprocessor system, particularly with a number of microprocessors
EP0101938A2 (en) Circuit arrangement for disc memory addressing in a data processing system, particularly a telegraphy and data switching system
DE69433982T2 (en) Communication system with ATM network and demultiplexer
DE2233164A1 (en) CIRCUIT ARRANGEMENT FOR HIDING ANY SELECTABLE AREA OF A BIT SEQUENCE WHEN TRANSFERRED BETWEEN TWO REGISTERS
DE69315785T2 (en) Modular device for coupling and multiplexing different buses
DE3887862T2 (en) Cache memory device.
DE2217609A1 (en) Access unit for data processing systems
DE3330474A1 (en) MAINTENANCE SYSTEM FOR MEMORY PROGRAMMED SWITCHING SYSTEMS

Legal Events

Date Code Title Description
PL Patent ceased
PL Patent ceased