KR102396212B1 - 고속을 위한 하드웨어 전송 이퀄라이제이션 - Google Patents

고속을 위한 하드웨어 전송 이퀄라이제이션 Download PDF

Info

Publication number
KR102396212B1
KR102396212B1 KR1020217007445A KR20217007445A KR102396212B1 KR 102396212 B1 KR102396212 B1 KR 102396212B1 KR 1020217007445 A KR1020217007445 A KR 1020217007445A KR 20217007445 A KR20217007445 A KR 20217007445A KR 102396212 B1 KR102396212 B1 KR 102396212B1
Authority
KR
South Korea
Prior art keywords
lanes
subset
rate
speed
equalization training
Prior art date
Application number
KR1020217007445A
Other languages
English (en)
Other versions
KR20210040444A (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 KR20210040444A publication Critical patent/KR20210040444A/ko
Application granted granted Critical
Publication of KR102396212B1 publication Critical patent/KR102396212B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/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/4278Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using an embedded synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03878Line equalisers; line build-out devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0264Arrangements for coupling to transmission lines
    • H04L25/0272Arrangements for coupling to multiple lines, e.g. for differential transmission
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Dc Digital Transmission (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
  • Bus Control (AREA)

Abstract

타겟 고속에서 전송 이퀄라이제이션을 수행하기 위한 시스템, 장치 및 방법이 개시된다. 컴퓨팅 시스템은 적어도 송신기, 수신기 및 송신기와 수신기를 연결하는 통신 채널을 포함한다. 통신 채널은 레인들의 제1 서브세트 및 레인들의 제2 서브세트로 세분화되는 복수의 레인들을 포함한다. 이퀄라이제이션 훈련 동안, 레인들의 제1 서브세트는 제1 속도에서 작동하고 레인들의 제2 서브세트는 제2 속도에서 작동한다. 제1 속도는 통신 링크를 작동시키기 위한 원하는 타겟 속도이고, 제2 속도는 이퀄라이제이션 훈련 전에 주어진 레인을 통해 신뢰할 수 있는 데이터 전송을 가능하게 하는 상대적으로 낮은 속도이다. 레인들의 제1 서브세트는 제1 속도에서 훈련되는 반면 피드백은 제2 속도에서 작동하는 레인들의 제2 서브세트를 사용하여 수신기로부터 송신기로 전달된다.

Description

고속을 위한 하드웨어 전송 이퀄라이제이션
본 발명은 타겟 고속에서 전송 이퀄라이제이션을 수행하기 위한 시스템, 장치 및 방법에 관한 것이다.
최신 프로세서(processor)는 빠르고 효율적인 계산을 용이하게 하는 다양한 회로와 구성 요소를 포함한다. 또한, 프로세서에 대한 외부 디바이스를 포함하여 디바이스들 간의 통신을 관리하기 위한 회로 및 구성 요소가 포함된다. 예를 들어, 프로세서는 디스플레이 디바이스, 외부 저장 디바이스, 네트워크 통신 및 기타 다양한 주변 디바이스와 같은 외부 디바이스와 자주 통신한다. 이러한 디바이스와 통신하기 위해, 트랜잭션(transaction)이 프로세서의 처리 요소(예를 들어, 중앙 처리 유닛, 그래픽 처리 유닛 등)에서 전달되고 수신된다.
현대 컴퓨팅 시스템에서, 많은 시스템 구성 요소들은 지점 간 링크(point-to-point link)를 사용하여 함께 연결된다. "지점 간 링크"는 본원에서 "직렬 링크(serial link)"로도 지칭된다는 점에 유의한다. 직렬 링크는 한 번에 한 비트씩 데이터를 전달하는 통신 채널이며, 직렬 링크는 신호 무결성이 더 우수하고 병렬 통신 채널에 비해 훨씬 높은 데이터 속도를 달성할 수 있기 때문에 점점 더 보편화되고 있다. 그러나, 높은 데이터 속도로 데이터를 전송하기 위해 지점 간 링크를 준비하는 것은 일반적으로 느리고 복잡한 프로세스이다.
본원에 설명된 방법 및 메커니즘의 장점은 첨부된 도면과 함께 다음 설명을 참조하여 더 잘 이해될 수 있으며, 여기서:
도 1은 통신 채널에 대한 물리 계층 사양(specifications)의 일 구현의 블록도이다.
도 2는 컴퓨팅 시스템의 송신기 및 수신기의 일 구현의 블록도이다.
도 3은 송신기와 수신기 사이의 통신 채널의 일 구현의 블록도이다.
도 4는 데이터 아이(data eye)의 일 구현의 다이어그램이다.
도 5는 이퀄라이제이션(equalization) 훈련을 수행하는 방법의 일 구현을 예시하는 일반화된 흐름도이다.
도 6은 이퀄라이제이션 훈련을 수행할 때 통신 링크의 복수의 레인들을 세분화하는 방법을 결정하는 방법의 일 구현을 나타내는 일반화된 흐름도이다.
도 7은 감소된 레이턴시 이퀄라이제이션 훈련을 수행하기 위한 방법의 일 구현을 예시하는 일반화된 흐름도이다.
도 8은 피드백 정보를 전달하기 위해 측대파 신호(sideband signal)를 사용하여 이퀄라이제이션 훈련을 수행하는 방법의 일 구현을 예시하는 일반화된 흐름도이다.
다음의 설명에서, 본원에 제시된 방법 및 메커니즘에 대한 철저한 이해를 제공하기 위해 수많은 특정 세부 사항이 설명된다. 그러나, 당업자는 이러한 특정 세부 사항 없이 다양한 구현이 실행될 수 있음을 인식해야 한다. 일부 예에서, 잘 알려진 구조, 구성 요소, 신호, 컴퓨터 프로그램 명령 및 기술은 본원에 설명된 접근 방식을 모호하게 하는 것을 피하기 위해 상세하게 표시되지 않았다. 예시의 단순성 및 명료성을 위해, 도면에 도시된 요소가 반드시 일정한 비율로 그려진 것은 아님을 이해할 것이다. 예를 들어, 일부 요소의 치수는 다른 요소에 비해 과장될 수 있다.
타겟 고속(target high speed)으로 전송 이퀄라이제이션(transmit equalization)을 수행하기 위한 다양한 시스템, 장치 및 방법이 본원에 개시된다. 컴퓨팅 시스템은 적어도 송신기, 수신기 및 송신기와 수신기를 연결하는 통신 채널을 포함한다. 통신 채널은 복수의 N개의 레인(lane)들을 포함하며, 여기서 N은 1보다 큰 양의 정수이다. 복수의 레인들은 레인들의 제1 서브세트와 레인들의 제2 서브세트로 세분화된다. 레인들의 제1 서브세트에는 1부터 K까지 임의의 수의 레인들이 포함되며, 여기서 K는 양의 정수이다. 또한, 레인들의 제2 서브세트에는 1에서 (N-K)까지 임의의 수의 레인들이 포함된다. 제1 및 제2 서브세트들의 레인들의 수는 구현에 따라 달라진다는 점에 유의한다.
이퀄라이제이션 훈련 동안, 레인들의 제1 서브세트는 제1 속도로 작동하고 제2 서브세트는 제2 속도로 작동한다. 제1 속도는 통신 링크를 작동하는 데 필요한 타겟 속도이고 제2 속도는 상대적으로 낮은 속도이다. 레일들의 제1 서브세트는 제1 속도로 훈련되는 반면 피드백은 제2 속도로 작동하는 레인들의 제2 서브세트를 사용하여 수신기로부터 송신기로 전달된다. 레인들의 제2 서브세트가 더 낮은 제2 속도로 작동하기 때문에, 레인들의 제2 서브세트는 먼저 이퀄라이제이션 훈련을 겪지 않고도 피드백 정보를 전달할 수 있다. 제1 서브세트에 대한 이퀄라이제이션 훈련이 완료된 후, 제2 서브세트는 제1 속도에서 수신기로부터 송신기로 피드백 정보를 전달하는 레인들의 제1 서브세트로 훈련된다. 제2 서브세트가 훈련된 후, 통신 링크의 모든 레인들은 이제 제1 속도로 데이터를 전송할 수 있다. 이퀄라이제이션 훈련을 수행하는 위의 기술은 통신 링크의 이퀄라이제이션 훈련을 수행하는 데 필요한 단계들의 수와 시간을 줄인다.
이제 도 1을 참조하면, 물리적 채널(135)에 의해 연결된 송신기(102) 및 수신기(104)의 일 구현의 블록도가 도시된다. 일 구현에서, 송신기(102)는 임의의 수의 데이터 레인들을 갖는 물리적 채널(135)을 통해 수신기(104)와 통신한다. 일 구현에서, 송신기(102)는 물리적 채널(135)에 연결하기 위한 물리적 미디어 부착 계층(physical media attachment layer)(115)을 포함한다. 또한, 일 구현에서, 송신기(102)는 논리적 서브-블록 물리적 코딩 서브-계층(110) 및 미디어 액세스 계층(105)을 포함한다. 유사하게, 수신기(104)는 물리적 미디어 부착 계층(130), 물리적 코딩 서브-계층(125) 및 미디어 액세스 계층(120)을 포함한다.
일 구현에서, 물리적 채널(135)은 직렬 데이터(serial data)를 전송하기 위한 송신기(102)와 수신기(104) 사이의 지점 간 링크이다. 물리적 채널(135)은 일부 구현에서 양방향 링크일 수 있다는 점에 유의한다. 이러한 구현에서, 송신기(102) 및 수신기(104)는 트랜시버(transceiver)로 지칭된다. 물리적 채널(135)은 임의의 수의 데이터 레인들을 포함하며, 레인들의 수는 구현에 따라 달라진다. 일 구현에서, 각 데이터 레인은 링크 파트너들 사이의 두 개의 단방향(uni-directional) 링크들을 포함한다.
다양한 구현에서, 송신기(102) 및 수신기(104)는 임의의 다양한 유형의 컴퓨팅 시스템에서 임의의 다양한 유형의 디바이스로서 구현된다. 예를 들어, 일 구현에서, 송신기(102) 및 수신기(104)는 개별 집적 회로(IC)이다. 다른 구현에서, 송신기(102) 및 수신기(104)는 별개의 시스템 온 칩(SoC)이다. 추가 구현에서, 송신기(102) 및 수신기(104)는 별개의 소켓(socket)이다. 송신기(102) 및 수신기(104)를 구현하기 위한 다른 유형의 디바이스가 가능하며 고려된다.
일 구현에서, 전송 이퀄라이제이션은 두 개의 물리적 미디어 부착 계층들(115 및 130) 사이에서 수행된다. 전송 이퀄라이제이션은 더 높은 송신기(102)의 논리적 레벨들(105 및 110) 및 수신기(104)의 논리적 레벨들(120 및 125)에 의해 제어된다. 일 실시 예에서, 논리적 레벨들은 물리적 미디어 부착 계층들(115 및 130)에 이퀄라이제이션 설정을 제공한 다음 물리적 미디어 부착 계층들(115 및 130)로부터의 피드백을 확인한다. 피드백을 기반으로, 논리적 레벨들은 최적의 전송 이퀄라이제이션 설정을 찾을 때까지 새 이퀄라이제이션 설정을 적용하고 피드백을 확인하는 등의 작업을 수행한다.
시스템(100)은 송신기-수신기 쌍들 사이에서 데이터를 전송하기 위한 다양한 수의 통신 링크들을 포함한다. 이러한 통신 링크들 중 하나 이상은 다중 데이터 레인들을 갖는다. 일 구현에서, 전원 공급 또는 재설정 시, 주어진 송수신기-수신기 쌍은 대응하는 통신 링크를 데이터 레인들의 두 개의 서브세트들로 세분화함으로써 이퀄라이제이션 훈련을 수행한다. 데이터 레인들의 제1 서브세트는 고속(즉, 타겟 속도)으로 작동하고 전송 이퀄라이제이션 훈련을 거치는 반면, 데이터 레인들의 제2 서브세트는 저속으로 작동하고 데이터 레인들의 제1 서브세트의 전송 이퀄라이제이션 훈련과 관련된 피드백 정보를 전달한다. "속도(speed)"는 본원에서 "클록 속도", "주파수" 또는 "클록 주파수"로도 지칭된다는 점에 유의한다. 이 접근 방식을 사용하면, 데이터 레인들의 제1 서브세트가 단일 훈련 단계에서 타겟 속도로 훈련될 수 있다. 데이터 레인들의 제1 서브세트가 훈련된 후, 데이터 레인들의 제1 서브세트가 대응되는 피드백 정보를 전달하는 동안 데이터 레인들의 제2 서브세트가 타겟 속도로 훈련된다. 데이터 레인들의 제2 서브세트가 훈련된 후, 통신 링크의 모든 데이터 레인들이 타겟 속도로 데이터를 전송할 수 있다. 임의의 수의 통신 링크들이 상기 단계들을 수행할 수 있으며, 그 수는 시스템(100) 및 구현에 따라 달라진다.
다양한 구현에서, 컴퓨팅 시스템(100)은 컴퓨터, 랩탑, 모바일 디바이스, 게임 콘솔, 서버, 스트리밍 디바이스, 웨어러블 디바이스, 또는 다양한 다른 유형의 컴퓨팅 시스템들 또는 디바이스들 중 임의의 것이다. 컴퓨팅 시스템(100)의 구성 요소들의 수는 구현마다 다르다는 점에 유의한다. 예를 들어, 다른 구현에서는, 도 1에 도시된 수보다 더 많거나 적은 각 구성 요소가 있다. 다른 구현에서, 컴퓨팅 시스템(100)은 도 1에 도시되지 않은 다른 구성 요소를 포함한다는 것을 또한 주목한다. 추가적으로, 다른 구현에서, 컴퓨팅 시스템(100)은 도 1에 도시된 것과 다른 방식으로 구조화된다.
이제 도 2로 돌아가면, 컴퓨팅 시스템(200)의 링크 파트너(205A) 및 링크 파트너(205B)의 일 구현을 예시하는 블록도가 도시되어 있다. 링크 파트너(205A)는 링크(215)를 통해 링크 파트너(205B)에 연결된다. 링크(215)는 구현에 따라 임의의 수의 데이터 레인들을 포함한다. 컴퓨팅 시스템(200)은 또한 도면을 모호하게 하는 것을 피하기 위해 도시되지 않은 하나 이상의 다른 구성 요소들을 포함한다. 예를 들어, 다양한 구현에서, 컴퓨팅 시스템(200)은 하나 이상의 처리 유닛들(예를 들어, 프로세서, 프로세서 코어, 프로그래밍 가능 논리 디바이스, 어플리케이션 특정 집적 회로), 하나 이상의 메모리 디바이스들 및/또는 다른 구성 요소들을 포함한다. 하나 이상의 처리 유닛들은 구현에 따라 명령어를 실행하고 및/또는 하나 이상의 유형의 계산(예를 들어, 부동 소수점(floating point), 정수(integer), 메모리, I/O)을 수행한다. 링크 파트너(205A) 및 링크 파트너(205B)는 본원에서 "트랜시버"라고도 지칭된다는 점에 유의한다.
링크 파트너(205A)는 트레이닝 시퀀스를 생성하고, 피드백을 분석하고, 전송 프리 엠퍼시스(pre-emphasis) 설정을 조정하고, 속도 설정을 제어하고, 및/또는 링크(215)의 레인들에 대한 다른 기능을 수행하기 위한 제어 로직(225)을 포함한다. 도 2에 도시되지 않았지만, 제어 로직(225)에 더하여, 링크 파트너(205A)는 또한 내부 클록 생성 구성 요소 및/또는 회로, 위상 고정 루프(phase-locked loop, PLL), 및/또는 클록 속도를 조정하기 위한 다른 회로를 포함할 수 있다. 제어 로직(225)은 본 명세서에서 "제어 유닛"으로도 지칭된다는 점에 유의한다. 링크 파트너(205B)는 링크(215)의 이퀄라이제이션 훈련 시퀀스를 검출하고, 수신된 테스트 패턴을 예상 값과 비교하고, 피드백을 생성하고, 및/또는 다른 기능을 수행하기 위한 제어 로직(230)을 포함한다. 도 2에 도시되지 않았지만, 제어 로직(230)에 추가하여, 링크 파트너(205B)는 또한 내부 클록 생성 구성 요소 및/또는 회로, PLL, 및/또는 클록 속도를 조정하기 위한 다른 회로를 포함할 수 있다.
일 구현에서, 링크 파트너(205A)는 링크(215)의 데이터 레인들의 제1 서브세트를 통해 제1 클록 속도로 이퀄라이제이션 훈련 시퀀스를 개시한다. 제1 클록 속도는 링크(215)의 고속 동작을 위한 타겟 속도인 고속이다. 즉, 제1 클록 속도는 데이터가 링크(215)에서 전송될 수 있는 최대 클록 속도이다. 일 구현에서, 이퀄라이제이션 트레이닝 시퀀스를 개시하기 위해, 링크 파트너(205A)는 테스트되는 데이터 레인들의 제1 서브세트의 각 레인에서 트레이닝 시퀀스 지시(indication)를 전송한다. 일 구현에서, 트레이닝 시퀀스 지시는 2진 0에서 2진 1로의 전환에 이어 미리 결정된 수의 1들이 따른다. 다른 구현에서, 훈련 시퀀스 지시는 다른 유형의 전환 및/또는 값이다. 훈련 시퀀스 지시를 전송한 후, 링크 파트너(205A)는 데이터 레인들의 제1 서브세트의 각 레인에서 이퀄라이제이션 훈련 패턴을 전송한다. 일 구현에서, 테스트 패턴은 PRBS(pseudo-random binary sequence)이다. 일반적으로 PRBS는 랜덤 이진 시퀀스와 유사한 동작을 나타내는 결정형 이진 시퀀스(deterministic binary sequence)이다.
링크 파트너(205B)는 링크(215)의 데이터 레인들의 제1 서브세트(215A)에서 전송된 이퀄라이제이션 훈련 패턴을 수신하고, 링크 파트너(205B)는 수신된 데이터를 예상 값과 비교함으로써 수신된 테스트 패턴에 오류가 있는지 여부를 확인한다. 링크 파트너(205B)는 캡처된 훈련 패턴의 오류 수에 기초하여 피드백 데이터를 생성한다. 예를 들어, 일 구현에서, 피드백 데이터는 캡처된 훈련 패턴에서 검출된 여러 오류를 지정한다. 다음으로, 링크 파트너(205B)는 링크(215)의 데이터 레인들의 제2 서브세트(215B)를 통해 제2 클록 속도로 피드백 데이터를 링크 파트너(205A)에 전송한다. 일 구현에서, 제2 클록 속도는 이러한 레인들에서 이퀄라이제이션 훈련이 수행되기 전에 데이터가 데이터 레인들의 제2 서브세트(215B)를 통해 정확하게 수신될 수 있도록 하는 비교적 낮은 클록 속도이다. 일부 경우에, 제2 클록 속도는 제1 클록 속도보다 실질적으로 낮다. 예를 들어, 일 구현에서, 제2 클록 속도는 제1 클록 속도의 절반 미만이다. 링크 파트너(205A)는 피드백 데이터를 캡처한 다음 피드백(이전 및/또는 후속 테스트로부터의 피드백과 함께)을 사용하여 데이터 레인들의 제1 서브세트(215A)에 대한 데이터 아이(data eye)를 식별한다. 피드백을 캡처한 후, 링크 파트너(205A)는 다른 테스트를 수행할지 또는 이퀄라이제이션 훈련을 종료할 수 있는지 여부를 결정한다.
링크(215)의 데이터 레인들의 제1 서브세트(215A)에 대한 이퀄라이제이션 훈련이 완료되면, 링크 파트너(205A) 및 링크 파트너(205B)는 유사한 방식으로 링크(215)의 데이터 레인들의 제2 서브세트(215B)에 대해 이퀄라이제이션 훈련을 수행한다. 그러나, 한 가지 차이점은 피드백이 제1 속도로 데이터 레인들의 제1 서브세트(215A) 상에서 전송될 것이라는 점이다. 데이터 레인의 제2 서브세트(215B)가 훈련되면, 링크(215)의 모든 레인들은 링크 파트너(205A)에 의해 전송된 데이터를 전송할 때 제1 속도로 작동할 수 있다. 링크 파트너(205A)가 훈련된 후, 링크 파트너(205B)가 유사한 방식으로 훈련될 수 있다는 점에 유의한다.
시스템(200)은 링크 파트너(205A) 및 링크 파트너(205B)를 포함하는 임의의 유형의 컴퓨팅 시스템 또는 컴퓨팅 디바이스를 나타낸다. 예를 들어, 다양한 구현에서, 시스템(200)은 컴퓨터, 서버, 컴퓨팅 노드, 프로세서, 처리 디바이스, 프로그래밍 가능한 논리 디바이스, 메모리 디바이스, PIM(processing in memory) 노드, 모바일 디바이스, 텔레비전, 엔터테인먼트 시스템 또는 디바이스, 및/또는 기타 유형의 시스템 또는 디바이스이다. 시스템(200)은 또한 링크 파트너(205A) 및 링크 파트너(205B) 이외에 임의의 수의 다른 링크 파트너 쌍을 포함한다.
이제 도 3을 참조하면, 송신기(310)와 수신기(320) 사이의 통신 채널(330)의 일 구현의 블록도가 도시된다. 통신 채널(330)은 송신기(310)와 수신기(320)를 연결하는 임의의 유형의 통신 채널을 나타낸다. 통신 채널(330)은 본원에서 "통신 링크"라고도 지칭된다는 점에 유의한다. 통신 채널(330)은 임의의 수 "N"의 데이터 레인들을 가지며, 여기서 N은 1보다 큰 양의 정수이고, 수 "N"은 구현에 따라 달라진다. 각 데이터 레인(0-(N-1))은 직렬 비트 스트림을 전달하도록 구성된다. 다른 구현에서, 통신 채널(330)은 클록 레인 및/또는 하나 이상의 다른 레인을 포함한다.
일 구현에서, 채널(330)은 서브세트(330A) 및 서브세트(330B)로 세분된다. 도 3에 도시된 바와 같이, 서브세트(330A)는 K개의 레인들을 포함하는 반면 서브세트(330B)는 (N-K)개의 레인들을 포함한다. K 값은 구현에 따라 달라지며, K는 1에서 (N-1)까지의 정수와 같다. 일 구현에서, 송신기는 서브세트(330B)에서 비교적 낮은 속도로 이퀄라이제이션 훈련과 관련된 피드백을 전송하면서 서브세트(330A)에 대해 타겟 클록 속도로 이퀄라이제이션 훈련을 수행한다. 일단 모든 훈련이 완료되고 일단 통신 채널(330)이 작동하는 것으로 간주되면 타겟 클록 속도는 통신 채널(330)을 통해 데이터를 전송하는 원하는 속도를 의미한다. 상대적으로 낮은 속도는 이퀄라이제이션 훈련이 수행되기 전에 신뢰할 수 있는 방식으로 데이터를 송수신할 수 있는 클록 속도이다. 용어 "신뢰할 수 있는 방식"은 수신된 비트 오류율이 주어진 임계 값 미만임을 의미한다.
수신기(320)에 의해 생성되고 송신기(310)로 전송된 피드백은 수신된 테스트 패턴에 오류가 있었는지 여부를 나타낸다. 일 구현에서, 피드백은 단일 비트이다. 다른 구현에서, 피드백은 오류의 수를 표시하기 위해 다중 비트를 사용한다. 송신기(310)는 피드백을 수신하고 피드백을 이용하여 현재 전송 설정이 데이터 아이의 내부 또는 외부에 있는지를 결정한다. 일 구현에서, 송신기(310)가 피드백을 수신한 후, 송신기(310)는 서브세트(330A)의 레인들에 대한 하나 이상의 전송 설정을 변경하고 훈련이 불완전한 것으로 간주되면(예를 들어, 지시된 오류가 있음) 다른 테스트가 수행된다. 대안적으로, 훈련은 완료된 것으로 간주되고(예를 들어, 지시된 오류가 없는 경우) 송신기(310)는 타겟 클록 속도에서 훈련 서브세트(330B)의 다음 단계로 진행한다. 타겟 클록 속도에서 서브세트(330B)에 대해 이퀄라이제이션 훈련이 수행될 때, 수신기(320)는 타겟 클록 속도에서 서브세트(330A) 상으로 송신기(310)에 피드백을 전송한다. 송신기(310)는 피드백을 사용하여 서브세트(330B)의 레인들에 대한 전송 설정을 조정한다. 일단 서브세트(330B)의 레인들의 훈련이 완료된 것으로 간주되면, 서브세트(330A 및 330B)의 모든 레인들은 정상 작동을 시작하고 타겟 클록 속도로 데이터를 전달할 수 있다.
이제 도 4로 돌아 가면, 데이터 아이(400)의 일 구현의 다이어그램이 도시된다. 데이터 아이(400)는 채널(예를 들어, 도 3의 통신 채널(330))의 데이터 레인상의 비트 전환(bit transition)을 캡처함으로써 모니터링되는 데이터 유효 기간(data valid period)의 일례이다. 일 구현에서, 송신기(예를 들어, 도 3의 송신기(310))는 타겟 속도로 작동하는 레인들의 제1 서브세트(예를 들어, 도 3의 서브세트(330A))에 대한 데이터 아이(400)의 경계를 검출하기 위해 상이한 전송 설정에서 다중 피드백 훈련 시퀀스를 전송한다. 송신기는 상대적으로 낮은 속도로 작동하는 레인들의 제2 서브세트(예를 들어, 도 3의 서브세트(330B))에서 수신기(예를 들어, 도 3의 수신기(320))로부터 각 테스트의 결과에 대한 피드백을 수신한다. 수신기는 레인들의 제2 서브세트에 대한 피드백을 유도하여 주어진 테스트에서 오류가 감지되었는지 여부를 나타낸다.
다양한 구현에서, 송신기는 다중 전송 설정에서 다중 테스트를 실행하며, 피드백이 불량(즉, 하나 이상의 오류)에서 양호(즉, 오류 없음)로 바뀔 때, 송신기는 특정 전송 설정이 데이터 아이(400)의 개방(opening)(410)과 일치하는 것으로 인식한다. 일 구현에서, 송신기는 작은 증분으로 지연을 추가하고 추가 테스트를 수행하며, 피드백이 양호에서 불량으로 바뀔 때, 송신기는 이것을 데이터 아이(400)의 폐쇄(closing)(420)로 식별한다. 송신기는 데이터 아이(400)의 중심(430)을 계산하기 위해 개방(410) 및 폐쇄(420)의 평균을 취한다. 데이터 아이(400)의 중심(430)에 대응하는 전송 설정은 채널의 주어진 데이터 레인들에 대한 최적의 전송 설정으로 간주된다. 송신기는 채널의 각 데이터 레인들에 대해 이러한 테스트를 수행한다.
이제 도 5를 참조하면, 이퀄라이제이션 훈련을 수행하기 위한 방법(500)의 일 구현이 도시된다. 논의를 위해, 이 구현의 단계들과 도 6 내지 도 8의 단계들이 순차적으로 도시된다. 그러나, 설명된 방법의 다양한 구현에서, 설명된 요소들 중 하나 이상이 도시된 것과 다른 순서로 동시에 수행되거나 완전히 생략된다는 점에 유의한다. 다른 추가 요소들도 원하는 대로 수행된다. 본원에 설명된 임의의 다양한 시스템 또는 장치는 방법(500)을 구현하도록 구성된다.
통신 링크에 연결된 제어 유닛(예를 들어, 도 2의 제어 로직(225))은 통신 링크에 대해 이퀄라이제이션 훈련을 수행하기 위한 조건을 검출한다(블록 505). 다양한 구현에서, 조건은 파워-온 사이클(power-on cycle), 리셋 사이클(reset cycle) 또는 기타이다. 통신 링크는 제1 트랜시버(예를 들어, 링크 파트너(A))를 제2 트랜시버(예를 들어, 링크 파트너(B))에 연결하고, 통신 링크는 복수의 레인들을 포함한다. "이퀄라이제이션 훈련"은 본원에서 "전송 이퀄라이제이션 훈련"으로도 지칭된다는 점에 유의한다.
조건 검출에 응답하여, 제어 유닛은 제1 속도로 복수의 레인들 중 레인들의 제1 서브세트를 작동시킨다(블록 510). 레인들의 제1 서브세트는 일 구현에서 단일 레인만을 포함할 수 있다는 점에 유의해야 한다. 일 구현에서, 제1 속도는 통신 링크를 동작시키기 위한 타겟 속도이다. 즉, 제1 속도는 일단 이퀄라이제이션 훈련이 완료되면 통신 링크를 통해 신뢰할 수 있는 데이터 전송을 위한 가능한 최고 속도이다. 또한, 조건을 검출하는 것에 응답하여, 제어 유닛은 제2 속도로 복수의 레인들 중 레인들의 제2 서브세트를 작동시키고, 여기서 제2 속도는 제1 속도보다 낮다(블록 515). 레인들의 제2 서브세트는 일 구현에서 단일 레인만을 포함할 수 있다는 점에 유의해야 한다. 다른 구현에서, 레인들의 제2 서브세트는 하나 이상의 레인들을 포함한다. 일 구현에서, 제2 속도는 주어진 데이터 레인에서 이퀄라이제이션 훈련이 수행되기 전에 주어진 데이터 레인을 통해 신뢰할 수 있는 데이터 전송을 가능하게 하는 속도이다. 즉, 제2 속도는 링크가 명확한 데이터 아이를 얻기 위해 전송 이퀄라이제이션을 수행할 필요가 없도록 충분히 낮다. 따라서, 데이터는 제2 속도로 전송될 수 있으며 송신기 이퀄라이제이션 설정을 조정하지 않고도 복구될 수 있다. "신뢰할 수 있는 데이터 전송"이라는 용어는 예상 전송 비트 오류율이 임계 값 미만이 되도록 데이터를 전송 및 수신하는 것으로 정의된다.
다음으로, 전송 이퀄라이제이션 훈련의 제1 단계가, 링크 파트너(A)에 상이한 프리 엠퍼시스 설정을 적용하고 제2 속도로 작동하는 레인들의 제2 서브세트로 링크 파트너(B)로부터 링크 파트너(A)로 제1 피드백을 전송함으로써, 제1 속도로 작동하는 레인들의 제1 서브세트에서 수행된다(블록 520). 다음으로, 블록(520)에서 최적의 전송 이퀄라이제이션 설정이 결정된 후, 최적의 전송 이퀄라이제이션 설정이 링크 파트너(A)의 송신기에 대한 레인들의 제1 서브세트에 적용된다(블록 525). 레인들의 제1 서브세트에서 전송 이퀄라이제이션 훈련의 제1 단계를 수행 한 후, 레인들의 제1 서브세트는 제1 속도(즉, 타겟 속도)로 링크 파트너(A)에서 링크 파트너(B)로 신뢰할 수 있는 데이터 전달이 가능하다.
다음으로, 제어 유닛은 제1 속도에서 레인들의 제1 서브세트로 제2 피드백을 전송함으로써 제1 속도에서 링크 파트너(A)의 레인들의 제2 서브세트에 대한 전송 이퀄라이제이션 훈련의 제2 단계를 수행하고, 제2 피드백은 전송 이퀄라이제이션 훈련의 제2 단계에 기초하여 생성된다(블록 530). 그 다음, 블록 530에서 결정된 최적의 전송 이퀄라이제이션 설정이 링크 파트너(A)의 송신기에 대한 레인들의 제2 서브세트에 적용된다(블록 535). 레인들의 제2 서브세트에 대한 전송 이퀄라이제이션 훈련의 제2 단계를 수행 한 후, 통신 링크의 레인들의 제1 및 제2 서브세트는 이제 링크 파트너(A)의 송신기에서 링크 파트너(B)의 수신기로 제1 속도로 신뢰할 수 있는 데이터 전달이 가능하다.
다음으로, 링크 파트너(A)의 수신기로부터 피드백이 제공되는 동안 링크 파트너(B)의 송신기에 대해 다양한 전송 프리 엠퍼시스 설정이 테스트되는 동안 통신 링크의 모든 레인들이 제1 속도로 작동된다(블록 540). 그 후, 블록 540에서 결정된 최적의 전송 이퀄라이제이션 설정이 링크 파트너(B)의 송신기에 대한 모든 레인들에 적용된다(블록 545). 블록 545 이후, 방법(500)이 종료된다. 다른 구현에서, 방법(500)의 단계들이 변경될 수 있다는 점에 유의한다. 예를 들어, 다른 구현에서, 레인들의 제1 서브세트는 제1 속도로 운영되는 반면, 레인들의 제2 서브세트는 제2 속도로 운영되고 전송 이퀄라이제이션 훈련이 링크 파트너(A) 및 링크 파트너(B) 모두에 대해 수행된다. 그런 다음, 레인들의 제2 서브세트가 두 링크 파트너들 모두에 대해 훈련된다. 또한, 추가 구현에서는, 두 개보다 많은 레인들의 서브세트가 존재한다.
이제 도 6으로 돌아가면, 이퀄라이제이션 훈련을 수행할 때 통신 링크의 복수의 레인들을 세분화하는 방법을 결정하기 위한 방법(600)의 일 구현이 도시된다. 제어 유닛은 주어진 통신 링크에 대한 레이턴시 및 성능 요건의 지시를 수신한다(블록 605). 다음으로, 제어 유닛은 레이턴시 및 성능 요건에 기초하여 통신 링크의 복수의 레인들을 제1 서브세트 및 제2 서브세트로 세분화하는 방법을 결정한다(블록 610). 예를 들어, 레이턴시 요건이 성능 요건보다 우선 순위가 높은 경우, 그 다음, 제어 유닛은 복수의 레인들을 비교적 많은 수의 레인들을 갖는 제1 서브세트 및 비교적 적은 수의 레인들을 갖는 제2 서브세트로 세분화하는 것을 우선시한다. 대안적으로, 성능 요건이 레이턴시 요건보다 우선 순위가 높은 경우, 제어 유닛은 복수의 레인들을 동일하거나 상대적으로 동일한 수의 레인들의 서브세트로 세분화하는 것을 우선시한다. 예를 들어, 통신 링크의 총 레인들 수가 16 개이고, 성능 요건이 레이턴시 요건보다 우선 순위가 높은 경우, 일 구현에서, 제어 유닛은 복수의 레인들을 8개의 레인들의 제1 서브세트 및 8개의 레인들의 제2 서브세트로 세분화한다. 다음으로, 제어 유닛은 선택된 레인 세분화 방식에 기초하여 통신 링크에 대한 이중 단계(dual-phase) 이퀄라이제이션 훈련을 수행한다(블록 615). 이중 단계 이퀄라이제이션 훈련의 일 예는 도 5의 방법(500)에 대한 논의에서 설명된다. 이중 단계 이퀄라이제이션 훈련 후, 통신 링크는 정상 동작 동안 타겟 속도로 데이터를 전송한다(블록 620). 블록 620 후에, 방법(600)이 종료된다.
이제 도 7을 참조하면, 감소된 레이턴시 이퀄라이제이션 훈련을 수행하기 위한 방법(700)의 일 구현이 도시된다. 제어 유닛은 제1 속도로 레인들의 제1 서브세트에 대해 이퀄라이제이션 훈련을 수행하는 반면, 제2 속도로 작동하는 레인들의 제2 서브세트는 이퀄라이제이션 훈련 동안 생성된 피드백 정보를 전달한다(블록 705). 일 구현에서, 제어 유닛은 레인들의 제1 및 제2 서브세트를 포함하는 통신 링크에 결합된다. 일 구현에서, 제1 속도는 통신 링크의 타겟 속도인 반면, 제2 속도는 데이터가 이퀄라이제이션 훈련 전에 링크를 통해 신뢰성 있게 전송될 수 있도록 하는 비교적 낮은 속도이다.
다음으로, 제어 유닛은 레인들의 제1 서브세트를 레인들의 제3 서브세트 및 레인들의 제4 서브세트로 세분화한다(블록 710). 제3 서브세트와 제4 서브세트의 레인들의 수는 구현에 따라 다르다. 그 후, 제어 유닛은 레인들의 제3 서브세트가 피드백 정보를 전달하는 동안 및 레인들의 제4 서브세트가 정상 작동 동안 전송된 데이터를 전달하는 동안 제1 속도로 레인들의 제2 서브세트에 대해 이퀄라이제이션 훈련을 수행한다(블록 715). 즉, 레인들의 제4 서브세트는 이퀄라이제이션 훈련과 관련이 없는 데이터를 전달한다. 일 구현에서, 레인들의 제3 및 제4 서브세트는 블록 715에서 제1 속도로 동작한다는 점에 유의한다. 레인들의 제2 서브세트가 제1 속도로 훈련된 후, 통신 링크의 레인들의 제1 및 제2 서브세트가 정상 동작 동안 제1 속도로 데이터를 전송하는 데 사용된다(블록 720). 블록 720 후, 방법(700)이 종료된다.
이제 도 8을 참조하면, 피드백 정보를 전달하기 위해 측대파 신호를 사용하여 이퀄라이제이션 훈련을 수행하는 방법(800)의 일 구현이 도시되어 있다. 통신 링크에 연결된 제어 유닛(예를 들어, 도 2의 제어 로직(225))은 통신 링크에서 이퀄라이제이션 훈련을 수행하기 위한 조건을 검출한다(블록 805). 다음으로, 제어 유닛은 타겟 속도로 통신 링크의 모든 레인들을 작동시킨다(블록 810). 그 후, 제어 유닛은 수신기가 측대파 신호를 사용하여 송신기에 피드백을 전송하는 동안 모든 레인들에 상이한 프리 엠퍼시스 설정을 적용한다(블록 815). "프리 엠퍼시스 설정"은 송신기에 적용된 전송 이퀄라이제이션 설정을 의미한다. 다음으로, 제어 유닛은 타겟 속도로 데이터를 전송하기 위한 최적의 프리 엠퍼시스 설정을 찾기 위해 피드백을 사용한다(블록 820). 그 다음, 최적의 프리 엠퍼시스 설정이 링크의 모든 레인들 상의 송신기에 적용된다(블록 825). 블록 825 이후, 방법(800)이 종료된다. 링크의 모든 레인들에서 이퀄라이제이션 훈련을 수행한 후, 모든 레인들은 타겟 속도로 신뢰할 수 있는 데이터 전송이 가능하다.
다양한 구현에서, 소프트웨어 어플리케이션의 프로그램 명령어는 본원에 설명된 방법 및/또는 메커니즘을 구현하는 데 사용된다. 예를 들어, 범용 또는 특수 목적 프로세서에 의해 실행 가능한 프로그램 명령어가 고려된다. 다양한 구현에서, 이러한 프로그램 명령어는 고급 프로그래밍 언어로 표현된다. 다른 구현에서, 프로그램 명령어는 높은 수준의 프로그래밍 언어에서 바이너리, 중간 또는 다른 형태로 컴파일링(compiling)된다. 대안적으로, 하드웨어의 동작 또는 설계를 설명하는 프로그램 명령어가 작성된다. 이러한 프로그램 명령어는 C와 같은 고급 프로그래밍 언어로 표현된다. 대안적으로, 베릴로그(Verilog)와 같은 하드웨어 설계 언어(HDL)가 사용된다. 다양한 구현에서, 프로그램 명령어는 임의의 다양한 비 일시적 컴퓨터 판독 가능 저장 매체에 저장된다. 저장 매체는 프로그램 실행을 위해 컴퓨팅 시스템에 프로그램 명령을 제공하기 위해 사용 중에 컴퓨팅 시스템에 의해 액세스 가능하다. 일반적으로 말해서, 그러한 컴퓨팅 시스템은 프로그램 명령어를 실행하도록 구성된 적어도 하나 이상의 메모리 및 하나 이상의 프로세서를 포함한다.
전술한 구현은 구현의 비 제한적인 예일 뿐이라는 것을 강조해야 한다. 상기 개시 내용이 완전히 이해되면 당업자에게는 수많은 변형 및 수정이 명백해질 것이다. 다음의 청구 범위는 그러한 모든 변형 및 수정을 포함하도록 해석되도록 의도된다.

Claims (20)

  1. 시스템에 있어서,
    제어 유닛(control unit);
    제1 트랜시버(transceiver);
    제2 트랜시버; 및
    상기 제1 트랜시버 및 상기 제2 트랜시버를 연결하는 통신 링크(communication link)를 포함하고, 상기 통신 링크는 복수의 레인(lane)들을 포함하며;
    상기 통신 링크의 이퀄라이제이션 훈련(equalization training)을 수행하기 위한 조건을 검출하는 것에 응답하여, 상기 제어 유닛은:
    상기 복수의 레인들을 레인들의 제1 서브세트(subset) 및 레인들의 제2 서브세트로 세분화하고;
    상기 레인들의 제1 서브세트를 제1 속도에서 작동시키고;
    상기 레인들의 제1 서브세트를 제1 속도에서 작동시키면서 상기 레인들의 제2 서브세트를 제2 속도에서 작동시키고, 상기 제2 속도는 상기 제1 속도보다 낮음; 그리고
    상기 제2 속도에서 상기 레인들의 제2 서브세트로 피드백(feedback)을 전송함으로써 상기 제1 속도에서 상기 레인들의 제1 서브세트에 대한 이퀄라이제이션 훈련을 수행하도록 구성된, 시스템.
  2. 제1항에 있어서,
    이퀄라이제이션 훈련을 수행하는 것은 상기 레인들의 제2 서브세트를 통해 수신된 피드백에 기초하여 상기 레인들의 제1 서브세트에 대한 상기 제1 트랜시버의 전송 설정을 조정하는 것을 포함하는, 시스템.
  3. 제1항에 있어서,
    상기 제1 속도는 상기 통신 링크의 상기 복수의 레인들의 동작의 타겟 속도(target speed)인, 시스템.
  4. 제1항에 있어서,
    상기 제2 속도는 이퀄라이제이션 훈련을 수행하기 전에 데이터가 임계 값 미만의 비트 오류율에서 상기 통신 링크를 통해 전송되도록 하는, 시스템.
  5. 제1항에 있어서,
    상기 레인들의 제1 서브세트를 훈련시킨 후, 상기 제어 유닛은 상기 제1 속도에서 상기 레인들의 제1 서브세트로 피드백을 전송함으로써 상기 제1 속도에서 상기 레인들의 제2 서브세트에 대한 이퀄라이제이션 훈련을 수행하도록 구성되는, 시스템.
  6. 제5항에 있어서,
    상기 레인들의 제2 서브세트에 대해 이퀄라이제이션 훈련을 수행한 후, 상기 제어 유닛은 상기 제1 속도에서 상기 복수의 레인들에 대한 정상 데이터 동작을 개시하도록 구성되는, 시스템.
  7. 제1항에 있어서,
    상기 레인들의 제1 서브세트의 이퀄라이제이션 훈련 동안, 상기 레인들의 제1 서브세트는 제1 방향으로 전송된 신호를 전달하고 상기 레인들의 제2 서브세트는 제2 방향으로 전송된 신호를 전달하고, 상기 제2 방향은 상기 제1 방향과 반대인, 시스템.
  8. 방법에 있어서,
    제어 유닛에 의해, 통신 링크의 복수의 레인들을 레인들의 제1 서브세트 및 레인들의 제2 서브세트로 세분화하는 단계, 상기 통신 링크는 제1 트랜시버를 제2 트랜시버에 연결함;
    상기 제어 유닛에 의해, 상기 레인들의 제1 서브세트를 제1 속도에서 작동시키는 단계;
    상기 제어 유닛에 의해, 상기 레인들의 제1 서브세트를 제1 속도에서 작동시키면서 상기 레인들의 제2 서브세트를 제2 속도에서 작동시키는 단계, 상기 제2 속도는 상기 제1 속도보다 낮음; 및
    상기 제어 유닛에 의해, 상기 제2 속도에서 상기 레인들의 제2 서브세트로 피드백을 전송함으로써 상기 제1 속도에서 상기 레인들의 제1 서브세트에 대한 이퀄라이제이션 훈련을 수행하는 단계를 포함하는, 방법.
  9. 제8항에 있어서,
    이퀄라이제이션 훈련을 수행하는 단계는 상기 레인들의 제2 서브세트를 통해 수신된 피드백에 기초하여 상기 레인들의 제1 서브세트에 대한 상기 제1 트랜시버의 전송 설정을 조정하는 단계를 포함하는, 방법.
  10. 제8항에 있어서,
    상기 제1 속도는 상기 통신 링크의 상기 복수의 레인들의 동작의 타겟 속도인, 방법.
  11. 제8항에 있어서,
    상기 제2 속도는 이퀄라이제이션 훈련을 수행하기 전에 데이터가 임계 값 미만의 비트 오류율에서 상기 통신 링크를 통해 전송되도록 하는, 방법.
  12. 제8항에 있어서,
    상기 레인들의 제1 서브세트를 훈련시킨 후, 상기 방법은 상기 제1 속도에서 상기 레인들의 제1 서브세트로 피드백을 전송함으로써 상기 제1 속도에서 상기 레인들의 제2 서브세트에 대한 이퀄라이제이션 훈련을 수행하는 단계를 더 포함하는, 방법.
  13. 제12항에 있어서,
    상기 레인들의 제2 서브세트에 대해 이퀄라이제이션 훈련을 수행한 후, 상기 방법은 상기 제1 속도에서 상기 복수의 레인들에 대한 정상 데이터 동작을 개시하는 단계를 더 포함하는, 방법.
  14. 제8항에 있어서,
    상기 레인들의 제1 서브세트의 이퀄라이제이션 훈련 동안, 상기 레인들의 제1 서브세트는 제1 방향으로 전송된 신호를 전달하고 상기 레인들의 제2 서브세트는 제2 방향으로 전송된 신호를 전달하고, 상기 제2 방향은 상기 제1 방향과 반대인, 방법.
  15. 장치(apparatus)에 있어서,
    제어 유닛; 및
    복수의 레인들을 포함하는 통신 링크를 포함하고;
    상기 통신 링크의 이퀄라이제이션 훈련을 수행하기 위한 조건을 검출하는 것에 응답하여, 상기 제어 유닛은:
    상기 복수의 레인들을 레인들의 제1 서브세트 및 레인들의 제2 서브세트로 세분화하고;
    상기 레인들의 제1 서브세트를 제1 속도에서 작동시키고;
    상기 레인들의 제1 서브세트를 제1 속도에서 작동시키면서 상기 레인들의 제2 서브세트를 제2 속도에서 작동시키고, 상기 제2 속도는 상기 제1 속도보다 낮음; 그리고
    상기 제2 속도에서 상기 레인들의 제2 서브세트로 피드백을 전송함으로써 상기 제1 속도에서 상기 레인들의 제1 서브세트에 대한 이퀄라이제이션 훈련을 수행하도록 구성된, 장치.
  16. 제15항에 있어서,
    이퀄라이제이션 훈련을 수행하는 것은 상기 레인들의 제2 서브세트를 통해 수신된 피드백에 기초하여 상기 레인들의 제1 서브세트에 대한 전송 설정이 조정되게 하는 것을 포함하는, 장치.
  17. 제15항에 있어서,
    상기 제1 속도는 상기 통신 링크의 상기 복수의 레인들의 동작의 타겟 속도인, 장치.
  18. 제15항에 있어서,
    상기 제2 속도는 이퀄라이제이션 훈련을 수행하기 전에 데이터가 임계 값 미만의 비트 오류율에서 상기 통신 링크를 통해 전송되도록 하는, 장치.
  19. 제15항에 있어서,
    상기 레인들의 제1 서브세트를 훈련시킨 후, 상기 제어 유닛은 상기 제1 속도에서 상기 레인들의 제1 서브세트로 피드백을 전송함으로써 상기 제1 속도에서 상기 레인들의 제2 서브세트에 대한 이퀄라이제이션 훈련을 수행하도록 구성되는, 장치.
  20. 제19항에 있어서,
    상기 레인들의 제2 서브세트에 대해 이퀄라이제이션 훈련을 수행한 후, 상기 제어 유닛은 상기 제1 속도에서 상기 복수의 레인들에 대한 정상 데이터 동작을 개시하도록 구성되는, 장치.
KR1020217007445A 2018-09-13 2019-09-10 고속을 위한 하드웨어 전송 이퀄라이제이션 KR102396212B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/130,791 2018-09-13
US16/130,791 US10541841B1 (en) 2018-09-13 2018-09-13 Hardware transmit equalization for high speed
PCT/US2019/050304 WO2020055792A1 (en) 2018-09-13 2019-09-10 Hardware transmit equilization for high speed

Publications (2)

Publication Number Publication Date
KR20210040444A KR20210040444A (ko) 2021-04-13
KR102396212B1 true KR102396212B1 (ko) 2022-05-10

Family

ID=68000149

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217007445A KR102396212B1 (ko) 2018-09-13 2019-09-10 고속을 위한 하드웨어 전송 이퀄라이제이션

Country Status (6)

Country Link
US (1) US10541841B1 (ko)
EP (1) EP3850494B1 (ko)
JP (1) JP7065255B2 (ko)
KR (1) KR102396212B1 (ko)
CN (1) CN113168393B (ko)
WO (1) WO2020055792A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10432240B1 (en) 2018-05-22 2019-10-01 Micron Technology, Inc. Wireless devices and systems including examples of compensating power amplifier noise
US10763905B1 (en) 2019-06-07 2020-09-01 Micron Technology, Inc. Wireless devices and systems including examples of mismatch correction scheme
US10972139B1 (en) 2020-04-15 2021-04-06 Micron Technology, Inc. Wireless devices and systems including examples of compensating power amplifier noise with neural networks or recurrent neural networks
US11496341B2 (en) 2020-08-13 2022-11-08 Micron Technology, Inc. Wireless devices and systems including examples of compensating I/Q imbalance with neural networks or recurrent neural networks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100077097A1 (en) * 2008-09-24 2010-03-25 Matthew Brown System and Method for Multilane Link Rate Negotiation
US20100316065A1 (en) * 2009-06-16 2010-12-16 Sun Microsystems, Inc. Method and apparatus for modulating the width of a high-speed link

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080104352A1 (en) * 2006-10-31 2008-05-01 Advanced Micro Devices, Inc. Memory system including a high-speed serial buffer
WO2009019746A1 (ja) * 2007-08-03 2009-02-12 Fujitsu Limited 通信装置、通信システム、及び通信方法
US8320439B2 (en) * 2008-02-29 2012-11-27 Agere Systems Inc. Methods and apparatus for adaptive link partner transmitter equalization
US9104793B2 (en) * 2010-09-24 2015-08-11 Intel Corporation Method and system of adapting communication links to link conditions on a platform
US9444656B2 (en) * 2011-11-04 2016-09-13 Altera Corporation Flexible receiver architecture
WO2014065873A1 (en) * 2012-10-22 2014-05-01 Jeff Willey Control messaging in multislot link layer flit
US20140281067A1 (en) * 2013-03-15 2014-09-18 Debendra Das Sharma Apparatus, system, and method for performing link training and equalization
WO2017151925A1 (en) * 2016-03-02 2017-09-08 Lattice Semiconductor Corporation Link training in multimedia interfaces
US10103837B2 (en) * 2016-06-23 2018-10-16 Advanced Micro Devices, Inc. Asynchronous feedback training
US10747688B2 (en) * 2016-12-22 2020-08-18 Intel Corporation Low latency retimer

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100077097A1 (en) * 2008-09-24 2010-03-25 Matthew Brown System and Method for Multilane Link Rate Negotiation
US20100316065A1 (en) * 2009-06-16 2010-12-16 Sun Microsystems, Inc. Method and apparatus for modulating the width of a high-speed link

Also Published As

Publication number Publication date
KR20210040444A (ko) 2021-04-13
EP3850494B1 (en) 2022-07-06
US10541841B1 (en) 2020-01-21
JP7065255B2 (ja) 2022-05-11
JP2021528932A (ja) 2021-10-21
CN113168393B (zh) 2022-12-13
EP3850494A1 (en) 2021-07-21
WO2020055792A1 (en) 2020-03-19
CN113168393A (zh) 2021-07-23

Similar Documents

Publication Publication Date Title
KR102396212B1 (ko) 고속을 위한 하드웨어 전송 이퀄라이제이션
US7444558B2 (en) Programmable measurement mode for a serial point to point link
US7082556B2 (en) System and method of detecting a bit processing error
US9087135B2 (en) Characterization and validation of processor links
US8924805B2 (en) Computer memory test structure
US6965648B1 (en) Source synchronous link integrity validation
US8443243B2 (en) Semiconductor integrated circuit device and method for evaluating an eye-opening margin
US7633877B2 (en) Method and apparatus for meeting compliance for debugging and testing a multi-speed, point-to-point link
CN109154927A (zh) 低延时多协议重定时器
US7814371B2 (en) Apparatus and method for point-to-point interconnect testing
JP2010511145A (ja) 確定および不定icデータ用の、パターン制御され、フルスピードate比較機能
US20170083422A1 (en) Self-error injection technique for point-to-point interconnect to increase test coverage
US9703563B2 (en) Detecting cross-talk on processor links
EP1814234B1 (en) Concurrent code checker and hardware efficient high- speed I/O having built- in self- test and debug features
US9141459B2 (en) Precursor adaptation algorithm for asynchronously clocked SERDES
JP6725692B2 (ja) 非同期フィードバックトレーニング
EP3260984B1 (en) Asynchronous feedback training
KR20240045073A (ko) 반도체 장치 및 링크 설정 방법
Fang et al. Transmitter equalizer training based on pilot signal and peak detection
KR20200107189A (ko) Pam-4용 qprbs 체크기 장치 및 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant