JP6423040B2 - 装置およびシステム - Google Patents

装置およびシステム Download PDF

Info

Publication number
JP6423040B2
JP6423040B2 JP2017088878A JP2017088878A JP6423040B2 JP 6423040 B2 JP6423040 B2 JP 6423040B2 JP 2017088878 A JP2017088878 A JP 2017088878A JP 2017088878 A JP2017088878 A JP 2017088878A JP 6423040 B2 JP6423040 B2 JP 6423040B2
Authority
JP
Japan
Prior art keywords
sequence
training
state
processor
link
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.)
Active
Application number
JP2017088878A
Other languages
English (en)
Other versions
JP2017188909A (ja
Inventor
アイヤル、ベンカトラマン
エス. ジュエ、ダレン
エス. ジュエ、ダレン
ヴィー. アイヤル、シタラマン
ヴィー. アイヤル、シタラマン
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 JP2017188909A publication Critical patent/JP2017188909A/ja
Application granted granted Critical
Publication of JP6423040B2 publication Critical patent/JP6423040B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/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
    • 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/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/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/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/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/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
    • 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
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (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)

Description

本開示は概してコンピュータ開発の分野に関し、より詳細には、相互に依存する複数の制約されたシステムを調和させること含むソフトウェア開発に関する。
背景技術
半導体プロセスおよび論理設計における進展が、集積回路デバイスに提供されうるロジックの分量の増加を可能としてきた。その当然の結果として、コンピュータのシステム構成は、システム中のシングルまたはマルチ集積回路から、個別の集積回路に存在するマルチコア、マルチハードウェアスレッド、およびマルチ論理プロセッサへと、そのようなプロセッサ内で一体化される他のインタフェースと同様に、発展してきた。プロセッサや集積回路は、典型的には単一の物理プロセッサダイを備え、プロセッサダイは、任意の数のコア、ハードウェアスレッド、論理プロセッサ、インタフェース、メモリ、コントローラハブなどを含んでよい。
より小型なパッケージにより大きな処理パワーを適合させるための能力が大きくなった結果、より小型なコンピューティングデバイスの人気が高まっている。スマートフォン、タブレット、超薄型ノートブック、および、その他のユーザ機器が、指数関数的に成長している。しかしながら、より小型なこれらのデバイスは、データ保管およびフォームファクタを超えた複雑な処理という両方の目的で、サーバに依存している。その結果、高性能コンピュータ市場(例えば、サーバスペース)の要求もまた、拡大している。例えば、最新のサーバには、典型的には、マルチコアを有するシングルプロセッサだけでなく、演算能力を高めるためのマルチ物理プロセッサ(またマルチソケットと称される)が、搭載されている。しかし、コンピューティングシステムのデバイスの数とともに処理能力が増加するにつれて、ソケット他のデバイスとの間の通信が、よりクリティカルとなっている。
実際に、相互接続は、主に電気通信を処理する従来のマルチドロップバスから、高速通信を容易にする完璧な相互接続アーキテクチャへと成長している。残念なことに、次世代のプロセッサに対する要求がより一層高レートでの消費となるにつれて、対応する要求が、現存の相互接続アーキテクチャの機能へと置き換えられている。
一実施形態によるコンピュータシステムのI/Oデバイスに接続するシリアル2地点間(ポイントツーポイント)相互接続を有するシステムの簡略化されたブロック図を示す。
一実施形態による層状プロトコルスタックの簡略化されたブロック図を示す。
トランザクション記述子の実施形態を示す。
シリアル2地点間リンクの実施形態を示す。
潜在的な高性能相互接続(HPI)システム構成の複数の実施形態を示す。
HPIに関連する層状プロトコルスタックの実施形態を示す。
例示的なステートマシンの表現を示す。
例示的な複数の制御スーパーシーケンスを示す。
部分幅送信状態へと向かう例示的なエントリを表したフロー図である。
例示的なトレーニングシーケンスを示す。
マルチコアプロセッサを有するコンピューティングシステムのためのブロック図の実施形態を示す。
マルチコアプロセッサを有するコンピューティングシステムのためのブロック図の別の実施形態を示す。
プロセッサのためのブロック図の実施形態を示す。
プロセッサを有するコンピューティングシステムのためのブロック図の別の実施形態を示す。
マルチプロセッサソケットを有するコンピューティングシステムのためのブロック図の実施形態を示す。
コンピューティングシステムのためのブロック図の別の実施形態を示す。
様々な図面中における類似の参照番号および記号表示は、同じ要素を指す。
本発明の深い理解を提供するために、以下では、プロセッサおよびシステム構成の具体的なタイプの例、具体的なハードウェア構造、具体的なアーキテクチャのおよびマイクロアーキテクチャの詳細、具体的なレジスタ構成、具体的な命令タイプ、具体的なシステムコンポーネント、具体的なプロセッサパイプラインステージ、具体的な相互接続レイヤ、具体的なパケット/トランザクション構成、具体的なトランザクション名、具体的な交換プロトコル、具体的なリンク幅、具体的な実装、および動作等の、多数の具体的な詳細が説明される。しかしながら、本開示の主題を実施するために、これら具体的詳細が必ずしも採用される必要は無いことが、当業者には明らかであろう。他の例では、具体的かつ代わりのプロセッサアーキテクチャ、記述されたアルゴリズムのための具体的な論理回路/コード、具体的なファームウェアコード、具体的な低レベル相互接続オペレーション、具体的な論理構成、具体的な製造技術および材料、具体的なコンパイラ実装、具体的なアルゴリズムのコード表現、具体的なパワーダウンおよびゲーティング技術/論理、コンピュータシステムにおけるその他の具体的な操作上の詳細のような周知のコンポーネントや方法についての詳細な説明は、不必要に本開示を不明瞭にすることを避けるべく、回避されている。
以下の複数の実施形態は、コンピューティングプラットフォームやマイクロプロセッサのような具体的な集積回路におけるエネルギー保存、エネルギー効率、処理効率性などに関連して説明がなされるかもしれないが、他の複数の実施形態が、他の複数のタイプの集積回路および論理デバイスに適用し得る。ここで記載される複数の実施形態についての複数の技術および複数の教示と類似するものが、それらの特徴から同様に利益を得る可能性のある他のタイプの回路や半導体デバイスへ、適用されてよい。例えば、開示された複数の実施形態は、サーバコンピュータシステム、デスクトップコンピュータシステム、ラップトップ、ウルトラブック(商標)には限定されず、またハンドヘルドデバイス、スマートフォン、タブレット、他の薄型ノートブック、システムオンチップ(SOC)デバイス、および埋め込みアプリケーションのようなその他の複数のデバイスで用いられてもよい。ハンドヘルドデバイスの幾つかの例としては、携帯電話、インターネットプロトコルデバイス、デジタルカメラ、携帯情報端末(PDA)およびハンドヘルドPCを含む。ここで、低電力相互接続において性能を高めるために(さらには省電力化のため)、高性能相互接続のための類似の技術が適用されてよい。埋め込みアプリケーションとしては、典型的には、マイクロコントローラ、デジタルシグナルプロセッサ(DSP)、システムオンチップ、ネットワークコンピュータ(NetPC)、セットトップボックス、ネットワークハブ、ワイドエリアネットワーク(WAN)スイッチ、または、以下で教示される機能およびオペレーションを実行可能な他の任意のシステム、を含む。さらに、ここで記載される複数の装置、複数の方法および複数のシステムは、物理コンピューティングデバイスには限定されずに、また、エネルギー保存および効率性のためのソフトウェア最適化に関連してよい。以下の説明から容易に明らかになるであろうが、ここで記載される複数の方法、複数の装置および複数のシステム(ハードウェア、ファームウェア、ソフトウェアに関するものであろうとこれらの組み合わせに関するものであろうと)における複数の実施形態は、性能への配慮と将来のバランスが取れた「グリーンテクノロジー」に不可欠であると見なされてよい。
コンピューティングシステムが発展するにつれて、その中のコンポーネントは、より複雑になっている。複数のコンポーネントと連結し、かつそれらの間で通信を行う相互接続アーキテクチャでは、また、帯域幅要求が最適なコンポーネントオペレーションに合致することを保証するために、複雑性が増加している。さらには、異なる市場セグメントが、それぞれの市場に合致した相互接続アーキテクチャの異なる態様を要求する。例えば、サーバはより高い性能を必要するが、モバイルのエコシステムは、場合によっては、省電力化のために全体的な性能を犠牲にすることがありうる。その上、多くのファブリックの唯一の目的は、最大の省電力化を行いながら、最高の可能な性能を提供することである。さらには、様々な異なる相互接続が、ここで記載される主題から潜在的に利益を得ることができる。
とりわけ、ペリフェラルコンポーネントインターコネクト(PCI)エクスプレス(PCIe)相互接続ファブリックアーキテクチャおよびクイックパスインターコネクト(QPI)ファブリックアーキテクチャは、特に、ここで記載される1または複数の原理によって潜在的に改善されうる。
例えば、PCIeの基本的な目的は、異なる複数ベンダからの複数のコンポーネントおよび複数のデバイスにオープンアーキテクチャで相互運用を可能とすることであり、それは多数の市場セグメント、複数のクライアント(デスクトップおよびモバイル)、複数のサーバ(規格および企業向け)および複数の埋め込み通信デバイスに及ぶ。PCI Expressは、多種多様な次世代のコンピューティングおよび通信プラットフォームのために規定された高性能汎用I/O相互接続である。利用モデル、読み込み/書込みアーキテクチャ、ソフトウェアインタフェースのようないくつかのPCI属性が複数の改訂版を通して維持されてきたが、これに対し、以前のパラレルバス実装は、高度に拡張可能な完全シリアルインタフェースによって置き換えられてきた。PCI Expressの最近のバージョンでは、2地点間相互接続、スイッチベースのテクノロジー、および、性能と特徴の新たな複数レベルでの配信のためパケット化されたプロトコル、のそれぞれでの進歩を活用している。電力管理、サービス品質(QoS)、ホットプラグ/ホットスワップサポート、データ整合性、およびエラー処理は、PCI Expressによってサポートされる進歩的な複数の特徴のうちのいくつかである。ここでの主要な議論は新たな高性能相互接続(HPI)アーキテクチャに関連するが、ここで記載される本発明の複数の態様は、PCIe準拠アーキテクチャ、QPI準拠アーキテクチャ、MIPI準拠アーキテクチャ、高性能アーキテクチャ、またはその他の知られた相互接続アーキテクチャのような、他の相互接続アーキテクチャへ適用されてもよい。
図1を参照すると、一連の複数のコンポーネントを相互接続する2地点間リンクを備えたファブリックの実施形態が図示される。システム100は、プロセッサ105、および、コントローラハブ115に結合されたシステムメモリ110を有する。プロセッサ105は、マイクロプロセッサ、ホストプロセッサ、組込みプロセッサ、コプロセッサ、その他のプロセッサのような任意の処理要素を含むことができる。プロセッサ105は、フロントサイドバス(FSB)106を介してコントローラハブ115へ結合される。一実施形態では、後述のFSB106は、シリアル2地点間相互接続である。別の実施形態では、リンク106は、シリアルの差動相互接続アーキテクチャを有し、これは異なる相互接続規格に準拠する。
システムメモリ110は、ランダムアクセスメモリ(RAM)、不揮発性(NV)メモリ、またはシステム100における複数のデバイスによってアクセス可能な他のメモリのような、任意のメモリデバイスを有する。システムメモリ110は、メモリインタフェース116を通してコントローラハブ115へ結合される。メモリインタフェースの例として、ダブルデータレート(DDR)メモリインタフェース、デュアルチャネルDDRメモリインタフェース、およびダイナミックRAM(DRAM)メモリインタフェースを含む。
一実施形態では、コントローラハブ115は、PCIe相互接続階層においてそうであるように、ロートハブ、ルートコンプレックス、またはルートコントローラを有しうる。コントローラハブ115の例としては、チップセット、メモリコントローラハブ(MCH)、ノースブリッジ、相互接続コントローラハブ(ICH)、サウスブリッジ、およびルートコントローラ/ハブを有する。しばしば、チップセットという用語は、2つの物理的に別個なコントローラハブ、例えば、相互接続コントローラハブ(ICH)に結合されたメモリコントローラハブ(MCH)、を指す。現在のシステムは、しばしば、プロセッサ105と一体化されたMCHを含むが、その一方で、コントローラ115は、後述されるのと類似のやり方で、複数のI/Oデバイスと通信することに留意されたい。いくつかの実施形態では、ピアツーピアのルーティングが、ルートコンプレックス115を介して任意選択的にサポートされる。
ここでコントローラハブ115は、シリアルリンク119を通してスイッチ/ブリッジ120に結合される。入出力モジュール117および121は、またインタフェース/ポート117/121とも称されてよく、層状プロトコルスタックを含む/実装することが可能であり、コントローラハブ115とスイッチ120との間で通信を提供する。一実施形態では、複数のデバイスがスイッチ120に結合されることが可能である。
スイッチ/ブリッジ120は、デバイス125からの複数のパケット/複数のメッセージを、上流へ、即ちルートコンプレックスへ向かう階層の上方、コントローラハブ115へと送り、かつ下流へ、即ちルートコントローラから離れる階層の下方、プロセッサ105またはシステムメモリ110からデバイス125へと送る。スイッチ120は、一実施形態では、複数の仮想的なPCI−PCI間のブリッジデバイスの論理的アセンブリとも称される。デバイス125は、I/Oデバイス、ネットワークインタフェースコントローラ(NIC)、アドインカード、オーディオプロセッサ、ネットワークプロセッサ、ハードドライブ、ストレージデバイス、CD/DVD ROM、モニタ、プリンタ、マウス、キーボード、ルータ、持ち運び可能なストレージデバイス、ファイヤーワイヤーデバイス、ユニバーサルシリアルバス(USB)デバイス、スキャナ、その他の入出力デバイスのような、電子システムに結合されるべき任意の、内部若しくは外部デバイスまたはコンポーネントを有してよい。しばしば、PCIe専門用語では、そのようなデバイスは、エンドポイントとも称される。具体的には示されていないが、デバイス125は、ブリッジ(PCIeとPCI、PCIとXブリッジ)を含んでよく、レガシーのまたは他の複数のバージョンのデバイス、または、それらのデバイスによってサポートされる相互接続ファブリックをサポートする
グラフィックスアクセラレータ130は、また、シリアルリンク132を通してコントローラハブ115に結合されうる。一実施形態では、グラフィックスアクセラレータ130はMCHに結合され、MCHはICHに結合される。スイッチ120は、および、その結果としてI/Oデバイス125は、ICHに結合される。I/Oモジュール131および118は、また層状プロトコルスタックを実装するためものであり、グラフィックスアクセラレータ130とコントローラハブ115との間で通信する。上記のMCHの議論と類似して、グラフィクスコントローラまたはグラフィックスアクセラレータ130それ自体が、プロセッサ105で一体化されてよい。
図2に移ると、層状プロトコルスタックの実施形態が図示される。層状プロトコルスタック200は、QPIスタック、PCIeスタック、次世代高性能コンピューティング相互接続(HPI)スタック、その他の層状スタックのような、任意の形態の層状の通信スタックを含むことができる。一実施形態では、プロトコルスタック200は、トランザクション層205、リンク層210、および物理層220を含むことができる。図1におけるインタフェース117、118、121、122、126および131のようなインタフェースが、通信プロトコルスタック200として表されてよい。通信プロトコルスタックとしての表現は、また、プロトコルスタックを実装している/有しているモジュール又はインタフェースとも称されてよい。
複数のコンポーネント間で情報を通信するべく複数のパケットが用いられうる。パケットは、トランザクション層205およびデータリンク層210で形成されることが可能であり、情報を送信コンポーネントから受信コンポーネントへと搬送する。送信される複数のパケットが他の複数層を通って流れるにつれて、それらは複数層でパケットを処理するために用いられる付加情報で拡張される。受信側ではリバース処理が発生し、複数のパケットは、それら物理層220表現からデータリンク層210表現へ、そして最終的には(トランザクション層パケットのために)受信デバイスのトランザクション層205によって処理することができる形態へと変換される。
一実施形態ではトランザクション層205は、データリンク層210および物理層220のような、デバイスの処理コアと相互接続アーキテクチャとの間のインタフェースを提供することができる。これに関連して、トランザクション層205の主要な責務として、複数パケット(即ち、トランザクション層パケットまたはTLP)を組み立て、分解することを含みうる。変換層205は、また、TLPのためのクレジットベースのフロー制御を管理することが可能でる。いくつかの実装では、分割された複数のトランザクションを使用することができる。即ち、特に、時間分割された要求と応答とを有する複数のトランザクションが、ターゲットデバイスが応答のためのデータを集めている間に、リンクが他のトラヒックを搬送することを許容する。
クレジットベースのフロー制御は、相互接続ファブリックを利用する仮想の複数のチャネルおよび複数のネットワークを理解するために用いられうる。一例において、デバイスは、トランザクション層205における複数の受信バッファのそれぞれに対してクレジットの初期量を通知することができる。図1のコントローラハブ115のような、リンクの反対側の終点における外部デバイスは、各TLPにより消費されるクレジット数をカウントすることができる。トランザクションは、そのトランザクションがクレジット限度を超過しない場合に、送信されてよい。応答を受信すると、クレジット量が元に戻される。他の潜在的利点の中で、そのようなクレジットスキームの利点の1つの例は、もしクレジット限度に遭遇しなければ、クレジットリターンのレイテンシが性能に影響しないということである。
一実施形態では、4つのトランザクションアドレス空間は、設定アドレス空間、メモリアドレス空間、入出力アドレス空間およびメッセージアドレス空間を含むことができる。メモリマッピングされた位置へ/からデータを転送するために、メモリ空間トランザクションは、複数の読み取り要求および複数の書き込み要求のうちの1または複数を有する。一実施形態では、メモリ空間トランザクションは、2つの異なるアドレス形式を用いることが可能であり、例えば32ビットアドレスのようなショートアドレス形式、および、6ビットアドレスのようなロングアドレス形式である。配置空間トランザクションは、相互接続に接続される様々なデバイスの配置空間にアクセスするために用いることができる。コンフィギュレーション空間へのトランザクションは、複数の読み取り要求および複数の書き込み要求を含むことができる。メッセージ空間トランザクション(あるいは単純にメッセージ)は、また、複数の相互接続エージェントの間の帯域内通信をサポートするために規定されうる。故に、例示的な一実施形態において、トランザクション層205は、パケットヘッダ/ペイロード206を組み立てることができる。
手早く図3を参照すると、トランザクション層パケット記述子の例示的な実施形態が図示される。一実施形態では、トランザクション記述子300は、トランザクション情報を搬送するためのメカニズムでありうる。これに関連して、トランザクション記述子300は、システムにおいて複数のトランザクションの識別をサポートする。他の潜在的な使用としては、デフォルトトランザクションの順序変更や複数チャネルとトランザクションとの関連を追跡することを含む。例えば、トランザクション記述子300は、グローバル識別子フィールド302、属性フィールド304およびチャネル識別子フィールド306を含みうる。図示される例では、グローバル識別子フィールド302は、ローカルトランザクション識別子フィールド308とソース識別子フィールド310を備えるように示される。一実施形態では、グローバルトランザクション識別子302は、全ての未処理の要求に対して固有である。
1つの実装によると、ローカルトランザクション識別子フィールド308は、要求中エージェントにより生成されるフィールドであり、その要求中エージェントに対して完了を必要とする全ての未処理の要求は、固有でありうる。さらに、この例において、ソース識別子310は、相互接続階層内で、要求元エージェントを一意に特定する。従って、ソースID310と共に、ローカルトランザクション識別子フィールド308は、階層ドメイン内のトランザクションのグローバルな識別を提供する。
属性フィールド304は、そのトランザクションについての複数の特性および複数の関係を特定する。これに関連して、属性フィールド304は、トランザクションのデフォルト処理の変更を許容する付加情報を提供するために潜在的に用いられる。一実施形態では、属性フィールド304は、優先度フィールド312、予約フィールド314、順序フィールド316、およびスヌープ無しフィールド318を有する。ここで、優先度サブフィールド312は、そのトランザクションへ優先度を割り当てるために、開始プログラムによって変更されてよい。予約属性フィールド314は、将来のためまたはベンダ規定の利用のために、予約(リザーブ)されたままとされる。優先度またはセキュリティ属性を用いる可能な利用モデルは、予約属性フィールドを用いて実装されてよい。
この例において、順序タイプを伝える任意選択的な情報を提供するために順序属性フィールド316が用いられ、この順序タイプはデフォルトの順序規則を変更してよい。1つの例示的な実装によると、順序属性「0」は、デフォルトの順序規則が適用されることを示し、ここで、順序属性「1」は緩和された順序を示し、書込みでは同じ方向への書込みをパスでき、読み取り完了では、同じ方向に書込みをパスできる。スヌープ属性フィールド318は、複数のトランザクションがスヌープされるかどうかを決定するために使用される。示されるように、チャネルIDフィールド306は、トランザクションと関連するチャネルを特定する。
図2の議論に戻ると、リンク層210はデータリンク層210とも称され、トランザクション層205および物理層220の間の中間ステージとして動作することができる。一実施形態では、データリンク層210の責務は、リンク上の2つのコンポーネント間でトランザクション層パケット(TLP)を交換するための信頼性のあるメカニズムを提供することである。データリンク層210の片側は、トランザクション層205によって組み立てられた複数のTLPを受諾し、パケットシーケンス識別子211即ち、識別番号またはパケット番号を適用し、エラー検出コード、即ちCRC212を算出し適用し、変更された複数のTLPを、物理層をこえて外部デバイスへ送信するために物理層220へと提示する。
一例において、物理層220は、パケットを外部デバイスへ物理的に送信するために、論理サブブロック221および電気サブブロック222を有する。ここで論理サブブロック221は、物理層221での「デジタル的」な複数の機能を担う。これに関連して、論理サブブロックは、物理サブブロック222による送信のための送出情報を準備するための送信セクションと、リンク層210へとパスする前に受信情報を特定し準備する受信機セクションとを有することができる。
物理ブロック222は、送信機および受信機を含む。送信機には論理サブブロック221により複数のシンボルが供給され、送信機はそれらをシリアル変換し、外部デバイスへと送信する。受信機には外部デバイスから、シリアル変換された複数のシンボルが供給され、受信機は複数の受信信号をビットストリームへ変換する。ビットストリームは、非シリアル化されて、論理サブブロック221へ供給される。例示的な一実施形態では、8b/10b送信コードが採用され、ここでは10ビットシンボルが送信/受信される。ここで、複数のフレーム223を有するパケットをフレーム化するために複数の特別なシンボルが用いられる。加えて一例において、受信機は、また、到着するシリアルストリームから回復されるシンボルクロックを提供する。
上述したように、トランザクション層205、リンク層210および物理層220が、(PCIeプロトコルスタックのような)プロトコルスタックの具体的な実施形態と関連して議論されているが、層状プロトコルスタックは、それらには限定されない。実際には、任意の層状プロトコルが含まれ/実装されてよく、ここで議論された複数の特徴を採用してよい。一例として、層状プロトコルとして表されるポート/インタフェースは、(1)複数のパケットを組み立てるための第1の層、即ちトランザクション層;複数のパケットを配列するための第2の層、即ち、リンク層;および、複数のパケットを送信する第3の層、即ち、物理層、を有しうる。具体的な例として、本明細書中に述べたように、高性能相互接続層状プロトコルが使用される。
次に図4を参照すると、シリアル2地点間ファブリックの例示的な実施形態が図示される。シリアル2地点間リンクは、シリアルデータを送信するための任意の伝送路を含むことができる。示される実施形態ではリンクは、2つの低電圧の差動駆動される複数の信号ペア、送信ペア406/411および受信ペア412/407、を有しうる。従って、デバイス405は、データをデバイス410へ伝送するための送信論理406と、デバイス410からデータを受信するための受信論理407とを有する。言い換えると、1つのリンクに関するいくつかの実装には、2つの送信パス、即ち、パス416および417と、2つの受信パス、即ち、パス418および419が、含まれる。
伝送路とは、伝送ライン、銅ライン、光ライン、無線通信チャネル、赤外通信リンク、またはその他の通信パスのようなデータを送信するための任意のパスを指す。デバイス405およびデバイス410のような2つのデバイスの間の接続は、リンク415のようなリンクとしても称される。リンクは、1つのレーンをサポートしてよく、各レーンは、一連の差動信号の複数ペア(1つのペアは送信用、1つのペアは受信用)を表す。帯域幅を拡張すべく、リンクはxNとして示される複数のレーンを集約してよく、ここでNは、1、2、4、8、12、16、32、64のような、またはそれより広い、任意のサポートされたリンク幅である。
差動ペアとは、ライン416および417のような、2つの伝送路のことを指してよく、差動信号を送信する。一例として、ライン416が低電圧レベルから高電圧レベルへと切り替わる、即ち、立上りエッジであるとき、ライン417は、高論理レベルから低論理レベル、即ち立下りエッジへと、駆動する。差動信号は、数ある利点の中でも特に、クロスカップリング、電圧のオーバーシュート/アンダーシュート、リンギング等の優れた信号品位のような、優れた電気的特性を潜在的に示す。これにより、優れたタイミング窓を許容し、より速い送信周波数を可能とする。
一実施形態では、新しい高性能相互接続(HPI)が提供される。HPIは、次世代のキャッシュコヒーレントであってリンクベースの相互接続を有することが可能である。1つの例としてHPIは、ワークステーションまたはサーバのような高性能コンピューティングプラットフォームで使用されてよく、複数のプロセッサ、複数のアクセラレータ、複数のI/Oデバイス等を接続するために典型的にはPCIeまたは別の相互接続プロトコルが用いられるようなシステムに含まれる。しかしながら、HPIはそれらには限定されない。代わりに、HPIは、ここで記載される任意のシステムまたはプラットフォームで使用されてよい。さらに、個別に開発された複数の思想が、PCIe、MIPI、QPIのような、その他の複数の相互接続および複数のプラットフォームへ適用されてよい。
複数のデバイスをサポートするべく、1つの例示の実装において、HPIは、命令セットアーキテクチャ(ISA)には依存しない(即ち、HPIは、複数の異なるデバイスに実装されることができる)ものとすることができる。別のシナリオでは、HPIは、また、単にプロセッサやアクセラレータへ接続するためではなく、高性能I/Oデバイスへ接続するために使用されてよい。例えば、高性能PCIeデバイスは、適切な変換ブリッジ(即ち、HPIからPCIeへ)を通してHPIに結合されてよい。さらに、複数のHPIリンクは、様々なやり方で(例えば、スター、リング、メッシュなど)複数のプロセッサのような多数のHPIベースのデバイスによって使用されてよい。図5は、多数の潜在的なマルチソケット構成の複数の例示的な実装を図示する。図示されるように、2ソケット構成505は、2つのHPIリンクを含むことができるが、他の実装では、1つのHPIリンクが使用されてよい。より大きなトポロジーに対しては、追加のまたは代替の特徴の中でもとりわけ識別子(ID)が割当可能であってかつ何らかの形態で仮想経路が存在する限りにおいて、任意の構成が使用されてよい。示されるように、一例において、4ソケット構成510は、各プロセッサから別のプロセッサへのHPIリンクを有する。しかし、構成515に示される8ソケット実装では、全てのソケットが互いを、HPIリンクを通じて直接的に接続しているわけではない。しかしながら、仮想経路またはチャネルが複数のプロセッサ間に存在するような場合には、そうした構成がサポートされる。サポートされる複数のプロセッサの範囲は、ネイティブ・ドメインにおいて、2−32個である。より多数のプロセッサが、多重ドメインのまたは複数のノードコントローラやその他の事例の間におけるその他の相互接続の使用を通して、達成されてよい。
HPIアーキテクチャは、層状プロトコルアーキテクチャの定義を含み、いくつかの実施例においては、この層状プロトコルアーキテクチャは、複数のプロトコル層(コヒーレントの、非コヒーレントの、および任意選択的には、他のメモリベースのプロトコル)、ルーティング層、リンク層、および物理層を含む。その上、HPIは、他の事例では、複数の電力管理者(複数の電力制御ユニット(PCU)のような)、テストおよびデバック設計(DFT)、フォールト処理、複数のレジスタ、セキュリティに関連する改善をさらに含むことができる。図5は、例示的HPI層状プロトコルスタックの実施形態を示す。いくつかの実装では、図5の複数の層の少なくともいくつかは、オプションである。各層は、情報(複数のパケット630を有するプロトコル層605a、b、複数のフリット(flit)635を有するリンク層610a、b、複数のフィット(phit)640を有する物理層605a、b)の粒度または量について、自身のレベルを取扱う。いくつかの実施形態では、パケットは、その実装に基づいて、複数の部分フリット、単一フリット、または多数のフリットを含んでよいことに留意されたい。
第1の例として、フィット640の幅は、1から1マッピング・リンク幅ビット(例えば、20ビットリンク幅は、20ビットのフィットを有するなど)を有する。フリットは、184、192または200ビットのような、より大きなサイズを有してよい。フィット640が20ビット幅で、フリット635のサイズが184ビットの場合、1つのフリット635を送信するためには小数のフィット640が必要となる(例えば、特に184ビットのフリット635の送信には20ビットで9.2フィットとなり、192ビットのフリットの送信には20ビットで9.6フィットとなる)。物理層における基本的なリンク幅は、変化してよい。例えば、方向毎のレーン数は、2、4、6、8、10、12、14、16、18、20、22、24などであってよい。一実施形態では、リンク層610a、bは、単一フリットに異なるトランザクションについての多数の要素を埋め込むことが可能であり、1または複数のヘッダ(例えば、1、2、3、4)が、そのフリット内に埋め込まれてよい。一例において、HPIは複数のヘッダを対応する複数のスロットへ分割し、そのフリットにおける多数のメッセージが、異なるノード行きとなることを可能とする。
一実施形態では、物理層605a、bが、物理媒体(電気、光、など)上での情報の高速伝達を担うことができる。物理リンクは、層605aおよび605bのような2つのリンク層エンティティの2地点間でありうる。リンク層610a、bは、物理層605a、bを複数の上位層から要約することができ、(リクエストと同様に)確実にデータを転送し、かつ、2つの直接接続されたエンティティ間のフロー制御を管理する機能を提供する。リンク層は、また、物理チャネルを多重の仮想チャネルおよび複数のメッセージクラスへの仮想化を担うことができる。プロトコル層620a、bはリンク層610a、bに依存しており、複数の物理リンクにわたって伝達するために、物理層605a、bへ向けて複数のプロトコルメッセージを操作する前に、それらを適切な複数のメッセージクラスおよび複数の仮想チャネルへとマッピングする。リンク層610a、bは、他の例において、リクエスト、スヌープ、応答、ライトバック、非コヒーレントデータのような多重のメッセージをサポートしてよい。
HPIの物理層605a、b(または、PHY)は、図6に図示されるように、電気層(例えば、2つのコンポーネントを接続する電気伝導体)の上であって、リンク層610a、bの下に実装されうる。物理層および対応する論理は、各エージェントに存在することができ、互いに分離されている(例えば、あるリンクのいずれかの側における複数のデバイスにおいて)2つのエージェント(AおよびB)における複数のリンク層を接続する。ローカルな、および、遠隔の複数の電気層は、物理媒体により接続される(例えば、ワイヤ、導体、光、等)。一実施形態では、物理層605a,bは、2つの主要なフェーズ、初期化およびオペレーションを有する。初期化の間、接続はリンク層に対して不透明であり、シグナリングは、複数の時限状態と複数のハンドシェイクイベントとの組み合わせを含んでよい。オペレーションの間、接続はリンク層に対して透明であり、シグナリングは、単一のリンクとして一斉に動作している全てのレーンと共に、所定の速度である。オペレーションフェイズの間、物理層は、エージェントAからエージェントBへ、そして、エージェントBからエージェントAへ、フリットを運ぶ。接続はリンクとも称され、いくらか物理的態様を要約するが、この態様は、媒体、幅およびリンク層からの速度を含み、他方では、フリットおよび現在の構成(例えば幅)の制御/状態を、リンク層と交換する。初期化フェーズは、重要ではないフェーズ、例えば、ポーリングやコンフィギュレーションを含む。オペレーションフェイズは、また重要ではないフェーズ(例えば、リンク電力管理状態)を含む。
一実施形態では、リンク層610a、bは、2つのプロトコルまたはルーティングエンティティの間で信頼性あるデータ転送を提供するために実装されうる。リンク層は、プロトコル層620a、bから物理層605a,bを要約することができ、そして、2つのプロトコルエージェント(A、B)の間のフロー制御を担い、プロトコル層(メッセージクラス)およびルーティング層(仮想ネットワーク)へ複数の仮想的チャネルサービスを提供することができる。プロトコル層620a、bとリンク層610a、bとの間のインタフェースは、典型的には、パケットレベルでありうる。一実施形態では、リンク層での最小の伝達ユニットは、規定ビット数であるフリットと称され、例えば、192ビットまたはその他の特定単位である。リンク層610a、bは、物理層605a,bに依存しており、物理層605a,bの伝達ユニット(フィット)を、リンク層610a、bの伝達ユニット(フリット)へと組み立てる。加えて、リンク層610a、bは、論理的に2つの部分、送信機と受信機とに分割されてもよい。1つのエンティティでの送信機/受信機ペアは、別のエンティティでの送信機/受信機ペアと接続されてよい。フロー制御はしばしば、フリットおよびパケットの両方をベースに実行される。エラー検出および訂正は、また、潜在的には、フリットレベルベースで実行される。
一実施形態では、HPIトランザクションをソースから宛先へとルーティングするために、ルーティング層615a、bは、柔軟かつ分散型の方法を提供することができる。このスキームは柔軟性に富む、というのも、多重トポロジーのためのルーティングアルゴリズムは、各ルータでプログラム可能なルーティング表を通して規定されてよいからである(一実施形態ではプログラミングは、ファームウェア、ソフトウェア、またはそれらの組み合わせにより実行される)。ルーティング機能は分散型であってよく、ルーティングは一連のルーティングステップを通してなされてよく、各ルーティングステップは、ソースの、中間の、または宛先のルータのいずれかにおける表を検索することを通して規定される。ソースでの検索は、HPIパケットをHPIファブリックへと注入するために用いられてよい。中間ルータでの検索は、入力ポートから出力ポートへHPIパケットをルーティングするために用いられてよい。宛先ポートでの検索は、宛先HPIプロトコルエージェントをターゲットにするために用いられてよい。いくつかの実装では、複数のルーティング表、つまり、複数のルーティングアルゴリズムは仕様によって具体的に規定されないので、ルーティング層を薄くするこができる。これにより、柔軟性と多様な利用モデルが可能となり、そこではシステムの実装によって規定される複数の柔軟なプラットフォームアーキテクチャトポロジーを含む。ルーティング層615a、bは、3つまで(またはそれより多く)の仮想ネットワーク(VN)の使用を提供するために、リンク層610a、bに依存しており、一例において、2つのデッドロックフリーのVNである、VN0とVN1は、各仮想ネットワークで規定される複数のメッセージクラスを有する。共有され適応的な仮想ネットワーク(VNA)は、リンク層で規定されてよいが、この適応的なネットワークは、直接的にはルーティングコンセプトに露出されない。というのは、他の特徴や事例において、各メッセージクラスと仮想ネットワークは、専用化された複数のリソース、および保証された将来の進展を有してよいからである。
いくつかの実装では、HPIは埋め込みクロックを利用することができる。クロック信号は、相互接続を用いて送信されるデータに埋め込むことができる。データに埋め込まれたクロック信号によって、個別の専用化された複数のクロックレーンを省くことができる。このことは有用でありうる、というのも例えば、これによりデータ転送のためデバイスのより多くのピンを、具体的にはピンのための空間が高価であるようなシステムにおいて、専用化できるからである。
相互接続のいずれの側においても、2つのエージェント間でリンクを確立することが可能である。データを送信するエージェントは、ローカルなエージェントであり、データを受信するエージェントは、遠隔のエージェントであるかもしれない。ステートマシンが両方のエージェントによって採用されてよく、リンクの多様な態様を管理する。一実施形態では、物理層データパスは、リンク層から電気的なフロントエンドへと、フリットを送信することができる。1つの実装では、制御パスは、ステートマシン(リンクトレーニングステートマシンまたはその同等物とも称される)を含む。ステートマシンの複数の動作、および、複数の状態の終了は、内部信号、タイマ、外部信号、またはその他の情報に依存する。実際に、いくつかの初期状態のように、複数の状態のうちのいくつかは、状態を終了するためのタイムアウト値を提供するため複数のタイマを有してよい。いくつかの実施形態では、検出とは、レーンの両方の足でイベントを検出することを指すが、必ずしも同時にというわけではない。しかしながら、他の実施形態では、検出するとは、参照しているエージェントによるイベントの検出を指す。一例として、デバウンスとは、信号維持アサーションを指す。一実施形態では、HPIは、複数の非機能レーンでのイベントにおけるオペレーションをサポートする。ここで、複数のレーンは、複数の固有の状態でドロップされてよい。
ステートマシンにおいて規定される状態としては、他の複数のカテゴリおよび複数のサブカテゴリにおいて、複数のリセット状態、複数の初期状態、および複数の動作状態を含むことができる。一例において、いくつかの初期状態は、タイムアウトの状態を終了するために用いられる第2のタイマを有することができる(本質的には、その状態での進行が失敗することによるアボートである)。アボートは、状態レジスタのような、複数のレジスタを更新することを含んでよい。いくつかの状態は、また、その状態において主要な複数の機能の時間を決めるために用いられる1または複数の第1のタイマを有してよい。とりわけ、他の複数の状態は、(ハンドシェイクプロトコルのような)内部または外部の信号がその状態から別の状態へと遷移を駆動するように、規定されうる。
ステートマシンは、また、単一ステップでのデバッグ、初期化アボートでのフリーズ、および、複数のテスタの使用、をサポートしてよい。ここで、状態終了は、デバッグソフトウェアが準備されるまで延期/ホールドされうる。いくつかの例では、終了は、第2のタイムアウトまで延期/ホールドされうる。一実施形態では、動作と終了は、トレーニングシーケンスでのやり取りに基づくことができる。一実施形態では、リンクステートマシンはローカルなエージェントのクロックドメインで実行され、ある状態から次への遷移は、送信機のトレーニングシーケンス境界と一致する。現在の状態を反映するために、複数の状態レジスタが使用されてよい。
図7は、HPIの1つの例示の実装において複数のエージェントによって使用されるステートマシンの少なくとも一部の表現を図示する。当然のことながら、図7の状態表に含まれる複数の状態は、包括的ではない可能な複数の状態のリストを含むものである。例えば、いくつかの遷移が、ダイアグラムを単純化するために省かれている。また、いくつかの状態は、組み合わされ、分割され、あるいは省略されてよく、一方で、他の状態が追加されてもよい。そのような状態として、以下を含むことができる。
イベントリセット状態:
ウォームまたはコールドのリセットイベントで入る。複数のデフォルト値を回復する。複数のカウンタ(例えば、複数の同期カウンタ)を初期化する。別のリセット状態のような、別の状態へと抜け出てよい。
タイムドリセット状態:
インバンドリセットのための時限状態。事前に定義されたEOS(electrical ordered set)を駆動してよい。複数の遠隔の受信機は、EOSを検出し、同様にタイムドリセットへと入ることが可能。受信機は、複数の電気的な設定を保持する複数のレーンを有する。リセット状態をキャリブレーションするために、エージェントへと抜け出てよい。
キャリブレーションリセット状態:
レーンでシグナリングを行うことなく(例えば受信機のキャリブレーション状態)またはドライバをオフすることなく、キャリブレーションする。タイマに基づいて、予め定められた時間だけ、その状態であってよい。動作速度を設定してよい。ポートが使用不可能である場合には、待ち状態として動作してよい。最小の常駐時間を含んでよい。受信機での条件設定またはスタガリング・オフ(staggering off)が、設計に基づいて生じてよい。タイムアウトおよび/またはキャリブレーション完了の後、受信機検出状態へと抜け出してよい。
受信機検出状態:
1または複数のレーン上の受信機の存在を検出する。受信機の終端(例えば、受信機のプルダウン挿入)を探してよい。規定値が設定されていることに応じて、あるいは、別の規定値が設定されていないときに、キャリブレーションリセット状態へと抜け出してよい。受信機が検出された、またはタイムアウトに達した場合に、送信機キャリブレーション状態へと抜け出してよい。
送信機キャリブレーション状態:
送信機のキャリブレーションのためのものである。送信機のキャリブレーションのために割り当てられた時限状態であってよい。レーン上でのシグナリングを含んでよい。EIEOS(electric idle exit ordered set)のように、EOSを継続して駆動してよい。キャリブレーションを完了した、またはタイマの期限が切れたときに、コンプライアンス状態へと抜け出してよい。カウンタの期限が切れた場合、または第2のタイムアウトが発生した場合には、送信機検出状態へと抜け出してよい。
送信機検出状態:
有効なシグナリングを適格とする。ハンドシェイク状態であってよく、この場合、エージェントは複数の動作を完了し、遠隔のエージェントのシグナリングに基づいて次の状態へと抜け出る。受信機が、送信機からの有効なシグナリングを適格としてよい。一実施形態では、受信機がウェイク検出を探し、1または複数のレーンでデバウンスされた場合には、他の複数のレーンで探す。送信機が、検出信号を駆動する。全レーンに対するデバウンスの完了に応じて、および/または、タイムアウトに応じて、または、全レーンでのデバウンスが完了せずにタイムアウトが生じた場合に、ポーリング状態へと抜け出してよい。ここで、1または複数の監視レーンは、ウェイク信号をデバウンスするために、アウェイクのままであってよい。デバウンスされると、他の複数のレーンが潜在的にデバウンスされる。これにより、低電力状態において省電力化が可能となる。
ポーリング状態:
受信機が、適応し、ドリフトバッファを初期化し、ビット/バイト(例えば、シンボル境界を特定する)でロックする。複数のレーンがデスキューされてよい。遠隔のエージェントが、アクノリッジメッセージに応じて、次の状態(例えば、リンク幅状態)へ抜け出すことを引き起こしてよい。EOSおよびトレーニングシーケンスヘッダへとロックすることによって、ポーリングは追加的にトレーニングシーケンスロックを含むことができる。遠隔の送信機でのレーン間スキューは、最高速度のための第1の長さ、および、低速度のための第2の長さに、制限されてよい。デスキューは、動作モードと同様に低速モードで実行されてよい。受信機は、レーン間スキューをデスキューするための具体的な最大値を有してよく、例えば8、16または32スキュー間隔である。受信機動作は、レイテンシ調整を有してよい。一実施形態では、受信機動作は、有効なレーンマップで成功をおさめたデスキューにおいて完了されうる。一例において、多数の連続するトレーニングシーケンスヘッダが複数のアクノリッジと共に受信され、かつ、受信機が自身の動作を完了した後に肯定応答を有する多数のトレーニングシーケンスが送信されたときに、ハンドシェイクが成功裡に達成される。
リンク幅状態:
エージェントは遠隔の送信機に対する最終レーンマップと通信する。受信機は、情報を受信しデコードする。受信機は、設定されたレーンマップを、ある構造中、第2の構造における過去のレーンマップ値のチェックポイントの後に、記録してよい。受信機は、また、肯定応答(ACK)で返答してよい。インバンドリセットを開始してよい。一例としては、インバンドリセットで開始するための第1の状態である。一実施形態では、フリットコンフィギュレーション状態のような、次の状態への抜け出しが、ACKに応じて実行される。さらには、また、低電力状態に入るよりも前に、もしウェイク検出信号発生の周波数が規定値を下回った場合には(例えば4000UIのように、所定数のユニットインターバル(UI)毎に1回)、リセット信号が生成されてよい。受信機は、現在と過去のレーンマップを保持してよい。送信機は、異なる値を有するトレーニングシーケンスに基づいて、異なるグループのレーンを用いてよい。いくつかの実施形態では、レーンマップは、いくつかの状態レジスタを変更しないでよい。
フリットロックコンフィギュレーション状態:
送信機により入るが、送信機および受信機の両方が、ブロッキングリンク状態または他のリンク状態へと抜け出たときに、本状態は終了したものとされる(即ち、第2のタイムアウトの意味がなくなる)。一実施形態では、送信機がリンク状態へと抜け出ることには、データシーケンスの開始(SDS)および気まぐれに配列された信号(planetary aligment signal)を受信した後でのトレーニングシーケンス(TS)境界、を含む。ここで、受信機の終了は、遠隔の送信機からSDSを受信することに基づいてよい。この状態は、エージェントからリンク状態へのブリッジであってよい。受信機は、SDSを特定する。デスクランブラの初期化後にSDSが受信されると、受信機は、ブロッキングリンク状態(BLS)(または制御窓)へと抜け出してよい。タイムアウトが生じた場合には、リセット状態へと抜け出してもよい。送信機は、複数のレーンをコンフィギュレーション信号で駆動する。送信機の終了は、リセット、BLS、または、複数の条件や複数のタイムアウトに基づく他の複数の状態であってよい。
送信リンク状態:
リンク状態である。フリットが、遠隔のエージェントへ送信される。ブロッキングリンク状態から入り、タイムアウトのようなイベントでブロッキングリンク状態へと戻る。送信機はフリットを送信する。受信機はフリットを受信する。また、低電力リンク状態へと抜け出してよい。いくつかの実装では、送信リンク状態(TLS)は、L0状態としても称されうる。
ブロッキングリンク状態:
リンク状態である。送信機および受信機は、統一されたやり方で動作している。時限状態であってよく、その間、リンク層フリットが延期されるが、物理層情報は遠隔のエージェントへと伝えられる。低電力リンク状態へと(または設計に基づく他のリンク状態へと)抜け出してよい。一実施形態では、ブロッキングリンク状態(BLS)が定期的に生じる。この期間は、BLS間隔とも称され、低速度と動作速度との間では異なってもよいのと同様に、時限的であってよい。例えば、送信リンク状態または部分幅送信リンク状態の間において、ある長さの物理層制御シーケンスが送信されてもよいように、リンク層は、フリットの送信から定期的にブロックされてよいことに注意されたい。いくつかの実装では、ブロッキングリンク状態(BLS)は、L0制御状態またはL0c状態とも称されうる。
部分幅送信リンク状態:
リンク状態である。部分幅状態へ入ることに省電力化してよい。一実施形態では、非対称の部分幅とは、幅が異なる2方向リンクにおける各方向を指し、これらはいくつかの設計でサポートされてよい。部分幅送信リンク状態に入るために部分幅指示を送信する送信機等の開始プログラムの一例が、図9の例に示される。ここで、第1の幅を有するリンク上で送信が行われる一方で、部分幅指示が、第2の新たな幅での送信するためにリンクを遷移させるべく、送信される。不整合は、リセットをもたらしてよい。留意すべきは、速度は変更されないが、幅は変更されてよい。故に、フリットは、潜在的には、異なる幅で送信される。論理的には送信リンク状態と類似してよいが、より小さい幅であるため、フリットの送信にはより長い時間がかかりうる。特定の受信および送信メッセージに基づいて低電力リンク状態へ抜け出す、部分幅送信リンク状態を終了する、他のイベントに基づいてリンクブロッキング状態へと抜け出すなど、他の複数のリンク状態へと抜け出してよい。一実施形態では、より良質な信号品位(雑音緩和など)を提供すべく、送信機ポートは、アイドル状態の複数のレーンを互い違いにオフしてよい。ここで、ヌルフリットのようなリトライ不可能なフリットが、リンク幅が変化している期間中に使用されてよい。対応する受信機は、1または複数の構造における現在および過去のレーンマップをレコードするのと同様に、これらのヌルフリットをドロップし、アイドル状態の複数のレーンを互い違いにオフしてよい。状態および関連する状態レジスタは、変えられないままでもよいことに留意されたい。いくつかの実装では、部分幅送信リンク状態は、部分L0状態またはL0p状態とも称されうる。
終了部分幅送信リンク状態:
部分幅状態を終了する。いくつかの実装では、ブロッキングリンク状態を用いてもよいし、そうでなくてもよい。一実施形態では、トレーニングしデスキューするために、複数のアイドル状態のレーンで部分幅終了パターンを送信することによって、送信機が終了を開始する。一例として終了パターンは、EIEOSで開始し、このEIEOSは、検出され、そのレーンがフル送信リンク状態へのエントリを開始する準備ができていることを示す信号へデバウンスされ、そして終了パターンは、SDSまたは複数のアイドル状態のレーンの高速トレーニングシーケンス(FTS)において、終了してよい。終了シーケンスの間の任意の失敗(タイムアウトより前にデスキューが完了しない、等の受信機動作)は、リンク層へのフリットの伝達を停止し、リセットをアサートし、これは、次のブロッキングリンク状態の発生でリンクをリセットすることにより処理される。またSDSは、複数のレーン上のスクランブラ/デスクランブラを適切な値へと初期化してよい。
低電力リンク状態:
より低い電力の状態である。一実施形態では、この実施形態のシグナリングは、全レーンかつ両方の方向で停止されるため、部分幅リンク状態よりも低い電力である。送信機は、低電力リンク状態をリクエストするためにブロッキングリンク状態を用いてよい。ここで、受信機は、ACKまたはNAKを有するリクエストまたは応答をデコードしてよく、さもなければ、リセットがトリガにされてよい。いくつかの実装では、低電力リンク状態は、L1状態とも称されうる。
いくつかの実装では、状態遷移は、その状態が迂回されるように促されることがあり、例えば、特定のキャリブレーション動作やコンフィギュレーション動作のような、その状態における状態動作が既に完了している場合において、そうである。複数の過去の状態の結果およびリンクについての複数のコンフィギュレーションが、格納され、後続の初期化やリンクのコンフィギュレーションで再利用されうる。そのようなコンフィギュレーションおよび状態動作を繰り返すのではなく、むしろ、対応する状態を迂回することが可能である。しかしながら、状態を迂回することを実装した従来のシステムでは、しばしば、複雑な設計と、高価な検証エスケープを実装している。一例において、従来の迂回を用いるのではなく、HPIは、状態動作が繰り返される必要が無い場合のような特定の複数の状態で、複数のショートタイマを利用できる。このことは、潜在的に、その他の潜在的利点におけるより統一され同期されたステートマシン遷移を可能とする。
一例において、ソフトウェアベースのコントローラ(例えば、物理層のための外部制御ポイントを通して)は、1または複数の特定の状態のためのショートタイマを使用可能にすることができる。例えば、その状態に対する複数の動作が既に実行され格納されているような状態に対して、その状態は、当該状態から次の状態へと素早く抜け出すことを促すために、短縮化されうる。しかしながら、過去の状態動作がフェイルであるか、または、ショートタイマ期間内に適用することができない場合には、状態終了を実行することができる。さらに、コントローラは、例えば、状態動作が再び実行されるべきであるとき、ショートタイマを無効化することができる。それぞれの状態に対して、ロングのまたはデフォルトのタイマが設定されうる。その状態でのコンフィギュレーション動作がロングタイマの期間内で完了することができない場合には、状態終了が生じうる。ロングタイマは、その状態動作の完了を許可するために、合理的な期間を設定することができる。対照的にショートタイマは、相当に短くてよく、場合によっては、とりわけ、過去に実行された状態動作へと戻って参照することなしに状態動作を実行することを不可能としてよい。
HPIのいくつかの実装では、スーパーシーケンスを規定することができ、各スーパーシーケンスは、それぞれの状態、または、それぞれの状態への/からの、エントリ/抜け出ること、に対応する。
スーパーシーケンスは、データセットおよびシンボルの反復シーケンスを含むことができる。シーケンスは、いくつかの例では、特に、状態の完了、状態遷移、または、対応するイベントの通信が行われるまで、反復することができる。いくつかの例では、スーパーシーケンスの反復シーケンスは、規定されたユニットインターバル(UI)の個数等の規定の周波数に従って、反復することができる。
ユニットインターバル(UI)は、リンクまたはシステムにおけるレーンで単一のビットを送信するための時間間隔に対応しうる。いくつかの実装では、反復シーケンスは、EOSで始まりうる。従って、EOSの例は、予め定められた周波数に従って反復することが期待されうる。そのような順序セットは、規定された16バイトコードとして実装されることが可能であり、とりわけ、16進形式で表されてよい。一例において、スーパーシーケンスのEOSは、EIEOSでありうる。一例において、EIEOSは、低周波数クロック信号(例えば、FF00やFFF000等の16進シンボルを事前に規定された回数繰り返したもの)と類似してよい。事前に定義されたデータセットは、事前に定義された個数のトレーニングシーケンスのようなEOSやその他のデータを流すことができる。そのようなスーパーシーケンスは、他の例における初期化と同様に、リンク状態遷移を含んだ複数の状態遷移において使用することができる。
上で紹介したように、一実施形態では初期化は、初めは低速度で行われ、高速度の初期化が続くことができる。低速度の初期化は、複数のレジスタおよびタイマに対してデフォルト値を用いる。すると、ソフトウェアは、低速度リンクを使用して、複数のレジスタ、タイマおよび電気パラメータを設定し、高速度初期化のための路を舗装すべく、キャリブレーションセマフォをクリアする。一例では、初期化は、他の可能性のある中で特に、リセット、検出、ポーリング、コンフィギュレーションのような、複数の状態または複数のタスクから構成されうる。
一例において、制御シーケンスをブロックするリンク層(ブロッキングリンク状態(BLS)またはL0c状態など)は時限状態を含むことができ、その間においては、リンク層フリットが延期されつつ、他方でPHY情報が遠隔のエージェントへと伝えられる。ここで、送信機および受信機は、ブロック制御シーケンスタイマを開始してよい。タイマの期限が切れると、送信機および受信機は、ブロッキング状態を終了することができ、そして、リセットへと抜け出る、異なるリンク状態(または他の状態)へと抜け出る等のその他の複数の動作を行ってよく、この場合、当該リンクにわたりフリットの送信を可能とする状態を含む。
一実施形態では、リンクトレーニングが、提供され、規定されたスーパーシーケンスに関連するような、スクランブルされたトレーニングシーケンス、順序セット、および制御シーケンスのうちの1または複数を送信することを含みうる。トレーニングシーケンスシンボルは、ヘッダ、複数の予約部分、ターゲットレイテンシ、ペア数、物理レーンマップコードの参照レーン若しくはレーン群、および、初期状態のうちの1または複数を含んでよい。一実施形態では、ヘッダは、他の例では、ACKまたはNAKと共に送信することができる。一例として、トレーニングシーケンスは、スーパーシーケンスの一部として送信されてよく、かつスクランブルされてよい。
一実施形態では、順序セットおよび制御シーケンスは、スクランブルされず、互い違い(staggered)にされず、全く同じになるように、同時に、かつ完全に、全レーンで送信される。順序セットを有効に受信することには、順序セットの少なくとも一部(または、複数の部分的な順序セットのための全体順序セット)をチェックすることを含んでよい。順序セットは、EIOSまたはEIEOSのようなEOSを含んでよい。スーパーシーケンスは、データシーケンスの開始(SDS)または高速トレーニングシーケンス(FTS)を含んでよい。そのような複数のセットおよび複数の制御スーパーシーケンスは事前に定義することができ、かつ、任意の長さを有してよいのと同様に、任意のパターンまたは16進表現を有してよい。例えば、順序セットおよびスーパーシーケンスは、8バイト、16バイト、32バイト等の長さであってよい。一例として、FTSは、部分幅送信リンク状態を終了する間に高速ビットロックのために追加的に使用されうる。FTS定義はレーン毎であってよく、FTSの回転されたバージョンが使用されてもよい。
一実施形態では、スーパーシーケンスは、EIEOSのように、トレーニングシーケンスストリームに、EOSの挿入を含むことができる。一実装では、シグナリングが開始すると、複数のレーンが、互い違いに電源オンする。しかしながら、このことは、いくつかのレーンの受信機において、初期のスーパーシーケンスが切り詰められることをもたらしうる。しかしながら、スーパーシーケンスを、短い間隔にわたって(例えば、およそ1000単位インターバル、即ち、1KUI)繰り返すことができる。トレーニングスーパーシーケンスは、デスキュー、コンフィギュレーションのうちの1または複数のために、そして、初期化ターゲット、レーンマップ等との通信のために、追加的に用いられてよい。EIEOSは、その他の例において、レーンを非アクティブからアクティグ状態へと遷移させること、良好なレーンをスクリーニングすること、シンボルおよびTS境界を特定することのうちの1または複数のために、用いることができる。
図8に移ると、例示的なスーパーシーケンスの表現が示される。例えば、例示的な検出スーパーシーケンス805を規定することができる。検出スーパーシーケンス805は、単一のEIEOS(または他のEOS)の反復シーケンスを含むことができ、その後には事前に定義された個数の特定のトレーニングシーケンス(TS)の例(インスタンス、実例、実体)が続く。一例において、EIEOSが送信され、その直後に7つの繰り返されたTSの例が送信されうる。7つのTSのうちの最後が送信されると、EIEOSが送信され、追加の7つのTSの例が再度その後に続き、これが繰り返される。このシーケンスを、特定の事前に定義された周波数に従って、繰り返すことができる。図8の例では、EIEOSは、およそ1000ユニット単位(〜1KUF)毎に1回、レーンに再び現れ、その後に、検出スーパーシーケンス805の残りが続く。受信機は、繰り返し検出スーパーシーケンス805の有無について複数のレーンを監視することができ、確証が得られるとスーパーシーケンス705は、遠隔のエージェントが、存在している、レーンに追加された(ホットプラグ化された)、アウェイクしていた、再初期化している等と結論することができる。
他の例において、別のスーパーシーケンス810は、ポーリング、コンフィギュレーション、または、ループバック条件若しくは状態、を示すために規定されうる。例示的な検出スーパーシーケンス805と共に、1つのリンクの複数レーンが、ポーリング/コンフィギュレーション/ループスーパーシーケンス810等のための受信機によって監視され、ポーリング状態、コンフィギュレーション状態、またはループバック状態若しくは条件を特定することができる。一例において、ポーリング/コンフィギュレーション/ループスーパーシーケンス810は、EIEOSで始まり、その後には、事前に定義された個数の、繰り返されたTSの例が続く。例えば、一例において、約4000UI(例えば、〜4KUI)毎に繰り返すEIEOSと共に31個のTSの例が、EIEOSの後に続いてよい。
さらに、他の例において、部分幅送信状態(PWTS)終了スーパーシーケンス815を規定することができる。一例において、PWTS終了スーパーシーケンスは、初期EIEOSを含むことができ、スーパーシーケンスに第1の完全なシーケンスを送信するよりも前に事前に条件付けされた複数のレーンを反復する。例えば、スーパーシーケンス815で繰り返されるべきシーケンスはEIEOSで始まりうる(約1000UI毎に1回繰り返す)。さらに、高速トレーニングシーケンス(FTS)を他のトレーニングシーケンス(TS)の代わりに使用することができ、FTSは、より素早いビットロック、バイトロックおよびデスキューをアシストするように構成される。いくつかの実装では、FTSは、複数のアイドル状態のレーンをできるだけ早くかつ無停止でアクティブへと戻すことをさらにアシストすべく、アンスクランブルされうる。リンク送信状態へのエントリに先立つ他の複数のスーパーシーケンスと同様に、スーパーシーケンス815は、データシーケンスの開始(SDS)の送信によって、遮られ、終わらせることができる。さらに、とりわけ、部分FTS(FTSp)に複数ビットを減算(または加算)することを許容する等によって、FTSpが、新たな複数のレーンをアクティブな複数のレーンと同期することをアシストするために送信されうる。
検出スーパーシーケンス705および、ポーリング/コンフィギュレーション/ループスーパーシーケンス710等のスーパーシーケンスは、潜在的には、実質的に1つのリンクにおける初期化または再初期化の間中にわたって送信されうる。特定のスーパーシーケンスの受信および検出に応じて、いくつかの例では、受信機は、複数のレーンにわたって送信機へ同じスーパーシーケンスをそのまま繰り返すことにより、応答を行うことができる。送信機と受信機による特定のスーパーシーケンスの受信および検証は、そのスーパーシーケンスを通じて伝達される状態または条件をアクノリッジするためのハンドシェイクとしての機能を果たし得る。例えば、そのようなハンドシェイク(例えば、検出スーパーシーケンス705を利用すること)は、リンクの再初期化を特定するために用いられうる。他の例において、そのようなハンドシェイクは、電気的なリセットまたは低電力状態の終わりを示すために使用することができ、特に、対応する複数のレーンは、バックアップへと戻されることになる。電気的なリセットの終わりは、例えば、検出スーパーシーケンス705をそれぞれ送信する送信機および受信機の間でのハンドシェイクから、特定されうる。
他の例において、複数のレーンは、複数のスーパーシーケンスに対してモニタされ、かつ、検出、ウェイク、状態終了、エントリ、その他のイベントに対するレーンのスクリーニングに関連してその複数のスーパーシーケンスを用いることができる。事前に定義され予測可能なスーパーシーケンスの特性および形態は、ビットロック、バイトロック、デバウンス、デスクランブル、デスキュー、適応化、レイテンシ調整、ネゴシエートされた遅延、および、その他の潜在的使用等の初期化タスクを実行するために、さらに用いられてよい。実際のところ、複数のレーンが、そのようなイベントに対して実質的に継続してモニタされ、そのような条件に反応し処理するためのシステムの能力を活性化する。
図10は、一例による、トレーニングシーケンス(TS)の例を表す。図10において、トレーニングシーケンス1005は、ヘッダ1010、および、リンクの初期化に関連する情報を通信するために用いられうる様々なフィールドを、含むことができる。例えば、一例において、複数のフィールドの中でも特に、ターゲットレイテンシ1015、状態1020、レーンペア数1025およびレーンマッピング1028のフィールドを、含むことができる。例えば、複数の機能の中でも特にスクランブラ同期フィールド1030が、追加的に設けられ、TSフィールドのデスクランブルを可能とするためにデバイスにおける線形フィードバックシフトレジスタ(LFSR)の同期を、アシストすることができる。他の予約フィールド(例えば、1055、1060)は、また、トレーニングシーケンス(例えば、1005)に含まれ得る。
TSヘッダ1010は追加のフィールドを有することができ、それらはトレーニングシーケンス型1035(例えば、そこから初期状態を決定または推測することができる)、ACK/NAKフィールド1040(例えばハンドシェイクで用いる)、レーン識別子フィールド1045(例えば、その最下位ビットやレーン逆転等によりレーンを特定する)、および、予約フィールドを含んだその他のフィールド、と通信するために用いられうる。いくつかの実装では、例えば、ランダムまたは擬似ランダムバイナリシーケンス(PRBS)によって、TSの複数の部分が、スクランブルされうる。一例において、TSヘッダ1010は暗号化されず、その一方で、TSの残り部分(または本体(1050など))は、TSのこれらの複数の部分を、特に、PRBSでXORすることにより、例えば、スクランブルされる。
1つの実装では、TSは16バイト長(16)であってよく、TSヘッダは、TSの第1のバイト(即ちバイト0)を占有してよい。TSペイロードは、スクランブルされ、残りの15バイトを占有することができる。1つの例示の実装において、TSの尾部またはサフィックスは、TSの最後の数バイトを含んでよい。例えば、一例において、スクランブル処理同期フィールド1030は、少なくともTSの3バイト、例えばTSのバイト6〜8、を占有してよい。この特定の実装では、TSの尾部ビット(例えば、バイト9〜15)は、予約ビット(例えば、1055)として維持されてよい。バイト6〜15のビットは全て0に設定されうる。
いくつかの実装ではHPIはTSヘッダ(例えば、1010)の使用をサポートすることができ、複数のキー初期化パラメータのために、TSペイロードに代えて、または、に加えて、使用されうる。いくつかの実装において、TSペイロードは、ACKやレーン数等の初期化パラメータを交換するために用いられてよい。レーン極性を伝えるために複数のDCレベルを用いてもよい。しかしながら、いくつかの実装では、HPIは、複数のキーパラメータのために、TSヘッダ(例えば1010)に複数のDCバランスされたコードを実装することができる。例えば、TSヘッダがアンスクランブルされるような複数の例では、利用可能なTSヘッダコードが、TSヘッダフィールド(例えば、1035、1040、1045)に出現する「1」の個数が「0」の個数と実質的に等しくなるように規定されうる。ランダムまたは擬似ランダムバイナリシーケンスに対してビットをXORすることでTSペイロードのビットをスクランブル処理することにより、DCバランスが、TSの残り部分(例えば、TSペイロード)で実現される。
1つの例示の実装において、PRBSシーケンスは、少なくとも23ビット(PRBS23)を使用することができる。PRBSは、特定の選択された多項式に従って、生成されうる。一例において、PRBSは、線形フィードバックシフトレジスタ(LFSR)のような、類似のビットサイズやセルフシードストレージ要素により生成されうる。LFSRは、8Mbの長さまでPRBSシーケンスを生成することが可能な23ビットフィボナッチLFSRでありうる。PRBSは、シーケンスの終わりに続いて反復することができる。いくつかの実装では、PRBS23シーケンスの全体が、例えば、HPIのリンクの初期化で用いられるスーパーシーケンスに含まれるトレーニングシーケンスのスクランブル処理に用いることができる。
PRBSシーケンスの全長を用いることができる一方で、いくつかの実装では、HPIは、利用可能な様々な長さのPRBSシーケンスの使用を許容すること(例えば、PRBS23シーケンスの一部分のみの使用)をサポートできる。いくつかの実施例において、デバイスのコントローラは、PRBSシーケンスの全長の一部分だけが使用されることを特定することができる。例えば、このことは、潜在的な他のアプリケーションの中でも特に、ビットシーケンスの再現性が望ましいようなアプリケーションの試験では、好ましい。ソフトウェアベースのコントローラは、適用されるべき様々な長さのPRBSを特定できる。例えば、デバイスのBIOSは、そのリンクで適用されるべきPRBS長さを特定することができる。いくつかの実装では、例えば、冗長なPRBSシーケンスの便益を最大化するために、PRBSシーケンスの全長を使用することが、デフォルトの設定であり得る。
送信リンク状態(TLS)でのレーントラヒックおよびトレーニングシーケンスは、特定の最小長(例えば、23ビット)のPRBSでスクランブルされうる。ストリームへ適用されるべき開始シードは、そのリンクのPRBSの電気的な便益を強めるべく、レーン間で変化させられうる。1つの例示の実装において、PRBSは、(x23+x21+x16+x+x+x+1)のような、6タップ生成器多項式を実装する23ビットフィボナッチLFSRにより生成することができる。
8を法とした場合のレーン数に対する(スクランブラ/デスクランブラ初期化での)開始シード値は、任意の値、例えば8つの16進値であってよく、それぞれの値は、そのリンクの複数レーンの2つまたは3つに関連する。そのようなシードの使用は、複数のレーン間でのPRBSの回転(またはスタガリング(staggering))をもたらすことができる。偶数レーンPRBSが奇数レーンのPRBSのXORから得られるという特質を用いることにより、LFSRの個数を減らすことができる。EIEOSおよびトレーニングシーケンスのヘッダは、スクランブルされない。各レーンのスーパーシーケンスのエントリポイントは、各レーンの異なるポイントで(例えば、送信機が駆動を開始する場所で)初期化されうる。これにより、電力配信システムで雑音を低減するべく、複数レーンを互い違いにオンさせることができる。実際に、各レーンは、LFSRの特有の例(インスタンス)を有しうる。スタガリング時間は、オンされているレーンの個数によって変えることができ、初期化の間は、実装依存であってよい。これらは、部分送信幅状態終了に対するタイミング図およびタイマプロファイルで規定されうる。さらに、高速トレーニングシーケンス(FTS)(以下でも論じられる)が、同様に、レーンにより回転されてよい。
いくつかの例では、スクランブル処理は、送信機の電力供給ノイズを低減し、よりリッチな周波数スペクトルを受信機に提供することができる。スクランブラは、送信された第1のEIEOSによって初期化されうる。デスクランブラは、例えば、セルフシードにより、スクランブラに同期されうる。例えば、受信した23ビットパターンは、シードとして、TSのフィールドへ埋め込まれうる。一例において、23ビットシードは、スクランブル処理同期フィールド(例えば1050)のビットのスクランブル処理から、特定されうる。受信機は、シード値を使用して、受信したTSをスクランブル処理するために用いられる具体的なPRBS位置を特定することができる。例えば、受信機はシードを特定し、そして、送信機で用いられるPRBSと同期するためにそのシードを自身のLFSRへと読み込むことができる。いくつかの例では、受信機は、自身のLFSRへのシードとする目的で、スーパーシーケンスの中の多数のスクランブル処理同期フィールドまたは多数のTSを読み取ってよい。しかしながら、送信機のPRBSを検出し同期すると、受信機は、とりわけそのリンクの初期化中に、複数のスーパーシーケンスの中で送信された全ての後続のTSと同様に複数のTSの残り部分を、デスクランブル処理しうる。
スーパーシーケンスは、レーンでのビットロックおよび同期を容易にするために用いられうる。上述したように、スーパーシーケンスの少なくとも一部がスクランブルされうる。図8の議論に戻ると、検出スーパーシーケンスは、受信したビットストリームのビットのおよびバイトの端部を検出またはロックし、どのバイトがそのスーパーシーケンスで送信されたかを特定するために、受信機によって用いられ得る。例えば、EIEOSおよびTSヘッダは、スクランブル処理されず、受信機がスーパーシーケンスをより速くロックするアシストをすることができる。追加的に、スーパーシーケンスは、EIEOS(およびスーパーシーケンスの開始)が、相対的に短い周波数で反復することを可能とするように規定されうる(例えば、第1のEIEOSが正確には検出されなかった場合に、受信機が、より速くEIEOSを検出する別の機会を可能とする)。例えば、一例において、スーパーシーケンスは、1000UI毎にまたはそれより短く、反復するよう規定されうる。そのようなスーパーシーケンスは、さらに、初期化の間において、TSロック、レイテンシ調整および他の動作を単純化するのと同様に、よりランダム化された遷移を可能とする。
追加的に、EIEOSおよびTSヘッダをアンスクランブルのままとすることにより、バイトロックが生じることを可能とし、かつ、後続のバイトおよびシンボル(スクランブルされたTSシンボルを含む)の位置を受信機が特定することを許容できる。例えば、アンスクランブルされたTSヘッダの端部が特定され、それによりまた、スクランブル処理同期フィールド(例えば、1050)の開始(例えば、TSヘッダの端部からシンボルへのバイト数を単純にカウントすることにより)が特定されうる。スクランブル処理同期フィールドにおけるPRBSシードを検出すると、受信機は、次に来るPRBSのパターン値を知り、また、後続のスクランブル処理同期フィールド(例えば、1050)の値を予測する。従って、PRBSへとロックすると、受信機はさらに、スクランブル処理同期フィールド(例えば、1050)の値を使用することができ、適応化、デスキューおよびその他のタスクのような他の複数のコンフィギュレーションタスクを促進する。
マルチレーンにおける複数のリンクでは、複数のシンボルが送信機によって、全レーンで同時に送信されうるが、しかしながら、リンク間のスキューは、受信機に同時には到達しないいくつかのシンボルと共に現れうる。例えば、スキューのソースとしては、特に、チップ差動ドライバおよび受信機、プリント配線板のインピーダンス変動、レーンのワイヤ長不整合、を含んでよい。一実施形態では、HPIは、複数のレーンをデスキューするための進化した論理を提供する。一例として、TSロック後のTS境界が、複数のレーンをデスキューするために用いられうる。例えば、TSロックは、スキューの検出(例えば、あるレーンでTSが、そのリンクにおける複数のレーンのうちの別のレーンで別のTSが到着するよりも、遅く到着する)に用いられうる。EIEOSが、また、スキューを検出するために用いられうる。さらには、同期されたPRBSパターンの予測可能性を用いて、ペイロードの特定の複数時点の間におけるLFSRでの複数のレーンPRBSパターンを比較することにより、HPIのいくつかの実装がデスキューしてよい。さらに、いくつかの例では、トレーニングシーケンスのスクランブル処理が再初期化されてよく、そして、特にトレーニングシーケンスをやり直す間にPRBS値の表の検索を行うことでデスキューが実行されうる。そのようなデスキューは、例えば、TSを検出する能力が欠如したテストチップや、特にデスキューを管理するステートマシンで有用でありえる。
スキューを検出すると、HPI論理(例えば、スソフトウェアでサポートされたコントローラを通じて提供される)は、あるリンクにおいて、各レーンで他の複数のレーンに対するスキューを特定し、そして、そのスキューを排除するように試みるべくそれらのレーンを調整することができる。例えば、「より速い」レーンは、レーン間スキューにおいて検出された遅延に基づいて人為的に遅らされ(またはこれに代えて、より遅いレーンが速くされる(例えばデータパスのレイテンシを低減することにより))、その遅れた「より速い」レーンと実質的に同時に到着した「より遅い」レーンでのシンボルを調整することができる。
適応化の場合、レーンの電気的特性が、例えば送信機と受信機との間で送信されるサンプルデータに基づいて、送信機と受信機との間で調整されうる。例えば、受信機の適応化としては、リンクに対するレーンの適応化を行うべく受信機での電気的特性を調整する受信機において、論理を用いてデータパターンを受信機へ送信する送信機を含むことができる。送信機の適応化には、受信機へサンプルデータを送信する送信機と、レーンの適応化を行うべく送信機で調節を行うための送信機によって用いられうる送信機へとフィードバックを送信する受信機とを含むことができる。受信機は、送信機でなされた調節に基づいて、その送信機へフィードバックの送信を継続することができる。
一例において、適応化サンプルデータが、スクランブルされたTSデータを通じて実装されうる。一例として、適応化状態への迂回と共に、スクランブル処理に固定化UIパターンが使用されてよい。しかし、PRBS23と共にTSをスクランブル処理することより、迂回なしで受信機の適応化が実行されてよい。さらに、クロックリカバリおよびサンプリングの間、オフセットおよびその他の複数のエラーが、低減されてよい。ロングPRBSシーケンス(例えば、PRBS23)を通じて提供されるランダム性により、適応化のための有効なサンプルストリームを証明できる。さらに、いくつかの実装では、レーンは、低速モードで動作するように設定され、そのレーンで受信したサンプルデータを分析し適応化する論理をアシストすることができる。レーン特性を適応化を通じて承認すると、適応化された特性は、そのリンクの初期化に設定されかつ適用されうる。
ひとたびリンクが成功裏にキャリブレーションされ、コンフィギュレーションされると、初期化が終了し、フリットの送信が始まる送信リンク状態(TLS)へと遷移できる。HPIのいくつかの実装では、TLSへの遷移は、システムでの気まぐれな配列(planetary alignment)に基づいてよい。例えば、気まぐれに配列された信号は、TLSへの遷移の機会を示しうる。スーパーシーケンス、EIEOSまたはTLSの端部で遷移するのではなく、HPIのいくつかの実装では、初期化とTLSへの遷移とを終了するために、気まぐれな配列に従って送信されるデータシーケンスの開始(SDS)シンボルを利用することができる。一例においてSDSは、初期化ビットストリームの任意の場所で送信されうる。従って、受信機は、SDSに対する受信ビットを継続してスキャンすることができ、気まぐれな配列に従って、初期化の終了を加速する。
一例において、例示的なEIEOSは、反復FF00信号のような低周波数クロック信号を、エミュレートできる。例示的なSDSは、いくつかの実装では、反復するF0信号を含みうる。従って、そのような例では、EIEOS内のエイリアスのリスクが最小となりうるので、EIEOSの中間で送信されたSDSを検出することは、相対的に特定が単純である。しかしながら、TSペイロードのスクランブル処理および、TSデータのでたらめさの結果により、SDSのいくつかの形態におけるエイリアスのリスクが導入されるかもしれない。いくつかの実装では、PRBSが生成されてよく、これにより、多数のビットからなる任意の特定期間をこえてSDSをエイリアスしない。さらに、尾部またはサフィックスがTSで提供されてよく、例えば、TSの最後のバイトを用いてPRBSを、そのサフィックスの0値とXORとなるようにし、そのTSの終端部分でアンスクランブルされたPRBSを効率的に示す。サフィックスが十分に長い場合、スクランブルされるサフィックスの中で反映されるPRBS値は、SDSが、あるTSのスクランブル処理されたペイロードにおいてエイリアスされることを不可能にする。例えば、一例において、SDSは、F0値が10個連続したバイト(即ち、1111000011110000...)として定義されてよい。さらに、例えば、図10の例で示されたように、7個の予約バイトのサフィックスが、TSで提供され、その直後にスクランブル処理同期フィールド(例えば、1050)の3バイトが続くことができる。結果として、ゼロとなったTSサフィックスの長さ(例えば全10バイト)が選択されたSDS値に対応し(例えば、F0の10バイト)、これは、特に、選択されたスクランブル処理PRBS(例えば、PRBS23)の内には現れないものとして選択されたものである。例えば、特に、PRBS23(または別のPRBS)の実装で使用される多項式に基づいて、PRBS23での非10バイトシーケンスは、選択されたSDS値と完全に等しくなるであろう。
いくつかの実装では、コンフィギュレーション状態からTLSへ抜け出す場合に、送受信LFSRは、送信機と受信機との間でやり取りされたSDSによって再初期化されうる。例えば、8つの開始PRBSシードが、レーン0…7、12…19および8…11(例えば、最初の4つのみ)へと、それぞれ適用されうる。さらには、リンクでのレーン逆転およびレーンでの極性反転は、例えばEIEOSの後のTSのアンスクランブルされた第1バイト(TSヘッダなど)を、特に、一連の可能な値と比較することにより、決定されてもよい。
一実施形態では、クロックがデータへ埋め込まれ、このため、別個のクロックレーンはなくなる。フリットは、埋め込みクロックに従って送信されうる。さらに、複数のレーンにわたって送信されるフリットは、クロックリカバリを容易にすべくスクランブル処理されうる。一例として、受信機クロックリカバリユニットは、サンプリングクロックを受信機へ配信することができる(即ち、受信機はデータからクロックを回復し、入ってくるデータをサンプルするためにそれを使用する)。いくつかの実装では、複数の受信機が継続して入ってくるビットストリームに対して適応する。クロックを埋め込むことにより、潜在的にピン配列を低減できる。しかしながら、インバンドデータにクロックを埋め込むことで、インバンドリセットに着手するやり方を変更することができる。一実施形態では、ブロッキングリンク状態(BLS)が初期化の後に使用されうる。また、他の複数の考慮すべき事項の中でもとりわけ、EOSスーパーシーケンスがリセットを容易にすべく、初期化中に使用されてよい。埋め込みクロックは、リンク上の複数デバイスの間で共通であってよく、共通に動作可能なクロックが、そのリンクのキャリブレーションおよびコンフィギュレーションの動作の間に設定されうる。例えば、複数のHPIリンクは、複数のドリフトバッファを用いて共通クロックを参照することができる。そのような実装により、その他の潜在的利点の中でも特に、複数の非共通の参照クロックが用いられるエラスティックバッファよりも、より低いレイテンシを実現することができる。さらに、複数の参照クロック配信セグメントが、規定された範囲内で適合されてよい。
上記したように、HPIリンクは、デフォルトの電力投入や初期化などのための「低速モード」を含んだ複数の速度で動作可能である。各デバイスにおける動作可能な(または「速い」)速度またはモードは、静的にBIOSによって設定されうる。リンク上の共通クロックは、そのリンクのいずれかの側の各デバイスのそれぞれの動作速度に基づいて、構成されうる。例えば、リンク速度は、特に、2つのデバイスの動作速度のうちのより遅い方に基づくことができる。任意の動作速度の変更が、ウォームリセットまたはコールドリセットに付随して起ってよい。
いくつかの実施例において、電力オンの場合、リンクは、例えば、伝送速度100MT/sの低速モードへ初期化する。するとソフトウェアは、そのリンクの動作速度のために2つの側を設定し、初期化を開始する。他の例においては、例えば、低速モードが存在しない場合や利用不可能である場合に、サイドバンドメカニズムを使用して、そのリンク上の共通クロックを含んだリンクを設定することができる。
一実施形態では、低速モード初期化フェーズは、動作速度として、同じエンコード、スクランブル処理、トレーニングシーケンス(TS)、状態等を使用することができるが、潜在的にはより少ない特徴(例えば、電気パラメータ設定をしない、適応化をしない、等)を使用する。低速モードのオペレーションフェイズは(他の実装ではそうではなくてもよいが)、また潜在的に、同じエンコード、スクランブル処理等を用いることができるが、動作速度(例えば、低電力状態が無い)と比較して、より少ない状態および特徴を有してよい。
さらに、低速モードは、そのデバイスが有しているフェーズロックループ(PLL)クロック周波数を用いて実装されうる。例えば、HPIは、PLLクロック周波数を変更することなく、エミュレートされた低速モードをサポートすることができる。設計によっては低速および高速の実現のために別個のPLLを用いてよいが、いくつかのHPIの実装においては、低速モードの最中にPLLクロックを同じ高速動作速度で実行することを許容することで、エミュレートされた低速モードを実現できる。例えば、遅い高クロック信号と、その次に遅い低クロック信号とをエミュレートすべく、送信機は、ビットを複数回繰り返すことによってより遅いクロック信号をエミュレートできる。受信機は、次に、受信信号をオーバーサンプリングし、ビット反復によってエミュレートされた複数の端部の場所を探し、ビットを特定する。そのような実装では、PLLを共有する複数のポートが、低速度および高速度で同時に終了してよい。
いくつかのHPIの実装では、リンク上での複数レーンの適応化がサポートされ得る。物理層は、受信機の適応化、および、送信機または送信機の適応化、の両方をサポートできる。受信機の適応化において、あるレーンの送信機は、サンプルデータを受信機へと送信し、受信ロジックは、そのレーンの電気的特性の欠点および信号品質を特定するべく、それらのデータを処理することができる。すると受信機は、そのレーンのキャリブレーションの調節をすることができ、受信したサンプルデータの分析に基づいてそのレーンを最適化する。送信機の適応化の場合には、受信機は再度サンプルデータを受信し、そのレーンの品質を説明するメトリックを展開するが、この場合、そのメトリックを(例えば、ソフトウェア、ハードウェア、埋め込み、サイドバンド、またはその他のチャネル等の裏チャネルを用いて)送信機へ通信し、送信機がフィードバックに基づきそのレーンを調節することを可能とする。
リンク上の両方のデバイスが同じ参照クロック(例えばref clk)で動作するので、融通性のあるバッファを省略することが可能である(任意のエラスティックバッファが迂回されるか、または、できるだけ最低のレイテンシを有するドリフトバッファとして用いられてよい)。しかしながら、各レーンで位相調節またはドリフトバッファを使用することができ、遠隔クロックドメインからローカルクロックドメインへと、各受信者へビットストリームを伝達する。ドリフトバッファのレイテンシは、全てのソースからのドリフトの合計を電気的な仕様(例えば、電圧、温度、参照クロックのルート不整合によりもたらされた残差SSCなど)で処理するのに十分であってよいが、移送遅延を低減するために可能な限り小さくてよい。ドリフトバッファが浅すぎる場合、ドリフトエラーは、一連のCRCエラーとして生じ現れうる。その結果、いくつかの実装では、ドリフトアラームが提供され、特に、実際のドリフトエラーが生じる前に物理層リセットを初期化することができる。
いくつかのHPIの実装では、同じ基準参照クロック周波数で動作する2つの側をサポートしてよいがppmの差異はあってよい。この場合、周波数調節可能な(または融通性のある)バッファが必要であってよく、特に、拡張BLS窓の最中または、定期的に生じてよい特別なシーケンスの最中に再調節されうる。
HPIのPHY論理層の動作は、設けられた下層の伝送媒体から独立してよく、そのレイテンシは、他の複数の考慮すべき事項の中でも特に、リンク層でのレイテンシ調整エラーまたはタイムアウトをもたらさない。
HPIでは、複数の外部インタフェースが設けられてよく、物理層の管理をアシストする。例えば、(ピン、ヒューズ、その他の層からの)複数の外部信号、複数のタイマ、複数の制御および状態レジスタが設けられうる。入力信号は、PHY状態に対していつでも変化することができるが、物理層により各状態の特定の時点で観察される。例えば、(下記で導入されるように)変化する配列信号が受信されてよいが、いくつかの例の中でも特に、リンクが送信リンク状態へと入った後には何の効力も持たない。同様に、複数のコマンドレジスタ値が、特定の時点でのみ、複数の物理層エンティティによって観察されうる。例えば、物理層論理は、値のスナップショットを取り、後続の動作でそれを使用することができる。その結果、いくつかの実装では、コマンドレジスタの更新は、変則的な挙動を回避するために、複数の特定期間(例えば、送信リンク状態において、リセットキャリブレーションで保持をしている時、低速モードの送信リンク状態において)からなる限定されたサブセットに関連付けられうる。
複数の状態値はハードウェア変化を追跡するので、読み値は、それらがいつ読み取られたかに依存しうる。しかしながら、リンクマップ、レイテンシ、速度等のいくつかの状態値は、初期化の後、変化しなくてよい。例えば、再初期化(または、低電力リンク状態(LPLS)やL1状態、終了)は、これらを変化させてよい唯一の状況である(例えば、特に、TLSでのハードレーンの失敗は、再初期化がトリガされるまで、リンクの再設定をもたらさないでよい)。
インタフェース信号は、外部用であるが物理層の挙動に影響を与える信号を含みうる。そのようなインタフェース信号は、例えば、エンコード信号およびタイミング信号を含みうる。インタフェース信号は、設計に固有であるかもしれない。これらの信号は、入力または出力でありうる。特に、セマフォおよびプレフィックスEOのような、いくつかのインタフェース信号はアサーションエッジ毎に1回アクティブとなってよく、即ち、それらの信号は、特に、デアサートされ、再び効力を得るべく再アサートされてよい。例えば、表1は、例示的な機能の例示的なリストを含む。
Figure 0006423040
CSRタイマのデフォルト値は、ペアで提供されてよく、1つは低速モードに対しするものであり、もう1つは動作速度に対するものである。いくつかの例では、値0は、タイマを無効化する(即ち、タイムアウトが生じないようにする)。タイマは、以下の表2に示すようなものを含みうる。複数の第1のタイマが、ある状態における予期される動作の時間を測定するために用いられうる。複数の第2のタイマは、進行中ではない複数の初期化をアボートするために、または、自動化された試験機器(またはATE)モードにおいて、正確な時間で状態遷移を進めるために用いられ、場合によっては、複数の第2のタイマは、ある状態において、複数の第1のタイマよりも、ずっと大きくなりうる。指数関数的なタイマのセットは、末尾にexpが付され、タイマ値は、2のフィールド値だけべき乗される。線形タイマの場合、タイマ値がフィールド値である。いずれのタイマも、異なる粒度を使用することができる。さらには、電力管理セクションにおけるいくつかのタイマは、タイミングプロファイルと呼ばれるセットでありうる。これらは同名のタイミング図と関連してよい。
Figure 0006423040
コマンドおよび制御レジスタが設けられてよい。制御レジスタは、レイト動作(late action)であってよく、いくつかの例では、ソフトウェアによって読み取られまたは書き込まれてよい。レイト動作の値は、リセット中、継続して有効であるうる(例えば、ソフトウェア対応からハードウェア対応のステージへとパススルーする)。制御セマフォ(接頭されたCP)はRW1Sであり、ハードウェアによってクリアされうる。制御レジスタは、ここで述べた任意の項目を実行するために使用されてよい。それらは、ハードウェア、ソフトウェア、ファームウェアまたはそれらの組み合わせにより、変更可能かつアクセス可能であってよい。
状態レジスタは、ハードウェアの変更(ハードウェアによる書込みおよび使用)を追跡するために設けることができ、読み取り専用でありうる(しかし、デバッグソフトウェアが、また、それらへと書き込まれてよい)。そのようなレジスタは、相互運用性に影響を与えず、典型的には、多くの私的な状態レジスタで補完されうる。状態セマフォ(接頭されたSP)は、ソフトウェアによりクリアされ、その状態を設定する複数の動作をやり直してよいため、強制的に命令されてよい。(リセットでの)デフォルト手段の初期値は、これらの、初期化に関連する状態ビットのサブセットとして提供されてよい。初期化アボートでは、このレジスタは記憶構造へとコピーされてよい。
ツールボックスレジスタが設けられてよい。例えば、物理層におけるテスタビリティツールボックスレジスタは、パターン生成、パターンチェックおよびループバック制御メカニズムを提供しうる。高レベルアプリケーションは、マージンを決定するために、これらのレジスタを、電気パラメータと共に活用することができる。例えば、相互接続組込みテストでは、マージンを決定するためにこのツールボックスを使用してよい。送信機の適応化のため、これらのレジスタは、特に、先のセクションで記載された具体的なレジスタと共に使用されうる。
いくつかの実装では、HPIは、信頼性、利用度、および物理層を利用するサービス性(RAS)機能をサポートする。一実施形態では、HPIは、ホットプラグおよびホットリムーブを1または複数の層でサポートし、これはソフトウェアを含んでよい。ホットリムーブはリンクを休止することができ、取り除かれるべきエージェントに対して初期化の開始状態/信号がクリアされうる。遠隔のエージェント(即ち、取り除かれていないもの(例えば、ホストエージェント))は、低速度に設定され、また初期化信号がクリアされうる。インバンドリセット(例えば、BLSを通して)は、両方のエージェントを、キャリブレーションリセット状態(CRS)のようなリセット状態で待機させることができ、特に、取り除かれるべきエージェントが取り除かれうる(または、ターゲットとされるピンリセットにおいて保持され、電力がダウンされる)。実際には、上記イベントのいくつかは省略されてよく、追加イベントが追加されうる。
ホットアドは、デフォルトで低速であってよい初期化速度を有することができ、初期化信号は、追加されるべきエージェントで設定されうる。ソフトウェアは、速度を遅く設定することができ、遠隔のエージェントでの初期化信号をクリアしてよい。リンクが低速モードにまで達し、ソフトウェアは動作速度を決定できる。場合によっては、遠隔でのPLL再ロックは、この時点では実行されない。動作速度は両方のエージェントで設定され、適応化のために(もし過去になされていないのであれば)イネーブルが設定されうる。初期化開始インジケータが両方のエージェントでクリアされ、インバンドBLSリセットが、両方のエージェントをCRSで待機させうる。ソフトウェアは、(追加されるべき)エージェントのウォームリセット(例えば、ターゲットのまたは自己リセット)をアサートすることができ、これによりPLLに再ロックさせてよい。ソフトウェアは、また、初期化開始信号を、任意の周知の論理により設定してよく、さらには遠隔で設定してよい(これにより、受信機検出状態(RDS)へと進ませる)。ソフトウェアは、その追加エージェントのウォームリセットをデアサートすることができる(これにより、RDSへと進ませる)。すると、リンクは、いくつかの例の中でも特に、動作速度で送信リンク状態(TLS)へ(適応信号が設定されていたらループバックへ)と初期化してよい。実際には、上記イベントのいくつかは省略されてよく、追加イベントが追加されうる。
データレーンでの失敗のリカバリがサポートされうる。一実施形態では、HPIにおけるリンクは、自身を全幅よりも狭く設定する(例えば、全幅の半分よりも小さくする)ことにより、単一レーンでのハードエラーに対して回復機能を有することができ、これにより、欠陥のあるレーンを除外できる。一例として、リンクステートマシンによって、その設定がなされ、不使用のレーンはコンフィギュレーション状態ではオフにされうる。結果としてフリットが、いくつかの例の中でも特に、より狭い幅で送信されてよい。
HPIのいくつかの実装では、レーン逆転がいくつかのリンクでサポートされうる。例えば、レーン逆転とは、受信機レーンn/n−1/n−2・・・に接続された送信機レーン0/1/2・・・を意味しうる(例えば、nは、19や7などと等しくてよい)。レーン逆転は、TSヘッダのフィールドにおいて特定がなされるように、受信機において検出されうる。受信機は、論理レーン0・・・nに対する物理レーン0・・・nを用いてポーリング状態を開始することによって、レーン逆転を処理することができる。従って、あるレーンへの参照とは、論理レーン数への参照であってよい。故に、基板設計者は、より効率的に物理的または電気的設計を定めてよく、HPIは、ここで述べたように、仮想的なレーン割当として機能してよい。さらに、一実施形態では、極性が反転されてよい(即ち、差動送信機+/−は、受信機の−/+に接続される)。一実施形態では、極性は、ポーリング状態で、1または複数のTSヘッダフィールドから受信機で検出され、そして処理されうる。
図11を参照すると、マルチコアプロセッサを含むコンピューティングシステムのためのブロック図が示される。プロセッサ1100は、マイクロプロセッサ、組込みプロセッサ、デジタルシグナルプロセッサ(DSP)、ネットワークプロセッサ、ハンドヘルドプロセッサ、アプリケーションプロセッサ、コプロセッサ、システムオンチップ(SOC)、コードを実行するその他のデバイスのような任意のプロセッサまたは処理デバイスを有する。一実施形態では、プロセッサ1100は、少なくとも2つのコア1101および1102を有し、これらは、非対称コアまたは対称コアを有してよい(図示された実施形態)。しかしながら、プロセッサ1100は、任意の数の対称または非対称の処理要素を含んでよい。
一実施形態では、処理要素は、ハードウェアまたは論理を参照して、ソフトウェアスレッドをサポートする。ハードウェア処理要素の例としては、スレッドユニット、スレッドスロット、スレッド、処理ユニット、コンテクスト、コンテクストユニット、論理プロセッサ、ハードウェアスレッド、コア、および/または、実行状態やアーキテクチャ状態のようなプロセッサの状態を保持することのできる他の任意の要素を有する。言い換えると、一実施形態では、処理要素は、ソフトウェアスレッド、オペレーティングシステム、アプリケーション、その他のコードのようにコードと別々に関連付られることが可能な任意のハードウェアを指す。物理プロセッサ(またはプロセッサソケット)は、典型的には集積回路を指し、潜在的に、コアやハードウェアスレッドのような任意の数の処理要素を有してよい。
コアはしばしば、個々のアーキテクチャ状態を維持することが可能な集積回路に配置されたロジックを指し、この場合、別々に維持されるアーキテクチャ状態は、少なくともいくつかの専用化された実行リソースと関連する。コアとは対照的に、ハードウェアスレッドは典型的には個々のアーキテクチャ状態を維持することが可能な集積回路に配置された任意の論理を指し、この場合、別々に維持される複数のアーキテクチャ状態は、実行リソースへのアクセスを共有する。見て理解できるように、特定のリソースが共有され、その他があるアーキテクチャ状態へと専用化された場合に、ハードウェアスレッドおよびコアの間の用語体系のラインが重なり合う。それでもしばしば、コアおよびハードウェアスレッドは、オペレーティングシステムによって、個別の論理プロセッサとして見なされ、ここでオペレーティングシステムは、各論理プロセッサにおいて個別に動作をスケジューリングすることができる。
図11に図示されるように、物理プロセッサ1100は2つのコア、コア1101、1102を有する。ここでは、コア1101および1102は、対称コア、即ち、同じ構成、機能ユニットおよび/または論理を有するコアだと見なされる。別の実施形態では、コア1101がアウト・オブ・オーダプロセッサコアを有し、他方で、コア1102がイン・オーダプロセッサコアを有してよい。しかしながら、コア1101および1102は、ネイティブコア、ソフトウェア管理されたコア、命令セットアーキテクチャ(ISA)を実行するように適合されたコア、変換された命令セットアーキテクチャ(ISA)を実行するように適合されたコア、協調設計コア、他の周知のコアのような任意のタイプのコアから個別に選択されてよい。ヘテロジニアスなコア環境(即ち、非対称コア)では、バイナリ変換のような、ある変換形態が使用されてよく、一方又は両方のコアで、スケジューリングまたはコードの実行をする。さらなる議論はまだされていないが、コア1102における複数のユニットは図示された実施形態において同様に動作するので、コア1101の中の図示された複数の機能ユニットが、以下でさらに詳細に述べられる。
図示されているように、コア1101は、2つのハードウェアスレッド1101a、1101bを有し、これらはまた、ハードウェアスレッドスロット1101a、1101bとも称されてよい。従って、一実施形態ではオペレーティングシステムのようなソフトウェアエンティティは、潜在的にプロセッサ1100を、4つの別個のプロセッサ、つまり、4つのソフトウェアスレッドを同時に実行可能な4つの論理プロセッサまたは処理要素とみなす。上記で示唆されるように、第1のスレッドはアーキテクチャ状態レジスタ1101aに関連付けられ、第2のスレッドはアーキテクチャ状態レジスタ1101bに関連付けられ、第3のスレッドはアーキテクチャ状態レジスタ1102aに関連付けられてよく、第4のスレッドはアーキテクチャ状態レジスタ1102bに関連付けられてよい。ここで、上述のように、複数のアーキテクチャ状態レジスタ(1101a、1101b、1102aおよび1102b)のそれぞれは、処理要素、スレッドスロット、またはスレッドユニットとして称されてもよい。図示されるように、アーキテクチャ状態レジスタ1101aはアーキテクチャ状態レジスタ1101bで複製され、個別のアーキテクチャ状態/コンテクストが論理プロセッサ1101aおよび論理プロセッサ1101bに対して格納されることが可能となる。コア1101において、アロケータおよびリネームブロック1130における、命令ポインタおよびリネーム論理のような、より小さな他のリソースが、また、スレッド1101aおよび1101bのために複製されてよい。リオーダ/リタイヤユニット1135におけるリオーダバッファのようないくつかのリソース、ILTB1120、読み込み/書込みバッファ、およびキューが、パーティショニングを通じて共有されてよい。複数の汎用内部レジスタ、1または複数のページテーブルベースレジスタ、低レベルデータキャッシュおよびデータTLB1115、1または複数の実行ユニット1140、アウト・オブ・オーダユニット1135の複数の部分のようなその他のリソースが、潜在的に、完全に共有される。
プロセッサ1100はしばしば他のリソースを有し、これらは完全に共有されてよく、またはパーティショニングを通して共有されてよく、または、処理要素により/対して専用化されてよい。図11では、そのプロセッサの例示のロジックユニット/リソースを有する純粋に例示的なプロセッサが図示される。プロセッサは、図示されていない他の周知の機能ユニット、論理およびファームウェアを有してよいのと同様に、これらの機能ユニットのいずれを有しても省略してもよい。図示されているように、コア1101は、単純化され代表的な、アウト・オブ・オーダ(OOO)プロセッサコアを有する。しかし、異なる実施形態では、イン・オーダプロセッサが使用されてよい。OOOコアは、実行されるべき/取り出されるべき複数の分岐を予測する分岐ターゲットバッファ1120と、命令に対するアドレス変換エントリを格納する命令変換バッファ(I−TLB)1120と、を有する。
コア1101はさらに、フェッチされた要素をデコードするためのフェッチユニット1120に結合されるデコードモジュール1125を有する。一実施形態では、フェッチ論理は、スレッドスロット1101a、1101bに関連する個別のシーケンスをそれぞれ有する。通常、コア1101は、プロセッサ1100で実行可能な命令を規定/特定する、第1ISAに関連付られる。しばしば、第1ISAの一部である機械コード命令は命令の一部分を有し(オペコードとも称される)、これは、実行されるべき命令または動作を参照/特定する。デコード論理1125は、これらの命令をそれらのオペコードから認識し、かつパイプラインにおいて第1ISAによって規定されるような処理を行うためにデコードされた命令をパスするための回路を、有する。例えば、より詳細に以下で議論されるように、一実施形態では、デコーダ1125は、トランザクション命令等の特定の命令を認識すべく設計または適応化された論理を有する。デコーダ1125による認識の結果として、アーキテクチャまたはコア1101は、適切な命令に関連したタスクを実行するために、特定の事前に定義された動作を行う。ここで記載される任意のタスク、ブロック、動作、および方法が単一のまたは複数の命令に応じて実行されてもよいことを指摘しておくことは重要であり、命令のいくつかは、新たな、または、古いものであってよい。一実施形態では、複数のデコーダ1126は、同じISA(またはそのサブセット)を認識する。この代わりに、ヘテロジニアスなコア環境では、複数のデコーダ1126は、第2ISA(第1ISAのサブセットまたは区別されるISAのいずれか)を認識する。
一例において、アロケータおよびリネームブロック1130は、命令処理の結果を格納するためのレジスタファイル等のリソースをリザーブするための割り当て部を有する。しかしながら、スレッド1101aおよび1101bは、アウト・オブ・オーダ実行が潜在的に可能であり、この場合、アロケータおよびリネームブロック1130は、命令の結果を追跡するためのリオーダバッファ等の他のリソースをリザーブする。ユニット1130はまた、プログラム/命令参照レジスタを、プロセッサ1100の内部の他のレジスタへとリネームするための、レジスタリネーム部を有してよい。リオーダ/リタイヤユニット1135は、上述のリオーダバッファ、読み込みバッファ、書込みバッファのようなコンポーネントを含み、アウト・オブ・オーダ実行と、その後、アウト・オブ・オーダで実行された命令のイン・オーダ・リタイヤとをサポートする。
1または複数のスケジューラおよび実行ユニットブロック1140は、一実施形態では、スケジューラユニットを有し、複数の実行ユニットでの命令/動作をスケジューリングする。例えば、利用可能な浮動小数点実行ユニットを有する実行ユニットのポートで浮動小数点命令がスケジューリングされる。実行ユニットに関連するレジスタファイルが、また、含まれており、情報命令処理の結果を格納する。例示的な実行ユニットは、浮動小数点実行ユニット、整数実行ユニット、ジャンプ実行ユニット、読み込み実行ユニット、格納実行ユニット、および他の周知の実行ユニットを有する。
低レベルデータキャッシュおよびデータ変換バッファ(D−TLB)1150は、1または複数の実行ユニット1140に結合される。データキャッシュは、データオペランドのような、要素における最近の使用/動作を格納し、それらは、潜在的に、メモリコヒーレンシ状態で保持される。D−TLBは、物理アドレス変換への最近の仮想/線形を格納する。具体的な例としてプロセッサは、物理メモリを複数の仮想ページへとブレークするために、ページテーブル構造体を有してよい。
ここで、コア1101、1102は、オンチップインタフェース1110に関連する第2レベルキャッシュのような、より高レベルのまたはより離れた(further−out)キャッシュへのアクセスを共有する。より高レベルの、または、より離れたとは、増加した、または、1または複数の実行ユニットからさらに離れた、キャッシュレベルを指す。一実施形態では、より高レベルのキャッシュは、ラストレベルのデータキャッシュ、つまりプロセッサ1100のメモリ階層の最後のキャッシュであり、例えば第2または第3レベルデータキャッシュである。しかしながら、より高レベルのキャッシュとはそれらには限定されず、命令キャッシュと関連付けられてもよく、または、命令キャッシュを有してもよい。トレースキャッシュ、つまりは、命令キャッシュの1つのタイプが、代わりにデコーダ1125の後に結合されてよく、最近のデコードされたトレースを格納する。ここで、命令とは、潜在的には、マクロ命令(即ち、デコーダにより認識される一般的な命令)を指し、多数のマイクロ命令(マイクロオペレーション)へとデコードする。
図示された構成では、プロセッサ1100は、また、オンチップインタフェースモジュール1110を有する。歴史的には、メモリコントローラは、以下でより詳細に述べるが、プロセッサ1100の外部のコンピューティングシステムに含まれてきた。本シナリオでは、オンチップインタフェース1110は、プロセッサ1100の外部の複数のデバイス、例えば、システムメモリ1175、チップセット(しばしば、メモリ1175に接続するメモリコントローラハブ、および、周辺機器に接続するI/Oコントローラハブを有する)、メモリコントローラハブ、ノースブリッジ、または他の集積回路、と通信する。また、このシナリオでは、バス1105は任意の周知の相互接続を有してよく、例えば、マルチドロップバス、2地点間相互接続、シリアル相互接続、パラレルバス、コヒーレント(例えば、キャッシュコヒーレント)バス、層状プロトコルアーキテクチャ、差動バス、GTLバスである。
メモリ1175は、プロセッサ1100に専用化され、またはシステム中の他のデバイスと共有されてよい。メモリ1175のタイプについての一般的な例としては、DRAM、SRAM、不揮発性メモリ(NVメモリ)および、他の周知のストレージデバイスを含む。デバイス1180は、グラフィックアクセラレータ、メモリコントローラハブに結合されたプロセッサ若しくはカード、I/Oコントローラハブに結合されたデータストレージ、無線送受信器、フラッシュデバイス、オーディオコントローラ、ネットワークコントローラ、または他の周知のデバイスを含んでよい。
しかしながら、最近では、より多くの論理およびデバイスがSOC等の単一ダイ上に一体化されているように、これらのデバイスのそれぞれがプロセッサ1100に組み込まれてよい。例えば、一実施形態では、プロセッサ1100と共にメモリコントローラハブが、同じパッケージおよび/またはダイ上にある。ここで、コアの部分(オンコア部分)1110は、メモリ1175やグラフィックスデバイス1180等の他のデバイスへとインタフェースするために、1または複数のコントローラを有する。そのようなデバイスとインタフェースするための相互接続とコントローラとを備えた構成は、しばしば、オンコア(または、アンコア構成)とも称される。一例として、オンチップインタフェース1110は、オンチップ通信のためのリング相互接続と、オフチップ通信のための高速シリアル2地点間リンク1105とを有する。さらに、SOC環境では、ネットワークインタフェース、コプロセッサ、メモリ1175、グラフィックスプロセッサ1180、および他の任意の周知のコンピュータデバイス/インタフェース等の、より多くのデバイスが、単一ダイまたは集積回路に一体化されてよく、高機能で低電力消費な小さなフォームファクタを提供する。
一実施形態では、プロセッサ1100は、アプリケーションコード1176をコンパイルし、トランスレートし、および/または最適化するべく、コンパイラ、最適化、および/または変換器コード1177を実行することが可能であって、ここで記載される装置および方法をサポートし、または、それらとのインタフェースを行う。コンパイラは、しばしば、プログラムまたはプログラムのセットであり、ソースのテキスト/コードをターゲットのテキスト/コードへと変換する。通常、コンパイラによるプログラム/アプリケーションコードのコンパイルは多重フェーズで行われ、高レベルプログラミング言語コードを、低レベルの機械またはアセンブリ言語コードへと変換すべくパスする。けれども、今なお、簡単なコンパイルのために単一パスのコンパイラが使用されてよい。コンパイラは、任意の周知のコンパイル技術を使用してよく、また、任意の周知のコンパイラ動作を実行してよく、例えば、単語解析、前処理、構文解析、セマンティクス解析、コード生成、コード変換、およびコード最適化を含む。
より大きなコンパイラは、しばしば、多重フェーズを有するが、ほとんどの場合、これらの複数のフェーズは、2つの一般的なフェーズ内に含まれる:(1)フロントエンド、即ち、一般的には、統語的処理、セマンティクス処理、およびいくつかの変換/最適化が行われてよく、(2)バックエンド、即ち、一般的には、解析、複数の変換、複数の最適化、およびコード生成が行われる。いくつかのコンパイラは中間なものであり、コンパイラにおけるフロントエンドとバックエンドとの間の描写がぼやけたものを例示する。結果として、挿入への参照、関連づけ、生成、その他のコンパイラ動作は、任意の前述のフェーズまたはパスにおいてのみならず、コンパイラにおける他の任意の周知のフェーズまたはパスで行われてよい。例示的な事例として、コンパイラは、コンパイルの1または複数のフェーズで、動作、呼び出し、機能などを、例えばコンパイルのフロントエンドフェーズでの呼び出し/動作の挿入のように、潜在的に挿入し、その後、変換フェーズの間に、その呼び出し/動作の変換を、より低レベルのコードへと挿入する。動的コンパイルの間、コンパイラコードまたは動的最適化コードは、そのような操作/呼び出しを挿入するだけでなく、ランタイムの間の実行のためのコードを最適化してよい。特定の例示的な事例として、バイナリコード(既にコンパイルされたコード)が、ランタイムの間に動的に最適化されてよい。ここで、プログラムコードは、動的最適化コード、バイナリコード、またはそれらの組み合わせを有してよい。
コンパイラと類似して、バイナリ変換器等の変換器は、コードを静的または動的に最適化し、および/またはコードを変換する。故に、コード、アプリケーションコード、プログラムコード、その他のソフトウェア環境の実行を参照するとは:(1)プログラムコードをコンパイルし、ソフトウェア構造を維持し、複数の動作を実行し、コードを最適化し、またはコードを変換するために、1または複数のコンパイラプログラムの、最適化コード最適化器の、または変換器の、動的または静的な実行を参照すること、(2)最適化/コンパイルがなされたアプリケーションコード等の操作/呼び出しを有するメインプログラムコードの実行を参照すること、(3)ソフトウェア構造を維持し、オペレーションに関連する他のソフトウェアを実行し、またはコードを最適化するために、メインプログラムコードと関連する、ライブラリ等のその他のプログラムコードの実行を参照すること、または(4)これらの組み合わせを参照すること、であってよい。
図12を参照すると、マルチコアプロセッサの実施形態のブロック図が示される。図12の実施形態に示されるように、プロセッサ1200は、複数のドメインを有する。具体的には、コアドメイン1230は、複数のコア1230A−1230N、メディアエンジン1265を含む1または複数のグラフィクスエンジンを有するグラフィクスドメイン1260、およびシステムエージェントドメイン1210を備える。
様々な実施形態において、システムエージェントドメイン1210は、電力制御イベントおよび電力管理を処理し、その結果、ドメイン1230および1260における個々のユニット(例えば、複数のコアおよび/または複数のグラフィクスエンジン)が、独立して制御可能となり、所定ユニットで生じている活動(または非活動)を考慮して適切な電力モード/レベルで(例えば、アクティブ、ターボ、スリープ、ハイバーネイト、ディープスリープ、その他の進化的設定電力インタフェースに似た状態で)動的に動作する。ドメイン1230および1260のそれぞれは、異なる電圧および/または電力で動作してよく、さらには、複数のドメイン内の個々のユニットは、それぞれ潜在的に独立した周波数および電圧で動作してよい。3つのドメインが示されているが、本発明の範囲はこれには限定されず、他の実施形態においては追加のドメインが存在してよいことが理解されるべきである。
図示されるように、各コア1230は、さらに、様々な実行ユニットおよび追加の処理要素に加えて、複数の低レベルキャッシュを有する。ここで、様々なコアが、お互いに、かつラストレベルキャッシュ(LLC)1240A−1240Nにおける複数のユニットまたはスライスから形成される共有キャッシュメモリへと結合され、これらのLLCはしばしば、ストレージおよびキャッシュ制御機能を有し、これらの複数コアの間だけでなく、潜在的にはグラフィクスエンジンの間においても共有される。
見てわかるように、リング相互接続1250は、複数のコアを連結し、かつ、コアドメイン1230、グラフィクスドメイン1260およびシステムエージェント回路1210の間の相互接続を、それぞれがコアとLLCスライスとの間の連結を行っている複数のリングストップ1252A−1252Nを介して、提供する。図12に見られるように、相互接続1250は、アドレス情報、データ情報、肯定応答情報、スヌープ/無効情報を含む様々な情報を搬送するために用いられる。リング相互接続が図示されているが、任意の周知のオンダイ相互接続またはファブリックが使用されてよい。例示的な事例として、上述したようなファブリックのいくつか(別のオンダイ相互接続、オンチップシステムファブリック(OSF)、次世代マイクロコントローラバスアーキテクチャ(AMBA)相互接続、多次元メッシュファブリック、または他の周知の相互接続アーキテクチャなど)が、同様に用いられてよい。
さらに図示されるように、システムエージェントドメイン1210は、関連するディスプレイの制御、および、へのインタフェースを提供するディスプレイエンジン1212を含む。システムエージェントドメイン1210は、システムメモリに対するインタフェースを提供する内蔵型メモリコントローラ1220のような他のユニットを有してよい(例えば、マルチDIMMと共に実装されたDRAM、メモリコヒーレンス動作を実行するためのコヒーレンス論理1222)。マルチインタフェースは、プロセッサと他の回路との間の相互接続をさせるために存在してよい。例えば、一実施形態では、少なくとも1つのダイレクトメディアインタフェース(DMI)1216が、1または複数のPCIe(商標)インタフェース1214と同様に、提供される。ディスプレイエンジンおよびこれらの複数のインタフェースは、典型的には、PCIe(商標)ブリッジ1218を介してメモリに連結される。さらには、複数の追加のプロセッサや他の回路等の他のエージェント間での通信を提供するために、1または複数の他のインタフェースが設けられてよい。
図13を参照すると、代表的なコアのブロック図が、具体的には図12のコア1230のようなコアのバックエンドの複数の論理ブロックが、示される。概して、図13に示される構造はアウト・オブ・オーダプロセッサを有しており、このプロセッサは、入力命令をフェッチするために用いられるフロントエンドユニット1370を有し、様々な処理(キャッシュ、デコード、分岐、予測など)を実行し、複数の命令/動作をアウト・オブ・オーダ(OOO)エンジン1380へとパスする。OOOエンジン1380は、デコードされた命令でさらに処理を実行する。
具体的には、図13の実施形態では、アウト・オブ・オーダエンジン1380は、デコードされた命令を受信する割り当てユニット1382を有し、これらの命令は、フロントエンドユニット1370からの1または複数のマイクロ命令またはuopsの形態であってよく、複数のレジスタなどのような適切な複数のリソースへと割り当てる。次に、命令は、予約ステーション1384へ提供され、このステーションは、複数の実行ユニット1386A−1386Nの1つで実行するためにリソースをリザーブしスケジューリングする。様々なタイプの実行ユニットが存在してよく、例えば、とりわけ、複数の演算ロジックユニット(ALU)、複数の読み込みおよび書込みユニット、複数のベクトル処理ユニット(VPU)、浮動小数点実行ユニットを含む。これらの異なる実行ユニットからの結果はリオーダバッファ(ROB)1388へと提供され、リオーダバッファは、複数の順序付けられていない結果を取得し、それらを正しいプログラム順序へリターンする。
さらに図13を参照すると、フロントエンドユニット1370とアウト・オブ・オーダエンジン1380の両方がメモリ階層の異なるレベルに結合される。具体的には命令レベルキャッシュ1372が図示され、その次には中間レベルキャッシュ1376が結合され、その次にはラストレベルキャッシュ1395が結合される。一実施形態では、ラストレベルキャッシュ1395は、オンチップユニット1390(場合によってはアンコアとも称される)のかたちで実装される。一例として、ユニット1390は図12のシステムエージェント1210に類似する。上述したように、アンコア1390は、例示の実施形態では、ED RAMを介して実装されるシステムメモリ1399と通信する。また、アウト・オブ・オーダエンジン1380内の様々な実行ユニット1386が第1レベルキャッシュ1374と通信し、当キャッシュはまた中間レベルキャッシュ1376と通信することに留意されたい。また、追加のコア1330N−2〜1330NがLLC1395に連結されうることに留意されたい。図13の実施形態ではこのような高いレベルで示されたが、多様な変更および追加的な構成が存在してよいことを理解すべきである。
図14に移ると、命令を実行する複数の実行ユニットを含んだプロセッサを備えて形成された例示的なコンピュータシステムのブロック図が図示されており、そこでは相互接続のうちの1または複数が本発明の実施形態に従う1または複数の特徴を実装する。システム1400は、プロセッサ1402のようなコンポーネントを有しており、ここで記載される実施形態のような本発明に従って、論理を含んだ複数の実行ユニットを利用してデータ処理のためのアルゴリズムを実行する。システム1400は、PENTIUM(登録商標)III、PENTIUM(登録商標)4、Xeon(商標)、Itanium、Scale(商標)、および/またはStrongARM(商標)マイクロプロセッサに基づく代表的な処理システムであるが、(その他のマイクロプロセッサを有するPC、エンジニアリングワークステーション、セットトップボックス等を含む)その他のシステムが用いられてもよい。一実施形態では、サンプルシステム1400は、ワシントン、レドモンドのマイクロソフト社から利用可能なWINDOWS(登録商標)オペレーティングシステムのバージョンを実行するが、他のオペレーティングシステム(例えば、UNIX(登録商標)やリナックス(登録商標))、埋め込みソフトウェア、および/またはグラフィカルユーザインタフェースが、また、用いられてもよい。したがって、本発明の実施形態は、いかなる具体的なハードウェア回路およびソフトウェアの組み合わせにも限定されない。
実施形態は、コンピュータシステムには限定されない。本発明の代替的実施形態は、ハンドヘルドデバイスや埋め込みアプリケーションのような他のデバイスにおいて利用されうる。ハンドヘルドデバイスの例としては、携帯電話、インターネットプロトコルデバイス、デジタルカメラ、携帯情報端末(PDA)、およびハンドヘルドPCを含む。埋め込みアプリケーションとしては、マイクロコントローラ、デジタルシグナルプロセッサ(DSP)、システムオンチップ、ネットワークコンピュータ(NetPC),セットトップボックス、ネットワークハブ、ワイドエリアネットワーク(WAN)スイッチ、少なくとも1つの実施形態に従って1または複数の命令を実行可能なその他の任意のシステム、を含むことができる。
この図示された実施形態では、プロセッサ1402は、少なくとも1つの命令を実行するアルゴリズムを実装する1または複数の実行ユニット1408を有する。1つの実施形態が、単一プロセッサのデスクトップまたはサーバシステムのコンテクストで記載されてよいが、代替的実施形態は、マルチプロセッサシステムに含まれてもよい。システム1400は、「ハブ」システムアーキテクチャの一例である。コンピュータシステム1400は、データ信号を処理するプロセッサ1402を有する。1つの例示的な事例として、プロセッサ1402は、複合命令セットコンピュータ(CISC)マイクロプロセッサ、縮小命令セットコンピュータ(RISC)マイクロプロセッサ、超長命令語(VLIW)マイクロプロセッサ、命令セットの組み合わせを実装したプロセッサ、または、例えばデジタルシグナルプロセッサのような他の任意のプロセッサデバイス、を含む。プロセッサ1402は、プロセッサ1402とシステム1400中の他のコンポーネントとの間でデータ信号を送信するプロセッサバス1410に結合される。システム1400の要素(例えば、グラフィックスアクセラレータ1412、メモリコントローラハブ1416、メモリ1420、I/Oコントローラハブ1424、無線送受信器1426、フラッシュBIOS1428、]ネットワークコントローラ1434、オーディオコントローラ1436、シリアル拡張ポート1438、I/Oコントローラ1440など)は、当業者に周知の従来の機能を実行する。
一実施形態では、プロセッサ1402は、レベル1(L1)内部キャッシュメモリ1404を有する。アーキテクチャに応じて、プロセッサ1402は、単一の内部キャッシュまたはマルチレベル内部キャッシュを有してよい。他の実施形態は、特定の実装および必要に応じて、内部および外部キャッシュ両方の組み合わせを有する。レジスタファイル1406は、複数の異なるタイプのデータを、整数レジスタ、浮動小数点レジスタ、ベクトルレジスタ、バンクレジスタ、シャドウレジスタ、チェックポイントレジスタ、状態レジスタ、命令ポインタレジスタを含む様々なレジスタに格納する。
整数のおよび浮動小数点の動作を実行する論理を有する実行ユニット1408が、また、プロセッサ1402内に存在する。一実施形態では、プロセッサ1402は、マイクロコードを格納するためのマイクロコード(ucode)ROM を有し、実行されると、特定のマクロ命令のためのアルゴリズムを実行するか、または複雑なシナリオを処理する。ここで、マイクロコードは、プロセッサ1402のための論理バグ/解決策を処理すべく、潜在的にアップデート可能である。一実施形態に対して、実行ユニット1408は、パックド命令セット1409を処理するための論理を含む。汎用プロセッサ1402の命令セットに、パックド命令セット1409を、それらの命令を実行するための関連する回路と共に含ませることによって、多くのマルチメディアアプリケーションによって使用される複数の動作が、汎用プロセッサ1402でパックドデータを用いることで実行されてよい。このように、パックドデータで動作を実行するためにそのプロセッサのデータバスの全幅を用いることにより、多くのマルチメディアアプリケーションが、加速され、より効率的に実行される。このことは、1または複数の動作および1つのデータ要素を一度に実行すべく、プロセッサのデータバスにわたって、より小さい複数のデータユニットを伝達する必要性を、潜在的に排除する。
実行ユニット1408の代替的な実施形態が、マイクロコントローラ、組込みプロセッサ、グラフィックスデバイス、DSP、および他のタイプの論理回路で用いられてよい。システム1400は、メモリ1420を有する。メモリ1420は、ダイナミックランダムアクセスメモリ(DRAM)デバイス、スタティックランダムアクセスメモリ(SRAM)デバイス、フラッシュメモリデバイス、またはその他のメモリデバイスを含む。メモリ1420は、プロセッサ1402により実行されるべきデータ信号によって表される命令および/またはデータを、格納する。
任意の前述の特徴または本発明の態様が、図14に例示された1または複数の相互接続で使用されてよい。例えば、プロセッサ1402の内部ユニットの連結のための、不図示のオンダイ相互接続(ODI)が、上記の本発明の1または複数の態様を実装する。または、本発明はプロセッサバス1410(例えば、他に高性能コンピューティング相互接続として知られる)、メモリ1420への高帯域幅メモリパス1418、グラフィックスアクセラレータ1412への2地点間リンク(周辺構成要素相互接続(PCIe)準拠ファブリック)、コントローラハブ相互接続1422、I/O、または図示されたその他のコンポーネントを連結するためのその他の相互接続(例えば、USB、PCI、PCIe)に関連する。そのようなコンポーネントの例としては、オーディオコントローラ1436、ファームウェアハブ(フラッシュBIOS)1428、無線送受信器1426、データストレージ1424、ユーザ入力とキーボードインタフェース1442とを備えるレガシーI/Oコントローラ1410、ユニバーサルシリアルバス(USB)のようなシリアル拡張ポート1438、および、ネットワークコントローラ1434を含む。データストレージデバイス1424は、ハードディスクドライブ、フロッピディスクドライブ、CD−ROMデバイス、フラッシュメモリデバイス、または、その他の大容量ストレージデバイスを備えることができる。
ここで図15を参照すると、本発明の実施形態による第2のシステム1500のブロック図が示される。図15に示されるように、マルチプロセッサシステム1500は2地点間相互接続システムであって、第1のプロセッサ1570と、2地点間相互接続1550を介して結合される第2のプロセッサ1580とを備える。プロセッサ1570および1580のそれぞれは、あるプロセッサのいくつかのバージョンであってよい。一実施形態では、1552および1554は、高性能アーキテクチャのような、シリアル2地点間コヒーレント相互接続ファブリックの一部である。結果として、本発明は、QPIアーキテクチャ内に実装されてよい。
2つのプロセッサ1570、1580のみが図示されているが、本発明の範囲はこれには限定されないことが理解されるべきである。他の実施形態において、1または複数の追加のプロセッサが、所定のプロセッサに存在してよい。
集積メモリコントローラユニット1572および1582をそれぞれ含んだ、プロセッサ1570および1580が示される。プロセッサ1570は、また、バスコントローラユニットの一部として、2地点間(P−P)インタフェース1576、1578を有し、同様に、第2のプロセッサ1580は、P−Pインタフェース1586および1588を有する。プロセッサ1570、1580は、P−Pインタフェース回路1578、1588を用いて、2地点間(P−P)インタフェース1550を介して情報を交換してよい。図15に示されるように、IMC1572および1582は、プロセッサをそれぞれのメモリ、即ち、メモリ1532およびメモリ1534に連結し、これらは、各プロセッサへ局所的に帰属するメインメモリの複数の部分であってよい。
プロセッサ1570、1580は、それぞれ、2地点インタフェース回路1576、1594、1586、1598を用いて、個別のP−Pインタフェース1552、1554を介して、チップセット1590と情報を交換する。チップセット1590はまた、高性能グラフィックス相互接続1539に沿って、インタフェース回路1592を介して高性能グラフィックス回路1538と情報を交換する。
共有キャッシュ(不図示)を、いずれかのプロセッサに、または両方のプロセッサの外部に有してよく、さらには、プロセッサが低電力モードに置かれた場合に、いずれかのまたは両方のプロセッサのローカルキャッシュ情報が共有キャッシュに格納されうるように、P−P相互接続を介してこれらのプロセッサに接続されてもよい。
チップセット1590は、インタフェース1596を介して第1のバス1516に結合されてよい。一実施形態では、第1のバス1516は、ペリフェラルコンポーネントインターコネクト(PCI)バス、または、PCI Expressバスまたは別の第3世代I/O相互接続バスのようなバスであってよいが、本発明の範囲は、これらには限定されない。
図15に示されるように、多様なI/Oデバイス1514が、第1のバス1516に、バスブリッジ1518とともに結合され、このブリッジは、第1のバス1516を第2のバス1520へと連結する。一実施形態では、第2のバス1520は、LowPinCount(LPC)バスを有する。様々なデバイスが第2のバス1520に結合され、例えば、キーボードおよび/またはマウス1522、通信デバイス1527、ディスクドライブやその他の大容量ストレージデバイスのようなストレージユニット1528を有し、これらは一実施形態では、しばしば命令/コードおよびデータ1530を含む。さらに、オーディオI/O1524は、第2のバス1520に結合して、示される。その他の複数のアーキテクチャが可能であり、そこでは、含まれる複数のコンポーネントおよび複数の相互接続アーキテクチャが変更されてよい。例えば、図1の2地点間アーキテクチャの代わりに、システムは、マルチドロップバスやその他のアーキテクチャを実装してよい。
次に図16に移ると、本発明によるシステムオンチップ(SOC)設計が図示される。具体的な例示的な事例として、SOC1600が、ユーザ機器(UE)に含まれる。一実施形態では、UEとは、携帯電話、スマートフォン、タブレット、超薄型ノートブック、ブロードバンドアダプタ付ノートブック、または、その他の類似の通信デバイスのような、通信目的でエンドユーザにより使用される他の任意のデバイスを指す。UEはしばしば基地局またはノードへと接続し、これらは潜在的に、事実上、GSM(登録商標)ネットワークの移動局(MS)に対応する。
ここで、SOC1600は、2つのコア、1606と1607とを備える。上記の議論と同様に、コア1606および1607は、命令セットアーキテクチャに適合してよく、例えば、インテル(登録商標)アーキテクチャコア(商標)ベースのプロセッサ、アドバンスト・マイクロ・デバイセズ社(AMD)プロセッサ、MIPSベースのプロセッサ、ARMベースのプロセッサ設計、またはそれらの顧客に加えて、それらのライセンシーや利用者のプロセッサなどである。コア1606および1607は、キャッシュ制御1608に結合され、この制御部は、システム1600の他の部分と通信するバスインタフェースユニット1609およびL2キャッシュ1611に関連する。相互接続1610は、IOSF、AMBA、上述した他の相互接続等のオンチップ相互接続を有し、ここで述べた1または複数の態様を潜在的に実装する。
相互接続1610は、他の複数のコンポーネントへの複数の通信チャネルを提供し、たとえば、SIMカードとインタフェースする加入者アイデンティティモジュール(SIM)1630、SOC1600を初期化しブートすべくコア1606、1607によって実行するための起動コードを保持するブートROM1635、外部メモリ(DRAM1660等)とインタフェースするSDRAMコントローラ1640、不揮発性メモリ(フラッシュ1665等)とインタフェースするフラッシュコントローラ1645、周辺機器とインタフェースする周辺機器制御1650(シリアル周辺機器インタフェース等)、入力を表示し受信する(例えば、タッチが入力を可能とする)映像コーディック1620およびビデオインタフェース1625、グラフィックスに関連する計算を実行するGPU1615、等である。これらの任意のインタフェースが、ここで述べられた本発明の態様を組み込んでよい。
追加的に、本システムでは、ブルートゥースモジュール1670、3Gモデム1675、GPS1685、WiFi1685のような通信のための周辺機器を例示する。先に述べられたように、UEは通信用に無線を有する。結果として、これらの周辺機器通信モジュールは、全てが必要というわけでは無い。しかしながら、あるUEの形態では、外部通信用の無線が備えられてもよい。
本発明が限られた個数の実施形態に関して説明されたが、当業者であれば、それらからの様々な変更およびバリエーションを理解できよう。添付の請求項は、本発明の真の精神および範囲内において、そのような変更およびバリエーションの全てをカバーすることを意図している。
設計は、様々なステージ、創作から製作へのシミュレーションまでを、経てよい。ある設計を表すデータは、多数のやり方で、その設計を表現してよい。第1に、シミュレーションにおいて有用であるように、ハードウェア記述言語または別の機能記述言語を用いて、ハードウェアが表されてよい。追加的に、論理および/または複数のトランジスタゲートを有する1つの回路レベルモデルが、その設計処理のいくつかのステージで生成されてよい。さらに、あるステージでは、大部分の設計が、ハードウェアモデルで様々なデバイスの物理的配置を表すデータのレベルに達する。従来の半導体製造技術が使用される場合、ハードウェアモデルを表すデータとは、集積回路の生産に用いられるマスクのための異なる複数のマスク層に、様々な特徴が存在するか存在しないかを特定するデータであってよい。設計の任意の表現において、データは、機械可読媒体に任意の形態で格納されてよい。メモリ、または、ディスク等の磁気若しくは光ストレージが、この機械可読媒体であってよく、変調された光または電気の波を介して送信される情報を、または、そうした情報を送信するために生成された情報を、格納する。コードまたは設計を、示しまたは搬送する電気的な搬送波が送信されるとき、その電気信号のコピー、バッファ処理、再送信が実行される範囲において、新たなコピーが作られる。したがって、通信プロバイダまたはネットワークプロバイダは、例えば搬送波へエンコードされた情報のような、本発明の複数の実施形態における複数の技術を具体化した物品を、有形の機械可読媒体に少なくとも一時的に格納してよい。
本明細書中で用いられるモジュールとは、ハードウェア、ソフトウェア、および/またはファームウェアの任意の組み合わせを指す。一例として、モジュールは、マイクロコントローラのようなハードウェアを含み、そのマイクロコントローラによって実行されるように適合されたコードを格納する非一時的媒体に関連する。従って、一実施形態では、モジュールを参照するとはハードウェアを参照することであり、このハードウェアは、非一時的媒体に保持されるべきコードを認識および/または実行するように具体的に構成されている。さらに別の実施形態では、モジュールの使用とは、コードを含む非一時的媒体を参照することを指し、このコードは、予め定められた動作を実行すべく、マイクロコントローラによって実行されるように具体的に適合されている。さらに別の実施形態では、推測が可能であるように、モジュールという用語(この例では)が、マイクロコントローラおよび非一時的媒体の組み合わせを指してよい。一般には別個に図示されるモジュールの境界線は、しばしば変化し、潜在的には重なり合う。例えば、第1および第2のモジュールは、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせを共有しつつ、その一方で、潜在的には、いくらかの独立したハードウェア、ソフトウェアまたはファームウェアを保持してよい。一実施形態では、論理という用語の使用には、トランジスタやレジスタのようなハードウェア、または、プログラム式論理デバイスのような他のハードウェアを含む。
一実施形態では、"ように構成される"という用語は、指定されたまたは決定されたタスクを実行すべく、装置、ハードウェア、ロジックまたは要素を、配置する、組み立る、製造する、販売の申出をする、輸入する、および/または、設計することを指す。この例においては、動作していないそれらの装置や要素であっても、その指定されたタスクを実行するべく設計され、結合され、および/または相互接続されている場合には、依然として、指定されたタスクを実行する"ように構成され"ている。純粋に説明用の例として、論理ゲートは、動作の間は、0または1を提供してよい。しかし、イネーブル信号をクロックへ提供する"ように構成される"論理ゲートとは、必ずしも、1または0を提供しうる全ての潜在的な論理ゲートを含むわけではない。代わりに、この論理ゲートとは、動作の間に1または0の出力がクロックを有効にするように論理ゲートが結合されているような論理ゲートである。再度述べるが、"ように構成される"という用語の使用は必ずしも動作を必要とはせず、その代わりに、装置、ハードウェアおよび/または要素の隠れた状態に焦点を当てたものであって、その隠れた状態において、装置、ハードウェアおよび/または要素は、装置、ハードウェアおよび/または要素が動作しているときに特定のタスクを実行するように設計されている。
さらに、"すべく"、"することができる"、"動作可能"という用語の使用は、一実施形態では、特定されたやり方でその装置、論理、ハードウェア、および/または要素を使用させるべく、装置、論理、ハードウェア、および/または要素が設計されていることを指す。上記したように、すべく、することができる、動作可能の使用は、装置、論理、ハードウェアおよび/または要素の隠れた状態を指し、この場合、その装置、論理、ハードウェアおよび/または要素は、動作をしているのではなく、特定されたやり方で装置の使用がなされるように設計がされている。
本明細書中で用いられるように、値には、数、状態、論理状態、またはバイナリ論理状態についての任意の既知の表現を含んでよい。しばしば、論理レベル、ロジック値または論理値の使用は、1または0のレベルや値として称され、これらは単純にバイナリ論理状態を表す。例えば、1は高論理レベルを、0は低論理レベルを指す。一実施形態では、トランジスタまたはフラッシュセルのようなストレージセルは、単一の論理値または多重の論理値を保持することが可能であってよい。しかしながら、コンピュータシステムでは、他の値に関する表現が用いられてきた。例えば、10進数の10は、バイナリ値1010として、16進数では文字Aとして、表されてよい。従って、値とは、コンピュータシステムにおいて保持することが可能な情報についての任意の表現を含む。
さらに、複数の状態が、複数の値または複数の値の複数の部分で表されてよい。一例として、論理1のような第1の値が、デフォルトまたは初期の状態を表してよく、これに対して、論理ゼロのような第2の値が、非デフォルト状態を表してよい。さらには一実施形態では、リセットおよび設定という用語は、デフォルトおよび更新された値または状態を、それぞれ指す。例えば、デフォルト値は潜在的に高論理値、即ち、リセットを含み、これに対して更新値は潜在的に低論理値、即ち、設定を含む。値の任意の組み合わせが、任意の状態の数を表すために使用されてよい。
先に説明した方法、ハードウェア、ソフトウェア、ファームウェアまたはコードセットについての複数の実施形態が、機械アクセス可能な、機械可読な、コンピュータアクセス可能な、または、コンピュータ可読媒体であって、かつ処理要素によって実行可能な媒体に格納された命令またはコードによって、実装されうる。非一時的機械アクセス可能/可読媒体は、コンピュータや電子システム等の機械によって読み取り可能な形態で情報を提供する(即ち、格納および/または送信する)任意のメカニズムを有する。例えば、非一時的機械アクセス可能媒体は、スタティックRAM(SRAM)やダイナミックRAM(DRAM)等のランダムアクセスメモリ(RAM)、ROM、磁気または光ストレージ媒体、フラッシュメモリデバイス、電気ストレージデバイス、光ストレージデバイス、音響ストレージデバイス、一時的な(伝播された)信号(搬送波、赤外線信号、デジタル信号など)から受信した情報を保持するストレージデバイスにおけるその他の形態、などを有し、これらの一時的な信号は、情報をそれ自身から受信できる非一時的媒体とは区別される。
本発明の実施形態を実行するための論理をプログラムするために用いられる命令は、DRAM、キャッシュ、フラッシュメモリ、その他のストレージのような、システムのメモリ内に格納されてよい。さらに、こうした命令は、ネットワークを介して、または、他のコンピュータ可読媒体を用いて、配信されうる。このように、機械可読媒体は、機械(例えば、コンピュータ)に可読な形で情報を格納しまたは送信するための任意のメカニズムを有してよく、これらに限定されるわけではないが、フロッピー(登録商標)ディスケット、光ディスク、コンパクトディスク、リードオンリメモリ(CD−ROM)、光磁気ディスク、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、消去可能プログラマブルリードオンリメモリ(EPROM)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、磁気または光カード、フラッシュメモリ、または、電気、光、音響、その他の形式の伝搬信号(搬送波、赤外線信号、デジタル信号等)でインタネットを通じて情報を送信するために用いられる有形の機械可読ストレージ、である。従って、コンピュータ可読媒体には、機械(例えばコンピュータ)によって可読な形式で電子命令や情報を格納または送信するのに適した任意のタイプの有形の機械可読媒体が含まれる。
以下の例は、本明細書による実施形態に関連する。1または複数の実施形態は、一連の複数のトレーニングシーケンスを生成するための、装置、システム、機械可読ストレージ、機械可読媒体および方法を提供してよく、各トレーニングシーケンスはトレーニングシーケンスヘッダをそれぞれ有し、トレーニングシーケンスヘッダは、一連の複数のトレーニングシーケンスにわたってDCバランスがなされる。
少なくとも1つの例では、一連の複数のトレーニングシーケンスは、1つのスーパーシーケンスに含まれる。
少なくとも1つの例では、スーパーシーケンスは、EOS(electrical ordered set)を有する反復シーケンスを備え、その後には複数のトレーニングシーケンスが続く。
少なくとも1つの例では、スーパーシーケンスは複数のスーパーシーケンス型のうちの特定の1つであり、各スーパーシーケンス型はシリアルデータリンクの1または複数の状態にそれぞれ対応する。
少なくとも1つの例では、これらの複数のスーパーシーケンス型は、検出状態に対応する検出スーパーシーケンスと、ループバック状態、コンフィギュレーション状態およびポーリング状態を有する一連の複数の状態に対応する第2スーパーシーケンスと、部分幅送信状態からの終了に対応する部分幅終了スーパーシーケンスと、を有する。
少なくとも1つの例において、検出スーパーシーケンスの反復シーケンスは、EIEOS(electric idle exit ordered set)を有するEOSを備え、その後には7つの連続するトレーニングシーケンスの例が続き、このシーケンスは1000単位インターバル毎に略1回繰り返される。
少なくとも1つの例において、第2スーパーシーケンスの反復シーケンスは、EIEOSを有するEOSを備え、その後には31の連続するトレーニングシーケンスの例が続き、このシーケンスは4000単位インターバル毎に略1回繰り返される。
少なくとも1つの例において、部分幅終了スーパーシーケンスの反復シーケンスは、EIEOSを有するEOSを備え、その後には7つの連続する高速トレーニングシーケンスの例が続き、このシーケンスは1000単位インターバル毎に略1回繰り返される。
少なくとも1つの例において、トレーニングシーケンスのそれぞれはトレーニングシーケンスペイロードを有し、トレーニングシーケンスペイロードはスクランブル処理され、トレーニングシーケンスヘッダは、アンスクランブル処理される。
少なくとも1つの例において、EOSはアンスクランブル処理される。
少なくとも1つの例において、トレーニングシーケンスペイロードは、擬似ランダムバイナリシーケンス(PRBS)を用いてスクランブル処理される。
少なくとも1つの例において、ヘッダは、ACK/NAKフィールドおよびトレーニングシーケンス型フィールドを有する。
少なくとも1つの例において、トレーニングシーケンス型フィールドは、シリアルデータリンクの各状態に対応するトレーニングシーケンス型を特定するために、エンコードされる。
1または複数の実施形態は、一連の複数のトレーニングシーケンスを受信するための装置、システム、機械可読ストレージ、機械可読媒体および方法を提供してよく、各トレーニングシーケンスはトレーニングシーケンスヘッダをそれぞれ有し、トレーニングシーケンスヘッダは、一連の複数のトレーニングシーケンスにわたってDCバランスがなされ、物理層論理はさらに一連の複数のトレーニングシーケンスヘッダのうちの1または複数のトレーニングシーケンスヘッダの複数の境界を検出する。
少なくとも1つの例において、一連の複数のトレーニングシーケンスは、スーパーシーケンスの一部として受信され、スーパーシーケンスはEIEOSを有する反復シーケンスを備え、その後には複数のトレーニングシーケンスが続く。
スーパーシーケンスに基づいてデータリンクの状態を決定する。
少なくとも1つの例において、状態は、少なくとも部分的に、シーケンスがスーパーシーケンスで繰り返される周波数から決定される。
少なくとも1つの例において、状態は、少なくとも部分的に、複数のトレーニングシーケンスの個数から決定される。
状態は、少なくとも部分的に、トレーニングシーケンスヘッダ情報から決定される。
1または複数の実施形態は、複数のレーンのそれぞれにおいてそれぞれのスーパーシーケンスを受信するための装置、システム、機械可読ストレージ、機械可読媒体および方法を提供してよく、スーパーシーケンスはEOSを有し、その後には複数のトレーニングシーケンスが続き、スーパーシーケンスに基づいて、複数のレーンのうちの少なくとも第1のレーンおよび第2のレーンの間の、レーン間スキューを検出する。
少なくとも1つの例において、各トレーニングシーケンスがトレーニングシーケンスヘッダを有する。
少なくとも1つの例において、スキューは、トレーニングシーケンスヘッダの端部に少なくとも部分的に基づいて検出される。
少なくとも1つの例において、スキューは、端部が第1のレーンよりも遅れて第2のレーンに到達するという識別に基づいて検出される。
少なくとも1つの例において、トレーニングシーケンスヘッダはアンスクランブル処理されて送信され、トレーニングシーケンスの残りはスクランブル処理される。
少なくとも1つの例において、トレーニングシーケンスの少なくともペイロードがスクランブル処理される。
少なくとも1つの例において、ペイロードは、23ビットのシードを有する23ビットの擬似ランダムバイナリシーケンス(PRBS)を用いてスクランブル処理される。
少なくとも1つの例において、PRBSのシードは、スーパーシーケンスから検出されうる。
少なくとも1つの例において、レーン間スキューが修正されうる。
1または複数の実施形態は、装置、システム、機械可読ストレージ、機械可読媒体および方法を提供してよく、これらは、2またはそれ以上連続したシーケンスの例を備えるスーパーシーケンスを生成し、このシーケンスは一連の複数のトレーニングシーケンスが後に続くEOSを有し、各トレーニングシーケンスの少なくとも一部は、それぞれのスクランブル値によってスクランブル処理される。
少なくとも1つの例では、PRBSのシードは、スクランブル処理同期フィールドから識別可能である。
少なくとも1つの例では、そのシードは、スクランブル処理で使用されるPRBSにおける特定部分を示す。
少なくとも1つの例において、スクランブル処理同期フィールドは、3バイトのペイロードを備える。
少なくとも1つの例において、PRBSの全体が、スクランブル処理で用いられる。
少なくとも1つの例において、PRBSの全体未満が、スクランブル処理で用いられる。
1または複数の実施形態は、第1のデバイスおよび第2のデバイスを接続するリンクのレーンの適応のためのサンプル信号を受信するための装置、システム、機械可読ストレージ、機械可読媒体および方法を提供してよく、信号は、スーパーシーケンスと疑似ランダムシーケンスによってスクランブル処理されるべきスーパーシーケンスの少なくとも一部とを備え、サンプル信号に基づいて少なくとも1つの適応タスクを実行する。
請求項68の装置においてスーパーシーケンスは、EOSを有し、その後には複数の連続するトレーニングシーケンスが続く。
少なくとも1つの例において、少なくとも1つの適応タスクは、サンプル信号からレーンの品質を決定することを含む。
少なくとも1つの例において、少なくとも1つの適応タスクは、さらに、レーンの品質を決定することに基づいてサンプル信号の送信機へフィードバックを提供することを含む。
少なくとも1つの例において、少なくとも1つの適応タスクは、さらに、レーンの品質を決定することに基づいてレーンの複数の特性を修正することを含む。
1または複数の実施形態は、初期状態で複数のスーパーシーケンスを生成するための装置、システム、機械可読ストレージ、機械可読媒体および方法を提供してよく、各スーパーシーケンスはEOSを有するシーケンスを備え、その後には一連の複数のトレーニングシーケンスが続き、各トレーニングシーケンスはサフィックスを有し、初期状態から送信リンク状態への遷移を示すデータシーケンスの開始(SDS)を送信する。
少なくとも1つの例では、サフィックスは、擬似乱数値により、SDSのエイリアスを防止する。
少なくとも1つの例では、SDSの値は、擬似乱数値には含まれない。
少なくとも1つの例では、擬似乱数値は、線形フィードバックシフトレジスタ(LFSR)によって生成される擬似ランダムバイナリシーケンス(PRBS)を有する。
少なくとも1つの例では、EIEOSは、低周波数クロック信号をエミュレートし、SDSは、低周波数クロック信号よりも高い周波数のクロック信号をエミュレートする。
少なくとも1つの例では、SDSは、スーパーシーケンスに割り込むために送信される。
少なくとも1つの例では、SDSは、複数のトレーニングシーケンスのうちの特定の1つの中に送信される。
少なくとも1つの例では、SDSは、EOSの特定の例の中に送信される。
少なくとも1つの例では、SDSは、決定論的な配列制御信号に基づいて送信される。
1または複数の実施形態は、初期状態で複数のスーパーシーケンスを受信するための装置、システム、機械可読ストレージ、機械可読媒体および方法を提供してよく、各スーパーシーケンスはEOSを有するシーケンスを備え、その後には一連の複数のトレーニングシーケンスが続き、各トレーニングシーケンスはサフィックスを有し、初期状態から送信リンク状態への遷移を示すデータシーケンスの開始(SDS)を受信する。
少なくとも1つの例では、SDSは、決定論的な配列制御信号に基づいて送信される。
1または複数の例は、さらに、リンクに結合されるように構成される物理層(PHY)を提供することができ、このリンクは第1の個数のレーンを有し、PHYは23ビットの擬似乱数ビットシーケンス(PRBS)を生成するためのセルフシードなストレージ要素を有し、PHYは、23ビットのPRBSに基づいて、スクランブル処理されたトレーニングシーケンスを送信する。
本明細書で"一実施形態"または"実施形態"と言及した場合それは、その実施形態に関連して記載された特定の特徴、構造、または特性が、本発明の少なくとも1つの実施形態に含まれることを意味する。従って、本明細書を通じて様々な箇所の"一実施形態で"または"実施形態で"という用語は、その同じ実施形態の全てを必ずしも意味しない。さらには、複数の特定の特徴、構造または特性が、1または複数の実施形態において、任意の適切なやり方で、適切に組み合されてよい。
上述の明細書では、詳細な説明が、特定の例示的な複数の実施形態を参照しつつ行われた。しかしながら、添付の請求項で説明された本発明についてのより広い精神および範囲から逸脱することなく、多様な修正および変更をそれらに行ってよいことは明白であろう。従って、明細書および図面は、限定を意図したものではなく、例示的な意図とみなされる。さらに、上述のように実施形態やその他の例示的な用語を使用したことは、同じ実施形態または同じ例を必ずしも参照せず、異なり区別される実施形態を参照してもよいが、潜在的には同じ実施形態を参照してもよい。
本実施形態の例を下記の各項目として示す。
[項目1]
物理層論理、リンク層論理およびプロトコル層論理を有する層状スタックを備え、
前記物理層論理は一連の複数のトレーニングシーケンスを生成し、
各トレーニングシーケンスはトレーニングシーケンスヘッダをそれぞれ有し、
前記トレーニングシーケンスヘッダは、前記一連の複数のトレーニングシーケンスにわたってDCバランスがなされる、装置。
[項目2]
前記一連の複数のトレーニングシーケンスは、スーパーシーケンスに含まれる、項目1に記載の装置。
[項目3]
前記スーパーシーケンスは、EOS(electrical ordered set)を有する反復シーケンスを備え、その後には複数のトレーニングシーケンスが続く、項目2に記載の装置。
[項目4]
前記スーパーシーケンスは複数のスーパーシーケンス型のうちの特定の1つであり、各スーパーシーケンス型はシリアルデータリンクの1または複数の状態にそれぞれ対応する、項目3に記載の装置。
[項目5]
前記複数のスーパーシーケンス型が、
検出状態に対応する検出スーパーシーケンスと、
ループバック状態、コンフィギュレーション状態およびポーリング状態を有する一連の複数の状態の1つに対応する第2スーパーシーケンスと、
部分幅送信状態からの終了に対応する部分幅終了スーパーシーケンスと、
を有する、項目4に記載の装置。
[項目6]
前記検出スーパーシーケンスの前記反復シーケンスは、EIEOS(electric idle exit ordered set)を有するEOSを備え、その後には7つの連続するトレーニングシーケンスのインスタンスが続き、
前記シーケンスは1000単位インターバル毎に略1回繰り返される、項目5に記載の装置。
[項目7]
前記第2スーパーシーケンスの前記反復シーケンスは、EIEOSを有するEOSを備え、その後には31の連続するトレーニングシーケンスのインスタンスが続き、
前記シーケンスは4000単位インターバル毎に略1回繰り返される、項目5に記載の装置。
[項目8]
前記部分幅終了スーパーシーケンスの前記反復シーケンスは、EIEOSを有するEOSを備え、その後には7つの連続する高速トレーニングシーケンスのインスタンスが続き、
前記シーケンスは1000単位インターバル毎に略1回繰り返される、項目5に記載の装置。
[項目9]
前記トレーニングシーケンスのそれぞれはトレーニングシーケンスペイロードを有し、
前記トレーニングシーケンスペイロードはスクランブル処理され、
前記トレーニングシーケンスヘッダは、スクランブル処理されない、項目3に記載の装置。
[項目10]
前記EOSはスクランブル処理されない、項目9に記載の装置。
[項目11]
前記トレーニングシーケンスペイロードは、擬似ランダムバイナリシーケンス(PRBS)を用いてスクランブル処理される、項目9に記載の装置。
[項目12]
前記ヘッダは、ACK/NAKフィールドおよびトレーニングシーケンス型フィールドを有する、項目1に記載の装置。
[項目13]
前記トレーニングシーケンス型フィールドは、シリアルデータリンクの各状態に対応するトレーニングシーケンス型を特定するために符号化される、項目12に記載の装置。
[項目14]
物理層論理、リンク層論理およびプロトコル層論理を有する層状スタックを備え、
前記物理層論理は一連の複数のトレーニングシーケンスを受信し、各トレーニングシーケンスはトレーニングシーケンスヘッダをそれぞれ有し、前記トレーニングシーケンスヘッダは、前記一連の複数のトレーニングシーケンスにわたってDCバランスがなされ、
前記物理層論理はさらに前記一連の複数のトレーニングシーケンスヘッダのうちの1または複数のトレーニングシーケンスヘッダの複数の境界を検出する、装置。
[項目15]
前記一連の複数のトレーニングシーケンスは、スーパーシーケンスの一部として受信され、
前記スーパーシーケンスは、EIEOSを有する反復シーケンスを備え、その後には複数の前記トレーニングシーケンスが続く、項目14に記載の装置。
[項目16]
前記物理層論理は、前記スーパーシーケンスに基づいてデータリンクの状態を決定する、項目15に記載の装置。
[項目17]
前記状態は、少なくとも部分的に、前記シーケンスが前記スーパーシーケンスで繰り返される頻度から決定される、項目16に記載の装置。
[項目18]
前記状態は、少なくとも部分的に、前記複数のトレーニングシーケンスの個数から決定される、項目16に記載の装置。
[項目19]
前記状態は、少なくとも部分的に、トレーニングシーケンスヘッダフィールド情報から決定される、項目16に記載の装置。
[項目20]
前記EIEOSおよび複数のトレーニングシーケンスヘッダはスクランブル処理されず、
複数のトレーニングシーケンスペイロードはスクランブルされる、項目15に記載の装置。
[項目21]
複数のトレーニングシーケンスペイロードは、擬似ランダムバイナリシーケンス(PRBS)を用いてスクランブル処理される、項目16に記載の装置。
[項目22]
前記ヘッダは、ACK/NAKフィールドおよびトレーニングシーケンス型フィールドを有する、項目14に記載の装置。
[項目23]
シリアルデータリンクのためのステートマシンの複数の状態に含まれる特定の状態に入ろうと試みる段階と、
前記状態を示すために、前記データリンク上で別のデバイスへスーパーシーケンスを送信する段階と、
を備え、
前記スーパーシーケンスは、EIEOSから始まる反復シーケンスを有し、その後には予め定められた個数のトレーニングシーケンスが続き、
前記複数のトレーニングシーケンスのそれぞれが、DCバランスされたヘッダを有する、方法。
[項目24]
前記スーパーシーケンスの少なくとも一部をスクランブル処理する段階をさらに備える、項目23に記載の方法。
[項目25]
擬似ランダムバイナリシーケンス(PRBS)が、前記スーパーシーケンスの前記一部をスクランブル処理するために用いられる、項目24に記載の方法。
[項目26]
前記複数のトレーニングシーケンスヘッダおよびEIEOSは、スクランブル処理されずに送信される、項目25に記載の方法。
[項目27]
前記スーパーシーケンスの前記一部が、前記複数のトレーニングシーケンスにおける複数のペイロードを有する、項目26に記載の方法。
[項目28]
第1のデバイス、および
シリアルデータリンクを用いて、前記第1のデバイスと通信可能に結合された第2のデバイス、
を備え、
前記第2のデバイスは、少なくとも1つのプロセッサにより実行される物理層モジュールを有し、
前記データリンクのためのステートマシンの複数の状態に含まれる特定の状態に入ろうと試み、
前記状態を示すために、前記データリンク上で前記第1のデバイスへスーパーシーケンスを送信し、
前記スーパーシーケンスは、EIEOSから始まる反復シーケンスを有し、その後には予め定められた個数のトレーニングシーケンスが続き、
前記複数のトレーニングシーケンスのそれぞれが、DCバランスされたヘッダを有する、システム。
[項目29]
前記第1のデバイスは、マイクロプロセッサを有する、項目28に記載のシステム。
[項目30]
前記第2のデバイスは、第2のマイクロプロセッサを有する、項目29に記載のシステム。
[項目31]
前記第2のデバイスは、グラフィックスアクセラレータを有する、項目29に記載のシステム。
[項目32]
前記第1のデバイスは、
前記スーパーシーケンスを検証し、前記スーパーシーケンスに少なくとも部分的に基づいて前記状態を特定する、物理層モジュールを有する、項目28に記載のシステム。
[項目33]
前記第1のデバイスの前記物理層モジュールはさらに、前記スーパーシーケンスにおける、スクランブル処理された複数の部分をデスクランブル処理する、項目32に記載のシステム。
[項目34]
物理層論理、リンク層論理およびプロトコル層論理を有する層状スタックを備え、
前記物理層論理は、
複数のレーンのそれぞれにおいてそれぞれのスーパーシーケンスを受信し、前記スーパーシーケンスはEOSを有し、その後には複数のトレーニングシーケンスが続き、
前記スーパーシーケンスに基づいて、前記複数のレーンのうちの少なくとも第1のレーンおよび第2のレーンの間の、レーン間スキューを検出する、装置。
[項目35]
各トレーニングシーケンスがトレーニングシーケンスヘッダを有する、項目34に記載の装置。
[項目36]
前記スキューは、前記トレーニングシーケンスヘッダの端部に少なくとも部分的に基づいて検出される、項目35に記載の装置。
[項目37]
前記スキューは、前記端部が前記第1のレーンよりも遅れて前記第2のレーンに到達するという識別に基づいて検出される、項目36に記載の装置。
[項目38]
前記トレーニングシーケンスヘッダはスクランブル処理されずに送信され、前記トレーニングシーケンスの残りはスクランブル処理される、項目36に記載の装置。
[項目39]
前記トレーニングシーケンスの少なくともペイロードがスクランブル処理される、項目34に記載の装置。
[項目40]
前記ペイロードは、23ビットのシードを有する23ビットの擬似ランダムバイナリシーケンス(PRBS)を用いてスクランブル処理される、項目39に記載の装置。
[項目41]
物理層論理は、さらに、前記PRBSの前記シードを特定する、項目40に記載の装置。
[項目42]
前記スキューは、少なくとも部分的に、前記PRBSのスクランブル処理から検出される、項目40に記載の装置。
[項目43]
前記PRBSは、前記スーパーシーケンスから検出される、項目42に記載の装置。
[項目44]
前記物理層論理は、さらに、前記レーン間スキューを修正する、項目34に記載の装置。
[項目45]
物理層論理、リンク層論理およびプロトコル層論理を有する層状スタックを備え、
前記物理層論理は、
2またはそれ以上の連続したシーケンスのインスタンスを備えるスーパーシーケンスを生成し、前記シーケンスは一連の複数のトレーニングシーケンスが後に続くEOSを有し、
各トレーニングシーケンスの少なくとも一部は、それぞれのスクランブル値によってスクランブル処理される、装置。
[項目46]
前記EOSは、EIEOSを有する、項目45に記載の装置。
[項目47]
前記スクランブル値は、擬似乱数値を有する、項目45に記載の装置。
[項目48]
前記擬似乱数値は、線形フィードバックシフトレジスタ(LFSR)によって生成される擬似ランダムバイナリシーケンス(PRBS)を有する、項目47に記載の装置。
[項目49]
前記LFSRは、フィボナッチLFSRを有する、項目48に記載の装置。
[項目50]
前記トレーニングシーケンスは、ヘッダおよびペイロードを有し、
前記ペイロードは前記スクランブル処理された部分に含まれ、前記ヘッダはスクランブル処理されないままとされる、項目48に記載の装置。
[項目51]
前記ペイロードは、スクランブル処理同期フィールドを有する、項目50に記載の装置。
[項目52]
前記PRBSのシードは、前記スクランブル処理同期フィールドから識別可能である、項目51に記載の装置。
[項目53]
前記シードは、前記スクランブル処理で使用される前記PRBSの特定部分を示す、項目52に記載の装置。
[項目54]
前記スクランブル処理同期フィールドは、3バイトの前記ペイロードを備える、項目51に記載の装置。
[項目55]
前記PRBSの全体が、前記スクランブル処理で用いられる、項目48に記載の装置。
[項目56]
前記PRBSの全体未満が、前記スクランブル処理で用いられる、項目48に記載の装置。
[項目57]
前記スーパーシーケンスは、試験コンテクストで生成される、項目56に記載の装置。
[項目58]
前記EOSは、スクランブル処理されないままとされる、項目45に記載の装置。
[項目59]
トレーニングシーケンスのそれぞれが、それぞれトレーニングシーケンスヘッダを有し、前記トレーニングシーケンスヘッダは、スクランブル処理されず、かつ、DCバランスされる、項目45に記載の装置。
[項目60]
物理層論理、リンク層論理およびプロトコル層論理を有する層状スタックを備え、
前記物理層論理は、
2またはそれ以上の連続したシーケンスのインスタンスを備えるスーパーシーケンスを受信し、前記シーケンスは一連の複数のトレーニングシーケンスが後に続くEOSを有し、
各トレーニングシーケンスの少なくとも一部がスクランブル処理され、
前記スクランブル処理で使用される擬似乱数値の識別に基づいて前記複数のトレーニングシーケンスをデスクランブル処理する、装置。
[項目61]
前記擬似乱数値は、線形フィードバックシフトレジスタ(LFSR)によって生成される擬似ランダムバイナリシーケンス(PRBS)を有する、項目60に記載の装置。
[項目62]
前記PRBSは、前記一連の複数のトレーニングシーケンスの少なくとも1つにおけるヘッダのスクランブル処理同期フィールドから特定される、項目61に記載の装置。
[項目63]
前記PRBSは、前記スクランブル処理同期フィールドで特定されたシードから特定される、項目62に記載の装置。
[項目64]
前記物理層論理は、前記シードをローカルなLFSRへ読み込み、かつ前記PRBSと同期する、項目63に記載の装置。
[項目65]
前記トレーニングシーケンスヘッダがスクランブル処理されず、前記スクランブル処理同期フィールドは、前記トレーニングシーケンスのスクランブル処理されたペイロードに含まれ、前記物理層論理は前記トレーニングシーケンスヘッダの端部から前記スクランブル処理同期フィールドを特定する、項目62に記載の装置。
[項目66]
前記LFSRは、23ビットのフィボナッチLFSRを有する、項目61に記載の装置。
[項目67]
物理層論理、リンク層論理およびプロトコル層論理を有する層状スタックを備え、
前記物理層論理は、
第1のデバイスおよび第2のデバイスを接続するリンクのレーンの適応のためのサンプル信号を受信し、前記信号はスーパーシーケンスを有し、前記スーパーシーケンスの少なくとも一部は疑似ランダムシーケンスによってスクランブル処理され、
前記サンプル信号に基づいて少なくとも1つの適応タスクを実行する、装置。
[項目68]
前記スーパーシーケンスは、EOSを有し、その後には複数の連続するトレーニングシーケンスが続く、項目67に記載の装置。
[項目69]
前記EOSは、EIEOSを有する、項目68に記載の装置。
[項目70]
前記トレーニングシーケンスのそれぞれは、トレーニングシーケンスヘッダおよびトレーニングシーケンスペイロードを有する、項目69に記載の装置。
[項目71]
各トレーニングシーケンスヘッダは、スクランブル処理されず、各トレーニングシーケンスペイロードはスクランブル処理される、項目70に記載の装置。
[項目72]
前記EOSは、スクランブル処理されないままとされる、項目71に記載の装置。
[項目73]
前記実質的にランダムな値は、擬似乱数値を有する、項目68に記載の装置。
[項目74]
前記擬似乱数値は、線形フィードバックシフトレジスタ(LFSR)によって生成される擬似ランダムバイナリシーケンス(PRBS)を有する、項目73に記載の装置。
[項目75]
前記LFSRは、23ビットのフィボナッチLFSRを有する、項目74に記載の装置。
[項目76]
前記少なくとも1つの適応タスクは、前記サンプル信号から前記レーンの品質を決定することを含む、項目74に記載の装置。
[項目77]
前記少なくとも1つの適応タスクは、さらに、前記レーンの前記品質を決定することに基づいて前記サンプル信号の送信機へフィードバックを提供することを含む、項目76に記載の装置。
[項目78]
前記少なくとも1つの適応タスクは、さらに、前記レーンの前記品質を決定することに基づいて前記レーンの複数の特性を修正することを含む、項目77に記載の装置。
[項目79]
物理層論理、リンク層論理およびプロトコル層論理を有する層状スタックを備え、
前記物理層論理は、
初期状態で複数のスーパーシーケンスを生成し、各スーパーシーケンスはEOSを有するシーケンスを備え、その後には一連の複数のトレーニングシーケンスが続き、各トレーニングシーケンスはサフィックスを有し、
前記初期状態から送信リンク状態への遷移を示すデータシーケンスの開始(SDS)を送信する、装置。
[項目80]
各トレーニングシーケンスの少なくとも一部は、それぞれの擬似乱数値によってスクランブル処理される、項目79に記載の装置。
[項目81]
前記サフィックスは、前記擬似乱数値により、前記SDSのエイリアスを防止する、項目80に記載の装置。
[項目82]
前記SDSの前記値は、前記擬似乱数値には含まれない、項目81に記載の装置。
[項目83]
前記擬似乱数値は、線形フィードバックシフトレジスタ(LFSR)によって生成される擬似ランダムバイナリシーケンス(PRBS)を有する、項目81に記載の装置。
[項目84]
前記LFSRは、23ビットのフィボナッチLFSRを有する、項目83に記載の装置。
[項目85]
前記EOSは、EIEOSを有する、項目80に記載の装置。
[項目86]
前記EIEOSは、低周波数クロック信号をエミュレートする、項目85に記載の装置。
[項目87]
前記SDSは、前記低周波数クロック信号よりも高い周波数のクロック信号をエミュレートする、項目86に記載の装置。
[項目88]
前記SDSは、前記スーパーシーケンスに割り込むために送信される、項目80に記載の装置。
[項目89]
前記SDSは、前記複数のトレーニングシーケンスのうちの特定の1つの中で送信される、項目88に記載の装置。
[項目90]
前記SDSは、前記EOSの特定のインスタンスの中で送信される、項目89に記載の装置。
[項目91]
前記SDSは、決定論的な配列制御信号に基づいて送信される、項目89に記載の装置。
[項目92]
物理層論理、リンク層論理およびプロトコル層論理を有する層状スタックを備え、
前記物理層論理は、
初期状態で複数のスーパーシーケンスを受信し、各スーパーシーケンスはEOSを有するシーケンスを備え、その後には一連の複数のトレーニングシーケンスが続き、各トレーニングシーケンスはサフィックスを有し、
前記初期状態から送信リンク状態への遷移を示すデータシーケンスの開始(SDS)を受信する、装置。
[項目93]
各トレーニングシーケンスの少なくとも一部は、それぞれの擬似乱数値によってスクランブル処理される、項目92に記載の装置。
[項目94]
前記サフィックスは、前記擬似乱数値によって、前記SDSのエイリアスを防止する、項目93に記載の装置。
[項目95]
前記SDSの前記値は、前記擬似乱数値には含まれない、項目94に記載の装置。
[項目96]
前記擬似乱数値は、線形フィードバックシフトレジスタ(LFSR)によって生成される擬似ランダムバイナリシーケンス(PRBS)を備える、項目94に記載の装置。
[項目97]
前記LFSRは、23ビットのフィボナッチLFSRを有する、項目96に記載の装置。
[項目98]
前記EOSは、EIEOSを有する、項目93に記載の装置。
[項目99]
前記EIEOSは、低周波数クロック信号をエミュレートする、項目98に記載の装置。
[項目100]
前記SDSは、前記低周波数クロック信号よりも高い周波数のクロック信号をエミュレートする、項目99に記載の装置。
[項目101]
前記SDSは、前記スーパーシーケンスに割り込むために送信される、項目93に記載の装置。
[項目102]
前記SDSは、前記複数のトレーニングシーケンスのうちの特定の1つの中で送信される、項目101に記載の装置。
[項目103]
前記SDSは、前記EOSの特定のインスタンスの中で送信される、項目102に記載の装置。
[項目104]
前記SDSは、決定論的な配列制御信号に基づいて送信される、項目102に記載の装置。
[項目105]
リンクに結合されるように構成される物理層(PHY)を備え、前記リンクは第1の個数のレーンを有し、前記PHYは23ビットの擬似乱数ビットシーケンス(PRBS)を生成するためのセルフシードなストレージ要素を有し、前記PHYは、前記23ビットのPRBSに基づいて、スクランブル処理されたトレーニングシーケンスを送信する、装置。

