KR102507714B1 - SRIS를 지원하는 PCIe 장치 - Google Patents

SRIS를 지원하는 PCIe 장치 Download PDF

Info

Publication number
KR102507714B1
KR102507714B1 KR1020160054256A KR20160054256A KR102507714B1 KR 102507714 B1 KR102507714 B1 KR 102507714B1 KR 1020160054256 A KR1020160054256 A KR 1020160054256A KR 20160054256 A KR20160054256 A KR 20160054256A KR 102507714 B1 KR102507714 B1 KR 102507714B1
Authority
KR
South Korea
Prior art keywords
clock signal
reference clock
pcie
count value
refclk
Prior art date
Application number
KR1020160054256A
Other languages
English (en)
Other versions
KR20170124403A (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 삼성전자주식회사
Priority to KR1020160054256A priority Critical patent/KR102507714B1/ko
Priority to CN201710202171.6A priority patent/CN107341124B/zh
Priority to US15/489,125 priority patent/US10366044B2/en
Publication of KR20170124403A publication Critical patent/KR20170124403A/ko
Application granted granted Critical
Publication of KR102507714B1 publication Critical patent/KR102507714B1/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/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/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0095Arrangements for synchronising receiver with transmitter with mechanical means
    • 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/266Arrangements to supply power to external peripherals either directly from the computer or under computer control, e.g. supply of power through the communication port, computer controlled power-strips
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0091Transmitter details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)

Abstract

SRIS를 지원하는 PCIe 장치는 송수신기와, 제2기준 클락 신호를 생성하는 클락 신호 생성기와, PCIe 호스트와 연결되는 구조는 갖는 커넥터와, 상기 커넥터를 통해 제1기준 클락 신호가 공급되는지를 판단하고, 판단 결과에 따라 상기 제1기준 클락 신호와 상기 제2기준 클락 신호 중에서 어느 하나를 상기 송수신기로 전송하는 선택 회로를 포함한다.

Description

