DE102015107990A1 - Verfahren und Vorrichtung zur dynamischen Knotenreparatur in einer Mehrfachknotenumgebung - Google Patents

Verfahren und Vorrichtung zur dynamischen Knotenreparatur in einer Mehrfachknotenumgebung Download PDF

Info

Publication number
DE102015107990A1
DE102015107990A1 DE102015107990.9A DE102015107990A DE102015107990A1 DE 102015107990 A1 DE102015107990 A1 DE 102015107990A1 DE 102015107990 A DE102015107990 A DE 102015107990A DE 102015107990 A1 DE102015107990 A1 DE 102015107990A1
Authority
DE
Germany
Prior art keywords
pch
node
component
interface
dmi
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.)
Pending
Application number
DE102015107990.9A
Other languages
English (en)
Inventor
Robert C. Swanson
Robert W. Cone
Malay Trivedi
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE102015107990A1 publication Critical patent/DE102015107990A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • G06F11/1428Reconfiguring to eliminate the error with loss of hardware functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/845Systems in which the redundancy can be transformed in increased performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/85Active fault masking without idle spares

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)

Abstract

Verfahren und Vorrichtung zur dynamischen Knotenreparatur in einer Mehrfachknotenumgebung. Ein Mehrfachknoten-Plattform-Controller-Hub (MN-PCH) ist so konfiguriert, dass er mehrere Knoten durch Verwenden dedizierter Schnittstellen und Komponenten sowie gemeinsam genutzte Fähigkeiten unterstützt. Die Schnittstellen und Komponenten können dafür konfiguriert sein, von entsprechenden Knoten verwendet zu werden, oder können so konfiguriert sein, dass sie als redundante primäre und Ersatzschnittstellen und -komponenten eine verbesserte Resilienz unterstützen. Als Reaktion auf ein Erkennen einer ausfallenden oder ausfallenden primären Schnittstelle oder Komponente führt der MN-PCH automatisch Failover-Operationen aus, um das primäre durch das Ersatzteil zu ersetzen. Darüber hinaus ist die Failover-Operation transparent für die auf den Knoten der Plattform ausgeführten Betriebssysteme.

Description

  • HINTERGRUNDINFORMATIONEN
  • Die Entwicklungsgeschichte von Rechenzentren und der Trend hin zur Exascale-Hochleistungs-Datenverarbeitung schafft für Plattformen eine langfristige Tendenz zu einer erhöhten Knotendichte. Es müssen mehrere CPU-Knoten (Zentraleinheitsknoten) auf einer gemeinsamen Platine, Karte oder sogar einem Package-Substrat untergebracht werden. Um Effizienz im Hinblick auf Kosten, Verdichtung und Energieaufwand von Plattformen zu erreichen, müssen mehr der Plattformfähigkeiten in weniger Komponenten aufgenommen werden. Für eine Datenverarbeitungsarchitektur von heute wird ein dedizierter Plattform-Controller-Hub (PCH) pro CPU-Knoten benötigt, wofür mehrere Instanzen des PCH auf einer gemeinsam genutzten Platine mit mehreren CPUs oder CPU-Komplexen erforderlich sind.
  • Durch ein Skalieren vorhandener Plattformarchitekturen auf verdichtete Formfaktoren wird eine unnötige Vervielfältigung großer Anzahlen von Funktionen in jedem Datenverarbeitungsknoten erzwungen, und es schafft neue Probleme, die nur Plattformen mit einem verdichteten Formfaktor betreffen. Das mit hoher Dichte verbundene Nutzenversprechen zukünftiger Systemlösungen wird durch das Erfordernis eines dedizierten PCH pro Knoten gefährdet. Ein Beseitigen des PCH durch eine monolithische Integration der PCH-Funktionalität in einen CPU-Die ist nicht energie/flächeneffizient und bietet auch keine skalierbare Lösung. Es besteht daher ein Bedarf an einer verbesserten Plattformarchitektur, die eine Redundanz innerhalb der Plattform verringert oder beseitigt und die Erfordernisse einer verdichteten Plattform erfüllt.
  • Ein Ansatz für eine erhöhte Formfaktor-Verdichtung besteht darin, zum Zusammenwirken mit mehreren Knoten fähige Plattform-Controller-Hubs (multi-node aware platform controller hubs, MN-PCH) zu nutzen. Bei diesem Schema wird ein einziger MN-PCH so konfiguriert, dass er die Funktionalität ersetzt, die bei herkömmlichen Architekturen mit mehreren Knoten und einer gemeinsam genutzten Platine von mehreren PCHs bereitgestellt wird. Langfristigere Daten weisen auf den Nutzen einer missionskritischen Datenverarbeitung hin, die sich von den herkömmlichen 8-Sockel-„Glueless”- oder 4-Sockel-Servern zu einem 2-Sockel-System mit besserer Zuverlässigkeit, Verfügbarkeit und Wartbarkeit (reliability, availability, and serviceability = RAS) hin entwickelt. Dies setzt die Zuverlässigkeitsstandards der 5–9er nicht herab, erfordert aber, dass bei den neueren Systemarchitekturen kein Ausfall der Chipsatz-Interconnect-Verbindung auftreten darf. Um dieses zuverlässigere System zu erreichen, muss durch die Systemarchitekturen sichergestellt werden, dass Chipsatzkomponenten diese Nutzung unterstützen, wenn sie mit dem MN-PCH gekoppelt sind
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die vorstehenden Aspekte und zahlreiche der zugehörigen Vorteile dieser Erfindung werden einfacher verständlich, wenn diese durch Bezugnahme auf die folgende detaillierte Beschreibung besser verstanden wird, wenn sie in Verbindung mit den begleitenden Zeichnungen zur Kenntnis genommen wird, wobei gleiche Bezugszeichen sich in allen verschiedenen Ansichten auf gleiche Teile beziehen, sofern nichts anderes angegeben ist.
  • 1 ist ein schematisches Schaubild einer beispielhaften Mehrfachknoten-Plattformarchitektur mit einem MN-PCH, der so konfiguriert ist, dass er vier Knoten ohne Redundanz unterstützt;
  • 1a ist ein schematisches Schaubild einer beispielhaften Mehrfachknoten-Plattformarchitektur mit dem MN-PCH aus 1, der so neu konfiguriert ist, dass er unter Verwendung von redundanten primären und Ersatzschnittstellen und -komponenten zwei Knoten unterstützt;
  • 2 ist ein schematisches Schaubild, das eine interne Struktur des MN-PCH aus 1 gemäß einer Ausführungsform veranschaulicht;
  • 2a ist ein schematisches Schaubild, das eine interne Struktur des MN-PCH aus 2 veranschaulicht, nachdem dieser so neu konfiguriert wurde, dass er redundante primäre und Ersatzschnittstellen und -komponenten unterstützt;
  • Die 3a, 3b und 3c umfassen zusammengenommen einen Ablaufplan, der gemäß einer Ausführungsform Operationen und Logik zum Realisieren einer automatisierten Knotenreparatur als Reaktion auf ein Erkennen von Schnittstellen- und Komponentenausfällen oder Ausfallbedingungen veranschaulicht;
  • 4 ist ein schematisches Schaubild, das eine Systemarchitektur 400 einer Mehrfachknoten-Datenverarbeitungsplattform veranschaulicht, bei der gemäß einer Ausführungsform ein MN-PCH genutzt wird, der so konfiguriert ist, dass er eine dynamische Knotenreparatur unterstützt, und
  • 4a ist ein schematisches Schaubild, das eine Erweiterung der Systemarchitektur 400 veranschaulicht, bei der der Prozessor gemäß einer Ausführungsform eine dynamische Reparatur seiner DMI-Schnittstelle unterstützt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Es werden hier Ausführungsformen von Verfahren und Vorrichtungen zur dynamischen Knotenreparatur in einer Mehrfachknotenumgebung beschrieben. In der folgenden Beschreibung werden zahlreiche spezielle Einzelheiten dargelegt, um für ein umfassendes Verständnis von hier offenbarten und veranschaulichten Ausführungsformen zu sorgen. Fachleute für die relevante Technik werden jedoch erkennen, dass die Erfindung ohne eine oder mehrere der speziellen Einzelheiten oder mit anderen Verfahren, Komponenten, Materialien usw. praktisch angewendet werden kann. In anderen Fällen werden gut bekannte Strukturen, Materialien oder Operationen nicht im Einzelnen gezeigt oder beschrieben, um Unklarheiten in Bezug auf Aspekte der Erfindung zu vermeiden.
  • Der Klarheit halber kann auf einzelne Komponenten der hier enthaltenen Figuren auch durch ihre Beschriftungen in den Figuren anstatt durch ein bestimmtes Bezugszeichen Bezug genommen werden. Des Weiteren können Bezugszeichen, die sich auf einen bestimmten Komponententyp (im Gegensatz zu einer bestimmten Komponente) beziehen, mit einem Bezugszeichen gezeigt werden, auf das „(typ)” folgt, was für „typisch” steht. Es versteht sich, dass die Konfiguration dieser Komponenten typisch für ähnliche Komponenten ist, die möglicherweise vorhanden sind, aber in den Figuren der Zeichnungen der Einfachheit und Klarheit halber nicht gezeigt werden, oder andernfalls für ähnliche Komponenten, die nicht mit separaten Bezugszeichen beschriftet sind. Umgekehrt soll „(typ)” nicht so verstanden werden, dass damit gemeint ist, dass die Komponente, das Element usw. typischerweise wegen seiner offenbarten Funktion, seiner Realisierung, seines offenbarten Zwecks usw. verwendet wird.
  • 1 zeigt gemäß einer Ausführungsform eine Plattformarchitektur 100 mit einem MN-PCH 102, der so konfiguriert ist, dass er vier Knoten (Knoten1, Knoten2, Knoten3 und Knoten4) unterstützt. Neben einer Unterstützung der vier gezeigten Knoten kann die Architektur 100 im Allgemeinen so erweitert werden, dass sie N Knoten unterstützt, beispielsweise, aber ohne darauf beschränkt zu sein, 6 Knoten, 8 Knoten usw. Bei einer Ausführungsform unterstützt der MN-PCH 102 DMI-Link-Verbindungen (direct media interface links) für einen bandinternen Datenaustausch mit jedem CPU-Komplex, an den er angeschlossen ist, wie durch DMI-Link-Verbindungen 104, 105, 106 und 107 und entsprechende DMI-Schnittstellen 104i, 105i, 106i und 107i gezeigt. Des Weiteren unterstützt der MN-PCH 102 einen dedizierten Satz Signale für einen bandexternen Datenaustausch pro Knoten, während er das Signalisieren insgesamt dem Rest der Plattform zuweist.
  • Im Allgemeinen ist der MN-PCH 102 so konfiguriert, dass er eine Funktionalität unterstützt, die der ähnelt, die ein dedizierter PCH für jeden von mehreren Knoten bereitstellt, aber unter Verwendung eines einzigen integrierten PCH anstelle getrennter dedizierter PCHs. Dies beinhaltet Einrichtungen zum Realisieren verschiedener Arten von I/O-Interconnect-Verbindungen und Link-Verbindungen für jeden von Knoten1, Knoten2, Knoten3 und Knoten4, wie beispielsweise USB-Controller (universal serial bus controllers) 106, SATA-Controller (serial advanced technology attachment controllers) 108, SMB-Controller (serial management bus controllers) 110 sowie Sätze Legacy-Einrichtungen (iLB) 112.
  • Der MN-PCH 102 beinhaltet außerdem eine Manageability-Engine (ME) 114, eine Innovation-Engine (IE) 116 sowie ein Manageability-Teilsystem (MGB subsystem) 117. Bei einer Ausführungsform wird die ME 114 als eine konvergierte Sicherheits- und Manageability-Engine (converged security and manageability engine, CSME) realisiert. Bei einigen Ausführungsformen möchten möglicherweise Originalgerätehersteller (original equipment manufacturers, OEMs) speziell angepasste Funktionalität bereitstellen, um die durch die ME 114 bereitgestellten Einrichtungen zu erweitern. Diese können mithilfe der IE 116 realisiert werden, die auch als eine OEM-Innovation-Engine bezeichnet wird. Im Allgemeinen ist die Verwendung der IE 116 optional. Das MGB-Teilsystem arbeitet mit der ME 114 und der IE 116 (falls verwendet) zusammen, um Operationen hinsichtlich einer Verwaltbarkeit (manageability) der Plattform auszuführen.
  • Bei einer herkömmlichen Plattformarchitektur, bei der dedizierte PCHs für jede CPU genutzt werden, kann auf Firmware-Speichervorrichtungen und andere periphere Vorrichtungen mithilfe geeigneter Controller zugegriffen werden, wie zum Beispiel über einen SPI-Bus-Controller (serial peripheral interface bus controller) oder einen eSPI-Controller (enhanced SPI controller). Bei einer Ausführungsform werden ähnliche Controller und Schnittstellen wie die von herkömmlichen PCHs bereitgestellten verwendet, aber die Controller und/oder Schnittstellen werden von den Knoten gemeinsam genutzt. Zum Beispiel ist bei einer Ausführungsform die Firmware mit den BIOS-Startabbildern für alle Knoten in einer einzigen Flashvorrichtung enthalten, die entweder bezogen auf den MN-PCH lokal sein kann, wie durch eine Flashspeichervorrichtung 118 gezeigt, die über eine Interconnect-Verbindung 119 mit einem SPI-Controller 120 gekoppelt ist, oder in einiger Entfernung (z. B. hinter einem Baseboard-Managementcontroller (BMC) (nicht gezeigt)) angeschlossen sein kann. Die SPI-Flashvorrichtung kann entweder unabhängige BIOS-Bereiche für jeden Knoten oder ein gemeinsames Basis-BIOS für alle Knoten plus zusätzliche BIOS-Bereiche pro Knoten für knotenspezifische Zwecke unterstützen. Der MN-PCH 102 unterstützt entweder ein dediziertes Startlaufwerk pro Knoten oder ein gemeinsam genutztes Startlaufwerk. Bei einer Ausführungsform unterstützt der MN-PCH 102 außerdem ein dynamisches Hard-Partitioning.
  • Wie veranschaulicht, ist der Adressraum der Flashspeichervorrichtung 118 in mehrere Bereiche partitioniert, darunter einen Flash-Descriptor-0-Bereich (FD0-Bereich) 122, in dem sich Soft Straps des Chipsatzes befinden, und Bereiche zum Speichern von Firmware für die Manageability-Steuereinheit (manageability control unit firmware, MCU-FW) 124, IE-Firmware 126, Knoten1-Firmware 128, Knoten2-Firmware 130, Knoten3-Firmware 132, Knoten4-Firmware 134 sowie gemeinsame Knoten-Firmware 136. Aufgrund der Verwendung einer einzigen Interconnect-Verbindung von SPI-Controller und Flashspeichervorrichtung entfällt der Bedarf an separaten SPI-Controllern und/oder Flashspeichervorrichtungen für jeden Knoten.
  • Durch den MN-PCH 102 wird ein dedizierter Satz Legacy-Einrichtungen (iLB) wie beispielsweise Interrupt-Controller, Zeitgeber, GPIOs und SMBs pro Knoten bereitgestellt. Der MN-PCH 102 unterstützt eine isolierte Fehlerbehandlung und Wiederherstellung, sodass entlang des Datenpfades eines Knotens erkannte Fehler sich nicht auf einen der anderen Knoten auswirken, es sei denn, es handelt sich um eine nicht behebbare globale Rücksetzungssituation.
  • Der MN-PCH 102 unterstützt eine gemeinsame Manageability-Engine für alle Knoten, mit dedizierten bandinternen und bandexternen Manageability-Datenübertragungskanälen pro Knoten. Der MN-PCH stellt auch einen „Standort” für OEM-FW (original equipment manufacturer firmware) (z. B. Innovation-Engine) zur Verwaltbarkeit mehrerer Knoten bereit.
  • Ein Schaubild einer internen Architektur, das gemäß einer Ausführungsform weitere Einzelheiten des MN-PCH 102 veranschaulicht, wird in 2 gezeigt. Die von dem MN-PCH 102 unterstützten Fähigkeiten werden mithilfe eines internen Backbone-Fabric mit einem Root-Fabric 200 mit hoher Bandbreite und einem Sub-Fabric 202 mit niedriger Bandbreite untereinander verbunden. Das interne Backbone-Fabric ist so konfiguriert, dass es mehrere orthogonale Adressräume handhabt, was sich der MN-PCH 102 auf wirkungsvolle Weise zunutze macht, um eine weitere Ansammlung von Fähigkeiten auf der Komponentenebene zu erreichen. Darüber hinaus hält das zum Handhaben mehrerer Root-Räume fähige (multi-root space aware) interne Backbone-Fabric diese orthogonalen Adressräume isoliert und stellt sicher, dass ein gemeinsames Switching-Fabric von mehreren kohärenten Systemen gemeinsam genutzt werden kann.
  • Die Mehrknoten-PCH-Architektur unterstützt eine Mehrzahl von DMI-Link-Verbindungen für dedizierte Uplink-Verbindungen zu unabhängigen Knoten. Bei dem beispielhaften Fall mit vier Knoten beinhaltet dies vier mit einem Root-Fabric 200 mit hoher Bandbreite gekoppelte DMI-Schnittstellen 104i, 105i, 106i und 107i, die eine entsprechende DMI-Schnittstelle für jeden von Knoten1, Knoten2, Knoten3 und Knoten4 bereitstellen.
  • Bei einer Ausführungsform werden die Start- und Legacy-Fähigkeiten (Zurücksetzen/Sequenzieren, Start, Interrupts, Zeitgeber, GPIOs usw.) von mit dem Sub-Fabric 202 gekoppelten Komponenten bereitgestellt. Bei der veranschaulichten Ausführungsform zählen zu diesen Komponenten ein Energiemanagementcontroller (power management controller, PMC) 208 und ein SPI-Controller 210, die von allen Knoten gemeinsam genutzt werden, sowie ein entsprechender Satz Legacy-IO-Einrichtungen 212 für jeden von Knoten1, Knoten2, Knoten3 und Knoten4. Die Rücksetzungs- und Startblöcke unterstützen mehrere PCI-Header zum Datenaustausch mit dem individuellen Root-Raum (root space) in jedem Knoten. Der PMC 208 verbessert die Einzelknoten-Sequenzierungslogik, damit die Rücksetzungssequenzierung jedes Knotens unabhängig gehandhabt werden kann. In ähnlicher Weise stellt der SPI-Controller 210 einen Pfad zu dem Startabbild bereit, unterstützt einen dedizierten Header pro Knoten und regelt einen Zugriff auf isolierte Bereiche in der Startvorrichtung. Für mehrere Legacy-Fähigkeiten, die von den Legacy-IO-Blöcken 212 unterstützt werden, werden feste Speicher- oder IO-Adressen verwendet, und sie werden mehrere Male nachgebildet, um alle von dem MN-PCH 102 unterstützten Knoten abzudecken.
  • Bei einer Ausführungsform unterstützt der MN-PCH 102 dedizierte Signale auf Plattformebene pro Knoten für eine Energieversorgungssteuerung pro Knoten. Aufgrund dessen können einzelne Knoten Zustandsübergänge und Host-Partitions-Rücksetzungen ausführen, ohne andere Knoten zu beeinflussen. Die Rücksetzungs-Sequenzierungsabläufe für die einzelnen Knoten sind voneinander unabhängig und können von dem PMC 208 miteinander verzahnt werden.
  • Entsprechende Sätze Hochgeschwindigkeits-IO-Controller (high-speed IO (HSIO) controllers) 214 für jeden von Knoten1, Knoten2, Knoten3 und Knoten4 werden an ein Root-Fabric 200 mit hoher Bandbreite angeschlossen. Bei der veranschaulichten Ausführungsform weist jeder HSIO-Controller 214 einen PCIe Controller 216, einen SATA-Controller 218 und einen USB-Controller 220 auf. Neben den gezeigten HSIO-Controllern können auch andere Arten von Hochgeschwindigkeitscontrollern und/oder -schnittstellen bereitgestellt werden, wie zum Beispiel eine erweiterbare Host-Controller-Schnittstelle (XHCI). Darüber hinaus kann ein HSIO-Controller eine oder mehrere Instanzen einer zugehörigen Schnittstelle (z. B. mehrere PCIe-, SATA- und/oder USB-Schnittstellen) aufweisen.
  • Die Hochgeschwindigkeits-IO-Fähigkeit (z. B. bereitgestellt von dem PCIe-Controller 216, dem SATA-Controller 218 und dem USB-Controller 220) des MN-PCH 102 ist innerhalb eines Satzes generischer physischer Lanes hochgradig konfigurierbar. Die Lanes können auf flexible Weise verschiedenen integrierten IO-Controllern (nicht gezeigt) zugeordnet werden. Des Weiteren kann jeder Controller während der anfänglichen Startsequenz für jeden Knoten konfiguriert werden. Dies ermöglicht dem Kunden, die IO-Fähigkeiten unter den im System unterstützten Knoten zu partitionieren. Bei einer veranschaulichenden Konfiguration können die IO-Lanes so partitioniert werden, dass sie eine gleiche Anzahl von Lanes verschiedener IO-Protokolle für jeden Knoten bereitstellen. Bei einer anderen Konfiguration könnte ein Knoten für eine minimale Startunterstützung konfiguriert werden, während ein anderer durch ein Zuweisen aller SATA-Controller zu einem einzigen Knoten für Kapazitätsspeicherung konfiguriert wird. Systeme mit weniger Knoten können die nicht genutzten Uplinks sogar zu einem neuen Zweck nutzen, um nachgelagert angeordnete Vorrichtungen zu unterstützen. Darüber hinaus kann sich die Anzahl von für primäre HSIO-Controller verwendete Lanes von der Anzahl von für Ersatz-HSIO-Controller verwendete Lanes unterscheiden, wie nachfolgend beschrieben und veranschaulicht. Diese Fähigkeit, die verfügbare Anzahl von Lanes gemäß den Erfordernissen des Systems flexibel zu nutzen, erweitert die Möglichkeiten für kundenspezifische Konfigurationen beträchtlich.
  • Der MN-PCH 102 unterstützt außerdem zusätzliche Teilsysteme auf Grundlage von Mikrocontrollern, um Managementfähigkeiten auf Plattform-, Rack- und/oder Einrichtungsebene bereitzustellen. Zu diesen zählen eine ME 222 und eine IE 224. Die ME 222 weist einen Mikrocontroller 226 und ein Management-Teilsystem 228 auf. In ähnlicher Weise weist die IE 224 einen Mikrocontroller 230 und ein Management-Teilsystem 232 auf. Bei einer Ausführungsform verfügen diese ME- und IE-Management-Teilsysteme über eine Hostschnittstelle, aber sie können auch unabhängig von dem Host arbeiten.
  • Die Manageability-Engines (ME/CSME/IE) unterstützen in ähnlicher Weise dedizierte Schnittstellen für jeden Knoten, während sie gleichzeitig Zugriff auf Manageability-Sensoren und -IOs auf Knotenbasis bereitstellen. Die auf den Mikrocontrollern 226 und 230 ausgeführte Firmware (z. B. MCU-Firmware 124 und IE-Firmware 126) ist zum Zusammenwirken mit mehreren Knoten fähig und ermöglicht, dass eine einzige Instanz der ME und/oder IE alle Knoten in dem System bedient. Die ME/IE kann gemäß Kundenanforderungen entweder mit einem einzigen zum Zusammenwirken mit mehreren Knoten fähigen BMC oder einem dedizierten BMC pro Knoten Daten austauschen.
  • Bei einigen Ausführungsformen kann ein Mehrfachknoten-PCH neu konfiguriert werden, um redundante Fähigkeiten zu unterstützen, um die Zuverlässigkeit zu erhöhen. Zum Beispiel kann ein derartiger Mehrfachknoten-PCH die redundanten Fähigkeiten einsetzen, um eine dynamische Knotenreparatur zu unterstützen, bei der der MN-PCH dynamisch neu konfiguriert werden kann, sodass eine ausgefallene oder ausfallende primäre Schnittstelle oder Komponente durch eine entsprechend Ersatzschnittstelle oder -komponente ersetzt wird.
  • 1a zeigt gemäß einer Ausführungsform eine Plattformarchitektur 100a mit einem MN-PCH 102a, der so konfiguriert ist, dass er eine dynamische Knotenreparatur für zwei Knoten (Knoten1 und Knoten2) unterstützt. Neben einem Unterstützen der zwei gezeigten Knoten kann die Architektur 100 so erweitert werden, dass sie M Knoten unterstützt. Bei einigen Ausführungsformen kann ein MN-PCH so konfiguriert sein, dass er N Knoten ohne Redundanzen oder N/2 (oder weniger) Knoten mit Redundanzen unterstützt. Zum Beispiel weisen bei einer Ausführungsform der MN-PCH 102 und der MN-PCH 102a dieselben Komponenten, Interconnect-Verbindungen und dieselbe Logik auf, während der MN-PCH 102 so konfiguriert ist, dass er vier Knoten unterstützt und der MN-PCH 102a so konfiguriert ist, dass er zwei Knoten unterstützt, wobei die (aktuell) ungenutzten Komponenten und Interconnect-Verbindungen für die entfernten Knoten (Knoten3 und Knoten4) als Ersatzteile verwendet werden, die dafür konfiguriert sind, primäre Komponenten und Interconnect-Verbindungen mithilfe zugehöriger Failover-Operationen zu ersetzen.
  • Wie in 1a und 2a veranschaulicht, werden die DMI-Link-Verbindungen 104, 105, 106 und 107 in dem MN-PCH 102 in dem MN-PCH 102a neu konfiguriert, um eine primäre DMI-Link-Verbindung und -schnittstelle und eine Ersatz-DMI-Link-Verbindung und -schnittstelle für jeden von Knoten1 und Knoten2 bereitzustellen. Nach einer Neukonfiguration werden diese Link-Verbindungen und Schnittstellen als primäre DMI-Link-Verbindungen 104p und 106p, primäre DMI-Schnittstellen 104ip und 106ip, Ersatz-DMI-Link-Verbindungen 104s und 106s und Ersatz-DMI-Schnittstellen 104ip und 106ip gezeigt. Zu Veranschaulichungszwecken werden Ersatzschnittstellen und -komponenten in Hellgrau gezeigt, um sie von primären Komponenten zu unterscheiden. Wie in 1a weiter gezeigt, werden die USB-Controller 106, SATA-Controller 108 und SMB-Controller 110 für Knoten1, Knoten2, Knoten3 und Knoten4 in dem MN-PCH 102 in dem MN-PCH 102a neu konfiguriert, um einen primären und Ersatzcontroller für jeden von Knoten1 und Knoten2 bereitzustellen, wie durch die zusätzliche Einbeziehung von Ersatz-USB-Controllern 106s, Ersatz-SATA-Controllern 108s und Ersatz-SMB-Controllern 110s gezeigt. Des Weiteren werden ein primärer und ein Ersatzsatz Legacy-Fähigkeiten für jeden von Knoten1 und Knoten2 bereitgestellt, wie in 1a als Ersatz-iLB-Schnittstellen 112s gezeigt und in 2a näher ausgeführt. In ähnlicher Weise wurden die HSIO-Controller 214 für Knoten3 und Knoten4 des MN-PCH 102 als Ersatz-HSIO-Controller 214s für jeden von Knoten1 und Knoten2 für den MN-PCH 102a neu konfiguriert.
  • Im Allgemeinen kann eine Neukonfiguration verschiedener Komponenten und Schnittstellen auf einem Mehrfachknoten-PCH mithilfe von in den PCH eingebetteten Switching-Schaltungen und Steuerlogik oder mithilfe einer anderen Chipsatz-Interconnect-Verbindung von dem Mehrfachknoten-PCH zu einer CPU-I/O-Schnittstelle realisiert werden.
  • Darüber hinaus kann der Mehrfachknoten-PCH-Chipsatz mit Systemmanagementmodus-Unterstützung (SMM-Unterstützung) die Link-Verbindungen dynamisch ändern, während gleichzeitig der Systemzusammenhang erhalten und keine Rücksetzung eines Betriebssystems (BS) benötigt wird. Des Weiteren erfordert eine Unterstützung für diese Funktionalität keinerlei Änderungen an dem BS und stellt eine Selbstreparatur für jede Komponente in dem MN-PCH bereit, die für eine standardmäßige Überlebensfähigkeit und Unterstützung des BS erforderlich ist. Sie bietet außerdem eine Resilienz für andere nicht entscheidende Komponenten in dem MN-PCH, darunter sowohl Hochgeschwindigkeits- als auch Legacy-Schnittstellen und -Controller.
  • Bei einem Aspekt zum Realisieren einer Selbstreparatur stellt der MN-PCH Fehlerzähler für jede Komponente bereit, für die ein Failover vorgenommen werden kann, mit einem Schwellenwert für Fehler. Dies sorgt für eine vorherige Benachrichtigung in Bezug auf Komponenten, die möglicherweise ausfallen und eine entsprechende Ersatzteil/Reparaturoperation benötigen. Der MN-PCH stellt außerdem eine Seitenband- und bandinterne Signalisierung für katastrophale unkorrigierbare Fehler bereit. In vielen Fällen werden diese Fehlerklassen mit verbesserten MCA-Funktionen (machine check architecture features) in Zusammenhang stehen, die vor kurzem eingeführt wurden. Dies ermöglicht ein echtes erstes Modellieren von Firmware und wird bei dieser Technik angewendet, wenn die „north side” der DMI-Link-Verbindung in der integrierten IO (IIO) eines SoC-Prozessors (Prozessor, bei dem eine System-auf-einem-Chip-Architektur verwendet wird) Fehler aufweist. In diesen Fällen löst anstelle des MN-PCH der CPU-Komplex den Systemmanagement-Interrupt (SMI) aus, wie in den nachfolgend beschriebenen Ablaufplänen gezeigt.
  • Der SMM ist ein spezieller Modus zum Handhaben systemweiter Funktionen und ist ausschließlich zur Verwendung durch Systemfirmware und nicht durch ein BS oder eine Anwendung bestimmt. Wenn der SMM mithilfe eines SMI aufgerufen wird, speichert der Prozessor (z. B. eine Knoten-CPU) seinen aktuellen Zustand und schaltet auf eine separate Betriebsumgebung um, die im Systemmanagement-Direktzugriffsspeicher (system management random access memory, SMRAM) oder in einem ähnlichen geschützten Speicherbereich enthalten ist. Während er sich im SMM befindet, führt der Prozessor SMI-Handler-Code aus, um Operationen durchzuführen. Wenn der SMI-Handler seine Operationen beendet hat, führt er eine Wideraufnahmeanweisung aus. Diese Anweisung veranlasst den Prozessor, seinen gespeicherten Zustand neu zu laden, auf den geschützten oder den Real-Modus zurück umzuschalten und ein Ausführen der unterbrochenen Anwendungs- oder BS-Aufgaben wiederaufzunehmen. Bei einer Ausführungsform kann ein derartiger SMI-Handler-Code in der Flashspeichervorrichtung 118 gespeichert sein, entweder als Teil eines Firmware-Abbilds eines Knotens oder in einem separaten Bereich (z. B. als Teil gemeinsam genutzter Knoten-Firmware 136).
  • Ein Prozessablauf zum Realisieren einer dynamischen Knotenreparatur gemäß einer Ausführungsform wird in den Ablaufplanabschnitten 300a, 300b und 300c der 3a, 3b und 3c veranschaulicht. Der Prozessablauf beginnt in einem Startblock 302, der das laufende System zeigt. Zum Beispiel arbeiten Prozessoren einer Mehrfachknoten-Plattform, die einen MN-PCH-Chipsatz aufweist, unter normalen Betriebsbedingungen, ohne Fehler. Bei einem Block 304 wird ein Fehler erkannt und bestätigt. Es gibt verschiedene gut bekannte Mechanismen zum Bestätigen von Fehlern bei Plattformen, wie zum Beispiel durch Verwenden von Hard- oder Soft-Interrupts, bandinterner oder bandexterner Nachrichtenübertragung, Management-Agents und dergleichen usw. In ähnlicher Weise gibt es gut bekannte Mechanismen zum Erkennen von Fehlern.
  • Als Reaktion auf den bestätigten Fehler wird in einem Entscheidungsblock 306 eine Feststellung getroffen, ob der Fehler fatal oder auf andere Weise unkorrigierbar ist. Wenn die Antwort NEIN lautet, schreitet der Ablauf fort zu einem Block 308, in dem ein Komponentenausfallzähler inkrementiert wird. Zum Beispiel können bei verschiedenen Ausführungsformen Komponentenausfallzähler für einzelne Komponenten oder für Zusammenstellungen von Komponenten vorhanden sein. Die Komponentenausfallzähler werden insbesondere für Komponenten oder Zusammenstellungen von Komponenten realisiert, die einen Failover unterstützen. Zu derartigen Komponenten können im Allgemeinen Schnittstellen, Controller sowie Komponenten zählen, die dedizierte Funktionen ausführen, wobei eine Ersatz- bzw. Failover-Instanz der Komponente als ein Ersatzteil zur Verfügung steht.
  • In Verbindung mit einem Inkrementieren des Komponentenausfallzählers in Block 308 wild in einem Entscheidungsblock 310 eine Feststellung getroffen, ob der Ausfallzähler einen Schwellenwert überschritten hat. Zum Beispiel werden bei einer Ausführungsform einzelne Ausfallzähler-Schwellenwerte für entsprechende Komponenten festgelegt, sodass, sobald ein Fehler für diese Komponente eine gegebene Anzahl von Malen erkannt wird, eine Aktion erfolgt. In diesem Fall lautet, wenn der Schwellenwert überschritten wurde, die Antwort auf Entscheidungsblock 310 JA, und der Ablauf schreitet fort zu einem Block 320, in dem ein Komponenten-Failover eingeleitet wird. Wenn die Antwort auf Entscheidungsblock 310 NEIN lautet, kehrt der Ablauf zurück zu Startblock 302, um den Zyklus von Operationen zu wiederholen.
  • Zurück zu Entscheidungsblock 306: Wenn der Fehler fatal oder unkorrigierbar ist, lautet die Antwort auf Entscheidungsblock 306 JA, und der Ablauf schreitet fort zu einem Block 312, was anzeigt, dass eine Systemantwort erforderlich ist, oder dass sonst der Knoten ausfällt. Es wird dann in einem Entscheidungsblock 314 eine Feststellung getroffen, ob die fehlerhafte Komponente, Schnittstelle, die fehlerhafte Link-Verbindung usw. reparierbar ist. Wenn dies nicht der Fall ist, schreitet der Ablauf fort zu einem Endblock 316, in dem ein entsprechendes Fehlerereignis gegenüber einem OEM-BMC zur Fehlerbehebungsanalyse bestätigt wird. Wenn die Antwort auf Entscheidungsblock 314 JA lautet, schreitet der Ablauf fort zu Block 320, um den Komponenten-Failover einzuleiten.
  • Beim Einleiten des Komponenten-Failover in Block 320 schreitet der Ablauf fort zu einem Entscheidungsblock 322, in dem eine Feststellung getroffen wird, ob eine verfügbare CPU-Link-Verbindung funktionsfähig ist. Zum Beispiel kann es sich bei der CPU-Link-Verbindung um eine bandinterne Link-Verbindung, wie beispielsweise eine DMI-Link-Verbindung, oder um eine bandexterne Link-Verbindung handeln. Wenn die Antwort auf Entscheidungsblock 322 JA lautet, schreitet der Ablauf fort zu einem Block 324, in dem ein SMI-Virtual-Legacy-Wire (SMI-VLW) an die CPU gesendet wird, damit der Knoten mit der ausgefallenen oder ausfallenden Komponente einen SMI einleitet. Wenn die Antwort auf Entscheidungsblock 322 NEIN lautet, wird bei einer Ausführungsform ein Seitenband-Interrupt (sideband interrupt) bestätigt, um den CPU-Komplex zu unterbrechen, um den SMI einzuleiten. Der Ablauf schreitet dann fort zum Anfang des Ablaufplanabschnitts 300b in 3b.
  • Der Ablaufplanabschnitt 300b beginnt damit, dass in einem Startblock 328 ein SMI ausgelöst wird. Als Reaktion darauf wird in einem Entscheidungsblock 330 eine Feststellung getroffen, ob der SMI aufgrund einer Chipsatz-Failover-Benachrichtigung (z. B. einer von einem MN-PCH ausgelösten Failover-Benachrichtigung) erfolgt. Der SMI kann auch von anderen Systemkomponenten ausgelöst werden, die hier als eine alternative SMI-Quelle bezeichnet werden. In diesen Fällen lautet die Antwort auf Entscheidungsblock 330 NEIN, und eine geeignete SMI-Arbeit wird in einem Block 332 auf Grundlage des SMI-Handlers ausgeführt, der dafür konfiguriert ist, für die alternative SMI-Quelle realisiert zu werden.
  • Wenn die Antwort auf Entscheidungsblock 330 JA lautet, wird die Quelle der ausfallenden Komponente mithilfe einer Verwendung einer Seitenband-Schnittstelle oder Chipsatz-Interconnect-Verbindung ermittelt, wie in einem Block 334 gezeigt. In einem Entscheidungsblock 336 wird eine Feststellung getroffen, ob ein Prozessor-„Quiesce” erforderlich ist. Einige Prozessoren unterstützen einen Quiesce-Modus, bei dem Schnittstellen und andere Komponenten stillgelegt (quiesced) werden (z. B. in einen Ruhemodus versetzt). Wenn dementsprechend die Antwort auf Entscheidungsblock 336 JA lautet, schreitet der Ablauf fort zu einem Block 338, in dem der Quiesce-Modus während des SMI eingeleitet wird, um sicherzustellen, dass aller I/O-Verkehr angehalten wird.
  • Wenn die Antwort auf Entscheidungsblock 336 NEIN lautet, oder nachdem die Operationen in Block 338 beendet wurden (wenn der Ablauf durch diesen Block fortschreitet), wird ein Failover in der geeigneten Chipsatzkomponente in einem Block 340 eingeleitet. Dies kann ein Anwenden eines SMM beinhalten, um I/O-Adressen neu zu programmieren, die von POST während einer Plattform- oder Knoteninitialisierung oder von dem BS während einer BS-Initialisierung oder während der Laufzeit des BS eingerichtet wurden, wie in einem Block 344 gezeigt. Alternativ werden I/O-Adressen durch selbstkonfigurierbare Komponenten in dem MN-PCH neu programmiert. Weitere Einzelheiten von Failover-Operationen der Phase 3 werden in dem Ablaufplanabschnitt 300c in 3 veranschaulicht, der nachfolgend beschrieben wird.
  • In einigen Fällen kann eine Knotenreparatur vollständig von dem Prozessor realisiert werden, der Teil des Chipsatzes ist. In diesem Fall wird die Phase 3 nicht ausgeführt. Dementsprechend ist nach den Operationen aus Block 342 der Knoten repariert, wie in einem Block 344 gezeigt, und der Rest der SMM-Operationen wird wiederaufgenommen, um in einem Endblock 346 die Steuerung an das BS zurückzugeben. Wie vorstehend beschrieben, gibt der SMM eine Wiederaufnahmeanweisung aus, die den Prozessor veranlasst, seinen gespeicherten Zustand neu zu laden, auf den geschützten oder Real-Modus zurück umzuschalten und ein Ausführen der unterbrochenen Anwendungs- oder BS-Aufgaben wiederaufzunehmen.
  • Wie in dem Ablaufplanabschnitt 300c in 3c gezeigt, der der Phase 3 entspricht, beginnt der Prozessablauf in einem Startblock 348, der ein Einleiten eines Failover aus dem SMM zeigt. In einem Entscheidungsblock 350 wird eine Feststellung getroffen, ob es sich bei dem Ausfall um einen DMI- oder Knotenausfall handelt. Wenn die Antwort NEIN lautet, schreitet der Ablauf fort zu einem Block 352, in dem die ausfallende Komponente erkannt wird. In einem Entscheidungsblock 354 wird eine Feststellung getroffen, ob es sich bei dem Failover um einen Controller-Failover handelt. Wenn die Antwort JA lautet, schreitet der Ablauf fort zu einem Block 354, in dem der ausfallende Controller deaktiviert und der Failover-Controller (z. B. der Ersatz-Controller) aktiviert wird. Die Interconnect-Verbindungshierarchie wird dann in einem Block 356 neu konfiguriert, was zur Folge hat, dass der Chipsatz repariert wird, wie in einem Block 358 gezeigt. Wenn die Antwort auf Entscheidungsblock 354 NEIN lautet, entspricht der Failover einer ausfallenden Nicht-DMI-Link-Verbindung, die deaktiviert wird, und eine geeigneter Failover-Link-Verbindung (sowie eine zugehörige Link-Verbindungsschnittstelle) wird aktiviert, wie in einem Block 360 gezeigt.
  • Zurück zu Entscheidungsblock 350: Wenn die Antwort auf Entscheidungsblock 350 JA lautet, schreitet der Ablauf fort zu einem Block 362, in dem die DMI-Link-Verbindung in einen energiereduzierten Zustand, wie zum Beispiel bei einer Ausführungsform einen L2- oder L3-Zustand, versetzt wird. In einem Block 364 wird eine Feststellung getroffen, ob der Knoten oder ein Knoten-Controller im Begriff steht auszufallen oder ausgefallen ist. Wenn erkannt wird, dass der Knoten oder Controller im Begriff steht auszufallen/ausgefallen ist, lautet die Antwort auf Entscheidungsblock 364 JA, und der Ablauf schreitet fort zu einem Block 366, in dem der ausfallende/ausgefallene Controller deaktiviert und der Failover-Controller aktiviert wird. Wenn die Antwort auf Entscheidungsblock 364 NEIN lautet, handelt es sich bei dem Ausfall um einen DMI-Link-Verbindungs-Ausfall, und der Ablauf schreitet fort zu einem Block 368, in dem die ausfallende DMI-Link-Verbindung deaktiviert und eine entsprechende Ersatz-Failover-DMI-Link-Verbindung aktiviert wird.
  • Der Ablauf schreitet als Nächstes entweder von Block 366 oder 368 zu einem Block 370 fort, in dem der interne Decodierpfad neu konfiguriert wird. Im Anschluss daran wird die DMI-Link-Verbindung in einen normalen Energie- und Betriebszustand versetzt, was (unter anderem) eine Nachtrainier-Operation für die DMI-Link-Verbindung mit sich bringt, wie in einem Block 372 gezeigt. Das hat zur Folge, dass der Chipsatz repariert wird, wie in Block 358 gezeigt. Wie zuvor gibt in einem Endblock 374 der SMM eine Wiederaufnahme aus, und der Prozessorbetrieb wird an das BS zurückgegeben.
  • 4a zeigt eine Systemarchitektur 400 einer Mehrfachknoten-Datenverarbeitungsplattform, bei der ein MN-PCH 102a verwendet wird. Zu dem System zählen eine Hauptplatine 402, auf der verschiedene Komponenten angebracht sind, entweder direkt (z. B. mithilfe von Aufschmelzlöten oder dergleichen) oder in einem Sockel, Verbinder oder einer ähnlichen Art auf der Hauptplatine 402 angebrachter mechanischer Schnittstelle installiert. Die Hauptplatine 402 weist auch eine Verdrahtung auf, die durch Leiterbahnen auf den Platinenlagen und durch Vias realisiert wird, die so konfiguriert sind, dass sie die verschiedenen Komponenten untereinander verbinden, um zu ermöglichen, dass durch elektrische Signale Daten weitergeleitet werden, die zwischen den Komponenten übertragen werden sollen. Der Klarheit halber wird keine derartige Verdrahtung in 4a gezeigt, aber Fachleute werden verstehen, dass diese ein inhärentes Merkmal einer Mehrfachknoten-Datenverarbeitungsplattform ist.
  • In der veranschaulichten Ausführungsform aus 4a zählt zu der Systemarchitektur 400 wie zuvor ein Paar als Knoten1 und Knoten2 beschriftete Knoten. Zu Veranschaulichungszwecken wird der Knoten2 als ein einfacher Block dargestellt, während der Knoten1 detaillierter gezeigt wird; es versteht sich, dass der Knoten1 und der Knoten2 ähnliche Konfigurationen wie die für den Knoten1 gezeigten aufweisen.
  • Der Knoten1 und der Knoten2 weisen jeweils einen Prozessor 404 und lokalen Systemspeicher 406 auf. Bei der veranschaulichten Ausführungsform wird der Prozessor 404 als ein SoC, einschließlich einer CPU 408 mit mehreren Kernen realisiert, denen jeweils ein L1- und L2-Cachespeicher zugeordnet ist. Die Kerne und die L1/L2-Cachespeicher sind mit einer kohärenten Interconnect-Verbindung 410 mit hoher Bandbreite gekoppelt, mit der eine Speicherschnittstelle 412 und ein IIO-Block 413 gekoppelt sind. Bei einigen SoC-Architekturen kann die IIO mit einer separaten Interconnect-Verbindung verbunden sein, die mit der Interconnect-Verbindung 410 über eine Bridge oder dergleichen gekoppelt ist. Ein Last-Layer-Cachespeicher (LLC) 414 wird ebenfalls mit der Interconnect-Verbindung 410 gekoppelt gezeigt. Die Kombination aus dem Speicher 406, der kohärenten Interconnect-Verbindung 410 und den L1/L2-Cachespeichern sowie dem LLC 414 bildet einen kohärenten Speicherbereich.
  • Durch den IIO Block 413 wird eine Schnittstelle zwischen der CPU 408 und verschiedenen IO-Blöcken und -Komponenten des SoC bereitgestellt, zu denen ein PCIe-Root-Complex 416, mit dem ein Paar PCIe-Schnittstellen 418 und 420 gekoppelt ist, und eine DMI-Schnittstelle 422 zählen. Die DMI-Schnittstelle 422 ist mit der primären DMI-Schnittstelle 104ip und der Ersatz-DMI-Schnittstelle 104is über eine Verdrahtung auf der Hauptplatine 402 verbunden, durch die geeignete Pins des Prozessors 404 und des MN-PCH 102a gekoppelt werden. Bei der veranschaulichten Ausführungsform ist die Verdrahtung so konfiguriert, dass ein einziger Satz von der DMI-Schnittstelle 422 verwendeter Pins mit entsprechenden Sätzen Pins gekoppelt ist, die bei der primären DMI-Schnittstelle 104ip und der Ersatz-DMI-Schnittstelle 104is verwendet werden. Bei einer Ausführungsform wird eine DMI-2.0-Link-Verbindung unter Verwendung einer Multi-Lane-Link-Verbindung mit bis zu 4 bidirektionalen Lanes realisiert. Bei einer alternativen Konfiguration wird ein einziger Satz Drähte für eine DMI-Link-Verbindung zwischen dem Prozessor 404 und dem MN-PCH 102 verwendet, und die Drähte werden intern gemultiplext und selektiv mit der primären DMI-Schnittstelle 104ip und der Ersatz-DMI-Schnittstelle 104is gekoppelt.
  • Im Allgemeinen kann auf Software, wozu ein Betriebssystem und Softwareanwendungen zählen, über eine oder mehrere Speichervorrichtungen zugegriffen werden, die in die Mehrfachknoten-Datenverarbeitungsplattform integriert sind, und/oder sie kann über ein Netzwerk heruntergeladen werden. Bei der veranschaulichten Ausführungsform weist die Mehrfachknoten-Datenverarbeitungsplattform ein Paar Solid-State-Laufwerke (solid state drives, SSDs) 424 und 426 auf, auf denen jeweils Sätze Softwarekomponenten 428 und 430 gespeichert sind. Wie gezeigt, ist das SSD 424 mit dem primären SATA-Controller von dem Knoten1 gekoppelt, während das SSD 426 mit dem primären SATA-Controller von dem Knoten2 gekoppelt ist. Bei einer anderen Konfiguration kann die von mehreren Knoten verwendete Software auf einer einzigen Speichervorrichtung (wie zum Beispiel einem SSD) gespeichert und es kann über eine gemeinsam genutzte SATA-Schnittstelle auf sie zugegriffen werden. Als eine andere Option können Softwarekomponenten über ein Netzwerk heruntergeladen werden, auf das über Netzwerkschnittstellencontroller (network interface controllers, NICs) 432 und 434 zugegriffen wird, die mit primären PCIe-Schnittstellen 436 und 438 auf dem MN-PCH 102a gekoppelt sind.
  • Während einer Plattforminitialisierung (oder alternativ einer Initialisierung eines Knotens) wird Firmware für jeden von Knoten1, Knoten2 und dem MN-PCH 102a aus einer Flashspeichervorrichtung 118 und in einen geeigneten Speicheradressraum geladen. Zum Beispiel kann für den Knoten1 die gesamte oder ein Teil der Knoten1-Firmware 128 in einen geschützten Bereich des Speichers 406 geladen werden, während die gesamte oder ein Teil der MCU-Firmware 124 in einen Speicher geladen wird, auf den der Mikrocontroller (nicht gezeigt) der ME 114 zugreifen kann. Optional kann einige Firmware in in den Prozessor 404 (nicht gezeigt) eingebetteten Speicher geladen werden. Die zum Starten eines Plattformknotens verwendete Firmware wird typischerweise als Start-Firmware und/oder als BIOS bezeichnet, das zum Initialisieren verschiedener Systemkomponenten als Vorbereitung auf ein Laden der von dem Knoten verwendeten Systeminstanz verwendet wird. Zusätzlich zu dieser Software kann für den SMM verwendete Firmware in einen geschützten Bereich des Speichers 406, als „SMRAM” gezeigt, geladen werden oder kann in in den Prozessor 404 eingebetteten Speicher geladen werden. Dieser Abschnitt des Startprozesses beinhaltet ein Konfigurieren verschiedener Controller und Schnittstellen wie beispielsweise SATA-Controller und NIC 432 (wenn das BS über ein Netzwerk gestartet werden soll). Anschließend werden Softwarekomponenten, wozu die Betriebssysteminstanz zählt, in einen geschützten Bereich des Speichers 404 geladen. Nach dem Start des BS können für Softwareanwendungen verwendete Softwarekomponenten in einen Benutzerbereich des Speichers 406 geladen werden, der von dem BS für Anwendungen zugewiesen wurde.
  • 4a zeigt eine alternative Konfiguration, bei der ein Prozessor 404a sowohl eine primäre DMI-Schnittstelle 422p als auch eine Ersatz-DMI-Schnittstelle 422s aufweist, die über separate Sätze Drähte mit einer primären DMI-Schnittstelle 104ip und entsprechend einer Ersatz-DMI-Schnittstelle 104is gekoppelt sind. Bei dieser Konfiguration können die DMI-Schnittstellen-Einrichtungen des Prozessors 404a als Reaktion auf einen Ausfall oder ein erkanntes Ausfallen der primären DMI-Schnittstelle 422p durch einen Failover zu der Ersatz-DMI-Schnittstelle 422s repariert werden.
  • In Allgemeinen können die Knoten in Ausführungsformen von Mehrfachknoten-Plattformarchitekturen, bei denen eine dynamische Knotenreparatur realisiert wird, als diskrete Knoten mit separaten Sätzen Ressourcen (z. B. Speicher) konfiguriert werden, auf die nur ein gegebener Knoten zugreifen kann, oder es können NUMA-Architekturen (non-uniform memory access architectures) realisiert werden, bei denen ein einem gegebenen Knoten zugehöriger Prozessor in der Lage sein kann, auf Speicher zuzugreifen, der in Bezug auf einen anderen Knoten lokal angeordnet ist. Zum Beispiel kann dies bei Mehrfachsockel-Plattformen durch Sockel-zu-Sockel-Interconnect-Verbindungen wie beispielsweise Quickpath InterconnectTM (QPI) Sockel-zu-Sockel-Interconnect-Verbindungen zwischen Sockeln ermöglicht werden.
  • Die durch die Ausführungsformen dieser Erfindung bereitgestellten Fähigkeiten zu einer dynamischen Knotenreparatur stellen eine weitere Verbesserung inhärenter Vorteile von Mehrfachknoten-PCHs dar. Durch Bereitstellen von Redundanzen für ausgewählte Schnittstellen und Komponenten in Verbindung mit einer automatisierten Ausfallerkennung und einem automatisierten Failover werden die Zuverlässigkeit und Resilienz der Plattform beträchtlich verbessert. Da darüber hinaus Failover auf eine Weise ausgeführt werden, die für die von den Prozessoren der Mehrfachnoten-Plattform gehosteten Betriebssysteme transparent ist, können MN-PCH-Ausfälle gehandhabt werden, ohne dass der betroffene Knoten oder die gesamte Plattform offline geschaltet werden müssen.
  • Weitere Aspekte des hier beschriebenen Gegenstands werden in den folgenden nummerierten Klauseln dargelegt:
    • 1. Mehrfachknoten-Plattform-Controller-Hub (MN-PCH), der umfasst: eine Mehrzahl von Knotenschnittstellen, die so konfiguriert sind, dass sie einen Datenaustausch mit einer Mehrzahl von Knoten auf einer Datenverarbeitungsplattform erleichtern; eine interne Interconnect-Verbindung; eine Schnittstelle, die mit der internen Interconnect-Verbindung gekoppelt und dafür konfiguriert ist, mit einer Speichervorrichtung auf der Datenverarbeitungsplattform gekoppelt zu werden, die Firmware für jeden aus der Mehrzahl von Knoten sowie Firmware enthält, die von eingebetteten Komponenten in dem MN-PCH verwendet wird; eine Mehrzahl von Sätzen mit der internen Interconnect-Verbindung gekoppelter Hochgeschwindigkeits-Eingabe-Ausgabe-Controller (HSIO-Controller), die jeweils dafür konfigurierbar sind, zur Verwendung durch einen entsprechenden Knoten dediziert zu werden; eine Mehrzahl von Sätzen mit der internen Interconnect-Verbindung gekoppelter Legacy-IO-Einrichtungen, wobei jeder der Sätze Legacy-IO-Einrichtungen dafür konfigurierbar ist, zur Verwendung durch einen entsprechenden Knoten dediziert zu werden, und eine Manageability-Engine, die von der Mehrzahl von Knoten gemeinsam genutzt wird.
    • 2. MN-PCH nach Klausel 1, wobei die Mehrzahl von Knotenschnittstellen und die Mehrzahl von Sätzen Hochgeschwindigkeits-IO-Controller neu konfigurierbar sind, sodass sie als eine primäre Schnittstelle oder ein primärer Controller und eine Ersatzschnittstelle oder ein Ersatzcontroller für einen Knoten konfigurierbar sind, und wobei die Mehrzahl von Sätzen traditionelle IO-Einrichtungen neu konfigurierbar ist, sodass sie als ein primärer Satz Legacy-IO-Einrichtungen und ein Ersatzsatz Legacy-IO-Einrichtungen für einen Knoten konfigurierbar ist.
    • 3. MN-PCH nach Klausel 2, wobei der MN-PCH fähig ist, eine dynamische Knotenreparatur mithilfe von Schaltungen und Logik auszuführen, die konfiguriert sind zum: Erkennen, dass eine primäre Schnittstelle oder Komponente im Begriff steht auszufallen oder ausgefallen ist; automatischen Ausführen eines Failover, bei dem die primäre Schnittstelle oder Komponente durch eine entsprechende Ersatzschnittstelle oder -komponente ersetzt wird, und Wiederaufnehmen eines Betriebs des MN-PCH unter Verwendung der Ersatzschnittstelle oder -komponente.
    • 4. MN-PCH nach Klausel 3, wobei die dynamische Knotenreparatur auf eine Weise ausgeführt wird, die für Betriebssysteme transparent ist, die auf jedem aus der Mehrzahl von Knoten ausgeführt werden.
    • 5. MN-PCH nach Klausel 3 oder 4, wobei bei der dynamischen Knotenreparatur ein Prozessor-Systemmanagementmodus (SMM) verwendet wird, bei dem ein Systemmanagement-Interrupt (SMI) als Reaktion auf ein Erkennen einer Schnittstelle oder Komponente, die im Begriff steht auszufallen oder ausgefallen ist, einen Prozessor, der die ausfallende oder ausgefallene Schnittstelle oder Komponente verwendet, zum Eintreten in den SMM veranlasst, wobei Failover-Operationen für die ausfallende oder ausgefallene Schnittstelle oder Komponente ausgeführt werden, während sich der Prozessor im SMM befindet, und nachdem die Failover-Operationen beendet wurden, wird der Prozessor aus dem SMM in einen normalen Betriebsmodus zurückversetzt.
    • 6. MN-PCH nach einer der Klauseln 3 bis 5, wobei die Mehrzahl von Knotenschnittstellen Direct-Media-Interface-Schnittstellen (DMI-Schnittstellen) umfasst und der MN-PCH so konfiguriert ist, dass er eine dynamische Knotenreparatur einer DMI-Schnittstelle ausführt, hinsichtlich derer erkannt wird, dass sie im Begriff steht auszufallen oder ausgefallen ist.
    • 7. MN-PCH nach einer der Klauseln 3 bis 6, wobei der MN-PCH konfiguriert ist zum: Erkennen eines Fehlers einer Komponente; Ermitteln, ob der Fehler fatal oder unkorrigierbar ist; wenn festgestellt wird, dass der Fehler nicht fatal oder unkorrigierbar ist, Inkrementieren eines Komponentenausfallzählers für die Komponente; Ermitteln, ob ein Ausfallzählwert für die Komponente einen Schwellenwert überschritten hat, und als Reaktion auf eine Feststellung, dass der Ausfallzählwert für die Komponente den Schwellenwert überschritten hat, Einleiten eines Komponenten-Failover.
    • 8. MN-PCH nach einer der Klauseln 3 bis 7, wobei der MN-PCH konfiguriert ist zum: Erkennen eines Fehlers einer Komponente; Ermitteln, ob der Fehler fatal oder unkorrigierbar ist; wenn festgestellt wird, dass der Fehler fatal oder unkorrigierbar ist, Ermitteln, ob der Knoten, der die Komponente mit dem Fehler verwendet, reparierbar ist, und wenn der Knoten reparierbar ist, Einleiten eines Komponenten-Failover.
    • 9. MN-PCH nach einer der Klauseln 2 bis 8, wobei der MN-PCH möglicherweise selektiv so konfiguriert ist, dass er PCH-Einrichtungen realisiert für: N Knoten, wobei jeder Knoten mindestens eine Zentraleinheit (CPU) oder einen CPU-Komplex aufweist, und N/2 Knoten mit Redundanz, wobei PCH-Einrichtungen für die N/2 Knoten, die nicht verwendet werden, als Ersatz-PCH-Einrichtungen für die mit dem MN-PCH gekoppelten N/2 Knoten neu konfiguriert werden.
    • 10. MN-PCH nach Klausel 9, wobei der MN-PCH außerdem möglicherweise selektiv so konfiguriert ist, dass er PCH-Einrichtungen für 2N Knoten realisiert.
    • 11. MN-PCH nach einer der vorangehenden Klauseln, wobei jeder Satz Hochgeschwindigkeits-IO-Controller mindestens einen Peripheral-Component-Interconnect-Express-Controller (PCIe-Controller), mindestens einen Universal-Serial-Bus-Controller (USB-Controller) und mindestens einen Serial-Advanced-Technology-Attachment-Controller (SATA-Controller) aufweist.
    • 12. MN-PCH nach einer der vorangehenden Klauseln, wobei die interne Interconnect-Verbindung ein Root-Fabric mit einer hohen Bandbreite und ein Sub-Fabric mit einer niedrigen Bandbreite aufweist, wobei die Hochgeschwindigkeits-IO-Controller mit dem Root-Fabric mit der hohen Bandbreite und die Sätze Legacy-IO-Einrichtungen mit dem Sub-Fabric mit niedriger Bandbreite verbunden sind.
    • 13. MN-PCH nach einer der vorangehenden Klauseln, der außerdem eine Innovation-Engine umfasst, die mit der internen Interconnect-Verbindung gekoppelt ist und von den Knoten gemeinsam genutzt wird, wobei die Innovation-Engine so konfiguriert ist, dass sie Originalgerätehersteller (OEMs) in die Lage versetzt, Manageability-Einrichtungen anzupassen.
    • 14. Verfahren, das auf einer Mehrfachknoten-Datenverarbeitungsplattform mit einer Mehrzahl von Knoten realisiert wird, die mit einem Mehrfachknoten-Plattform-Controller-Hub (MN-PCH) gekoppelt sind, wobei das Verfahren umfasst: Konfigurieren einer ersten Mehrzahl von Komponenten und Schnittstellen auf dem MN-PCH für jeden aus der Mehrzahl von Knoten, damit sie als primäre Komponenten und Schnittstellen zur dedizierten Verwendung durch diesen Knoten realisiert werden; Konfigurieren einer zweiten Mehrzahl von Komponenten und Schnittstellen auf dem MN-PCH zur Verwendung als Ersatzkomponenten und -schnittstellen; Erkennen, dass eine primäre Komponente oder Schnittstelle im Begriff steht auszufallen oder ausgefallen ist, und automatisches Ausführen einer Failover-Operation zum Neukonfigurieren des MN-PCH, um die primäre Komponente oder Schnittstelle durch eine entsprechende Ersatzkomponente oder -schnittstelle zu ersetzen.
    • 15. Verfahren nach Klausel 14, wobei der MN-PCH eine Mehrzahl von DMI-Schnittstellen aufweist, wobei das Verfahren außerdem umfasst: Konfigurieren der Mehrzahl von DMI-Schnittstellen als primäre DMI-Schnittstellen und Ersatz-DMI-Schnittstellen; kommunikatives Koppeln von jedem aus der Mehrzahl von Knoten mit dem MN-PCH über eine primäre DMI-Link-Verbindung, die an einer entsprechenden primären DMI-Schnittstelle mit dem MN-PCH gekoppelt ist; Erkennen, dass eine primäre DMI-Schnittstelle im Begriff steht auszufallen oder ausgefallen ist, Versetzen der DMI-Link-Verbindung, die mit der DMI-Schnittstelle gekoppelt ist, hinsichtlich derer erkannt wird, dass sie im Begriff steht auszufallen oder ausgefallen ist, in einen energiereduzierten Zustand; Ausführen eines DMI-Link-Verbindungs-Failover, bei dem der MN-PCH so neu konfiguriert wird, dass er die DMI-Schnittstelle, die im Begriff steht auszufallen oder ausgefallen ist, durch eine Ersatz-DMI-Schnittstelle ersetzt, die als eine Failover-DMI-Link-Verbindung realisiert wird; Nachtrainieren (retraining) der Failover-DMI-Link-Verbindung und Wiederaufnehmen eines Datenaustausches zwischen dem Knoten und dem MN-PCH unter Verwendung der Failover-DMI-Link-Verbindung.
    • 16. Verfahren nach Klausel 14 oder 15, wobei die Failover-Operation auf eine Weise ausgeführt wird, die für Betriebssysteme transparent ist, die von der Mehrzahl von Knoten gehostet werden.
    • 17. Verfahren nach Klausel 16, das außerdem umfasst: Einleiten eines Komponenten-Failover für eine Komponente in dem MN-PCH, die dafür konfiguriert ist, von einem entsprechenden Knoten verwendet zu werden; Auslösen eines Systemmanagement-Interrupt (SMI), um einen Prozessor, der dem Knoten zugehörig ist und in einem normalen Betriebsmodus arbeitet, zu veranlassen, in einen Systemmanagementmodus (SMM) einzutreten; Ausführen von Komponenten-Failover-Operationen an dem MN-PCH, um eine ausfallende oder ausgefallene Komponente durch eine entsprechende Failover-Komponente zu ersetzen, und Ausgeben einer SMM-Wiederaufnahmeanweisung an den Prozessor, um den Prozessor zu veranlassen, den SMM zu beenden und in den normalen Betriebsmodus zurückzukehren.
    • 18. Verfahren nach Klausel 17, das außerdem umfasst, den Knoten zu veranlassen, vor einem Ausführen der Komponenten-Failover-Operationen in einen Quiesce-Zustand einzutreten.
    • 19. Verfahren nach einer der Klauseln 14 bis 18, das außerdem umfasst: Erkennen eines Fehlers einer Komponente; Ermitteln, ob der Fehler fatal oder unkorrigierbar ist; wenn festgestellt wird, dass der Fehler nicht fatal oder unkorrigierbar ist, Inkrementieren eines Komponentenausfallzählers für die Komponente; Ermitteln, ob ein Ausfallzählwert für die Komponente einen Schwellenwert überschritten hat, und als Reaktion auf eine Feststellung, dass der Ausfallzählwert für die Komponente den Schwellenwert überschritten hat, Einleiten eines Komponenten-Failover.
    • 20. Verfahren nach einer der Klauseln 14 bis 19, das außerdem umfasst: Erkennen eines Fehlers einer Komponente; Ermitteln, ob der Fehler fatal oder unkorrigierbar ist; wenn festgestellt wird, dass der Fehler fatal oder unkorrigierbar ist, Ermitteln, ob der Knoten, der die Komponente mit dem Fehler verwendet, reparierbar ist, und wenn der Knoten reparierbar ist, Einleiten eines Komponenten-Failover.
    • 21. Verfahren nach einer der Klauseln 14 bis 20, wobei die erste Mehrzahl von Komponenten und Schnittstellen einen Satz Hochgeschwindigkeits-Eingabe-Ausgabe-Schnittstellen und -Controller für jeden Knoten und einen Satz Legacy-IO-Einrichtungen für jeden Knoten aufweist.
    • 22. Verfahren nach einer der Klauseln 14 bis 21, das außerdem umfasst: Erkennen, für jede aus einem Teil der Schnittstellen auf dem MN-PCH, ob die Schnittstelle mit einem Knoten gekoppelt ist, und wenn die Schnittstelle mit einem Knoten gekoppelt ist, automatisches Konfigurieren der Schnittstelle als eine primäre Schnittstelle, andernfalls automatisches Konfigurieren der Schnittstelle als eine Ersatzschnittstelle.
    • 23. System, das umfasst: eine Hauptplatine mit einer Mehrzahl von auf dieser angebrachten Komponenten und mit einer Verdrahtung, durch die Signale der Mehrzahl von Komponenten verbunden werden; eine Mehrzahl von Prozessorknoten, von denen jeder einen Prozessor aufweist; Systemspeicher, einschließlich entsprechender Speicherabschnitte, die mit jedem Prozessorknoten gekoppelt sind; eine erste Speichervorrichtung; einen Mehrfachknoten-Plattform-Controller-Hub (MN-PCH), der aufweist: eine Mehrzahl von Knoten-Datenübertragungsschnittstellen, von denen jede dafür konfigurierbar ist, kommunikativ mit einem Prozessorknoten gekoppelt zu werden; eine interne Interconnect-Verbindung, einschließlich eines Root-Fabric mit hoher Bandbreite und eines Sub-Fabric mit niedriger Bandbreite; eine Schnittstelle, die mit der internen Interconnect-Verbindung gekoppelt und dafür konfiguriert ist, mithilfe einer Link-Verbindung mit einer Firmware-Speichervorrichtung auf einer Hauptplatine gekoppelt zu werden, die Firmware für jeden der Prozessorknoten sowie Firmware enthält, die von eingebetteten Komponenten in dem MN-PCH verwendet wird; eine Mehrzahl von Sätzen Hochgeschwindigkeits-Eingabe-Ausgabe-Controller (HSIO-Controller), die mit dem Hochgeschwindigkeits-Root-Fabric mit gekoppelt sind, von denen jeder dafür konfigurierbar ist, zur Verwendung durch einen entsprechenden Knoten dediziert zu werden, wobei jeder Satz von Hochgeschwindigkeits-Controllern mindestens einen Peripheral-Component-Interconnect-Express-Controller (PCIe-Controller), mindestens einen Universal-Serial-Bus-Controller (USB-Controller) und mindestens einen Serial-Advanced-Technology-Attachment-Controller (SATA-Controller) aufweist, einschließlich eines mit der ersten Speichervorrichtung gekoppelten SATA-Controllers, und eine Mehrzahl von Sätzen Legacy-IO-Einrichtungen, die mit dem Sub-Fabric mit niedriger Bandbreite gekoppelt sind, wobei jeder der Sätze Legacy-IO-Einrichtungen dafür konfigurierbar ist, zur Verwendung durch einen entsprechenden Prozessorknoten dediziert zu werden.
    • 24. System nach Klausel 23, wobei die Mehrzahl von Knoten-Datenübertragungsschnittstellen und die Mehrzahl von Sätzen Hochgeschwindigkeits-IO-Controller neu konfigurierbar sind, sodass sie als eine primäre Schnittstelle oder ein primärer Controller und eine Ersatzschnittstelle oder ein Ersatzcontroller für einen Prozessorknoten konfigurierbar sind, und wobei die Mehrzahl von Sätzen Legacy-IO-Einrichtungen neu konfigurierbar ist, sodass sie als ein primärer Satz Legacy-IO-Einrichtungen und ein Ersatzsatz von Legacy-IO-Einrichtungen für einen Prozessorknoten konfigurierbar ist.
    • 25. System nach Klausel 24, wobei der MN-PCH fähig ist, eine dynamische Knotenreparatur mithilfe von Schaltungen und Logik auszuführen, die konfiguriert sind zum: Erkennen, dass eine primäre Schnittstelle oder Komponente im Begriff steht auszufallen oder ausgefallen ist; automatischen Ausführen eines Failover, bei dem die primäre Schnittstelle oder Komponente durch eine entsprechende Ersatzschnittstelle oder -komponente ersetzt wird, und Wiederaufnehmen eines Betriebs des MN-PCH unter Verwendung der Ersatzschnittstelle oder -komponente.
    • 26. System nach Klausel 25, wobei die erste Speichervorrichtung ein Betriebssystem aufweist oder das System so konfiguriert ist, dass es ein Betriebssystem über ein Netzwerk lädt, und wobei der MN-PCH so konfiguriert ist, dass er eine dynamische Knotenreparatur auf eine Weise ausführt, die transparent für Betriebssysteme ist, die auf jedem der Prozessorknoten ausgeführt werden, wenn das System in Betrieb ist.
    • 27. System nach Klausel 25 oder 26, wobei bei der dynamischen Knotenreparatur ein Prozessor-Systemmanagementmodus (SMM) genutzt wird, bei dem ein Systemmanagement-Interrupt (SMI) als Reaktion auf ein Erkennen einer Schnittstelle oder Komponente, die im Begriff steht auszufallen oder ausgefallen ist, ausgelöst wird, was einen Prozessor eines Prozessorknotens, der die ausfallende oder ausgefallene Schnittstelle oder Komponente verwendet, veranlasst, in den SMM einzutreten, wobei Failover-Operationen für die ausfallende oder ausgefallene Schnittstelle oder Komponente ausgeführt werden, während sich der Prozessor im SMM befindet, und nachdem die Failover-Operationen beendet wurden, wird der Prozessor aus dem SMM in einen normalen Betriebsmodus zurückversetzt.
    • 28. System nach einer der Klauseln 25 bis 27, wobei die Mehrzahl von Knoten-Datenübertragungsschnittstellen Direct-Media-Interface-Schnittstellen (DMI-Schnittstellen) umfasst und der MN-PCH so konfiguriert ist, dass er eine dynamische Knotenreparatur einer DMI-Schnittstelle ausführt, hinsichtlich derer erkannt wird, dass sie im Begriff steht auszufallen oder ausgefallen ist.
    • 29. System nach einer der Klauseln 23 bis 28, wobei die Mehrzahl von Knoten-Datenübertragungsschnittstellen Direct-Media-Interface-Schnittstellen (DMI-Schnittstellen) umfasst und mindestens ein Prozessor eine primäre DMI-Schnittstelle und eine Ersatz-DMI-Schnittstelle aufweist und konfiguriert ist zum: Erkennen eines Ausfalls der primären DMI-Schnittstelle und Ausführen eines automatischen Failover zu der Ersatz-DMI-Schnittstelle.
    • 30. Mehrfachknoten-Plattform-Controller-Hub (MN-PCH), der dafür konfiguriert ist, auf einer Mehrfachknoten-Datenverarbeitungsplattform mit einer Mehrzahl von Knoten ausgeführt zu werden, der umfasst: eine Mehrzahl von Knotenschnittstellen, die jeweils so konfiguriert sind, dass sie einen Datenaustausch mit einem entsprechenden Knoten erleichtern; eine interne Interconnect-Verbindung; eine Mehrzahl von Sätzen Hochgeschwindigkeits-Eingabe-Ausgabe-Controller (HSIO-Controller), die mit der internen Interconnect-Verbindung gekoppelt sind, wobei ein erster Teil der Hochgeschwindigkeitscontroller dafür konfiguriert ist, als primäre Hochgeschwindigkeitscontroller für entsprechende Knoten realisiert zu werden, und ein zweiter Teil der Hochgeschwindigkeitscontroller dafür konfiguriert ist, als Ersatz-Hochgeschwindigkeitscontroller durch die entsprechenden Knoten verwendet zu werden; eine Mehrzahl von Sätzen mit der internen Interconnect-Verbindung gekoppelte Legacy-IO-Einrichtungen, wobei jeder Satz Legacy-IO-Einrichtungen primäre Legacy-IO-Einrichtungen und Ersatz-Legacy-IO-Einrichtungen aufweist, die zur Verwendung durch einen entsprechenden Knoten konfiguriert sind; eine Manageability Engine, die von der Mehrzahl von Knoten gemeinsam genutzt wird, und eine Schnittstelle, die mit der internen Interconnect-Verbindung gekoppelt und dafür konfiguriert ist, mit einer Speichervorrichtung auf der Datenverarbeitungsplattform gekoppelt zu werden, die Firmware enthält, die für eine Verwendung durch die Mehrzahl von Knoten konfiguriert ist, sowie Firmware, die für die Verwendung durch eingebettete Komponenten in dem MN-PCH, darunter die Manageability-Engine, konfiguriert ist.
    • 31. MN-PCH nach Klausel 30, wobei der MN-PCH fähig ist, eine dynamische Knotenreparatur mithilfe von Schaltungen und Logik auszuführen, die konfiguriert sind zum: Erkennen, dass eine primäre Schnittstelle oder Komponente im Begriff steht auszufallen oder ausgefallen ist; automatischen Ausführen eines Failover, bei dem die primäre Schnittstelle oder Komponente durch eine entsprechende Ersatzschnittstelle oder -komponente ersetzt wird, und Wiederaufnehmen eines Betriebs des MN-PCH unter Verwendung der Ersatzschnittstelle oder -komponente.
    • 32. MN-PCH nach Klausel 32, wobei die dynamische Knotenreparatur auf eine Weise ausgeführt wird, die für Betriebssysteme transparent ist, die auf jedem aus der Mehrzahl von Knoten ausgeführt werden.
    • 33. MN-PCH nach Klausel 31 oder 32, wobei bei der dynamischen Knotenreparatur ein Prozessor-Systemmanagementmodus (Prozessor-SMM) verwendet wird, bei dem ein Systemmanagement-Interupt (SMI) als Reaktion auf ein Erkennen einer Schnittstelle oder Komponente, die im Begriff steht auszufallen oder ausgefallen ist, einen Prozessor, der die ausfallende oder ausgefallene Schnittstelle oder Komponente verwendet, zum Eintreten in den SMM veranlasst, wobei Failover-Operationen für die ausfallende oder ausgefallene Schnittstelle oder Komponente ausgeführt werden, während sich der Prozessor im SMM befindet, und nachdem die Failover-Operationen beendet wurden, wird der Prozessor aus dem SMM in einen normalen Betriebsmodus zurückversetzt.
    • 34. MN-PCH nach einer der Klauseln 31 bis 33, wobei die Mehrzahl von Knotenschnittstellen Direct-Media-Interface-Schnittstellen (DMI-Schnittstellen) umfasst und der MN-PCH so konfiguriert ist, dass er eine dynamische Knotenreparatur einer DMI-Schnittstelle ausführt, hinsichtlich derer erkannt wird, dass sie im Begriff steht auszufallen oder ausgefallen ist.
    • 35. MN-PCH nach einer der Klauseln 31 bis 34, wobei der MN-PCH konfiguriert ist zum: Erkennen eines Fehlers einer Komponente; Ermitteln, ob der Fehler fatal oder unkorrigierbar ist; wenn festgestellt wird, dass der Fehler nicht fatal oder unkorrigierbar ist, Inkrementieren eines Komponentenausfallzählers für die Komponente; Ermitteln, ob ein Ausfallzählwert für die Komponente einen Schwellenwert überschritten hat, und als Reaktion auf eine Feststellung, dass der Ausfallzählwert für die Komponente den Schwellenwert überschritten hat, Einleiten eines Komponenten-Failover.
    • 36. MN-PCH nach einer der Klauseln 31 bis 35, wobei der MN-PCH konfiguriert ist zum: Erkennen eines Fehlers einer Komponente; Ermitteln, ob der Fehler fatal oder unkorrigierbar ist; wenn festgestellt wird, dass der Fehler fatal oder unkorrigierbar ist, Ermitteln, ob der Knoten, der die Komponente mit dem Fehler verwendet, reparierbar ist, und wenn der Knoten reparierbar ist, Einleiten eines Komponenten-Failover.
    • 37. MN-PCH nach einer der Klauseln 30 bis 36, wobei jeder Satz von Hochgeschwindigkeits-IO-Controllern mindestens einen Peripheral-Component-Interconnect-Express-Controller (PCIe-Controller), mindestens einen Universal-Serial-Bus-Controller (USB-Controller) und mindestens einen Serial-Advanced-Technology-Attachment-Controller (SATA-Controller) aufweist.
    • 38. MN-PCH nach einer der Klauseln 30 bis 37, wobei die interne Interconnect-Verbindung ein Root-Fabric mit einer hohen Bandbreite und ein Sub-Fabric mit einer niedrigen Bandbreite aufweist, wobei die Hochgeschwindigkeits-IO-Controller mit dem Root-Fabric mit der hohen Bandbreite und die Sätze Legacy-IO-Einrichtungen mit dem Sub-Fabric mit niedriger Bandbreite gekoppelt sind.
  • Obwohl einige Ausführungsformen mit Bezug auf bestimmte Realisierungen beschrieben wurden, sind andere Realisierungen gemäß einigen Ausführungsformen möglich. Des Weiteren müssen die Anordnung und/oder Reihenfolge von Elementen oder anderen Merkmalen, die in den Zeichnungen veranschaulicht und/oder hier beschrieben werden, nicht auf die bestimmte veranschaulichte und beschriebene Weise angeordnet sein. Zahlreiche andere Anordnungen sind gemäß einigen Ausführungsformen möglich.
  • Bei jedem in einer Figur gezeigten System können die Elemente in einigen Fällen ein gleiches Bezugszeichen oder ein unterschiedliches Bezugszeichen aufweisen, um darauf hinzuweisen, dass die dargestellten Elemente unterschiedlich und/oder ähnlich sein können. Allerdings kann ein Element so flexibel sein, dass es unterschiedliche Realisierungen aufweist und mit einigen oder allen der hier gezeigten oder beschriebenen Systeme zusammenwirkt. Die verschiedenen in den Figuren gezeigten Elemente können gleich oder unterschiedlich sein. Welches als ein erstes Element bezeichnet wird und welches ein zweites Element genannt wird, ist beliebig.
  • In der Beschreibung und den Ansprüchen werden möglicherweise die Begriffe „gekoppelt” und „verbunden” sowie deren Ableitungen verwendet. Es sollte beachtet werden, dass diese Begriffe nicht als Synonyme füreinander gedacht sind. Vielmehr kann bei bestimmten Ausführungsformen „verbunden” verwendet werden, um darauf hinzuweisen, dass zwei oder mehr Element in direktem physischen oder elektrischen Kontakt miteinander stehen. „Gekoppelt” kann bedeuten, dass zwei oder mehr Elemente in direktem physischen oder elektrischen Kontakt stehen. „Gekoppelt” kann allerdings auch bedeuten, dass zwei oder mehr Elemente nicht in direktem Kontakt miteinander stehen, aber dennoch zusammenwirken oder miteinander interagieren.
  • Ein Algorithmus wird hier und im Allgemeinen als eine selbstkonsistente Sequenz von Handlungen oder Operationen angesehen, die zu einem gewünschten Ergebnis führen. Diese beinhalten physische Manipulationen physischer Mengen. Üblicherweise, obwohl nicht notwendigerweise, nehmen diese Mengen die Form elektrischer oder magnetischer Signale an, die gespeichert, übertragen, kombiniert, verglichen und auf andere Weise gehandhabt werden können. Es hat sich manchmal als praktisch erwiesen, hauptsächlich aus Gründen des allgemeinen Sprachgebrauchs, diese Signale als Bits, Werte, Elemente, Symbole, Zeichen, Terme, Zahlen oder dergleichen zu bezeichnen. Es sollte jedoch beachtet werden, dass alle diese sowie ähnliche Begriffe den geeigneten physischen Mengen zuzuordnen sind und lediglich praktische Bezeichnungen sind, die auf diese Mengen angewendet werden.
  • Eine Ausführungsform ist eine Realisierung oder ein Beispiel der Erfindungen. Wird in der Beschreibung auf „eine Ausführungsform”, „eine einzige Ausführungsform”, „einige Ausführungsformen” oder „andere Ausführungsformen” Bezug genommen, so heißt das, dass ein bestimmtes in Verbindung mit den Ausführungsformen beschriebenes Merkmal, eine bestimmte derartige Struktur oder eine bestimmte derartige Eigenschaft in mindestens einigen Ausführungsformen, aber nicht notwendigerweise allen Ausführungsformen der Erfindungen vorkommt. Daher beziehen sich die verschiedenen vorkommenden Formulierungen wie „eine Ausführungsform”, „eine einzige Ausführungsform” oder „einige Ausführungsformen” nicht notwendigerweise alle auf dieselben Ausführungsformen.
  • Nicht alle Komponenten, Merkmale, Strukturen, Eigenschaften usw., die hier beschrieben und veranschaulicht werden, müssen in einer bestimmten Ausführungsform oder in bestimmten Ausführungsformen enthalten sein. Wenn zum Beispiel in der Beschreibung angegeben ist, dass eine Komponente, ein Merkmal, eine Struktur oder eine Eigenschaft vorkommen „kann”, „könnte” oder „möglicherweise” vorkommt, ist es nicht erforderlich, dass die bestimmte Komponente, das bestimmte Merkmal, die bestimmte Struktur oder Eigenschaft vorkommt. Wenn in der Beschreibung oder den Ansprüchen auf „ein” Element Bezug genommen wird, heißt dies nicht, dass nur ein solches Element vorhanden ist. Wenn in der Beschreibung oder den Ansprüchen auf „ein zusätzliches” Element Bezug genommen wird, schließt dies nicht aus, dass mehr als ein zusätzliches Element vorhanden ist.
  • Wie vorstehend erörtert, können verschiedene Aspekte der Ausführungsformen durch entsprechende Software- und/oder Firmwarekomponenten und -anwendungen, wie beispielsweise auf einem Knotenprozessor ausgeführte Software oder von einem eingebetteten Prozessor ausgeführte Software und/oder Firmware oder dergleichen erleichtert werden. Daher können Ausführungsformen dieser Erfindung als ein Softwareprogramm, Softwaremodule, Firmware und/oder verteilte Software, die auf einer Form von Verarbeitungskern (wie zum Beispiel der CPU eines Computers, einem oder mehreren Kernen eines Mehrkernprozessors) ausgeführt wird, eine virtuelle Maschine, die auf einem Prozessor oder Kern ausgeführt wird, oder die auf andere Weise auf oder in einem computerlesbaren oder maschinenlesbaren nichtflüchtigen Speichermedium umgesetzt oder realisiert wird, verwendet werden oder zu deren Unterstützung dienen. Zu einem computerlesbaren oder maschinenlesbaren nichtflüchtigen Speichermedium zählt jeder Mechanismus zum Speichern oder Übertragen von Informationen in einer durch eine Maschine (z. B. einen Computer) lesbaren Form. Zum Beispiel zählt zu einem computerlesbaren oder maschinenlesbaren nichtflüchtigen Speichermedium jeder Mechanismus, der Informationen in einer Form bereitstellt (d. h. speichert und/oder überträgt), auf die ein Computer oder eine Datenverarbeitungsmaschine (z. B. Datenverarbeitungsvorrichtung, elektronisches System usw.) zugreifen kann, wie beispielsweise beschreibbare/nichtbeschreibbare Medien (z. B. Nur-Lese-Speicher (read only memory, ROM), Direktzugriffsspeicher (random access memory, RAM), magnetische Plattenspeichermedien, optische Speichermedien, Flashspeichervorrichtungen, usw.). Der Inhalt kann direkt ausführbar sein („Objekt” oder „ausführbare” Form), Quellcode oder Differenzcode („Deltacode” oder „Patch-”Code). Bei einem computerlesbaren oder maschinenlesbaren nichtflüchtigen Speichermedium kann es sich auch um einen Speicher oder eine Datenbank handeln, aus dem/der Inhalte heruntergeladen werden können. Bei dem computerlesbaren oder maschinenlesbaren nichtflüchtigen Speichermedium kann es sich außerdem um eine Vorrichtung oder ein Produkt handeln, auf der/dem zur Zeit des Verkaufs oder der Lieferung Inhalte gespeichert sind. Daher kann ein Liefern einer Vorrichtung mit gespeicherten Inhalten oder ein Anbieten von Inhalten zum Herunterladen über ein Datenübertragungsmedium so aufgefasst werden, dass ein Erzeugnis bereitgestellt wird, das ein computerlesbares oder maschinenlesbares nichtflüchtiges Speichermedium mit einem Inhalt wie hier beschrieben umfasst.
  • Verschiedene hier beschriebene Komponenten, die vorstehend als Prozesse, Server oder Werkzeuge bezeichnet werden, können ein Mittel zum Ausführen der beschriebenen Funktionen sein. Die Operationen und Funktionen, die von verschiedenen hier beschriebenen Komponenten ausgeführt werden, können mit Hilfe von Software realisiert werden, die auf einem Verarbeitungselement läuft, mithilfe von eingebetteter Hardware oder dergleichen oder mithilfe einer beliebigen Kombination von Hardware und Software. Derartige Komponenten können als Softwaremodule, Hardwaremodule, Spezialhardware (z. B. anwendungsspezifische Hardware, ASICs, DSPs usw.), eingebettete Controller, festverdrahtete Schaltungen, Hardwarelogik usw. realisiert werden Softwareinhalte (z. B. Daten, Anweisungen, Konfigurationsinformationen usw.) können mithilfe eines Erzeugnisses bereitgestellt werden, darunter ein computerlesbares oder maschinenlesbares nichtflüchtiges Speichermedium, durch das Inhalte bereitgestellt werden, die Anweisungen darstellen, die ausgeführt werden können. Die Inhalte können zur Folge haben, dass ein Computer verschiedene hier beschriebene Funktionen/Operationen ausführt.
  • In diesem Dokument kann eine Liste von Elementen, die durch den Ausdruck „mindestens eines von/aus” verbunden sind, für jede beliebige Kombination der aufgeführten Elemente stehen. Zum Beispiel kann die Wendung „mindestens eines von/aus A, B oder C” bedeuten: A; B; C; A und B; A und C; B und C oder A, B und C.
  • Kursiv geschriebene Buchstaben wie zum Beispiel 'M” und 'N' in der vorstehenden ausführlichen Beschreibung und den Ansprüchen werden verwendet, um eine ganze Zahl darzustellen, und die Verwendung eines bestimmten Buchstabens ist nicht auf bestimmte Ausführungsformen beschränkt. Darüber hinaus kann derselbe Buchstabe in separaten Ansprüchen verwendet werden, um separate ganze Zahlen darzustellen, oder es können unterschiedliche Buchstaben verwendet werden. Des Weiteren kann eine Verwendung eines bestimmten Buchstabens in der ausführlichen Beschreibung mit dem Buchstaben übereinstimmen, der in einem Anspruch verwendet wird, der denselben Gegenstand wie in der ausführlichen Beschreibung betrifft, aber dies muss nicht der Fall sein.
  • Die vorstehende Beschreibung veranschaulichter Ausführungsformen der Erfindung einschließlich des in der Zusammenfassung Beschriebenen soll nicht vollständig sein oder die Erfindung auf die genauen offenbarten Formen beschränken. Obwohl spezielle Ausführungsformen der und Beispiele für die Erfindung hier zum Zweck der Veranschaulichung beschrieben werden, sind verschiedene gleichwertige Modifikationen innerhalb des Schutzbereichs der Erfindung möglich, wie Fachleute für die relevante Technik erkennen werden.
  • Diese Modifikationen können in Anbetracht der vorstehenden ausführlichen Beschreibung an der Erfindung vorgenommen werden. Die in den nachfolgenden Ansprüchen verwendeten Begriffe sollten nicht so aufgefasst werden, dass sie die Erfindung auf die speziellen in der Beschreibung und den Zeichnungen offenbarten Ausführungsformen einschränken. Vielmehr soll der Schutzbereich der Erfindung vollständig durch die nachfolgenden Ansprüche festgelegt sein, die gemäß gängigen Grundsätzen der Auslegung von Ansprüchen auszulegen sind.

Claims (25)

  1. Mehrfachknoten-Plattform-Controller-Hub (MN-PCH), der umfasst: eine Mehrzahl von Knotenschnittstellen, die so konfiguriert sind, dass sie einen Datenaustausch mit einer Mehrzahl von Knoten auf einer Datenverarbeitungsplattform erleichtern; eine interne Interconnect-Verbindung; eine Schnittstelle, die mit der internen Interconnect-Verbindung gekoppelt und dafür konfiguriert ist, mit einer Speichervorrichtung auf der Datenverarbeitungsplattform gekoppelt zu werden, die Firmware für jeden aus der Mehrzahl von Knoten sowie Firmware enthält, die von eingebetteten Komponenten in dem MN-PCH verwendet wird; eine Mehrzahl von Sätzen mit der internen Interconnect-Verbindung gekoppelter Hochgeschwindigkeits-Eingabe-Ausgabe-Controller (HSIO-Controller), die jeweils dafür konfigurierbar sind, zur Verwendung durch einen entsprechenden Knoten dediziert zu werden; eine Mehrzahl von Sätzen mit der internen Interconnect-Verbindung gekoppelter Legacy-IO-Einrichtungen, wobei jeder der Sätze Legacy-IO-Einrichtungen dafür konfigurierbar ist, zur Verwendung durch einen entsprechenden Knoten dediziert zu werden, und eine Manageability-Engine, die von der Mehrzahl von Knoten gemeinsam genutzt wird.
  2. MN-PCH nach Anspruch 1, wobei die Mehrzahl von Knotenschnittstellen und die Mehrzahl von Sätzen Hochgeschwindigkeits-IO-Controller neu konfigurierbar sind, sodass sie als eine primäre Schnittstelle oder ein primärer Controller und eine Ersatzschnittstelle oder ein Ersatzcontroller für einen Knoten konfigurierbar sind, und wobei die Mehrzahl von Sätzen Legacy-IO-Einrichtungen neu konfigurierbar ist, sodass sie als ein primärer Satz Legacy-IO-Einrichtungen und ein Ersatzsatz Legacy-IO-Einrichtungen für einen Knoten konfigurierbar ist.
  3. MN-PCH nach Anspruch 2, wobei der MN-PCH fähig ist, eine dynamische Knotenreparatur mithilfe von Schaltungen und Logik auszuführen, die konfiguriert sind zum: Erkennen, dass eine primäre Schnittstelle oder Komponente im Begriff steht auszufallen oder ausgefallen ist; automatischen Ausführen eines Failover, bei dem die primäre Schnittstelle oder Komponente durch eine entsprechende Ersatzschnittstelle oder -komponente ersetzt wird, und Wiederaufnehmen eines Betriebs des MN-PCH unter Verwendung der Ersatzschnittstelle oder -komponente.
  4. MN-PCH nach Anspruch 3, wobei die dynamische Knotenreparatur auf eine Weise ausgeführt wird, die für Betriebssysteme transparent ist, die auf jedem aus der Mehrzahl von Knoten ausgeführt werden.
  5. MN-PCH nach Anspruch 3 oder 4, wobei bei der dynamischen Knotenreparatur ein Prozessor-Systemmanagementmodus (Prozessor-SMM) verwendet wird, bei dem ein Systemmanagement-Interrupt (SMI) als Reaktion auf ein Erkennen einer Schnittstelle oder Komponente, die im Begriff steht auszufallen oder ausgefallen ist, einen Prozessor, der die ausfallende oder ausgefallene Schnittstelle oder Komponente verwendet, veranlasst, in den SMM einzutreten, wobei Failover-Operationen für die ausfallende oder ausgefallene Schnittstelle oder Komponente ausgeführt werden, während sich der Prozessor im SMM befindet, und nachdem die Failover-Operationen beendet wurden, wird der Prozessor aus dem SMM in einen normalen Betriebsmodus zurückversetzt.
  6. MN-PCH nach einem der Ansprüche 3 bis 5, wobei die Mehrzahl von Knotenschnittstellen Direct-Media-Interface-Schnittstellen (DMI-Schnittstellen) umfasst und der MN-PCH so konfiguriert ist, dass er eine dynamische Knotenreparatur einer DMI-Schnittstelle ausführt, hinsichtlich derer erkannt wird, dass sie im Begriff steht auszufallen oder ausgefallen ist.
  7. MN-PCH nach einem der Ansprüche 3 bis 6, wobei der MN-PCH konfiguriert ist zum: Erkennen eines Fehlers einer Komponente; Ermitteln, ob der Fehler fatal oder unkorrigierbar ist; wenn festgestellt wird, dass der Fehler nicht fatal oder unkorrigierbar ist, Inkrementieren eines Komponentenausfallzählers für die Komponente; Ermitteln, ob ein Ausfallzählwert für die Komponente einen Schwellenwert überschritten hat, und als Reaktion auf eine Feststellung, dass der Ausfallzählwert für die Komponente den Schwellenwert überschritten hat, Einleiten eines Komponenten-Failover.
  8. MN-PCH nach einem der Ansprüche 3 bis 7, wobei der MN-PCH konfiguriert ist zum: Erkennen eines Fehlers einer Komponente; Ermitteln, ob der Fehler fatal oder unkorrigierbar ist; wenn festgestellt wird, dass der Fehler fatal oder unkorrigierbar ist, Ermitteln, ob der Knoten, der die Komponente mit dem Fehler verwendet, reparierbar ist, und wenn der Knoten reparierbar ist, Einleiten eines Komponenten-Failover.
  9. MN-PCH nach einem der Ansprüche 2 bis 8, wobei der MN-PCH möglicherweise selektiv so konfiguriert ist, dass er PCH-Einrichtungen realisiert für: N Knoten, wobei jeder Knoten mindestens eine Zentraleinheit (CPU) oder einen CPU-Komplex aufweist, und N/2 Knoten mit Redundanz, wobei PCH-Einrichtungen für die N/2 Knoten, die nicht verwendet werden, als Ersatz-PCH-Einrichtungen für die mit dem MN-PCH gekoppelten N/2 Knoten neu konfiguriert werden.
  10. MN-PCH nach Anspruch 9, wobei der MN-PCH außerdem möglicherweise selektiv so konfiguriert ist, dass er PCH-Einrichtungen für 2N Knoten realisiert.
  11. Verfahren, das auf einer Mehrfachknoten-Datenverarbeitungsplattform mit einer Mehrzahl von Knoten realisiert wird, die mit einem Mehrfachknoten-Plattform-Controller-Hub (MN-PCH) gekoppelt sind, wobei das Verfahren umfasst: Konfigurieren einer ersten Mehrzahl von Komponenten und Schnittstellen auf dem MN-PCH für jeden aus der Mehrzahl von Knoten, damit sie als primäre Komponenten und Schnittstellen zur dedizierten Verwendung durch diesen Knoten realisiert werden; Konfigurieren einer zweiten Mehrzahl von Komponenten und Schnittstellen auf dem MN-PCH zur Verwendung als Ersatzkomponenten und -schnittstellen; Erkennen, dass eine primäre Komponente oder Schnittstelle im Begriff steht auszufallen oder ausgefallen ist, und automatisches Ausführen einer Failover-Operation zum Neukonfigurieren des MN-PCH, um die primäre Komponente oder Schnittstelle durch eine entsprechende Ersatzkomponente oder -schnittstelle zu ersetzen.
  12. Verfahren nach Anspruch 11, wobei der MN-PCH eine Mehrzahl von Direct-Media-Interface-Schnittstellen (DMI-Schnittstellen) aufweist, wobei das Verfahren außerdem umfasst: Konfigurieren der Mehrzahl von DMI-Schnittstellen als primäre DMI-Schnittstellen und Ersatz-DMI-Schnittstellen; kommunikatives Koppeln von jedem aus der Mehrzahl von Knoten mit dem MN-PCH über eine primäre DMI-Link-Verbindung, die an einer entsprechenden primären DMI-Schnittstelle mit dem MN-PCH gekoppelt ist; Erkennen, dass eine primäre DMI-Schnittstelle im Begriff steht auszufallen oder ausgefallen ist, und Versetzen der DMI-Link-Verbindung, die mit der DMI-Schnittstelle gekoppelt ist, hinsichtlich derer erkannt wird, dass sie im Begriff steht auszufallen oder ausgefallen ist, in einen energiereduzierten Zustand; Ausführen eines DMI-Link-Verbindungs-Failover, bei dem der MN-PCH so neu konfiguriert wird, dass er die DMI-Schnittstelle, die im Begriff steht auszufallen oder ausgefallen ist, durch eine Ersatz-DMI-Schnittstelle ersetzt, die als eine Failover-DMI-Link-Verbindung realisiert wird; Nachtrainieren der Failover-DMI-Link-Verbindung und Wiederaufnehmen eines Datenaustausches zwischen dem Knoten und dem MN-PCH unter Verwendung der Failover-DMI-Link-Verbindung.
  13. Verfahren nach Anspruch 11 oder 12, wobei die Failover-Operation auf eine Weise ausgeführt wird, die für Betriebssysteme transparent ist, die von der Mehrzahl von Knoten gehostet werden.
  14. Verfahren nach Anspruch 13, das außerdem umfasst: Einleiten eines Komponenten-Failover für eine Komponente in dem MN-PCH, die dafür konfiguriert ist, von einem entsprechenden Knoten verwendet zu werden; Auslösen eines Systemmanagement-Interrupt (SMI), um einen Prozessor, der dem Knoten zugehörig ist und in einem normalen Betriebsmodus arbeitet, zu veranlassen, in einen Systemmanagementmodus (SMM) einzutreten; Ausführen von Komponenten-Failover-Operationen an dem MN-PCH, um eine ausfallende oder ausgefallene Komponente durch eine entsprechende Failover-Komponente zu ersetzen, und Ausgeben einer SMM-Wiederaufnahmeanweisung an den Prozessor, um den Prozessor zu veranlassen, den SMM zu beenden und in den normalen Betriebsmodus zurückzukehren.
  15. Verfahren nach Anspruch 14, das außerdem umfasst, den Knoten zu veranlassen, vor einem Ausführen der Komponenten-Failover-Operationen in einen Quiesce-Zustand einzutreten.
  16. Verfahren nach einem der Ansprüche 11 bis 15, das außerdem umfasst: Erkennen eines Fehlers einer Komponente; Ermitteln, ob der Fehler fatal oder unkorrigierbar ist; wenn festgestellt wird, dass der Fehler nicht fatal oder unkorrigierbar ist, Inkrementieren eines Komponentenausfallzählers für die Komponente; Ermitteln, ob ein Ausfallzählwert für die Komponente einen Schwellenwert überschritten hat, und als Reaktion auf eine Feststellung, dass der Ausfallzählwert für die Komponente den Schwellenwert überschritten hat, Einleiten eines Komponenten-Failover.
  17. Verfahren nach einem der Ansprüche 11 bis 16, das außerdem umfasst: Erkennen eines Fehlers einer Komponente; Ermitteln, ob der Fehler fatal oder unkorrigierbar ist; wenn festgestellt wird, dass der Fehler fatal oder unkorrigierbar ist, Ermitteln, ob der Knoten, der die Komponente mit dem Fehler verwendet, reparierbar ist, und wenn der Knoten reparierbar ist, Einleiten eines Komponenten-Failover.
  18. Verfahren nach einem der Ansprüche 11 bis 17, wobei die erste Mehrzahl von Komponenten und Schnittstellen einen Satz Hochgeschwindigkeits-Eingabe-Ausgabe-Schnittstellen (HSIO-Schnittstellen) und -Controller für jeden Knoten und einen Satz Legacy-IO-Einrichtungen für jeden Knoten aufweist.
  19. Verfahren nach einem der Ansprüche 11 bis 18, das außerdem umfasst: Erkennen, für jede aus einem Teil der Schnittstellen auf dem MN-PCH, ob die Schnittstelle mit einem Knoten gekoppelt ist, und wenn die Schnittstelle mit einem Knoten gekoppelt ist, automatisches Konfigurieren der Schnittstelle als eine primäre Schnittstelle, andernfalls automatisches Konfigurieren der Schnittstelle als eine Ersatzschnittstelle.
  20. System, das umfasst: eine Hauptplatine mit einer Mehrzahl von auf dieser angebrachten Komponenten und mit einer Verdrahtung, durch die Signale der Mehrzahl von Komponenten verbunden werden; eine Mehrzahl von Prozessorknoten, von denen jeder einen Prozessor aufweist; Systemspeicher, einschließlich entsprechender Speicherabschnitte, die mit jedem Prozessorknoten gekoppelt sind; eine erste Speichervorrichtung; einen Mehrfachknoten-Plattform-Controller-Hub (MN-PCH), der aufweist: eine Mehrzahl von Knoten-Datenübertragungsschnittstellen, von denen jede dafür konfigurierbar ist, kommunikativ mit einem Prozessorknoten gekoppelt zu werden; eine interne Interconnect-Verbindung, einschließlich eines Root-Fabric mit hoher Bandbreite und eines Sub-Fabric mit niedriger Bandbreite; eine Schnittstelle, die mit der internen Interconnect-Verbindung gekoppelt und dafür konfiguriert ist, mithilfe einer Link-Verbindung mit einer Firmware-Speichervorrichtung auf einer Hauptplatine gekoppelt zu werden, die Firmware für jeden der Prozessorknoten sowie Firmware enthält, die von eingebetteten Komponenten in dem MN-PCH verwendet wird; eine Mehrzahl von Sätzen Hochgeschwindigkeits-Eingabe-Ausgabe-Controller (HSIO-Controller), die mit dem Root-Fabric mit hoher Bandbreite gekoppelt sind, von denen jeder dafür konfigurierbar ist, zur Verwendung durch einen entsprechenden Knoten dediziert zu werden, wobei jeder Satz Hochgeschwindigkeits-IO-Controller mindestens einen Peripheral-Component-Interconnect-Express-Controller (PCIe-Controller), mindestens einen Universal-Serial-Bus-Controller (USB-Controller) und mindestens einen Serial-Advanced-Technology-Attachment-Controller (SATA-Controller) aufweist, einschließlich eines mit der ersten Speichervorrichtung gekoppelten SATA-Controllers, und eine Mehrzahl von Sätzen Legacy-IO-Einrichtungen, die mit dem Sub-Fabric mit niedriger Bandbreite gekoppelt sind, wobei jeder der Sätze Legacy-IO-Einrichtungen dafür konfigurierbar ist, zur Verwendung durch einen entsprechenden Prozessorknoten dediziert zu werden.
  21. System nach Anspruch 20, wobei die Mehrzahl von Knoten-Datenübertragungsschnittstellen und die Mehrzahl von Sätzen Hochgeschwindigkeits-IO-Controller neu konfigurierbar sind, sodass sie als eine primäre Schnittstelle oder ein primärer Controller und als eine Ersatzschnittstelle oder ein Ersatzcontroller für einen Prozessorknoten konfigurierbar sind, und wobei die Mehrzahl von Sätzen Legacy-IO-Einrichtungen neu konfigurierbar ist, sodass sie als ein primärer Satz Legacy-IO-Einrichtungen und ein Ersatzsatz Legacy-IO-Einrichtungen für einen Prozessorknoten konfigurierbar ist.
  22. System nach Anspruch 21, wobei der MN-PCH fähig ist, eine dynamische Knotenreparatur mithilfe von Schaltungen und Logik auszuführen, die konfiguriert sind zum: Erkennen, dass eine primäre Schnittstelle oder Komponente im Begriff steht auszufallen oder ausgefallen ist; automatischen Ausführen eines Failover, bei dem die primäre Schnittstelle oder Komponente durch eine entsprechende Ersatzschnittstelle oder -komponente ersetzt wird, und Wiederaufnehmen eines Betriebs des MN-PCH unter Verwendung der Ersatzschnittstelle oder -komponente.
  23. System nach Anspruch 22, wobei die erste Speichervorrichtung ein Betriebssystem aufweist oder das System so konfiguriert ist, dass es ein Betriebssystem über ein Netzwerk lädt, und wobei der MN-PCH so konfiguriert ist, dass er eine dynamische Knotenreparatur auf eine Weise ausführt, die transparent für Betriebssysteme ist, die auf jedem der Prozessorknoten ausgeführt werden, wenn das System in Betrieb ist.
  24. System nach Anspruch 22 oder 23, wobei bei der dynamischen Knotenreparatur ein Prozessor-Systemmanagementmodus (Prozessor-SMM) genutzt wird, bei dem ein Systemmanagement-Interrupt (SMI) als Reaktion auf ein Erkennen einer Schnittstelle oder Komponente, die im Begriff steht auszufallen oder ausgefallen ist, ausgelöst wird, was einen Prozessor eines Prozessorknotens, der die ausfallende oder ausgefallene Schnittstelle oder Komponente verwendet, veranlasst, in den SMM einzutreten, wobei Failover-Operationen für die ausfallende oder ausgefallene Schnittstelle oder Komponente ausgeführt werden, während sich der Prozessor im SMM befindet, und nachdem die Failover-Operationen beendet wurden, wird der Prozessor aus dem SMM in einen normalen Betriebsmodus zurückversetzt.
  25. System nach einem der Ansprüche 22 bis 24, wobei die Mehrzahl von Knoten-Datenübertragungsschnittstellen Direct-Media-Interface-Schnittstellen (DMI-Schnittstellen) umfasst und der MN-PCH so konfiguriert ist, dass er eine dynamische Knotenreparatur einer DMI-Schnittstelle ausführt, hinsichtlich derer erkannt wird, dass sie im Begriff steht auszufallen oder ausgefallen ist.
