DE112013005090T5 - Steuernachrichtenübermittlung in einem mehrfach-Slot-Verbindungsschicht-Flit - Google Patents

Steuernachrichtenübermittlung in einem mehrfach-Slot-Verbindungsschicht-Flit Download PDF

Info

Publication number
DE112013005090T5
DE112013005090T5 DE112013005090.0T DE112013005090T DE112013005090T5 DE 112013005090 T5 DE112013005090 T5 DE 112013005090T5 DE 112013005090 T DE112013005090 T DE 112013005090T DE 112013005090 T5 DE112013005090 T5 DE 112013005090T5
Authority
DE
Germany
Prior art keywords
flit
control message
slots
credit
slot
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
DE112013005090.0T
Other languages
English (en)
Inventor
Jeff Willey
Robert G. Blankenship
Jeffrey C. Swanson
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 DE112013005090T5 publication Critical patent/DE112013005090T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/22Handling requests for interconnection or transfer for access to input/output bus using successive scanning, e.g. polling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0808Multiuser, multiprocessor or multiprocessing cache systems with cache invalidating means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0833Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1657Access to multiple memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • 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/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • 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
    • 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/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4286Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
    • 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/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/77Software metrics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4273Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/254Distributed memory
    • G06F2212/2542Non-uniform memory access [NUMA] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • G06F2212/622State-only directory, i.e. not recording identity of sharing or owning nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Eine Verbindungsschicht-Steuernachricht wird generiert und in einem Flit eingeschlossen, das über eine serielle Datenverbindung an eine Vorrichtung zu senden ist. Die über die Datenverbindung gesendeten Flits haben eine Mehrzahl von Slots zu umfassen. Steuernachrichten können, in einigen Aspekten, eine Virusalarmnachricht, eine Giftalarmnachricht, eine Kreditrückführungsnachricht und Quittungen umfassen.

Description

  • GEBIET
  • Die vorliegende Offenbarung bezieht sich im Allgemeinen auf das Gebiet der Computerentwicklung und spezifischer auf die Software-Entwicklung, welche die Koordination voneinander abhängiger eingeschränkter Systeme involviert.
  • HINTERGRUND
  • Fortschritte in der Halbleiterverarbeitung und Logikausbildung haben eine Erhöhung der Logikmenge ermöglicht, die auf integrierten Schaltungsvorrichtungen vorhanden sein kann. Als Begleiterscheinung haben sich Computersystemauslegungen aus einer einzelnen oder mehreren integrierten Schaltungen in einem System zu mehreren Kernen, mehreren Hardware-Teilprozessen und mehreren Logikprozessoren weiterentwickelt, die auf einzelnen integrierten Schaltungen vorliegen können, sowie anderen Schnittstellen, die innerhalb solcher Prozessoren integriert sind. Ein Prozessor oder eine integrierte Schaltung umfasst typischerweise einen einzelnen physikalischen Prozessorchip, wobei der Prozessorchip eine beliebige Anzahl von Kernen, Hardware-Teilprozessen, Logikprozessoren, Schnittstellen, Speichern, Steuereinheitsknoten, etc., umfassen kann.
  • Als Ergebnis der erhöhten Fähigkeit, mehr Verarbeitungsleistung in kleinere Einhausungen einzubringen, haben kleinere Rechnervorrichtungen an Popularität gewonnen. Smartphones, Tablets, ultradünne Notebooks und andere Benutzerausrüstung haben ein exponentielles Wachstum gezeigt. Diese kleineren Vorrichtungen greifen jedoch auf Server sowohl zur Datenspeicherung als auch komplexen Verarbeitung zurück, die den Formfaktor überschreiten. Demgemäß ist auch die Nachfrage auf dem Hochleistungsrechnermarkt (d. h. Server-Raum) gestiegen. Beispielsweise gibt es in modernen Servern typischerweise nicht nur einen einzelnen Prozessor mit mehreren Kernen, sondern auch mehrere physikalische Prozessoren (die auch als mehrere Sockets bezeichnet werden), um die Rechenleistung zu erhöhen. Da jedoch die Verarbeitungsleistung gemeinsam mit der Anzahl von Vorrichtungen in einem Rechnersystem zunimmt, wird die Kommunikation zwischen Sockets und anderen Vorrichtungen kritischer.
  • Tatsächlich sind Zwischenverbindungen (Interconnects) aus traditionelleren Multidrop-Bussen, die primär elektrische Kommunikationen behandelten, zu vollentwickelten Zwischenverbindungsarchitekturen gewachsen, die eine schnelle Kommunikation erleichtern. Leider konzentriert sich mit der Anforderung, dass zukünftige Prozessoren noch höhere Raten verbrauchen, der entsprechende Bedarf auf die Fähigkeiten bestehender Zwischenverbindungsarchitekturen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 veranschaulicht ein vereinfachtes Blockbild eines Systems, das eine serielle Punkt-zu-Punkt-Zwischenverbindung umfasst, um I/O-Vorrichtungen in einem Computersystem zu verbinden, gemäß einer Ausführungsform.
  • 2 veranschaulicht ein vereinfachtes Blockbild eines geschichteten Protokollstapels gemäß einer Ausführungsform.
  • 3 veranschaulicht eine Ausführungsform einer seriellen Punkt-zu-Punkt-Verbindung.
  • 4 veranschaulicht Ausführungsformen potentieller Hochleistungs-Zwischenverbindungs(High Performance Interconnect, HPI)-Systemauslegungen.
  • 5 veranschaulicht eine Ausführungsform eines geschichteten Protokollstapels, der mit HPI assoziiert ist.
  • 6 veranschaulicht eine Darstellung eines beispielhaften Mehrfach-Slot-Flits.
  • 7 veranschaulicht eine Darstellung eines beispielhaften Flits, das über eine beispielhafte achtspurige Datenverbindung gesendet wird.
  • 8 veranschaulicht eine Darstellung eines beispielhaften Flits, das über eine beispielhafte achtspurige Datenverbindung gesendet wird.
  • 9 veranschaulicht eine Darstellung eines beispielhaften Flits, das über eine beispielhafte zwanzigspurige Datenverbindung gesendet wird.
  • 10 veranschaulicht eine Darstellung eines beispielhaften Virusfehler-Steuerflits.
  • 11 veranschaulicht eine Darstellung eines beispielhaften mehrschichtigen Flits, das eine Diagnosenachricht umfasst.
  • 12 veranschaulicht eine Darstellung eines beispielhaften Giftfehler-Steuerflits.
  • 13 veranschaulicht eine Darstellung einer beispielhaften Slot-Nachricht zum Rückführen von Krediten und Quittungen.
  • 14 veranschaulicht Kreditrückführungsformate zur Verwendung im beispielhaften Slot von 13.
  • 15 veranschaulicht eine Ausführungsform eines Blocks für ein beispielhaftes Rechnersystem.
  • Ähnliche Bezugszahlen und Bezeichnungen in den verschiedenen Zeichnungen zeigen ähnliche Elemente an.
  • DETAILLIERTE BESCHREIBUNG
  • In der folgenden Beschreibung werden zahlreiche spezifische Details angegeben, wie Beispiele spezifischer Typen von Prozessoren und Systemauslegungen, spezifischer Hardware-Strukturen, spezifischer Architektur- und Mikroarchitekturdetails, spezifischer Registerauslegungen, spezifischer Instruktionstypen, spezifischer Systemkomponenten, spezifischer Prozessor-Pipeline-Stufen, spezifischer Zwischenverbindungsschichten, spezifischer Paket/Transaktionsauslegungen, spezifischer Transaktionsnamen, spezifischer Protokollaustausche, spezifischer Verbindungsbreiten, spezifischer Implementierungen und Betriebe, etc., um ein grundlegendes Verständnis der vorliegenden Erfindung zu bieten. Es kann jedoch für Fachleute klar sein, dass diese spezifischen Details nicht unbedingt verwendet werden müssen, um den Gegenstand der vorliegenden Offenbarung zu praktizieren. In anderen Fällen wurde eine gut detaillierte Beschreibung bekannter Komponenten oder Verfahren vermieden, wie spezifischer und alternativer Prozessorarchitekturen, spezifischer Logikschaltungen/codes für beschriebene Algorithmen, spezifischer Firmwarecodes, Zwischenverbindungsbetriebe auf niedriger Ebene, spezifischer Logikauslegungen, spezifischer Herstellungstechniken und Materialien, spezifischer Kompiliererimplementierungen, spezifischer Ausdrücke von Algorithmen in Code, spezifischer Abschalt- und Torsteuerungstechniken/logik und anderer spezifischer operationaler Details von Computersystemen, um zu vermeiden, dass die vorliegende Offenbarung unnötig unklar erscheint.
  • Obwohl die folgenden Ausführungsformen mit Bezugnahme auf Energieeinsparung, Energieeffizienz, Verarbeitungseffizienz, usw., in spezifischen integrierten Schaltungen beschrieben werden können, wie in Rechnerplattformen oder Mikroprozessoren, können andere Ausführungsformen auf andere Typen von integrierten Schaltungen und Logikvorrichtungen angewendet werden. Ähnliche Techniken und Lehren hier beschriebener Ausführungsformen können auf andere Typen von Schaltungen oder Halbleitervorrichtungen angewendet werden, die auch von solchen Merkmalen profitieren können. Beispielsweise sind die offenbarten Ausführungsformen nicht auf Server-Computersysteme, Desktop-Computersysteme, Laptops, UltrabooksTM beschränkt, sondern können auch in anderen Vorrichtungen verwendet werden, wie Hand-Vorrichtungen, Smartphones, Tablets, anderen dünnen Notebooks, System-on-a-Chip-(SOC-)Vorrichtungen und eingebetteten Anwendungen. Einige Beispiele von Hand-Vorrichtungen umfassen Mobiltelefone, Internet-Protokoll-Vorrichtungen, Digitalkameras, Personal Digital Assistants (PDAs) und Hand-PCs. Hier können ähnliche Techniken für eine Hochleistungs-Zwischenverbindung angewendet werden, um in einer Zwischenverbindung mit niedriger Leistung die Leistung zu erhöhen (oder sogar Energie zu sparen). Eingebettete Anwendungen umfassen typischerweise eine Mikrosteuereinheit, einen digitalen Signalprozessor (DSP), ein System-on-a-Chip, Netzcomputer (NetPC), Set-top-Boxen, Netzknoten, weiträumige Netz(WAN)-Schalter oder ein beliebiges anderes System, das die nachstehend gelehrten Funktionen und Betriebe vornehmen kann. Außerdem sind die hier beschriebenen Vorrichtungen, Verfahren und Systeme nicht auf physikalische Rechnervorrichtungen begrenzt, sondern können sich auch auf Software-Optimierungen zur Energieeinsparung und -effizienz beziehen. Wie aus der nachstehenden Beschreibung leicht ersichtlich werden kann, können die Ausführungsformen hier beschriebener Verfahren, Vorrichtungen und Systeme (ob mit Bezugnahme auf Hardware, Firmware, Software oder eine Kombination davon) als wesentlich für eine „grüne Technologie-” Zukunft im Gleichgewicht mit Leistungsüberlegungen angesehen werden.
  • Mit dem Fortschritt von Rechnersystemen werden die Komponenten darin komplexer. Die Zwischenverbindungsarchitektur, um zwischen den Komponenten zu koppeln und zu kommunizieren, hat auch an Komplexität zugenommen, um sicherzustellen, dass Bandbreitenanforderungen für einen optimalen Komponentenbetrieb erfüllt werden. Ferner erfordern verschiedene Marktsegmente verschiedene Aspekte von Zwischenverbindungsarchitekturen, um dem jeweiligen Markt zu entsprechen. Beispielsweise erfordern Server eine höhere Leistung, während das mobile Ökosystem manchmal eine Gesamtleistung für Energieeinsparungen opfern kann. Es ist dennoch ein herausragender Zweck der meisten Fabrics, die höchstmögliche Leistung mit maximalen Energieeinsparungen vorzusehen. Ferner können verschiedenste unterschiedliche Zwischenverbindungen potentiell vom hier beschriebenen Gegenstand profitieren. Beispielsweise können die Peripheral Component Interconnect(PCI) Express(PCIe)-Interconnect-Fabric-Architektur und QuickPath Interconnect(QPI)-Fabric-Architektur, unter anderen Beispielen, potentiell gemäß einem oder mehreren hier beschriebenen Prinzipien, unter anderen Beispielen, verbessert werden.
  • 1 veranschaulicht eine Ausführungsform eines Fabrics, das aus Punkt-zu-Punkt-Verbindungen besteht, die einen Satz von Komponenten miteinander verbinden, wie veranschaulicht. Das System 100 umfasst einen Prozessor 105 und einen Systemspeicher 110, der mit einem Steuereinheitknoten 115 gekoppelt ist. Der Prozessor 105 kann ein beliebiges Verarbeitungselement umfassen, wie einen Mikroprozessor, einen Hostprozessor, einen eingebetteten Prozessor, einen Co-Prozessor oder anderen Prozessor. Der Prozessor 105 ist mit dem Steuereinheitknoten 115 durch einen Vorderseitenbus (Front-Side Bus, FSB) 106 verbunden. In einer Ausführungsform ist der FSB 106 eine serielle Punkt-zu-Punkt Zwischenverbindung, wie nachstehend beschrieben. In einer anderen Ausführungsform umfasst die Verbindung 106 eine serielle differentielle Zwischenverbindungsarchitektur, die mit einem anderen Zwischenverbindungsstandard kompatibel ist.
  • Der Systemspeicher 110 umfasst eine beliebige Speichervorrichtung, wie einen Speicher mit wahlfreiem Zugriff (RAM), nicht-flüchtigen (NV) Speicher oder einen anderen Speicher, auf den von Vorrichtungen im System 100 zugegriffen werden kann. Der Systemspeicher 110 ist mit dem Steuereinheitknoten 115 durch eine Speicherschnittstelle 116 gekoppelt. Beispiele einer Speicherschnittstelle umfassen eine Doppeldatenrate(DDR)-Speicherschnittstelle, eine Dualkanal-DDR-Speicherschnittstelle und eine dynamische RAM(DRAM)-Speicherschnittstelle.
  • In einer Ausführungsform kann der Steuereinheitknoten 115 einen Root-Knoten, Root-Komplex oder eine Root-Steuereinheit umfassen, wie in einer PCIe-Zwischenverbindungshierarchie. Beispiele eines Steuereinheitknotens 115 umfassen einen Chipsatz, einen Speicher-Steuereinheitknoten (Memory Controller Hub, MCH), eine Nordbrücke (Northbridge), einen Zwischenverbindungs-Steuereinheitknoten (Interconnect Controller Hub, ICH), eine Südbrücke (Southbridge) und eine Root-Steuereinheit/Knoten. Oft bezieht sich der Ausdruck Chipsatz auf zwei physisch getrennte Steuereinheitknoten, z. B. einen Speicher-Steuereinheitknoten (MCH), der mit einem Zwischenverbindungs-Steuereinheitknoten (ICH) gekoppelt ist. Es ist anzumerken, dass aktuelle Systeme häufig den MCH integriert mit dem Prozessor 105 umfassen, während die Steuereinheit 115 mit I/O-Vorrichtungen zu kommunizieren hat, in einer ähnlichen Weise wie nachstehend beschrieben. In einigen Ausführungsformen wird ein Peer-to-Peer-Routing gegebenenfalls durch den Root-Komplex 115 unterstützt.
  • Hier ist der Steuereinheitknoten 115 mit einem Schalter/einer Brücke 120 durch eine serielle Verbindung 119 gekoppelt. Eingabe/Ausgabe-Module 117 und 121, die auch als Schnittstellen/Ports 117 und 121 bezeichnet werden können, können einen geschichteten Protokollstapel umfassen/implementieren, um eine Kommunikation zwischen dem Steuereinheitknoten 115 und dem Schalter 120 vorzusehen. In einer Ausführungsform sind mehrere Vorrichtungen dazu in der Lage, mit dem Schalter 120 gekoppelt zu werden.
  • Der Schalter/die Brücke 120 lenkt Pakete/Nachrichten von der Vorrichtung 125 stromaufwärts, d. h. eine Hierarchie aufwärts zu einem Root-Komplex, zum Steuereinheitknoten 115 und stromabwärts, d. h. eine Hierarchie abwärts von einer Root-Steuereinheit weg, vom Prozessor 105 oder Systemspeicher 100 zur Vorrichtung 125. Der Schalter 120 wird in einer Ausführungsform als logische Anordnung mehrerer virtueller PCI-zu-PCI-Brückenvorrichtungen bezeichnet. Die Vorrichtung 125 umfasst eine beliebige interne oder externe Vorrichtung oder Komponente, die mit einem elektronischen System zu koppeln ist, wie eine I/O-Vorrichtung, eine Netzschnittstellen-Steuereinheit (Network Interface Controller, NIC), eine Erweiterungskarte, einen Audio-Prozessor, einen Netz-Prozessor, ein Festplattenlaufwerk, eine Speichervorrichtung, einen CD/DVD-ROM, einen Monitor, einen Drucker, eine Maus, eine Tastatur, einen Router, eine tragbare Speichervorrichtung, eine Firewire-Vorrichtung, eine Universal Serial Bus-(USB-)Vorrichtung, einen Scanner und andere Eingabe/Ausgabe-Vorrichtungen. In der PCIe-Sprache wird eine derartige Vorrichtung oft als Endpunkt bezeichnet. Obwohl nicht spezifisch gezeigt, kann die Vorrichtung 125 eine Brücke umfassen (z. B. eine PCIe-zu-PCI/PCI-X-Brücke), um Alt- oder andere Versionen von Vorrichtungen oder Zwischenverbindungs-Fabrics zu untersützen, die von solchen Vorrichtungen unterstützt werden.
  • Auch ein Grafikbeschleuniger 130 kann mit dem Steuereinheitknoten 115 durch die serielle Verbindung 132 gekoppelt sein. In einer Ausführungsform ist der Grafikbeschleuniger 130 mit einem MCH gekoppelt, der mit einem ICH gekoppelt ist. Der Schalter 120, und demgemäß die I/O-Vorrichtung 125, ist dann mit dem ICH gekoppelt. I/O-Module 131 und 118 haben auch einen geschichteten Protokollstapel und assoziierte Logik zu implementieren, um zwischen dem Grafikbeschleuniger 130 und dem Steuereinheitknoten 115 zu kommunizieren. Ähnlich der obigen MCH-Diskussion kann eine Grafiksteuereinheit oder der Grafikbeschleuniger 130 selbst im Prozessor 105 integriert sein.
  • Mit Bezugnahme auf 2 wird eine Ausführungsform eines geschichteten Protokollstapels veranschaulicht. Der geschichtete Protokollstapel 200 kann eine beliebige Form eines geschichteten Kommunikationsstapels umfassen, wie einen QPI-Stapel, einen PCIe-Stapel, einen Hochleistungsrechner-Zwischenverbindungs(High Performance Computing Interconnect-, HPI)-Stapel der nächsten Generation oder einen anderen geschichteten Stapel umfassen. In einer Ausführungsform kann der Protokollstapel 200 eine Transaktionsschicht 205, eine Verbindungsschicht 210 und eine physikalische Schicht 220 umfassen. Eine Schnittstelle, wie die Schnittstellen 117, 118, 121, 122, 126 und 131 in 1, kann als Kommunikationsprotokollstapel 200 repräsentiert sein. Die Repräsentation als Kommunikationsprotokollstapel kann auch als Modul oder Schnittstelle bezeichnet werden, das oder die einen Protokollstapel implementiert/umfasst.
  • Pakete können verwendet werden, um Informationen zwischen Komponenten zu kommunizieren. Pakete können in der Transaktionsschicht 205 und der Datenverbindungsschicht 210 gebildet werden, um die Informationen von der sendenden Komponente zur empfangenden Komponente zu tragen. Während die gesendeten Pakete durch die anderen Schichten fließen, werden sie mit zusätzlichen Informationen erweitert, die zur Handhabung von Paketen in diesen Schichten verwendet werden. Auf der Empfangsseite tritt der umgekehrte Prozess auf und Pakete werden von ihrer Repräsentation in der physikalischen Schicht 220 in die Repräsentation in der Datenverbindungsschicht 210 und schließlich (für Transaktionsschichtpakete) in die Form transformiert, die von der Transaktionsschicht 205 der Empfangsvorrichtung verarbeitet werden kann.
  • In einer Ausführungsform kann die Transaktionsschicht 205 eine Schnittstelle zwischen einem Verarbeitungskern einer Vorrichtung und der Zwischenverbindungsarchitektur vorsehen, wie eine Datenverbindungsschicht 210 und eine physikalische Schicht 220. In dieser Hinsicht kann eine primäre Verantwortung der Transaktionsschicht 205 die Assemblierung und Disassemblierung von Paketen umfassen (d. h. Transaktionsschichtpaketen oder Transaction Lager Packets, TLPs). Die Transaktionsschicht 205 kann auch eine kreditbasierte Flusssteuerung für TLPs verwalten. In einigen Implementierungen können geteilte Transaktionen verwendet werden, d. h. Transaktionen mit einer durch Zeit getrennten Anforderung und Antwort, wodurch ermöglicht wird, unter anderen Beispielen, dass eine Verbindung anderen Verkehr trägt, während die Zielvorrichtung Daten für die Antwort sammelt.
  • Eine kreditbasierte Flusssteuerung kann verwendet werden, um virtuelle Kanäle und Netze unter Verwendung des Zwischenverbindungs-Fabrics zu realisieren. In einem Beispiel kann eine Vorrichtung einen anfänglichen Kreditbetrag für jeden der Empfangspuffer in der Transaktionsschicht 205 anbieten. Eine externe Vorrichtung am entgegengesetzten Ende der Verbindung, wie ein Steuereinheitknoten 115 in 1, kann die Anzahl von Krediten zählen, die von jedem TLP verbraucht werden. Eine Transaktion kann gesendet werden, falls die Transaktion ein Kreditlimit nicht überschreitet. Beim Empfang einer Antwort wird ein Kreditbetrag wiederhergestellt. Ein Beispiel eines Vorteils eines derartigen Kreditschemas, unter anderen potentiellen Vorteilen, ist, dass die Latenz der Kreditrückführung die Leistung nicht beeinträchtigt, vorausgesetzt dass das Kreditlimit nicht erreicht wird.
  • In einer Ausführungsform können vier Transaktionsadressräume einen Auslegungsadressraum, einen Speicheradressraum, einen Eingabe/Ausgabe-Adressraum und einen Nachrichtenadressraum umfassen. Speicherraumtransaktionen umfassen eine oder mehrere von Leseanforderungen und Schreibanforderungen, um Daten zu/von einem speichergemappten Ort zu transferieren. In einer Ausführungsform können Speicherraumtransaktionen zwei verschiedene Adressformate verwenden, z. B. ein kurzes Adressformat, wie eine 32-Bit-Adresse, oder ein langes Adressformat, wie eine 64-Bit Adresse. Auslegungsraumtransaktionen können verwendet werden, um auf einen Auslegungsraum verschiedener Vorrichtungen zuzugreifen, die mit der Zwischenverbindung verbunden sind. Transaktionen zum Auslegungsraum können Leseanforderungen und Schreibanforderungen umfassen. Nachrichtenraumtransaktionen (oder einfach Nachrichten) können auch definiert werden, um eine Inbandkommunikation zwischen Zwischenverbindungs-Agenten zu unterstützen. Daher kann in einer beispielhaften Ausführungsform die Transaktionsschicht 205 Paketköpfe/Nutzinformationen (Payload) 206 assemblieren.
  • Eine Verbindungsschicht 210, die auch als Datenverbindungsschicht 210 bezeichnet wird, kann als Zwischenstufe zwischen der Transaktionsschicht 205 und der physikalischen Schicht 220 wirken. In einer Ausführungsform ist eine Verantwortung der Datenverbindungsschicht 210, einen zuverlässigen Mechanismus für den Austausch von Transaktionsschichtpaketen (TLPs) zwischen zwei Komponenten auf einer Verbindung vorzusehen. Eine Seite der Datenverbindungsschicht 210 akzeptiert TLPs, die von der Transaktionsschicht 205 assembliert werden, wendet einen Paketsequenzidentifikator 211 an, d. h. eine Identifikationsnummer oder Paketnummer, berechnet und wendet einen Fehlerdetektionscode an, d. h. CRC 212, und legt die modifizierten TLPs der physikalischen Schicht 220 zur Übertragung quer über eine physikalische zu einer externen Vorrichtung vor.
  • In einem Beispiel umfasst die physikalische Schicht 220 einen logischen Subblock 221 und einen elektrischen Subblock 222, um ein Paket physikalisch zu einer externen Vorrichtung zu senden. Hier ist der logische Subblock 221 für die „digitalen” Funktionen der physikalischen Schicht 221 verantwortlich. In dieser Hinsicht kann der logische Subblock eine Sendesektion umfassen, um ausgehende Informationen zur Übertragung durch den physikalischen Subblock 222 vorzubereiten, und eine Empfängersektion, um empfangene Informationen zu identifizieren und vorzubereiten, bevor sie zur Verbindungsschicht 210 weitergeleitet werden.
  • Der physikalische Block 222 umfasst einen Sender und einen Empfänger. Der Sender wird vom logischen Subblock 221 mit Symbolen versorgt, die der Sender serialisiert und weiter zu einer externen Vorrichtung sendet. Der Empfänger wird mit serialisierten Symbolen von einer externen Vorrichtung versorgt und wandelt die empfangenen Signale in einen Bitstrom um. Der Bitstrom wird deserialisiert und dem logischen Subblock 221 zugeführt. In einer beispielhaften Ausführungsform wird ein 8b/10b-Übertragungscode verwendet, wobei Zehn-Bit-Symbole gesendet/empfangen werden. Hier werden spezielle Symbole verwendet, um ein Paket mit Rahmen 223 zu umrahmen. Zusätzlich liefert der Empfänger in einem Beispiel auch einen Symboltakt, der aus dem ankommenden seriellen Strom wiederhergestellt wird.
  • Obwohl, wie oben angegeben, die Transaktionsschicht 205, Verbindungsschicht 210 und physikalische Schicht 220 mit Bezugnahme auf eine spezifische Ausführungsform eines Protokollstapels (wie eines PCIe-Protokollstapels) diskutiert werden, ist ein geschichteter Protokollstapel nicht so eingeschränkt. Tatsächlich kann ein beliebiger geschichteter Protokollstapel eingeschlossen/implementiert werden und hier diskutierte Merkmale annehmen. Als Beispiel kann ein Port/eine Schnittstelle, der/die als geschichtetes Protokoll repräsentiert wird, umfassen: (1) eine erste Schicht, um Pakete zu assemblieren, d. h. eine Transaktionsschicht; eine zweite Schicht, um Pakete zu sequenzieren, d. h. eine Verbindungsschicht; und eine dritte Schicht, um die Pakete zu senden, d. h. eine physikalische Schicht. Als spezifisches Beispiel wird ein Hochleistungs-Zwischenverbindungs-Schichtprotokoll verwendet, wie hier beschrieben.
  • Mit Bezugnahme als nächstes auf 3 wird eine beispielhafte Ausführungsform eines seriellen Punkt-zu-Punkt-Fabrics veranschaulicht. Eine serielle Punkt-zu-Punkt-Verbindung kann einen beliebigen Übertragungsweg zum Senden serieller Daten umfassen. In der gezeigten Ausführungsform kann eine Verbindung zwei Niederspannungs-, differential getriebene Signalpaare umfassen: ein Sendepaar 306/311 und ein Empfangspaar 312/307. Demgemäß umfasst die Vorrichtung 305 eine Übertragungslogik 306, um Daten zur Vorrichtung 310 zu senden, und eine Empfangslogik 307, um Daten von der Vorrichtung 310 zu empfangen. Mit anderen Worten sind zwei Sendewege, d. h. Wege 316 und 317, und zwei Empfangswege, d. h. Wege 318 und 319, in einigen Implementierungen einer Verbindung eingeschlossen.
  • Ein Übertragungsweg bezieht sich auf einen beliebigen Weg zum Senden von Daten, wie eine Übertragungsleitung, eine Kupferleitung, eine optische Leitung, einen drahtlosen Kommunikationskanal, eine Infrarot-Kommunikationsverbindung oder einen anderen Kommunikationsweg. Eine Verbindung zwischen zwei Vorrichtungen, wie der Vorrichtung 305 und Vorrichtung 310, wird als Verbindung bezeichnet, wie die Verbindung 315. Eine Verbindung kann eine Spur unterstützen – wobei jede Spur einen Satz von Differentialsignalpaaren repräsentiert (ein Paar für das Senden, ein Paar für den Empfang). Um die Bandbreite zu skalieren, kann eine Verbindung mehrere Spuren aggregieren, die mit xN bezeichnet werden, wobei N eine beliebige unterstützte Verbindungsbreite ist, wie 1, 2, 4, 8, 12, 16, 32, 64 oder breiter.
  • Ein Differentialpaar kann sich auf zwei Übertragungswege beziehen, wie die Leitungen 316 und 317, um Differentialsignale zu senden. Wenn als Beispiel die Leitung 316 von einem niederen Spannungspegel auf einen hohen Spannungspegel hin- und herschaltet, d. h. eine Anstiegkante, wird die Leitung 317 von einem hohen Logikpegel auf einen niederen Logikpegel getrieben, d. h. eine Abfallkante. Differentialsignale zeigen potentiell bessere elektrische Charakteristiken, wie eine bessere Signalintegrität, d. h. Kreuzkopplung, Spannungsüberschwingung/unterschwingung, Rufen, unter anderen beispielhaften Vorteilen. Dies ermöglicht ein besseres Zeitfenster, was schnellere Übertragungsfrequenzen gestattet.
  • In einer Ausführungsform wird eine neue Hochleistungs-Zwischenverbindung (HPI) vorgesehen. Die HPI kann eine Cache-kohärente, verbindungsbasierte Zwischenverbindung der nächsten Generation umfassen. Als Beispiel kann eine HPI in Hochleistungs-Rechnerplattformen verwendet werden, wie Arbeitsstationen oder Servern, einschließlich in Systemen, wo das PCIe oder ein anderes Zwischenverbindungsprotokoll typischerweise verwendet wird, um Prozessoren, Beschleuniger, I/O-Vorrichtungen und dgl. zu verbinden. Die HPI ist jedoch nicht so eingeschränkt. Stattdessen kann eine HPI in beliebigen der hier beschriebenen Systeme oder Plattformen verwendet werden. Ferner können die entwickelten einzelnen Ideen auf andere Zwischenverbindungen und Plattformen angewendet werden, wie PCIe, MIPI, QPI, etc.
  • Um mehrere Vorrichtungen zu unterstützen, kann in einer beispielhaften Implementierung die HPI eine Instruktionssatz-Architektur-(Instruction Set Architecture-, ISA-)Agnostik umfassen (d. h. die HPI kann in mehreren verschiedenen Vorrichtungen implementiert werden). In einem anderen Szenario kann die HPI auch verwendet werden, um Hochleistungs-I/O-Vorrichtungen zu verbinden, nicht nur Prozessoren oder Beschleuniger. Beispielsweise kann eine Hochleistungs-PCIe-Vorrichtung mit einer HPI durch eine geeignete Translationsbrücke gekoppelt werden (d. h. HPI mit PCIe). Außerdem können die HPI-Verbindungen von vielen HPI-basierten Vorrichtungen verwendet werden, wie Prozessoren, in verschiedenster Weise (z. B. Sterne, Ringe, Netze, etc.). 4 veranschaulicht beispielhafte Implementierungen mehrerer potentieller Mehrfach-Socket-Auslegungen. Eine Zweifach-Socket-Auslegung 405, wie dargestellt, kann zwei HPI-Verbindungen umfassen; in anderen Implementierungen kann jedoch eine HPI-Verbindung verwendet werden. Für größere Topologien kann eine beliebige Auslegung verwendet werden, solange ein Identifikator (ID) zugeordnet werden kann und es irgendeine Form eines virtuellen Wegs gibt, unter anderen zusätzlichen oder ergänzenden Merkmalen. Wie gezeigt, hat eine Vierfach-Socket-Auslegung 410 eine HPI-Verbindung von jedem Prozessor zu einem anderen. In der Achtfach-Socket-Auslegung, die in der Auslegung 415 gezeigt ist, ist jedoch nicht jedes Socket durch eine HPI-Verbindung mit jedem anderen direkt verbunden. Falls ein virtueller Weg oder Kanal zwischen den Prozessoren existiert, wird die Auslegung unterstützt. Ein Bereich unterstützter Prozessoren umfasst 2–32 in einer nativen Domäne. Höhere Anzahlen von Prozessoren können unter anderen Beispielen durch die Verwendung mehrerer Domänen oder anderer Zwischenverbindungen zwischen Knotensteuereinheiten erreicht werden.
  • Die HPI-Architektur umfasst eine Definition einer geschichteten Protokollarchitektur, die in einigen Beispielen Protokollschichten (kohärente, nicht-kohärente und gegebenenfalls andere speicherbasierte Protokolle), eine Routing-Schicht, eine Verbindungsschicht und eine physikalische Schicht mit assoziierter I/O-Logik umfassen. Ferner kann die HPI außerdem unter anderen Beispielen Verstärkungen in Bezug auf Leistungsmanager (wie Leistungssteuereinheiten (Power Control Units, PCUs)), eine Ausbildung für Tests und Diagnose (Design for Test and Debug, DFT), Fehlerbehandlung, Register, Sicherheit umfassen. 5 veranschaulicht eine Ausführungsform eines beispielhaften HPI-geschichteten Protokollstapels. In einigen Implementierungen können wenigstens einige der in 5 veranschaulichten Schichten optional sein. Jede Schicht behandelt ihren eigenen Granularitätsgrad oder ihr eigenes Quantum an Informationen (die Protokollschicht 505a, b mit Paketen 530, Verbindungsschicht 510a, b mit Flits 535 und physikalische Schicht 505a, b mit Phits 540). Es ist zu beachten, dass ein Paket in einigen Ausführungsformen auf der Basis der Implementierung partielle Flits, ein einzelnes Flit oder mehrere Flits umfassen kann.
  • Als erstes Beispiel umfasst eine Breite eines Phits 540 ein 1:1-Mapping der Verbindungsbreite mit Bits (z. B. umfasst eine 20 Bit-Verbindungsbreite ein Phit mit 20 Bits, etc.). Flits könne eine größere Größe aufweisen, wie 184, 192 oder 200 Bits. Es ist zu beachten, dass, wenn ein Phit 540 20 Bits breit ist und die Größe des Flits 535 184 Bits beträgt, es dann eine Bruchzahl von Phits 540 erfordert, um ein Flit 535 zu senden (z. B. unter anderen Beispielen 9,2 Phits mit 20 Bits, um ein 184 Bit-Flit 535 zu senden, oder 9,6 mit 20 Bits, um ein 192 Bit-Flit zu senden). Es ist zu beachten, dass die Breiten der grundlegenden Verbindung in der physikalischen Schicht variieren können. Beispielsweise kann die Anzahl von Spuren pro Richtung 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, etc., umfassen. In einer Ausführungsform kann die Verbindungsschicht 501a, b mehrere Stücke unterschiedlicher Transaktionen in einem einzelnen Flit einbetten, und einer oder mehrere Köpfe (z. B. 1, 2, 3, 4) können innerhalb des Flits eingebettet sein. In einem Beispiel teilt die HPI die Köpfe in entsprechende Slots, um mehrere Nachrichten im Flit zu ermöglichen, die für unterschiedliche Knoten bestimmt sind.
  • Die physikalische Schicht 505a, b kann in einer Ausführungsform für den schnellen Transfer von Informationen auf dem physikalischen Medium (elektrisch oder optisch, etc.) verantwortlich sein. Die physikalische Verbindung kann Punkt-zu-Punkt zwischen zwei Verbindungsschichteinheiten sein, wie der Schicht 505a und 505b. Die Verbindungsschicht 510a, b kann die physikalische Schicht 505a, b aus den oberen Schichten abstrahieren und liefert die Fähigkeit, Daten (sowie Anforderungen) zuverlässig zu transferieren und eine Flusssteuerung zwischen zwei direkt verbundenen Einheiten zu verwalten. Die Verbindungsschicht kann auch für die Virtualisierung des physikalischen Kanals in mehrere virtuelle Kanäle und Nachrichtenklassen verantwortlich sein. Die Protokollschicht 520a, b greift auf die Verbindungsschicht 510a, b zurück, um Protokollnachrichten in die geeigneten Nachrichtenklassen und virtuellen Kanäle zu mappen, bevor sie der physikalischen Schicht 505a, b für einen Transfer quer über die physikalischen Verbindungen übergeben werden. Die Verbindungsschicht 510a, b kann mehrere Nachrichten unterstützen, wie unter anderen Beispielen Anforderung, Snoop, Antwort, Zurückschreiben, nicht-kohärente Daten.
  • Die physikalische Schicht 505a, b (oder Physical Layer, PHY) der HPI kann über der elektrischen Schicht implementiert sein (d. h. elektrische Leiter, die zwei Komponenten verbinden), und unterhalb der Verbindungsschicht 510a, b, wie in 5 veranschaulicht. Die physikalische Schicht und entsprechende Logik können auf jedem Agenten residieren und verbinden die Verbindungsschichten auf zwei Agenten (A und B), die voneinander getrennt sind (z. B. auf Vorrichtungen auf beiden Seiten einer Verbindung). Die lokalen und entfernten elektrischen Schichten sind durch physikalische Medien verbunden (z. B. Drähte, Leiter, optisch, etc.). Die physikalische Schicht 505a, b hat in einer Ausführungsform zwei Hauptphasen, Initialisierung und Betrieb. Während der Initialisierung ist die Verbindung für die Verbindungsschicht opak und eine Signalisierung kann eine Kombination zeitlich gesteuerter Zustände und Quittungsaustausch-Ereignisse involvieren. Während des Betriebs ist die Verbindung für die Verbindungsschicht transparent und die Signalisierung erfolgt bei einer Geschwindigkeit, wobei alle Spuren miteinander als einzelne Verbindung operieren. Während der Betriebsphase transportiert die physikalische Schicht Flits vom Agenten A zum Agenten B und vom Agenten B zum Agenten A. Die Verbindung wird auch als Verlinkung bezeichnet und abstrahiert einige physikalische Aspekte, einschließlich Medien, Breite und Geschwindigkeit, von den Verbindungsschichten, während Flits und Steuerung/Status der aktuellen Auslegung (z. B. Breite) mit der Verbindungsschicht ausgetauscht werden. Die Initialisierungsphase umfasst Nebenphasen, z. B. Sendeabruf, Auslegung. Die Betriebsphase umfasst auch Nebenphasen (z. B. Verbindungsleistung-Verwaltungszustände).
  • In einer Ausführungsform kann die Verbindungsschicht 510a, b so implementiert sein, dass sie einen zuverlässigen Datentransfer zwischen zwei Protokoll- oder Routing-Einheiten vorsieht. Die Verbindungsschicht kann die physikalische Schicht 505a, b aus der Protokollschicht 520a, b abstrahieren und kann für die Flusssteuerung zwischen zwei Protokoll-Agenten (A, B) verantwortlich sein, und virtuelle Kanaldienste für die Protokollschicht (Nachrichtenklassen) und Routing-Schicht (virtuelle Netze) vorsehen. Die Schnittstelle zwischen der Protokollschicht 520a, b und der Verbindungsschicht 510a, b kann typischerweise auf Paket-Ebene sein. In einer Ausführungsform wird die kleinste Transfereinheit in der Verbindungsschicht als Flit mit einer spezifizierten Anzahl von Bits, wie 192 Bits oder irgendeinem anderen Nennwert, bezeichnet. Die Verbindungsschicht 510a, b greift auf die physikalische Schicht 505a, b zurück, um die Transfereinheit der physikalischen Schicht 505a, b (Phit) in die Transfereinheit der Verbindungsschicht 510a, b (Flit) zu framen. Zusätzlich kann die Verbindungsschicht 510a, b logisch in zwei Teile geteilt werden, einen Sender und einen Empfänger.
  • Ein Sender/Empfänger-Paar auf einer Einheit kann mit einem Empfänger/Sender-Paar auf einer anderen Einheit verbunden werden. Die Flusssteuerung wird oft sowohl auf Flit- als auch Paket-Basis vorgenommen. Eine Fehlerdetektion und -korrektur wird potentiell auch auf Flit-Ebenen-Basis vorgenommen.
  • In einer Ausführungsform kann die Routing-Schicht 515a, b ein flexibles und verteiltes Verfahren vorsehen, um HPI-Transaktionen von einem Ursprung zu einem Ziel zu lenken. Das Schema ist flexibel, da Routing-Algorithmen für mehrere Topologien durch programmierbare Routing-Tabellen an jedem Router spezifiziert werden können (in einer Ausführungsform wird die Programmierung durch Firmware, Software oder eine Kombination davon vorgenommen). Die Routing-Funktionalität kann verteilt sein; das Routing kann durch eine Serie von Routing-Schritten erfolgen, wobei jeder Routing-Schritt durch ein Nachschlagen in einer Tabelle entweder am Ursprungs-, Zwischen- oder Ziel-Router definiert wird. Das Nachschlagen am Ursprung kann verwendet werden, um ein HPI-Paket in das HPI-Fabric zu injizieren. Das Nachschlagen an einem Zwischen-Router kann verwendet werden, um ein HPI-Paket von einem Eingangsport zu einem Ausgangsport zu lenken. Das Nachschlagen an einem Zielport kann verwendet werden, um auf den Ziel-HPI-Protokoll-Agenten abzuzielen. Es ist zu beachten, dass die Routing-Schicht in einigen Implementierungen dünn sein kann, da die Routing-Tabellen, und daher die Routing-Algorithmen, durch keine Spezifikation spezifisch definiert werden. Dies ermöglicht eine Flexibilität und verschiedenste Verwendungsmodelle, die flexible Plattformarchitekturtopologien umfassen, um von der Systemimplementierung definiert zu werden. Die Routing-Schicht 515a, b greift auf die Verbindungsschicht 510a, b zurück, um die Verwendung von bis zu drei (oder mehreren) virtuellen Netzen (VNs) vorzusehen – in einem Beispiel zwei blockierungsfreie VNs, VN0 und VN1, wobei einige Nachrichtenklassen in jedem virtuellen Netz definiert werden. Ein gemeinsam genutztes adaptives virtuelles Netz (VNA) kann in der Verbindungsschicht definiert werden, aber dieses adaptive Netz kann in Routing-Konzepten nicht direkt exponiert werden, da jede Nachrichtenklasse und jedes virtuelle Netz unter anderen Merkmalen und Beispielen dedizierte Ressourcen und einen garantierten Vorwärts-Fortschritt aufweisen kann.
  • In einer Ausführungsform kann die HPI eine Kohärenzprotokollschicht 520a, b umfassen, wobei ihre Unterstützungs-Agenten Datenleitungen aus dem Speicher cachen. Ein Agent, der Speicherdaten cachen möchte, kann das Kohärenzprotokoll verwenden, um die in seinen Cache zu ladende Datenzeile zu lesen. Ein Agent, der eine Datenzeile in seinem Cache modifizieren möchte, kann das Kohärenzprotokoll verwenden, um Eigentum an der Zeile zu erlangen, bevor die Daten modifiziert werden. Nach der Modifikation einer Zeile kann ein Agent Protokollanforderungen erfüllen, sie in seinem Cache zu halten, bis er entweder die Zeile in den Speicher zurückschreibt oder die Zeile in eine Antwort auf eine externe Anforderung einschließt. Zuletzt kann ein Agent externe Anforderungen erfüllen, eine Zeile in seinem Cache ungültig zu machen. Das Protokoll stellt die Kohärenz der Daten sicher, indem die Regeln vorgegeben werden, die alle Cache-Agenten befolgen können. Es sieht auch die Mittel für Agenten ohne Caches vor, Speicherdaten kohärent zu lesen und zu schreiben.
  • Zwei Zustände können durchgesetzt werden, um Transaktionen unter Verwendung des HPI-Kohärenzprotokolls zu unterstützen. Erstens kann das Protokoll die Datenkonsistenz als Beispiel auf einer per-Adresse-Basis unter den Daten in den Caches der Agenten und zwischen diesen Daten und den Daten im Speicher halten. Informell kann sich die Datenkonsistenz auf jede gültige Datenzeile in einem Cache eines Agenten beziehen, die den aktuellsten Wert der Daten repräsentiert, und in einem Kohärenzprotokollpaket gesendete Daten können den aktuellsten Wert der Daten zu der Zeit repräsentieren, zu der sie gesendet wurden. Wenn keine gültige Kopie der Daten in Caches oder in der Übertragung existiert, kann das Protokoll sicherstellen, dass der aktuellste Wert der Daten im Speicher residiert. Zweitens kann das Protokoll gut definierte Bindungspunkte für Anforderungen vorsehen. Bindungspunkte für ein Lesen können anzeigen, wann die Daten verwendbar sind; und für ein Schreiben können sie anzeigen, wann die geschriebenen Daten global beobachtbar sind und bei einem nachfolgenden Lesen geladen werden. Das Protokoll kann diese Bindungspunkte sowohl für cachbare als auch nicht-cachbare (uncacheable, UC) Anforderungen im kohärenten Speicherraum unterstützen.
  • Das HPI-Kohärenzprotokoll kann auch den Vorwärts-Fortschritt von Kohärenzanforderungen sicherstellen, die von einem Agenten an eine Adresse im kohärenten Speicherraum gestellt werden. Sicher können Transaktionen letztendlich erfüllt und für einen geeigneten Systembetrieb zurückgestellt werden. Das HPI-Kohärenzprotokoll kann in einigen Ausführungsformen keine Kenntnis einer Wiederholung zur Lösung von Ressourcenzuteilungskonflikten haben. So kann das Protokoll selbst definiert werden, keine zirkulären Ressourcenabhängigkeiten aufzuweisen, und Implementierungen können in ihren Ausbildungen darauf achten, keine Abhängigkeiten einzubringen, die zu Blockierungen führen. Zusätzlich kann das Protokoll anzeigen, wo Ausbildungen in der Lage sind, einen fairen Zugriff auf Protokollressourcen vorzusehen.
  • Logischerweise kann das HPI-Kohärenzprotokoll in einer Ausführungsform drei Elemente umfassen: Kohärenz-(oder Cache-)Agenten, Heim-Agenten und das HPI-Zwischenverbindungs-Fabric, das die Agenten verbindet. Kohärenz-Agenten und Heim-Agenten können zusammenarbeiten, um eine Datenkonsistenz zu erzielen, indem Nachrichten über die Zwischenverbindung ausgetauscht werden. Die Verbindungsschicht 510a, b und ihre verwandte Beschreibung können die Details des Zwischenverbindungs-Fabrics liefern, die umfassen, wie es sich an die Anforderungen des Kohärenzprotokolls hält, wie hier diskutiert. (Es ist anzumerken, dass die Unterteilung in Kohärenz-Agenten und Heim-Agenten der Klarheit dient. Eine Ausbildung kann unter anderen Beispielen mehrere Agenten beider Typen innerhalb eines Sockets enthalten oder sogar das Verhalten von Agenten in eine einzelne Ausbildungseinheit kombinieren.)
  • In einigen Implementierungen kann die HPI einen eingebetteten Takt verwenden. Ein Taktsignal kann in Daten eingebettet werden, die unter Verwendung der Zwischenverbindung gesendet werden. Mit dem in den Daten eingebetteten Taktsignal können bestimmte und dedizierte Taktspuren weggelassen werden. Dies kann beispielsweise nützlich sein, da es ermöglicht, dass mehr Pins einer Vorrichtung für den Datentransfer dediziert werden, insbesondere in Systemen, wo Raum für Pins vorrangig ist.
  • Die Verbindungsschicht kann einen zuverlässigen Datentransfer zwischen zwei Protokoll- oder Routing-Einheiten garantieren. Die Verbindungsschicht kann die physikalische Schicht aus der Protokollschicht abstrahieren, die Flusssteuerung zwischen zwei Protokoll-Agenten handhaben und virtuelle Kanaldienste für die Protokollschicht (Nachrichtenklassen) und Routing-Schicht (virtuelle Netze) liefern.
  • In einigen Implementierungen kann die Verbindungsschicht ein festgelegtes Quantum an Informationen behandeln, das als Flit bezeichnet wird. In einem Beispiel kann das Flit definiert werden, eine Länge von 192 Bits aufzuweisen. Es kann jedoch ein beliebiger Bereich von Bits, wie 81–256 (oder mehr), in verschiedenen Variationen verwendet werden. Eine große Flitgröße, wie 192 Bits, kann Format, zyklische Redundanzprüfung (Cyclic Redudancy Check, CRC) und andere Änderungen umfassen. Beispielsweise kann eine größere Flitlänge auch ermöglichen, dass das CRC-Feld erweitert wird (z. B. auf 16 Bits), um die vermehrten Flitnutzbits handzuhaben. Die Anzahl von Phits oder Einheitsintervallen (Unit Intervals, UI) (z. B. die Zeit, die für den Transfer eines einzelnen Bits oder Phits verwendet wird, etc.), um ein einzelnes Flit zu transferieren, kann mit der Verbindungsbreite variieren. Beispielsweise kann unter anderen potentiellen Beispielen eine 20 Spuren- oder Bitverbindungsbreite ein einzelnes 192 Bit-Flit in 9,6 UI transferieren, während eine 8 Spuren-Verbindungsbreite dasselbe Flit in 24 UI transferiert. Die Verbindungsschicht-Kreditierung und Protokoll-Paketierung können auch auf einem Flit basieren.
  • 6 veranschaulicht eine Darstellung 600 eines generalisierten Flits für eine 8-spurige Verbindungsbreite. Jede Spalte der Darstellung 600 kann eine Verbindungsspur repräsentieren und jede Zeile eine jeweilige UI. In einigen Implementierungen kann ein einzelnes Flit in zwei oder mehrere Slots unterteilt werden. Bestimmte Nachrichten oder Verbindungsschichtköpfe können in jeden Slot eingeschlossen werden, wodurch ermöglicht wird, dass mehrere bestimmte und in einigen Fällen unabhängige Nachrichten, die potentiell verschiedenen Transaktionen entsprechen, in einem einzelnen Flit gesendet werden. Ferner können unter anderen Beispielen die mehreren Nachrichten, die in Slots eines einzelnen Flits eingeschlossen sind, auch an verschiedene Zielknoten gerichtet werden. Beispielsweise veranschaulicht das Beispiel von 6 ein Flitformat mit drei Slots. Die schattierten Bereiche können den Bereich des Flits repräsentieren, der in einem jeweiligen Slot eingeschlossen ist.
  • In dem Beispiel von 6 kann ein „Hdr”-Feld für das Flit allgemein vorgesehen werden und eine Kopfanzeige für das Flit repräsentieren. In einigen Fällen kann das Hdr-Feld anzeigen, ob das Flit ein Kopfflit oder ein Datenflit ist. In Datenflits kann das Flit weiterhin Slots aufweisen, die Verwendung bestimmter Felder mit Nutzdaten jedoch weglassen oder ersetzen. In einigen Fällen können Datenfelder einen Operationscode und Nutzdaten umfassen. Im Fall von Kopfflits können verschiedenste Kopffelder vorgesehen werden. In dem Beispiel von 6 können „Oc”-Felder für jeden Slot vorgesehen werden, wobei das Oc-Feld einen Operationscode repräsentiert. Ähnlich kann oder können ein oder mehrere Slots ein entsprechendes „msg”-Feld aufweisen, das einen Nachrichtentyp des entsprechenden Pakets repräsentiert, welches in den Slot einzuschließen ist, vorausgesetzt dass der Slot ausgebildet ist, solche Pakettypen handzuhaben, etc. „DNID”-Felder können eine Zielknoten-ID (Destination Node ID) repräsentieren, ein „TID”-Feld kann eine Transaktions-ID repräsentieren, ein „RHTID”-Feld kann unter anderen potentiellen Feldern entweder eine Requestor Node-ID oder eine Home Tracker-ID repräsentieren. Ferner kann ein oder können mehrere Slots mit Nutzfeldern versehen werden. Zusätzlich kann unter anderen Beispielen ein CRC-Feld innerhalb eines Flits eingeschlossen werden, um einen CRC-Wert für das Flit vorzusehen.
  • In einigen Implementierungen kann die Verbindungsbreite während der Lebensdauer der Verbindung variieren. Beispielsweise kann die physikalische Schicht zwischen Verbindungsbreitenzuständen hin- und hergehen, wie zu und von einer vollständigen oder ursprünglichen Spurbreite und einer anderen oder partiellen Spurbreite. Beispielsweise kann in einigen Implementierungen eine Verbindung initialisiert werden, um Daten über 20 Spuren zu transferieren. Später kann unter vielen anderen potentiellen Beispielen die Verbindung zu einem partiellen Breitenübertragungszustand übergehen, wo nur 8 Spuren aktiv verwendet werden. Solche Spurbreitenübergänge können beispielsweise in Verbindung mit Leistungsverwaltungsaufgaben verwendet werden, die unter anderen Beispielen von einer oder mehreren Leistungssteuereinheiten (Power Control Unit, PCU) geleitet werden.
  • Wie oben angegeben, kann die Verbindungsbreite die Flitdurchsatzrate beeinflussen. 7 ist eine Darstellung eines beispielhaften 192 Bit-Flits, das über eine 8-spurige Verbindung gesendet wird, was zu einem Durchsatz des Flits mit 24 UI führt. Ferner können, wie in dem Beispiel von 7 gezeigt, Bits des Flits in einigen Fällen außerhalb der Reihenfolge gesendet werden, um beispielsweise zeitempfindlichere Felder früher im Transfer zu senden (z. B. Flittypfelder (z. B. Daten- oder Kopfflit), Operationscodes, etc.), und unter anderen Beispielen eine bestimmte Fehlerdetektion oder andere Funktionalität aufrechtzuerhalten oder zu vereinfachen, die in dem Flit verkörpert ist. Beispielsweise werden in dem Beispiel von 7 Bits 191, 167, 143, 119, 95, 71, 47 und 23 parallel auf Spuren L7 bis L0 während einer ersten UI (d. h. UI0) des Transfers gesendet, während Bits 168, 144, 120, 96, 72, 48, 24 und 0 während der 24. (oder letzten) UI des Flittransfers (d. h. UI23) gesendet werden. Es ist klar, dass in anderen Implementierungen und Beispielen andere Reihenfolgenschemata, Flitlängen, Spurbreiten, etc., verwendet werden können.
  • In einigen Fällen kann die Länge des Flits ein Vielfaches der Anzahl aktiver Spuren sein. In solchen Fällen kann das Flit gleichmäßig auf allen aktiven Spuren gesendet werden und der Transfer des Flits kann im Wesentlichen gleichzeitig an einer klaren (d. h. nicht überlappenden) Begrenzung enden. Beispielsweise kann davon ausgegangen werden, wie in der Darstellung von 8 gezeigt, dass 8 Bits eines Flits in konsekutiven Gruppierungen von 4 Bits oder „Tetraden” gesendet werden. In diesem Beispiel ist ein 192 Bit-Flit über eine 8-spurige Verbindung zu senden. Da 192 ein Vielfaches von 8 ist, kann das ganze Flit klar über die 8-spurige Verbindung in 24 UI transferiert werden. In anderen Fällen kann die Flitbreite kein Vielfaches der Anzahl aktiver Spuren sein. 9 zeigt beispielsweise eine andere Darstellung eines beispielhaften 192 Bit-Flits, das über 20 Spuren transferiert wird. Da 192 nicht glatt durch 20 teilbar ist, würde der Transfer des vollständigen Flits eine nicht-ganzzahlige Anzahl von Intervallen erfordern (z. B. 9,6 UI). In solchen Fällen kann, anstatt der Verschwendung „zusätzlicher” Spuren, die während der 10. UI des Transfers nicht verwendet werden, ein zweites überlappendes Flit mit den finalen Bits eines vorhergehenden Flits transferiert werden. Eine solche Überlappung oder ein Swizzling der Flits kann zu unscharfen Flitbegrenzungen (ihren und in einigen Implementierungen dazu, dass Flitbits außerhalb der Reihenfolge gesendet werden. Das für den Transfer verwendete Muster kann ausgelegt sein zu ermöglichen, dass zeitempfindlichere Felder des Flits früher in dem Flit transferiert werden, und unter anderen Überlegungen dass eine Fehlerdetektion und -korrektur aufrechterhalten wird. In einer oder beiden der physikalischen und Verbindungsschicht kann eine Logik vorgesehen werden, um Flitbits gemäß solchen Muster zu transferieren und zwischen Musters auf der Basis der aktuellen Verbindungsbreite dynamisch zu wechseln. Weitere Logik kann unter anderen Beispielen vorgesehen werden, um Flits aus derartig einem Swizzling unterliegenden oder geordneten Bitströmen umzuordnen oder zu rekonstruieren.
  • In einigen Implementierungen können Flits als Kopfflits (z. B. Paketkopfdaten tragend) oder Datenflits (z. B. Paketnutzdaten tragend) charakterisiert werden. Mit erneuter Bezugnahme auf 6 kann ein Flitformat definiert werden, dass drei (3) bestimmte Slots (z. B. 0, 1 und 2) umfasst, wodurch ermöglicht wird, dass bis zu drei Köpfe in einem einzelnen Flit transferiert werden (z. B. ein Kopf in jedem Slot). Demgemäß kann jeder Slot sowohl Steuerfelder als auch ein Nutzinformationsfeld aufweisen. Zusätzlich zu diesen können Nutzfelder für jeden Kopf (und Slot) definiert werden. Ferner kann ein schwebendes Nutzinformationsfeld definiert werden, das flexibel als zusätzliche Nutzlänge für zwei oder mehrere der Slots (z. B. entweder vom Slot 0 oder Slot 1) auf der Basis der Kopftypen in diesen Slots verwendet werden kann.
  • In einer Ausführungsform, wie jener, die in Verbindung mit 6 veranschaulicht wird, können zwei Slots, Slot 0 und Slot 1, so definiert werden, dass sie gleich große Nutzinformationsfelder aufweisen, während der Slot 2 ein viel kleineres Nutzinformationsfeld zur Verwendung durch einen bestimmten Subsatz von Köpfen aufweist, bei denen die Verwendung derartiger größerer Nutzinformationsfelder fehlt. Ferner können in einem Beispiel unter anderen potentiellen Implementierungen Slot 1 und 2-Steuerfelder keine vollständigen Nachrichtenklassencodierungen (im Gegensatz zu Slot 0) tragen, und der Slot 2 kann keine vollständige Operationscode-Codierung tragen.
  • Wie oben angegeben, können in einigen Implementierungen Slot 1 und 2 keine vollständigen Nachrichtenklassencodierungen tragen, da aufgrund von Bildungseinschränkungen für Slots nicht alle Bits verwendet werden. Der Slot 1 kann ein Nachrichtenklassen-Bit 0 tragen. Hier werden Anforderungs-(Request-, REQ-) und Snoop-(SNP-)Pakete zugelassen. In dieser Implementierung werden REQ- und SNP-Nachrichtenklassencodierungen durch ein Bit 0 differenziert. Falls ein Entwickler verschiedene Nachrichtenklassen in einem partiellen Nachrichtenklassenfeld zulassen möchte, kann er als Ergebnis entweder eine andere Bitposition wählen (d. h. ein oberes Bit, das zwei verschiedene Typen von Nachrichten differenziert) oder dem Bit niedrigerer Ordnung verschiedene Nachrichtentypen zuordnen. Hier werden jedoch die oberen zwei Bits als 0 impliziert, wobei das untere Bit zwischen REQ und SNP unterscheidet. In diesem Beispiel trägt der Slot 2 keine Nachrichtenklassen-Bits, da nur Antwort-(Response-, RSP-) (Codierung 2) Pakete eingelassen werden. Daher ist die Nachrichtenklassencodierung für den Slot 2 RSP-2. Der Slot 2 kann auch einen partiellen Operationscode tragen. Wie oben, kann angenommen werden, dass eines oder mehrere der Operationscodebits 0 ist oder sind. Als Ergebnis können partielle Nachrichtenklassenfelder und partielle Operationscodefelder verwendet werden, die einen Subsatz von Nachrichten und Operationscodes definieren, welche verwendet werden können. Es ist zu beachten, dass mehrere Sätze von Operationscodes und Nachrichtenklassen definiert werden können. Falls ein Bit niedrigerer Ordnung der Nachrichtenklasse verwendet wird, ist hier ein Subsatz von Nachrichtentypen (d. h. MSG-Typ 1/MSG-Typ 2) verfügbar. Falls unter anderen Beispielen 2 Bits verwendet werden, dann wird jedoch ein größerer Subsatz vorgesehen (z. B. Nachrichtentyp 1/Nachrichtentyp 2/Nachrichtentyp 3/Nachrichtentyp 4).
  • Nachrichtenklassencodierungen können bestimmten Kopftypen entsprechen, die in einen oder mehrere definierte Slots in einem Flit einzuschließen sind (oder diese zu verwenden haben). Beispielsweise kann der Kopf mehrere Größen haben. In einem Beispiel kann ein Drei-Slot-Flit definiert werden, um auf der Basis des Kopftyps potentiell vier Kopfgrößen zu unterstützen. Tabelle 1 umfasst eine beispielhafte Auflistung potentieller Kopfformate und assoziierter Größen: TABELLE
    Kopfformat Kopfgröße Beschreibung
    SA Einzel-Slot Anforderung
    SA-S Einzel-Slot Snoops (umfasst schwebendes Nutzinformationsfeld)
    SA-D Einzel-Slot Datenkopf
    SR-U kleiner Slot Vollendung ohne Daten
    SR-O Einzel-Slot ordnen
    SR-C Einzel-Slot Konfliktlösung
    SR-D Einzel-Slot Datenkopf
    PW dualer Slot partielles Schreiben
    PR dualer Slot partielles Schreiben
    P2P dualer Slot Peer-to-peer
    NCM dualer Slot nicht-kohärente Nachrichtenübermittlung
    Slot-NULL Einzel-Slot (oder nur Operationscode) Steuerflit
    LLCRD kleiner Slot Steuerflit
    LLCTRL vollständiges Flit Steuerflit
  • Kleine(oder Einzel-)Slotköpfe können für jene Nachrichten sein, die klein genug sind, um in den Slot 2 zu passen, und die keine Protokollordnungsanforderungen aufweisen, welche sie in den Slot 0 zwingen. Ein kleiner Slotkopf kann auch in den Slot 0 platziert werden, wenn die Slot-Bildungseinschränkungen für das Flit dies erfordern. Der Einzel-Slotkopf kann für jene Nachrichten mit Nutzinformationen sein, die in den Slot 0 oder Slot 1 passen können. Einige Einzel-Slotköpfe können auch das schwebende Nutzinformationsfeld verwenden. Beispielsweise können in einer Ausführungsform Standard Address Snoop-(SA-S-)Köpfe nicht sowohl in dem Slot 0 als auch Slot 1 desselben Flits in dem Beispiel gesendet werden, wo nur ein HTID- oder schwebendes Feld existiert. Bestimmte Einzel-Slotköpfe können den Slot 0 auf der Basis von Protokollordnungsanforderungen verwenden. Der duale Slotkopf kann unter anderen Beispielen für jene Nachrichten sein, die groß genug sind, dass sie sowohl das Slot 0- als auch Slot 1-Nutzinformationsfeld zusätzlich zum schwebenden Nutzinformationsfeld verbrauchen.
  • Ein Slot NULL-Operationscode kann einen speziellen Operationscode umfassen, der in einem Beispiel entweder im Slot 0 oder Slot 1 verwendet werden kann. Als Beispiel kann für den Slot 0 Slot_NULL verwendet werden, wenn die Verbindungsschicht keinen Kopf aufweist, der im Slot 0 zu senden ist, aber einen Kopf aufweist, der im Slot 1 oder 2 zu senden ist. Wenn Slot_NULL im Slot 0 verwendet wird, wird unter anderen Beispielen davon ausgegangen, dass die Slot 0-Nutzinformationen reserviert (RSVD) sind. In einigen Implementierungen kann Slot_NULL potentiell unter zwei Bedingungen im Slot 1 verwendet werden. Erstens wenn Slot 0 einen dualen Slot oder einen speziellen Steuerkopf codiert und so die Slot 1-Nutzinformationen verbraucht. In solchen Fällen kann der Slot 1-Operationscode auf Slot_NULL gesetzt werden. Die zweite Bedingung ist, wenn die Verbindungsschicht im Slot 1 nichts zu senden hat, aber einen gültigen Einzel-Slotkopf für Slot 0 oder kleinen Slotkopf für Slot 2 aufweist. Unter dieser Bedingung kann unter anderen potentiellen Beispielen der Slot 1-Operationscode auf Slot_NULL gesetzt werden, und die Slot 1-Nutzinformationen können als reserviert angesehen werden.
  • In einigen Implementierungen kann der kleine Slot 2 eine reduzierte Anzahl von Operationscodebits umfassen. Wenn die Verbindungsschicht im Slot 2 nichts zu senden hat, kann sie „Implicit NULL” durch das Codieren eines spezifischen Operationscodes senden, wie einen Verbindungsschicht-Kreditoperationscode, und durch das Setzen des Slot 2-Nutzinformationsfelds nur auf Nullen. Der Empfänger dieser Slot 2-Codierung kann sie als Verbindungsschicht-Kreditnachricht verarbeiten (außer in dem Fall der speziellen Steuerflits), aber die alle-Null-Codierung wird keinen Effekt auf den Kredit- und Quittungszustand haben. Im Fall spezieller Steuerflits, da sie das gesamte Flit verbrauchen können, können die Slot 2-Nutzinformationen als RSVD angesehen werden, und Implicit NULL wird ignoriert. Wenn die Verbindungsschicht unter anderen Beispielen in allen der drei Slots und CRD/ACK-Felder nichts zu senden hat, kann die Verbindungsschicht eine spezielle Steuer-Null-Nachricht senden.
  • Slot-Bildungseinschränkungen können für einen oder mehrere der definierten Slots eines Flits definiert werden. In einer Ausführungsform können Dual-Slotköpfe nur ihre Nachrichtenklasse und ihren Operationscode in Slot 0 platziert haben. Wenn Slot 0 einen Dual-Slotkopf enthält, kann der Slot 1 einen Slot_NULL-Operationscode codieren, da das Slot 1-Nutzinformationsfeld vom Slot 0-Kopf verbraucht wird. Wenn der Slot 0 einen Slot NULL-Einzel-Slot oder einen kleinen Slotkopf aufweist, können sowohl Slot 1 als auch Slot 2 beide einen Nicht-NULL-Kopf codieren. In diesem bestimmten Beispiel (z. B. in 6 veranschaulicht) sind nur kleine Slotköpfe in Slot 2 zulässig. Wenn sowohl Slot 0 als auch Slot 1 Einzel-Slotköpfe enthalten, kann einer von einem Typ sein, der das schwebende Nutzinformationsfeld verbraucht. Wenn weder Slot 0 noch Slot 1 einen Kopftyp aufweisen, der das schwebende Nutzinformationsfeld verbraucht, kann das Feld als RSVD angesehen werden.
  • In einigen Implementierungen kann die Verbindungsschicht zusätzlich mehrere verschiedene Typen virtueller Netz- oder virtueller Kanalkredite verwenden. In einem Beispiel könne gepoolte virtuelle netzadaptive (VNA-)Kredite unterstützt werden, und ein VNA-Feld kann vorgesehen werden. In einer beispielhaften Implementierung kann, wenn das VNA-Feld ein Nicht-VNA-Flit anzeigt (z. B. ein Flit, das einen anderen Kreditpool verwendet), der Kopf bezeichnet werden, um in den Slot 0 platziert zu werden. Ferner kann der Slot 2-Operationscode in diesem Fall einen Slot 2-Kredit umfassen. Wenn der Slot 0 unter anderen potentiallen Implementierungen einen speziellen Steuerkopf codiert, können ferner beide Slot 1- und Slot 2-Steuerfelder auf Festwerte gesetzt werden, und keine Köpfe können in diese Slots platziert werden.
  • Wie oben angegeben, können in Kopfflits verschiedenste unterschiedliche Felder vorgesehen werden, um in entsprechende Flitslots eingeschlossen zu werden, wie in dem bestimmten Beispiel von 6 veranschaulicht. Es ist zu beachten, dass die veranschaulichten und beschriebenen Felder als Beispiel vorgesehen werden und auch zusätzliche oder ergänzende Felder eingeschlossen werden können. Tatsächlich können unter anderen Beispielen einige der beschriebenen Felder optional sein und in einigen Implementierungen weggelassen werden.
  • In einem Beispiel können ein Nachrichtenklassen-(Message Class-, MC-)Feld sowie andere Felder vorgesehen werden. In einigen Beispielen kann die Protokollschicht das Nachrichtenklassenfeld verwenden, um die Protokollklasse zu definieren, die auch als hauptsächliches Operationscodefeld wirkt. Die Verbindungsschicht kann das Nachrichtenklassenfeld als Teil der virtuellen Kanal-(Virtual Channel-, VC-)Definition verwenden. Einige Protokollklassen/VC können unter anderen Beispielen mehrere Nachrichtenklassencodierungen aufgrund der Anzahl von Operationscodes verwenden, die zu codieren sind. Beispielsweise können Requests (REQ), Snoops (SNP), Response (RSP), Writeback, nichtkohärenter Bypass und nicht-kohärente Standardtypen unterstützt werden. Falls jeder Typ sechzehn Operationen codiert, besteht ein Operationscoderaum von 96 Operationen. Und falls ein anderes Modusbit oder ein anderer Operationscoderaum für jeden Typ definiert wird, können dann weitere 96 Operationen vorgesehen werden, usw.
  • In einem Beispiel kann zusätzlich ein Operationscodefeld vorgesehen werden. Die Protokollschicht kann den Operationscode in Verbindung mit der Nachrichtenklasse verwenden, um einen vollständigen Operationscode zu bilden (d. h. den Nachrichtenklassentyp und die Operation darin zu definieren). Als Beispiel unter anderen Beispielen kann derselbe Operationscode mit einem REQ-Nachrichtentyp eine erste Anforderungsoperation definieren, während derselbe Operationscode mit einer SNP-Nachrichtenklasse eine zweite, andere SNP-Operation definieren kann. Die Verbindungsschicht kann den Operationscode verwenden, um beispielsweise zwischen einem Heim-Agenten- oder einem Cache-Agentenziel für Pakete zu unterscheiden, wenn ein Heim-Agent und ein Cache-Agent dieselbe NodeID gemeinsam nutzen. Zusätzlich kann die Verbindungsschicht den Operationscode unter anderen potentiellen Verwendungen auch verwenden, um die Paketgröße zu bestimmen.
  • Wie oben angegeben, können Flitköpfe ferner ein virtuelles netzadaptives (VNA-)Feld umfassen. Wenn ein VNA-Feld in einem Beispiel auf einen ersten Wert gesetzt wird, kann das Feld anzeigen, dass das Flit VNA-Kredite verwendet. Wenn es unter anderen potentiellen Implementierungen auf einen zweiten Wert gesetzt wird, verwendet das Flit VN0- oder VN1-Kredite. In einer Ausführungsform kann ein Wert anzeigen, dass das Flit ein Einzel-Slot-Flit ist, und die Codes der Slots 1 und 2 können als NULL definiert werden.
  • Ein virtuelles Netz-(VN-)Feld kann auch vorgesehen werden und für ein Flit anzeigen, ob der Kopf oder die Köpfe in dem Flit ein bestimmtes virtuelles Netz verwenden, wie ein virtuelles Netz VN0 oder VN1. Dieses kann sowohl für Kreditzwecke als auch dazu verwendet werden, um anzuzeigen, welches virtuelle Netz eine Nachricht räumen sollte, wenn sie VNA verwendet. Falls ein VN-Bit für das gesamte Flit vorgesehen wird, kann ein beliebiges VNA-Flit, das mehrere Köpfe enthält, sicherstellen, dass alle von ihnen auf VN0 räumen oder alle von ihnen auf VN1 räumen. Alternativ dazu können mehrere VN-Bits vorgesehen werden. Für Nicht-VNA-Flits kann ermöglicht werden, dass nur der Slot 0 einen Nicht-Steueroperationscode aufweist, so dass das VN dieses Netz des Kopfs anzeigen kann.
  • In einigen Implementierungen können Slots in einem Flit für kleine Nutzinformationsnachrichten verwendet werden, wie u. a. Kreditrückführungen, ACKs, NAKs. In einem Beispiel kann ein Kanalfeld vorgesehen werden, das zur Verwendung bei Kreditrückführungen codiert werden kann. Diese Codierung, in Kombination mit dem virtuellen Netzfeld, kann den virtuellen Kanal vorsehen, auf den eine Kreditrückführung mappt. Wenn eine Nachrichtenklasse mehrere Codierungen aufweist, können sie alle auf einen einzelnen Kanalwert zur Kreditgewährung mappen. Wenn der Kreditrückführungstyp VNA ist, kann der Kanalwert ignoriert werden. Die Verwendung von RSVD-Codierungen kann von der empfangenden Komponente als Fehler behandelt werden. Die Tabelle 2 umfasst Beispiele unterschiedlicher Kanaloptionen, die codiert werden können. Es ist zu beachten, dass eine beliebige Kombination von Bits (oder Bits, die einen Hexadezimalwert repräsentieren) verwendet werden kann. Als Beispiel kann eine niedrigere Ordnung von 3 Bits zur Codierung verwendet werden. TABELLE 2
    Kanal
    REQ: Request
    SNP: Snoop
    RSP: Response
    RSVD: Reserved
    WB: Write back
    NCB: nicht-kohärenter Bypass
    NCS: nicht-kohärenter Standard
  • Quittungs- oder ACK-Felder können auch als Kopffelder vorgesehen werden, um in einen Flitslot eingeschlossen zu werden. Ein ACK-Feld kann von der Verbindungsschicht verwendet werden, um von einem Empfänger zu einem Sender den fehlerfreien Empfang von Flits zu kommunizieren. ACK mit einem ersten Wert zeigt an, dass eine Anzahl von Flits, wie 4, 8 oder 12, ohne Fehler empfangen wurden. Wenn ein Sender ACK empfängt, kann er die Zuordnung der entsprechenden Flits aus der Verbindungsschicht-Wiederholungswarteschlange aufheben. ACK und ACK-Felder können in Kreditrückführungs-Steuerflits verwendet werden (z. B. LLCRD), wobei unter anderen Beispielen die Gesamtanzahl von Quittungen rückgeführt wird, die von der Erzeugung des vollständigen Quittungsrückführungswerts bestimmt wird (Quittung erster Teil, ACK, Quittung zweiter Teil).
  • Wie oben angegeben, kann in einigen Implementierungen auch ein Kopfanzeige-Bit (Hdr) vorgesehen werden und kann für einen oder mehrere Zwecke verwendet werden. Beispielsweise kann ein Hdr-Paket identifizieren, ob das Paket ein Kopf- oder ein Datenflit ist, kann anzeigen, dass das Flit der Start eines neuen Pakets ist, und den Start eines verschachtelten Verbindungsschicht-Steuerflits anzeigen. Das Hdr kann für das erste Flit aller Pakete gesetzt werden.
  • Wie oben angegeben, können in einigen Implementierungen spezielle Flittypen vorgesehen werden, wie ein Verbindungsschicht-Steuerflit. Solche Steuerflits können weiter das definierte Mehrfach-Slot-Format verwenden, das für einen Slot definiert wird, während sie spezielle Kopftypen verwenden, die der Steuer- und Fehlerverwaltungsfunktionalität entsprechen, welche unter Verwendung solcher Steuerflits zu vereinfachen ist. Beispielsweise können spezielle Kopftypen vorgesehen werden, die das gesamte Flit verbrauchen und zur Kommunikation zwischen verbundenen Verbindungsschichten verwendet werden.
  • In einigen Implementierungen könne spezielle Steuernachrichten in eine einzelne Nachrichtenklasse plus Operationscodecodierung zur Verbindungsschicht-Steuernachrichtenübertragung platziert werden. Dieser Operationscode kann als „LLCTRL” bezeichnet werden, und alle Steuernachrichtentypen können unter diesen Subtyp eines Operationscodes fallen. Dies kann in einigen Implementierungen ermöglichen, dass die Anzahl von Nachrichtenklassen-Bits, die in ein Mehrfach-Slot-Flitformat einzuschließen sind, reduzier wird (z. B. von vier Nachrichtenklassen-Bits auf drei, etc.). In einigen Implementierungen kann auch eine andere Form eines Verbindungsschicht-Steuerflits vorgesehen werden, um einen Subsatz von Steuernachrichten handzuhaben. Beispielsweise kann unter anderen Beispielen ein LLCRD-Operationscode für Quittungs- und Kreditrückführungen definiert werden. Im Fall von LLCTRL-Operationscodes kann ein Mehrfach-Slot-Flit, anstelle der Ermöglichung der Verwendung jedes der mehrfachen Slots, die gesamten Flit-Nutzinformationen für die Steuernachricht dedizieren und spezielle Codierungen für Verbindung-zu-Verbindung-Kommunikationen gestatten.
  • Verschiedenste Steuerflits können definiert werden (z. B. unter LLCTRL). In einem Beispiel können einige Implementierungen einer HPI-Zwischenverbindung die Übertragung eines Virusstatus in Nachrichten auf Protokoll-Ebene und eines Giftstatus in Datenflits umfassen. In einer Ausführungsform können die Nachrichten auf Protokoll-Ebene und der Giftstatus zu Steuerflits bewegt werden. Da diese Bits selten verwendet werden (z. B. nur im Fall von Fehlern), erhöht ihre Entfernung aus den Nachrichten auf Protokoll-Ebene potentiell die Flitverwendung. Ihr Injizieren unter Verwendung von Steuerflits kann weiter eine Einschränkung der Fehler ermöglichen.
  • Virusalarme können einen Fehlerbeschränkungsmechanismus umfassen, der aus einem fatalen Fehler resultiert, wo es schwierig ist, eine Fehlerausbreitung zu vermeiden, ohne das System sofort herunterzufahren oder eine Datenkorruption zu erleiden. Ein Virusalarm kann das Fehlerausbreitungsproblem in Bezug auf fatale Fehler adressieren, wobei ermöglicht wird, dass ein infiziertes System problemlos heruntergefahren wird und in dem Prozess die Systemschnittstelle und andere gemeinsam genutzte Ressourcen quer über Systempartitions gesäubert werden.
  • Virusalarme können gemäß einer Annahme implementiert werden, dass die HPI-Schnittstelle operational ist und verwendet werden kann, um die Fehleranzeige zu liefern. In der HPI kann ein Virusalarm unter Verwendung eines speziellen Virusfehler-Steuerflits ausgegeben werden. Wenn ein Agent viral wird, wird er abgehende Flits verdrängen und ein virales Flit an den entfernten Agenten senden. Jeder Protokoll-Agent, der einen fatalen Fehler detektiert oder ein Paket empfängt, das einen viralen Zustand anzeigt, kann in einen viralen Zustand übergehen. Sobald ein viraler Zustand eingestellt wird, kann der Zustand andauern, bis der Agent zurückgesetzt wird (Rücksetzen des Systems) oder irgendein anderer Plattformspezifischer Mechanismus verwendet wird, um den viralen Zustand zu säubern. Sobald ein Agent viral wird, wird dann angenommen, dass alle zukünftigen Pakete von diesem Agenten beeinträchtigt sind, bis die Plattform den Schweregrad des Fehlers bestimmen kann. Die Plattform kann für die Steuerung des Systems verantwortlich sein, so dass eine Maskierung der Virusausbreitung oder eine Säuberung des viralen Zustands die Fehlerbeschränkung nicht beeinträchtigt. Beispielsweise könne I/O-Proxy-Einheiten aufhören, beliebige Daten zu einem Permanentspeicher oder I/O-Vorrichtungen zu führen, nachdem sie viral wurden. Zusätzlich kann oder können ein oder mehrere Agenten, die in einem viralen Zustand sind, neue Anforderungen generieren, um es einer Fehlerbehandlungs-Software zu gestatten, die Systempartition problemlos herunterzufahren. Der Mechanismus, der vom System für ein problemloses Herunterfahren verwendet wird, kann spezifisch für die Plattformimplementierung sein und außerhalb des Umfangs dieser Beschreibung liegen.
  • Der Virusalarmmechanismus kann ein globaler Status pro Partition sein und kann bei allen Rücksetzereignissen gelöscht werden, einschließlich Warm-Rücksetzen und Kalt-Rücksetzen. Unter einem Virusalarm werden andere abgehende Flits durch das Senden eines Virusfehler-Steuerflits verdrängt. 10 veranschaulicht eine Darstellung eines Beispiels eines speziellen Virusfehler-Steuerflits 1005 auf einer 8-spurigen Verbindung. Wie in diesem bestimmten Beispiel gezeigt, wird das allgemeine Mehrfach-Slot-Format eines Flits aufrechterhalten. In diesem Beispiel werden jedoch Nachrichtenkopffelder des Slots 0 verwendet, um den viralen Zustand zu kommunizieren. Die verbleibenden Slots können Slot_NULL sowie die Nutzinformationen sein (z. B. als RSVD interpretiert).
  • Die Verbindungsschichtlogik kann in einigen Ausführungsformen ausgelegt sein, Virusfehler-Steuerflits einzuschränken, in eine Verbindungsschicht-Wiederholungswarteschlange eingeschlossen zu werden und in diese einzutreten. Tatsächlich können spezielle Steuerflits identifiziert und anders handgehabt werden als andere Flits, so dass das Flit Priorität erhält. Ferner kann die Struktur des speziellen Flits vereinfacht werden, wie im Beispiel von 10, um die Verarbeitung des Steuerflits effizienter zu machen. Als Beispiel unter anderen Merkmalen und Beispielen kann, um sicherzustellen, dass ein Viruszustand im Fall eines Fehlers an einem Virusfehlerflit nicht verlorengeht, ein Viruszustand beispielsweise auch in einer LLCTRL-RETRY-Ack-Nachricht getragen werden.
  • In einer Ausführungsform kann die Verbindungsschicht zusätzlich drei spezielle Diagnosenachrichttypen definieren. Eine zweite Anzahl von Standard-Diagnosenachrichtentypen kann für Erweiterungen eines zukünftigen allgemeinen Diagnosepakettyps reserviert werden. Die Unterstützung von Diagnosenachrichtentypen kann Implementierungs- oder Vorrichtungs-spezifisch sein. In einem Beispiel können LLCTRL-DEBUG-Flits von der Verbindungsschicht gesendet werden, wenn ein Freigabe-Diagnosesteuerfeld gesetzt wird. Wenn dieses Bit nicht gesetzt wird, können LLCTRL-DEBUG-Flits auf der Verbindung nicht gesendet werden. Diagnosepakete können wichtig sein, um interne Zustände von Vorrichtungen zu exponieren, die durch HPI verbunden sind, welche ansonsten nicht zugänglich sind. Die Inhalte von Diagnosepaketen können auch Implementierungs-spezifisch sein. Die Inhalte können Dinge umfassen, wie Verzweigungsinformationen (Ursprung- und Ziel-IPs), Zeitstempel, Anzeigen eines internen Ereignisauslösers, usw. Die exponierten Daten können beispielsweise von Überwachungseinrichtungen stammen, wie Logikanalysatoren zur Nachverarbeitung und Ausfallanalyse. Ein beispielhaftes Flit, das einen Diagnosenachrichtentyp codiert, ist in 11 veranschaulicht.
  • HPI kann ferner den Einschluss einer Kommunikation von Giftfehlern unter Verwendung spezieller Flits unterstützen. Beispielsweise kann ein spezielles Giftfehler-Steuerflit, wie das (z. B. 1205) in dem Beispiel von 12 veranschaulichte, verwendet werden, um Gift in die Datennutzinformationen eines Datenpakets zu injizieren und anzuzeigen, dass von den vorher gesendeten Daten bestimmt wurde, dass sie korrumpiert sind oder auf andere Weise Fehler besitzen. In einigen Fällen kann ein Giftfehler-Steuerflit für ein unmittelbar vorausgehendes Flit auf derselben Verbindung gelten. Ein spezielles Giftfehler-Steuerflit kann wiederholbar sein, um zu garantieren, dass Giftinformationen im Fall eines Verbindungsfehlers nicht verlorengehen. Wenn Daten zu vergiften sind, wird das Verbindungsschicht-Giftfehler-Steuerflit zwischen dem ersten und zweiten Datenflit eines Pakets verschachtelt, falls die ersten 32 Bytes vergiftet werden müssen. Falls die zweiten 32 Bytes vergiftet werden müssen, wird das Giftfehlerflit zwischen dem zweiten und dritten Datenflit verschachtelt, usw.
  • In dem besonderen Beispiel von 12 kann ein Giftfehlerflit 1205 den Giftzustand im Operationscode von Slot 0 codieren, wobei die verbleibenden Slots (und entsprechenden Felder) mit Slot_NULL codiert sind. Ferner können, wie im Beispiel des Virusfehler-Steuerflits, Nutzinformationsfelder nullgesetzt auf oder auf Null gesetzt und als RSVD-Felder angesehen werden.
  • Kleine Slot-Felder können in einigen Verbindungsschicht-Steuernachrichten verwendet werden. Beispielsweise können Kredit-(CRD-) und Quittungs-(ACK-)Bits in kleine Slots eines Flits eingeschlossen werden, um unter vielen anderen Beispielen eine Rückführung einer vorgemappten Anzahl von Krediten, wie acht, oder einer Anzahl von ACKs, wie 8, zu ermöglichen. In einigen Implementierungen können Kredit- und Quittungsfelder vollständig codiert werden, um so beliebige Bezeichnungen von Krediten oder Quittungen zu bezeichnen. Als Beispiel können in vollständig codierten Kreditfeldern Bits als Credit[n] und Acknowledge[n] verwendet werden, wenn ein Slot codiert wird, um anzuzeigen, dass eine Verbindungsschicht-Kredit-(LLCRD-)Nachricht umfasst ist. In einigen Fällen können vollständige Kreditrückführungsfelder potentiell die Effizienz verbessern, indem ermöglicht wird, dass ein beliebiges Flit die Anzahl von Krediten und die Anzahl von Quittungen unter Verwendung von insgesamt nur 2 Bits rückführt, jedoch auch ermöglicht wird, dass ihre Definitionen konsistent bleiben, wenn eine vollständige LLCRD-Rückführung verwendet wird.
  • In einem Beispiel können zur Flusssteuerung Kredit/Quittungsinformationen als Teil von Nicht-LLCTRL-Nachrichten fließen. Beispielsweise kann in einer Implementierung HPI vorsehen, dass jedes Kopfflit Einzelbitfelder umfasst, die als Mechanismus für Massenkreditrückführungen oder Massenquittungen dienen. Beispielsweise kann das Setzen solcher Felder auf „1” eine Rückvergütung von 8 VNA-Krediten (im Fall eines CRD-Felds) oder 8 ACKs (im Fall eines ACK-Felds) anzeigen. Dies kann ermöglichen, dass Kreditrückvergütungen auf einem beliebigen Kopfflit gesendet werden (mit der Ausnahme von LLCTRL-Nachrichten in einigen Implementierungen).
  • Um andere Kredit/Quittungsrückführungsinkremente als irgendeine Massen- oder vordefinierte Menge (z. B. 8) zu adressieren und um die Ineffizienzen zu bewältigen, die durch einen begrenzten Satz von Rückführungsinkrementen eingebracht werden können, kann andererseits ein LLCRD-Operationscode vorgesehen werden. Der LLCRD-Operationscode kann den kleinsten Slot im Kopfflit (z. B. Slot 2) verwenden und codieren, um Kredit- und ACK-Rückführungen in einem oder mehreren Formaten zu kommunizieren. Beispielsweise kann in einem Beispiel ein erstes Format vorgesehen werden, das eine Rückführung einer beliebigen Menge (z. B. von 0–7) von VN0- oder VN1-Krediten für eine einzelne Nachrichtenklasse ermöglicht, und einer beliebigen Menge an ACKs (z. B. von 0–255) durch Bits, die für VN0/1-Kreditrückführungen dediziert sind (z. B. 3 Bits), andere Bits, die für eine ACK-Rückführung dediziert sind (z. B. 7 Bits), und unter Verwendung des „ACK”-Bits des Kopfbits als Acknowledge[2], um beispielsweise ein 8 Bit-Feld zu konstruieren. Ein zweites Format kann vorgesehen werden, das eine Rückführung einer beliebigen Menge (z. B. von 0–255) an VNA-Krediten und einer beliebigen Menge an ACKs (z. B. von 0–255) durch für VNA-Rückführungen dedizierte Bits (z. B. 7 Bits) ermöglicht, und unter Verwendung des „CRD”-Bits des Kopfflits als Credit[2], um beispielsweise ein 8 Bit-Feld zu konstruieren. Ähnlich können dedizierte Bits (z. B. 7 Bits) für ACK-Rückführungen vorgesehen werden, und das „ACK”-Bit des Kopfflits kann verwendet werden, um beispielsweise ein 8 Bit-Feld zu konstruieren. Diese großen, vollständig codierten Felder können es einem Sender ermöglichen, alle Kredite oder Quittungen rückzuvergüten, die in einer einzelnen Nachricht akkumuliert (z. B. gepuffert) wurden. Dies kann die akkumulierte Kreditzähllogik in einigen Implementierungen auf ein einfaches „Löschen” vereinfachen, anstelle eines Dekrementierers auf dem Akkumulator.
  • In einem bestimmten Beispiel, das in 13 veranschaulicht wird, kann ein Flit mit einem Format wie jenem, das in dem Beispiel von 6 definiert wird, verwendet werden, um eine LLCRD-Nachricht zu unterstützen. Beispielsweise kann in diesem besonderen Beispiel eine LLCRD-Nachricht im Slot 2 mit einem vorher ausgebildeten Operationscode verwendet werden, um VN0-, VN1- und VNA-Kredite rückzuführen, sowie ACKs für die Verbindungsschicht-Wiederholungswarteschlange. Ein Verbindungsschicht-Kredit-(LLCRD-)Feld (z. B. eingeschlossen in „Value 1”) kann das Format für das LLCRD-Nutzinformationsfeld anzeigen (z. B. die nachstehenden Beispiele von 14 unter anderen potentiellen Feldformaten).
  • 13 zeigt ein generisches Format für den Slot bei der LLCRD-Nachrichtenübermittlung. 14 veranschaulicht Formate für zwei verschiedene LLCRD-Kreditrückführungsnachrichten 1405, 1410, die im Slot 2 unterstützt werden können. Beispielsweise können LLCRD-Formatköpfe sowohl für VN0/1-Kreditrückführungen (z. B. 1405) als auch VNA-Kreditrückführungen (z. B. 1410) vorgesehen werden. Ein Kreditrückführungs-(CRD-)Feld kann verwendet werden, um VNA-Kredite quer über die Verbindung rückzuvergüten. Wenn es auf einen ersten Wert eingestellt ist, zeigt dieses Feld die Rückvergütung einer Anzahl von VNA-Krediten an, wie 4, 8 oder 12. Ein Kredit- und Kreditrückführungs-(CRDCRD-)Feld kann auch vorgesehen werden und kann in LLCRD-Formatköpfen sowohl für VN-Kreditrückführungen als auch VNA-Rückführungen verwendet werden. In einem VN-LLCRD-Rückführungsformat kann der Kreditteil die Gesamtanzahl von Krediten anzeigen, die für das virtuelle Netz und die Nachrichtenklasse rückgeführt werden. In einem VNA-LLCRD-Rückführungsformat kann die Gesamtanzahl von VNA-Krediten, die rückgeführt werden, bestimmt werden, indem der vollständige VNA-Rückführungswert (z. B. ein Teil des Kredits, der CRD und ein zweiter Teil des Kredits) erzeugt wird.
  • In einem bestimmten Beispiel, wie in den Beispielen von 14, zeigt in einem VN0/1-LLCRD-Rückführungsformat (z. B. 1405) Credit[N:0] die Gesamtanzahl rückgeführter Kredite für das virtuelle Netz und die Nachrichtenklasse an. In einem VNA-LLCRD-Rückführungsformat (z. B. 1410) wird die Gesamtanzahl von VNA-Krediten, die rückgeführt werden, durch das Erzeugen des Full_VNA[A:0]-Rückführungswerts bestimmt, wobei Full_VNA[A:0]={Credit[A:B], CRD, Credit [C:0]}. In einigen Fällen kann ein CRD-Feld auch verwendet werden, um VNA-Kredite quer über die Verbindung zu refundieren. Wenn es auf 1 gesetzt wird, zeigt dieses Feld eine Refundierung von 8 VNA-Krediten an. Wenn der Slot 2 einen VNA-LLCRD-Rückführungstyp codiert, ist die Gesamtanzahl rückgeführter VNA-Kredite wie nachstehend beschrieben.
  • In einigen Implementierungen von Verbindungsschicht-Kreditrückführungen kann ein Kanalfeld verwendet werden, um den Kanal zur Verwendung bei Kreditrückführungen zu codieren. Diese Codierung, in Kombination mit dem virtuellen Netzfeld, kann verwendet werden, um den virtuellen Kanal zu identifizieren, auf den eine Kreditrückführung mappt. Wenn eine Nachrichtenklasse mehrere Codierungen aufweist, mappen sie alle auf einen einzelnen Kanalwert zur Kreditgewährung. Wenn der Kreditrückführungstyp VNA ist, kann der Kanalwert ignoriert werden.
  • Wie in den Beispielen von 14 gezeigt, können auch ACK-Felder gemeinsam mit Kreditrückführungsfeldern in der Verbindungsschichtnachricht eingeschlossen werden. Ein ACK-Feld kann von der Verbindungsschicht verwendet werden, um von einem Empfänger an einen Sender den fehlerfreien Empfang von Flits zu kommunizieren. Als Beispiel kann ACK=1 anzeigen, dass eine Anzahl von Flits ohne Fehler empfangen wurde. Wenn ein Sender ACK empfängt, kann er die Zuordnung der entsprechenden Flits aus der Verbindungsschicht-Wiederholungswarteschlange aufheben. In den Beispielen von 14 können Acknowledge [A:B] und Acknowledge [C:0] verwendet werden, um die Gesamtanzahl von Quittungen zu bestimmen, die rückgeführt werden, indem der Full_Acknowledgte[A:0]-Rückführungswert erzeugt wird, wobei Full_Acknowledgte[A:0]={Acknowledge[A:B],ACK, Acknowledge [C:0]}.
  • In einigen Implementierungen können einige Felder definiert werden, um Rückführungen nur in bestimmten vordefinierten Inkrementen zu ermöglichen. Beispielsweise können in einem Beispiel unter anderen Beispielen Inkremente von 1 (für VN0/1), 2/8/16 (für VNA) und 8 (für Acknowledge) definiert werden. Das bedeutet, dass die Rückführung einer großen Anzahl anstehender Kredite oder Quittungen mehrere Rückführungsnachrichten verwenden kann. Es bedeutet auch, dass ungeradzahlig nummerierte Rückführungswerte für VNA und Acknowledge vor einer Akkumulation eines ganzzahlig teilbaren Werts gestrandet zurückgelassen werden können. Einige Implementierungen von HPI können vollständig codierte Kredit- und ACK-Rückführungsfelder aufweisen, wodurch es einem Agenten ermöglicht wird, alle akkumulierten Kredite oder ACKs für einen Pool mit einer einzelnen Nachricht rückzuführen. Dies verbessert potentiell die Verbindungseffizienz und vereinfacht auch potentiell eine Logikimplementierung (eine Rückführungslogik kann ein „Rücksetz”-Signal anstatt eines vollständigen Dekrementierers implementieren).
  • In einigen Implementierungen können Kredite für Puffer in VN0 und VN1 auf einer per-Paket-Basis für jede Nachrichtenklasse rückgeführt werden. Daher kann jeder Puffer für jeden Kredit in VN0/VN1 bemessen werden, um die Pufferanforderungen für die größte Paketgröße abzudecken, die den Kredit verwenden kann. In einigen Fällen kann dies das effizienteste Kreditrückführungsverfahren für diese Kanäle vorsehen.
  • Wegen der gemeinsam genutzten Ressource und verschiedenster Nachrichtengrößen, die zugeordnet/freigegeben werden können, kann es in einigen Implementierungen nicht effizient sein, einen Paketkredit/eine Lastschrift für VNA zu verwenden. Stattdessen kann in einigen Fällen ein Flitkredit/Lastschriftschema für VNA verwendet werden. Jedes Flit kann 1 Flit des Empfängerpufferraums mit den Krediten repräsentieren, die von allen Nachrichtenklassen gemeinsam genutzt werden, welche auf VNA senden können. Die Codierungen für die Kreditrückführung können in Bezug auf den „LLCRD-Typ” beschrieben werden. Ferner kann in einigen Implementierungen, wie oben angegeben, ein Flit, das unter Verwendung von VNA gesendet wird, bis zu 3 Köpfe (einen pro Slot) enthalten. Der Empfänger kann einen VNA-Kredit nicht rückführen, bis alle drei Slots aus der Empfängerwarteschlange genommen wurden, unter anderen potentiellen Bedingungen oder Implementierungen.
  • HPI kann in beliebigen verschiedenen Rechnervorrichtungen und Systemen eingeschlossen werden, die Mainframes, Serversysteme, Personalcomputer, mobile Computer (wie Tablets, Smartphones, persönliche digitale Systeme, etc.), intelligente Vorrichtungen, Spiele- oder Unterhaltungskonsolen und Set Top Boxen unter anderen Beispielen umfassen. 15 veranschaulicht beispielsweise ein beispielhaftes Computersystem 1500 gemäß einigen Implementierungen. Wie in 15 gezeigt, ist ein Multiprozessorsystem 1500 ein Punkt-zu-Punkt-Zwischenverbindungssystem und umfasst einen ersten Prozessor 1570 und einen zweiten Prozessor 1580, die über eine Punkt-zu-Punkt-Zwischenverbindung 1550 gekoppelt sind. Jeder der Prozessoren 1570 und 1580 kann irgendeine Version eines Prozessors sein. In einer Ausführungsform sind 1552 und 1554 ein Teil eines seriellen kohärenten Punkt-zu-Punkt-Zwischenverbindungs-Fabrics, wie einer Hochleistungsarchitektur. Als Ergebnis kann die Erfindung innerhalb der QPI-Architektur implementiert werden.
  • Obwohl sie nur mit zwei Prozessoren 1570, 1580 gezeigt ist, ist es klar, dass der Umfang der vorliegenden Erfindung nicht so begrenzt ist. In anderen Ausführungsformen kann oder können ein oder mehrere zusätzliche Prozessoren in einem gegebenen Prozessor vorhanden sein.
  • Die Prozessoren 1570 und 1580 sind so gezeigt, dass sie integrierte Speicher-Steuereinheiten 1572 bzw. 1582 umfassen. Der Prozessor 1570 umfasst auch als Teil seiner Bus-Steuereinheiten Punkt-zu-Punkt-(P-P-)Schnittstellen 1576 und 1578; ähnlich umfasst der zweite Prozessor 1580 P-P-Schnittstellen 1586 und 1588. Die Prozessoren 1570, 1580 können Informationen über eine Punkt-zu-Punkt-(P-P-)Schnittstelle 1550 unter Verwendung von P-P-Schnittstellenschaltungen 1578, 1588 austauschen. Wie in 15 gezeigt, koppeln IMCs 1572 und 1582 die Prozessoren mit jeweiligen Speichern, nämlich einem Speicher 1532 und einem Speicher 1534, die Teile eines Hauptspeichers sein können, lokal an die jeweiligen Prozessoren angebunden.
  • Die Prozessoren 1570, 1580 können jeweils Informationen mit einem Chipsatz 1590 über einzelne P-P-Schnittstellen 1552, 1554 unter Verwendung von Punkt-zu-Punkt-Schnittstellenschaltungen 1576, 1594, 1586, 1598 austauschen. Der Chipsatz 1590 tauscht auch Informationen mit einer Hochleistungs-Grafikschaltung 1538 über eine Schnittstellenschaltung 1592 entlang einer Hochleistungs-Grafikzwischenverbindung 1539 aus.
  • Ein gemeinsam genutzter Cache (nicht gezeigt) kann in einem der beiden Prozessoren oder außerhalb beider Prozessoren eingeschlossen sein, jedoch verbunden mit den Prozessoren über eine P-P-Zwischenverbindung, so dass die lokalen Cache-Informationen eines oder beider Prozessoren im gemeinsam genutzten Cache gespeichert werden können, falls ein Prozessor in einen Stromsparmodus gesetzt wird.
  • Der Chipsatz 1590 kann mit einem ersten Bus 1516 über eine Schnittstelle 1596 gekoppelt werden. In einer Ausführungsform kann der erste Bus 1516 ein Peripheral Component Interconnect-(PCI-)Bus oder ein Bus wie ein PCI Express Bus oder ein anderer I/O-Zwischenverbindungsbus der dritten Generation sein, obwohl der Umfang der vorliegenden Erfindung nicht so eingeschränkt ist.
  • Wie in 15 gezeigt, sind verschiedene I/O-Vorrichtungen 1514 mit dem ersten Bus 1516 gekoppelt, zusammen mit einer Busbrücke 1518, die den ersten Bus 1516 mit einem zweiten Bus 1520 koppelt. In einer Ausführungsform umfasst der zweite Bus 1520 einen Low Pin Count-(LPC-)Bus. Verschiedene Vorrichtungen sind in einer Ausführungsform mit dem zweiten Bus 1520 gekoppelt, die beispielsweise eine Tastatur und/oder Maus 1522, Kommunikationsvorrichtungen 1527 und eine Speichereinheit 1528 wie ein Plattenlaufwerk oder eine andere Massenspeichervorrichtung umfassen, welche oft Instruktionen/Code und Daten 1530 umfasst. Ferner ist eine Audio-I/O 1524 gezeigt, die mit dem zweiten Bus 1520 gekoppelt ist. Es ist zu beachten, dass andere Architekturen möglich sind, wobei die eingeschlossenen Komponenten und Zwischenverbindungsarchitekturen variieren. Beispielsweise kann statt der Punkt-zu-Punkt-Architektur von 15 ein System einen Multidrop-Bus oder eine andere derartige Architektur implementieren.
  • Obwohl die vorliegende Erfindung in Bezug auf eine begrenzte Anzahl von Ausführungsformen beschrieben wurde, sind für Fachleute zahlreiche Modifikationen und Variationen davon ersichtlich. Die beigeschlossenen Ansprüche sollen alle derartigen Modifikationen und Variationen abdecken, die in den Grundgedanken und Umfang der vorliegenden Erfindung fallen.
  • Eine Ausbildung kann durch verschiedene Stufen gehen, von der Erzeugung zur Simulation zur Herstellung. Eine Ausbildung repräsentierende Daten können die Ausbildung in verschiedener Weise repräsentieren. Zuerst, wie es bei Simulationen nützlich ist, kann die Hardware unter Verwendung einer Hardware-Beschreibungssprache oder einer anderen funktionellen Beschreibungssprache repräsentiert werden. Zusätzlich kann ein Modell auf Schaltungsebene mit Logik und/oder Transistorgates in einigen Stufen des Ausbildungsprozesses erzeugt werden. Ferner erreichen die meisten Ausbildungen in irgendeiner Stufe eine Ebene von Daten, welche die physikalische Platzierung verschiedener Vorrichtungen in das Hardware-Modell repräsentieren. In dem Fall, wo herkömmliche Halbleiter-Herstellungstechniken verwendet werden, können die das Hardware-Modell repräsentierenden Daten jene Daten sein, die das Vorliegen oder Fehlen verschiedener Merkmale auf verschiedenen Maskenschichten für Masken spezifizieren, die zur Erzeugung der integrierten Schaltung verwendet werden. In einer vorliegenden Repräsentation der Ausbildung können die Daten in einer beliebigen Form eines maschinenlesbaren Mediums gespeichert werden. Ein Speicher oder ein magnetischer oder optischer Speicher, wie eine Platte, kann das maschinenlesbare Medium sein, um Informationen zu speichern, die über optische oder elektrische Wellen gesendet werden, welche moduliert oder auf andere Weise generiert werden, um solche Informationen zu senden. Wenn eine elektrische Trägerwelle gesendet wird, die den Code oder die Ausbildung anzeigt oder trägt, in dem Ausmaß, dass ein Kopieren, Puffer oder eine erneute Übertragung des elektrischen Signals vorgenommen wird, wird eine neue Kopie gemacht. So kann ein Kommunikationsanbieter oder ein Netzanbieter auf einem greifbaren, maschinenlesbaren Medium, zumindest temporär, einen Artikel speichern, wie in einer Trägerwelle codierte Informationen, die Techniken von Ausführungsformen der vorliegenden Erfindung verkörpern.
  • Ein Modul, wie hier verwendet, bezieht sich auf eine beliebige Kombination von Hardware, Software und/oder Firmware. Als Beispiel umfasst ein Modul Hardware, wie eine Mikrosteuereinheit, assoziiert mit einem nicht-transitorischen Medium, um einen Code zu speichern, der angepasst ist, von der Mikrosteuereinheit ausgeführt zu werden. Daher bezieht sich eine Bezugnahme auf ein Modul in einer Ausführungsform auf die Hardware, die spezifisch ausgelegt ist, den Code, der auf einem nicht-transitorischen Medium zu halten ist, zu erkennen und/oder auszuführen. Ferner bezieht sich in einer weiteren Ausführungsform die Verwendung eines Moduls auf das nicht-transitorische Medium, das den Code umfasst, der spezifisch angepasst ist, von der Mikrosteuereinheit ausgeführt zu werden, um vorherbestimmte Operationen vorzunehmen. Wie abgeleitet werden kann, kann sich in noch einer weiteren Ausführungsform der Ausdruck Modul (in diesem Beispiel) auf die Kombination der Mikrosteuereinheit und des nicht-transitorischen Mediums beziehen. Oft können Modulgrenzen, die als getrennt veranschaulicht werden, üblicherweise variieren und einander potentiell überlappen. Beispielsweise können ein erstes und ein zweites Modul Hardware, Software, Firmware oder Kombinationen davon gemeinsam nutzen, wobei bestimmte unabhängige Hardware, Software oder Firmware potentiell beibehalten wird. In einer Ausführungsform umfasst die Verwendung des Ausdrucks Logik Hardware wie Transistoren, Register oder andere Hardware, wie programmierbare Logikvorrichtungen.
  • Die Verwendung des Ausdrucks „ausgelegt, um” bezieht sich in einer Ausführungsform auf das Anordnen, Zusammensetzen, Herstellen, Anbieten zum Verkauf, Einführen und/oder Ausbilden einer Vorrichtung, Hardware, Logik oder eines Elements, um eine bezeichnete oder bestimmte Aufgabe vorzunehmen. In diesem Beispiel ist eine Vorrichtung oder ein Element davon, die bzw. das nicht arbeitet, weiterhin „ausgelegt”, eine bezeichnete Aufgabe vorzunehmen, wenn sie bzw. es bezeichnet, gekoppelt und/oder gegenseitig verbunden ist, um die genannte bezeichnete Aufgabe vorzunehmen. Als rein illustratives Beispiel kann ein Logikgate eine 0 oder eine 1 während des Betriebs liefern. Aber ein Logikgate, das „ausgelegt” ist, ein Freigabesignal für einen Takt zu liefern, umfasst nicht jedes potentielle Logikgate, das eine 1 oder 0 liefern kann. Stattdessen ist das Logikgate eines, das in irgendeiner Weise gekoppelt ist, damit während des Betriebs der Ausgang 1 oder 0 den Takt freizugeben hat. Es ist wiederum anzumerken, dass die Verwendung des Ausdrucks „ausgelegt” keinen Betrieb erfordert, sondern stattdessen das Augenmerk auf dem latenten Zustand einer Vorrichtung, Hardware und/oder eines Elements liegt, wobei in dem latenten Zustand die Vorrichtung, Hardware und/oder das Element ausgebildet ist, eine bestimmte Aufgabe vorzunehmen, wenn die Vorrichtung, Hardware und/oder das Element in Betrieb sind.
  • Ferner bezieht sich die Verwendung der Ausdrücke „fähig zu” und „betreibbar, um” in einer Ausführungsform auf irgendeine Vorrichtung, Logik, Hardware und/oder ein Element, die so ausgebildet sind, dass sie die Verwendung der Vorrichtung, Logik, Hardware und/oder des Elements in einer spezifischen Weise ermöglichen. Es wie oben zu beachten, dass sich in einer Ausführungsform die Verwendung von „fähig zu” und „betreibbar, um” auf den latenten Zustand einer Vorrichtung, Logik, Hardware und/oder eines Elements bezieht, wobei die Vorrichtung, Logik, Hardware und/oder das Element nicht arbeitet, aber so ausgebildet ist, dass die Verwendung einer Vorrichtung in einer spezifizierten Weise ermöglicht wird.
  • Ein Wert umfasst, wie hier verwendet, eine beliebige bekannte Darstellung einer Zahl, eines Zustands, eines Logikzustands oder eines binären Logikzustands. Oft wird die Verwendung von Logikpegeln, Logikwerten oder logischen Werten auch als 1 und 0 bezeichnet, was einfach binäre Logikzustände repräsentiert. Beispielsweise bezieht sich 1 auf einen hohen Logikpegel und 0 bezieht sich auf einen niederen Logikpegel. In einer Ausführungsform kann eine Speicherzelle, wie ein Transistor oder eine Flash-Zelle, fähig sein, einen einzelnen Logikwert oder mehrere Logikwerte zu halten. Es wurden jedoch andere Darstellungen von Werten in Computersystemen verwendet. Beispielsweise kann die Dezimalzahl Zehn auch als binärer Wert von 1010 und ein hexadezimaler Buchstabe A repräsentiert werden. Daher umfasst ein Wert eine beliebige Darstellung von Informationen, die in einem Computersystem gehalten werden können.
  • Außerdem können Zustände durch Werte oder Teile von Werten repräsentiert werden. Als Beispiel kann ein erster Wert, wie eine logische Eins, einen Vorgabe- oder Initialzustand repräsentieren, während ein zweiter Wert, wie eine logische Null, einen Nicht-Vorgabezustand repräsentieren kann. Zusätzlich beziehen sich die Ausdrücke Rücksetzen und Setzen in einer Ausführungsform jeweils auf einen Vorgabe- und einen aktualisierten Wert oder Zustand. Beispielsweise umfasst ein Vorgabewert potentiell einen hohen Logikzustand, d. h. Rücksetzen, während ein aktualisierter Wert potentiell einen niedrigen Logikwert umfasst, d. h. Setzen. Es ist zu beachten, dass eine beliebige Kombination von Werten verwendet werden kann, um eine beliebige Anzahl von Zuständen zu repräsentieren.
  • Die oben angegebenen Ausführungsformen von Verfahren, Hardware, Software, Firmware oder Codes können über Instruktionen oder Codes implementiert werden, die auf einem maschinenzugänglichen, maschinenlesbaren, computerzugänglichen oder computerlesbaren Medium gespeichert sind, welche durch ein Verarbeitungselement ausgeführt werden können. Ein nicht-transitorisches maschinenzugängliches/lesbares Medium umfasst einen beliebigen Mechanismus, der Informationen in einer Form liefert (d. h. speichert und/oder sendet), die von einer Maschine, wie einem Computer oder elektronischen System, gelesen werden kann. Beispielsweise umfasst ein nicht-transitorisches maschinenzugängliches Medium einen Speicher mit wahlfreiem Zugriff (RAM), wie einen statischen RAM (SRAM) oder dynamischen RAM (DRAM), ROM, ein magnetisches oder optisches Speichermedium, Flash-Speichervorrichtungen, elektrische Speichervorrichtungen zum Halten von Informationen, die von transitorischen (ausgebreiteten) Signalen empfangen werden (z. B. Trägerwellen, Infrarot-Signalen, Digitalsignalen), etc., die von den nicht-transitorischen Medien zu unterscheiden sind, welche Informationen davon empfangen können.
  • Instruktionen, die zur Programmierung von Logik zur Vornahme von Ausführungsformen der Erfindung verwendet werden, können innerhalb eines Speichers im System gespeichert werden, wie eines DRAM, Cache, Flash-Speichers oder eines anderen Speichers. Ferner können die Instruktionen über ein Netz oder mittels anderer computerlesbarer Medien verbreitet werden. So kann ein maschinenlesbares Medium einen beliebigen Mechanismus zum Speichern oder Senden von Informationen in einer Form umfassen, die von einer Maschine (z. B. einem Computer) gelesen werden kann, ist jedoch nicht beschränkt auf: Disketten, optische Platten, Compact Disc-Nurlesespeicher (CD-ROMs) und magnetooptische Platten, Nurlesespeicher (ROMs), Speicher mit wahlfreiem Zugriff (RAM), löschbare programmierbare Nurlesespeicher (EPROM), elektrisch löschbare programmierbare Nurlesespeicher (EEPROM), magnetische oder optische Karten, Flash-Speicher oder einen greifbaren, maschinenlesbaren Speicher, der bei der Übertragung von Informationen über das Internet über elektrische, optische, akustische oder andere Formen ausgebreiteter Signale (z. B. Trägerwellen, Infrarot-Signale, Digitalsignale) verwendet wird. Demgemäß umfasst das computerlesbare Medium einen beliebigen Typ eines greifbaren maschinenlesbaren Mediums, das zum Speichern oder Senden elektronischer Instruktionen oder Informationen in einer Form geeignet ist, die von einer Maschine (z. B. einem Computer) gelesen werden kann.
  • Die folgenden Beispiele beziehen sich auf Ausführungsformen gemäß dieser Beschreibung. Eine oder mehrere Ausführungsformen kann oder können eine Vorrichtung, ein System, einen maschinenlesbaren Speicher, ein maschinenlesbares Medium und ein Verfahren vorsehen, um eine Verbindungsschicht-Steuernachricht zu generieren, die in ein Flit einzuschließen ist, das über eine serielle Datenverbindung zu einer Vorrichtung zu senden ist, wobei über die Datenverbindung gesendete Flits eine Mehrzahl von Slots zu umfassen haben; und um das Flit mit der Verbindungsschicht-Steuernachricht zu senden.
  • In wenigstens einem Beispiel umfasst die I/O-Logik einen geschichteten Stapel, der physikalische Schichtlogik, Verbindungsschichtlogik und Protokollschichtlogik umfasst.
  • In wenigstens einem Beispiel ist die Steuernachricht in einem bestimmten einen der Slots zu codieren und keine anderen Nachrichten sind in dem Flit einzuschließen.
  • In wenigstens einem Beispiel sind die anderen Slots als Null-Slots zu codieren.
  • In wenigstens einem Beispiel ist die Steuernachricht, wenigstens teilweise, aus einer Codierung eines Operationscodes des bestimmten Flits identifizierbar.
  • In wenigstens einem Beispiel umfasst die Steuernachricht eine Virusalarmnachricht.
  • In wenigstens einem Beispiel umfasst die Steuernachricht eine Giftalarmnachricht.
  • In wenigstens einem Beispiel hat die Steuernachricht wenigstens eines von Kreditrückführungen und Quittungen zu umfassen.
  • In wenigstens einem Beispiel ist die Steuernachricht in einem bestimmten einen der Mehrzahl von Slots zu codieren, wobei der bestimmte Slot der kleinste der Mehrzahl von Slots ist.
  • In wenigstens einem Beispiel besteht die Mehrzahl von Slots aus drei definierten Slots.
  • In wenigstens einem Beispiel ist der bestimmte Slot der dritte der drei Slots, umfasst der erste der drei Slots 72 Bits, umfasst der zweite der drei Slots 70 Bits, und umfasst der dritte Slot 18 Bits.
  • In wenigstens einem Beispiel umfasst die Steuernachricht dedizierte Bits für virtuelle Netzkreditrückführungen und dedizierte Bits für Quittungsrückführungen.
  • In wenigstens einem Beispiel umfassen die dedizierten Bits für Kreditrückführungen drei Bits, die angepasst sind, mit einem Kreditrückführungswert zwischen 0 und 7 codiert zu werden.
  • In wenigstens einem Beispiel umfassen die dedizierten Bits für Kreditrückführungen sieben Bits, die angepasst sind, mit einem Kreditrückführungswert zwischen 0 und 225 codiert zu werden.
  • In wenigstens einem Beispiel umfassen die Kreditrückführungen Kreditrückführungen zu einem gemeinsam genutzten adaptiven virtuellen Netz(VNA)-Kreditpool.
  • Eine oder mehrere Ausführungsformen können eine Vorrichtung, ein System, einen maschinenlesbaren Speicher, ein maschinenlesbares Medium und ein Verfahren zum Empfangen eines Flits über ein serielles Datennetz vorsehen, wobei Flits eine Mehrzahl von Slots zu umfassen haben, und zum Identifizieren einer Verbindungsschicht-Steuernachricht aus dem Flit.
  • In wenigstens einem Beispiel ist die Steuernachricht in einem bestimmten einen der Slots codiert und keine anderen Nachrichten sind in dem Flit eingeschlossen.
  • In wenigstens einem Beispiel umfasst die Steuernachricht eine Virusalarmnachricht.
  • In wenigstens einem Beispiel umfasst die Steuernachricht eine Giftalarmnachricht.
  • In wenigstens einem Beispiel hat die Steuernachricht wenigstens eines von Kreditrückführungen und Quittungsrückführungen zu umfassen.
  • In wenigstens einem Beispiel ist die Steuernachricht in einem bestimmten einen der Mehrzahl von Slots zu codieren, wobei der bestimmte Slot der kleinste der Mehrzahl von Slots ist.
  • In wenigstens einem Beispiel weist die Steuernachricht ein Format auf, das dedizierte Bits für virtuelle Netz-Kreditrückführungen und dedizierte Bits für Quittungsrückführungen umfasst.
  • In wenigstens einem Beispiel umfasst das Identifizieren der Steuernachricht das Identifizieren eines Satzes akkumulierter Quittungen und die Steuernachricht hat die Quittungen rückzuführen.
  • In wenigstens einem Beispiel umfasst das Identifizieren der Steuernachricht das Identifizieren eines Satzes akkumulierter Kredite, die rückzuführen sind, und die Steuernachricht hat die Kredite für ein bestimmtes virtuelles Netz rückzuführen.
  • In wenigstens einem Beispiel kann die Steuernachricht zwischen einer ersten und zweiten Vorrichtung kommuniziert werden. Die erste und zweite Vorrichtung können Mikroprozessoren, Grafikbeschleuniger oder andere Vorrichtungen sein.
  • Ein oder mehrere Aspekte kann oder können ferner einen geschichteten Protokollstapel vorsehen, der wenigstens eine Verbindungsschicht und eine physikalische Schicht umfasst, wobei der geschichtete Protokollstapel ausgelegt ist, mit einer seriellen, differentiellen Verbindung gekoppelt zu werden, wobei der geschichtete Protokollstapel ferner ausgelegt ist, ein Steuerflit, das einen Giftstatus umfasst, über die Verbindung zu senden.
  • In wenigstens einem Beispiel umfasst das Steuerflit Verbindungsschicht-Kredit(LLCRD)-Nachrichtencodierung.
  • In wenigstens einem Beispiel umfasst das Steuerflit Verbindungsschicht-Steuer(LLCTRL)-Nachrichtencodierung.
  • In wenigstens einem Beispiel umfasst das Steuerflit ein vollständig codiertes Kreditrückführungsfeld.
  • Ein oder mehrere Beispiele kann oder können ferner einen geschichteten Protokollstapel vorsehen, der wenigstens eine Verbindungsschicht und eine physikalische Schicht umfasst, wobei der geschichtete Protokollstapel ausgelegt ist, mit einer seriellen, differentiellen Verbindung gekoppelt zu werden, wobei der geschichtete Protokollstapel ferner ausgelegt ist, ein einzelnes Flit zu senden, das einen kombinierten Kredit und eine Quittung umfasst, um eine erste Anzahl rückgeführter Kredite und eine zweite Anzahl von Quittungen zu repräsentieren.
  • Eine Bezugnahme in dieser gesamten Beschreibung auf „eine Ausführungsform” bedeutet, dass ein bestimmtes Merkmal, eine Struktur oder Charakteristik, die in Verbindung mit der Ausührungsform beschrieben werden, in wenigstens einer Ausführungsform der vorliegenden Erfindung umfasst ist. So beziehen sich Nennungen der Ausdrücke „in einer Ausführungsform” an verschiedenen Stellen in dieser gesamten Beschreibung nicht unbedingt alle auf dieselbe Ausführungsform. Ferner können die bestimmten Merkmale, Strukturen oder Charakteristiken in einer beliebigen geeigneten Weise in einer oder mehreren Ausführungsformen kombiniert werden.
  • In der obigen Beschreibung erfolgte eine detaillierte Beschreibung mit Bezugnahme auf spezifische beispielhafte Ausführungsformen. Es ist jedoch klar, dass verschiedene Modifikationen und Änderungen daran vorgenommen werden können, ohne vom Grundgedanken und Umfang der Erfindung abzuweichen, wie in den beigeschlossenen Ansprüchen ausgeführt. Die Beschreibung und die Zeichnungen sind demgemäß in einem illustrativen Sinn anstatt eines einschränkenden Sims anzusehen. Ferner bezieht sich die obige Verwendung von Ausführungsform und anderer beispielhafter Sprache nicht unbedingt auf dieselbe Ausführungsform oder dasselbe Beispiel, sondern kann sich auf verschiedene und bestimmte Ausführungsformen sowie potentiell dieselbe Ausführungsform beziehen.

Claims (40)

  1. Vorrichtung, umfassend: I/O-Logik, um: eine Verbindungsschicht-Steuernachricht zu generieren, die in ein Flit einzuschließen ist, das über eine serielle Datenverbindung an eine Vorrichtung zu senden ist, wobei Flits, die über die Datenverbindung gesendet werden, eine Mehrzahl von Slots zu umfassen haben; und das Flit mit der Verbindungsschicht-Steuernachricht zu senden.
  2. Vorrichtung nach Anspruch 1, bei welcher die I/O-Logik einen geschichteten Stapel umfasst, der physikalische Schichtlogik, Verbindungsschichtlogik und Protokollschichtlogik umfasst.
  3. Vorrichtung nach Anspruch 1, bei welcher die Steuernachricht in einem bestimmten der Slots zu codieren ist und keine anderen Nachrichten in das Flit einzuschließen sind.
  4. Vorrichtung nach Anspruch 3, bei welcher die anderen Slots als Null-Slots zu codieren sind.
  5. Vorrichtung nach Anspruch 3, bei welcher die Steuernachricht, wenigstens teilweise, aus einer Codierung eines Operationscodes des bestimmten Flits identifizierbar ist.
  6. Vorrichtung nach Anspruch 3, bei welcher die Steuernachricht eine Virusalarmnachricht umfasst.
  7. Vorrichtung nach Anspruch 3, bei welcher die Steuernachricht eine Giftalarmnachricht umfasst.
  8. Vorrichtung nach Anspruch 1, bei welcher die Steuernachricht wenigstens eines von Kreditrückführungen und Quittungen zu umfassen hat.
  9. Vorrichtung nach Anspruch 8, bei welcher die Steuernachricht in einem bestimmten der Mehrzahl von Slots zu codieren ist, wobei der bestimmte Slot der kleinste der Mehrzahl von Slots ist.
  10. Vorrichtung nach Anspruch 9, bei welcher die Mehrzahl von Slots aus drei definierten Slots besteht.
  11. Vorrichtung nach Anspruch 10, bei welcher der bestimmte Slot der dritte der drei Slots ist, der erste der drei Slots 72 Bits umfasst, der zweite der drei Slots 70 Bits umfasst, und der dritte Slot 18 Bits umfasst.
  12. Vorrichtung nach Anspruch 8, bei welcher die Steuernachricht dedizierte Bits für virtuelle Netz-Kreditrückführungen und dedizierte Bits für Quittungsrückführungen umfasst.
  13. Vorrichtung nach Anspruch 12, bei welcher die dedizierten Bits für Kreditrückführungen drei Bits umfassen, die angepasst sind, mit einem Kreditrückführungswert zwischen 0 und 7 codiert zu werden.
  14. Vorrichtung nach Anspruch 12, bei welcher die dedizierten Bits für Kreditrückführungen sieben Bits umfassen, die angepasst sind, mit einem Kreditrückführungswert zwischen 0 und 225 codiert zu werden.
  15. Vorrichtung nach Anspruch 14, bei welcher die Kreditrückführungen Kreditrückführungen zu einem gemeinsam genutzten adaptiven virtuellen Netz(VNA)-Kreditpool umfassen.
  16. Vorrichtung, umfassend: I/O-Logik, um: ein Flit über ein serielles Datennetz zu empfangen, wobei Flits eine Mehrzahl von Slots zu umfassen haben; und eine Verbindungsschicht-Steuernachricht aus dem Flit zu identifizieren.
  17. Vorrichtung nach Anspruch 16, bei welcher die Steuernachricht in einem bestimmten der Slots codiert ist und keine anderen Nachrichten im Flit eingeschlossen sind.
  18. Vorrichtung nach Anspruch 17, bei welcher die Steuernachricht eine Virusalarmnachricht umfasst.
  19. Vorrichtung nach Anspruch 17, bei welcher die Steuernachricht eine Giftalarmnachricht umfasst.
  20. Vorrichtung nach Anspruch 16, bei welcher die Steuernachricht wenigstens eines von Kreditrückführungen und Quittungsrückführungen zu umfassen hat.
  21. Vorrichtung nach Anspruch 20, bei welcher die Steuernachricht in einem bestimmten der Mehrzahl von Slots zu codieren ist, wobei der bestimmte Slot der kleinste der Mehrzahl von Slots ist.
  22. Vorrichtung nach Anspruch 20, bei welcher die Steuernachricht ein Format aufweist, das dedizierte Bits für virtuelle Netz-Kreditrückführungen und dedizierte Bits für Quittungsrückführungen umfasst.
  23. Verfahren, umfassend: Identifizieren einer Verbindungsschicht-Steuernachricht, die an eine andere Vorrichtung zu senden ist; Generieren eines Flits, um die Verbindungsschicht-Steuernachricht zu umfassen, wobei das Flit ein definiertes Format aufweist, das eine Mehrzahl von Slots definiert, die im Flit eingeschlossen sind, und wenigstens einer der Slots zu verwenden ist, um die Steuernachricht im Flit zu codieren; und Senden des Flits an die andere Vorrichtung über eine serielle Datenverbindung während eines Verbindungssendezustands.
  24. Verfahren nach Anspruch 23, bei welchem das Identifizieren der Steuernachricht ein Identifizieren eines Satzes akkumulierter Quittungen umfasst und die Steuernachricht die Quittungen rückzuführen hat.
  25. Verfahren nach Anspruch 24, bei welchem das Identifizieren der Steuernachricht ein Identifizieren eines Satzes akkumulierter, rückzuführender Kredite umfasst und die Steuernachricht die Kredite für ein bestimmtes virtuelles Netz rückzuführen hat.
  26. Verfahren nach Anspruch 25, bei welchem die Steuernachricht im kleinsten der Mehrzahl von Slots zu codieren ist.
  27. Verfahren nach Anspruch 26, bei welchem andere Nachrichten in anderen Slots in der Mehrzahl von Slots des Flits eingeschlossen werden.
  28. Verfahren nach Anspruch 25, bei welchem die Steuernachricht ein Format aufweist, das dedizierte Bits für virtuelle Netz-Kreditrückführungen und dedizierte Bits für Quittungsrückführungen umfasst.
  29. Verfahren nach Anspruch 23, bei welchem die Steuernachricht eine Virusalarmnachricht umfasst.
  30. Verfahren nach Anspruch 23, bei welchem die Steuernachricht eine Giftalarmnachricht umfasst.
  31. System, umfassend: eine erste Vorrichtung; und eine zweite Vorrichtung, die kommunikativ mit der ersten Vorrichtung unter Verwendung einer seriellen Datenverbindung gekoppelt ist, wobei die zweite Vorrichtung ein Verbindungsschichtmodul umfasst, das von wenigstens einem Prozessor ausgeführt wird, um: eine Verbindungsschicht-Steuernachricht zu identifizieren, die an die erste Vorrichtung zu senden ist; ein Flit zu generieren, um die Verbindungsschicht-Steuernachricht zu umfassen, wobei das Flit eine Mehrzahl von Slots zu umfassen hat und wenigstens einer der Slots zu verwenden ist, um die Steuernachricht im Flit zu codieren; und das Flit an die andere Vorrichtung über eine serielle Datenverbindung während eines Verbindungssendezustands zu senden.
  32. System nach Anspruch 31, bei welchem die erste Vorrichtung einen Mikroprozessor umfasst.
  33. System nach Anspruch 32, bei welchem die zweite Vorrichtung einen zweiten Mikroprozessor umfasst.
  34. System nach Anspruch 32, bei welchem die zweite Vorrichtung einen Grafikbeschleuniger umfasst.
  35. System nach Anspruch 31, bei welchem die erste Vorrichtung Verbindungsschichtlogik umfasst, um: das Flit über die Datenverbindung zu empfangen; die Steuernachricht aus dem Flit zu identifizieren; und die Steuernachricht zu verarbeiten.
  36. Vorrichtung, umfassend: einen geschichteten Protokollstapel, der wenigstens eine Verbindungsschicht und eine physikalische Schicht umfasst, wobei der geschichtete Protokollstapel ausgelegt ist, mit einer seriellen, differentiellen Verbindung gekoppelt zu werden, wobei der geschichtete Protokollstapel ferner ausgelegt ist, ein Steuerflit, das einen Giftstatus umfasst, über die Verbindung zu senden.
  37. Vorrichtung nach Anspruch 36, bei welcher das Steuerflit Verbindungsschicht-Kredit(LLCRD)-Nachrichtencodierung umfasst.
  38. Vorrichtung nach einem der Ansprüche 36 bis 37, bei welcher das Steuerflit Verbindungsschicht-Steuer(LLCTRL)-Nachrichtencodierung umfasst.
  39. Vorrichtung nach einem der Ansprüche 36 bis 38, bei welcher das Steuerflit ein vollständig codiertes Kreditrückführungsfeld umfasst.
  40. Vorrichtung, umfassend: einen geschichteten Protokollstapel, der wenigstens eine Verbindungsschicht und eine physikalische Schicht umfasst, wobei der geschichtete Protokollstapel ausgelegt ist, mit einer seriellen, differentiellen Verbindung gekoppelt zu werden, wobei der geschichtete Protokollstapel ferner ausgelegt ist, ein einzelnes Flit zu senden, das einen kombinierten Kredit und eine Quittung umfasst, um eine erste Anzahl von rückgeführten Krediten und eine zweite Anzahl von Quittungen zu repräsentieren.
DE112013005090.0T 2012-10-22 2013-03-15 Steuernachrichtenübermittlung in einem mehrfach-Slot-Verbindungsschicht-Flit Pending DE112013005090T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261717091P 2012-10-22 2012-10-22
US61/717,091 2012-10-22
PCT/US2013/032601 WO2014065873A1 (en) 2012-10-22 2013-03-15 Control messaging in multislot link layer flit

Publications (1)

Publication Number Publication Date
DE112013005090T5 true DE112013005090T5 (de) 2015-07-02

Family

ID=50485278

Family Applications (14)

Application Number Title Priority Date Filing Date
DE112013005086.2T Pending DE112013005086T5 (de) 2012-10-22 2013-03-15 Kohärenzprotokoll für Hochleistungszwischenverbindung
DE112013004105.7T Pending DE112013004105T5 (de) 2012-10-22 2013-03-15 Kohärenzprotokolltabellen
DE112013003723.8T Active DE112013003723B4 (de) 2012-10-22 2013-03-15 Hochleistungsfähige physikalische Kopplungsstrukturschicht
DE112013007751.5T Active DE112013007751B3 (de) 2012-10-22 2013-03-15 Hochleistungs-Zusammenschaltungs-Bitübertragungsschicht
DE112013005093.5T Pending DE112013005093T5 (de) 2012-10-22 2013-03-15 Hochleistungszusammenschaltungsbitübertragungsschicht
DE112013005090.0T Pending DE112013005090T5 (de) 2012-10-22 2013-03-15 Steuernachrichtenübermittlung in einem mehrfach-Slot-Verbindungsschicht-Flit
DE112013002069.6T Active DE112013002069B4 (de) 2012-10-22 2013-03-15 Hohes Leistungsverbindungskohärenz-Protokoll
DE112013004094.8T Active DE112013004094B4 (de) 2012-10-22 2013-03-15 Hochleistungs-Zusammenschaltungs-Bitübertragungsschicht
DE112013005104.4T Pending DE112013005104T5 (de) 2012-10-22 2013-03-27 Hochleistungsverdrahtungs-Bitübertragungsschicht
DE112013002090.4T Pending DE112013002090T5 (de) 2012-10-22 2013-03-27 Hochleistungsfähige physikalische Kopplungsstrukturschicht
DE112013007752.3T Active DE112013007752B3 (de) 2012-10-22 2013-03-27 Hochleistungsverdrahtungs-Bitübertragungsschicht
DE201311002880 Pending DE112013002880T5 (de) 2012-10-22 2013-03-27 Hochleistungsfähige physikslische Kopplungsstrukturschicht
DE112013001360.6T Active DE112013001360B4 (de) 2012-10-22 2013-03-28 Vorrichtung, verfahren und system zum bereitstellen einer kopplungsstruktur-linkschicht
DE112013007767.1T Active DE112013007767B3 (de) 2012-10-22 2013-03-28 Vorrichtung und system zur verbesserten nutzung von datenverbindungen

Family Applications Before (5)

Application Number Title Priority Date Filing Date
DE112013005086.2T Pending DE112013005086T5 (de) 2012-10-22 2013-03-15 Kohärenzprotokoll für Hochleistungszwischenverbindung
DE112013004105.7T Pending DE112013004105T5 (de) 2012-10-22 2013-03-15 Kohärenzprotokolltabellen
DE112013003723.8T Active DE112013003723B4 (de) 2012-10-22 2013-03-15 Hochleistungsfähige physikalische Kopplungsstrukturschicht
DE112013007751.5T Active DE112013007751B3 (de) 2012-10-22 2013-03-15 Hochleistungs-Zusammenschaltungs-Bitübertragungsschicht
DE112013005093.5T Pending DE112013005093T5 (de) 2012-10-22 2013-03-15 Hochleistungszusammenschaltungsbitübertragungsschicht

Family Applications After (8)

Application Number Title Priority Date Filing Date
DE112013002069.6T Active DE112013002069B4 (de) 2012-10-22 2013-03-15 Hohes Leistungsverbindungskohärenz-Protokoll
DE112013004094.8T Active DE112013004094B4 (de) 2012-10-22 2013-03-15 Hochleistungs-Zusammenschaltungs-Bitübertragungsschicht
DE112013005104.4T Pending DE112013005104T5 (de) 2012-10-22 2013-03-27 Hochleistungsverdrahtungs-Bitübertragungsschicht
DE112013002090.4T Pending DE112013002090T5 (de) 2012-10-22 2013-03-27 Hochleistungsfähige physikalische Kopplungsstrukturschicht
DE112013007752.3T Active DE112013007752B3 (de) 2012-10-22 2013-03-27 Hochleistungsverdrahtungs-Bitübertragungsschicht
DE201311002880 Pending DE112013002880T5 (de) 2012-10-22 2013-03-27 Hochleistungsfähige physikslische Kopplungsstrukturschicht
DE112013001360.6T Active DE112013001360B4 (de) 2012-10-22 2013-03-28 Vorrichtung, verfahren und system zum bereitstellen einer kopplungsstruktur-linkschicht
DE112013007767.1T Active DE112013007767B3 (de) 2012-10-22 2013-03-28 Vorrichtung und system zur verbesserten nutzung von datenverbindungen

Country Status (9)

Country Link
US (20) US9378171B2 (de)
EP (2) EP3410304B1 (de)
JP (2) JP6139689B2 (de)
KR (27) KR101686359B1 (de)
CN (26) CN104380269B (de)
BR (1) BR112015006432A2 (de)
DE (14) DE112013005086T5 (de)
RU (2) RU2599971C2 (de)
WO (11) WO2014065878A1 (de)

Families Citing this family (210)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104081722B (zh) * 2012-01-13 2018-05-22 英特尔公司 SoC构造中的高效对等通信支持
US8943255B2 (en) * 2012-05-29 2015-01-27 Lsi Corporation Methods and structure for accounting for connection resets between peripheral component interconnect express bridges and host devices
US9355058B2 (en) 2012-10-22 2016-05-31 Intel Corporation High performance interconnect physical layer
CN104380269B (zh) 2012-10-22 2018-01-30 英特尔公司 高性能互连相干协议
US9280507B2 (en) 2012-10-22 2016-03-08 Intel Corporation High performance interconnect physical layer
US9479196B2 (en) 2012-10-22 2016-10-25 Intel Corporation High performance interconnect link layer
US9367474B2 (en) * 2013-06-12 2016-06-14 Apple Inc. Translating cache hints
US20150006962A1 (en) * 2013-06-27 2015-01-01 Robert C. Swanson Memory dump without error containment loss
CN104579605B (zh) * 2013-10-23 2018-04-10 华为技术有限公司 一种数据传输方法及装置
US9325449B2 (en) 2013-12-06 2016-04-26 Intel Corporation Lane error detection and lane removal mechanism to reduce the probability of data corruption
US9397792B2 (en) 2013-12-06 2016-07-19 Intel Corporation Efficient link layer retry protocol utilizing implicit acknowledgements
US9306863B2 (en) * 2013-12-06 2016-04-05 Intel Corporation Link transfer, bit error detection and link retry using flit bundles asynchronous to link fabric packets
JP6221717B2 (ja) * 2013-12-12 2017-11-01 富士通株式会社 ストレージ装置、ストレージシステム及びデータ管理プログラム
WO2015099724A1 (en) * 2013-12-26 2015-07-02 Intel Corporation Pci express enhancements
CN105765544B (zh) * 2013-12-26 2019-04-09 英特尔公司 多芯片封装链路
US9594719B2 (en) 2014-02-03 2017-03-14 Valens Semiconductor Ltd. Seamless addition of high bandwidth lanes
US9628382B2 (en) 2014-02-05 2017-04-18 Intel Corporation Reliable transport of ethernet packet data with wire-speed and packet data rate match
CN105095147B (zh) * 2014-05-21 2018-03-13 华为技术有限公司 片上网络的Flit传输方法及装置
RU2608881C2 (ru) 2014-05-28 2017-01-25 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для управления турборежимом
US9696920B2 (en) 2014-06-02 2017-07-04 Micron Technology, Inc. Systems and methods for improving efficiencies of a memory system
US9619214B2 (en) 2014-08-13 2017-04-11 International Business Machines Corporation Compiler optimizations for vector instructions
US9571465B1 (en) * 2014-09-18 2017-02-14 Amazon Technologies, Inc. Security verification by message interception and modification
US9904645B2 (en) * 2014-10-31 2018-02-27 Texas Instruments Incorporated Multicore bus architecture with non-blocking high performance transaction credit system
US10082538B2 (en) * 2014-11-14 2018-09-25 Cavium, Inc. Testbench builder, system, device and method
US9665505B2 (en) 2014-11-14 2017-05-30 Cavium, Inc. Managing buffered communication between sockets
US9870328B2 (en) * 2014-11-14 2018-01-16 Cavium, Inc. Managing buffered communication between cores
US20160173398A1 (en) * 2014-12-12 2016-06-16 Intel Corporation Method, Apparatus And System For Encoding Command Information In a Packet-Based Network
US9921768B2 (en) * 2014-12-18 2018-03-20 Intel Corporation Low power entry in a shared memory link
US9444551B2 (en) * 2014-12-19 2016-09-13 Intel Corporation High performance optical repeater
US10025746B2 (en) * 2014-12-20 2018-07-17 Intel Corporation High performance interconnect
US9740646B2 (en) * 2014-12-20 2017-08-22 Intel Corporation Early identification in transactional buffered memory
US9632862B2 (en) * 2014-12-20 2017-04-25 Intel Corporation Error handling in transactional buffered memory
US9785556B2 (en) * 2014-12-23 2017-10-10 Intel Corporation Cross-die interface snoop or global observation message ordering
US20160188519A1 (en) * 2014-12-27 2016-06-30 Intel Corporation Method, apparatus, system for embedded stream lanes in a high-performance interconnect
CN104536929A (zh) * 2015-01-14 2015-04-22 浪潮(北京)电子信息产业有限公司 一种物理层初始化方法及客户端
US9998434B2 (en) * 2015-01-26 2018-06-12 Listat Ltd. Secure dynamic communication network and protocol
US20160285624A1 (en) * 2015-03-26 2016-09-29 Intel Corporation Pseudorandom bit sequences in an interconnect
US9946676B2 (en) 2015-03-26 2018-04-17 Intel Corporation Multichip package link
US9639276B2 (en) * 2015-03-27 2017-05-02 Intel Corporation Implied directory state updates
US10282315B2 (en) 2015-03-27 2019-05-07 Cavium, Llc Software assisted hardware configuration for software defined network system-on-chip
US9720838B2 (en) 2015-03-27 2017-08-01 Intel Corporation Shared buffered memory routing
US9619396B2 (en) * 2015-03-27 2017-04-11 Intel Corporation Two level memory full line writes
US9760515B2 (en) 2015-04-06 2017-09-12 Qualcomm Incorporated Shared control of a phase locked loop (PLL) for a multi-port physical layer (PHY)
US10417128B2 (en) 2015-05-06 2019-09-17 Oracle International Corporation Memory coherence in a multi-core, multi-level, heterogeneous computer architecture implementing hardware-managed and software managed caches
US20160353357A1 (en) * 2015-05-27 2016-12-01 Qualcomm Incorporated Methods and systems for multiplexed communication in dense wireless environments
EP3297220B1 (de) * 2015-06-10 2019-04-17 Huawei Technologies Co. Ltd. Signalübertragungsverfahren, steuergerät und signalübertragungssystem
US9697145B2 (en) * 2015-06-12 2017-07-04 Apple Inc. Memory interface system
US20160371222A1 (en) * 2015-06-22 2016-12-22 Qualcomm Incorporated COHERENCY DRIVEN ENHANCEMENTS TO A PERIPHERAL COMPONENT INTERCONNECT (PCI) EXPRESS (PCIe) TRANSACTION LAYER
US10089275B2 (en) 2015-06-22 2018-10-02 Qualcomm Incorporated Communicating transaction-specific attributes in a peripheral component interconnect express (PCIe) system
KR102485999B1 (ko) * 2015-07-01 2023-01-06 삼성전자주식회사 마스터-사이드 필터를 포함하는 캐시 코히런트 시스템과 이를 포함하는 데이터 처리 시스템
US9692589B2 (en) * 2015-07-17 2017-06-27 Intel Corporation Redriver link testing
CN107924378B (zh) * 2015-07-30 2020-12-18 瓦伦斯半导体有限责任公司 高带宽通道的无缝添加
JP6674085B2 (ja) * 2015-08-12 2020-04-01 富士通株式会社 演算処理装置及び演算処理装置の制御方法
US9990291B2 (en) * 2015-09-24 2018-06-05 Qualcomm Incorporated Avoiding deadlocks in processor-based systems employing retry and in-order-response non-retry bus coherency protocols
US20200244397A1 (en) * 2015-09-26 2020-07-30 Intel Corporation Stream identifier lane protection
US9720439B2 (en) 2015-09-26 2017-08-01 Intel Corporation Methods, apparatuses, and systems for deskewing link splits
CN112612731B (zh) * 2015-09-26 2024-09-03 英特尔公司 多芯片封装链路错误检测
DE112015006953T5 (de) 2015-09-26 2018-06-14 Intel Corporation Training einer gültigen lane
US10671476B2 (en) * 2015-09-26 2020-06-02 Intel Corporation In-band margin probing on an operational interconnect
GB2543745B (en) * 2015-10-15 2018-07-04 Advanced Risc Mach Ltd An apparatus and method for operating a virtually indexed physically tagged cache
US10198384B2 (en) 2016-03-01 2019-02-05 Qorvo Us, Inc. One wire bus to RFFE translation system
US10128964B2 (en) 2016-03-10 2018-11-13 Qualcomm Incorporated Multiphase preamble data sequences for receiver calibration and mode data signaling
US9779028B1 (en) 2016-04-01 2017-10-03 Cavium, Inc. Managing translation invalidation
CN105933286B (zh) * 2016-04-05 2019-08-02 浪潮电子信息产业股份有限公司 一种验证协议的方法及装置
RU2643620C2 (ru) * 2016-05-11 2018-02-02 федеральное государственное автономное образовательное учреждение высшего образования "Санкт-Петербургский политехнический университет Петра Великого" (ФГАОУ ВО "СПбПУ") Способ планирования задач предобработки данных Интернета Вещей для систем анализа
US10713202B2 (en) * 2016-05-25 2020-07-14 Samsung Electronics Co., Ltd. Quality of service (QOS)-aware input/output (IO) management for peripheral component interconnect express (PCIE) storage system with reconfigurable multi-ports
US10503641B2 (en) * 2016-05-31 2019-12-10 Advanced Micro Devices, Inc. Cache coherence for processing in memory
US11144691B2 (en) * 2016-06-02 2021-10-12 Siemens Industry Software Inc. Virtual Ethernet mutable port group transactor
TWI613547B (zh) * 2016-06-16 2018-02-01 新漢股份有限公司 具有pci-e增強器的電腦系統,及其pci-e增強器的設定方法
US10103837B2 (en) * 2016-06-23 2018-10-16 Advanced Micro Devices, Inc. Asynchronous feedback training
US10484361B2 (en) * 2016-06-30 2019-11-19 Intel Corporation Systems, methods, and apparatuses for implementing a virtual device observation and debug network for high speed serial IOS
US10303605B2 (en) * 2016-07-20 2019-05-28 Intel Corporation Increasing invalid to modified protocol occurrences in a computing system
US10929059B2 (en) 2016-07-26 2021-02-23 MemRay Corporation Resistance switching memory-based accelerator
US10379904B2 (en) * 2016-08-31 2019-08-13 Intel Corporation Controlling a performance state of a processor using a combination of package and thread hint information
RU2016137176A (ru) * 2016-09-16 2018-03-19 Оракл Интернэйшнл Корпорейшн Связывание преобразованного исходного кода с первоначальным исходным кодом с помощью метаданных
US10255181B2 (en) * 2016-09-19 2019-04-09 Qualcomm Incorporated Dynamic input/output coherency
WO2018057039A1 (en) * 2016-09-26 2018-03-29 Hewlett-Packard Development Company, L. Update memory management information to boot an electronic device from a reduced power mode
US10846258B2 (en) * 2016-09-30 2020-11-24 Intel Corporation Voltage modulated control lane
US10152446B2 (en) * 2016-10-01 2018-12-11 Intel Corporation Link-physical layer interface adapter
CN108121842B (zh) * 2016-11-30 2021-04-27 深圳市中兴微电子技术有限公司 多处理器系统芯片的低功耗工作方式的验证方法和装置
CN106527576A (zh) * 2016-12-01 2017-03-22 郑州云海信息技术有限公司 一种pcie设备的时钟分离设计方法和系统
TWI610179B (zh) * 2016-12-07 2018-01-01 慧榮科技股份有限公司 主機裝置與資料傳輸速率控制方法
CN108170370B (zh) 2016-12-07 2021-01-26 慧荣科技股份有限公司 数据储存装置与数据传输速率控制方法
TWI633777B (zh) * 2016-12-13 2018-08-21 威盛電子股份有限公司 傳輸介面晶片以及其測試方法
KR20180071598A (ko) 2016-12-20 2018-06-28 주식회사 포스코 중장비 위치 추적 시스템
KR101946135B1 (ko) * 2017-01-11 2019-02-08 울산과학기술원 비휘발성 메모리를 이용하는 데이터베이스 관리 시스템 및 방법
US11159636B2 (en) * 2017-02-08 2021-10-26 Arm Limited Forwarding responses to snoop requests
US11182315B2 (en) 2017-02-10 2021-11-23 Intel Corporation Apparatuses, methods, and systems for hardware control of processor performance levels
US10572434B2 (en) 2017-02-27 2020-02-25 International Business Machines Corporation Intelligent certificate discovery in physical and virtualized networks
US10784986B2 (en) 2017-02-28 2020-09-22 Intel Corporation Forward error correction mechanism for peripheral component interconnect-express (PCI-e)
CN107491407B (zh) * 2017-07-03 2019-07-12 西安空间无线电技术研究所 基于fpga内serdes的自适应高速传输系统
US11030126B2 (en) * 2017-07-14 2021-06-08 Intel Corporation Techniques for managing access to hardware accelerator memory
US11249808B2 (en) * 2017-08-22 2022-02-15 Intel Corporation Connecting accelerator resources using a switch
CN107678854A (zh) * 2017-08-31 2018-02-09 郑州云海信息技术有限公司 一种解决计算机缓存一致性冲突的方法
US10474611B2 (en) 2017-09-19 2019-11-12 International Business Machines Corporation Aligning received bad data indicators (BDIS) with received data on a cross-chip link
CN107589698B (zh) * 2017-09-20 2021-05-25 友达光电股份有限公司 应用于物联网中的感测装置及控制方法
US20190095273A1 (en) * 2017-09-27 2019-03-28 Qualcomm Incorporated Parity bits location on i3c multilane bus
US10963035B2 (en) * 2017-10-11 2021-03-30 Qualcomm Incorporated Low power PCIe
WO2019100238A1 (zh) * 2017-11-22 2019-05-31 深圳市大疆创新科技有限公司 一种断链恢复的方法及飞行器
CN107894963B (zh) * 2017-11-27 2021-07-27 上海兆芯集成电路有限公司 用于系统单芯片的通信控制器与通信方法
US10466911B2 (en) * 2017-12-18 2019-11-05 Western Digital Technologies, Inc. Method using logical based addressing for latency reduction
US10853212B2 (en) * 2018-01-08 2020-12-01 Intel Corporation Cross-talk generation in a multi-lane link during lane testing
WO2019140049A1 (en) * 2018-01-10 2019-07-18 Lumeova, Inc. Method, devices and system for wireless communication channels fso
US20190227971A1 (en) * 2018-01-23 2019-07-25 Qualcomm Incorporated Architecture for consolidating multiple sources of low-bandwidth data over a serial bus
US20190294777A1 (en) * 2018-03-26 2019-09-26 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Systems and methods for managing access to host computing devices by external devices
US10534881B2 (en) * 2018-04-10 2020-01-14 Advanced Micro Devices, Inc. Method of debugging a processor
US20190042455A1 (en) * 2018-05-04 2019-02-07 Intel Corporation Globally addressable memory for devices linked to hosts
CN108563510B (zh) * 2018-05-04 2021-07-13 湖南大学 面向e级计算的体系结构感知优化方法
US20190356412A1 (en) * 2018-05-16 2019-11-21 Qualcomm Incorporated Fast termination of multilane double data rate transactions
CN108762747B (zh) * 2018-05-30 2022-02-18 郑州云海信息技术有限公司 数据处理方法以及计算机设备
WO2019237130A1 (en) * 2018-06-04 2019-12-12 Lightfleet Corporation Routing and control protocol for high-performance interconnect fabrics
CN110609866B (zh) * 2018-06-15 2023-08-11 伊姆西Ip控股有限责任公司 用于协商事务的方法、设备和计算机程序产品
US10693589B2 (en) * 2018-06-18 2020-06-23 Huawei Technologies Co., Ltd. Serdes with jitter injection self stress mechanism
US11301160B2 (en) * 2018-06-20 2022-04-12 Genesys Telecommunications Laboratories, Inc. System and method for a replication protocol in a real-time statistical engine
CN109144943A (zh) * 2018-06-26 2019-01-04 深圳市安信智控科技有限公司 基于高速串行通道互连的计算芯片与存储器芯片组合系统
GB2575294B8 (en) * 2018-07-04 2022-07-20 Graphcore Ltd Host Proxy On Gateway
US10841355B2 (en) * 2018-07-13 2020-11-17 Apple Inc. Methods and apparatus for streaming media conversion with reduced buffering memories
CN113039732A (zh) 2018-09-06 2021-06-25 诺基亚通信公司 Acqi解码置信度检测
US10541841B1 (en) * 2018-09-13 2020-01-21 Advanced Micro Devices, Inc. Hardware transmit equalization for high speed
CN109558122B (zh) * 2018-11-29 2022-08-19 湖南国科微电子股份有限公司 一种提升物理层兼容性的系统与方法
TWI706257B (zh) * 2018-12-13 2020-10-01 新唐科技股份有限公司 匯流排系統
US10761939B1 (en) * 2018-12-13 2020-09-01 Amazon Technologies, Inc. Powering-down or rebooting a device in a system fabric
US10771189B2 (en) * 2018-12-18 2020-09-08 Intel Corporation Forward error correction mechanism for data transmission across multi-lane links
KR102165860B1 (ko) * 2018-12-31 2020-10-14 성균관대학교산학협력단 슬로티드 페이지의 더블 헤더 로깅 방법 및 데이터베이스 장치
US10599601B1 (en) 2019-01-16 2020-03-24 Qorvo Us, Inc. Single-wire bus (SuBUS) slave circuit and related apparatus
US11099991B2 (en) 2019-01-24 2021-08-24 Vmware, Inc. Programming interfaces for accurate dirty data tracking
US11068400B2 (en) * 2019-01-24 2021-07-20 Vmware, Inc. Failure-atomic logging for persistent memory systems with cache-coherent FPGAs
US11940483B2 (en) 2019-01-31 2024-03-26 Tektronix, Inc. Systems, methods and devices for high-speed input/output margin testing
DE112020000640T5 (de) 2019-01-31 2021-11-25 Tektronix, Inc. Systeme, Verfahren und Vorrichtungen für Hochgeschwindigkeits-Eingangs-/Ausgangs-Margin-Tests
US10713209B2 (en) * 2019-02-08 2020-07-14 Intel Corporation Recalibration of PHY circuitry for the PCI Express (PIPE) interface based on using a message bus interface
US10802966B2 (en) * 2019-02-14 2020-10-13 International Business Machines Corporation Simultaneous, non-atomic request processing within an SMP environment broadcast scope for multiply-requested data elements using real-time parallelization
US11637657B2 (en) 2019-02-15 2023-04-25 Intel Corporation Low-latency forward error correction for high-speed serial links
US11099905B2 (en) 2019-02-26 2021-08-24 International Business Machines Corporation Efficient remote resource allocation within an SMP broadcast scope maintaining fairness between operation types
US11249837B2 (en) 2019-03-01 2022-02-15 Intel Corporation Flit-based parallel-forward error correction and parity
US20220147614A1 (en) * 2019-03-05 2022-05-12 Siemens Industry Software Inc. Machine learning-based anomaly detections for embedded software applications
CN109947551B (zh) * 2019-03-19 2021-04-23 中南大学 一种多轮次任务分配方法、边缘计算系统及其存储介质
US11055221B2 (en) * 2019-03-22 2021-07-06 Samsung Electronics Co., Ltd. Speculative DRAM read, in parallel with cache level search, leveraging interconnect directory
EP3723345A1 (de) * 2019-04-10 2020-10-14 ABB Schweiz AG Aggregationsserver und verfahren zur weiterleitung von knotendaten
US10698842B1 (en) * 2019-04-10 2020-06-30 Xilinx, Inc. Domain assist processor-peer for coherent acceleration
IT201900005822A1 (it) * 2019-04-15 2020-10-15 Phoenix Ict S R L S Adattore di periferiche general purpose per computer
US11119958B2 (en) 2019-04-18 2021-09-14 Qorvo Us, Inc. Hybrid bus apparatus
US11226924B2 (en) 2019-04-24 2022-01-18 Qorvo Us, Inc. Single-wire bus apparatus supporting slave-initiated operation in a master circuit
CN110138761B (zh) * 2019-05-09 2021-10-15 豪威触控与显示科技(深圳)有限公司 基于mipi协议的设备间通信方法及设备拓扑结构
US11296994B2 (en) 2019-05-13 2022-04-05 Intel Corporation Ordered sets for high-speed interconnects
JP7259537B2 (ja) * 2019-05-16 2023-04-18 オムロン株式会社 情報処理装置
US10802967B1 (en) * 2019-06-28 2020-10-13 Intel Corporation Partial write management in a multi-tiled compute engine
US11144469B2 (en) * 2019-07-02 2021-10-12 Microsoft Technology Licensing, Llc Per-tenant incremental outward distributed proactive caching
US11444829B2 (en) * 2019-09-09 2022-09-13 Intel Corporation Link layer communication by multiple link layer encodings for computer buses
US11271860B1 (en) * 2019-11-15 2022-03-08 Xilinx, Inc. Compressed tag coherency messaging
CN114651426B (zh) * 2019-11-20 2023-08-18 三菱电机株式会社 光通信装置及通信系统
US11740958B2 (en) 2019-11-27 2023-08-29 Intel Corporation Multi-protocol support on common physical layer
RU2738955C1 (ru) * 2019-11-27 2020-12-21 Федеральное государственное бюджетное образовательное учреждение высшего образования "Томский государственный университет систем управления и радиоэлектроники" (ТУСУР) Способ трёхкратного резервирования межсоединений
US10983942B1 (en) 2019-12-11 2021-04-20 Qorvo Us, Inc. Multi-master hybrid bus apparatus
US11132321B2 (en) * 2020-02-26 2021-09-28 Quanta Computer Inc. Method and system for automatic bifurcation of PCIe in BIOS
US20230081394A1 (en) * 2020-02-28 2023-03-16 Arizona Board Of Regents On Behalf Of Arizona State University A software-defined board support package (sw-bsp) for stand-alone reconfigurable accelerators
US11115176B1 (en) * 2020-03-04 2021-09-07 Qualcomm Incorporated System and method for adjusting clock-data timing in a multi-lane data communication link
US11126585B1 (en) 2020-03-09 2021-09-21 Western Digital Technologies, Inc. Data storage device with improved interface transmitter training
US11886312B2 (en) 2020-04-07 2024-01-30 Intel Corporation Characterizing error correlation based on error logging for computer buses
CN111400232B (zh) * 2020-04-10 2024-01-16 芯启源(上海)半导体科技有限公司 一种基于数据位宽展开的scramble与descramble硬件实现方法
US11288225B2 (en) 2020-04-14 2022-03-29 Western Digital Technologies, Inc. Adapting transmitter training behavior based upon assumed identity of training partner
US11309013B2 (en) 2020-04-29 2022-04-19 Samsung Electronics Co., Ltd. Memory device for reducing resources used for training
US11513981B2 (en) * 2020-04-29 2022-11-29 Dell Products L.P. PCIe link management without sideband signals
LU101767B1 (en) * 2020-05-05 2021-11-05 Microsoft Technology Licensing Llc Recording a memory value trace for use with a separate cache coherency protocol trace
US11586446B1 (en) * 2020-05-20 2023-02-21 Marvell Asia Pte Ltd System and methods for hardware-based PCIe link up based on post silicon characterization
US11263137B2 (en) * 2020-05-27 2022-03-01 Arm Limited Core-to-core cache stashing and target discovery
US12061562B2 (en) * 2020-05-29 2024-08-13 Netlist, Inc. Computer memory expansion device and method of operation
US20210013999A1 (en) * 2020-06-04 2021-01-14 Intel Corporation Latency-Optimized Mechanisms for Handling Errors or Mis-Routed Packets for Computer Buses
WO2021247766A1 (en) * 2020-06-05 2021-12-09 William David Schwaderer Shapeshift data encryption methods and systems
KR102254337B1 (ko) * 2020-06-22 2021-05-21 한양대학교 산학협력단 Dc-밸런싱을 고려한 pam4 5b3q 코딩 방법 및 장치
US12056029B2 (en) 2020-07-27 2024-08-06 Intel Corporation In-system validation of interconnects by error injection and measurement
US11360906B2 (en) * 2020-08-14 2022-06-14 Alibaba Group Holding Limited Inter-device processing system with cache coherency
US11362939B2 (en) 2020-08-31 2022-06-14 Micron Technology, Inc. Flow control for a multiple flow control unit interface
US11580044B2 (en) * 2020-08-31 2023-02-14 Micron Technology, Inc. Network credit return mechanisms
US11588745B2 (en) 2020-08-31 2023-02-21 Micron Technology, Inc. Early credit return for credit-based flow control
CN112134859B (zh) * 2020-09-09 2021-07-06 上海沈德医疗器械科技有限公司 一种基于arm架构的聚焦超声治疗设备控制方法
US12061232B2 (en) 2020-09-21 2024-08-13 Tektronix, Inc. Margin test data tagging and predictive expected margins
DE102021121105A1 (de) * 2020-09-28 2022-03-31 Samsung Electronics Co., Ltd. Intelligente ablagespeichervorrichtung
TWI783293B (zh) * 2020-11-09 2022-11-11 瑞昱半導體股份有限公司 訊號傳輸裝置識別方法與訊號處理系統
US11409677B2 (en) 2020-11-11 2022-08-09 Qorvo Us, Inc. Bus slave circuit and related single-wire bus apparatus
TWI809570B (zh) 2020-11-24 2023-07-21 美商泰克特洛尼克斯公司 用於高速輸入/輸出裕度測試的系統、方法和裝置
US11489695B2 (en) 2020-11-24 2022-11-01 Qorvo Us, Inc. Full-duplex communications over a single-wire bus
CN112579479B (zh) * 2020-12-07 2022-07-08 成都海光微电子技术有限公司 在维护缓存一致性时维护事务次序的处理器及其方法
US20220182098A1 (en) * 2020-12-09 2022-06-09 Texas Instruments Incorporated Low power digital modes for duty-cycled integrated transceivers
US11636037B2 (en) 2020-12-21 2023-04-25 Nxp Usa, Inc. Methods and apparatuses involving radar system data paths
CN112953556A (zh) * 2021-02-05 2021-06-11 南京大学 基于斐波那契数列的抗串扰互联的编解码器及编码方法
CN112631989A (zh) * 2021-03-08 2021-04-09 南京蓝洋智能科技有限公司 一种小芯片间、芯片间、小芯片与芯片间的数据传输方法
US11431649B1 (en) * 2021-03-26 2022-08-30 Arm Limited Interconnect resource allocation
CN113019479A (zh) * 2021-03-31 2021-06-25 中国人民解放军空军军医大学 一种用于模拟井下工作环境的试验箱
IT202100008723A1 (it) 2021-04-08 2022-10-08 Phoenix ICT Sistema per la gestione in sicurezza dei documenti digitali
US11789658B2 (en) 2021-04-13 2023-10-17 SK Hynix Inc. Peripheral component interconnect express (PCIe) interface system and method of operating the same
KR102668564B1 (ko) 2021-06-01 2024-05-24 에스케이하이닉스 주식회사 PCIe 인터페이스 장치 및 그 동작 방법
KR102518317B1 (ko) 2021-04-13 2023-04-06 에스케이하이닉스 주식회사 PCIe 인터페이스 장치 및 그 동작 방법
US20220327074A1 (en) * 2021-04-13 2022-10-13 SK Hynix Inc. PERIPHERAL COMPONENT INTERCONNECT EXPRESS (PCIe) SYSTEM AND METHOD OF OPERATING THE SAME
TWI773395B (zh) * 2021-06-22 2022-08-01 慧榮科技股份有限公司 記憶體控制器與連結識別方法
CN113971143B (zh) * 2021-10-22 2023-12-05 展讯半导体(成都)有限公司 一种内存控制器、物联网芯片及电子设备
US11755494B2 (en) * 2021-10-29 2023-09-12 Advanced Micro Devices, Inc. Cache line coherence state downgrade
US12092689B2 (en) 2021-12-08 2024-09-17 Qorvo Us, Inc. Scan test in a single-wire bus circuit
US11706048B1 (en) 2021-12-16 2023-07-18 Qorvo Us, Inc. Multi-protocol bus circuit
CN114510268B (zh) * 2021-12-24 2022-09-20 中国人民解放军战略支援部队航天工程大学 一种基于gpu实现下变频中单精度浮点数累积误差控制方法
US20220342840A1 (en) * 2021-12-30 2022-10-27 Intel Corporation Die-to-die interconnect
US20220327084A1 (en) * 2021-12-30 2022-10-13 Intel Corporation Die-to-die interconnect protocol layer
US11907132B2 (en) 2022-03-23 2024-02-20 International Business Machines Corporation Final cache directory state indication
US11726660B1 (en) * 2022-04-15 2023-08-15 Dell Products L.P. Techniques for flexible physical drive expansion using a loop back connection
US12038853B2 (en) * 2022-04-22 2024-07-16 Western Digital Technologies, Inc. Reducing link up time in PCIe systems
CN114942814B (zh) * 2022-06-01 2023-07-11 咪咕视讯科技有限公司 页面组件的聚焦方法、系统、终端设备及介质
US11880686B2 (en) * 2022-06-16 2024-01-23 Ampere Computing Llc Devices transferring cache lines, including metadata on external links
CN115099356B (zh) * 2022-07-11 2024-08-09 大连理工大学 工业不平衡数据分类方法、装置、电子设备及存储介质
CN115238619B (zh) * 2022-09-20 2023-06-27 北京数字光芯集成电路设计有限公司 数字芯片的子模块后仿真方法和系统
US11914473B1 (en) * 2022-10-20 2024-02-27 Micron Technology, Inc. Data recovery using ordered data requests
KR102712015B1 (ko) * 2024-01-03 2024-09-30 주식회사 메타씨앤아이 디스플레이 장치에 사용되는 직렬 인터페이스 회로 장치 및 이를 제어하는 방법

Family Cites Families (273)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4228496A (en) 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4191941A (en) 1978-04-03 1980-03-04 Rca Corporation Switch matrix for data transfers
US4716523A (en) 1985-06-14 1987-12-29 International Business Machines Corporation Multiple port integrated DMA and interrupt controller and arbitrator
US5537640A (en) * 1988-12-30 1996-07-16 Intel Corporation Asynchronous modular bus architecture with cache consistency
NZ232223A (en) * 1989-01-27 1993-03-26 British Telecomm Alternate burst communication for cordless phones re-established after channel failure
US4959833A (en) * 1989-03-08 1990-09-25 Ics Electronics Corporation Data transmission method and bus extender
CA2045756C (en) * 1990-06-29 1996-08-20 Gregg Bouchard Combined queue for invalidates and return data in multiprocessor system
AU665521B2 (en) * 1990-10-03 1996-01-11 Thinking Machines Corporation Parallel computer system
US5222062A (en) 1991-10-03 1993-06-22 Compaq Computer Corporation Expandable communication system with automatic data concentrator detection
US5434993A (en) * 1992-11-09 1995-07-18 Sun Microsystems, Inc. Methods and apparatus for creating a pending write-back controller for a cache controller on a packet switched memory bus employing dual directories
EP0600626A1 (de) * 1992-11-13 1994-06-08 Cyrix Corporation Kohärenz eines Nachschreibcachespeicher in einem für Durchschreibcachespeicher bestimmten System
US5325360A (en) * 1992-12-09 1994-06-28 National Semiconductor Corporation Controllable PCM state machine user interface
US5394555A (en) * 1992-12-23 1995-02-28 Bull Hn Information Systems Inc. Multi-node cluster computer system incorporating an external coherency unit at each node to insure integrity of information stored in a shared, distributed memory
US5432775A (en) 1993-12-03 1995-07-11 Advanced Micro Devices, Inc. Auto negotiation system for a communications network
US5551005A (en) * 1994-02-25 1996-08-27 Intel Corporation Apparatus and method of handling race conditions in mesi-based multiprocessor system with private caches
US5572703A (en) * 1994-03-01 1996-11-05 Intel Corporation Method and apparatus for snoop stretching using signals that convey snoop results
US5383143A (en) 1994-03-30 1995-01-17 Motorola, Inc. Self re-seeding linear feedback shift register (LFSR) data processing system for generating a pseudo-random test bit stream and method of operation
EP0706138A1 (de) * 1994-10-03 1996-04-10 International Business Machines Corporation Abwechselnde Datengültigkeitssteuerungssignale für Hochgeschwindigkeitsdatenübertragung
EP0707269A1 (de) * 1994-10-11 1996-04-17 International Business Machines Corporation Cachespeicherkohärenznetzwerk für Multiprozessor-Datenverarbeitungssystem
DE69628493T2 (de) * 1995-03-31 2004-05-19 Sun Microsystems, Inc., Santa Clara Cache-kohärentes Computersystem, das Entwertungs- und Rückschreiboperationen minimiert
EP0735487B1 (de) * 1995-03-31 2001-10-31 Sun Microsystems, Inc. Schnelle Zweitor-Cachesteuerungsschaltung für Datenprozessoren in einem paketvermittelten cachekohärenten Multiprozessorsystem
US5898826A (en) * 1995-11-22 1999-04-27 Intel Corporation Method and apparatus for deadlock-free routing around an unusable routing component in an N-dimensional network
US5983326A (en) * 1996-07-01 1999-11-09 Sun Microsystems, Inc. Multiprocessing system including an enhanced blocking mechanism for read-to-share-transactions in a NUMA mode
CN1179043A (zh) * 1996-09-20 1998-04-15 摩托罗拉公司 Tdm/tdma系统中离散可变的时隙宽度
US5991819A (en) * 1996-12-03 1999-11-23 Intel Corporation Dual-ported memory controller which maintains cache coherency using a memory line status table
US6249520B1 (en) * 1997-10-24 2001-06-19 Compaq Computer Corporation High-performance non-blocking switch with multiple channel ordering constraints
US6052760A (en) * 1997-11-05 2000-04-18 Unisys Corporation Computer system including plural caches and utilizing access history or patterns to determine data ownership for efficient handling of software locks
US5987056A (en) * 1997-11-13 1999-11-16 Lsi Logic Corporation PN sequence hopping method and system
US6163608A (en) * 1998-01-09 2000-12-19 Ericsson Inc. Methods and apparatus for providing comfort noise in communications systems
US6345339B1 (en) * 1998-02-17 2002-02-05 International Business Machines Corporation Pseudo precise I-cache inclusivity for vertical caches
US6334172B1 (en) * 1998-02-17 2001-12-25 International Business Machines Corporation Cache coherency protocol with tagged state for modified values
US6141733A (en) * 1998-02-17 2000-10-31 International Business Machines Corporation Cache coherency protocol with independent implementation of optimized cache operations
US6631448B2 (en) * 1998-03-12 2003-10-07 Fujitsu Limited Cache coherence unit for interconnecting multiprocessor nodes having pipelined snoopy protocol
US7471075B2 (en) 1998-04-17 2008-12-30 Unique Technologies, Llc Multi-test Arc fault circuit interrupter tester
US6430188B1 (en) * 1998-07-08 2002-08-06 Broadcom Corporation Unified table for L2, L3, L4, switching and filtering
ES2194287T3 (es) * 1998-09-30 2003-11-16 Cit Alcatel Metodo y disposicion para transicion entre un estado de baja potencia y un estado de plena otencia en un sistema de comunicacion.
GB2342823B (en) * 1998-10-16 2000-11-29 Marconi Comm Ltd Communication system
US6526481B1 (en) * 1998-12-17 2003-02-25 Massachusetts Institute Of Technology Adaptive cache coherence protocols
US6393529B1 (en) * 1998-12-21 2002-05-21 Advanced Micro Devices, Inc. Conversation of distributed memory bandwidth in multiprocessor system with cache coherency by transmitting cancel subsequent to victim write
US6556634B1 (en) * 1999-02-10 2003-04-29 Ericsson, Inc. Maximum likelihood rake receiver for use in a code division, multiple access wireless communication system
US6185250B1 (en) * 1999-03-10 2001-02-06 Lucent Technologies Inc. Training of level learning modems
WO2000074306A2 (en) 1999-05-28 2000-12-07 Basic Resources, Inc. Wireless transceiver network employing node-to-node data messaging
US6487621B1 (en) * 1999-08-17 2002-11-26 Compaq Information Technologies Group, L.P. Architecture, system and method for ensuring an ordered transaction on at least one of a plurality of multi-processor buses that experience a hit-to-modified snoop cycle
KR100566289B1 (ko) * 1999-09-03 2006-03-30 삼성전자주식회사 데이타 링크 맵을 이용한 브이5.2 계층 2의 비활성화 제어 방법 및 장치
US7010607B1 (en) * 1999-09-15 2006-03-07 Hewlett-Packard Development Company, L.P. Method for training a communication link between ports to correct for errors
US6754185B1 (en) * 1999-09-27 2004-06-22 Koninklijke Philips Electronics N.V. Multi link layer to single physical layer interface in a node of a data communication system
US6674720B1 (en) * 1999-09-29 2004-01-06 Silicon Graphics, Inc. Age-based network arbitration system and method
US6751698B1 (en) * 1999-09-29 2004-06-15 Silicon Graphics, Inc. Multiprocessor node controller circuit and method
US6763034B1 (en) * 1999-10-01 2004-07-13 Stmicroelectronics, Ltd. Connection ports for interconnecting modules in an integrated circuit
US6320406B1 (en) 1999-10-04 2001-11-20 Texas Instruments Incorporated Methods and apparatus for a terminated fail-safe circuit
US6665832B1 (en) * 2000-03-31 2003-12-16 Qualcomm, Incorporated Slotted mode decoder state metric initialization
US6865231B1 (en) * 2000-06-20 2005-03-08 Hewlett-Packard Development Company, L.P. High-speed interconnection adapter having automated crossed differential pair correction
US6961347B1 (en) * 2000-06-20 2005-11-01 Hewlett-Packard Development Company, L.P. High-speed interconnection link having automated lane reordering
US7124252B1 (en) * 2000-08-21 2006-10-17 Intel Corporation Method and apparatus for pipelining ordered input/output transactions to coherent memory in a distributed memory, cache coherent, multi-processor system
US6668335B1 (en) 2000-08-31 2003-12-23 Hewlett-Packard Company, L.P. System for recovering data in a multiprocessor system comprising a conduction path for each bit between processors where the paths are grouped into separate bundles and routed along different paths
US6892319B2 (en) 2000-09-08 2005-05-10 Hewlett-Packard Development Company, L.P. Method for verifying abstract memory models of shared memory multiprocessors
US7327754B2 (en) 2000-09-28 2008-02-05 Teridian Semiconductor, Corp. Apparatus and method for freezing the states of a receiver during silent line state operation of a network device
US7596139B2 (en) * 2000-11-17 2009-09-29 Foundry Networks, Inc. Backplane interface adapter with error control and redundant fabric
US7236490B2 (en) * 2000-11-17 2007-06-26 Foundry Networks, Inc. Backplane interface adapter
EP1211837A1 (de) * 2000-12-04 2002-06-05 Telefonaktiebolaget Lm Ericsson Ungleicher Fehlerschutz in ein Paketübertragungssystem
EP1217613A1 (de) * 2000-12-19 2002-06-26 Koninklijke Philips Electronics N.V. Wiederherstellung von schlechten oder fehlenden Rahmen in zellularer Telefonie
US6859864B2 (en) * 2000-12-29 2005-02-22 Intel Corporation Mechanism for initiating an implicit write-back in response to a read or snoop of a modified cache line
US20020161975A1 (en) * 2001-02-23 2002-10-31 Zilavy Daniel V. Cache to cache copying of clean data
US7231500B2 (en) * 2001-03-22 2007-06-12 Sony Computer Entertainment Inc. External data interface in a computer architecture for broadband networks
US6987947B2 (en) 2001-10-30 2006-01-17 Unwired Technology Llc Multiple channel wireless communication system
US20030093632A1 (en) * 2001-11-12 2003-05-15 Intel Corporation Method and apparatus for sideband read return header in memory interconnect
US6941425B2 (en) * 2001-11-12 2005-09-06 Intel Corporation Method and apparatus for read launch optimizations in memory interconnect
US7227845B2 (en) * 2001-12-11 2007-06-05 Motorola, Inc. Method and apparatus for enabling a communication resource reset
US7117311B1 (en) * 2001-12-19 2006-10-03 Intel Corporation Hot plug cache coherent interface method and apparatus
US7030737B2 (en) 2002-03-01 2006-04-18 Hewlett-Packard Development Company, L.P. Apparatus, system, and method for indicating a level of network activity
US7200186B2 (en) 2002-03-14 2007-04-03 Intel Corporation Methods and apparatus for reducing power usage of a transmitter and receiver coupled via a differential serial data link
US7334047B1 (en) * 2002-03-18 2008-02-19 Cisco Technology, Inc. Method and system for selective link state advertisement blocking over a data network area
US7653790B2 (en) * 2002-05-13 2010-01-26 Glasco David B Methods and apparatus for responding to a request cluster
US7020729B2 (en) * 2002-05-16 2006-03-28 Intel Corporation Protocol independent data transmission interface
US6973545B2 (en) * 2002-06-28 2005-12-06 Sun Microsystems, Inc. System with a directory based coherency protocol and split ownership and access right coherence mechanism
US20040028074A1 (en) * 2002-07-26 2004-02-12 Gary Huff Physical layer device with line state encoding
US7093172B2 (en) * 2002-08-07 2006-08-15 Broadcom Corporation System and method for determining on-chip bit error rate (BER) in a communication system
US8037224B2 (en) * 2002-10-08 2011-10-11 Netlogic Microsystems, Inc. Delegating network processor operations to star topology serial bus interfaces
US7720135B2 (en) * 2002-11-07 2010-05-18 Intel Corporation System, method and device for autonegotiation
US7505486B2 (en) * 2002-11-19 2009-03-17 Hewlett-Packard Development Company, L.P. Degradable network data path transmission scheme
US7203853B2 (en) * 2002-11-22 2007-04-10 Intel Corporation Apparatus and method for low latency power management on a serial data link
US20040174570A1 (en) 2002-12-02 2004-09-09 Plunkett Richard Thomas Variable size dither matrix usage
US6892283B2 (en) * 2002-12-05 2005-05-10 International Business Machines Corporation High speed memory cloner with extended cache coherency protocols and responses
US7525989B2 (en) * 2002-12-16 2009-04-28 Intel Corporation System, method and device for time slot status messaging among SONET nodes
US6922756B2 (en) * 2002-12-19 2005-07-26 Intel Corporation Forward state for use in cache coherency in a multiprocessor system
US7047475B2 (en) * 2003-02-04 2006-05-16 Hewlett-Packard Development Company, L.P. CRC encoding scheme for conveying status information
US7535836B2 (en) * 2003-02-12 2009-05-19 Broadcom Corporation Method and system to provide word-level flow control using spare link bandwidth
GB2399722A (en) * 2003-03-21 2004-09-22 Sony Uk Ltd Data communication synchronisation
US7464307B2 (en) * 2003-03-25 2008-12-09 Intel Corporation High performance serial bus testing methodology
US7426597B1 (en) * 2003-05-07 2008-09-16 Nvidia Corporation Apparatus, system, and method for bus link width optimization of a graphics system
US7136953B1 (en) 2003-05-07 2006-11-14 Nvidia Corporation Apparatus, system, and method for bus link width optimization
US7792118B2 (en) * 2003-06-19 2010-09-07 Polytechnic University Switch module memory structure and per-destination queue flow control for use in a switch
US7577727B2 (en) * 2003-06-27 2009-08-18 Newisys, Inc. Dynamic multiple cluster system reconfiguration
US20050027876A1 (en) * 2003-07-29 2005-02-03 Toshitomo Umei Data transmission method, data transmission system, and data transmission apparatus
CN1320464C (zh) * 2003-10-23 2007-06-06 英特尔公司 用于维持共享高速缓存一致性的方法和设备
US7146284B2 (en) * 2003-11-07 2006-12-05 Texas Instruments Incorporated Method of testing phase lock loop status during a Serializer/Deserializer internal loopback built-in self-test
US8606946B2 (en) * 2003-11-12 2013-12-10 Qualcomm Incorporated Method, system and computer program for driving a data signal in data interface communication data link
US8090857B2 (en) * 2003-11-24 2012-01-03 Qualcomm Atheros, Inc. Medium access control layer that encapsulates data from a plurality of received data units into a plurality of independently transmittable blocks
US7440468B2 (en) * 2003-12-11 2008-10-21 International Business Machines Corporation Queue management of a global link control byte in an input/output subsystem
US8009563B2 (en) * 2003-12-19 2011-08-30 Broadcom Corporation Method and system for transmit scheduling for multi-layer network interface controller (NIC) operation
US7631118B2 (en) 2003-12-31 2009-12-08 Intel Corporation Lane to lane deskewing via non-data symbol processing for a serial point to point link
JP4005974B2 (ja) * 2004-01-09 2007-11-14 株式会社東芝 通信装置、通信方法、および通信システム
US7856534B2 (en) * 2004-01-15 2010-12-21 Hewlett-Packard Development Company, L.P. Transaction references for requests in a multi-processor network
US7177987B2 (en) * 2004-01-20 2007-02-13 Hewlett-Packard Development Company, L.P. System and method for responses between different cache coherency protocols
US7620696B2 (en) * 2004-01-20 2009-11-17 Hewlett-Packard Development Company, L.P. System and method for conflict responses in a cache coherency protocol
US8176259B2 (en) * 2004-01-20 2012-05-08 Hewlett-Packard Development Company, L.P. System and method for resolving transactions in a cache coherency protocol
US20050172091A1 (en) * 2004-01-29 2005-08-04 Rotithor Hemant G. Method and an apparatus for interleaving read data return in a packetized interconnect to memory
US20050262250A1 (en) * 2004-04-27 2005-11-24 Batson Brannon J Messaging protocol
US7210000B2 (en) * 2004-04-27 2007-04-24 Intel Corporation Transmitting peer-to-peer transactions through a coherent interface
US7716409B2 (en) * 2004-04-27 2010-05-11 Intel Corporation Globally unique transaction identifiers
US20050240734A1 (en) * 2004-04-27 2005-10-27 Batson Brannon J Cache coherence protocol
CN101902434A (zh) * 2004-04-30 2010-12-01 夏普株式会社 无线通信系统
US7957428B2 (en) * 2004-05-21 2011-06-07 Intel Corporation Methods and apparatuses to effect a variable-width link
US7313712B2 (en) 2004-05-21 2007-12-25 Intel Corporation Link power saving state
US20060041696A1 (en) * 2004-05-21 2006-02-23 Naveen Cherukuri Methods and apparatuses for the physical layer initialization of a link-based system interconnect
US8046488B2 (en) 2004-05-21 2011-10-25 Intel Corporation Dynamically modulating link width
US7219220B2 (en) * 2004-05-21 2007-05-15 Intel Corporation Methods and apparatuses for resetting the physical layers of two agents interconnected through a link-based interconnection
CN1700639A (zh) * 2004-05-21 2005-11-23 华为技术有限公司 导出和导入无线局域网鉴别与保密基础结构证书信息方法
US20060041715A1 (en) * 2004-05-28 2006-02-23 Chrysos George Z Multiprocessor chip having bidirectional ring interconnect
US7467358B2 (en) * 2004-06-03 2008-12-16 Gwangju Institute Of Science And Technology Asynchronous switch based on butterfly fat-tree for network on chip application
US7295618B2 (en) * 2004-06-16 2007-11-13 International Business Machines Corporation Automatic adaptive equalization method and system for high-speed serial transmission link
US7436836B2 (en) * 2004-06-30 2008-10-14 Cisco Technology, Inc. Method and apparatus for detecting support for a protocol defining supplemental headers
US8161429B1 (en) * 2004-08-20 2012-04-17 Altera Corporation Methods and apparatus for initializing serial links
KR100579053B1 (ko) 2004-08-26 2006-05-12 삼성전자주식회사 스마트 카드와 메모리 카드간의 멀티 인터페이스 방법 및멀티 인터페이스 카드
US20060047862A1 (en) * 2004-09-02 2006-03-02 International Business Machines Corporation Automatic hardware data link initialization
US9727468B2 (en) * 2004-09-09 2017-08-08 Intel Corporation Resolving multi-core shared cache access conflicts
US7191255B2 (en) * 2004-10-27 2007-03-13 Intel Corporation Transaction layer link down handling for PCI express
CN100384118C (zh) * 2004-11-03 2008-04-23 上海贝尔阿尔卡特股份有限公司 处理通用成帧规程帧的方法和装置
US7738484B2 (en) * 2004-12-13 2010-06-15 Intel Corporation Method, system, and apparatus for system level initialization
US7761719B2 (en) 2005-03-28 2010-07-20 Akros Silicon Inc. Ethernet module
JP4791530B2 (ja) * 2005-04-13 2011-10-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 電子デバイス及びフロー制御方法
US7613864B2 (en) * 2005-04-22 2009-11-03 Sun Microsystems, Inc. Device sharing
US7564904B2 (en) 2005-05-03 2009-07-21 Texas Instruments Incorporated Apparatus for and method of detection of powered devices over a network
US7539801B2 (en) * 2005-05-27 2009-05-26 Ati Technologies Ulc Computing device with flexibly configurable expansion slots, and method of operation
US7694060B2 (en) * 2005-06-17 2010-04-06 Intel Corporation Systems with variable link widths based on estimated activity levels
US7620694B2 (en) * 2005-09-27 2009-11-17 Intel Corporation Early issue of transaction ID
US7633877B2 (en) 2005-11-18 2009-12-15 Intel Corporation Method and apparatus for meeting compliance for debugging and testing a multi-speed, point-to-point link
US20070239922A1 (en) * 2005-12-09 2007-10-11 Horigan John W Technique for link reconfiguration
US7924708B2 (en) * 2005-12-13 2011-04-12 Intel Corporation Method and apparatus for flow control initialization
US7606981B2 (en) * 2005-12-19 2009-10-20 Intel Corporation System and method for reducing store latency
CN1996782B (zh) * 2005-12-26 2010-05-05 中兴通讯股份有限公司 一种空域自适应链路的天线选择指示方法
US7430628B2 (en) * 2006-01-10 2008-09-30 Kabushiki Kaisha Toshiba System and method for optimized allocation of shared processing resources
US7543115B1 (en) * 2006-01-11 2009-06-02 Intel Corporation Two-hop source snoop based cache coherence protocol
US7512741B1 (en) * 2006-01-11 2009-03-31 Intel Corporation Two-hop source snoop based messaging protocol
JP4572169B2 (ja) * 2006-01-26 2010-10-27 エヌイーシーコンピュータテクノ株式会社 マルチプロセッサシステム及びその動作方法
US9390015B2 (en) * 2006-03-16 2016-07-12 International Business Machines Corporation Method for performing cacheline polling utilizing a store and reserve instruction
US7783959B2 (en) * 2006-03-23 2010-08-24 Intel Corporation Apparatus and method for reduced power consumption communications over a physical interconnect
US7681093B2 (en) * 2006-03-31 2010-03-16 Intel Corporation Redundant acknowledgment in loopback entry
US7743129B2 (en) 2006-05-01 2010-06-22 International Business Machines Corporation Methods and arrangements to detect a failure in a communication network
US20070260615A1 (en) * 2006-05-08 2007-11-08 Eran Shen Media with Pluggable Codec
US7721050B2 (en) * 2006-06-30 2010-05-18 Intel Corporation Re-snoop for conflict resolution in a cache coherency protocol
US7536515B2 (en) * 2006-06-30 2009-05-19 Intel Corporation Repeated conflict acknowledgements in a cache coherency protocol
US7506108B2 (en) * 2006-06-30 2009-03-17 Intel Corporation Requester-generated forward for late conflicts in a cache coherency protocol
JP2010500641A (ja) * 2006-08-08 2010-01-07 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 電子装置及び通信同期方法
US7986718B2 (en) 2006-09-15 2011-07-26 Itron, Inc. Discovery phase in a frequency hopping network
US7600080B1 (en) * 2006-09-22 2009-10-06 Intel Corporation Avoiding deadlocks in a multiprocessor system
GB2443465A (en) * 2006-11-06 2008-05-07 Fujitsu Ltd Communication systems
CN101715575A (zh) * 2006-12-06 2010-05-26 弗森多系统公司(dba弗森-艾奥) 采用数据管道管理数据的装置、系统和方法
WO2008087579A2 (en) * 2007-01-15 2008-07-24 Koninklijke Philips Electronics N.V. Method of generating low peak-to-average power ratio ( papr) binary preamble sequences for ofdm systems
DE102007007136B3 (de) 2007-02-09 2008-08-28 Siemens Ag Radelektronik und Verfahren zum Betreiben einer Radelektronik
US8428175B2 (en) * 2007-03-09 2013-04-23 Qualcomm Incorporated Quadrature modulation rotating training sequence
US7978635B2 (en) 2007-03-21 2011-07-12 Qualcomm Incorporated H-ARQ acknowledgment detection validation by re-decoding
EP1973254B1 (de) * 2007-03-22 2009-07-15 Research In Motion Limited Vorrichtung und Verfahren zur verbesserten Maskierung von Rahmenverlusten
KR20100018085A (ko) * 2007-05-08 2010-02-16 인터디지탈 테크날러지 코포레이션 피기백 긍정 ack/부정 ack 필드 표시자 및 폴링 표시자를 제공하기 위한 방법 및 장치
US7827357B2 (en) * 2007-07-31 2010-11-02 Intel Corporation Providing an inclusive shared cache among multiple core-cache clusters
US7899111B2 (en) 2007-08-07 2011-03-01 Intel Corporation Link interface technique including data indicator symbols
US20090063889A1 (en) * 2007-09-05 2009-03-05 Faisal Dada Aligning data on parallel transmission lines
US20090125363A1 (en) * 2007-10-22 2009-05-14 Nokia Siemens Networks Oy Method, apparatus and computer program for employing a frame structure in wireless communication
EP2063581A1 (de) * 2007-11-20 2009-05-27 STMicroelectronics (Grenoble) SAS Übertragung eines Datenstroms zwischen zwei elektronischen Geräten mittels eines Netzwerk-on-chip
US8392663B2 (en) * 2007-12-12 2013-03-05 Mips Technologies, Inc. Coherent instruction cache utilizing cache-op execution resources
US8179901B2 (en) * 2008-02-11 2012-05-15 Vitesse Semiconductor Corporation System and method for squelching a recovered clock in an ethernet network
WO2009108205A1 (en) 2008-02-29 2009-09-03 Hewlett-Packard Development Company, L.P. Modular system and retractable assembly for electronic devices
DE102008012979A1 (de) * 2008-03-06 2009-09-10 Gip Ag Verfahren und Programm zum Bereitstellen von Datenkohärenz in Netzwerken
US7492807B1 (en) 2008-04-07 2009-02-17 International Business Machines Corporation Pseudo-random bit sequence (PRBS) synchronization for interconnects with dual-tap scrambling devices and methods
US9037768B2 (en) * 2008-04-28 2015-05-19 Hewlett-Packard Development Company, L.P. Virtual-interrupt-mode interface and method for virtualizing an interrupt mode
US8762652B2 (en) * 2008-04-30 2014-06-24 Freescale Semiconductor, Inc. Cache coherency protocol in a data processing system
CN101599811B (zh) * 2008-06-02 2011-04-06 华为技术有限公司 一种数据处理装置,通信设备以及数据处理方法
US7769048B2 (en) 2008-06-25 2010-08-03 Intel Corporation Link and lane level packetization scheme of encoding in serial links
US8201069B2 (en) * 2008-07-01 2012-06-12 International Business Machines Corporation Cyclical redundancy code for use in a high-speed serial link
US8205045B2 (en) * 2008-07-07 2012-06-19 Intel Corporation Satisfying memory ordering requirements between partial writes and non-snoop accesses
US8250311B2 (en) * 2008-07-07 2012-08-21 Intel Corporation Satisfying memory ordering requirements between partial reads and non-snoop accesses
CN101325461B (zh) * 2008-07-25 2011-04-27 浙江大学 基于无速率码的认知无线电通信链路的建立和维护方法
CN102210143B (zh) * 2008-09-08 2014-12-31 三星电子株式会社 设计用于接收移动/手持信号的数字电视接收机中的子频道获取
US9119165B2 (en) * 2009-09-10 2015-08-25 Nextnav, Llc Coding in a wide area positioning system (WAPS)
CA2736768A1 (en) * 2008-09-10 2010-03-18 Commlabs, Inc. Wide area positioning system
US8265071B2 (en) * 2008-09-11 2012-09-11 Juniper Networks, Inc. Methods and apparatus related to a flexible data center security architecture
CN101430664B (zh) * 2008-09-12 2010-07-28 中国科学院计算技术研究所 一种多处理器系统及Cache一致性消息传输方法
EP2173066B1 (de) 2008-10-01 2012-05-16 STMicroelectronics Srl Verfahren zum Austauschen von Informationen in einem Network-on-Chip-Kommunikationsnetzwerk, entsprechendes Network-on-Chip-Kommunikationsnetzwerk und Computerprogrammprodukt
WO2010096122A1 (en) * 2008-10-29 2010-08-26 Adapteva Incorporated Mesh network
KR100988809B1 (ko) * 2008-11-06 2010-10-20 주식회사 하이닉스반도체 반도체 메모리 장치 및 출력인에이블 신호 생성 방법
US8706479B2 (en) * 2008-11-14 2014-04-22 Broadcom Corporation Packet loss concealment for sub-band codecs
CN101437033B (zh) * 2008-12-16 2012-07-11 杭州华三通信技术有限公司 一种支持可变速率的方法和网络设备
US8300571B2 (en) * 2008-12-17 2012-10-30 Viasat, Inc. Start of frame correlation for physical layer header synchronization
US8799582B2 (en) * 2008-12-30 2014-08-05 Intel Corporation Extending cache coherency protocols to support locally buffered data
US8026726B2 (en) * 2009-01-23 2011-09-27 Silicon Image, Inc. Fault testing for interconnections
KR101598093B1 (ko) * 2009-02-02 2016-02-26 엘지전자 주식회사 송/수신 시스템 및 데이터 처리 방법
KR20100092353A (ko) * 2009-02-12 2010-08-20 엘지전자 주식회사 트래픽 암호화 키 관리방법 및 장치
WO2010096969A1 (zh) * 2009-02-27 2010-09-02 华为技术有限公司 无源光网络中发送上行传送帧的方法及设备
KR101133256B1 (ko) * 2009-02-27 2012-04-09 한국과학기술원 시그니처 정보를 이용한 물리계층에서의 타임스탬프 처리장치 및 그 방법
US20100228922A1 (en) 2009-03-09 2010-09-09 Deepak Limaye Method and system to perform background evictions of cache memory lines
US8401400B2 (en) * 2009-03-10 2013-03-19 Tyco Electronics Subsea Communications Llc Detection of data in signals with data pattern dependent signal distortion
CN101854331A (zh) * 2009-04-02 2010-10-06 天际微芯(北京)科技有限公司 训练序列结构及训练方法
US9690625B2 (en) * 2009-06-16 2017-06-27 Oracle America, Inc. System and method for out-of-order resource allocation and deallocation in a threaded machine
US8335911B2 (en) * 2009-05-21 2012-12-18 Oracle America, Inc. Dynamic allocation of resources in a threaded, heterogeneous processor
US8199759B2 (en) 2009-05-29 2012-06-12 Intel Corporation Method and apparatus for enabling ID based streams over PCI express
CN101561794B (zh) * 2009-06-05 2012-07-04 威盛电子股份有限公司 通用串行总线装置
US8239704B2 (en) * 2009-06-12 2012-08-07 Cray Inc. Global clock via embedded spanning tree
WO2010147264A1 (en) * 2009-06-16 2010-12-23 Lg Electronics Inc. Method of exchanging messages and transmitting and receiving devices
US8782347B2 (en) * 2009-06-26 2014-07-15 Intel Corporation Controllably exiting an unknown state of a cache coherency directory
US20100332877A1 (en) 2009-06-30 2010-12-30 Yarch Mark A Method and apparatus for reducing power consumption
US8831666B2 (en) * 2009-06-30 2014-09-09 Intel Corporation Link power savings with state retention
CN101695193A (zh) * 2009-09-27 2010-04-14 上海华为技术有限公司 一种下行数据发送和下行数据接收的方法和装置
US8799586B2 (en) 2009-09-30 2014-08-05 Intel Corporation Memory mirroring and migration at home agent
US8327228B2 (en) * 2009-09-30 2012-12-04 Intel Corporation Home agent data and memory management
US8819305B2 (en) * 2009-11-16 2014-08-26 Intel Corporation Directly providing data messages to a protocol layer
US8621128B2 (en) 2009-12-04 2013-12-31 St-Ericsson Sa Methods and systems for reliable link startup
US9100809B2 (en) * 2009-12-21 2015-08-04 Julia Olincy Olincy Automatic response option mobile system for responding to incoming texts or calls or both
US8301813B2 (en) * 2009-12-24 2012-10-30 Ati Technologies Ulc Method and device for disabling a higher version of a computer bus and interconnection protocol for interoperability with a device compliant to a lower version of the computer bus and interconnection protocol
US20120227045A1 (en) 2009-12-26 2012-09-06 Knauth Laura A Method, apparatus, and system for speculative execution event counter checkpointing and restoring
US8804960B2 (en) * 2010-02-22 2014-08-12 International Business Machines Corporation Implementing known scrambling relationship among multiple serial links
US8892820B2 (en) * 2010-03-19 2014-11-18 Netapp, Inc. Method and system for local caching of remote storage data
US8473567B2 (en) 2010-03-29 2013-06-25 Intel Corporation Generating a packet including multiple operation codes
US8514885B2 (en) * 2010-03-30 2013-08-20 International Business Machines Corporation Using variable length packets to embed extra network control information
US8539260B2 (en) * 2010-04-05 2013-09-17 Intel Corporation Method, apparatus, and system for enabling platform power states
CN101867401B (zh) * 2010-05-04 2013-11-20 西安交通大学 一种遮挡躲避的60GHz多天线系统及其信号处理方法
CN102238623B (zh) * 2010-05-06 2014-04-09 中兴通讯股份有限公司 加快无线链路控制窗口状态应答的方法及基站子系统
JP2011248814A (ja) * 2010-05-31 2011-12-08 Nec Corp PCIExpressリンクエラー検出及び自動復旧機能を備えたデバイス
US9448938B2 (en) * 2010-06-09 2016-09-20 Micron Technology, Inc. Cache coherence protocol for persistent memories
CN101867452B (zh) 2010-06-10 2013-07-17 国网电力科学研究院 一种电力专用串行实时总线的通信方法
KR101323055B1 (ko) * 2010-06-17 2013-10-29 엘지디스플레이 주식회사 내부 디스플레이 포트 인터페이스 테스트 방법 및 장치
CN102315917B (zh) * 2010-07-06 2014-12-17 瑞昱半导体股份有限公司 一种用于信号传输的省电方法及装置
US8402295B2 (en) * 2010-07-09 2013-03-19 Qualcomm Incorporated Techniques employing flits for clock gating
CN102377608B (zh) * 2010-08-12 2014-07-09 盛科网络(苏州)有限公司 物理层故障模拟系统及方法
US8656115B2 (en) * 2010-08-20 2014-02-18 Intel Corporation Extending a cache coherency snoop broadcast protocol with directory information
WO2012038546A1 (en) 2010-09-23 2012-03-29 St-Ericsson Sa Multi-lane data transmission de-skew
US9104793B2 (en) * 2010-09-24 2015-08-11 Intel Corporation Method and system of adapting communication links to link conditions on a platform
US8751714B2 (en) 2010-09-24 2014-06-10 Intel Corporation Implementing quickpath interconnect protocol over a PCIe interface
US9146610B2 (en) 2010-09-25 2015-09-29 Intel Corporation Throttling integrated link
US8805196B2 (en) * 2010-09-30 2014-08-12 Teradyne, Inc. Electro-optical communications link
JP5597104B2 (ja) * 2010-11-16 2014-10-01 キヤノン株式会社 データ転送装置及びその制御方法
CN102142987B (zh) * 2010-12-09 2014-01-08 浪潮(北京)电子信息产业有限公司 一种高速串行总线设备及其传输数据的方法
JP2012146041A (ja) * 2011-01-11 2012-08-02 Hitachi Ltd 計算機装置及び信号伝送方法
JP2012155650A (ja) * 2011-01-28 2012-08-16 Toshiba Corp ルータ及びメニーコアシステム
EP2482196B1 (de) * 2011-01-31 2016-06-29 Canon Kabushiki Kaisha Bildverarbeitungsvorrichtung, Druckvorrichtung und Steuerverfahren in einer Bildverarbeitungsvorrichtung
US8924672B2 (en) * 2011-02-08 2014-12-30 Infineon Technologies Ag Device with processing unit and information storage
US8756378B2 (en) * 2011-02-17 2014-06-17 Oracle International Corporation Broadcast protocol for a network of caches
US8824489B1 (en) * 2011-04-26 2014-09-02 Marvell International Ltd. Physical layer (PHY) devices for use in automotive and industrial applications
US9189424B2 (en) 2011-05-31 2015-11-17 Hewlett-Packard Development Company, L.P. External cache operation based on clean castout messages
US8868955B2 (en) 2011-07-01 2014-10-21 Intel Corporation Enhanced interconnect link width modulation for power savings
US8788890B2 (en) * 2011-08-05 2014-07-22 Apple Inc. Devices and methods for bit error rate monitoring of intra-panel data link
US8514889B2 (en) * 2011-08-26 2013-08-20 Sonics, Inc. Use of common data format to facilitate link width conversion in a router with flexible link widths
US9208110B2 (en) * 2011-11-29 2015-12-08 Intel Corporation Raw memory transaction support
WO2013085501A1 (en) 2011-12-07 2013-06-13 Intel Corporation Multiple transaction data flow control unit for high-speed interconnect
CN103188059A (zh) 2011-12-28 2013-07-03 华为技术有限公司 快速通道互联系统中数据包重传方法、装置和系统
CN102571571A (zh) * 2011-12-28 2012-07-11 南京邮电大学 一种应用于时延容忍网络的多层次有效路由方法
CN102594745B (zh) * 2011-12-29 2015-02-04 东南大学 单载波频域均衡系统中的同步方法及其实现电路
US8892269B2 (en) 2012-03-30 2014-11-18 Intel Corporation Power down and quick start of thermal sensor
CN102685128B (zh) * 2012-05-09 2015-09-30 东南大学 一种基于状态机的协议构造方法
US9875204B2 (en) 2012-05-18 2018-01-23 Dell Products, Lp System and method for providing a processing node with input/output functionality provided by an I/O complex switch
US8856573B2 (en) * 2012-06-27 2014-10-07 Intel Corporation Setting a number (N) of fast training sequences (FTS) automatically to an optimal value
US9280504B2 (en) 2012-08-24 2016-03-08 Intel Corporation Methods and apparatus for sharing a network interface controller
US8984313B2 (en) 2012-08-31 2015-03-17 Intel Corporation Configuring power management functionality in a processor including a plurality of cores by utilizing a register to store a power domain indicator
US8935578B2 (en) 2012-09-29 2015-01-13 Intel Corporation Method and apparatus for optimizing power and latency on a link
US8996757B2 (en) * 2012-09-29 2015-03-31 Intel Corporation Method and apparatus to generate platform correctable TX-RX
US9003091B2 (en) 2012-10-18 2015-04-07 Hewlett-Packard Development Company, L.P. Flow control for a Serial Peripheral Interface bus
US9479196B2 (en) * 2012-10-22 2016-10-25 Intel Corporation High performance interconnect link layer
US9600431B2 (en) 2012-10-22 2017-03-21 Intel Corporation High performance interconnect physical layer
US9280507B2 (en) * 2012-10-22 2016-03-08 Intel Corporation High performance interconnect physical layer
CN104380269B (zh) 2012-10-22 2018-01-30 英特尔公司 高性能互连相干协议
WO2014133527A1 (en) 2013-02-28 2014-09-04 Intel Corporation Leveraging an enumeration and/or configuration mechanism of one interconnect protocol for a different interconnect protocol
US9436244B2 (en) * 2013-03-15 2016-09-06 Intel Corporation Adaptive control loop protection for fast and robust recovery from low-power states in high speed serial I/O applications
CN105765544B (zh) * 2013-12-26 2019-04-09 英特尔公司 多芯片封装链路
US9946676B2 (en) * 2015-03-26 2018-04-17 Intel Corporation Multichip package link

Also Published As

Publication number Publication date
WO2014065875A1 (en) 2014-05-01
CN104335196B (zh) 2017-10-13
CN108132892B (zh) 2022-02-11
CN108055214B (zh) 2021-04-13
CN104995614B (zh) 2018-04-06
US20180143937A1 (en) 2018-05-24
US20180203811A1 (en) 2018-07-19
US20240012772A1 (en) 2024-01-11
CN104536933B (zh) 2018-02-13
KR101861452B1 (ko) 2018-05-25
CN104737142B (zh) 2018-03-23
DE112013004094B4 (de) 2018-03-29
CN104303166A (zh) 2015-01-21
KR20140141616A (ko) 2014-12-10
US20170083476A1 (en) 2017-03-23
KR20170081728A (ko) 2017-07-12
CN107102960B (zh) 2021-07-09
EP2909728A1 (de) 2015-08-26
CN106681938A (zh) 2017-05-17
US20170109315A1 (en) 2017-04-20
KR20150052102A (ko) 2015-05-13
DE112013005086T5 (de) 2015-09-03
CN104995614A (zh) 2015-10-21
US20150261711A1 (en) 2015-09-17
KR20140137398A (ko) 2014-12-02
CN107045479B (zh) 2020-09-01
US11269793B2 (en) 2022-03-08
KR20150077398A (ko) 2015-07-07
CN106776364B (zh) 2020-07-17
CN104536933A (zh) 2015-04-22
US20140215112A1 (en) 2014-07-31
KR101696124B1 (ko) 2017-01-12
CN106776364A (zh) 2017-05-31
CN108614783A (zh) 2018-10-02
US20200356502A1 (en) 2020-11-12
KR101912074B1 (ko) 2018-10-25
CN107968756A (zh) 2018-04-27
CN107092565A (zh) 2017-08-25
KR20180018853A (ko) 2018-02-21
KR20150059775A (ko) 2015-06-02
RU2599971C2 (ru) 2016-10-20
KR101681509B1 (ko) 2016-12-01
KR101828756B1 (ko) 2018-02-12
DE112013002880T5 (de) 2015-03-05
CN104769570A (zh) 2015-07-08
KR101642086B1 (ko) 2016-07-22
WO2014065884A1 (en) 2014-05-01
KR20170005897A (ko) 2017-01-16
US20150081984A1 (en) 2015-03-19
KR101772037B1 (ko) 2017-08-28
KR20150070107A (ko) 2015-06-24
WO2014065876A1 (en) 2014-05-01
WO2014065877A1 (en) 2014-05-01
CN104391816B (zh) 2018-11-09
US20150067207A1 (en) 2015-03-05
KR101686359B1 (ko) 2016-12-13
WO2014065881A1 (en) 2014-05-01
KR20150047552A (ko) 2015-05-04
CN108614783B (zh) 2022-11-18
CN104737147B (zh) 2018-11-06
KR20170012581A (ko) 2017-02-02
KR101700545B1 (ko) 2017-01-26
KR101815178B1 (ko) 2018-01-04
JP2017188909A (ja) 2017-10-12
CN108228495A (zh) 2018-06-29
KR20170081730A (ko) 2017-07-12
CN104756097B (zh) 2018-05-15
KR20160150653A (ko) 2016-12-30
BR112015006432A2 (pt) 2017-07-04
DE112013002069B4 (de) 2022-12-01
DE112013001360T5 (de) 2014-11-27
CN104335196A (zh) 2015-02-04
KR20180049192A (ko) 2018-05-10
US9892086B2 (en) 2018-02-13
CN104969207A (zh) 2015-10-07
WO2014065879A1 (en) 2014-05-01
DE112013007767B3 (de) 2023-04-20
KR101691756B1 (ko) 2016-12-30
KR101861312B1 (ko) 2018-05-28
CN104769570B (zh) 2018-05-15
DE112013004105T5 (de) 2015-04-30
CN106681938B (zh) 2020-08-18
CN108228495B (zh) 2021-05-25
CN104380269B (zh) 2018-01-30
CN104969206A (zh) 2015-10-07
CN107092565B (zh) 2021-03-12
RU2014145179A (ru) 2016-05-27
DE112013007752B3 (de) 2023-04-27
US9378171B2 (en) 2016-06-28
KR20150047550A (ko) 2015-05-04
US10380046B2 (en) 2019-08-13
CN108055214A (zh) 2018-05-18
DE112013003723B4 (de) 2018-09-13
KR101686360B1 (ko) 2016-12-13
US9753885B2 (en) 2017-09-05
CN111737167A (zh) 2020-10-02
US20190347226A1 (en) 2019-11-14
DE112013002090T5 (de) 2015-01-15
CN104391816A (zh) 2015-03-04
KR101700261B1 (ko) 2017-01-26
KR101695340B1 (ko) 2017-01-11
WO2014065880A1 (en) 2014-05-01
WO2014065873A1 (en) 2014-05-01
KR20170042379A (ko) 2017-04-18
DE112013005093T5 (de) 2015-10-22
US20220114122A1 (en) 2022-04-14
US20170109286A1 (en) 2017-04-20
CN111737167B (zh) 2024-05-28
JP2016506548A (ja) 2016-03-03
WO2014065882A1 (en) 2014-05-01
KR101905055B1 (ko) 2018-10-08
DE112013004094T5 (de) 2015-07-23
WO2014065873A8 (en) 2014-07-10
DE112013001360B4 (de) 2023-03-23
JP6139689B2 (ja) 2017-05-31
JP6423040B2 (ja) 2018-11-14
CN107015924B (zh) 2020-10-30
RU2579140C1 (ru) 2016-03-27
US10204064B2 (en) 2019-02-12
KR101598746B1 (ko) 2016-02-29
KR20150059721A (ko) 2015-06-02
CN106815151B (zh) 2021-04-20
US10248591B2 (en) 2019-04-02
US20140201463A1 (en) 2014-07-17
CN106815151A (zh) 2017-06-09
KR20160144510A (ko) 2016-12-16
US20170097907A1 (en) 2017-04-06
KR101815180B1 (ko) 2018-01-04
WO2014065883A1 (en) 2014-05-01
US20190391939A1 (en) 2019-12-26
KR101755005B1 (ko) 2017-07-06
US9626321B2 (en) 2017-04-18
CN104487958A (zh) 2015-04-01
CN107045479A (zh) 2017-08-15
KR101815173B1 (ko) 2018-01-30
KR101754890B1 (ko) 2017-07-06
KR20160145197A (ko) 2016-12-19
CN104756097A (zh) 2015-07-01
CN104487958B (zh) 2018-05-22
KR20160089541A (ko) 2016-07-27
KR101831550B1 (ko) 2018-02-22
US20140215437A1 (en) 2014-07-31
CN104303166B (zh) 2018-01-09
US20180095927A1 (en) 2018-04-05
CN107968756B (zh) 2021-10-01
KR20150063044A (ko) 2015-06-08
DE112013002069T5 (de) 2015-01-08
US11741030B2 (en) 2023-08-29
CN108132892A (zh) 2018-06-08
KR20160046928A (ko) 2016-04-29
CN104737147A (zh) 2015-06-24
KR20170007523A (ko) 2017-01-18
KR101689998B1 (ko) 2016-12-26
US10216661B2 (en) 2019-02-26
KR20150003363A (ko) 2015-01-08
CN107102960A (zh) 2017-08-29
CN104969206B (zh) 2017-12-26
KR101615908B1 (ko) 2016-04-27
KR101985120B1 (ko) 2019-05-31
KR20150047551A (ko) 2015-05-04
CN104737142A (zh) 2015-06-24
EP3410304A1 (de) 2018-12-05
EP2909728A4 (de) 2016-06-22
WO2014065878A1 (en) 2014-05-01
WO2014065876A9 (en) 2015-02-26
DE112013003723T5 (de) 2015-04-16
US20210117350A1 (en) 2021-04-22
US9418035B2 (en) 2016-08-16
KR101599852B1 (ko) 2016-03-07
US10909055B2 (en) 2021-02-02
KR20150077397A (ko) 2015-07-07
EP3410304B1 (de) 2021-09-22
KR101847943B1 (ko) 2018-04-11
US20140112339A1 (en) 2014-04-24
KR20170007865A (ko) 2017-01-20
CN104380269A (zh) 2015-02-25
CN107015924A (zh) 2017-08-04
US9916266B2 (en) 2018-03-13
DE112013005104T5 (de) 2015-07-02
DE112013007751B3 (de) 2023-01-12

Similar Documents

Publication Publication Date Title
DE112013005090T5 (de) Steuernachrichtenübermittlung in einem mehrfach-Slot-Verbindungsschicht-Flit
US10380059B2 (en) Control messaging in multislot link layer flit
DE102020120102A1 (de) Globale dauerhafte Speicherleerung
DE112015006944B4 (de) Einrichtung, System und Verfahren zum Ermöglichen einer Kommunikation über eine Verbindung mit einer Vorrichtung außerhalb einer Baugruppe
DE102018006546A1 (de) Plattformschnittstellenschicht und protokoll für beschleuniger
DE102019108376A1 (de) Sequenz zur Aushandlung und Aktivierung von Flexbus-Protokollen
DE112017006523T5 (de) Retimer mit kurzer latenzzeit
DE102018004327A1 (de) Systeme und Verfahren zum Zugreifen auf Massenspeicher als Arbeitsspeicher
DE102019108798A1 (de) Hochbandige verbindungsschicht für kohärente nachrichten
DE112015006961T5 (de) Verbindungsfehlerdetektion in mehrfachchipgehäusen
DE112013007732T5 (de) PCI-Express-Erweiterungen
DE102018127751A1 (de) Einheitlicher Adressraum für mehrere Verbindungen
DE112013007724T5 (de) Gemeinsame Benutzung von Speicher und I/O-Diensten zwischen Knoten
DE112013007726T5 (de) Verbesserungen eines Zwischenverbindungs-Retimers
DE112018002469T5 (de) Alternative Protokollaushandlung in einer Hochleistungskopplungsstruktur
DE112016003222T5 (de) Hochleistungsfähiger repeater
DE112018001088T5 (de) Anwendung von framing-regeln für eine hochgeschwindigkeitsdatenverbindung
DE112018007637T5 (de) Fehlermeldung in Verbindungsverlängerungsvorrichtungen
DE112015006516T5 (de) BUS-Einrichtung-Funktion-Adressraumabbildung
DE112015006953T5 (de) Training einer gültigen lane
DE102021121490A1 (de) Annähernde datenbusinversionstechnik für latenzempfindliche anwendungen
DE102022101490A1 (de) Technologien zur echtzeitaktualisierung von verschlüsselungsschlüsseln
DE112017001706T5 (de) Zeitversatzvalidierung von komponenten mit unabhängigen siliziumuhren
DE112013007769B3 (de) System, Vorrichtung und Verfahren zum Erzeugen und Senden von SKP geordneten Sätzen
DE112015007276B3 (de) Mehrchipbaugruppe mit einer Erweiterung einer Mehrchipbaugruppenverbindung außerhalb der Baugruppe

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R130 Divisional application to

Ref document number: 112013007760

Country of ref document: DE

R016 Response to examination communication