SRIS를 지원하는 PCIe 장치{PCIe DEVICE FOR SUPPORTING SRIS}
본 발명의 개념에 따른 실시 예는 PCI 익스프레스(peripheral component interconnect express(PCIe)) 장치에 관한 것으로, 특히 서로 다른 클락 소스들로부터 출력된 기준 클락 신호들 중에서 어느 하나를 동작 클락 신호로서 자동으로 선택할 수 있는 SRIS(separate reference clock with independent spread spectrum clocking(SSC))를 지원하는 PCIe 장치에 관한 것이다.
일반적으로 PCIe 호스트와 PCIe 장치를 포함하는 PCIe 시스템에서 100MHz의 주파수를 갖는 기준 클락 신호가 사용한다. 상기 기준 클락 신호의 공급 방식은 공통 기준 클락 신호 방식과 개별 기준 클락 신호 방식으로 분류될 수 있다.
공통 기준 클락 신호 방식은 PCIe 장치와 PCIe 호스트가 하나의 기준 클락 소스를 공유하는 방식으로서, 상기 기준 클락 소스는 상기 PCIe 호스트에 구현되고 상기 기준 클락 소스에서 생성된 상기 기준 클락 신호는 PCIe 커넥터를 통해 상기 PCIe 장치로 공급된다. 이 경우, 상기 PCIe 커넥터에는 상기 기준 클락 신호를 공급하는 핀이 할당되어야 한다.
개별 기준 클락 신호 방식은 PCIe 장치와 PCIe 호스트 각각이 서로 다른 기준 클락 소스를 갖는 방식으로서, 상기 PCIe 장치와 상기 PCIe 호스트 각각은 해당 기준 클락 소스를 이용하여 해당 기준 클락 신호를 생성하고, 상기 해당 기준 클락 신호를 이용하여 동작한다. 이 경우, 상기 PCIe 장치와 상기 PCIe 호스트는 기준 클락 신호를 공급하는 핀이 할당되지 않은 PCIe 케이블 등으로 연결될 수 있다.
본 발명이 이루고자 하는 기술적 과제는 서로 다른 클락 소스들로부터 출력된 기준 클락 신호들 중에서 어느 하나를 동작 클락 신호로서 자동으로 선택할 수 있는 SRIS(separate reference clock with independent spread spectrum clocking(SSC))를 지원하는 PCIe 장치를 제공하는 것이다.
본 발명의 실시 예에 따른, SRIS(separate reference clock with independent spread spectrum clocking(SSC))를 지원하는 PCIe(peripheral component interconnect express) 장치는 송수신기와, 제2기준 클락 신호를 생성하는 클락 신호 생성기와, PCIe 호스트와 연결되는 구조는 갖는 커넥터와, 상기 커넥터를 통해 제1기준 클락 신호가 공급되는지를 판단하고, 판단 결과에 따라 상기 제1기준 클락 신호와 상기 제2기준 클락 신호 중에서 어느 하나를 상기 송수신기로 전송하는 선택 회로를 포함한다.
상기 선택 회로는 상기 제1기준 클락 신호가 상기 송수신기로 공급될 때, 상기 클락 신호 생성기의 파워를 오프하기 위한 제어 신호를 상기 클락 신호 생성기로 출력한다.
실시 예들에 따라, 상기 선택 회로는 상기 제1기준 클락 신호가 상기 커넥터로 공급될지를 지시하는 지시 데이터를 저장하는 레지스터와, 상기 지시 데이터에 응답하여 선택 신호를 생성하는 CPU와, 상기 커넥터와 상기 클락 신호 생성기에 연결되고, 상기 선택 신호에 응답하여 상기 제1기준 클락 신호와 상기 제2기준 클락 신호 중에서 상기 어느 하나를 상기 송수신기로 전송하는 선택기를 포함한다.
실시 예들에 따라, 상기 선택 회로는 상기 제1기준 클락 신호와 관련된 제1카운트 값과 상기 제2기준 클락 신호와 관련된 제2카운트 값을 비교하고, 비교 결과에 따라 상기 제1기준 클락 신호와 상기 제2기준 클락 신호 중에서 상기 어느 하나를 상기 송수신기로 전송한다.
상기 PCIe 장치는 내부 클락 신호를 생성하는 내부 클락 신호 생성기를 더 포함하고, 상기 선택 회로는 상기 내부 클락 신호를 이용하여 상기 제1카운트 값과 상기 제2카운트 값의 비교 시점을 결정하고, 상기 비교 시점에서 상기 제1카운트 값과 상기 제2카운트 값을 비교한다.
실시 예들에 따라, 상기 선택 회로는 상기 비교 시점에서 상기 제1카운트 값과 상기 제2카운트 값의 차이가 기준 값보다 작을 때 상기 제1기준 클락 신호를 상기 송수신기로 전송하고, 그렇지 않을 때 상기 제2기준 클락 신호를 상기 송수신기로 전송한다.
실시 예들에 따라, 상기 선택 회로는 상기 제1기준 클락 신호의 토글링을 카운트하고 제1카운트 값을 생성하는 제1카운터와, 상기 제2기준 클락 신호의 토글링을 카운트하고 제2카운트 값을 생성하는 제2카운터와, 상기 제1카운트 값과 상기 제2카운트 값을 비교하고, 비교 결과에 따라 선택 신호를 생성하는 비교기와, 상기 선택 신호에 따라 상기 제1기준 클락 신호와 상기 제2기준 클락 신호 중에서 상기 어느 하나를 선택하고, 선택된 상기 어느 하나를 상기 송수신기로 전송하는 선택기를 포함한다.
상기 PCIe 장치는 내부 클락 신호를 생성하는 내부 클락 신호 생성기를 더 포함하고, 상기 비교기는 상기 내부 클락 신호를 이용하여 상기 제1카운트 값과 상기 제2카운트 값의 비교 시점을 결정하고, 상기 비교 시점에서 상기 제1카운트 값과 상기 제2카운트 값을 비교하고, 상기 선택 신호를 생성한다.
상기 선택 회로는 상기 선택기와 상기 송수신기 사이에 연결된 클락 게이팅 회로를 더 포함하고, 상기 비교기는 상기 어느 하나가 선택될 때까지 상기 클락 게이팅 회로를 디스에이블하는 클락 인에이블 신호를 생성한다.
상기 비교기는 상기 제1기준 클락 신호와 상기 제2기준 클락 신호 중에서 상기 어느 하나를 선택하기 위한 상기 선택 신호를 생성한 후, 상기 클락 게이팅 회로를 인에이블하기 위한 상기 클락 인에이블 신호와 상기 클락 신호 생성기를 오프하기 위한 제어 신호를 생성한다.
상기 송수신기와 상기 선택 회로는 상기 PCIe 장치의 물리 계층에 형성되고, 상기 PCIe 장치는 상기 커넥터를 이용하여 상기 PCIe 호스트의 마더보드 위의 확장 슬롯에 삽입될 수 있는 확장 카드일 수 있다.
본 발명의 실시 예에 따른, SRIS(separate reference clock with independent spread spectrum clocking(SSC))를 지원하는 PCIe(peripheral component interconnect express) 장치는 제2기준 클락 신호를 생성하는 클락 신호 생성기; 및 PCIe 호스트로부터 제1기준 클락 신호가 공급되는지를 자동으로 검출하고, 검출 결과에 따라 상기 제1기준 클락 신호와 상기 제2기준 클락 신호 중에서 어느 하나를 상기 PCIe 장치의 기준 클락 신호로서 선택하는 물리 계층을 포함한다.
상기 물리 계층은 상기 제1기준 클락 신호가 상기 기준 클락 신호로서 선택될 때, 상기 클락 신호 생성기를 자동으로 오프시킨다.
실시 예들에 따라, 상기 물리 계층은 상기 제1기준 클락 신호의 공급 여부를 지시하는 지시 데이터를 저장하는 레지스터와, 상기 지시 데이터에 응답하여 선택 신호를 생성하는 CPU와, 상기 선택 신호에 응답하여 상기 제1기준 클락 신호와 상기 제2기준 클락 신호 중에서 상기 어느 하나를 상기 기준 클락 신호로서 선택하는 선택기를 포함한다.
실시 예들에 따라, 상기 물리 계층은 상기 제1기준 클락 신호의 토글링을 카운트하고 제1카운트 값을 생성하는 제1카운터와, 상기 제2기준 클락 신호의 토글링을 카운트하고 제2카운트 값을 생성하는 제2카운터와, 내부 클락 신호를 생성하는 내부 클락 신호 생성기와, 상기 내부 클락 신호를 이용하여 상기 제1카운트 값과 상기 제2카운트 값의 비교 시점을 결정하고, 상기 비교 시점에서 상기 제1카운트 값과 상기 제2카운트 값을 비교하고, 선택 신호를 생성하는 비교기와, 상기 선택 신호에 따라 상기 제1기준 클락 신호와 상기 제2기준 클락 신호 중에서 상기 어느 하나를 상기 기준 클락 신호로서 선택하는 선택기를 포함한다.
본 발명의 실시 예에 따른 SRIS를 지원하는 PCIe 장치는 서로 다른 클락 소스들로부터 출력된 기준 클락 신호들 중에서 어느 하나를 동작 클락 신호로서 자동으로 선택할 수 있는 효과가 있다.
본 발명의 실시 예에 따른 SRIS를 지원하는 PCIe 장치는 상기 PCIe 장치의 외부로 제1기준 클락 신호가 공급되는지를 자동으로 판단하고, 판단 결과에 따라 상기 제1기준 클락 신호와 상기 PCIe 장치의 내부에서 생성된 제2기준 클락 신호 중에서 어느 하나를 상기 PCIe 장치의 동작 클락 신호로 사용할 수 있으므로, 상기 제1기준 클락 신호가 상기 동작 클락 신호로서 선택될 때, 상기 제2기준 클락 신호를 생성하는 클락 신호 생성기의 파워를 자동으로 오프할 수 있다. 따라서, 상기 PCIe 장치의 전력 소모는 줄어들 수 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 PCIe 시스템의 개략적인 구성을 나타내는 블록도이다.
도 2는 본 발명의 실시 예들에 따른 도 1에 도시된 PCIe 장치의 물리 계층에 구현된 회로들을 나타내는 블록도이다.
도 3은 본 발명의 실시 예들에 따른 도 1에 도시된 PCIe 장치의 물리 계층에 구현된 회로들을 나타내는 블록도이다.
도 4는 도 1의 PCIe 호스트 장치로부터 제1기준 클락 신호가 도 1의 PCIe 장치로 공급될 때, 도 2에 도시된 물리 계층의 동작을 설명하는 타이밍 도이다.
도 5는 도 1의 PCIe 호스트 장치로부터 제1기준 클락 신호가 도 1의 PCIe 장치로 공급되지 않을 때, 도 2에 도시된 물리 계층의 동작을 설명하는 타이밍 도이다.
도 6은 도 2 또는 도 3에 도시된 PCIe 장치의 물리 계층의 동작 방법을 설명하기 위한 플로우 차트이다.
도 7은 도 6에 도시된 판단 단계를 구체적인 설명하기 위한 플로우 차트이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1구성 요소는 제2구성 요소로 명명될 수 있고 유사하게 제2구성 요소는 제1구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 PCIe 시스템의 개략적인 구성을 나타내는 블록도이다. 도 1을 참조하면, PCIe 시스템(50)은 PCIe 호스트(100), PCIe 장치 (200), 및 PCIe 호스트(100)와 PCIe 장치(200)의 접속을 제공하는 PCIe 인터페이스 (300)를 포함할 수 있다.
PCIe 호스트(100)는 제1기준 클락 신호(REFCLK_MB)를 생성하고, 제1기준 클락 신호(REFCLK_MB)를 PCIe 장치(200)로 공급할 수 있는 컴퓨팅 장치 또는 상기 컴퓨팅 장치의 마더보드를 의미할 수 있다. 상기 컴퓨팅 장치는 PC(personal computer), 랩-탑 컴퓨터, 또는 모바일 컴퓨팅 장치를 의미할 수 있다.
PCIe 장치(200)는 PCIe 인터페이스(300)를 통해 PCIe 호스트(100)와 연결될 수 있고, PCIe 호스트(100)로부터 공급된 제1기준 클락 신호(REFCLK_MB) 또는 PCIe 장치(200) 내부에서 생성된 제2기준 클락 신호(REFCLK_AIC)를 기준 클락 신호로서 사용할 수 있다.
PCIe 장치(200)는 SRIS(separate reference clock with independent spread spectrum clocking(SSC))를 지원할 수 있다.
PCIe 장치(200)는 확장 카드(expansion card), 확장 보드(expansion board), 어댑터 카드(adapter card), 애드-인 카드(add-in card) 또는 액세서리 카드 (accessory card)를 의미할 수 있고, 이들 각각은 확장 버스를 통해 PCIe 시스템(또는 컴퓨터 시스템; 50)에 부가적인 기능을 제공하기 위해 PCIe 호스트(100)의 마더보드 상의 전기적 커넥터 또는 확장 슬롯에 삽입될 수 있는 인쇄 회로 기판 (printed circuit board(PCB))을 의미할 수 있다. 또한, PCIe 장치(200)는 솔리드 스테이트 드라이브(solid state drives(SSD))와 같은 저장 장치일 수 있고, 그래픽 카드, 네트워크 카드, 또는 USB 카드일 수 있다.
PCIe 호스트(100)는 제1클락 신호 생성기(105)와 PCIe 호스트 컨트롤러(110)를 포함할 수 있다. PCIe 호스트 컨트롤러(110)는 PCIe 코어(120), 트랜잭션 계층 (130), 데이터 링크 계층(140), 및 물리 계층(150)을 포함할 수 있다.
PCIe 장치(200)는 커넥터(202), 제2클락 신호 생성기(205), 및 PCIe 장치 컨트롤러(210)를 포함할 수 있다. PCIe 장치 컨트롤러(210)는 PCIe 코어(220), 트랜잭션 계층(230), 데이터 링크 계층(240), 및 물리 계층(250)을 포함할 수 있다.
PCIe 계층들은 3개의 이산적 논리적 계층들(three discrete logical layers), 즉 트랜잭션 계층(130 또는 230), 데이터 링크 계층(140 또는 240), 및 물리 계층(150 또는 250)을 포함한다. 각 계층(130 또는 230, 140 또는 240, 및 150 또는 250)은 두 개의 섹션들로 나누어진다. 하나의 섹션(TX)은 아웃바운드 (또는 전송될) 정보를 처리하고, 다른 하나(RX)는 인바운드 (또는 수신된) 정보를 처리한다.
PCIe는 컴포넌트들(100과 200) 사이에서 정보를 통신하기 위해 패킷들 (packets)을 사용한다.
PCIe의 구조에서 상위(upper) 계층은 트랜잭션 계층(130 또는 230)이다. 트랜잭션 계층(130 또는 230)의 주요한 책임은 트랜잭션 계층 패킷들(transaction layer packets(TLPs))을 모으고(assembly) 분해(disassembly)하는 것이다. TLPs는 트랜잭션들(리드(read)와 라이트(write) 뿐만 아니라 어떤 종류들의 이벤트들)을 통신하기 위해 사용된다.
스택(stack)에서 중간 계층(middle layer)은 데이터 링크 계층(140 또는 240)이고, 데이터 링크 계층(140 또는 240)은 트랜잭션 계층(130 또는 230)과 물리 계층(150 또는 250) 사이의 중간 스테이지(intermediate stage)의 기능을 수행한다. 데이터 링크 계층(140 또는 240)의 주요한 책임은 링크 관리(link management); 및 에러 검출과 에러 정정을 포함하는 데이터 무결성(data integrity)이다.
데이터 링크 계층(140 또는 240)의 송신 측은 트랜잭션 계층(130 또는 230)에서 모아진(assembled) TLPs를 수용(accept)하고, 데이터 보호 코드와 TLP 시퀀스 번호를 계산하여 적용하고, 링크(300)를 통해 전송하기 위해 상기 데이터 보호 코드와 상기 TLP 시퀀스 번호를 물리 계층(150 또는 250)으로 전송한다.
수신 데이터 링크 계층(240 또는 140)은 수신된 TLPs의 데이터 무결성을 체크하고, 추가적인 처리를 위해 트랜잭션 계층으로 상기 TLPs를 제출한다(submit).
물리 계층(150 또는 250)은 인터페이스 동작을 위한 모든 회로(all circuitry)를 포함한다. 상기 모든 회로는 드라이버, 입력 버퍼, 직렬-병렬 변환 회로, 병렬-직렬 변환 회로, 위상 동기 루프(phase locked loop(PLLs), 및 임피던스 매칭 회로를 포함한다. 물리 계층(150 또는 250)은 인터페이스 초기화 및 유지에 관련된 논리적 기능들을 또한 포함한다.
PCIe 인터페이스(300)는 패킷들을 전송하기 위한 제1전송 라인들(310-1)과 제2전송 라인들(310-2)를 포함하는 링크(310)를 포함한다.
PCIe 호스트(100)는 제1기준 클락 신호(REFCLK_MB)를 생성하는 제1클락 신호 생성기(105)를 포함하고, 제1기준 클락 신호(REFCLK_MB)는 물리 계층(150)과 PCIe 인터페이스(300)로 공급된다. PCIe 코어(120)는 PCIe 호스트 컨트롤러(110)를 전반적으로 제어할 수 있고, PCIe 코어(220)는 PCIe 장치 컨트롤러(210)를 전반적으로 제어할 수 있다.
본 발명의 실시 예들에 따라 도 2부터 도 7을 참조하여 설명될 모든 회로들은 PCIe 장치(200)의 PCIe 장치 컨트롤러(210)의 물리 계층(250)에 새롭게 구현된거나 집적된다. 따라서, 이하에서는 물리 계층(250)에 새롭게 구현된 회로들의 구조와 기능들이 상세히 설명된 것이다.
도 2는 본 발명의 실시 예들에 따른 도 1에 도시된 PCIe 장치의 물리 계층에 구현된 회로들을 나타내는 블록도이다. 도 1과 도 2를 참조하면, SRIS(separate reference clock with independent spread spectrum clocking(SSC))를 지원하는 PCIe 장치(200)의 PCIe 장치 컨트롤러(210)는 제2클락 신호 생성기(205)와 물리 계층(250=250A)을 포함한다.
제2클락 신호 생성기(205)는 제2기준 클락 신호(REFCLK_AIC)를 생성한다. 물리 계층(250A)은 PCIe 호스트(100)로부터 제1기준 클락 신호(REFCLK_MB)가 공급되는지를 자동으로 검출하고, 검출 결과에 따라 제1기준 클락 신호(REFCLK_MB)와 제2기준 클락 신호(REFCLK_AIC) 중에서 어느 하나를 기준 클락 신호(REFCLK)로서 선택할 수 있다.
물리 계층(250A)은 송수신기(260), 내부 클락 신호 생성기(270), 및 기준 클락 선택 회로(280A)를 포함할 수 있다.
송수신기(260)는 위상 고정 루프(phase locked loop(PLL)) 회로(262), 송신기(264), 및 수신기(266)를 포함할 수 있다.
PLL 회로(262)는 기준 클락 선택 회로(280A)로부터 출력된 기준 클락 신호 (REFCLK=REFCLK_MB 또는 REFCLK=REFCLK_AIC)를 이용하여 송신기(264) 및/또는 수신기(266)로 공급될 클락 신호를 생성할 수 있다. 기준 클락 신호(REFCLK)는 PCIe 호스트(100)로부터 전송된 제1기준 클락 신호(REFCLK_MB)와 PCIe 장치(200) 내부에서 생성된 제2기준 클락 신호(REFCLK_AIC) 중에서 어느 하나일 수 있다.
PLL 회로(262)는 기준 클락 신호(REFCLK)를 체배하여 변경된 주파수를 갖는 클락 신호를 생성할 수 있다. 예컨대, PLL 회로(262)는 100MHz의 주파수를 갖는 기준 클락 신호(REFCLK)를 2.5GHz의 주파수를 갖는 클락 신호로 체배할 수 있다.
송신기(264)는 PLL 회로(262)의 출력 신호를 이용하여 병렬 데이터 신호를 직렬 데이터 신호(PCIe TX)로 변환하고, 직렬 데이터 신호(PCIe TX)를 PCIe 호스트 (100)의 수신 섹션(RX)과 연결된 제1레인(310-1)을 통해 PCIe 호스트(100)로 전송할 수 있다.
수신기(266)는 PCIe 호스트(100)의 송신 섹션(TX)과 연결된 제2레인(310-2)을 통해 PCIe 호스트(100)로부터 전송된 직렬 데이터 신호(PCIe RX)를 수신하고, PLL 회로(262)의 출력 신호를 이용하여, 수신된 직렬 데이터 신호를 복원하기 위한 클락 신호와 복원된 직렬 데이터 신호를 병렬 데이터 신호로 변환하기 위한 클락 신호를 생성할 수 있다.
기준 클락 선택 회로(280A)는 PCIe 호스트(100)로부터 전송된 제1기준 클락 신호(REFCLK_MB)와 PCIe 장치(200) 내부에서 생성된 제2기준 클락 신호 (REFCLK_AIC) 중에서 어느 하나를 PCIe 장치(200)의 작동을 위한 기준 클락 신호 (REFCLK)로 선택할 수 있다.
즉, 기준 클락 선택 회로(280A)는 제1기준 클락 신호(REFCLK_MB)가 PCIe 호스트(100)로부터 공급되는지를 자동으로 판단하고, 판단의 결과에 따라 제1기준 클락 신호(REFCLK_MB) 또는 제2기준 클락 신호(REFCLK_AIC)를 송수신기(260)로 전송할 수 있다.
기준 클락 선택 회로(280A)는 제1카운터(281A), 제2카운터(282A), 비교기 (283A), 선택기(285), 및 클락 게이팅 회로(287)를 포함할 수 있다.
제1기준 클락 신호(REFCLK_MB)가 PCIe 장치(200)로 공급될 때, 제1카운터 (281A)는 PCIe 호스트(100)로부터 전송된 제1기준 클락 신호(REFCLK_MB)를 수신하고, 제1기준 클락 신호(REFCLK_MB)의 토글링(또는 오실레이션)의 회수를 카운트하고, 제1카운트 값(REFCLK_MB_CNT)을 생성할 수 있다.
제2카운터(282A)는 PCIe 장치(200)의 제2클락 신호 생성기(205)로부터 생성된 제2기준 클락 신호(REFCLK_AIC)를 수신하고, 제2기준 클락 신호(REFCLK_AIC)의 토글링(또는 오실레이션)의 회수를 카운트하고, 제2카운트 값(REFCLK_AIC_CNT)을 생성할 수 있다.
제1카운트 값(REFCLK_MB_CNT)과 제2카운트 값(REFCLK_AIC_CNT)은 비교기 (283A)로 공급될 수 있다. 비교기(283A)는 제1카운트 값(REFCLK_MB_CNT)과 제2카운트 값(REFCLK_AIC_CNT)을 서로 비교하고, 비교 결과에 따라 클락 선택 신호 (CLK_SEL)를 생성하고, 클락 선택 신호(CLK_SEL)를 선택기(285)로 출력할 수 있다.
예컨대, 제1카운트 값(REFCLK_MB_CNT)과 제2카운트 값(REFCLK_AIC_CNT)의 차이가 기준 값보다 작을 때, 비교기(283A)는 제1기준 클락 신호(REFCLK_MB)를 기준 클락 신호(REFCLK)로서 선택하기 위한 클락 선택 신호(CLK_SEL)를 생성하고, 생성된 클락 선택 신호(CLK_SEL)를 선택기(285)로 출력할 수 있다.
제1카운트 값(REFCLK_MB_CNT)과 제2카운트 값(REFCLK_AIC_CNT)의 차이가 상기 기준 값보다 클 때, 비교기(283A)는 제2기준 클락 신호(REFCLK_AIC)를 기준 클락 신호(REFCLK)로서 선택하기 위한 클락 선택 신호(CLK_SEL)를 생성하고, 생성된 클락 선택 신호(CLK_SEL)를 선택기(285)로 출력할 수 있다.
비교기(283A)는 내부 클락 신호 생성기(270)로부터 공급된 내부 클락 신호 (AUXCLK)를 이용하여 제1카운트 값(REFCLK_MB_CNT)과 제2카운트 값 (REFCLK_AIC_CNT)의 비교 시점을 결정할 수 있다. 예컨대, 비교 시점은 PCIe 장치 (200)가 리셋된 후, 일정 시간이 지난 시점이거나, 제1카운터(281A) 또는 제2카운터(282A)가 작동을 시작한 후 일정 시간이 지난 시점일 수 있다.
비교기(283A)는 제2기준 클락 신호(REFCLK_AIC)의 생성 여부를 제어할 수 있는 제어 신호(CLKGEN_DIS)를 생성하고, 제어 신호(CLKGEN_DIS)를 제2클락 신호 생성기(205)로 출력할 수 있다.
예컨대, 제1카운트 값(REFCLK_MB_CNT)과 제2카운트 값(REFCLK_AIC_CNT)의 차이가 기준 값보다 작을 때, 비교기(283A)는 제2클락 신호 생성기(205)의 파워 (power)를 오프시키기 위한 제어 신호(CLKGEN_DIS)를 생성하고, 제어 신호 (CLKGEN_DIS)를 제2클락 신호 생성기(205)로 출력할 수 있다.
제2클락 신호 생성기(205)가 비교기(283A)로부터 출력된 제어 신호 (CLKGEN_DIS)에 따라 파워-오프되면, 제2클락 신호 생성기(205)를 포함하는 PCIe 장치(200)의 전력 소모는 감소한다.
선택기(285)는 제1기준 클락 신호(REFCLK_MB)와 제2기준 클락 신호 (REFCLK_AIC) 중에서 어느 하나를 클락 선택 신호(CLK_SEL)에 응답하여 클락 게이팅 회로(287)로 전송할 수 있다.
클락 게이팅 회로(287)는, 선택기(285)에 의해 기준 클락 신호(REFCLK)가 선택되기 전에, 기준 클락 신호(REFCLK)가 PLL 회로(262)로 공급되는 것을 게이팅 (gating) 또는 차단할 수 있다. 이에 따라, PLL 회로(262)로 불안정한 기준 클락 신호(REFCLK)가 공급되는 것이 방지될 수 있다.
예컨대, 클락 게이팅 회로(287)는, 비교기(283A)로부터 출력된 활성화된 클락 인에이블 신호(CLK_EN)에 응답하여, 선택기(285)로부터 출력된 기준 클락 신호 (REFCLK)를 PLL 회로(262)로 출력할 수 있다. 클락 인에이블 신호(CLK_EN)의 활성화 타이밍은 도 4와 도 5에 예시적으로 도시되어 있다.
도 3은 본 발명의 실시 예들에 따른 도 1에 도시된 PCIe 장치의 물리 계층에 구현된 회로들을 나타내는 블록도이다. 도 1과 도 3을 참조하면, PCIe 장치(200)의 물리 계층(250=250B)은 송수신기(260), 내부 클락 신호 생성기(270), 및 기준 클락 선택 회로(280B)를 포함할 수 있다.
도 3에 도시된 송수신기(260)와 내부 클락 신호 생성기(270)와, 도 2에 도시된 송수신기(260)와 내부 클락 신호 생성기(270)는 동일한 기능을 수행하므로, 이들에 대한 구체적인 설명은 생략한다.
기준 클락 선택 회로(280B)는 PCIe 호스트(100)로부터 제공된 제1기준 클락 신호(REFCLK_MB)와 PCIe 장치(200) 내부에서 생성된 제2기준 클락 신호 (REFCLK_AIC) 중에서 어느 하나를 클락 선택 신호(CLK_SEL)에 응답하여 PCIe 장치 (200)의 작동을 위한 기준 클락 신호(REFCLK)로서 선택할 수 있다.
기준 클락 선택 회로(280B)는 제1기준 클락 신호(REFCLK_MB)가 PCIe 호스트 (100)로부터 공급되는지를 자동으로 판단하고, 판단 결과에 따라 제1기준 클락 신호(REFCLK_MB) 또는 제2기준 클락 신호(REFCLK_AIC)를 송수신기(260)로 전송할 수 있다.
기준 클락 선택 회로(280B)는 레지스터(282B), CPU(284B), 선택기(285), 및 클락 게이팅 회로(287)를 포함할 수 있다.
레지스터(282B)는 PCIe 장치(200)의 작동과 관련된 설정 데이터를 저장하는 환경 설정(configuration) 레지스터일 수 있다. 레지스터(282B)는 PCIe 장치(200)의 기준 클락 신호(REFCLK)를 선택할 수 있는 지시 데이터(IND)를 저장할 수 있다. 지시 데이터(IND)는 PCIe 호스트(100)의 PCIe 코어(120)에 의해 생성된 후 PCIe 장치(200)의 CPU(284B)에 의해 레지스터(282B)에 저장된 데이터일 수 있다. 즉, PCIe 호스트(100)로부터 전송된 지시 데이터(IND)는 레지스터(282B)에 저장될 수 있다.
지시 데이터(IND)는 PCIe 호스트(100)의 제1클락 신호 생성기(105)에서 생성된 제1기준 클락 신호(REFCLK_MB)가 PCIe 장치(200)로 공급될지에 대한 정보를 포함할 수 있다. 예컨대, 지시 데이터(IND)가 제1레벨(예컨대, 하이 레벨 또는 데이터 1)을 나타낼 때, 제1기준 클락 신호(REFCLK_MB)가 PCIe 장치(200)로 공급되거나 공급될 것임을 나타낼 수 있다. 그러나 지시 데이터(IND)가 제2레벨(예컨대, 로우 레벨 또는 데이터 0)을 나타낼 때, 제1기준 클락 신호(REFCLK_MB)가 PCIe 장치 (200)로 공급되지 않음을 의미할 수 있다.
PCIe 호스트(100)와 PCIe 장치(200) 사이에서 링크-업이 이루어진 후 또는 PCIe 장치(200)가 PCIe 호스트(100)에 연결된 후, PCIe 호스트(100)는 라이트 명령과 함께 지시 데이터(IND)를 PCIe 인터페이스(300)를 통해 PCIe 장치(200)로 전송할 수 있고, PCIe 장치(200)의 CPU(284B)는 상기 라이트 명령에 응답하여 지시 데이터(IND)를 레지스터(282B)에 라이트할 수 있다.
CPU(284B)는 기준 클락 선택 회로(280B)의 동작을 전반적으로 제어할 수 있다. 예컨대, CPU(284B)는 레지스터(282B)로부터 지시 데이터(IND)를 리드(read)하고, 지시 데이터(IND)에 기초하여 클락 선택 신호(CLK_SEL)와 클락 인에이블 신호 (CLK_EN)를 생성할 수 있다.
예컨대, 레지스터(282B)로부터 리드된 지시 데이터(IND)가 제1레벨을 나타낼 때, CPU(284B)는 제1기준 클락 신호(REFCLK_MB)를 기준 클락 신호(REFCLK)로서 출력(또는 선택)하기 위한 클락 선택 신호(CLK_SEL)를 생성하고, 클락 선택 신호 (CLK_SEL)를 선택기(285)로 출력할 수 있다.
레지스터(282B)로부터 리드된 지시 데이터(IND)가 제2레벨을 나타낼 때, CPU (284B)는 제2기준 클락 신호(REFCLK_AIC)를 기준 클락 신호(REFCLK)로서 출력(또는 선택)하기 위한 클락 선택 신호(CLK_SEL)를 생성하고, 클락 선택 신호(CLK_SEL)를 선택기(285)로 출력할 수 있다.
선택기(285)는, CPU(284B)로부터 출력된 클락 선택 신호(CLK_SEL)에 응답하여, 제1기준 클락 신호(REFCLK_MB)와 제2기준 클락 신호(REFCLK_AIC) 중에서 어느 하나를 클락 게이팅 회로(287)로 전송할 수 있다.
클락 게이팅 회로(287)는 기준 클락 신호(REFCLK)가 선택되기 전에 불안정한 기준 클락 신호(REFCLK)가 PLL 회로(262)로 공급되는 것은 게이팅 또는 차단할 수 있다.
예컨대, 클락 게이팅 회로(287)는, CPU(284B)로부터 출력된 활성화된 클락 인에이블 신호(CLK_EN)에 응답하여, 선택기(285)로부터 출력된 기준 클락 신호 (REFCLK)를 PLL 회로(262)로 출력할 수 있다. 클락 선택 신호(CLK_SEL)와 클락 인에이블 신호(CLK_EN) 각각의 활성화 타이밍은 도 4와 도 5에 예시적으로 도시되어 있다. 여기서 활성화는 제2레벨로부터 제1레벨로 천이하는 것은 의미할 수 있다.
도 4는 도 1의 PCIe 호스트 장치로부터 제1기준 클락 신호가 도 1의 PCIe 장치로 공급될 때, 도 2에 도시된 물리 계층의 동작을 설명하는 타이밍 도이다.
도 1, 도 2, 및 도 4를 참조하면, PCIe 호스트(100)는 PCIe 인터페이스(300)를 통해 제1기준 클락 신호(REFCLK_MB)를 PCIe 장치(200)로 공급한다고 가정한다. 따라서, 제1기준 클락 신호(REFCLK_MB)와 제2기준 클락 신호(REFCLK_AIC) 모두는 선택 회로(280A)로 공급될 수 있다.
제1기준 클락 신호(REFCLK_MB)는 PCIe 인터페이스(300)와 커넥터(202)를 통해 제1카운터(281A)와 선택기(285)의 제1입력 단자로 공급될 수 있다. 제2기준 클락 신호(REFCLK_AIC)는 제2카운터(281A)와 선택기(285)의 제2입력 단자로 공급될 수 있다.
제1시점(T1)에서, PCIe 장치(200)의 리셋은 해제된다. 도 4와 도 5에서는 리셋 신호(PERST_N)가 로우 레벨로부터 하이 레벨로 천이할 때, PCIe 장치(200)의 리셋은 해제된다고 가정한다.
PCIe 장치(200)의 리셋이 해제되면, 제1시점(T1)부터 제1카운터(281A)와 제2카운터(282A)는 카운트 작동을 수행할 수 있다.
예컨대, 제1카운터(281A)는 제1기준 클락 신호(REFCLK_MB)의 제1에지(예컨대, 라이징 에지(rising edge))의 개수를 카운트하고, 제1카운트 값 (REFCLK_MB_CNT)을 생성할 수 있다. 제2카운터(282A)는 제2기준 클락 신호 (REFCLK_AIC)의 제1에지의 개수를 카운트하고, 제2카운트 값(REFCLK_AIC_CNT)을 생성할 수 있다.
제2시점(T2)에서, 비교기(283A)는 제1카운트 값(REFCLK_MB_CNT)과 제2카운트 값(REFCLK_AIC_CNT)의 차이와 기준 값을 비교하고, 비교 결과에 따라 클락 선택 신호(CLK_SEL)를 생성할 수 있다.
비교기(283A)의 비교 시점(예컨대, T2)은 내부 클락 신호(AUXCLK)에 기초하여 결정될 수 있고, 상기 비교 시점이 변경되면 상기 기준 값도 변경될 수 있다.
도 4를 참조하면, 제1카운트 값(REFCLK_MB_CNT=7)과 제2카운트 값 (REFCLK_AIC_CNT=8)의 차이(즉, 1)가 기준 값(예컨대, N, N은 1보다 큰 자연수로서, 예컨대, 1)보다 작거나 같을 때, 비교기(283A)는 제1기준 클락 신호 (REFCLK_MB)의 주파수와 제2기준 클락 신호(REFCLK_AIC)의 주파수(예컨대, 100MHz)가 동일하거나 또는 오차 허용 범위임을 판단할 수 있다.
도 4에 도시된 바와 같이, 비교기(283A)는 활성화된(예컨대 하이 레벨) 클락 선택 신호(CLK_SEL)를 선택기(285)로 출력할 수 있고, 선택기(285)는, 활성화된 클락 선택 신호(CLK_SEL)에 따라, 제1입력 단자로 공급되는 제1기준 클락 신호 (REFCLK_MB)를 PCIe 장치(200)의 작동을 위한 기준 클락 신호(REFCLK)로 선택할 수 있다.
제3시점(T3)에서, 비교기(283A)는 제1기준 클락 신호(REFCLK_MB)가 기준 클락 신호(REFCLK)로서 PLL 회로(262)로 입력될 수 있도록 활성화된 클락 인에이블 신호(CLK_EN)를 생성하고, 활성화된 클락 인에이블 신호(CLK_EN)를 클락 게이팅 회로(287)로 출력할 수 있다.
비교기(283A)는 제2클락 신호 생성기(205)의 파워를 차단하기 위해 활성화된 제어 신호(CLKGEN_DIS)를 제2클락 신호 생성기(205)로 출력할 수 있다. 도 4에 예시적으로 도시된 바와 같이, 클락 인에이블 신호(CLK_EN)와 제어 신호(CLKGEN_DIS)는 동시에 활성화될 수 있다. 따라서, 제2클락 신호 생성기(205)는 전력 소모를 줄이기 위해 파워-오프되고, 클락 게이팅 회로(287)는 기준 클락 신호 (REFCLK=REFCLK_MB)를 PLL 회로(262)로 공급할 수 있다.
도 5는 도 1의 PCIe 호스트 장치로부터 제1기준 클락 신호가 도 1의 PCIe 장치로 공급되지 않을 때, 도 2에 도시된 물리 계층의 동작을 설명하는 타이밍 도이다. 도 1, 도 2, 및 도 5를 참조하면, PCIe 호스트(100)는 PCIe 인터페이스(300)를 통해 제1기준 클락 신호(REFCLK_MB)를 PCIe 장치(200)로 공급하지 않는다고 가정한다. 따라서, 제2기준 클락 신호(REFCLK_AIC)만이 선택 회로(280A)로 공급될 수 있다.
제1시점(T1)에서 PCIe 장치(200)의 리셋이 해제되면, 제1시점(T1)부터 제1카운터(281A)와 제2카운터(282A)는 카운트 작동을 수행할 수 있다.
예컨대, 제1카운터(281A)는 제1기준 클락 신호(REFCLK_MB)의 라이징 에지의 개수를 카운트하고, 제1카운트 값(REFCLK_MB_CNT)을 생성할 수 있다. 제2카운터 (282A)는 제2기준 클락 신호(REFCLK_AIC)의 라이징 에지의 개수를 카운트하고, 제2카운트 값(REFCLK_AIC_CNT)을 생성할 수 있다.
제1기준 클락 신호(REFCLK_MB)가 PCIe 장치(200)로 공급되지 않으므로, 제1카운트 값(REFCLK_MB_CNT)은 0(zero)이다.
제2시점(T2)에서, 비교기(283A)는 제1카운트 값(REFCLK_MB_CNT)과 제2카운트 값(REFCLK_AIC_CNT)의 차이와 기준 값을 비교하고, 비교 결과에 따라 클락 선택 신호(CLK_SEL)를 생성할 수 있다.
비교기(283A)의 비교 시점(예컨대, T2)은 내부 클락 신호(AUXCLK)에 기초하여 결정될 수 있고, 상기 비교 시점이 변경되면 상기 기준 값도 변경될 수 있다.
도 5를 참조하면, 제1카운트 값(REFCLK_MB_CNT=0)과 제2카운트 값 (REFCLK_AIC_CNT=8)의 차이(즉, 8)가 기준 값(예컨대, N, N은 1보다 큰 자연수로서, 예컨대, 1)보다 크므로, 도 5에 도시된 바와 같이, 비교기(283A)는 비활성화된 (예컨대 로우 레벨) 클락 선택 신호(CLK_SEL)를 선택기(285)로 출력할 수 있고, 선택기(285)는, 비활성화된 클락 선택 신호(CLK_SEL)에 따라, 제2입력 단자로 공급되는 제2기준 클락 신호(REFCLK_AIC)를 PCIe 장치(200)의 작동을 위한 기준 클락 신호(REFCLK)로 선택할 수 있다.
제3시점(T3)에서, 비교기(283A)는 제2기준 클락 신호(REFCLK_AIC)가 기준 클락 신호(REFCLK)로서 PLL 회로(262)로 입력될 수 있도록 활성화된 클락 인에이블 신호(CLK_EN)를 생성하고, 활성화된 클락 인에이블 신호(CLK_EN)를 클락 게이팅 회로(287)로 출력할 수 있다.
비교기(283A)는, 제2클락 신호 생성기(205)의 파워가 차단되면 안 되므로, 비활성화된 제어 신호(CLKGEN_DIS)를 제2클락 신호 생성기(205)로 출력할 수 있다.
제2클락 신호 생성기(205)는 비활성화된 제어 신호(CLKGEN_DIS)에 응답하여 제2기준 클락 신호(REFCLK_AIC)의 발생을 유지하고, 클락 게이팅 회로(287)는 활성화된 클락 인에이블 신호(CLK_EN)에 응답하여 기준 클락 신호(REFCLK=REFCLK_AIC)를 PLL 회로(262)로 공급할 수 있다.
도 6은 도 2 또는 도 3에 도시된 PCIe 장치의 물리 계층의 동작 방법을 설명하기 위한 플로우 차트이고, 도 7은 도 6에 도시된 판단 단계를 구체적인 설명하기 위한 플로우 차트이다.
도 1부터 도 7을 참조하면, PCIe 호스트(100)와 PCIe 장치(200)가 PCIe 인터페이스(300)를 통해 연결될 때, PCIe 장치(200)의 제2클락 신호 생성기(205)는 제2기준 클락 신호(REFCLK_AIC)를 생성하고, 제2기준 클락 신호(REFCLK_AIC)를 기준 클락 선택 회로(280A 또는 280B)로 공급할 수 있다(S110).
기준 클락 선택 회로(280A 또는 280B)는 PCIe 호스트(100)의 제1클락 신호 생성기(105)로부터 출력된 제1기준 클락 신호(REFCLK_MB)가 PCIe 장치(200)로 공급되는지를 판단할 수 있다(S120).
도 7을 참조하면, 기준 클락 선택 회로(280A)는 제1기준 클락 신호 (REFCLK_MB)의 토글링 또는 오실레이션의 회수를 카운트하고 제1카운트 값 (REFCLK_MB_CNT)을 생성하고(S122), 제2기준 클락 신호(REFCLK_AIC)의 토글링 또는 오실레이션의 회수를 카운트하고 제2카운트 값(REFCLK_AIC_CNT)을 생성하고(S124), 제1카운트 값(REFCLK_MB_CNT)과 제2카운트 값(REFCLK_AIC_CNT)의 차이를 계산하고 계산된 차이와 기준 값을 비교할 수 있다(S126).
비교 단계(S126)의 결과, 제1카운트 값(REFCLK_MB_CNT)과 제2카운트 값(REFCLK_AIC_CNT)의 차이가 기준 값과 같거나 작을 때(S120의 YES), 기준 클락 선택 회로(280A)는 PCIe 장치(200)로 제1기준 클락 신호(REFCLK_MB)가 공급됨을 판단하고, 제1기준 클락 신호(REFCLK_MB)를 기준 클락 신호(REFCLK)로 선택할 수 있다(S130).
제1기준 클락 신호(REFCLK_MB)가 기준 클락 신호(REFCLK)로 선택될 때, 제2클락 신호 생성기(205)의 동작은 필요 없으므로, 제2클락 신호 생성기(205)로 공급되는 파워는 차단될 수 있다(S150).
비교 단계(S126)의 결과, 제1카운트 값(REFCLK_MB_CNT)과 제2카운트 값 (REFCLK_AIC_CNT)의 차이가 기준 값보다 클 때(S120의 NO), 기준 클락 선택 회로 (280A)는 제1기준 클락 신호(REFCLK_MB)가 PCIe 장치(200)로 공급되지 않음을 판단하고, 제2기준 클락 신호(REFCLK_AIC)를 기준 클락 신호(REFCLK)로서 선택할 수 있다(S140).
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100 : PCIe 호스트
105 : 제1클락 신호 생성기
200 : PCIe 장치
202 : 커넥터
205 : 제2클락 신호 생성기
110 : PCIe 호스트 컨트롤러
210 : PCIe 장치 컨트롤러
120, 220 : PCIe 코어
130, 230 : 트랜잭션 계층
140, 240 : 데이터 링크 계층
150, 250 : 물리 계층
260 : 송수신기
270 : 내부 클락 신호 생성기
280A, 280B : 기준 클락 선택 회로
300 : PCIe 인터페이스
310 : 링크
310-1 : 제1레인
310-2 : 제2레인

Claims (10)

  1. SRIS(separate reference clock with independent spread spectrum clocking(SSC))를 지원하는 PCIe(peripheral component interconnect express) 장치에 있어서,
    송수신기;
    제2기준 클락 신호를 생성하는 클락 신호 생성기;
    PCIe 호스트와 연결되는 구조는 갖는 커넥터; 및
    상기 PCIe 호스트로부터 상기 커넥터를 통해 제1기준 클락 신호가 공급되는지를 판단하고, 상기 제1기준 클락 신호가 공급된다고 판단되면 상기 제1기준 클락 신호를 상기 송수신기로 전송하고, 그리고 상기 제1기준 클락 신호가 공급되지 않는다고 판단되면 상기 제2기준 클락 신호를 상기 송수신기로 전송하는 선택 회로를 포함하는 PCIe 장치.
  2. 제1항에 있어서, 상기 선택 회로는,
    상기 제1기준 클락 신호가 상기 커넥터로 공급될지를 지시하는 지시 데이터를 저장하는 레지스터;
    상기 지시 데이터에 응답하여 선택 신호를 생성하는 CPU; 및
    상기 커넥터와 상기 클락 신호 생성기에 연결되고, 상기 선택 신호에 응답하여 상기 제1기준 클락 신호와 상기 제2기준 클락 신호 중에서 어느 하나를 상기 송수신기로 전송하는 선택기를 포함하는 PCIe 장치.
  3. 제1항에 있어서, 상기 선택 회로는,
    상기 제1기준 클락 신호와 관련된 제1카운트 값과 상기 제2기준 클락 신호와 관련된 제2카운트 값을 비교하고, 비교 결과에 따라 상기 제1기준 클락 신호와 상기 제2기준 클락 신호 중에서 어느 하나를 상기 송수신기로 전송하는 PCIe 장치.
  4. 제3항에 있어서,
    내부 클락 신호를 생성하는 내부 클락 신호 생성기를 더 포함하고,
    상기 선택 회로는 상기 내부 클락 신호를 이용하여 상기 제1카운트 값과 상기 제2카운트 값의 비교 시점을 결정하고, 상기 비교 시점에서 상기 제1카운트 값과 상기 제2카운트 값을 비교하는 PCIe 장치.
  5. 제4항에 있어서, 상기 선택 회로는,
    상기 비교 시점에서 상기 제1카운트 값과 상기 제2카운트 값의 차이가 기준 값보다 작을 때 상기 제1기준 클락 신호를 상기 송수신기로 전송하고,
    그렇지 않을 때 상기 제2기준 클락 신호를 상기 송수신기로 전송하는 PCIe 장치.
  6. 제1항에 있어서,
    상기 송수신기와 상기 선택 회로는 상기 PCIe 장치의 물리 계층에 형성되고,
    상기 PCIe 장치는 상기 커넥터를 이용하여 상기 PCIe 호스트의 마더보드 위의 확장 슬롯에 삽입될 수 있는 확장 카드인 PCIe 장치.
  7. SRIS(separate reference clock with independent spread spectrum clocking(SSC))를 지원하고 그리고 PCIe(peripheral component interconnect express) 호스트와 통신하는 PCIe 장치에 있어서,
    제2기준 클락 신호를 생성하는 클락 신호 생성기; 및
    상기 PCIe 호스트로부터 제1기준 클락 신호가 공급되는지를 자동으로 검출하고, 상기 제1기준 클락 신호가 검출되면 상기 제1기준 클락 신호를 상기 PCIe 장치의 기준 클락 신호로서 선택하고, 그리고 상기 제1기준 클락 신호가 검출되지 않으면 상기 제2기준 클락 신호를 상기 PCIe 장치의 상기 기준 클락 신호로서 선택하는 물리 계층을 포함하는 PCIe 장치.
  8. 제7항에 있어서, 상기 물리 계층은,
    상기 제1기준 클락 신호를 상기 기준 클락 신호로서 선택한 것에 응답하여, 상기 클락 신호 생성기를 오프시키는 제어 신호를 생성하는 PCIe 장치.
  9. 제7항에 있어서, 상기 물리 계층은,
    상기 제1기준 클락 신호의 공급 여부를 지시하는 지시 데이터를 저장하는 레지스터;
    상기 지시 데이터에 응답하여 선택 신호를 생성하는 CPU; 및
    상기 선택 신호에 응답하여 상기 제1기준 클락 신호와 상기 제2기준 클락 신호 중에서 어느 하나를 상기 기준 클락 신호로서 선택하는 선택기를 포함하는 PCIe 장치.
  10. 제7항에 있어서, 상기 물리 계층은,
    상기 제1기준 클락 신호의 토글링을 카운트하고 제1카운트 값을 생성하는 제1카운터;
    상기 제2기준 클락 신호의 토글링을 카운트하고 제2카운트 값을 생성하는 제2카운터;
    내부 클락 신호를 생성하는 내부 클락 신호 생성기;
    상기 내부 클락 신호를 이용하여 상기 제1카운트 값과 상기 제2카운트 값의 비교 시점을 결정하고, 상기 비교 시점에서 상기 제1카운트 값과 상기 제2카운트 값을 비교하고, 선택 신호를 생성하는 비교기; 및
    상기 선택 신호에 따라 상기 제1기준 클락 신호와 상기 제2기준 클락 신호 중에서 어느 하나를 상기 기준 클락 신호로서 선택하는 선택기를 포함하는 PCIe 장치.



KR1020160054256A 2016-05-02 2016-05-02 SRIS를 지원하는 PCIe 장치 KR102507714B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160054256A KR102507714B1 (ko) 2016-05-02 2016-05-02 SRIS를 지원하는 PCIe 장치
CN201710202171.6A CN107341124B (zh) 2016-05-02 2017-03-30 用于支持SRIS的PCIe装置
US15/489,125 US10366044B2 (en) 2016-05-02 2017-04-17 PCIe device for supporting with a separate reference clock with independent spread spectrum clocking (SSC)(SRIS)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160054256A KR102507714B1 (ko) 2016-05-02 2016-05-02 SRIS를 지원하는 PCIe 장치

Publications (2)

Publication Number Publication Date
KR20170124403A KR20170124403A (ko) 2017-11-10
KR102507714B1 true KR102507714B1 (ko) 2023-03-09

Family

ID=60158967

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160054256A KR102507714B1 (ko) 2016-05-02 2016-05-02 SRIS를 지원하는 PCIe 장치

Country Status (3)

Country Link
US (1) US10366044B2 (ko)
KR (1) KR102507714B1 (ko)
CN (1) CN107341124B (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10353442B2 (en) * 2015-01-30 2019-07-16 Hewlett-Packard Development Company, L.P. Expansion slot interface
US11630480B2 (en) * 2017-10-05 2023-04-18 Intel Corporation System, method, and apparatus for SRIS mode selection for PCIe
CN109710025A (zh) * 2019-01-07 2019-05-03 深圳忆联信息系统有限公司 一种固态硬盘的pcie时钟兼容方法、装置、计算机设备及存储介质
US10809789B1 (en) * 2019-07-17 2020-10-20 Dell Products L.P. Peripheral component protection in information handling systems
CN110568905A (zh) * 2019-08-09 2019-12-13 苏州浪潮智能科技有限公司 一种硬盘背板、信号处理方法及介质
CN112783814B (zh) * 2019-11-06 2024-05-10 中科寒武纪科技股份有限公司 用于多模式pcie扩频的时钟电路、电子装置及其方法
CN110781121B (zh) * 2019-11-07 2022-01-04 江苏芯盛智能科技有限公司 一种参考时钟源配置方法与端设备
US11068421B1 (en) * 2020-02-20 2021-07-20 Silicon Motion, Inc. Memory device and associated flash memory controller
EP4116835A4 (en) 2020-03-24 2023-04-12 Huawei Technologies Co., Ltd. SPREAD SPECTRUM CLOCK NEGOTIATION METHOD AND EXPRESS DEVICE AND SYSTEM FOR PERIPHERAL COMPONENT CONNECTION
KR102519480B1 (ko) 2021-04-01 2023-04-10 에스케이하이닉스 주식회사 PCIe 장치 및 이를 포함하는 컴퓨팅 시스템
US11546128B2 (en) 2020-06-16 2023-01-03 SK Hynix Inc. Device and computing system including the device
KR102518285B1 (ko) 2021-04-05 2023-04-06 에스케이하이닉스 주식회사 PCIe 인터페이스 및 인터페이스 시스템
KR102415309B1 (ko) 2020-06-16 2022-07-01 에스케이하이닉스 주식회사 인터페이스 장치 및 그 동작 방법
CN112291027A (zh) * 2020-10-27 2021-01-29 杭州迪普科技股份有限公司 时钟选择方法、装置、设备及计算机可读存储介质
US11269803B1 (en) * 2020-12-01 2022-03-08 Quanta Computer Inc. Method and system for processor interposer to expansion devices
CN113177019B (zh) * 2021-04-25 2022-08-09 山东英信计算机技术有限公司 一种switch板和服务器
US11921657B2 (en) * 2021-05-26 2024-03-05 SK Hynix Inc. Peripheral component interconnect express (PCIE) device for supporting separate reference clock(s) operating between host and direct memory access (DMA) controller
KR102669923B1 (ko) 2021-06-01 2024-05-29 에스케이하이닉스 주식회사 PCIe 인터페이스 장치 및 그 동작 방법
KR102669925B1 (ko) 2021-06-01 2024-05-29 에스케이하이닉스 주식회사 PCIe 인터페이스 장치 및 그 동작 방법
KR102635450B1 (ko) 2021-05-26 2024-02-13 에스케이하이닉스 주식회사 PCIe 장치 및 그 동작 방법
CN113759766A (zh) * 2021-07-29 2021-12-07 苏州浪潮智能科技有限公司 一种独立上电启动的智能网卡及智能网卡上电启动方法
CN116136779A (zh) * 2021-11-18 2023-05-19 腾讯科技(深圳)有限公司 上电操作执行方法、装置、芯片及电子设备
CN116414753A (zh) * 2021-12-31 2023-07-11 华为技术有限公司 控制展频的方法和装置
US11962509B2 (en) * 2022-04-19 2024-04-16 Dell Products, Lp Spread spectrum high-speed serial link

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6128682A (en) 1998-06-25 2000-10-03 Compaq Computer Corporation Method and apparatus for bus isolation
JP3610854B2 (ja) * 1999-12-27 2005-01-19 株式会社日立製作所 情報処理装置および情報処理システム
US6686803B1 (en) * 2000-07-10 2004-02-03 Silicon Laboratories, Inc. Integrated circuit incorporating circuitry for determining which of at least two possible frequencies is present on an externally provided reference signal and method therefor
JP3908445B2 (ja) 2000-08-01 2007-04-25 富士通株式会社 電子機器
CN1890620A (zh) 2003-12-12 2007-01-03 美国凹凸微系有限公司 具有改进型通讯路径和安全功能的Express Card电源开关装置
KR101419292B1 (ko) 2008-02-20 2014-07-14 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 2개의 기준 클럭을 구비한 리드라이버 및 그의 동작 방법
US7886103B2 (en) * 2008-09-08 2011-02-08 Cisco Technology, Inc. Input-output module, processing platform and method for extending a memory interface for input-output operations
US8190944B2 (en) * 2009-12-11 2012-05-29 Ati Technologies Ulc Device configured to switch a clock speed for multiple links running at different clock speeds and method for switching the clock speed
US8559582B2 (en) 2010-09-13 2013-10-15 Altera Corporation Techniques for varying a periodic signal based on changes in a data rate
US8949502B2 (en) 2010-11-18 2015-02-03 Nimble Storage, Inc. PCIe NVRAM card based on NVDIMM
JP5792384B2 (ja) * 2011-07-01 2015-10-14 クゥアルコム・インコーポレイテッドQualcomm Incorporated シリアル通信システムにおけるスタンバイ電力低減のためのシステムおよび方法
US9081907B2 (en) * 2012-10-29 2015-07-14 Qualcomm Incorporated Operating M-PHY based communications over peripheral component interconnect (PCI)-based interfaces, and related cables, connectors, systems and methods
US20140244889A1 (en) 2013-02-27 2014-08-28 Wilocity Ltd. Pci-e reference clock passive splitter and method thereof
KR102076326B1 (ko) * 2013-05-09 2020-02-12 삼성전자주식회사 위상 로테이팅 위상동기회로 및 그것의 동작 제어방법
CN105492989B (zh) * 2013-09-30 2018-11-16 英特尔公司 用于管理对时钟进行的门控的装置、系统、方法和机器可读介质
US10101764B2 (en) * 2015-11-30 2018-10-16 Quanta Computer Inc. Automatic clock configuration system
US20170212579A1 (en) * 2016-01-25 2017-07-27 Avago Technologies General Ip (Singapore) Pte. Ltd. Storage Device With Power Management Throttling

Also Published As

Publication number Publication date
KR20170124403A (ko) 2017-11-10
CN107341124A (zh) 2017-11-10
US10366044B2 (en) 2019-07-30
CN107341124B (zh) 2022-02-08
US20170315956A1 (en) 2017-11-02

Similar Documents

Publication Publication Date Title
KR102507714B1 (ko) SRIS를 지원하는 PCIe 장치
EP3170090B1 (en) Systems and methods for chip to chip communication
US10565154B2 (en) Mobile device and interfacing method thereof that adjusts clock frequency based on access mode
US6516362B1 (en) Synchronizing data between differing clock domains
US7751274B2 (en) Extended synchronized clock
US20070234080A1 (en) Power management in a communication link
US7617404B2 (en) In-band power management in a communication link
US20140281652A1 (en) Data synchronization across asynchronous boundaries using selectable synchronizers to minimize latency
US20170286357A1 (en) Method, Apparatus And System For Communicating Between Multiple Protocols
KR102635457B1 (ko) PCIe 장치 및 이를 포함하는 컴퓨팅 시스템
US8397098B2 (en) Method for countervailing clock skew and core logic circuit using the same
WO2011077563A1 (ja) 情報処理装置又は情報処理方法
US20240241569A1 (en) Method for adaptively adjusting state transition time in peripheral component interconnect express system to enhance overall performance, and associated apparatus
US7457904B2 (en) Methods and systems for a reference clock
US9612931B2 (en) System and method for synchronously controlling LED on multiple control modules based on a register synchronized with synchronous packets
US8909970B2 (en) Information processing apparatus or information processing method which supplies a clock to an external device
CN118244841B (zh) 一种服务器时钟架构及其配置方法、设备、产品及介质
US9479326B2 (en) Information processing apparatus or information processing method
US11962509B2 (en) Spread spectrum high-speed serial link
US7376855B1 (en) Fully stable clock domain synchronization technique for input/output data transmission
TWI467359B (zh) 伺服器
KR20060045635A (ko) 컴퓨터 시스템 및 컴퓨터 시스템의 제어방법
KR20170088758A (ko) 반도체 장치
JP2005204155A (ja) クロック基板冗長構成装置
JP2002278925A (ja) 同期信号生成回路

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)