DE102015107990.9A 2014-06-20 2015-05-20 Verfahren und Vorrichtung zur dynamischen Knotenreparatur in einer Mehrfachknotenumgebung Pending DE102015107990A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/310,835 2014-06-20
US14/310,835 US9477564B2 (en) 2014-06-20 2014-06-20 Method and apparatus for dynamic node healing in a multi-node environment

Publications (1)

Publication Number Publication Date
DE102015107990A1 true DE102015107990A1 (de) 2015-12-24

Family

ID=54768036

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015107990.9A Pending DE102015107990A1 (de) 2014-06-20 2015-05-20 Verfahren und Vorrichtung zur dynamischen Knotenreparatur in einer Mehrfachknotenumgebung

Country Status (3)

Country Link
US (1) US9477564B2 (de)
CN (1) CN105204965B (de)
DE (1) DE102015107990A1 (de)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582366B2 (en) * 2014-11-21 2017-02-28 International Business Machines Corporation Detecting and sparing of optical PCIE cable channel attached IO drawer
US20160188503A1 (en) * 2014-12-25 2016-06-30 Intel Corporation Virtual legacy wire
US10157160B2 (en) * 2015-06-04 2018-12-18 Intel Corporation Handling a partition reset in a multi-root system
US9990327B2 (en) 2015-06-04 2018-06-05 Intel Corporation Providing multiple roots in a semiconductor device
US11983138B2 (en) 2015-07-26 2024-05-14 Samsung Electronics Co., Ltd. Self-configuring SSD multi-protocol support in host-less environment
US9846623B2 (en) * 2015-08-20 2017-12-19 Qsigma, Inc. Simultaneous multi-processor apparatus applicable to acheiving exascale performance for algorithms and program systems
JP6536677B2 (ja) * 2015-12-29 2019-07-03 華為技術有限公司Huawei Technologies Co.,Ltd. Cpuおよびマルチcpuシステム管理方法
CN111488048B (zh) * 2016-02-14 2023-05-16 华为技术有限公司 一种电源管理方法以及***
US10116750B2 (en) * 2016-04-01 2018-10-30 Intel Corporation Mechanism for highly available rack management in rack scale environment
CN105868133B (zh) * 2016-04-29 2018-07-24 中国人民解放军国防科学技术大学 一种用于多结点主板的串口远程集中管理方法
US10210123B2 (en) 2016-07-26 2019-02-19 Samsung Electronics Co., Ltd. System and method for supporting multi-path and/or multi-mode NMVe over fabrics devices
US10346041B2 (en) 2016-09-14 2019-07-09 Samsung Electronics Co., Ltd. Method for using BMC as proxy NVMeoF discovery controller to provide NVM subsystems to host
US11461258B2 (en) * 2016-09-14 2022-10-04 Samsung Electronics Co., Ltd. Self-configuring baseboard management controller (BMC)
EP3837608A2 (de) * 2018-08-13 2021-06-23 Stratus Technologies Ireland Limited Fehlertolerante rechnerarchitektur mit hoher zuverlässigkeit
GB2586279B (en) * 2019-08-16 2022-11-23 Siemens Ind Software Inc Routing messages in a integrated circuit chip device
CN111045845B (zh) * 2019-11-29 2021-09-17 苏州浪潮智能科技有限公司 一种数据回传方法、装置、设备及计算机可读存储介质
US11874787B2 (en) 2020-02-13 2024-01-16 Intel Corporation Platform controller hub (PCH) chipsets in platforms as extended IO expander(s)
CN111324070B (zh) * 2020-03-04 2021-07-13 明峰医疗***股份有限公司 基于fpga的ct串行探测器模块集群的调试方法
CN111309449B (zh) * 2020-03-17 2023-09-08 上海蓝载信息科技有限公司 面向元编程、交互式编程和区块链互操作的与编程语言无关的虚拟机
US11816220B2 (en) * 2020-09-25 2023-11-14 Intel Corporation Phased boot process to dynamically initialize devices in a verified environment
CN114448779A (zh) * 2021-12-30 2022-05-06 锐凌无线有限责任公司 无线通信模组及其功能恢复方法、电子设备和存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141769A (en) * 1996-05-16 2000-10-31 Resilience Corporation Triple modular redundant computer system and associated method
US6327675B1 (en) * 1998-07-31 2001-12-04 Nortel Networks Limited Fault tolerant system and method
US7206836B2 (en) * 2002-09-23 2007-04-17 Sun Microsystems, Inc. System and method for reforming a distributed data system cluster after temporary node failures or restarts
US8776050B2 (en) * 2003-08-20 2014-07-08 Oracle International Corporation Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes
US7251746B2 (en) * 2004-01-21 2007-07-31 International Business Machines Corporation Autonomous fail-over to hot-spare processor using SMI
US7660314B2 (en) * 2004-04-02 2010-02-09 Samsung Electronics Co., Ltd. Apparatus and method for multi-protocol route redistribution in a massively parallel router
US7426657B2 (en) * 2004-07-09 2008-09-16 International Business Machines Corporation System and method for predictive processor failure recovery
CN100466557C (zh) * 2004-11-10 2009-03-04 华为技术有限公司 通信网节点故障监测方法
CN103064759B (zh) * 2012-12-18 2016-02-03 华为技术有限公司 数据修复的方法及装置
US9229825B2 (en) * 2013-06-28 2016-01-05 International Business Machines Corporation Quick failover of blade server
US9280426B2 (en) * 2013-07-24 2016-03-08 Solar Turbines Incorporated System and method for server redundancy