Claims (24)

  1. 物理層論理と、リンク層論理と、プロトコル層論理とを備え、
    前記物理層論理は、反復するシーケンスを有するスーパーシーケンスを生成し、前記シーケンスは、EOS(electrical ordered set)および複数のトレーニングシーケンスを含み、
    前記複数のトレーニングシーケンスは、前記スーパーシーケンスが関連づけられる複数のトレーニングステートのうちのそれぞれ1つに対応する事前に定義された数のトレーニングシーケンスを有し、
    前記複数のトレーニングシーケンスの各トレーニングシーケンスは、それぞれのトレーニングシーケンスヘッダおよびトレーニングシーケンスペイロードを含み、
    前記複数のトレーニングシーケンスの前記トレーニングシーケンスペイロードは、スクランブル処理されて送信され、
    前記複数のトレーニングシーケンスの前記トレーニングシーケンスヘッダは、スクランブル処理されずに送信される
    装置。
  2. 前記トレーニングシーケンスヘッダは、擬似乱数ビットシーケンス(PRBS)を用いてスクランブル処理される
    請求項1に記載の装置。
  3. 前記PRBSは、PRBS23を有する
    請求項2に記載の装置。
  4. 前記物理層論理は、前記PRBSを生成するための線形フィードバックシフトレジスタ(LFSR)を有する
    請求項2に記載の装置。
  5. 前記LFSRは、23ビットのフィボナッチLFSRを有する
    請求項4に記載の装置。
  6. 前記LFSRは、x23+x21+x16+x+x+x+1を含む生成器多項式を実装する
    請求項5に記載の装置。
  7. 前記EOSは、EIEOS(electric idle exit ordered set)を有する
    請求項1から6のいずれか一項に記載の装置。
  8. 前記EIEOSは、16バイト順序セットを有し、
    前記EIEOSのバイト0、2、4、6、8、10、12および14は、値8'h00を有し、
    前記EIEOSのバイト1、3、5、7、9、11、13および15は、値8'hFFを有する
    請求項7に記載の装置。
  9. 前記複数のトレーニングステートは、検出状態、ポーリング状態、コンフィギュレーション状態、およびループバック状態を含む
    請求項1から8のいずれか一項に記載の装置。
  10. 前記スーパーシーケンスは、前記検出状態に対応する検出スーパーシーケンスを有し、
    前記検出スーパーシーケンスにおける前記事前に定義された数のトレーニングシーケンスは、一連の6つのトレーニングシーケンスを有する
    請求項9に記載の装置。
  11. 前記スーパーシーケンスは、前記ポーリング状態に対応するポーリングスーパーシーケンスを有し、
    前記ポーリングスーパーシーケンスにおける前記事前に定義された数のトレーニングシーケンスは、一連の30のトレーニングシーケンスを有する
    請求項9に記載の装置。
  12. 前記ループバック状態に対応するループバックスーパーシーケンスは、一連の30のトレーニングシーケンスも有し、
    前記ポーリングスーパーシーケンスにおける前記トレーニングシーケンスは、第1の値を有し、
    前記ループバックスーパーシーケンスにおける前記トレーニングシーケンスは、第2の値を有する
    請求項11に記載の装置。
  13. 前記物理層論理は、前記スーパーシーケンスをリンクの複数のレーンの各々で送信するための送信機を有する
    請求項1から12のいずれか一項に記載の装置。
  14. 前記スーパーシーケンスは、別のデバイスに送信され、
    前記物理層論理は、前記別のデバイスからの前記スーパーシーケンスのインスタンスを受信するための受信機を有する
    請求項13に記載の装置。
  15. プロセッサノードと、物理層論理とを備え、
    前記物理層論理は、
    反復するシーケンスを有するスーパーシーケンスを受信する段階であって、前記シーケンスは、EIEOS(electric idle exit ordered set)と一連のトレーニングシーケンスとを含み、前記一連のトレーニングシーケンスは、ステートマシンにおける複数のステートのうちの特定の1つに対応する事前に定義された数のトレーニングシーケンスを有し、前記一連のトレーニングシーケンスにおける各トレーニングシーケンスは、それぞれのヘッダおよびペイロードを含み、前記一連のトレーニングシーケンスの前記ペイロードは、擬似乱数ビットシーケンス(PRBS)によってスクランブル処理され、前記一連のトレーニングシーケンスの前記ヘッダは、スクランブル処理されない、受信する段階と、
    前記スーパーシーケンスから前記特定のステートを決定する段階とを実行するためのものである
    プロセッサデバイス。
  16. 前記物理層論理を有するコントローラをさらに備え、
    前記コントローラは、リンク層論理およびプロトコル層論理をさらに備える
    請求項15に記載のプロセッサデバイス。
  17. 前記PRBSを生成するための線形フィードバックシフトレジスタ(LFSR)をさらに備える
    請求項15または16に記載のプロセッサデバイス。
  18. 前記LFSRは、23ビットのフィボナッチLFSRを有する
    請求項17に記載のプロセッサデバイス。
  19. 前記トレーニングシーケンスのヘッダは、前記複数のステートのうちの特定の1つを示すための型フィールドを有する
    請求項15から18のいずれか一項に記載のプロセッサデバイス。
  20. 前記トレーニングシーケンスのヘッダは、レーン番号付けフィールドをさらに有する
    請求項19に記載のプロセッサデバイス。
  21. 少なくとも、第1の命令セットを認識するための第1のプロセッサと、前記第1の命令セットとは異なる第2の命令セットを認識するための第2のプロセッサとの間でインタフェース接続するための前記第1のプロセッサに対応するコントローラを備え、
    前記コントローラは、プロトコル層論理と、リンク層論理と、物理層論理とを有し、
    前記物理層論理は、反復するシーケンスを有するスーパーシーケンスを生成し、前記シーケンスは、EOS(electrical ordered set)および複数のトレーニングシーケンスを含み、
    前記複数のトレーニングシーケンスは、ステートマシンにおける複数のトレーニングステートのうちの特定の1つに対応する事前に定義された数のトレーニングシーケンスを有し、
    前記複数のトレーニングシーケンスの各トレーニングシーケンスは、それぞれのトレーニングシーケンスヘッダおよびトレーニングシーケンスペイロードを含み、
    前記複数のトレーニングシーケンスの前記トレーニングシーケンスペイロードは、スクランブル処理され、
    前記複数のトレーニングシーケンスの前記トレーニングシーケンスヘッダは、スクランブル処理されず、
    前記複数のトレーニングステートは、検出状態、ポーリング状態、コンフィギュレーション状態、およびループバック状態を含む
    装置。
  22. 第1のプロセッサと、
    前記第1のプロセッサに相互接続によって接続された第2のプロセッサとを備え、
    前記第2のプロセッサは、プロトコル層論理、リンク層論理、および物理層論理を有し、
    前記物理層論理は、前記相互接続上で前記第1のプロセッサにスーパーシーケンスを送信し、
    前記スーパーシーケンスは、反復するシーケンスを有し、前記シーケンスは、EOS(electrical ordered set)および一連のトレーニングシーケンスを含み、
    前記一連のトレーニングシーケンスは、ステートマシンにおける複数のリンクトレーニングステートのうちの特定の1つに対応する事前に定義された数のトレーニングシーケンスを有し、
    前記一連のトレーニングシーケンスにおける各トレーニングシーケンスは、それぞれのトレーニングシーケンスヘッダおよびトレーニングシーケンスペイロードを有し、
    前記一連のトレーニングシーケンスの前記トレーニングシーケンスペイロードは、スクランブル処理され、
    前記一連のトレーニングシーケンスの前記トレーニングシーケンスヘッダは、スクランブル処理されず、
    前記第1のプロセッサは、物理層論理を有し、
    前記物理層論理は、
    前記スーパーシーケンスを受信し、
    前記スーパーシーケンスから前記特定のステートを決定する
    システム。
  23. 前記第1のプロセッサは、プロトコル層論理、リンク層論理、および物理層論理を有し、
    前記物理層論理は、前記第2のプロセッサからの前記スーパーシーケンスを受信し、前記第2のプロセッサに送信するための前記スーパーシーケンスの複数のインスタンスを生成する
    請求項22に記載のシステム。
  24. 前記EOSは、EIEOS(electric idle exit ordered set)を有する
    請求項22または23に記載のシステム。
