DE10125887A1 - PCI Bus Protokoll für verteilte und fehlertolerante Systeme - Google Patents
PCI Bus Protokoll für verteilte und fehlertolerante SystemeInfo
- Publication number
- DE10125887A1 DE10125887A1 DE2001125887 DE10125887A DE10125887A1 DE 10125887 A1 DE10125887 A1 DE 10125887A1 DE 2001125887 DE2001125887 DE 2001125887 DE 10125887 A DE10125887 A DE 10125887A DE 10125887 A1 DE10125887 A1 DE 10125887A1
- Authority
- DE
- Germany
- Prior art keywords
- signal
- target
- pci
- activated
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Abstract
Die Erfindung bezieht sich auf eine Modifikation des standardisierten PCI Busprotokolls und wendet das veränderte Protokoll zur Synchronisation von Geräten fehlertoleranter und verteiler Computersysteme an. Im Normalfall muss ein Target, wenn es ein Signal DEVSEL# aktiviert (Fig. 1, Takt 4, low aktiv) nach maximal 6 Takten sein TRDY#-Signal aktivieren, um das erste Datum einer Datenübertragung zu übernehmen. Laut Erfindung wird im Fall, daß das Target für eine Synchronisation nicht bereit ist, das Signal DEVSEl# zwar aktiviert, aber auch die Nicht-Aktivierung von TRDY# kein Datum übernommen. Damit der PCI-Master vom Abbruch der Datenübertragung informiert wird, wird das Signal STOP# innerhalb der ersten sechs Taktzyklen aktiviert (Fig. 1, Takt 4). Mit der Setzung des STOP#-Signals wird die Übertragung beendet und der Master-Controller gezwungen, die Übertragung zu einem späteren Zeitpunkt zu wiederholen. Durch den geschilderten Protokollablauf mit Abbruch wird erreicht, dass nicht das Target-Timeout aktiv werden kann, was einen Datumsverlust bedeuten würde.
Description
Die Erfindung liegt auf dem Gebiet der Computertechnologie
und bezieht sich im Speziellen auf ein PCI Busprotokoll, das
für verteilte Systeme anwendbar ist.
Bei fehlertoleranten und verteilten Computersystemen tritt
das Problem der Synchronisation auf, d. h. Prozesse
verschiedener, räumlich getrennter, Knoten müssen sich
innerhalb des Systems synchronisieren, um Daten austauschen
und verifizieren zu können.
In nicht-verteilten Systemen hat sich das PCI (Peripheral
Component Interconnect) Bus Protokoll durchgesetzt. Das PCI
bildet den Grundstock des Informationsaustausches in fast
allen modernen PCs. Der PCI-Bus und die PCI Specification
erlauben es verschiedenen Peripherie-Bestandteilen, wie zum
Beispiel SCSI-Karten und SCSI-Controller oder Videokarten und
ähnlichen Einsteckkarten, sehr schnellen Datentransfer
durchzuführen, ohne Dabei die Prozessorunterstützung des
Hauptrechners zu beanspruchen. Ein weiterer Vorteil ist die
sogenannte Plug & Play, die es ermöglicht verschiedene Karten
praktisch dynamisch wärend des Bootup zu erkennen und zu
adressieren.
Das PCI Protokoll ermöglicht auch den sogenannten DMA (Direct
Memory Access), wodurch die verschiedenen Ressourcen ohne
Beteiligung des Prozessors Daten direkt austauschen können.
Die PCI Specification bezieht sich dabei auf einen Initiator
und einen Target. Wenn ein Datenaustausch durchgeführt werden
soll, steuert der Initiator die Adressen und Steuerleitungen
des PCI-Busses und ladet so die Daten in den Target.
Zur Zeit wird das PCI-Protokoll nur zur Datenübertragung
innerhalb von Computern über eine maximale Distanz von 30 cm
verwendet. Der Grund dafür liegt in der Tatsache, dass auf
weitere Distanzen die Synchronisation auf das Taktsignal CLK
nicht gewährleistet werden kann.
Bei fehlertoleranten Systemen mit Echtzeitbedingungen muß
eine Synchronisation sehr schnell und effizient erfolgen.
Dies wird zur Zeit durch aufwendige spezielle Hardware-
Lösungen realisiert. Bedingt durch den hohen
Realisierungsaufwand sind alle kommerziell verfügbaren
Lösungen Speziallösungen, die hohe Anschaffungs- und
Wartungskosten verursachen.
Es ist Aufgabe dieser Erfindung ein PCI Bus-Protokoll für
fehlertolerante Systeme vorzuschlagen, das es erlaubt die PCI
Specification auf die Synchronisation und Datenübertragung
zwischen Komponenten verteilter Systeme anzuwenden.
Diese Aufgabe wird durch die in den Patentansprüchen
angegebenen Merkmale gelöst. Dabei definiert Anspruch 1 ein
Verfahren zur Synchronisation zwischen einem Target und einem
über einen PCI Bus mit dem Target verbunden Initiator, wobei
das Target anhand eines TRDY#-Signals (Target Ready), das
innerhalb einer vorbestimmten Zeitspanne nach Aktivierung
eines Signals DEVSEL# aktiviert wird, seine Bereitschaft zur
Annahme eines ersten Datums der Datenübertragung ankündigen
soll, und nach Aktivierung des TRDY#-Signals das erste Datum
der Datenübertragung übernimmt. Die Erfindung is dadurch
gekennzeichnet, dass
wenn das Target für eine Synchronisation nicht bereit ist, das Signal DEVSEL# zwar aktiviert wird, aber das Signal TRDY# nicht aktiviert wird und dadurch kein Datum der Datenübertragung übernommen wird; und
das Signal STOP# innerhalb der vorbestimmten Zeitspanne aktiviert wird, um den PCI-Master vom Abbruch der Datenübertragung zu informieren.
wenn das Target für eine Synchronisation nicht bereit ist, das Signal DEVSEL# zwar aktiviert wird, aber das Signal TRDY# nicht aktiviert wird und dadurch kein Datum der Datenübertragung übernommen wird; und
das Signal STOP# innerhalb der vorbestimmten Zeitspanne aktiviert wird, um den PCI-Master vom Abbruch der Datenübertragung zu informieren.
Laut standardisiertem PCI Protokoll, muss das Target, wenn es
das Signal DEVSEL# aktiviert (Fig. 1, Takt 4, low aktiv), das
Signal TRDY#-Signal nach maximal 6 Takten des PCI Taktsignals
aktivieren, um seine Bereitschaft zur Übernahme des ersten
Datums der Datenübertragung anzuzeigen.
Laut Erfindung wird das Signal STOP# innerhalb der ersten
sechs Taktzyklen des PCI Taktsignals aktiviert, um die
Datenübertragung aktiv abzubrechen.
Durch Ausnutzung der Signal- und Verhaltensoptionen des PCI-
Protokolls ist es möglich, das Synchronisationsproblem in
verteilten Systemen auf elegante Weise zu lösen. Hierbei
wird die Signalisierung in einem einzigen Protokoll-Punkt
verändert, so daß hier PCI-Nicht-Konformität entsteht, das
aber keinerlei Auswirkungen auf das normale PCI-
Datenübertragungsverhalten hat. Bedingt durch diesen
geringen Eingriff entfallen kostspielige dedizierte Lösungen.
Es können Standardkomponenten (PC mit P-Bus) verwendet
werden.
Der erfinderische Schritt liegt in der Veränderung des
Verhaltens des PCI-Protokolls in der Weise, daß es hierdurch
in einfacher Weise möglich ist, Synchronisationen
kostengünstig mit Standardkomponenten und ohne zusätzlichen
Hardwareaufwand durchzuführen.
Ein Ausführungsbeispiel des erfindungsgemäßen PCI Protokolls
ist in der Zeichnung dargestellt und wird im folgenden näher
beschrieben. Dabei zeigt
Fig. 1 ein Protokolldiagramm mit den wichtigsten PCI-
Signalen die zwischen einem Target und einem
Initiator bei Durchführung des erfindungsgemäßen
Verfahrens vorkommen.
Bei Ablauf einer "normalen" PCI-Datenübertragung wird die
Übertragung vom Master initiiert und das Target meldet seine
Bereitschaft zurück und ist für mindestens eine
Datenübernahme bereit (Fig. 1). Im Falle weiterer
Datenübertragungen (Burst-Modi) ist es dem Target
freigestellt, die Daten zu übernehmen oder einen Abbruch zu
erzwingen. Im Falle eines Abbruchs ist der Master
aufgefordert, die Datenübertragung nach einer eingestellten
Latenzzeit wieder zu versuchen. Dies wird solange
durchgeführt, bis alle Daten übertragen worden sind, oder
sich das Target für eine Übertragung nicht mehr meldet (time
out).
Die Veränderung des PCI-Protokolls liegt nun darin, daß es
dem Target nach seiner Existenzmeldung (Fig. 1, Takt 4,
Aktivierung DEVSEL#) freigestellt ist, ein Datum zu
übernehmen oder nicht (im Standard-Protokoll muß das Target
nach Aktivierung von DEVSEL# das erste Datum übernehmen).
Durch diese Verhaltensänderung kann das Target bestimmen, ob
es für eine Synchronisation ein Datum übernehmen will oder
nicht. Bei Datenübernahme wird das Datum vom Target-
Controller übernommen und über eine Einschubkarte mit Daten
anderer Rechnerknoten verglichen [2]. Im negativen Fall wird
der Datenübertragungswunsch des Masters zurückgewiesen und
dieser muß, bedingt durch das PCI-Protokoll [1], den Versuch
einer Datenübertragung nach kurzer Zeit wieder anstoßen, d. h.
die Verantwortung für eine erfolgreiche Synchronisation wird
keinen Zusatzschaltungen aufgebürdet, sondern dem bereits
vorhandenen PCI-Master zugeordnet. Hierdurch können
Standardkomponenten eingesetzt werden, die Produktkosten
sparen. Nachteilig wirkt sich aus, daß kein Standard-PCI-
Target-Controller verwendet werden kann, da dieser die
beschriebene Verhaltensänderung erzwingen muß. Das heisst,
es muß ein eigener PCI-Controller entwickelt werden, der
dieses Verhalten beinhaltet. Dies ist aber bei heutiger
Technologie unproblematisch und wurde in [2] durchgeführt
(nicht dokumentiert).
Die Zeichnungsfigur zeigt die wichtigsten PCI-Signale bei
einem lesenden Datentransfer von einem Target zu einem
Initiator-Device. Das Verhalten des standardisierten PCI-
Protokolls ist schwarz eingezeichnet. Mögliche
Verhaltensänderungen der Erfindung sind für die Signale TRDY#
(Target-Ready) und STOP# strichliert eingezeichnet. Im
Normalfall hat das Target, wenn es das Signal DEVSEL#
aktiviert (Fig. 1, Takt 4, low aktiv) nach maximal 6 Takten
sein TRDY#-Signal zu aktivieren, um das erste Datum der
Übertragung zu übernehmen. Verhält sich das Target nicht
entsprechend, verhält es sich non-konform der PCI-
Spezification [1]. In der vorgeschlagenen Lösung wird im
Fall, daß das Target für eine Synchronisation nicht bereit
ist, das Signal DEVSEL# zwar aktiviert, aber durch die Nicht-
Aktivierung von TRDY# kein Datum übernommen. Damit der PCI-
Master vom Abbruch der Datenübertragung informiert wird, muß
das Signal STOP# innerhalb der ersten sechs Taktzyklen
aktiviert werden (Fig. 1, Takt 4). Dies ist ebenfalls nicht
konform zum standardisierten PCI Protokoll, muß aber zur
korrekten Abwicklung des Protokolls durchgeführt werden. Mit
der Setzung des STOP#-Signals wird die Übertragung beendet
und der Master-Controller gezwungen, die Übertragung zu einem
späteren Zeitpunkt zu wiederholen. Der geschilderte
Protokollablauf mit Abbruch muß durchgeführt werden, damit
nicht das Target-Timeout aktiv werden kann, das einen
Datumsverlust bedeuten würde. Auf Datenübertragungen mit
anderen PCI-Devices (Master, Target) hat die vorgestellte
Verhaltensänderung des PCI Protokolls keinen Einfluss. Auch
bei eigenen Datenübertragungen arbeitet der Controller streng
nach der PCI-Spezifikation [1]. Nur im Falle einer Ablehnung
der Datenübernahme des ersten Datums wegen dem Nicht-
Bereitsein zur Synchronisation wird das PCI-Protokoll auf die
beschriebene Art verletzt. Zu Synchronisationszwecken ist es
auch denkbar, das erste Datum zu übernehmen, abzuspeichern
und alle weiteren zu verweigern. Hierbei ist allerdings der
zusätzliche Verwaltungsaufwand auf der Einschubkarte
unverhältnismäßig hoch (Adress- und Datenverwaltung), so daß
die vorgeschlagene Erfindung, eine elegante und
kostengünstige Lösung darstellt.
Obwohl das erfindungsgemäße Verfahren mit Bezug auf das
Beispiel der Rechnersynchronisation beschrieben wurde, ist es
auch denkbar, daß das vorgestellte Protokoll-Verhalten für
andere Zwecke, als nur zur Synchronisation von Rechnern,
einzusetzen ist.
In diesem Dokument sind folgende Literaturstellen zitiert:
[1] PCI Special Interest Group: PCI bus specification, Revision 2.01 Portland, Oregon, 1993
[2] Küfner, H.: Ein dynamisch fehlertolerantes, echtzeiffähiges und verteiltes Rechensystem, Mehrrechnersystem zur Tolerierung von transienten, intermittierenden und permanenten Fehlern, Promotion im FB Informatilk der FernUniversität Hagen, Shaker Verlag, 1998
[1] PCI Special Interest Group: PCI bus specification, Revision 2.01 Portland, Oregon, 1993
[2] Küfner, H.: Ein dynamisch fehlertolerantes, echtzeiffähiges und verteiltes Rechensystem, Mehrrechnersystem zur Tolerierung von transienten, intermittierenden und permanenten Fehlern, Promotion im FB Informatilk der FernUniversität Hagen, Shaker Verlag, 1998
Claims (3)
1. Verfahren zur Synchronisation zwischen einem Target und
einem über einen PCI Bus mit dem Target verbunden Initiator,
wobei das Target anhand eines TRDY#-Signals (Target Ready),
das innerhalb einer vorbestimmten Zeitspanne nach Aktivierung
eines Signals DEVSEL# aktiviert wird, seine Bereitschaft zur
Annahme eines ersten Datums der Datenübertragung ankündigen
soll, und nach Aktivierung des TRDY#-Signals das erste Datum
der Datenübertragung übernimmt,
dadurch gekennzeichnet
dass, wenn das Target für eine Synchronisation nicht bereit ist, das Signal DEVSEL# zwar aktiviert wird, aber das Signal TRDY# nicht aktiviert wird und dadurch kein Datum der Datenübertragung übernommen wird; und
dass das Signal STOP# innerhalb der vorbestimmten Zeitspanne aktiviert wird, um den PCI-Master vom Abbruch der Datenübertragung zu informieren.
dass, wenn das Target für eine Synchronisation nicht bereit ist, das Signal DEVSEL# zwar aktiviert wird, aber das Signal TRDY# nicht aktiviert wird und dadurch kein Datum der Datenübertragung übernommen wird; und
dass das Signal STOP# innerhalb der vorbestimmten Zeitspanne aktiviert wird, um den PCI-Master vom Abbruch der Datenübertragung zu informieren.
2. Das Verfahren nach Anspruch 1, wobei das Target, wenn es
das Signal DEVSEL# aktiviert (Fig. 1, Takt 4, low aktiv), das
Signal TRDY#-Signal nach maximal 6 Takten des PCI Taktsignals
aktivieren soll, um seine Bereitschaft zur Übernahme des
ersten Datums der Datenübertragung anzuzeigen.
3. Das Verfahren nach Anspruch 2, wobei das Signal STOP#
innerhalb der ersten sechs Taktzyklen des PCI Taktsignals
aktiviert wird.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2001125887 DE10125887A1 (de) | 2001-05-28 | 2001-05-28 | PCI Bus Protokoll für verteilte und fehlertolerante Systeme |
PCT/DE2002/001729 WO2002097645A2 (de) | 2001-05-28 | 2002-05-14 | Pci bus protokoll für verteilte und fehlertolerante systeme |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2001125887 DE10125887A1 (de) | 2001-05-28 | 2001-05-28 | PCI Bus Protokoll für verteilte und fehlertolerante Systeme |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10125887A1 true DE10125887A1 (de) | 2002-12-12 |
Family
ID=7686366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2001125887 Withdrawn DE10125887A1 (de) | 2001-05-28 | 2001-05-28 | PCI Bus Protokoll für verteilte und fehlertolerante Systeme |
Country Status (2)
Country | Link |
---|---|
DE (1) | DE10125887A1 (de) |
WO (1) | WO2002097645A2 (de) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19961771A1 (de) * | 1999-03-18 | 2000-09-28 | Via Tech Inc | Verfahren zum Ausführen einer Wiederholungsbeendigung von Bustransaktionen für PCI-Busse |
-
2001
- 2001-05-28 DE DE2001125887 patent/DE10125887A1/de not_active Withdrawn
-
2002
- 2002-05-14 WO PCT/DE2002/001729 patent/WO2002097645A2/de active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19961771A1 (de) * | 1999-03-18 | 2000-09-28 | Via Tech Inc | Verfahren zum Ausführen einer Wiederholungsbeendigung von Bustransaktionen für PCI-Busse |
Non-Patent Citations (1)
Title |
---|
Applied Micro Circuits Corp. AMCC:PCI products data book, PCI bus interface S5933, S. 3-95 bis 3-100, San Diego, USA 1998 * |
Also Published As
Publication number | Publication date |
---|---|
WO2002097645A2 (de) | 2002-12-05 |
WO2002097645A3 (de) | 2003-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3586352T2 (de) | Busarbiter fuer datenverarbeitungssystem mit einem ein-/ausgabekanal. | |
DE69729889T2 (de) | Verfahren und system zum ermöglichen einer unterbrechungsfreien einsetzung und entfernung von erweiterungskarten in einem unterspannungrechnersystem | |
DE19580606C2 (de) | Plattenlaufwerksverbinderschnittstelle zur Verwendung an einem PCI-Bus | |
DE69023701T2 (de) | Merkmalplatine mit automatischer Justierung zur Steckplatzstelle. | |
DE3280451T2 (de) | Verfahren zur Initialisierung eines Datenverarbeitungssystems. | |
DE102009061252B3 (de) | Vorrichtung, Verfahren und System zur Verarbeitung einer Transaktion auf einem PCI-Bus mittels eines Root-Komplexes | |
DE102007012054B4 (de) | Mehrmasterverkettungszweidrahtseriellbus | |
DE4313190B4 (de) | Vorrichtung und Verfahren zur Initialisierung einer Datenschnittstelle für eine programmierbare Steuerung | |
DE10234992A1 (de) | Retry-Mechanismus für blockierende Schnittstellen | |
DE68920929T2 (de) | Zeitgeberkanal mit mehreren Zeitgeberreferenzmerkmalen. | |
DE4018481C2 (de) | ||
DE3882991T2 (de) | Anordnung und methode zur erzielung von unterbrechungen mit einem "pended bus". | |
DE69726302T2 (de) | Busschnittstellensteuerungsschaltung | |
DE60036923T2 (de) | Dram-auffrischungsüberwachung und taktgenaue verteilte busarbitrierung in einer multiprozessorumgebung | |
DE69919584T2 (de) | Betriebsmittelsteuerung in einer datenverarbeitungsanlage | |
DE60303468T2 (de) | Fehlertolerante Vorrichtung zur Informationsverarbeitung | |
DE10061770B4 (de) | Zugriffsregelung für Steuerchipsätzen bei Bustransaktion | |
DE60300233T2 (de) | Fehlertolerante Vorrichtung zur informationsverarbeitung | |
DE102006012659A1 (de) | System und Verfahren zum Reduzieren der Speicherlatenz bei mit einem Bus verbundenen Mikroprozessorsystemen | |
DE10361364B4 (de) | Vorrichtung zum Behandeln von Interruptereignissen, mit der pegel-sensitive bzw. level-sensitive Interruptanforderungen in flankengetriggerten Interruptnachrichten umgesetzt werden | |
DE10056152B4 (de) | Verfahren zur Durchführung von Busarbitration zwischen Steuerchips eines Chipsatzes mit preemptiver Fähigkeit | |
DE69729598T2 (de) | Verfahren und Vorrichtung zur Adressenparitätsprüfung für mehrfache überlappende Addressbereiche auf einem gemeinsamen Bus | |
DE10125887A1 (de) | PCI Bus Protokoll für verteilte und fehlertolerante Systeme | |
DE69026336T2 (de) | Bevorrechtigungsschaltung für ein Rechnersystem | |
EP1308846B1 (de) | Datenübertragungseinrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8130 | Withdrawal | ||
8165 | Unexamined publication of following application revoked |