DE10125887A1 - PCI Bus Protokoll für verteilte und fehlertolerante Systeme - Google Patents

PCI Bus Protokoll für verteilte und fehlertolerante Systeme

Info

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
Application number
DE2001125887
Other languages
English (en)
Inventor
Holger Kuefner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE2001125887 priority Critical patent/DE10125887A1/de
Priority to PCT/DE2002/001729 priority patent/WO2002097645A2/de
Publication of DE10125887A1 publication Critical patent/DE10125887A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling 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.
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

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.
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.
DE2001125887 2001-05-28 2001-05-28 PCI Bus Protokoll für verteilte und fehlertolerante Systeme Withdrawn DE10125887A1 (de)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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