JP2017088878A 2012-10-22 2017-04-27 装置およびシステム Active JP6423040B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261717091P 2012-10-22 2012-10-22
US61/717,091 2012-10-22

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015537687A Division JP6139689B2 (ja) 2012-10-22 2013-03-15 装置

Publications (2)

Publication Number Publication Date
JP2017188909A JP2017188909A (ja) 2017-10-12
JP6423040B2 true JP6423040B2 (ja) 2018-11-14

Family

ID=50485278

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2015537687A Active JP6139689B2 (ja) 2012-10-22 2013-03-15 装置
JP2017088878A Active JP6423040B2 (ja) 2012-10-22 2017-04-27 装置およびシステム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2015537687A Active JP6139689B2 (ja) 2012-10-22 2013-03-15 装置

Country Status (9)

Country Link
US (20) US20140201463A1 (ja)
EP (2) EP3410304B1 (ja)
JP (2) JP6139689B2 (ja)
KR (27) KR101700261B1 (ja)
CN (26) CN104737147B (ja)
BR (1) BR112015006432A2 (ja)
DE (14) DE112013004105T5 (ja)
RU (2) RU2579140C1 (ja)
WO (11) WO2014065879A1 (ja)

Families Citing this family (204)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013105967A1 (en) * 2012-01-13 2013-07-18 Intel Corporation Efficient peer-to-peer communication support in soc fabrics
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
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
WO2014065879A1 (en) 2012-10-22 2014-05-01 Venkatraman Iyer High performance interconnect physical 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 富士通株式会社 ストレージ装置、ストレージシステム及びデータ管理プログラム
KR101874726B1 (ko) 2013-12-26 2018-07-04 인텔 코포레이션 Pci 익스프레스 강화
JP6461959B2 (ja) * 2013-12-26 2019-01-30 インテル コーポレイション マルチチップパッケージリンク
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 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для управления турборежимом
US9747048B2 (en) 2014-06-02 2017-08-29 Micron Technology, Inc. Systems and methods for packing data in a scalable memory system protocol
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
US9665505B2 (en) 2014-11-14 2017-05-30 Cavium, Inc. Managing buffered communication between sockets
US10082538B2 (en) 2014-11-14 2018-09-25 Cavium, Inc. Testbench builder, system, device and method
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
US9632862B2 (en) 2014-12-20 2017-04-25 Intel Corporation Error handling in transactional buffered memory
US9740646B2 (en) * 2014-12-20 2017-08-22 Intel Corporation Early identification in transactional buffered memory
US10025746B2 (en) * 2014-12-20 2018-07-17 Intel Corporation High performance interconnect
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
US9946676B2 (en) * 2015-03-26 2018-04-17 Intel Corporation Multichip package link
US20160285624A1 (en) * 2015-03-26 2016-09-29 Intel Corporation Pseudorandom bit sequences in an interconnect
US9639276B2 (en) * 2015-03-27 2017-05-02 Intel Corporation Implied directory state updates
US9619396B2 (en) * 2015-03-27 2017-04-11 Intel Corporation Two level memory full line writes
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
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
WO2016197345A1 (zh) * 2015-06-10 2016-12-15 华为技术有限公司 一种信号传输方法、控制器和信号传输系统
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
EP3329381B1 (en) * 2015-07-30 2020-02-26 Valens Semiconductor Ltd. Seamless addition of high bandwidth lanes
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
CN107925507B (zh) * 2015-09-26 2021-05-11 英特尔公司 多芯片封装链路错误检测
WO2017052663A1 (en) * 2015-09-26 2017-03-30 Intel Corporation Valid lane training
WO2017052665A1 (en) * 2015-09-26 2017-03-30 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
US10936045B2 (en) 2016-09-26 2021-03-02 Hewlett-Packard Development Company, L.P. 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设备的时钟分离设计方法和系统
CN108170370B (zh) 2016-12-07 2021-01-26 慧荣科技股份有限公司 数据储存装置与数据传输速率控制方法
TWI610179B (zh) 2016-12-07 2018-01-01 慧榮科技股份有限公司 主機裝置與資料傳輸速率控制方法
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
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 湖南国科微电子股份有限公司 一种提升物理层兼容性的系统与方法
US10761939B1 (en) * 2018-12-13 2020-09-01 Amazon Technologies, Inc. Powering-down or rebooting a device in a system fabric
TWI706257B (zh) * 2018-12-13 2020-10-01 新唐科技股份有限公司 匯流排系統
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
KR20210119422A (ko) 2019-01-31 2021-10-05 텍트로닉스 인코포레이티드 고속 입력/출력 마진 테스팅을 위한 시스템, 방법 및 디바이스
US11940483B2 (en) 2019-01-31 2024-03-26 Tektronix, Inc. Systems, methods and devices for high-speed input/output margin testing
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
WO2020180300A1 (en) * 2019-03-05 2020-09-10 Mentor Graphics Corporation 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 (en) * 2019-04-10 2020-10-14 ABB Schweiz AG Aggregating server and method for forwarding node data
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
US11967985B2 (en) * 2019-11-20 2024-04-23 Mitsubishi Electric Corporation Optical communication device and communication system
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
WO2021174223A1 (en) * 2020-02-28 2021-09-02 Riera Michael F C2mpi: a hardware-agnostic message passing interface for heterogeneous computing systems
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
EP4158486A4 (en) * 2020-05-29 2024-07-10 Netlist Inc COMPUTER MEMORY EXPANSION DEVICE AND OPERATION METHOD
US20210013999A1 (en) * 2020-06-04 2021-01-14 Intel Corporation Latency-Optimized Mechanisms for Handling Errors or Mis-Routed Packets for Computer Buses
IL298759A (en) * 2020-06-05 2023-02-01 Schwaderer William David Methods and systems for encrypting shapeshifting data
KR102254337B1 (ko) * 2020-06-22 2021-05-21 한양대학교 산학협력단 Dc-밸런싱을 고려한 pam4 5b3q 코딩 방법 및 장치
US11360906B2 (en) * 2020-08-14 2022-06-14 Alibaba Group Holding Limited Inter-device processing system with cache coherency
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
US11362939B2 (en) 2020-08-31 2022-06-14 Micron Technology, Inc. Flow control for a multiple flow control unit interface
CN112134859B (zh) * 2020-09-09 2021-07-06 上海沈德医疗器械科技有限公司 一种基于arm架构的聚焦超声治疗设备控制方法
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
US11489695B2 (en) 2020-11-24 2022-11-01 Qorvo Us, Inc. Full-duplex communications over a single-wire bus
TWI809570B (zh) 2020-11-24 2023-07-21 美商泰克特洛尼克斯公司 用於高速輸入/輸出裕度測試的系統、方法和裝置
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
KR102518317B1 (ko) 2021-04-13 2023-04-06 에스케이하이닉스 주식회사 PCIe 인터페이스 장치 및 그 동작 방법
KR102668564B1 (ko) 2021-06-01 2024-05-24 에스케이하이닉스 주식회사 PCIe 인터페이스 장치 및 그 동작 방법
US20220327074A1 (en) * 2021-04-13 2022-10-13 SK Hynix Inc. PERIPHERAL COMPONENT INTERCONNECT EXPRESS (PCIe) SYSTEM AND METHOD OF OPERATING THE SAME
US11789658B2 (en) 2021-04-13 2023-10-17 SK Hynix Inc. Peripheral component interconnect express (PCIe) interface 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
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
WO2023205316A1 (en) * 2022-04-22 2023-10-26 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
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

Family Cites Families (271)

* 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
WO1992006436A2 (en) * 1990-10-03 1992-04-16 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 (en) * 1992-11-13 1994-06-08 Cyrix Corporation Coherency for write-back cache in a system designed for write-through cache
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 (en) * 1994-10-03 1996-04-10 International Business Machines Corporation Alternating data valid control signals for high performance data transfer
EP0707269A1 (en) * 1994-10-11 1996-04-17 International Business Machines Corporation Cache coherence network for a multiprocessor data processing system
EP0735480B1 (en) * 1995-03-31 2003-06-04 Sun Microsystems, Inc. Cache coherent computer system that minimizes invalidation and copyback operations
DE69616402T2 (de) * 1995-03-31 2002-07-18 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
US6141733A (en) * 1998-02-17 2000-10-31 International Business Machines Corporation Cache coherency protocol with independent implementation of optimized cache operations
US6334172B1 (en) * 1998-02-17 2001-12-25 International Business Machines Corporation Cache coherency protocol with tagged state for modified values
US6345339B1 (en) * 1998-02-17 2002-02-05 International Business Machines Corporation Pseudo precise I-cache inclusivity for vertical caches
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
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
AU5161900A (en) 1999-05-28 2000-12-18 Afx Technology Group International, 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
US6751698B1 (en) * 1999-09-29 2004-06-15 Silicon Graphics, Inc. Multiprocessor node controller circuit and method
US6674720B1 (en) * 1999-09-29 2004-01-06 Silicon Graphics, Inc. Age-based network arbitration system 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
US6961347B1 (en) * 2000-06-20 2005-11-01 Hewlett-Packard Development Company, L.P. High-speed interconnection link having automated lane reordering
US6865231B1 (en) * 2000-06-20 2005-03-08 Hewlett-Packard Development Company, L.P. High-speed interconnection adapter having automated crossed differential pair correction
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 (en) * 2000-12-04 2002-06-05 Telefonaktiebolaget Lm Ericsson Unequal error protection in a packet transmission system
EP1217613A1 (fr) * 2000-12-19 2002-06-26 Koninklijke Philips Electronics N.V. Reconstitution de trames manquantes ou mauvaises en téléphonie cellulaire
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
US7136953B1 (en) 2003-05-07 2006-11-14 Nvidia Corporation Apparatus, system, and method for bus link width optimization
US7426597B1 (en) * 2003-05-07 2008-09-16 Nvidia Corporation Apparatus, system, and method for bus link width optimization of a graphics system
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
RU2341906C2 (ru) * 2003-11-12 2008-12-20 Квэлкомм Инкорпорейтед Интерфейс высокоскоростной передачи данных с улучшенным управлением соединением
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
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
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
US7177987B2 (en) * 2004-01-20 2007-02-13 Hewlett-Packard Development Company, L.P. System and method for responses between different cache coherency protocols
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
US20050240734A1 (en) * 2004-04-27 2005-10-27 Batson Brannon J Cache coherence protocol
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
CN101902433B (zh) * 2004-04-30 2013-04-10 夏普株式会社 无线通信系统
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 华为技术有限公司 导出和导入无线局域网鉴别与保密基础结构证书信息方法
US8046488B2 (en) * 2004-05-21 2011-10-25 Intel Corporation Dynamically modulating link width
US7957428B2 (en) * 2004-05-21 2011-06-07 Intel Corporation Methods and apparatuses to effect a variable-width link
US20060041696A1 (en) * 2004-05-21 2006-02-23 Naveen Cherukuri Methods and apparatuses for the physical layer initialization of a link-based system interconnect
US7313712B2 (en) * 2004-05-21 2007-12-25 Intel Corporation Link power saving state
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
EP1875681A1 (en) * 2005-04-13 2008-01-09 Koninklijke Philips Electronics N.V. Electronic device and method for flow control
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
US7512741B1 (en) * 2006-01-11 2009-03-31 Intel Corporation Two-hop source snoop based messaging protocol
US7543115B1 (en) * 2006-01-11 2009-06-02 Intel Corporation Two-hop source snoop based cache coherence 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
US7506108B2 (en) * 2006-06-30 2009-03-17 Intel Corporation Requester-generated forward for late conflicts in a cache coherency protocol
US7536515B2 (en) * 2006-06-30 2009-05-19 Intel Corporation Repeated conflict acknowledgements in a cache coherency protocol
EP2052330A2 (en) * 2006-08-08 2009-04-29 Koninklijke Philips Electronics N.V. Electronic device and method for synchronizing a communication
US8059011B2 (en) * 2006-09-15 2011-11-15 Itron, Inc. Outage notification system
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
KR20090102789A (ko) * 2006-12-06 2009-09-30 퓨전 멀티시스템즈, 인크.(디비에이 퓨전-아이오) 프로그레시브 raid를 이용한 데이터 저장 장치, 시스템 및 방법
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
DE602007001576D1 (de) * 2007-03-22 2009-08-27 Research In Motion Ltd Vorrichtung und Verfahren zur verbesserten Maskierung von Rahmenverlusten
KR101188001B1 (ko) * 2007-05-08 2012-10-05 인터디지탈 테크날러지 코포레이션 피기백 긍정 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
CA2632031A1 (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 (en) * 2007-11-20 2009-05-27 STMicroelectronics (Grenoble) SAS Transferring a stream of data between first and second electronic devices via a network 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
CN101960677A (zh) 2008-02-29 2011-01-26 惠普开发有限公司 用于电子装置的模块系统和可缩回组件
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
JP5108975B2 (ja) * 2008-04-28 2012-12-26 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 仮想割り込みモードインターフェース及び割り込みモードを仮想化するための方法
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
US8250311B2 (en) * 2008-07-07 2012-08-21 Intel Corporation Satisfying memory ordering requirements between partial reads and non-snoop accesses
US8205045B2 (en) * 2008-07-07 2012-06-19 Intel Corporation Satisfying memory ordering requirements between partial writes and non-snoop accesses
CN101325461B (zh) * 2008-07-25 2011-04-27 浙江大学 基于无速率码的认知无线电通信链路的建立和维护方法
KR101493921B1 (ko) * 2008-09-08 2015-02-16 삼성전자주식회사 이동/핸드헬드 신호 수신을 위해 설계된 디지탈 텔레비전 수신기의 서브-채널 획득
US8917209B2 (en) * 2009-09-10 2014-12-23 Nextnav, Llc Coding in a wide area positioning system (WAPS)
KR101774202B1 (ko) * 2008-09-10 2017-09-01 넥스트나브, 엘엘씨 지상 비컨 네트워크 및 이를 이용한 위치 결정 신호 생성 및 송신 방법
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 (en) 2008-10-01 2012-05-16 STMicroelectronics Srl Method of exchanging information in a Network-on-Chip communication network, corresponding Network-on-Chip communication network and computer program product
US8531943B2 (en) * 2008-10-29 2013-09-10 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 杭州华三通信技术有限公司 一种支持可变速率的方法和网络设备
US8401038B2 (en) * 2008-12-17 2013-03-19 Viasat, Inc. False lock detection for physical layer frame 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 上海华为技术有限公司 一种下行数据发送和下行数据接收的方法和装置
US8327228B2 (en) * 2009-09-30 2012-12-04 Intel Corporation Home agent data and memory management
US8799586B2 (en) 2009-09-30 2014-08-05 Intel Corporation Memory mirroring and migration at home agent
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
US8868846B2 (en) * 2010-03-19 2014-10-21 Netapp, Inc. Method and system for maintaining data coherency across a network
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 瑞昱半导体股份有限公司 一种用于信号传输的省电方法及装置
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
US8751714B2 (en) * 2010-09-24 2014-06-10 Intel Corporation Implementing quickpath interconnect protocol over a PCIe interface
US9104793B2 (en) * 2010-09-24 2015-08-11 Intel Corporation Method and system of adapting communication links to link conditions on a platform
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 (en) * 2011-01-31 2016-06-29 Canon Kabushiki Kaisha Image processing apparatus, printing apparatus and controlling method in image processing apparatus
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 东南大学 一种基于状态机的协议构造方法
US10102170B2 (en) 2012-05-18 2018-10-16 Dell Products, Lp System and method for providing input/output functionality 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
US9600431B2 (en) * 2012-10-22 2017-03-21 Intel Corporation High performance interconnect physical layer
US9479196B2 (en) * 2012-10-22 2016-10-25 Intel Corporation High performance interconnect link layer
WO2014065879A1 (en) 2012-10-22 2014-05-01 Venkatraman Iyer High performance interconnect physical layer
US9280507B2 (en) * 2012-10-22 2016-03-08 Intel Corporation High performance interconnect physical layer
BR112015017867A2 (pt) 2013-02-28 2018-12-18 Intel Corp aproveitamento de um mecanismo de enumeração e/ou configuração de um protocolo de interconexão para um protocolo de interconexão diferente
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
JP6461959B2 (ja) * 2013-12-26 2019-01-30 インテル コーポレイション マルチチップパッケージリンク
US9946676B2 (en) * 2015-03-26 2018-04-17 Intel Corporation Multichip package link

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6423040B2 (ja) 装置およびシステム
US10795841B2 (en) High performance interconnect physical layer
US11080212B2 (en) High performance interconnect physical layer

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180904

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180918

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181017

R150 Certificate of patent or registration of utility model

Ref document number: 6423040

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250