Also Published As

Publication number Publication date
US20150370661A1 (en) 2015-12-24
CN105204965A (zh) 2015-12-30
CN105204965B (zh) 2018-11-16
US9477564B2 (en) 2016-10-25

Similar Documents

Publication Publication Date Title
DE102015107990A1 (de) Verfahren und Vorrichtung zur dynamischen Knotenreparatur in einer Mehrfachknotenumgebung
DE102012210914B4 (de) Switch-Fabric-Management
US11586514B2 (en) High reliability fault tolerant computer architecture
EP3218810B1 (de) Cluster-backup für virtuelle maschine
DE102006048115B4 (de) System und Verfahren zum Aufzeichnen von behebbaren Fehlern
DE112011102115B4 (de) Transparente Steigerung von Energieeinsparungen in einer Energieverbrauchs-Steuerungsumgebung
DE112011103666B4 (de) Speicherverwaltung in Cluster-Datenverarbeitungssystemen
DE69527499T2 (de) Schaltung zum Wiederzuweisen des Einschaltsprozessors in einem Mehrprozessorensystem
DE112019002584T5 (de) Wechseln zwischen vermittlerdiensten für ein speichersystem
DE102020133738A1 (de) Firmware-update-techniken
DE102013218341B4 (de) Ersatzweise Verlagerung von Threads (Thread-Sparing) zwischen Berechnungskernen in einem Multithread-Prozessor
DE102014108249A1 (de) Realisieren erweiterter Fehlerbehandlung für einen gemeinsam genutzten Adapter in einem virtualisierten System
EP3705999B1 (de) Firmware-upgrade-verfahren in mehrfachknotenspeichersystem
DE112013002254T5 (de) Wiederherstellen aus einer Altbetriebssystemumgebung zu einer UEFI-Preboot-Umgebung
DE112012001761T5 (de) Hochverfügbarkeit von virtuellen Maschinen
DE102012215918A1 (de) Spiegeln virtueller Maschinen von einem primären auf einen sekundären Host
DE112007000688B4 (de) Fehlerverwaltungstopologien
DE112021000246T5 (de) Nachrichtenübermittlung von der peer-speicherungsvorrichtung über den steuerbus
CN103403689A (zh) 一种资源故障管理方法、装置及***
DE112013007469B4 (de) Kommunikationssystem, Standby-Vorrichtung, Kommunikationsverfahren, und Standby-Programm
DE112020003608T5 (de) Wiederherstellung der verbindungsgeschwindigkeit in einem datenspeichersystem
DE112020005092T5 (de) Konstruktion einer blockvorrichtung
US10824517B2 (en) Backup and recovery of configuration files in management device
DE102022107800A1 (de) Booten und verwenden eines einzelnen cpu-sockels als partitionierte multi-cpu-plattform
DE102022107799A1 (de) Verarbeitungsvorrichtung, Steuereinheit, elektronische Vorrichtung, Verfahren und Computerprogramm

Legal Events

Date Code Title Description
R012 Request for examination validly filed