KR20160055685A - 링크 계층 신호 동기화 - Google Patents

링크 계층 신호 동기화 Download PDF

Info

Publication number
KR20160055685A
KR20160055685A KR1020150141433A KR20150141433A KR20160055685A KR 20160055685 A KR20160055685 A KR 20160055685A KR 1020150141433 A KR1020150141433 A KR 1020150141433A KR 20150141433 A KR20150141433 A KR 20150141433A KR 20160055685 A KR20160055685 A KR 20160055685A
Authority
KR
South Korea
Prior art keywords
clock
logic
data
transmission
serdes
Prior art date
Application number
KR1020150141433A
Other languages
English (en)
Other versions
KR101767320B1 (ko
Inventor
마크 에스. 비리텔라
Original Assignee
인텔 코포레이션
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 인텔 코포레이션 filed Critical 인텔 코포레이션
Publication of KR20160055685A publication Critical patent/KR20160055685A/ko
Application granted granted Critical
Publication of KR101767320B1 publication Critical patent/KR101767320B1/ko

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/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0685Clock or time synchronisation in a node; Intranode synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • H04L7/0012Synchronisation information channels, e.g. clock distribution lines by comparing receiver clock with transmitter clock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0685Clock or time synchronisation in a node; Intranode synchronisation
    • H04J3/0697Synchronisation in a packet node
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • H04L7/005Correction by an elastic buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Information Transfer Systems (AREA)

Abstract

본 개시의 실시 형태들은 링크 계층 상호접속 패브릭에서 신호 동기화에 관한 것이다. 한 사례에서, 신호 동기화를 위한 로직을 가진 장치는 제1 주파수를 갖는 장치의 송신 클럭 또는 제2 주파수를 갖는 장치의 수신 클럭에 대하여 코어 클럭 주파수를 갖는 장치의 코어 클럭을 비교하고, 비교의 결과들에 기초하여, 동기화된 링크 전송 송신 클럭 또는 동기화된 링크 전송 수신 클럭을 각각 생성하기 위한 클럭 동기화 로직을 포함할 수 있다. 다른 실시 형태들이 설명되고 및/또는 청구될 수 있다.

Description

링크 계층 신호 동기화{LINK LAYER SIGNAL SYNCHRONIZATION}
본 개시의 실시 형태들은 일반적으로 컴퓨팅 상호접속 아키텍처의 분야, 보다 상세하게는, 링크 계층 상호접속 패브릭에서 신호 동기화를 위한 기법들과 구성들에 관한 것이다.
컴퓨터 시스템은 그것의 부분들과 그들의 관계들을 명시하고, 시스템 구성 요소들(예를 들면, 노드들) 사이의 상호접속들을 규정하는 컴퓨터 아키텍처를 포함할 수 있다. 아키텍처는 다음과 같은 구성 요소들을 포함할 수 있다: 호스트 패브릭 인터페이스들(HFIs), 링크들, 스위치들, 게이트웨이들, 및 관리 모델. 상호접속들은 예를 들어, 물리적 계층(PHY), 링크 계층(가끔 계층 2로서 언급됨), 및 다른 것들을 포함하는, 다중 계층들을 포함하는 상호접속 계층 구조로 구조화될 수 있다. 노드가 패브릭에 접속되어 패킷들을 다른 서버들 또는 컴퓨팅 장치들에 전송 및 수신할 수 있도록, HFI들은 아키텍처의 물리적 및 링크 계층들을 구현시키기 위한 로직을 포함할 수 있다. 링크들은 HFI들을 스위치들에, 스위치들을 다른 스위치들에, 또는 스위치들을 게이트웨이들에 연결할 수 있는 포인트-투-포인트 상호접속들을 포함할 수 있다.
링크 계층 로직은 상이한 클럭 주파수들에서(예를 들면, 링크 전송 송신 로직과 링크 전송 수신 로직을 통해) 링크 계층을 통과하는 데이터와 제어 신호들을 동기화시키도록 구성될 수 있다. 예를 들어, 링크 계층 로직은 칩 코어(예를 들면, 호스트 프로세서) 로직 주파수, 링크 전송 도메인(예를 들면, 전송 시리얼라이저-디시리얼라이저(SerDes) 병렬 인터페이스)의 전송(Tx) 주파수 및 링크 수신 도메인(예를 들면, 수신 SerDes 병렬 인터페이스)의 수신(Rx) 주파수를 이용할 수 있다. 이러한 신호 주파수들은 상이하고 링크 계층 로직을 통과하는 신호들의 동기화를 요구할 수 있다. 예를 들어, 칩 코어 주파수는 Tx 또는 Rx 주파수와는 다르다(일반적으로 더 높다). Tx와 Rx 주파수들은 또한 다를 수 있어, 이러한 2개의 주파수들 사이의 가변 위상 관계를 야기할 수 있다. 또한, 신호들(예를 들면, 제어 신호들)은 도메인 경계들(예를 들면, 수신과 전송 도메인들 사이 또는 칩 코어 도메인과 수신 또는 전송 도메인들 사이)을 가로질러 여기저기 통과될 필요가 있을 수 있다. 그러나, 대기 시간이 도메인 경계의 각각의 교차점에서 신호들에 추가될 수 있다.
실시 형태들은 첨부 도면들과 함께 다음의 상세한 설명에 의해 쉽게 이해될 것이다. 이러한 설명을 용이하게 하기 위해서, 유사한 참조 번호들은 유사한 구조적 요소들을 나타낸다. 실시 형태들은 첨부 도면들에서 제한이 아니라 예로서 예시된다.
도 1은 일부 실시 형태들에 따라서, 상호접속 아키텍처의 다양한 구성 요소들을 설명하는 예시적 컴퓨팅 시스템(100)의 하이-레벨 블록도이다.
도 2는 일부 실시 형태들에 따른 링크 계층 로직 모듈의 개략도이다.
도 3은 일부 실시 형태들에 따라서, 링크 계층 로직 모듈에 신호 동기화를 제공하도록 구성된 클럭 동기화 로직을 설명하는 개략도이다.
도 4는 일부 실시 형태들에 따라서, 링크 계층 로직 모듈의 전송 측을 위한 신호 동기화를 설명하는 개략도이다.
도 5는 일부 실시 형태들에 따라서, 계산 노드와 관련된 링크 계층 로직 모듈에서 신호 동기화를 위한 프로세스 흐름도이다.
도 6은 일부 실시 형태들에 따라서, 계산 노드와 상호접속 패브릭을 포함하는 컴퓨팅 시스템과 같이, 도 1-5의 다양한 구성 요소들을 갖기에 적합한 예시적 컴퓨팅 장치를 개략적으로 설명한다.
본 개시의 실시 형태들은 링크 계층 상호접속 패브릭에서 신호 동기화를 위한 기법들과 구성들을 포함한다. 다음의 설명에서, 예시적 구현들의 다양한 양태들은 통상의 기술자들의 작업의 실체를 전달하기 위해 통상의 기술자들에 의해 일반적으로 채택된 용어들을 이용하여 설명될 것이다. 그러나, 통상의 기술자들에게는 본 개시의 실시 형태들이 설명된 양태들의 일부만으로 실시될 수 있다는 점이 명백할 것이다. 설명의 목적상, 예시적 실시 형태들의 철저한 이해를 제공하기 위해 특정 수들, 물질들, 및 구성들이 제시된다. 그러나, 통상의 기술자에게는 본 개시의 실시 형태들이 특정 상세 사항들 없이도 실시될 수 있다는 점이 명백할 것이다. 다른 경우들에서는, 예시적 구현들을 모호하게 하지 않도록 하기 위해 공지의 특징들이 생략 또는 단순화된다.
다음의 상세한 설명에서, 본 개시의 일부를 형성하고 - 그 전체에 걸쳐서 유사한 번호들이 유사한 부분들을 지정함 - 본 개시의 청구 대상이 실시될 수 있는 예시의 실시 형태들에 의해 도시되는 첨부 도면들에 대한 참조가 이루어진다. 다른 실시 형태들이 이용될 수 있고, 본 개시의 범위로부터 벗어나지 않으면서 구조적 또는 로직적 변경들이 이루어질 수 있다는 것이 이해되어야 한다. 따라서, 다음의 상세한 설명은 제한적인 의미로 해석되어서는 안 되며, 실시 형태들의 범위는 첨부된 청구항들 및 이들의 균등물에 의해 정의된다.
본 명세서의 목적을 위해, "A 및/또는 B"라는 어구는 (A), (B), 또는 (A 및 B)를 의미한다. 본 개시의 목적을 위해, "A, B 및/또는 C"라는 어구는 (A), (B), (C), (A 및 B), (A 및 C), (B 및 C), 또는 (A, B 및 C)를 의미한다.
본 설명은 상부/하부(top/bottom), 내/외(in/out), 위/아래(over/under), 및 그와 유사한 것과 같은 관점 기반의 설명들을 사용할 수 있다. 이러한 설명들은 단지 논의를 용이하게 하기 위해 사용되는 것이고 본 명세서에 설명된 실시 형태들의 적용을 임의의 특정 방향으로만 제한하고자 의도하지는 않는다.
설명은 동일한 또는 상이한 실시 형태들 중 하나 이상을 각각 참조할 수 있는 어구들 "실시 형태에서" 또는 "실시 형태들에서"을 사용할 수 있다. 또한, 본 개시의 실시 형태들에 관해 사용된 용어들 "포함하는(comprising)", "포함하는(including)", "갖는(having)" 등은 동의어들이다.
용어 "와 결합된"은 그 파생어들과 함께 본 명세서에 사용될 수 있다. "결합된"은 다음 중 하나 이상을 의미할 수 있다. "결합된"은 2개 이상의 요소들이 직접적으로 물리적 또는 전기적으로 접촉해 있다는 것을 의미할 수 있다. 그러나, "결합된"은 또한 2개 이상의 요소들이 서로 간접적으로 접촉하지만, 여전히 서로 협조하거나 상호 작용함을 의미할 수 있고, 그리고 하나 이상의 다른 요소들이 서로 결합되는 것으로 언급되는 요소들 사이에 결합 또는 연결되는 것을 의미할 수 있다. 용어 "직접 결합된"은 2개 이상의 요소들이 직접 접촉함을 의미할 수 있다.
도 1은 일부 실시 형태들에 따라서, 상호접속 아키텍처의 다양한 구성 요소들을 설명하는 예시적 컴퓨팅 시스템(100)의 하이-레벨 블록도이다. 도시된 바와 같이, 시스템(100)은 상호접속 패브릭(104)을 통해 다른 시스템들, 서브시스템들, 노드들, 네트워크들, 그리고 그와 유사한 것들로 연결될 수 있는 계산 노드(102)를 포함할 수 있다. 노드(102)는, 구동할 수 있는 소프트웨어의 종류에 따라 수많은 다양한 기능들을 가질 수 있는 호스트와 같은, 임의의 유형의 노드를 포함할 수 있다. 노드(102)는, 싱글-코어 또는 멀티-코어들을 갖는 집적 회로, 예를 들어, 멀티-코어 마이크로프로세서로서 수행될 수 있는 코어(예를 들면, 중앙 처리 장치(CPU)와 같은 프로세서)(106)을 포함할 수 있다. 청구항들을 포함하는 본 출원의 목적을 위해, 문맥이 명백히 다르게 요구하지 않는 이상, 용어들 "프로세서" 및 "코어"는 동의어로 간주될 수 있다. 노드(102)는, 노드의 기능성(예를 들면, 메모리, 주변 기기들, 그리고 그와 유사한 것)을 구현시키기 위해 필요한 다른 적절한 구성 요소(108)들을 포함할 수 있다. 예시적 컴퓨팅 시스템(100)의 더 상세한 설명은 도 6과 관련하여 하기에 제공된다.
노드(102)가 상호접속 패브릭(104)에 접속되어 다른 노드들, 서버들, 또는 기타 장치들과 정보(데이터)를 교환할 수 있도록, 상호접속 패브릭(104)은 아키텍처의 물리적 및 링크 계층들을 구현하기 위한 로직을 포함할 수 있는 하나 이상의 HFI(110)를 포함할 수 있다. HFI(110)는, 운영 시스템과 VMM(가상 머신 관리자) 지원을 위해 적절한 하드웨어 인터페이스들과 드라이버들을 포함할 수 있다. HFI(110)는 또한, 노드(102)와 다른 시스템들, 노드들, 장치들 또는 그와 유사한 것 사이의 통신들과 관련된 통신 프로토콜들과 다른 동작들을 실행하기 위한 전문화된 로직을 포함할 수 있다.
HFI(110)는 또한, 다른 시스템들, 노드들, 및 그와 유사한 것과 통신하기 위한 로직(예를 들면, 링크 계층 로직(120))을 포함할 수 있다. 예를 들어, HFI(110)는, 링크 계층 로직(120)을 이용하여, 다른 노드들(예를 들면, 노드(116))과 관련된 그리고 링크들과 스위치들을 통해, 예를 들어 패브릭(104)에 포함될 수 있는 스위치(112) 및/또는 추가 링크들 및 스위치(114)들을 통해 상호 접속된 다른 HFI들과 게이트웨이들과 통신할 수 있다. 상술한 바와 같이, 링크 계층 로직(120)을 가진 HFI(110)는 코어(CPU)(106)와 동일한 다이 상에 상주할 수 있다. 일부 실시 형태들에서, 링크 계층 로직(120)을 가진 HFI(110)는 코어(CPU)(106)와는 상이한 다이 상에 상주할 수 있지만, 동일한 패키지 내에 존재할 수 있다.
도면에 나타낸 바와 같이, 스위치(112) 또한, 예를 들어, 추가 링크들 및 스위치(114)들을 통해 상호 접속된 HFI들과 게이트웨이들을 통해, 노드(116)와 같은, 다른 네트워크 구성 요소들과 통신하도록 구성될 수 있는 링크 계층 로직(122)을 포함할 수 있다. 링크 계층 로직(120 및 122)을 통과한 신호들(예를 들면, 데이터 및/또는 제어 신호들)을 동기화하기 위한 기법들은 더 상세하게 하기에 설명될 것이다.
도 2는 일부 실시 형태들에 따른 링크 계층 로직 모듈(200)의 개략도이다. 링크 계층 로직 모듈(200)은, 도 1에 관하여 설명된 링크 계층 로직(120 또는 122)과 유사할 수 있다. 링크 계층 로직 모듈(200)은, 예를 들어, 노드(102)와 같은, 링크 계층 로직 모듈(200)과 관련된 계산 노드와, 도 1에 관하여 설명된 노드(116)와 같은, 또 다른 장치와의 사이의 데이터를 전송시키기 위한 링크 전송 로직(202)을 포함할 수 있다. 링크 전송 로직(202)은, 결합된 노드의 칩 코어(206)로부터 또 다른 노드로 데이터를 전송하기 위한 전송(Tx) 로직(204)을 포함할 수 있다. 링크 전송 로직(202)은, 또 다른 장치로부터 코어(206)에 대한 데이터를 수신하기 위한 수신(Rx) 로직(208)을 더 포함할 수 있다.
송신 로직(204)은, 메모리 버퍼(210)(예를 들면, 선입 선출 방식(FIFO) 메모리 소자)와 메모리 버퍼(210)와 연결된 시리얼라이저(SerDes)(212)와 같은, 데이터 변환기를 포함할 수 있다. SerDes(212)는, 유효 전송율(제1 주파수 레이트)로 SerDes 전송(Tx) 클럭 펄스 파(이하, "SerDes Tx 클럭(214)")를 생성하는 SerDes 클럭 발생기를 포함할 수 있다.
수신 로직(208)은, 메모리 버퍼(216)(예를 들면, 또 다른 선입 선출 방식(FIFO) 메모리 소자)와, 메모리 버퍼(216)와 연결된 디시리얼라이저(SerDes)(218)와 같은, 데이터 변환기 인터페이스를 포함할 수 있다. SerDes(218)은 유효 수신 레이트(제2 주파수 레이트)로 SerDes 수신(Rx) 클럭 펄스 파(이하, "SerDes Rx 클럭(220)")를 생성하는 SerDes 클럭 발생기를 포함할 수 있다. 일부 실시 형태들에서, SerDes Tx 클럭(214)은 링크 계층 로직과 관련된 내부 클럭과 데이터 복구(CDR) 회로에 의해 생성될 수 있다. Rx 측에 있어서, SerDes Tx 클럭(220)은 수신된 데이터 스트림이 제공된 클럭 데이터를 복구할 수 있는 CDR 회로에 의해 생성될 수 있다.
코어(206)는 제3 주파수 레이트로 코어 클럭 펄스 파(이하, "코어 클럭(222)")를 생성하는 코어 클럭 발생기를 포함할 수 있다. 일부 실시 형태들에서, 제1, 제2 및 제3 주파수 레이트는 상이할 수 있다. 예를 들어, 코어 클럭(222)의 제3 주파수 레이트는 SerDes Tx 클럭(214)과 SerDes Rx 클럭(220)의 제1 및 제2 주파수 레이트보다 높을 수 있다. 제1 및 제2 주파수 레이트는 또한 상이할 수 있다. 예를 들어, 링크 계층 로직 모듈(200)에 의한 데이터의 전송과 관련된 펄스 파가 링크 계층 로직 모듈(200)과 관련된 노드(예를 들면, 도 1의 노드(102))에서 생성될 수 있는 반면, 링크 계층 로직 모듈(200)에 의한 데이터의 수신과 관련된 펄스 파가 링크 계층 로직 모듈(200)에 의해 수신될 데이터를 제공하는 또 다른 노드(예를 들면, 116)에서 생성될 수 있다. 따라서, 제1 및 제2 주파수 레이트는 다를 수 있다. 일부 경우들에서, 제1 및 제2 주파수들은 백만분(ppm)의 몇의 차이만큼 다를 수 있다. 다른 경우들에서, 제1 및 제2 주파수들은 예를 들어, 2배 이상 현저하게 다를 수 있다.
일부 실시 형태들에서, 링크 계층 로직 모듈(200)은 SerDes Tx 클럭(214) 또는 SerDes Rx 클럭(220)에 대하여 코어 클럭(222)을 비교하고, 주기적 비교들의 결과들에 기초하여, 코어 클럭(222)을 조절하여, 데이터 전송에서 링크 전송 로직에 의해 사용될, 동기화된 링크 전송 송신(Tx) 클럭 또는 동기화된 링크 전송 수신(Rx) 클럭을 각각 생성하기 위해, 링크 전송 로직(202)과 관련된 클럭 동기화 로직(230)을 포함할 수 있다. 링크 전송 로직(202)은, 각각 링크 전송 Tx 클럭 또는 링크 전송 Rx 클럭에 따라, 결합된 노드(예를 들면, 102)의 코어(206)와 또 다른 노드와의 사이에 데이터를 송신 또는 수신하는 것과 같이, 전송하도록 구성될 수 있다.
즉, 위에서 설명된 비교들의 결과로서, 클럭 동기화 로직(230)은 코어 클럭의 기간과 동일한 시간에 분리된 에지들을 링크 전송 Tx 클럭(232)에 그리고 코어 클럭(222)의 기간과 동일한 시간에 분리된 에지들을 링크 전송 Rx 클럭(234)에 제공할 수 있다. 따라서, 데이터 신호들(240, 242)은 링크 계층 로직 모듈(200)을 통해 전송 및 수신했고, 송신 로직(204)과 수신 로직(208)의 사이를 통과할 수 있는 제어 신호들(244, 246)(예를 들면, 재전송 요구들과 그와 유사한 것)은 동기화된 링크 전송 Tx 및 Rx 클럭들에 따라 동기화될 수 있다.
더 보다 상세하게는, 송신 로직(204)은 링크 전송 Tx 클럭(232)에 따라 발신 데이터를 메모리 버퍼(210)에 제공할 수 있고 그리고 SerDes Tx 클럭(214)에 따라 메모리 버퍼(210)로부터 데이터를 SerDes(212)로 전송할 수 있다.
반대로, 수신 로직(208)은 SerDes Rx 클럭(220)에 따라 SerDes(218)로부터 인입 데이터를 메모리 버퍼(216)로 제공할 수 있고 그리고 링크 전송 Rx 클럭(234)에 따라 메모리 버퍼(216)로부터 데이터를 전송할 수 있다. 클럭 동기화 로직(230)에 의해 제공된 동기화 기법들은 도 3-4에 관하여 하기에 더 설명된다.
도 3은 일부 실시 형태들에 따라서, 링크 계층 로직 모듈에 신호 동기화를 제공하도록 구성된 클럭 동기화 로직(300)을 설명하는 개략도이다. 설명을 위해서, 링크 전송 로직(수신 측)의 수신 로직을 위한 클럭 동기화 기법들이 설명될 것이다. 설명된 기법들이 도 2에 관하여 설명된 링크 전송 로직 모듈의 송신 측에 활용될 수 있다는 것을 알 수 있다. 설명된 클럭 동기화 로직은 하드웨어 솔루션 또는 하드웨어와 소프트웨어 솔루션들의 조합으로 구현될 수 있다.
도면에 나타낸 바와 같이, 디시리얼라이저(SerDes)(302)와 같은, 수신 로직(예를 들면, 208)의 수신 데이터 변환기 인터페이스는 인입 데이터를 수신하고 변환시킬 수 있다. SerDes(302)는 SerDes Rx 클럭(312)에 따라 SerDes(302) 클럭 주파수 레이트로 인입 데이터를 메모리 버퍼 장치(예를 들면, FIFO)(304)에 입력(기입)할 수 있다. 데이터는 아래 설명된 것처럼, 링크 전송 Rx 클럭(322)에 따라 링크 전송 Rx 주파수 레이트로 메모리 버퍼 장치(304)로부터 Rx 파이프라인(306) 내로 판독될 수 있다.
클럭 동기화 로직(300)은 게이팅 장치(310)와 연결될 수 있는 상승 에지 검출기(308)를 포함할 수 있다. 도 2를 참조하여 설명된 바와 같이, SerDes(302)는 제2 주파수 레이트로 수신 펄스 파를 포함하는 SerDes Rx 클럭(312)을 제공하도록 구성된 SerDes Rx 클럭 발생기(340)를 포함할 수 있다. SerDes Rx 클럭(312)은 상승 에지 검출기(308)로의 입력을 위해 제공될 수 있다. 코어 클럭 발생기(도시 안됨)는 상승 에지 검출기(308)와 게이팅 장치(310)에서의 입력을 위해 제3 주파수 레이트를 갖는 코어 클럭(314)을 제공할 수 있다.
상승 에지 검출기(308)는 SerDes Rx 클럭(312)에서 에지(예를 들면, 상승 에지(320))를 검출하고 상승 에지의 검출에 기초하여 게이팅 장치(310)에 인에이블 신호(316)를 출력하거나 SerDes Rx 클럭(312)에서 상승 에지의 부재에 기초하여 인에이블 신호를 전혀 제공하지 않도록(예를 들면, 인에이블 신호(316)를 취소하도록) 구성될 수 있다. 게이팅 장치(310)는 인에이블 신호(316)의 존재 또는 부재에 기초하여 코어 클럭(314)을 수정하여, 링크 전송 수신 주파수 레이트를 갖는 동기화된 링크 전송 Rx 클럭(322)을 포함하는 수정된 코어 클럭을 출력할 수 있다.
따라서, 링크 전송 Rx 클럭(322)은 SerDes Rx 클럭(312)에서 상승 에지의 검출의 부재에 기초하여 펄스(324)를 누락시킴으로써 SerDes Rx 클럭(312)을 가진 시간 주기에 걸쳐 정렬(동기화)시킬 수 있다.
도 4는 일부 실시 형태들에 따라, 링크 계층 로직 모듈(400)의 전송 측을 위한 신호 동기화를 설명하는 개략도이다. 신호 동기화는 도 3과 관련하여 논의된 것과 유사한 방식으로 구현될 수 있다. 더 보다 상세하게는, 전송 펄스 파(예를 들면, SerDes Tx 클럭(450))와 동기화된 링크 전송 Tx 클럭(422)은 도 4를 참조하여 설명된 바와 같이, 비슷한 방식으로 발생할 수 있다. 도 2-3과 관련하여 논의된 링크 전송 로직의 송신 로직은 Tx 메모리 버퍼(402)(예를 들면, 메모리 버퍼(216)와 같은 선입 선출 장치)와 이 메모리 버퍼(402)와 연결된 시리얼라이저(SerDes)(404)와 같은 데이터 변환기를 포함할 수 있다. 전에 설명된 것처럼, SerDes(404)는 제1 주파수 레이트로 전송 펄스 파를 포함하는 SerDes Tx 클럭(450)을 제공하도록 구성될 수 있는 SerDes Tx 클럭 발생기(440)를 가질 수 있다. 링크 계층 전송 로직에 의해 전송될 데이터(410)는 아래 설명된 것처럼 생성된 동기화된 링크 전송 Tx 클럭(422)에 따라 Tx 메모리 버퍼(402)에 제공될 수 있다(기입 포인터(414)에 의해 보여진 것처럼, 기입될 수 있다). 입력 데이터(410)를 포함하는 데이터(420)는 SerDes 클럭(450)에 따른 제1 주파수 레이트로 SerDes(404) 내로 Tx 메모리 버퍼(402)로부터 전송될 수 있다(예를 들어, 판독 포인터(416)에 의해 보여진 것처럼, 판독될 수 있다).
링크 전송 Tx 클럭(422)은 도 3에 관하여 설명된 기법들을 이용하여 SerDes Tx 클럭(450)과 동기화될 수 있다. 예를 들어, 클럭 동기화 로직은 Tx 게이팅 장치(460)와 연결된 Tx 게이팅 장치(460)와 Tx 상승 에지 검출기(462)를 포함할 수 있다. SerDes Tx 클럭 발생기(440)는 Tx 상승 에지 검출기(460)에서의 입력을 위해 SerDes Tx 클럭(450)을 제공할 수 있고, 코어 클럭 발생기(도시 안됨)는 Tx 상승 에지 검출기(460)와 Tx 게이팅 장치(462)에서의 입력을 위해 코어 클럭(452)을 제공할 수 있다.
Tx 상승 에지 검출기(460)는 SerDes Tx 클럭(450)의 상승 에지(470)의 검출에 기초하여 Tx 게이팅 장치(462)에 인에이블 신호(464)를 출력하거나 SerDes Tx 클럭(450)의 상승 에지(470)의 부재에 기초하여 인에이블 신호(464)를 취소시킬 수 있다. Tx 게이팅 장치(462)는 인에이블 신호(464)의 존재 또는 부재에 기초하여 코어 클럭(452)을 수정하여, SerDes Tx 클럭(452)의 제1 주파수 레이트와 동기화된 수정된 코어 클럭(예를 들면, 동기화된 링크 전송 Tx 클럭(422))을 출력할 수 있다. 따라서, 링크 전송 Tx 클럭(422)을 포함하는 수정된 코어 클럭은 도 4에 나타난 바와 같이 전송 펄스 파를 포함하는 SerDes Tx 클럭(452)과 동기화될 수 있다.
도 5는 일부 실시 형태들에 따라서, 계산 노드와 관련된 링크 계층 로직 모듈에서 신호 동기화를 위한 프로세스 흐름도이다. 프로세스(500)는 도 1-4와 관련하여 설명된 실시 형태들에 적합할 수 있다. 프로세스(500)는 도 1-4와 관련하여 설명된 링크 전송 로직에 의해 실행될 수 있다.
블록(502)에서, 프로세스(500)는 링크 전송 로직을 갖는 제1 계산 노드의 코어에 의해 제공된 코어 클럭에 대하여 링크 전송 로직과 관련된 송신 또는 수신 클럭 발생기들에 의해 각각 제공된 클럭 펄스 파들(클럭들)을 비교하는 단계를 포함할 수 있다.
블록(504)에서, 프로세스(500)는 동기화된 링크 전송 송신 클럭 또는 동기화된 링크 전송 수신 클럭을 각각 생성하기 위해, 비교의 결과들에 기초하여 코어 클럭을 수정하는 단계를 포함할 수 있다.
블록(506)에서, 프로세스(500)는 도 3-4를 참조하여 설명된 바와 같이, 생성된 동기화된 클럭들에 따른 링크 전송 로직을 통해 제1 계산 노드와 제2 계산 노드 사이에서의 데이터 전송을 포함할 수 있다.
도 6은 일부 실시 형태들에 따라, 계산 노드(102)와 상호접속 패브릭(104)을 포함하는 컴퓨팅 시스템(100)과 같은, 도 1-5의 다양한 구성 요소들을 갖기에 적합한 예시적 컴퓨팅 장치(600)를 개략적으로 설명한다. 도면에 나타낸 바와 같이, 컴퓨팅 장치(600)는 하나 이상의 프로세서들 또는 프로세서 코어(602)들 및 시스템 메모리(604)를 포함할 수 있다. 상술한 바와 같이, 청구항들을 포함하는 본 출원의 목적을 위해, 문맥이 명백히 다르게 요구하지 않는 한, 용어들 "프로세서" 및 "프로세서 코어들"은 동의어로 간주될 수 있다. 프로세서(602)는 중앙 처리 장치(CPU), 마이크로프로세서, 및 그와 유사한 것과 같은, 임의의 타입의 프로세서들을 포함할 수 있다. 프로세서(602)는 멀티-코어들, 예를 들어, 멀티-코어 마이크로프로세서를 갖는 집적 회로로서 구현될 수 있다. 컴퓨팅 장치(600)는 대용량 기억 장치(606)(디스켓, 하드 드라이브, 휘발성 메모리(예를 들면, 동적 랜덤 액세스 메모리(DRAM), 컴팩트 디스크 판독 전용 메모리(CD-ROM), 디지털 다용도 디스크(DVD), 기타 등등)들을 포함할 수 있다. 일반적으로, 시스템 메모리(604) 및/또는 대용량 기억 장치(606)들은 휘발성 및 비휘발성 메모리, 광학, 자기, 및/또는 솔리드 스테이트 대용량 저장 장치, 기타 등등을 포함하지만, 이에 한정되지는 않는, 임의의 타입의 일시 및/또는 영구 스토리지일 수 있다. 휘발성 메모리는 정적 및/또는 동적 랜덤 액세스 메모리를 포함할 수 있지만, 이에 한정되지는 않는다. 비휘발성 메모리는 전기적으로 소거 가능한 프로그램가능 판독 전용 메모리, 상 변화 메모리, 저항성 메모리, 기타 등등을 포함할 수 있지만, 이에 한정되지는 않는다.
컴퓨팅 장치(600)는 입/출력 장치(608)들(디스플레이(예를 들면, 터치스크린 디스플레이), 키보드, 커서 컨트롤, 리모트 컨트롤, 게임 제어기, 이미지 캡처 장치, 기타 등등과 같은)과 통신 인터페이스(610)들(네트워크 인터페이스 카드들, 모뎀들, 적외선 수신기들, 무선 수신기들(예를 들면, 블루투스), 기타 등등과 같은)을 더 포함할 수 있다.
통신 인터페이스(610)들은, GSM(Global System for Mobile Communication), GPRS(General Packet Radio Service), UMTS(Universal Mobile Telecommunications System), HSPA(High Speed Packet Access), E-HSPA(Evolved HSPA), 또는 LTE(Long-Term Evolution) 네트워크에 따라 장치(600)를 작동시키도록 구성될 수 있는 통신 칩(도시 안됨)을 포함할 수 있다. 통신 칩들은 또한, EDGE(Enhanced Data for GSM Evolution), GERAN(GSM EDGE Radio Access Network), UTRAN(Universal Terrestrial Radio Access Network), 또는 E-UTRAN(Evolved UTRAN)에 따라 작동하도록 구성될 수 있다. 통신 칩들은 CDMA(Code Division Multiple Access), TDMA(Time Division Multiple Access), DECT(Digital Enhanced Cordless Telecommunications), EV-DO(Evolution-Data Optimized), 이들의 유도체(derivatives)들뿐만 아니라, 3G, 4G, 5G, 및 그 이상으로 지정되는 임의의 다른 무선 프로토콜들에 따라 작동하도록 구성될 수 있다. 통신 인터페이스(610)들은 다른 실시 형태들에서 다른 무선 프로토콜들에 따라 작동할 수 있다.
상기 설명된 컴퓨팅 장치(600) 요소들은 하나 이상의 버스들을 나타낼 수 있는 시스템 버스(612)를 통해 서로 결합될 수 있다. 다수의 버스들의 경우, 이들은 하나 이상의 버스 브리지들(도시 안됨)에 의해 브리징될 수 있다. 이들 요소들 각각은 해당 기술분야에 공지되어 있는 그의 통상적인 기능들을 수행할 수 있다. 특히, 시스템 메모리(604)와 대용량 기억 장치(606)들은, 계산 로직(622)으로서 통칭되는, 컴퓨팅 장치(600)의 작동을 위한 운영 시스템 및/또는 애플리케이션들을 구현하는 로직을 저장하기 위해 사용될 수 있다. 다양한 요소들은, 프로세서(들)(602)에 의해 지원되는 어셈블러 명령들 또는 이러한 명령들로 컴파일링될 수 있는 하이-레벨 언어들에 의해 구현될 수 있다.
일부 실시 형태들에서, 도면에 나타낸 바와 같이, 최소한 컴퓨팅 장치(600)(예를 들면, 통신 인터페이스들(610))의 구성 요소들 중 일부는 상호접속 패브릭(104)의 구성 요소들의 일부를 포함할 수 있다. 상호접속 패브릭(104)의 이러한 구성 요소들은 도 2-5를 참조하여 설명된 바와 같이 신호들을 동기화하도록 구성된 링크 계층 로직(120)(122)을 포함할 수 있다.
계산 로직(622)의 프로그래밍 명령어들의 영구 사본은, 예를 들어 컴팩트 디스크(CD)와 같은 배포 매체(도시 안됨)를 통해, 또는 (배포 서버(도시 안됨)로부터) 통신 인터페이스(610)를 통해 공장에서 또는 현장에서 대용량 저장 장치(606)들 내에 배치될 수 있다. 즉, 에이전트 프로그램의 구현을 갖는 하나 이상의 분배 매체가 에이전트를 분배하고 다양한 컴퓨팅 장치들을 프로그래밍하기 위해 사용될 수 있다.
요소들(608, 610, 612)의 수, 기능 및/또는 용량은, 컴퓨팅 장치(600)에 의해 제공될 기능들과 성능에 따라, 예를 들면, 컴퓨팅 장치(600)가 단일 서버, 서버들의 집합 등인지에 따라, 상이한 실시 형태들마다 다를 수 있다. 그들의 구성들은 달리 알려져 있고, 따라서 더 이상 설명되지 않을 것이다.
실시 형태들에서, 프로세서(602)들 중 최소한 하나는 계산 로직(622)을 갖는 메모리(604)와 함께 패키징될 수 있고, 시스템인 패키지(SiP) 또는 시스템 온 칩(SoC)을 형성하도록 구성될 수 있다.
다양한 실시 형태들에 따라서, 본 개시는 다수의 예를 기술한다. 예 1은 링크 계층 신호 동기화를 위한 장치이고, 다음을 포함한다: 제1 주파수를 갖는 장치의 송신 클럭 또는 제2 주파수를 갖는 장치의 수신 클럭에 대해 코어 클럭 주파수를 갖는 장치의 코어 클럭을 비교하고; 비교의 결과들에 기초하여, 동기화된 링크 전송 송신 클럭 또는 동기화된 링크 전송 수신 클럭을 각각 생성하기 위한 클럭 동기화 로직.
예 2는 예 1의 주제를 포함할 수 있고, 코어 클럭 주파수가 제1 및 제2 주파수들과는 다른 것을 더욱 명시한다.
예 3은 예 1의 주제를 포함할 수 있고, 장치가 링크 전송 로직을 더 포함하는데, 여기에서 클럭 동기화 로직은 링크 전송 로직과 관련되며, 여기에서 링크 전송 로직은 장치로부터 또 다른 장치까지 제1 데이터를 송신하기 위한 송신 로직 그리고 다른 장치로부터 장치에 대한 제2 데이터를 수신하기 위한 수신 로직을 포함하며, 여기에서 동기화된 링크 전송 송신 클럭과 동기화된 링크 전송 수신 클럭은 각각 제1 데이터 전송과 제2 데이터 수신에서 링크 전송 로직에 의해 사용되어야 한다는 것을 더 명시한다.
예 4는 예 3의 주제를 포함할 수 있고, 또한 송신 로직이 메모리 버퍼와 이 메모리 버퍼와 연결된 시리얼라이저(SerDes)를 포함하며, 여기에서 상기 메모리 버퍼는 선입 선출 방식(FIFO) 메모리 소자를 포함하는 것을 명시한다.
예 5는 예 4의 주제를 포함할 수 있고, 또한 송신 클럭이 제1 주파수를 갖는 SerDes 클럭을 포함하는 것을 명시하며, 여기에서 송신 로직은 동기화된 링크 전송 송신 클럭 펄스 파에 따라 제1 데이터를 메모리 버퍼에게 제공하고 송신 클럭에 따라 메모리 버퍼로부터 제1 데이터를 SerDes 내로 전송하기 위한 것이다.
예 6은 예 3의 주제를 포함할 수 있고, 또한 수신 로직이 메모리 버퍼와 이 메모리 버퍼와 연결된 디시리얼라이저(SerDes)를 포함하는 것을 명시한다.
예 7은 예 6의 주제를 포함할 수 있고, 여기에서 수신 클럭이 제2 주파수를 갖는 SerDes 클럭을 포함하는 것을 명시하며, 여기에서 수신 로직이 수신 클럭에 따라 SerDes로부터 메모리 버퍼로 제2 데이터를 제공하고 동기화된 링크 전송 수신 클럭에 따라 메모리 버퍼로부터 제2 데이터를 전송하기 위한 것이다.
예 8은 예 7의 주제를 포함할 수 있고, 또한 메모리 버퍼가 선입 선출 방식(FIFO) 메모리 소자를 포함하는 것을 명시한다.
예 9는 예 1의 주제를 포함할 수 있고, 또한 클럭 동기화 로직이 게이팅 장치와 이 게이팅 장치와 연결된 상승 에지 검출기를 더 포함하는 것을 명시하며, 여기에서 클럭 동기화 로직은 제1 상승 에지 검출기에서 입력을 위한 송신 클럭, 및 상승 에지 검출기와 게이팅 장치에서 입력을 위한 코어 클럭을 제공하기 위한 것이다.
예 10은 예 9의 주제를 포함할 수 있고, 또한 상승 에지 검출기가 송신 클럭의 상승 에지의 검출에 기초하여 게이팅 장치에 인에이블 신호를 출력하거나 상승 에지의 부재에 기초하여 인에이블 신호를 취소하기 위한 것임을 명시한다.
예 11은 예 10의 주제를 포함할 수 있고, 또한 게이팅 장치가 인에이블 신호의 존재 또는 부재에 기초하여 코어 클럭을 수정하고 상기 수정된 코어 클럭을 출력하여 동기화된 링크 전송 송신 클럭을 제공하는 것을 명시한다.
예 12는 예 1의 주제를 포함할 수 있고, 또한 클럭 동기화 로직이 게이팅 장치와 이 게이팅 장치와 연결된 상승 에지 검출기를 더 포함하는 것을 명시하며, 여기에서 클럭 동기화 로직은 상승 에지 검출기에서 입력을 위한 수신 클럭, 및 상승 에지 검출기와 게이팅 장치에서 입력을 위한 코어 클럭을 제공하기 위한 것이다.
예 13은 예 12의 주제를 포함할 수 있고, 또한 상승 에지 검출기가 수신 클럭의 상승 에지의 검출에 기초하여 게이팅 장치에 인에이블 신호를 출력하거나 상승 에지의 부재에 기초하여 인에이블 신호를 취소하는 것을 더 명시한다.
예 14는 예 13의 주제를 포함할 수 있고, 또한 게이팅 장치가 인에이블 신호의 존재 또는 부재에 기초하여 코어 클럭을 수정하고 상기 수정된 코어 클럭을 출력하여 동기화된 링크 전송 수신 클럭을 제공하는 것을 더 명시한다.
예 15는 예 1내지 14의 주제를 포함할 수 있고, 또한 장치가 컴퓨터 시스템의 상호접속 패브릭의 링크 계층의 스위치를 포함하는 것을 더 명시한다.
예 16은 예 1의 주제를 포함할 수 있고, 또한 장치가 컴퓨터 시스템의 상호접속 패브릭의 호스트 패브릭 인터페이스(HFI) 장치를 포함하는 것을 더 명시한다.
예 17은 예 16의 주제를 포함할 수 있고, 또한 HFI 장치가 컴퓨터 시스템의 중앙 처리 장치(CPU)와 동일한 다이 상에 공동 상주하는 것을 명시한다.
예 18은 예 16의 주제를 포함할 수 있고, 또한 HFI 장치가 컴퓨터 시스템의 중앙 처리 장치(CPU)와는 다른 다이 상에, 그리고 컴퓨터 시스템의 CPU를 가진 동일한 패키지 내에 상주하는 것을 더 명시한다.
예 19는 링크 계층 신호 동기화를 위한 방법이고, 다음을 포함한다: 링크 전송 로직과 관련된 송신 클럭과 수신 클럭을, 링크 전송 로직을 갖는 제1 계산 노드의 코어에 의해 제공된 코어 클럭에 대하여 비교하고; 비교의 결과에 기초하여, 링크 전송 송신 클럭 또는 링크 전송 수신 클럭을 각각 생성하고; 그리고 링크 전송 송신 또는 수신 클럭들에 따라 링크 전송 로직을 통해 제1 계산 노드와 제2 계산 노드 사이에 데이터를 전송하는 단계를 포함한다.
예 20은 예 19의 주제를 포함할 수 있고, 또한 링크 전송 로직을 통해 제1 및 제2 계산 노드들 사이에 데이터를 전송하는 단계가, 링크 전송 로직의 송신 로직을 통해 링크 전송 송신 클럭에 따라 제1 계산 노드로부터 제2 계산 노드로 제1 데이터를 송신하고 링크 전송 수신 클럭에 따라 제1 계산 노드의 링크 전송 로직의 수신 로직을 통해 제2 계산 노드로부터 제2 데이터를 수신하는 단계를 포함하는 것을 더 명시한다.
예 21은 링크 계층 신호 동기화를 위한 장치이고, 다음을 포함한다: 코어; 및 이 코어와 연결된 링크 계층을 포함하고, 장치와 또 다른 장치 사이에서 데이터를 교환하기 위한 링크 전송 로직 - 상기 링크 전송 로직은 제1 주파수를 갖는 송신 클럭과 제2 주파수를 갖는 수신 클럭을 제공하기 위한 것임 -; 그리고 송신 또는 수신 클럭들에 대해 장치의 코어 클럭 주파수를 갖는 코어 클럭을 비교하고; 비교 결과들에 기초하여, 링크 전송 로직에 의해 이용될, 동기화된 링크 전송 송신 클럭 또는 동기화된 링크 전송 수신 클럭을 각각 생성하기 위해, 링크 전송 로직과 관련된 클럭 동기화 로직을 포함한다.
예 22는 예 21의 주제를 포함할 수 있고, 또한 데이터를 전송하기 위한 링크 전송 로직이 장치로부터 다른 장치로 제1 데이터를 송신하기 위한 송신 로직과 다른 장치로부터 장치에 대한 제2 데이터를 수신하기 위한 수신 로직을 포함하는 것을 명시한다.
예 23은 예 22의 주제를 포함할 수 있고, 또한 송신 로직이 메모리 버퍼와 이 메모리 버퍼와 연결된 시리얼라이저(SerDes)를 포함하는 것을 명시하며, 여기에서 송신 클럭은 제1 주파수를 갖는 SerDes 클럭을 포함하고, 여기에서 송신 로직은 링크 전송 송신 클럭에 따라 제1 데이터를 메모리 버퍼에게 제공하고 SerDes 클럭에 따라 제1 메모리 버퍼로부터 제1 데이터를 SerDes로 전송하기 위한 것이다.
예 24는 예 22의 주제를 포함할 수 있고, 또한 수신 모듈이 메모리 버퍼와 이 메모리 버퍼와 연결된 시리얼라이저-디시리얼라이저(SerDes)를 포함하는 것을 명시하며, 여기에서 수신 클럭은 제2 주파수를 갖는 SerDes 클럭을 포함하고, 여기에서 수신 로직은 SerDes 클럭에 따라 SerDes로부터 메모리로 제2 데이터를 제공하고 동기화된 링크 전송 수신 클럭에 따라 메모리 버퍼로부터 제2 데이터를 전송하기 위한 것이다.
예 25는 예 21의 주제를 포함할 수 있고, 또한 장치가 계산 노드인 것을 명시한다.
다양한 실시 형태들이 상기에서 접속사 형태(및) (예를 들어, "및"은 "및/또는"일 수도 있음)로 설명되는 실시 형태들의 대안적(또는) 실시 형태들을 포함하는 상술된 실시 형태들의 임의의 적합한 조합을 포함할 수 있다. 또한, 일부 실시 형태들은, 실행될 때 상술된 실시 형태들 중 임의의 것의 행동들을 초래하는, 그 상부에 저장된 명령어들을 갖는 하나 이상의 제조 물품들(예를 들어, 비일시적 컴퓨터 판독가능 매체)을 포함할 수 있다. 또한, 일부 실시 형태들은 상술된 실시 형태들의 다양한 동작들을 수행하기에 적합한 임의의 수단을 갖는 장치들 또는 시스템들을 포함할 수 있다.
요약서에 설명되는 것을 포함하는, 예시된 구현들에 대한 상기의 설명은 총망라한 것은 아니고, 또는 본 개시의 실시 형태들을 개시된 정확한 형태로 제한하고자 하는 것도 아니다. 예시적 목적을 위해 특정 구현들 및 예들이 본 명세서에 설명되었지만, 통상의 기술자가 인식할 수 있듯이, 본 개시의 범위 내에서 다양한 등가의 수정들이 가능하다.
이들 수정들은 상기 상세한 설명에 비추어 보아 본 개시의 실시 형태들에 대해 이뤄질 수 있다. 하기 청구항들에 사용되는 용어들은 본 개시의 다양한 실시 형태들을 명세서 및 청구항에 개시된 특정 구현들로 제한하는 것으로 해석되어서는 안 된다. 오히려, 그 범위는 청구항 해석의 확립된 원칙에 따라 해석되는 다음의 특허 청구 범위에 의해 전적으로 결정된다.

Claims (25)

  1. 장치로서,
    클럭 동기화 로직
    을 포함하고,
    상기 클럭 동기화 로직은,
    제1 주파수를 갖는 상기 장치의 송신 클럭 또는 제2 주파수를 갖는 상기 장치의 수신 클럭에 대하여 코어 클럭 주파수를 갖는 상기 장치의 코어 클럭을 비교하고;
    상기 비교의 결과들에 기초하여, 동기화된 링크 전송 송신 클럭 또는 동기화된 링크 전송 수신 클럭을 각각 생성하는, 장치.
  2. 제1항에 있어서, 상기 코어 클럭 주파수는 상기 제1 및 제2 주파수들과는 다른, 장치.
  3. 제1항에 있어서, 상기 장치는 링크 전송 로직을 더 포함하고, 상기 클럭 동기화 로직은 상기 링크 전송 로직과 관련되고, 상기 링크 전송 로직은 상기 장치로부터 다른 장치로 제1 데이터를 송신하기 위한 송신 로직과, 상기 다른 장치로부터 상기 장치에 대한 제2 데이터를 수신하기 위한 수신 로직을 포함하고, 상기 동기화된 링크 전송 송신 클럭과 동기화된 링크 전송 수신 클럭은 각각 제1 데이터 전송과 제2 데이터 수신에서 상기 링크 전송 로직에 의해 이용되는, 장치.
  4. 제3항에 있어서, 상기 송신 로직은 메모리 버퍼와, 상기 메모리 버퍼와 연결된 시리얼라이저(SerDes)를 포함하고, 상기 메모리 버퍼는 FIFO(first in first out) 메모리 소자를 포함하는, 장치.
  5. 제4항에 있어서, 상기 송신 클럭은 상기 제1 주파수를 갖는 SerDes 클럭을 포함하고, 상기 송신 로직은 상기 동기화된 링크 전송 송신 클럭에 따라 상기 제1 데이터를 상기 메모리 버퍼에 제공하고, 상기 송신 클럭에 따라 상기 메모리 버퍼로부터 상기 제1 데이터를 상기 SerDes로 전송하는 것인, 장치.
  6. 제3항에 있어서, 상기 수신 로직은 메모리 버퍼와, 상기 메모리 버퍼와 연결된 디시리얼라이저(SerDes)를 포함하는, 장치.
  7. 제6항에 있어서, 상기 수신 클럭은 상기 제2 주파수를 갖는 SerDes 클럭을 포함하고, 상기 수신 로직은 상기 수신 클럭에 따라 상기 SerDes로부터 상기 메모리 버퍼로 상기 제2 데이터를 제공하고, 상기 동기화된 링크 전송 수신 클럭에 따라 상기 메모리 버퍼로부터 상기 제2 데이터를 전송하는, 장치.
  8. 제7항에 있어서, 상기 메모리 버퍼는 FIFO 메모리 소자를 포함하는, 장치.
  9. 제1항에 있어서, 상기 클럭 동기화 로직은 게이팅 장치와, 상기 게이팅 장치와 연결된 상승 에지 검출기(positive edge detector)를 더 포함하고, 상기 클럭 동기화 로직은 상기 제1 상승 에지 검출기에서의 입력을 위한 상기 송신 클럭, 및 상기 상승 에지 검출기와 상기 게이팅 장치에서의 입력을 위한 상기 코어 클럭을 제공하는, 장치.
  10. 제9항에 있어서, 상기 상승 에지 검출기는 상기 송신 클럭의 상승 에지의 검출에 기초하여 상기 게이팅 장치에 인에이블 신호를 출력하거나, 또는 상기 상승 에지의 부재에 기초하여 상기 인에이블 신호를 취소(cancel)하는, 장치.
  11. 제10항에 있어서, 상기 게이팅 장치는 상기 인에이블 신호의 존재 또는 부재에 기초하여 상기 코어 클럭을 수정하고, 상기 수정된 코어 클럭을 출력하여 상기 동기화된 링크 전송 송신 클럭을 제공하는, 장치.
  12. 제1항에 있어서, 상기 클럭 동기화 로직은 게이팅 장치와, 상기 게이팅 장치와 연결된 상승 에지 검출기를 더 포함하고, 상기 클럭 동기화 로직은 상기 상승 에지 검출기에서의 입력을 위한 상기 수신 클럭, 및 상기 상승 에지 검출기와 상기 게이팅 장치에서의 입력을 위한 상기 코어 클럭을 제공하는, 장치.
  13. 제12항에 있어서, 상기 상승 에지 검출기는 상기 수신 클럭의 상승 에지의 검출에 기초하여 상기 게이팅 장치에 인에이블 신호를 출력하거나, 또는 상기 상승 에지의 부재에 기초하여 상기 인에이블 신호를 취소하는, 장치.
  14. 제13항에 있어서, 상기 게이팅 장치는 상기 인에이블 신호의 존재 또는 부재에 기초하여 상기 코어 클럭을 수정하고, 상기 수정된 코어 클럭을 출력하여 상기 동기화된 링크 전송 수신 클럭을 제공하는, 장치.
  15. 제1항에 있어서, 상기 장치는 컴퓨터 시스템의 상호접속 패브릭(interconnect fabric)의 링크 계층의 스위치를 포함하는, 장치.
  16. 제1항에 있어서, 상기 장치는 컴퓨터 시스템의 상호접속 패브릭의 HFI(host fabric interface) 장치를 포함하는, 장치.
  17. 제16항에 있어서, 상기 HFI 장치는 상기 컴퓨터 시스템의 중앙 처리 장치(CPU)와 동일한 다이 상에 공동 상주하는, 장치.
  18. 제16항에 있어서, 상기 HFI 장치는 상기 컴퓨터 시스템의 중앙 처리 장치(CPU)와는 다른 다이 상에, 그리고 상기 컴퓨터 시스템의 상기 CPU와 동일한 패키지 내에 상주하는, 장치.
  19. 방법으로서,
    링크 전송 로직과 관련된 송신 클럭과 수신 클럭을, 상기 링크 전송 로직을 갖는 제1 계산 노드의 코어에 의해 제공된 코어 클럭에 대하여 비교하는 단계;
    상기 비교의 결과에 기초하여, 링크 전송 송신 클럭 또는 링크 전송 수신 클럭을 각각 생성하는 단계; 및
    상기 링크 전송 송신 또는 수신 클럭들에 따라 상기 링크 전송 로직을 통해 상기 제1 계산 노드와 제2 계산 노드 사이에서 데이터를 전송하는 단계를 포함하는, 방법.
  20. 제19항에 있어서, 상기 링크 전송 로직을 통해 상기 제1 계산 노드와 제2 계산 노드 사이에서 데이터를 전송하는 단계는, 상기 링크 전송 로직의 송신 로직을 통해 상기 링크 전송 송신 클럭에 따라 상기 제1 계산 노드로부터 상기 제2 계산 노드로 제1 데이터를 송신하고, 상기 링크 전송 수신 클럭에 따라 상기 제1 계산 노드의 상기 링크 전송 로직의 수신 로직을 통해 상기 제2 계산 노드로부터 제2 데이터를 수신하는 단계를 포함하는, 방법.
  21. 장치로서,
    코어; 및
    상기 코어와 연결되는 링크 계층
    을 포함하고,
    상기 링크 계층은,
    상기 장치와 다른 장치 사이에서 데이터를 교환하고, 제1 주파수를 갖는 송신 클럭과 제2 주파수를 갖는 수신 클럭을 제공하는 링크 전송 로직; 및
    상기 링크 전송 로직과 관련되는 클럭 동기화 로직을 포함하고,
    상기 클럭 동기화 로직은, 상기 장치의 코어 클럭 주파수를 갖는 코어 클럭을 상기 송신 또는 수신 클럭들에 대하여 비교하고; 상기 비교의 결과들에 기초하여, 상기 링크 전송 로직에 의해 이용될, 동기화된 링크 전송 송신 클럭 또는 동기화된 링크 전송 수신 클럭을 각각 생성하는, 장치.
  22. 제21항에 있어서, 데이터를 전송하기 위한 상기 링크 전송 로직은 상기 장치로부터 상기 다른 장치로 제1 데이터를 송신하기 위한 송신 로직과 상기 다른 장치로부터 상기 장치에 대한 제2 데이터를 수신하기 위한 수신 로직을 포함하는, 장치.
  23. 제22항에 있어서, 상기 송신 로직은 메모리 버퍼와 상기 메모리 버퍼와 연결된 시리얼라이저(SerDes)를 포함하고, 상기 송신 클럭은 상기 제1 주파수를 갖는 SerDes 클럭을 포함하고, 상기 송신 로직은 상기 동기화된 링크 전송 송신 클럭에 따라 상기 제1 데이터를 상기 메모리 버퍼에 제공하고 상기 SerDes 클럭에 따라 상기 제1 메모리 버퍼로부터 상기 제1 데이터를 상기 SerDes로 전송하는, 장치.
  24. 제22항에 있어서, 상기 수신 로직은 메모리 버퍼와 상기 메모리 버퍼와 연결된 시리얼라이저-디시리얼라이저(SerDes)를 포함하고, 상기 수신 클럭은 상기 제2 주파수를 갖는 SerDes 클럭을 포함하고, 상기 수신 로직은 상기 SerDes 클럭에 따라 상기 SerDes로부터 상기 메모리로 상기 제2 데이터를 제공하고, 상기 동기화된 링크 전송 수신 클럭에 따라 상기 메모리 버퍼로부터 상기 제2 데이터를 전송하는, 장치.
  25. 제21항에 있어서, 상기 장치는 계산 노드인, 장치.
KR1020150141433A 2014-11-10 2015-10-08 링크 계층 신호 동기화 KR101767320B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/537,618 2014-11-10
US14/537,618 US20160132072A1 (en) 2014-11-10 2014-11-10 Link layer signal synchronization

Publications (2)

Publication Number Publication Date
KR20160055685A true KR20160055685A (ko) 2016-05-18
KR101767320B1 KR101767320B1 (ko) 2017-08-10

Family

ID=54330661

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150141433A KR101767320B1 (ko) 2014-11-10 2015-10-08 링크 계층 신호 동기화

Country Status (5)

Country Link
US (1) US20160132072A1 (ko)
EP (1) EP3018849A1 (ko)
JP (1) JP6100340B2 (ko)
KR (1) KR101767320B1 (ko)
CN (1) CN105591728B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018057349A1 (en) * 2016-09-23 2018-03-29 Altera Corporation Adaptive rate matching first-in first-out (fifo) system

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108650071A (zh) * 2018-05-22 2018-10-12 联想(北京)有限公司 一种通信控制方法、通信控制器及电子设备
US10983554B2 (en) * 2019-02-15 2021-04-20 Wipro Limited Method and system for clock synchronization based on time based control

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05130094A (ja) * 1991-11-06 1993-05-25 Fujitsu Ltd クロツク乗換回路
JPH05260029A (ja) * 1992-03-16 1993-10-08 Fujitsu Ltd クロック乗換回路
US6377575B1 (en) 1998-08-05 2002-04-23 Vitesse Semiconductor Corporation High speed cross point switch routing circuit with word-synchronous serial back plane
JP2000353027A (ja) * 1999-06-11 2000-12-19 Hitachi Ltd クロック制御方法およびそれを用いた電子回路装置
US6775339B1 (en) * 1999-08-27 2004-08-10 Silicon Graphics, Inc. Circuit design for high-speed digital communication
US7254647B2 (en) * 2001-03-23 2007-08-07 International Business Machines Corporation Network for decreasing transmit link layer core speed
US6988215B2 (en) * 2001-09-14 2006-01-17 Medtronic, Inc. Method and apparatus for synchronization of clock domains
JP3798292B2 (ja) * 2001-10-31 2006-07-19 富士通株式会社 データ同期化回路及び通信インターフェース回路
US8230114B2 (en) * 2002-08-07 2012-07-24 Broadcom Corporation System and method for implementing a single chip having a multiple sub-layer PHY
GB2397966B (en) * 2003-02-01 2005-04-20 3Com Corp High-speed switch architecture
GB2413043B (en) * 2004-04-06 2006-11-15 Wolfson Ltd Clock synchroniser and clock and data recovery apparatus and method
US7571338B2 (en) * 2004-05-24 2009-08-04 Telefonaktiebolaget Lm Ericsson (Publ) Determining a time difference between first and second clock domains
US7639764B2 (en) * 2005-08-17 2009-12-29 Atmel Corporation Method and apparatus for synchronizing data between different clock domains in a memory controller
WO2008057829A2 (en) * 2006-11-08 2008-05-15 Sicortex, Inc. Mesochronous clock system and method to minimize latency and buffer requirements
JP4593677B2 (ja) * 2007-12-21 2010-12-08 富士通株式会社 クロック乗せ換え装置及びクロック乗せ換え方法
US8484307B2 (en) 2008-02-01 2013-07-09 International Business Machines Corporation Host fabric interface (HFI) to perform global shared memory (GSM) operations
US8122270B2 (en) * 2008-09-29 2012-02-21 Intel Corporation Voltage stabilization for clock signal frequency locking
EP2515197A1 (en) * 2011-04-21 2012-10-24 STMicroelectronics SA Clock gating circuit using a Muller C- element
CN102394715B (zh) * 2011-06-30 2016-09-07 烟台惠通网络技术有限公司 时钟同步方法和装置
EP2620834A1 (en) 2012-01-26 2013-07-31 ST-Ericsson SA Modulated clock synchroniser
US9223541B2 (en) * 2012-11-20 2015-12-29 Advanced Micro Devices, Inc. Method and apparatus to eliminate frequency holes in a memory I/O system
US10013375B2 (en) * 2014-08-04 2018-07-03 Samsung Electronics Co., Ltd. System-on-chip including asynchronous interface and driving method thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018057349A1 (en) * 2016-09-23 2018-03-29 Altera Corporation Adaptive rate matching first-in first-out (fifo) system
US10146249B2 (en) 2016-09-23 2018-12-04 Altera Corporation Adaptive rate-matching first-in first-out (FIFO) system

Also Published As

Publication number Publication date
KR101767320B1 (ko) 2017-08-10
JP2016096537A (ja) 2016-05-26
CN105591728B (zh) 2021-04-20
EP3018849A1 (en) 2016-05-11
US20160132072A1 (en) 2016-05-12
JP6100340B2 (ja) 2017-03-22
CN105591728A (zh) 2016-05-18

Similar Documents

Publication Publication Date Title
EP3706005B1 (en) Secure stream protocol for serial interconnect
US10216674B2 (en) High performance interconnect physical layer
EP3035198B1 (en) Low power entry in a shared memory link
EP3035563B1 (en) High performance optical repeater
CN112671676A (zh) 可调节的重定时器缓冲器
US20200151362A1 (en) Integrity and data encryption (ide) over computer buses
US11372787B2 (en) Unified address space for multiple links
US20160285624A1 (en) Pseudorandom bit sequences in an interconnect
US20170068628A1 (en) Reducing ethernet latency in a multi-server chassis
US9625980B2 (en) Low power configuration for USB (Universal Serial Bus) devices
EP2778939A2 (en) Optical memory extension architecture
TW200830109A (en) Controller link for manageability engine
EP3234777B1 (en) Sideband parity handling
US10461805B2 (en) Valid lane training
KR101767320B1 (ko) 링크 계층 신호 동기화
WO2013095557A1 (en) Deterministic clock crossing
WO2018186876A1 (en) Technologies for high-precision timestamping of packets
CN103577378B (zh) 一种全双工异步串行通信方法
US7568118B2 (en) Deterministic operation of an input/output interface
CA3047934A1 (en) A method and a mirrored serial interface (msi) for transferring data
US10429881B2 (en) Semiconductor device for stopping an oscillating clock signal from being provided to an IP block, a semiconductor system having the semiconductor device, and a method of operating the semiconductor device
WO2021158299A1 (en) Bi-directional buffer with circuit protection time synchronization
CN107949995B (zh) 用于数据通信的装置、方法和系统
Li et al. A Wrapper of PCI Express with FIFO Interfaces based on FPGA
US20240106644A1 (en) Mitigation of side channel attacks on platform interconnects using endpoint hardware based detection, synchronization and re-keying

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant