KR20150133220A - 스큐가 있는 다중 레인 통신 링크에서의 타임스탬프 보정 - Google Patents

스큐가 있는 다중 레인 통신 링크에서의 타임스탬프 보정 Download PDF

Info

Publication number
KR20150133220A
KR20150133220A KR1020157028983A KR20157028983A KR20150133220A KR 20150133220 A KR20150133220 A KR 20150133220A KR 1020157028983 A KR1020157028983 A KR 1020157028983A KR 20157028983 A KR20157028983 A KR 20157028983A KR 20150133220 A KR20150133220 A KR 20150133220A
Authority
KR
South Korea
Prior art keywords
charge level
lane
data packet
time stamp
timestamp
Prior art date
Application number
KR1020157028983A
Other languages
English (en)
Other versions
KR102091302B1 (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 KR20150133220A publication Critical patent/KR20150133220A/ko
Application granted granted Critical
Publication of KR102091302B1 publication Critical patent/KR102091302B1/ko

Links

Images

Classifications

    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/41Flow control; Congestion control by acting on aggregated flows or links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols

Abstract

스큐가 있는 다중 레인 통신 링크에서 타임스탬프를 보정하는 방법, 비 일시적 컴퓨터 판독가능 매체(404) 및 장치(118, 400)가 개시된다. 예를 들면, 방법은 데이터 패킷, 상기 데이터 패킷의 타임스탬프 및 상기 데이터 패킷을 운반하는 다중 레인 통신 링크의 레인(99)에 대한 충전 레벨을 수신하고, 상기 데이터 패킷에 대한 보정된 타임스탬프를 산출하며, 상기 데이터 패킷의 타임스탬프를 상기 보정된 타임스탬프로 교체한다.

Description

스큐가 있는 다중 레인 통신 링크에서의 타임스탬프 보정{TIMESTAMP CORRECTION IN A MULTI-LANE COMMUNICATION LINK WITH SKEW}
본 발명은 일반적으로 스큐(skew)가 있는 다중 레인 통신 링크(multi-lane communication links)(예를 들면, 이더넷 회로)에 관한 것으로, 특히 스큐가 있는 다중 레인 통신 링크에서 타임스탬프 보정(timestamp correction)을 위한 방법 및 장치에 관한 것이다.
디지털 통신 링크가 점점 더 고속화됨에 따라 많은 기술적 어려움이 발생하고 있다. 통신 채널의 속도를 제한하는 요인들 중의 하나는 물리적 전기 링크의 속성이고, 이 속성은 보통 바람직한 집합 통신 속도보다 크게 더 느린 최근의 전기 및 집적 회로 기술에 의해 구속된다. 그러므로, 더 큰 집합 논리 링크 속도를 달성하기 위해 다수의 병렬 물리 통신 레인을 사용하는 것이 일반적인 관례이다. 이것은 다중 레인 분배(Multi-Lane Distribution, MLD)라고 알려져 있다.
그 다음에, 송신기로부터 수신기로의 전파 중에 각종 수단에 의해 개별적인 고속 레인이 손상된 때 다수의 물리 통신 레인을 재결합하는 법에 대한 문제가 발생한다. 각종 개별 레인의 도착 시간 차는 개별적인 비트가 송신 전에 집합 링크에 대응하는 규정된 순서로 정확히 재조립될 수 있도록 보정될 필요가 있다. 예를 들면, 개별 레인에 도착하는 비트들은 와이어 또는 인쇄 회로기판(PCB) 트레이스의 상이한 길이에 기인하여 어긋난(skewed) 도착 시간을 가질 수 있다. 약간 상이한 타임스탬프는 잠재적으로 슬레이브 클럭에서 변동을 야기할 수 있다.
추가적인 문제점은 논리적 레인이 각종의 상이한 유형의 물리적 레인, 예를 들면, 전기 레인 또는 광학 레인에 대하여 다중화될 때 발생한다. 논리적 레인이 하나의 물리적 레인으로부터 다른 레인(전기 레인 또는 광학 레인)으로 이동할 때, 논리적 레인이 운반하게 되는 물리적 레인의 지연에 의해 논리적 레인이 구속되기 때문에 상기 논리적 레인의 지연이 변화한다.
다중 레인 통신 링크에서 타임스탬프를 보정하는 방법이 개시된다. 이 방법의 일 실시형태는 데이터 패킷, 상기 데이터 패킷의 타임스탬프 및 상기 데이터 패킷을 운반하는 다중 레인 통신 링크의 레인에 대한 충전 레벨(fill level)을 수신하는 단계와, 상기 데이터 패킷에 대한 보정된 타임스탬프를 산출하는 단계와, 상기 데이터 패킷의 타임스탬프를 보정된 타임스탬프로 교체하는 단계를 포함한다.
이 방법의 각종 실시형태에 있어서, 상기 수신하는 단계, 상기 산출하는 단계 및 상기 교체하는 단계는 상기 다중 레인 통신 링크에서 각각의 데이터 패킷을 가진 복수의 레인 중의 각 레인에 대하여 반복되고; 상기 타임스탬프는 상기 데이터 패킷의 시작부의 타임스탬프에 대응하며; 상기 타임스탬프는 직렬화/비직렬화 클럭 도메인의 각 클럭 사이클에 대한 기어박스 모듈 뒤에 포착되고; 상기 충전 레벨은 하나 이상 비트의 측정치를 포함하고; 상기 충전 레벨은 제1 클럭 도메인 내의 판독 포인터와 제2 클럭 도메인 내의 기입 포인터의 시간 평균에 기초하여 상기 다중 레인 통신 링크 내의 복수의 레인 중 각 레인에 대한 선입선출 버퍼를 통해 산출되고; 상기 산출하는 단계는 상기 타임스탬프, 상기 레인의 충전 레벨 및 기준 충전 레벨의 함수이고; 상기 기준 충전 레벨은 최소 충전 레벨을 포함하고; 상기 기준 충전 레벨은 최대 충전 레벨을 포함하고; 상기 기준 충전 레벨은 평균 충전 레벨을 포함하고; 상기 타임스탬프, 상기 레인의 충전 레벨 및 기준 충전 레벨은 각각 클럭 사이클의 단위로 변환되고; 상기 타임스탬프, 상기 레인의 충전 레벨 및 기준 충전 레벨은 각각 나노초의 단위로 변환된다.
다른 실시형태에 따르면, 집적 회로는 입력 신호를 복수의 레인- 각 레인은 적어도 하나의 데이터 패킷을 운반하는 것임 -으로 분할하는 디멀티플렉서 및 기어박스 모듈과, 적어도 하나의 데이터 패킷 각각에 대한 타임스탬프를 포착하기 위한 타임스탬프 포착 모듈과, 복수의 레인 각각에 대한 충전 레벨을 발생하기 위한 레인 정렬 버퍼와, 적어도 하나의 데이터 패킷에 대한 보정된 타임스탬프를 산출하고 상기 적어도 하나의 데이터 패킷에 대한 타임스탬프를 상기 보정된 타임스탬프로 교체하기 위해 상기 적어도 하나의 데이터 패킷, 상기 적어도 하나의 데이터 패킷에 대한 타임 스탬프, 및 상기 적어도 하나의 데이터 패킷을 운반하는 복수의 레인 중의 각 레인에 대한 충전 레벨을 수신하기 위한 보정 논리 모듈을 포함한다.
상기 집적 회로의 각종 실시형태에 있어서, 상기 보정 로직은 상기 보정된 타임 스탬프를 상기 타임스탬프, 상기 적어도 하나의 데이터 패킷을 운반하는 복수의 레인 중 임의 레인의 충전 레벨 및 기준 충전 레벨의 함수로서 산출하고; 상기 기준 충전 레벨은 최소 충전 레벨을 포함하고; 상기 기준 충전 레벨은 최대 충전 레벨을 포함하고; 상기 기준 충전 레벨은 평균 충전 레벨을 포함하고; 상기 보정 논리 모듈은 상기 타임스탬프, 상기 레인의 충전 레벨 및 상기 기준 충전 레벨을 상기 산출을 수행하기 위해 클럭 사이클의 단위로 변환하고; 상기 보정 논리 모듈은 상기 타임스탬프, 상기 레인의 충전 레벨 및 상기 기준 충전 레벨을 상기 산출을 수행하기 위해 나노초의 단위로 변환한다.
다른 실시형태에 따르면, 프로세서에 의해 실행될 때 프로세서로 하여금 다중 레인 통신 링크 내의 타임스탬프를 보정하는 동작을 수행하게 하는 복수의 명령어가 저장된 비 일시적 컴퓨터 판독가능 매체가 제공된다. 상기 비 일시적 컴퓨터 판독가능 매체의 동작은 데이터 패킷, 상기 데이터 패킷의 타임스탬프 및 상기 데이터 패킷을 운반하는 다중 레인 통신 링크의 레인에 대한 충전 레벨을 수신하는 동작과, 상기 데이터 패킷에 대한 보정된 타임스탬프를 산출하는 동작과, 상기 데이터 패킷의 타임스탬프를 보정된 타임스탬프로 교체하는 동작을 포함한다.
첨부 도면은 본 발명의 하나 이상의 양태에 따른 예시적인 실시형태를 도시한다. 그러나, 첨부 도면은 본 발명을 도시된 실시형태로 제한하기 위한 것이 아니고, 단지 설명 및 이해를 위한 것이다.
도 1은 스큐가 있는 다중 레인 통신 링크에서 타임스탬프를 보정하기 위한 블록 회로도의 일 예를 보인 도이다.
도 2는 다중 레인 통신 링크의 각 레인에 대한 충전 레벨을 산출하는 정렬 로직의 일 예를 보인 도이다.
도 3은 스큐가 있는 다중 레인 통신 링크에서 타임스탬프를 보정하는 방법의 일 실시형태의 예시적인 흐름도이다.
도 4는 여기에서 설명하는 기능들을 수행할 때 사용하기에 적합한 범용 컴퓨터의 상위 레벨 블록도이다.
이해를 돕기 위해, 각 도면에서 공통인 동일한 요소들을 표시하기 위해 가능한 한 동일한 참조 번호를 사용하였다.
본 명세서에서는 스큐가 있는 다중 레인 통신 링크에서 타임스탬프를 보정하는 방법, 비 일시적 컴퓨터 판독가능 매체 및 장치에 대하여 폭넓게 설명한다. 전술한 바와 같이, 다중 레인 통신 채널에서는 특정 패킷의 시작부가 임의 레인에서 발생할 수 있다. 각 레인은 스큐(skew)라고도 부르는 상이한 지연을 갖기 때문에, 각 레인은 약간 상이한 타임스탬프를 나타낼 것이고, 이것은 잠재적으로 슬레이브 클럭에서 변화를 야기할 수 있다.
본 발명의 일 실시형태는 예상되는 상대 지연을 등화시키는 크기를 가진 작은 버퍼에 의해 각 레인에서의 상대 지연을 설명한다. 그 다음에 각각의 레인당 버퍼에 저장된 상대적인 데이터 양이 타임스탬프에 적용되는 보정을 추론하기 위해 사용된다. 따라서, 슬레이브 클럭의 정확성이 개선된다.
도 1은 스큐가 있는 다중 레인 통신 링크에서 타임스탬프를 보정하는 블록 회로도(100)의 일 예의 블록도이다. 일 실시형태에 있어서, 블록 회로도(100)는 다중 레인 통신 링크의 수신기 부분을 나타낸다. 다시 말해서, 블록 회로도(100)는 송신부와 수신기부를 가진 큰 네트워크의 일부일 수 있다. 일 실시형태에 있어서, 비록 스큐가 시스템 전체에 걸쳐서(예를 들면, 송신기부 및 수신기부에) 있다고 생각할 수 있지만, 스큐는 수신기부에서만 다루어진다. 따라서, 수신기부가 본 발명의 실시형태를 설명할 목적으로 예시된다.
일 실시형태에 있어서, 다중 레인 통신 링크는 이더넷 라인 인터페이스일 수 있다. 예를 들면, 이더넷 라인 인터페이스는 40 기가비트 이더넷(gigabit Ethernet, GBE) 또는 100 GBE일 수 있다. 본 발명은 여기에서 100 GBE를 참조하여 설명되지만, 본 발명은 임의의 다중 레인 통신 링크에 적용될 수 있다는 점에 주목하여야 한다.
일 실시형태에 있어서, 입력(120)은 물리적 코딩 하위계층(physical coding sub-layer, PCS) 레인 디멀티플렉서(DEMUX)(102) 및 기어박스 모듈(104)에 의해 수신될 수 있다. 100 GBE의 경우에, 입력(120)은 4×25 GBE 레인에 걸쳐서 떼어낸 10 레인을 포함할 수 있다. 디멀티플렉서와 기어박스는 그 다음에 각각 5 GBE인 20개의 가상 레인을 발생할 수 있다. 비록 디멀티플렉서와 기어박스가 별도의 모듈로서 예시적으로 도시되어 있지만, 이들 2개의 모듈에 의해 수행되는 기능 또는 동작은 단일 모듈로 구현될 수 있다.
일 실시형태에 있어서, 각 레인의 각 데이터 패킷에 대한 타임스탬프는 기어박스(104) 후에 타임스탬프 포착 모듈(106)에서 포착될 수 있다. 타임스탬프는 타임스탬프 포착 모듈(106)의 "시간 입력" 신호에 따라 결정될 수 있다. "시간 입력"은 실시간을 나타내는 클럭일 수 있다. 일 실시형태에 있어서, "시간 입력" 신호는 미리 규정된 필드에서 및 미리 규정된 포맷, 인코딩 및 에포크(epoch)에서 초 및 나노초로 이루어진 80-비트 값일 수 있다. 일 실시형태에 있어서, "시간 입력"은 계속적으로 변한다.
일 실시형태에 있어서, 타임스탬프는 점선(152)으로 구분된 직렬화/역직렬화(SerDes) 클럭의 각 클럭 사이클에 대한 디멀티플렉서 및 기어박스 후에 포착될 수 있다. 일 실시형태에 있어서, 이것은 뒤에서 더 자세히 설명하는 것처럼 보정된 타임스탬프를 산출하기 위해 사용되는 타임스탬프이다. 동일한 타임스탬프가 일관되게 사용되는 한 타임스탬프를 포착하기 위해 임의의 디멀티플렉서 및 기어박스를 사용할 수 있다는 점에 주목하여야 한다.
일 실시형태에 있어서, 시간 "t"는 포착 점과 임의의 기준 평면(150) 사이의 시간을 나타낸다. 일 실시형태에 있어서, SerDes로부터 기어박스로의 데이터 전송 시간이 알려져 있기 때문에, 시간 "t"는 기준 평면(150)에 대한 타임스탬프를 인용하도록 타임스탬프로부터 감산될 수 있다. 일 실시형태에 있어서, 각각의 레인에 대한 타임스탬프는 라인(130)에 의해 통신 버스(160)를 거쳐 코어 로직(110)에 전송될 수 있다.
일 실시형태에 있어서, 20개의 레인 각각에서의 데이터 패킷은 레인 정렬 버퍼(108)로 전달된다. 일 실시형태에 있어서, 상기 레인 정렬 버퍼는 선입선출(FIFO) 메모리 버퍼일 수 있다. 일 실시형태에 있어서, 레인 정렬 버퍼(108)는 다중 레인 통신 링크의 각 레인에 대하여 FIFO 메모리 버퍼를 포함한다.
일 실시형태에 있어서, 각각의 FIFO 메모리 버퍼는 산출되거나 미리 정해진 충전 레벨(fill level)을 가질 수 있다. 충전 레벨은 다중 레인 통신 링크 내의 다른 레인들과 관련하여 임의의 스큐(예를 들면, 시간 지연)를 보상하기 위해 사용되는 하나 이상의 비트를 포함할 수 있다. 일 실시형태에 있어서, 각 레인의 충전 레벨, 기준 충전 레벨 및 타임스탬프는 데이터 패킷의 보정된 타임스탬프를 산출하기 위해 사용될 수 있다.
도 2는 정렬 로직, 및 다중 레인 통신 링크의 각 레인에 대하여 충전 레벨이 산출되는 법의 일 예를 보인 도이다. 상위 레벨에서, 각 레인에 대한 충전 레벨은 Read_En(221)을 발생하는 판독 포인터와 Write_En(220)을 발생하는 기입 포인터의 시간 평균에 의해 결정될 수 있고, 이것은 상이한 클럭 도메인 Clock_R(208) 및 Clock_C(222)에 있을 수 있다.
도 2를 더 자세히 참조하면, 4개의 레인(99)은 각각 그 자신의 수신 SerDes(200)에서 종단되고, 그 각각은 각각의 직렬 레인을 n개의 병렬 라인으로 변환하는 공지의 역다중화 회로뿐만 아니라 Clock_R(208) 및 데이터(207)를 복구하는 공지 회로를 포함한다. 비록 이 예가 4개의 레인을 예시하지만, 본 발명은 레인의 수에 제한이 없다는 점을 이해하여야 한다. 이제부터 설명하는 정렬 검출기(201) 및 메모리(202)는 각 레인에 대하여 반복되고, 이들은 공통 시스템의 일부로서 소프트웨어로 구현될 수 있다는 점을 이해할 것이다. 일 실시형태에 있어서, 메모리(202)는 도 1에 도시된 레인 정렬 버퍼(108)와 유사하다.
데이터(207)는 워드 경계를 결정하는 기능; 필요에 따라 비트를 반전시키는 기능; 디스크램블링 기능; 32-비트 주기적 용장성 체크(CRC32) 기능; 동기화를 위해 사용하는 비트 패턴을 식별하는 기능 및 상기 비트 패턴의 존재의 표시를 생성하는 기능 중 적어도 하나를 수행하는 정렬 검출기 회로(201)에 전송된다. 일부 실시형태에 있어서, 디스크램블링 및 CRC32와 같은 기능은 예를 들면, 802.3ba 이더넷의 경우에는 정렬 검출기에서 요구되지 않는다. 일부 실시형태에 있어서, 비트 동기화 비트 패턴의 식별은 패턴이 2회 이상, 예를 들면, 인터라켄(Interlaken) 프로토콜의 경우에는 4회 검출될 것을 요구한다. 신호(210) "검출된 동기화 워드"(Synch Word Detected)는 동기화 패턴이 신뢰성 있게 검출된 경우에 값 트루(TRUE)가 지정된다. 일부 실시형태에서 동기화 워드의 신뢰성 있는 검출은 적어도 1회, 예를 들어서 인터라켄 프로토콜의 경우에는 4회 발생할 것이 요구된다. 동기화 패턴이 신뢰성 있게 검출되지 않은 경우에, 검출된 동기화 워드 신호(210)는 값 폴스(FALSE)가 지정된다. 일부 실시형태에 있어서, 동기화 패턴의 신뢰성 없는 검출은 2회 이상, 예를 들어서 인터라켄 프로토콜의 경우에는 4회의 에러 검출 후에 발생한다.
트루 값을 가진 신호(210)의 조건은 Write_En 신호(220)가 나타난(assert) 결과로서 Clock_R이 데이터(209)를 FIFO 메모리(202)에 기입하게 할 것이다. 일부 실시형태에 있어서, 동기화 워드는 예를 들면 정렬 패턴 또는 명명되지 않았지만 동일 기능을 수행하는, 즉 각종 레인에서 데이터의 어긋난 도착 시간을 보정하는 수단을 제공하는 각종의 다른 명칭으로 알려져 있을 수 있다.
데이터는 제1 메모리 위치(240)에서 동기화 워드 후에 제1 유효 데이터 워드로 시작하는 순으로 FIFO(202)에 기입되고, 이것은 문자 "D"로 표시되어 있다. 후속으로 수신된 데이터는 그 다음에 데이터가 수신된 때 순차적으로 FIFO에 기입되고, 상기 데이터는 데이터(D) 또는 제어 정보(C)와 같은 각종 정보를 포함할 수 있다.
각 레인의 수신기는 집합 신호(230)로 도시된 동기화 워드 신호(210)의 검출에 대응하는 출력을 각각 가진 정렬 검출기 회로(201)의 복제물(duplicate) 뿐만 아니라 FIFO 메모리(202)의 복제물을 포함한다. 모든 검출 신호가 트루인 조건이 발생한 때, 회로(205)는 트루 출력 신호(221)(예를 들면, Read_En 신호)를 생성하고, 이것은 4개의 모든 FIFO 회로에 그들 각각의 출력 로직에서 동시에 제공된다. Read_En 신호(221)가 트루인 때, Clock_C(222)는 데이터가 FIFO(202)에 저장된 것과 동일 순서로 데이터(224)를 판독하도록 활성화된다.
이 절차에 이어서, 4개의 레인 각각의 데이터(224)는 스큐가 제거되도록 시간적으로 정렬되는 것이 보장된다. 출력 회로(203)는 Read_En(221)이 각 FIFO의 출력 포트에 분배되기 때문에 정확한 시간에 모든 레인으로부터 병렬로 데이터를 수신한다. 일부 실시형태에 있어서, 회로(203)는 예를 들면 하나 이상의 레인에서 실패가 있는 경우에 레인의 총 수보다 더 적은 레인으로부터 데이터(250)를 수신한다. 회로(203)는 또한 총 트래픽이 더 적은 수의 레인에 의해 지원되는 경우 레인의 총 수보다 더 적은 레인으로부터 판독하도록 프로그램될 수 있고, 그 경우에 미사용 레인은 전력을 보존하기 위해 일시 폐쇄될 수 있다.
회로(203)에 의한 추가적인 처리 후에, 후속 처리를 위해 또는 j(j≥1)개의 물리적 라인을 가진 데이터 링크(225)에서 송신을 위해 스큐 없는 데이터를 다른 회로에 이용할 수 있다. FIFO가 오버플로우되지 않는 속도로 데이터가 FIFO로부터 판독될 수 있으면 Clock_C는 Clock_R과 동일한 주파수로 될 필요가 없다는 점에 주목한다. 그러므로, 이 방법은 추가의 회로 없이 클럭 도메인 적응의 기능을 수행할 수 있다는 것을 인식할 것이다. FIFO(202)가 판독되기 전에 메모리 위치 밖에서 동작하는 경우에, 오버플로우 신호(226)는 트루의 값으로 설정된다. 정상적인 동작 조건하에서는 f(Clock_C)>=f(Clock_R)의 필요조건 때문에 오버플로우=트루인 경우가 발생하지 않을 것이다. 그러나, 돌연한 고장(glitch) 또는 다른 외부 에러에 의해 FIFO가 오버플로우를 발생한 경우에, 이 신호는 로직을 리셋하거나 알람을 발생하는 것과 같은 교정 동작을 취하기 위해 사용할 수 있다.
다시 도 1을 참조하면, 각 레인에 대한 충전 레벨이 산출 또는 결정되면, 각 레인의 충전 레벨은 라인(132)에 의해 코어 논리 모듈(110)로 통신 버스(160)를 통해 전송될 수 있다. 또한, 데이터 패킷이 라인(134)에 의해 코어 논리 모듈(110)로 통신 버스(160)를 통해 전송될 수 있다.
일 실시형태에 있어서, 코어 논리 모듈(110)은 물리적 코딩 하위계층(PCS) 디코더(112), 매체 접근 제어기(MAC)(114) 및 1588 논리 모듈(116)을 포함할 수 있다. 일 실시형태에 있어서, 데이터 패킷은 디코딩을 위해 PCS 디코더(112)에 공급될 수 있다. 일 실시형태에 있어서, PCS 디코더(112)는 패킷의 시작부(Start of Packet, SOP) 및 각 SOP와 연관된 레인을 식별할 수 있다.
일 실시형태에 있어서, 1588 논리 모듈(116)은 SOP, PCS 디코더(112)로부터의 각 SOP와 연관된 레인 및 타임스탬프 포착 모듈(106)로부터의 타임스탬프를 수신할 수 있다. 일 실시형태에 있어서, 1588 논리 모듈(116)은 IEEE 1588에 의해 규정된 특정 타임스탬프를 찾는 논리 모듈을 포함할 수 있다. 특히, 1588 논리 모듈(116)은 SOP와 연관된 타임스탬프를 찾을 수 있다.
일 실시형태에 있어서, 1588 논리 모듈(116)은 SOP에 의해 타임스탬프를 식별할 수 있다. SOP의 타임스탬프는 보정된 타임스탬프를 산출하기 위해 사용하는 타임스탬프이다. 1588 논리 모듈(116)에 의해 수신된 임의의 다른 타임스탬프는 버려진다.
일 실시형태에 있어서, 레인 정렬 버퍼(132)의 각 레인에 대한 충전 레벨은 처리 없이 코어 논리 모듈(110)을 통과한다. 일 실시형태에 있어서, 논리 버스(LBUS)는 출력으로서 패킷 데이터(예를 들면, 512 비트)를 수신한다. LBUS는 그 다음에 다중 레인 통신 링크의 각 레인의 데이터 패킷에 대한 보정된 타임스탬프를 산출하는 보정 논리 모듈(118)에 이 정보를 전달한다. 보정 논리 모듈(118)은 SOP의 도착 시간에 대한 타임스탬프를 1588 논리 모듈로부터 및 각각의 레인과 연관된 충전 레벨을 레인 정렬 버퍼(108)로부터 또한 수신한다.
일 실시형태에 있어서, 보정 논리 모듈(118)은 보정된 타임스탬프를 데이터 패킷(예를 들면, SOP)의 타임스탬프, 데이터 패킷을 운반하는 레인의 충전 레벨 및 기준 충전 레벨의 함수로서 산출한다. 일 실시형태에 있어서, 기준 충전 레벨은 최소 충전 레벨(예를 들면, 모든 레인의 최저 충전 레벨), 최대 충전 레벨(예를 들면, 모든 레인의 최고 충전 레벨) 또는 평균 충전 레벨(예를 들면, 충전 레벨의 합을 레인의 총 수로 나눈 값)일 수 있다.
일 실시형태에 있어서, 레인의 충전 레벨 및 기준 충전 레벨은 양수 또는 음수일 수 있다. 예를 들면, 충전 레벨 및/또는 기준 충전 레벨이 양수인지 음수인지는 레인의 충전 레벨이 기준 충전 레벨에 대하여 양인지 음인지에 따를 수 있다.
일 실시형태에 있어서, 보정 논리 모듈(118)은 레인의 충전 레벨 및 기준 충전 레벨에 의해 타임스탬프를 조정함으로써 보정된 타임스탬프를 산출한다. 일 실시형태에 있어서, 하기의 수학식이 사용된다.
수학식 (1): 보정된 타임스탬프 = 타임스탬프 ± 레인의 충전 레벨 ± 기준 충전 레벨
일 실시형태에 있어서, 보정 논리 모듈(118)은 모든 값들을 산출이 일관될 수 있도록 공통 단위로 변환할 수 있다. 예를 들면, 레인의 충전 레벨 및 기준 충전 레벨은 다수의 비트일 수 있다. 보정 논리 모듈(118)은 공지된 클럭 사이클당 비트 수 및 클럭 사이클의 주파수에 기초하여 충전 레벨 및 기준 레벨의 비트 수를 클럭 사이클 또는 나노초의 단위로 변환할 수 있다. 예를 들어서, 만일 회로(100)가 66 비트/클럭 사이클을 판독하고 회로(100)가 나노초당 2.1 클럭 사이클을 가지면, 보정된 타임스탬프는 클럭 사이클 또는 나노초의 항으로 산출될 수 있다.
일 실시형태에 있어서, 보정된 타임스탬프가 산출되면, 각 레인의 각 데이터 패킷에 대한 타임스탬프는 보정된 타임스탬프로 교체될 수 있다. 그 결과, 다중 레인 통신 링크 각각의 타임스탬프는 스큐와 관련하여 보정될 것이다. 따라서, 스큐에 기인한 슬레이브 클럭의 변화와 관련하여 위에서 설명한 문제점들이 본 발명에 의해 해결될 수 있다.
도 3은 스큐가 있는 다중 레인 통신 링크에서 타임스탬프를 보정하는 방법(300)의 흐름도이다. 일 실시형태에 있어서, 이 방법(300)은 도 4에 도시되고 뒤에서 설명하는 범용 컴퓨터(또는 임의의 다른 하드웨어 등가 장치)에 의해 수행될 수 있고 또는 위에서 설명한 바와 같이 논리 회로 또는 프로그램가능 집적 회로로서 구현되는 보정 논리 모듈(118)에 의해 수행될 수 있다.
방법(300)은 단계 302에서 시작한다. 단계 304에서, 방법(300)은 데이터 패킷, 상기 데이터 패킷의 타임스탬프 및 상기 데이터 패킷을 운반하는 다중 레인 통신 링크의 레인에 대한 충전 레벨을 수신한다. 예를 들면, 보정 논리 모듈은 데이터 패킷, 상기 데이터 패킷의 타임스탬프 및 상기 데이터 패킷을 운반하는 다중 레인 통신 링크의 레인에 대한 충전 레벨을 수신할 수 있다.
일 실시형태에 있어서, 타임스탬프는 1588 논리 모듈에 의해 필터링될 수 있다. 예를 들면, 타임스탬프는 패킷의 시작부(SOP)와 연관된다. 다른 모든 타임스탬프는 버려질 수 있다.
일 실시형태에 있어서, 보정 논리 모듈은 데이터 패킷을 운반하는 다중 레인 통신 링크의 모든 레인에 대한 충전 레벨을 수신할 수 있다. 상기 모든 레인에 대한 충전 레벨은 기준 충전 레벨을 선택 또는 산출하기 위해 사용될 수 있다. 일 실시형태에 있어서, 상기 기준 충전 레벨은 모든 충전 레벨 중의 최소 충전 레벨, 모든 충전 레벨 중의 최대 충전 레벨 또는 모든 충전 레벨의 평균 충전 레벨일 수 있다.
단계 306에서, 방법(300)은 상기 데이터 패킷에 대한 보정된 타임스탬프를 산출한다. 일 실시형태에 있어서, 보정 논리 모듈은 레인의 충전 레벨 및 기준 충전 레벨에 의해 타임스탬프를 조정함으로써 보정된 타임스탬프를 산출할 수 있다. 일 실시형태에 있어서, 레인의 충전 레벨 및 기준 충전 레벨은 양수 또는 음수일 수 있다. 예를 들면, 충전 레벨 및/또는 기준 충전 레벨이 양수인지 음수인지는 레인의 충전 레벨이 기준 충전 레벨과 관련하여 양인지 음인지에 의존할 수 있다. 일 실시형태에 있어서, 보정된 타임스탬프를 산출하기 위해 수학식 (1)을 사용할 수 있다.
일 실시형태에 있어서, 보정 논리 모듈은 모든 값들을 산출이 일관될 수 있도록 공통 단위로 변환할 수 있다. 예를 들면, 레인의 충전 레벨 및 기준 충전 레벨은 다수의 비트일 수 있다. 보정 논리 모듈은 공지된 클럭 사이클당 비트 수 및 클럭 사이클의 주파수에 기초하여 충전 레벨 및 기준 레벨의 비트 수를 클럭 사이클 또는 나노초의 단위로 변환할 수 있다. 예를 들어서, 만일 회로(100)가 66 비트/클럭 사이클을 판독하고 회로(100)가 나노초당 2.1 클럭 사이클을 가지면, 보정된 타임스탬프는 클럭 사이클 또는 나노초의 항으로 산출될 수 있다.
단계 308에서, 방법(300)은 상기 데이터 패킷에 대한 타임스탬프를 보정된 타임스탬프로 교체한다. 예를 들면, SOP에 대한 타임스탬프가 보정된 타임스탬프로 교체될 수 있다.
단계 310에서, 방법(300)은 타임스탬프를 보정할 필요가 있는 데이터 패킷을 가진 임의의 추가의 레인이 있는지 결정한다. 만일 단계 310에서의 응답이 긍정이면, 방법은 단계 304로 되돌아가서 단계 304, 306 및 308을 반복한다. 다시 말해서, 방법(300)은 다중 레인 통신 링크에서 각각의 데이터 패킷을 가진 복수의 레인 중 각 레인에 대하여 반복될 수 있다.
예를 들면, 방법(300)이 다중 레인 통신 패킷의 각 레인에 대하여 반복된 후에, 다중 레인 통신 링크의 각 레인에서 각각의 SOP에 대한 타임스탬프는 보정된 타임스탬프로 교체될 수 있다. 그 결과, 슬레이브 클럭의 정확도가 개선된다.
만일 단계 310에서의 응답이 부정이면, 각 레인의 각 데이터 패킷에 대한 타임스탬프가 보정된 것이다. 방법은 단계 312로 진행하여 방법(300)이 종료된다.
비록 명시적으로 설명하지 않았지만, 전술한 방법(300)의 하나 이상의 단계, 블록 또는 기능은 특수 응용을 위해 필요한 경우 저장 단계, 디스플레이 단계 및/또는 출력 단계를 포함할 수 있다. 다시 말해서, 상기 방법에서 설명한 임의의 데이터, 기록, 필드 및/또는 중간 결과들은 특수 응용을 위해 필요한 경우 저장, 디스플레이, 및/또는 다른 장치에 출력될 수 있다. 결정 동작을 인용하거나 결정을 수반하는 도 3의 단계, 블록 또는 기능들은 결정 동작의 양측 분기가 실시될 것을 반드시 요구하지 않는다. 다시 말해서, 상기 결정 동작의 분기 중의 하나는 선택적 단계로 생각할 수 있다.
도 4는 여기에서 설명한 기능들을 수행하기 위해 사용하기에 적합한 범용 컴퓨터의 상위 레벨 블록도이다. 도 4에 도시된 것처럼, 시스템(400)은 하드웨어 프로세서 요소(402)(예를 들면, CPU), 메모리(404)(예를 들면, 랜덤 액세스 메모리(RAM) 및/또는 읽기 전용 메모리(ROM)), 집적 회로(IC)(예를 들면, 프로그램가능 집적 회로 등)의 스큐가 있는 다중 레인 통신 링크에서 타임스탬프를 보정하기 위한 모듈(405), 및 각종 입력/출력 장치(406)(예를 들면, 스토리지 장치, 테이프 드라이브, 플로피 드라이브, 하드 디스크 드라이브 또는 컴팩트 디스크 드라이브, 수신기, 송신기, 스피커, 디스플레이, 음성 합성기, 출력 포트 및 사용자 입력 장치(키보드, 키패드, 마우스 등))를 포함한다.
본 발명은 소프트웨어로 및/또는 소프트웨어와 하드웨어의 조합으로, 예를 들면, 용도 지정 집적 회로(ASIC), FPGA와 같은 프로그램가능 집적 회로(IC), 범용 컴퓨터 또는 임의의 다른 하드웨어 균등물을 이용하여 구현될 수 있다. 예를 들면, 전술한 방법에 관한 컴퓨터 판독가능 명령어는 전술한 방법의 각 단계 또는 기능을 수행하는 하드웨어 프로세서를 구성하기 위해 사용될 수 있다. 일 실시형태에 있어서, 스큐가 있는 다중 레인 통신 링크에서 타임스탬프를 보정하기 위한 본 발명의 모듈 또는 프로세스(405), 예를 들면, 프로그램가능 집적 회로가 메모리(404)에 로드되고 전술한 기능들을 구현하도록 하드웨어 프로세서(402)에 의해 실행될 수 있다. 이와 같이, IC에 대한 스큐가 있는 다중 레인 통신 링크에서 타임스탬프를 보정하기 위한 본 발명의 프로세스(405), 예를 들면, 방법(300)(관련 데이터 구조를 포함함)에서 전술한 바와 같은 프로그램가능 집적 회로는 비 일시적(예를 들면, 유형체 또는 물리적) 컴퓨터 판독가능 기억 매체(예를 들면, RAM 메모리, 자기 또는 광 드라이브 또는 디스켓 등)에 저장될 수 있다.
본 발명의 실시형태들은 전체적으로 또는 부분적으로 동조 가능 IC, 예를 들면, 프로그램가능 집적 회로에 의해 또한 구현될 수 있다. 더 구체적으로, 프로그램가능 집적 회로는 각종의 선택된 기능들을 구현하도록 사용자가 프로그램할 수 있는 범용 장치이다. 프로그램가능 집적 회로는 구성가능 논리 블록(CLB) 및 복수의 입력/출력 블록(IOB)의 어레이를 포함할 수 있다. CLB는 개별적으로 프로그램 가능하고, 수 개의 입력 신호로 각종의 논리 기능을 수행하도록 구성될 수 있다. IOB는 CLB로부터 프로그램가능 집적 회로의 외부 핀으로 출력 신호를 구동하도록 및/또는 외부 프로그램가능 집적 회로 핀으로부터 입력 신호를 수신하도록 구성될 수 있다. 프로그램가능 집적 회로는 많은 입력 신호의 더 복잡한 기능들을 생성하도록 각종 CLB와 IOB 사이에서 신호들을 선택적으로 라우트시키도록 프로그램될 수 있는 프로그램가능 상호접속 구조를 또한 포함한다. 상기 CLB, IOB 및 프로그램가능 상호접속 구조는 프로그램가능 집적 회로에서 사용자 설계를 구현하게끔 구성 데이터에 의해 특정된 로직 및 라우팅 기능들을 구현하도록 CLB, IOB 및 상호접속 구조 내의 각종 스위치 및 멀티플렉서를 제어하는 구성 데이터를 관련 메모리에 로딩함으로써 프로그램된다. 프로그램가능 집적 회로는 다른 프로그램가능 및 프로그램불능 리소스를 또한 포함할 수 있다. 이와 같이, 도 1 및 도 2와 관련하여 위에서 설명한 회로들은 도 1 및 도 2에 도시된 임의의 하나 이상 회로의 임의의 하나 이상 컴포넌트의 등가적인 논리 동작을 수행하는 복수의 CLB에서 구현될 수 있다. 따라서, 일 실시형태에 있어서, 시스템(400)은 전술한 각종 기능을 수행하도록 프로그램가능 집적 회로를 구성하기 위해 필요한 구성 데이터/명령어를 발생하도록 구성될 수 있다.
지금까지 본 발명의 하나 이상의 양태에 따른 예시적인 실시형태들을 설명하였지만, 첨부된 특허 청구범위 및 그 균등물에 의해 결정되는 발명의 범위로부터 벗어나지 않고 본 발명의 하나 이상의 양태에 따른 다른 및 추가적인 실시형태가 도출될 수 있다. 각 단계를 나열하는 청구항들은 그 단계들의 임의의 순서를 함축하지 않는다. 각각의 상표는 그 각각의 상표 소유자의 자산이다.

Claims (15)

  1. 다중 레인 통신 링크에서 타임스탬프를 보정하는 방법에 있어서,
    데이터 패킷, 상기 데이터 패킷에 대한 타임스탬프 및 상기 데이터 패킷을 운반하는 다중 레인 통신 링크의 레인에 대한 충전 레벨(fill level)을 수신하는 단계와;
    상기 데이터 패킷에 대한 보정된 타임스탬프를 산출하는 단계와;
    상기 데이터 패킷에 대한 타임스탬프를 상기 보정된 타임스탬프로 교체하는 단계를 포함한 타임스탬프 보정 방법.
  2. 제1항에 있어서, 상기 수신하는 단계, 상기 산출하는 단계 및 상기 교체하는 단계는, 상기 다중 레인 통신 링크에서 각각의 데이터 패킷을 가진 복수의 레인 중의 각 레인에 대하여 반복되는 것인 타임스탬프 보정 방법.
  3. 제1항 또는 제2항에 있어서, 상기 타임스탬프는 상기 데이터 패킷의 시작부의 타임스탬프에 대응하는 것인 타임스탬프 보정 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서. 상기 타임스탬프는 직렬화/비직렬화(serialize/deserialize) 클럭 도메인의 각 클럭 사이클에 대한 기어박스 뒤에 포착되는 것인 타임스탬프 보정 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서. 상기 충전 레벨은 하나 이상의 비트의 측정치를 포함한 것인 타임스탬프 보정 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서. 상기 충전 레벨은, 제1 클럭 도메인 내의 판독 포인터와 제2 클럭 도메인 내의 기입 포인터의 시간 평균에 기초하여, 상기 다중 레인 통신 링크 내의 복수의 레인 중의 각 레인에 대한 선입선출(first-in-first-out) 버퍼를 통해 산출되는 것인 타임스탬프 보정 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서. 상기 산출하는 단계는, 상기 타임스탬프, 상기 레인의 충전 레벨 및 기준 충전 레벨의 함수인 것인 타임스탬프 보정 방법.
  8. 제7항에 있어서, 상기 기준 충전 레벨은 최소 충전 레벨을 포함한 것인 타임스탬프 보정 방법.
  9. 제7항에 있어서. 상기 기준 충전 레벨은 최대 충전 레벨을 포함한 것인 타임스탬프 보정 방법.
  10. 제7항에 있어서. 상기 기준 충전 레벨은 평균 충전 레벨을 포함한 것인 타임스탬프 보정 방법.
  11. 제7항 내지 제10항 중 어느 한 항에 있어서. 상기 타임스탬프, 상기 레인의 충전 레벨 및 상기 기준 충전 레벨은 각각 클럭 사이클의 단위로 변환되는 것인 타임스탬프 보정 방법.
  12. 제7항 내지 제11항 중 어느 한 항에 있어서. 상기 타임스탬프, 상기 레인의 충전 레벨 및 상기 기준 충전 레벨은 각각 나노초의 단위로 변환되는 것인 타임스탬프 보정 방법.
  13. 집적 회로에 있어서,
    입력 신호를 복수의 레인 - 각 레인은 적어도 하나의 데이터 패킷을 운반함 - 으로 분할하는 디멀티플렉서 및 기어박스 모듈과;
    적어도 하나의 데이터 패킷 각각에 대한 타임스탬프를 포착하는 타임스탬프 포착 모듈과;
    복수의 레인 각각에 대한 충전 레벨을 발생하는 레인 정렬 버퍼와;
    상기 적어도 하나의 데이터 패킷, 상기 적어도 하나의 데이터 패킷에 대한 타임 스탬프, 및 상기 적어도 하나의 데이터 패킷을 운반하는 복수의 레인 중의 각 레인에 대한 충전 레벨을 수신하고, 상기 적어도 하나의 데이터 패킷에 대한 보정된 타임스탬프를 산출하며, 상기 적어도 하나의 데이터 패킷에 대한 타임스탬프를 상기 보정된 타임스탬프로 교체하는 보정 논리 모듈을 포함한 집적 회로.
  14. 제13항에 있어서, 상기 보정 로직은, 상기 보정된 타임 스탬프를 상기 타임스탬프, 상기 적어도 하나의 데이터 패킷을 운반하는 복수의 레인 중의 레인의 충전 레벨 및 기준 충전 레벨의 함수로서 산출하는 것인 집적 회로.
  15. 제12항에 있어서, 상기 기준 충전 레벨은 최소 충전 레벨 또는 최대 충전 레벨 또는 평균 충전 레벨을 포함한 것인 집적 회로.
KR1020157028983A 2013-03-18 2014-03-17 스큐가 있는 다중 레인 통신 링크에서의 타임스탬프 보정 KR102091302B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/846,683 US9167058B2 (en) 2013-03-18 2013-03-18 Timestamp correction in a multi-lane communication link with skew
US13/846,683 2013-03-18
PCT/US2014/030774 WO2014153298A2 (en) 2013-03-18 2014-03-17 Timestamp correction in a multi-lane communication link with skew

Publications (2)

Publication Number Publication Date
KR20150133220A true KR20150133220A (ko) 2015-11-27
KR102091302B1 KR102091302B1 (ko) 2020-03-19

Family

ID=50694016

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157028983A KR102091302B1 (ko) 2013-03-18 2014-03-17 스큐가 있는 다중 레인 통신 링크에서의 타임스탬프 보정

Country Status (6)

Country Link
US (1) US9167058B2 (ko)
EP (1) EP2976866B1 (ko)
JP (1) JP6149150B2 (ko)
KR (1) KR102091302B1 (ko)
CN (1) CN105379220B (ko)
WO (1) WO2014153298A2 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9619478B1 (en) * 2013-12-18 2017-04-11 EMC IP Holding Company LLC Method and system for compressing logs
CN106126466B (zh) * 2016-06-27 2019-10-11 哈尔滨明快机电科技有限公司 一种并行数据变串行数据的传输方法
CN108880723B (zh) * 2017-05-16 2020-12-11 深圳市中兴软件有限责任公司 一种时钟同步的方法和装置
AU2017437863B2 (en) 2017-10-30 2023-04-06 Huawei Technologies Co., Ltd. Clock synchronization method and apparatus
US11153191B2 (en) 2018-01-19 2021-10-19 Intel Corporation Technologies for timestamping with error correction
US10686581B2 (en) * 2018-02-20 2020-06-16 Keysight Technologies, Inc. Methods, systems, and computer readable media for transmit timestamp autocalibration
US10291247B1 (en) 2018-03-07 2019-05-14 Xilinx, Inc. Chopping switch time-skew calibration in time-interleaved analog-to-digital converters
CN111355549B (zh) * 2018-12-21 2023-05-02 深圳市中兴微电子技术有限公司 一种数据保护方法及装置
US10956124B2 (en) 2019-03-18 2021-03-23 Viavi Solutions Inc. Slip detection on multi-lane serial datalinks
US11265096B2 (en) 2019-05-13 2022-03-01 Intel Corporation High accuracy time stamping for multi-lane ports
US11140097B2 (en) * 2019-10-09 2021-10-05 Arista Networks, Inc. Cross point switch of network device for reordering lanes of network interfaces
US11637645B1 (en) 2020-09-18 2023-04-25 Xilinx, Inc. Method for time stamping with increased accuracy
US20220006607A1 (en) * 2020-12-26 2022-01-06 Intel Corporation Timestamp alignment for multiple nodes

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010016791A (ja) * 2008-06-03 2010-01-21 Nippon Telegr & Teleph Corp <Ntt> パラレル光伝送装置及び方法
JP2010130574A (ja) * 2008-11-28 2010-06-10 Nippon Telegr & Teleph Corp <Ntt> パラレル伝送方法及びパラレル伝送装置
US20120030438A1 (en) * 2010-07-29 2012-02-02 Sarance Technologies Inc. Method and Apparatus for Performing Skew Removal in the Receiver of a Multi-Lane Communication Link

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040213155A1 (en) * 2001-03-29 2004-10-28 Mitel Semiconductor V.N. Inc. Multi-processor data traffic shaping and forwarding
US7668243B2 (en) 2004-05-18 2010-02-23 Texas Instruments Incorporated Audio and video clock synchronization in a wireless network
US8194662B2 (en) * 2006-06-08 2012-06-05 Ilnickl Slawomir K Inspection of data
US8135105B2 (en) * 2008-06-17 2012-03-13 Integraded Device Technologies, Inc. Circuit for correcting an output clock frequency in a receiving device
CN101888292B (zh) * 2009-05-13 2014-07-16 中兴通讯股份有限公司 基于包交换的时钟同步方法及装置
US9065736B2 (en) * 2009-06-08 2015-06-23 Broadcom Corporation Method and system for compensated time stamping for time-sensitive network communications
JP5544896B2 (ja) * 2010-01-22 2014-07-09 富士通株式会社 受信回路、情報処理装置、およびバッファ制御方法
JP5525942B2 (ja) * 2010-07-06 2014-06-18 アンリツ株式会社 先頭レーン検出回路及び方法並びにデスキュー回路及び方法
US9356721B2 (en) * 2012-06-26 2016-05-31 Marvell World Trade Ltd. Methods and apparatus for precision time stamping
US8971352B2 (en) * 2012-09-28 2015-03-03 Thomas Jost High accuracy 1588 timestamping over high speed multi lane distribution physical code sublayers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010016791A (ja) * 2008-06-03 2010-01-21 Nippon Telegr & Teleph Corp <Ntt> パラレル光伝送装置及び方法
JP2010130574A (ja) * 2008-11-28 2010-06-10 Nippon Telegr & Teleph Corp <Ntt> パラレル伝送方法及びパラレル伝送装置
US20120030438A1 (en) * 2010-07-29 2012-02-02 Sarance Technologies Inc. Method and Apparatus for Performing Skew Removal in the Receiver of a Multi-Lane Communication Link

Also Published As

Publication number Publication date
JP2016517680A (ja) 2016-06-16
CN105379220B (zh) 2017-12-01
CN105379220A (zh) 2016-03-02
WO2014153298A3 (en) 2014-12-04
KR102091302B1 (ko) 2020-03-19
EP2976866B1 (en) 2017-05-03
US9167058B2 (en) 2015-10-20
US20140269769A1 (en) 2014-09-18
WO2014153298A2 (en) 2014-09-25
EP2976866A2 (en) 2016-01-27
JP6149150B2 (ja) 2017-06-14

Similar Documents

Publication Publication Date Title
KR102091302B1 (ko) 스큐가 있는 다중 레인 통신 링크에서의 타임스탬프 보정
US11265096B2 (en) High accuracy time stamping for multi-lane ports
TWI723006B (zh) 使用經校準、單一時脈來源同步串列器-解串列器協定之高速資料傳輸
US10804889B2 (en) Double compression avoidance
US11671194B2 (en) Technologies for high-precision timestamping of packets
US9268888B1 (en) Latency computation circuitry
US20160098326A1 (en) Method and apparatus for enabling temporal alignment of debug information
US20040047408A1 (en) Data link analyzer
US9111042B1 (en) 1588 deterministic latency with gearbox
US20120317380A1 (en) Device and method for a half-rate clock elasticity fifo
US8995596B1 (en) Techniques for calibrating a clock signal
US7251304B2 (en) Bit synchronizing circuit configured to obviate errors from meta-stability
US11178055B2 (en) Methods and apparatus for providing deterministic latency for communications interfaces
US8711018B2 (en) Providing a feedback loop in a low latency serial interconnect architecture
CN114884605A (zh) 基于fpga实现网络节点时间同步的方法
Iles Performance and lessons of the CMS global calorimeter trigger
US6430198B1 (en) Apparatus and method of reducing packet length count processing
Popa The Read-Out Controller (ROC)
US7180935B2 (en) System and method for compensating for delay time fluctuations
JP5742461B2 (ja) 信号伝送装置
JP2006345570A (ja) ビット同期回路
US20150200769A1 (en) Cross-channel data communication with data phase-locked loop

Legal Events

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