KR20230082809A - 반도체 장치, 및 이를 포함하는 시스템 - Google Patents

반도체 장치, 및 이를 포함하는 시스템 Download PDF

Info

Publication number
KR20230082809A
KR20230082809A KR1020210170631A KR20210170631A KR20230082809A KR 20230082809 A KR20230082809 A KR 20230082809A KR 1020210170631 A KR1020210170631 A KR 1020210170631A KR 20210170631 A KR20210170631 A KR 20210170631A KR 20230082809 A KR20230082809 A KR 20230082809A
Authority
KR
South Korea
Prior art keywords
link
pcie
ltssm
state
interface
Prior art date
Application number
KR1020210170631A
Other languages
English (en)
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 KR1020210170631A priority Critical patent/KR20230082809A/ko
Priority to US18/056,790 priority patent/US20230176989A1/en
Publication of KR20230082809A publication Critical patent/KR20230082809A/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/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • 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
    • 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 Hardware Design (AREA)
  • Information Transfer Systems (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명의 일 실시예에 따른 반도체 장치는, PCI 익스프레스(PCI express, PCIe) 인터페이스에서 데이터를 주고받는 복수의 포트들, 및 상기 복수의 포트들에 복수의 레인(lane)들을 설정하는 링크 업을 실행하는 LTSSM(Link Training and Status State Machine), 및 링크 업에 성공한 상기 LTSSM이 상태들을 실행한 순서를 기준 순서로 저장하는 메모리를 포함하는 PCIe 컨트롤러를 포함하며, 상기 PCIe 컨트롤러는, PHY 파라미터들을 조정하는 캘리브레이션 동작이 시작되면, 링크 업이 완료하기 위해 상기 LTSSM이 실행하는 상태들의 순서가 상기 기준 순서와 일치할 때까지, 상기 PHY 파라미터들 중 적어도 하나를 변경한다.

Description

반도체 장치, 및 이를 포함하는 시스템{SEMICONDUCTOR DEVICE, AND SYSTEM INCLUDING THE SAME}
본 발명은 반도체 장치, 및 이를 포함하는 시스템에 관한 것이다.
반도체 장치는 다른 외부 장치와 데이터를 주고받기 위한 인터페이스를 포함하며, 인터페이스는 다양한 규격에 따라 구현될 수 있다. 반도체 장치들을 서로 연결하는 인터페이스들 중에서 PCI 익스프레스(PCI Express, PCIe) 인터페이스는, 고속 데이터 전송을 위해 다양한 분야에 적용되고 있다. PCIe 인터페이스는 직렬 전송 형태의 인터페이스로, PCIe 명세에 의해 정의되며, 동시에 데이터를 전송 및 수신할 수 있는 양방향 연결을 제공한다. PCIe 인터페이스에 의해 반도체 장치들이 서로 데이터를 주고받기 위해서는, PCIe 인터페이스의 물리 계층(Physical Layer)에서 링크를 설정하는 프로세스, 및 물리 계층에서 설정 가능한 PHY 파라미터들의 값을 선택하는 프로세스 등이 실행되어야 할 수 있다.
본 발명의 기술적 사상이 이루고자 하는 과제 중 하나는, PHY 파라미터들을 조정하는 캘리브레이션 동작을, PCIe 인터페이스로 데이터를 주고받는 반도체 장치 내에 BISC(Built-In Self Calibration) 형태로 구현함으로써, 다른 외부 장치와 최적의 조건에서 데이터를 주고받을 수 있는 반도체 장치, 및 이를 포함하는 시스템을 제공하고자 하는 데에 있다.
본 발명의 일 실시예에 따른 반도체 장치는, PCI 익스프레스(PCI express, PCIe) 인터페이스에서 데이터를 주고받는 복수의 포트들, 및 상기 복수의 포트들에 복수의 레인(lane)들을 설정하는 링크 업을 실행하는 LTSSM(Link Training and Status State Machine), 및 링크 업에 성공한 상기 LTSSM이 상태들을 실행한 순서를 기준 순서로 저장하는 메모리를 포함하는 PCIe 컨트롤러를 포함하며, 상기 PCIe 컨트롤러는, PHY 파라미터들을 조정하는 캘리브레이션 동작이 시작되면, 링크 업이 완료하기 위해 상기 LTSSM이 실행하는 상태들의 순서가 상기 기준 순서와 일치할 때까지, 상기 PHY 파라미터들 중 적어도 하나를 변경한다.
본 발명의 일 실시예에 따른 반도체 장치는, PCI 익스프레스(PCI express, PCIe) 환경에서 데이터를 주고받는 복수의 포트들, 및 상기 복수의 포트들에 복수의 레인(lane)들을 설정하는 링크 업을 실행하는 LTSSM(Link Training and Status State Machine), 및 링크 업에 성공한 상기 LTSSM이 상태들을 실행한 순서를 기준 순서로 저장하는 메모리를 포함하는 PCIe 컨트롤러를 포함하며, 상기 PCIe 컨트롤러는, 상기 복수의 포트들이 외부 장치와 연결되고 전원을 공급받은 동작 시작 시점 이후의 제1 시점 및 제2 시점 각각에서, 상기 복수의 포트들로 입출력되는 신호의 특성을 결정하는 PHY 파라미터들 중 적어도 하나를 변경한다.
본 발명의 일 실시예에 따른 시스템은, 제1 PCIe 인터페이스, 및 상기 제1 PCIe 인터페이스를 제어하는 제1 PCIe 컨트롤러를 포함하는 제1 반도체 장치, 제2 PCIe 인터페이스, 및 상기 제2 PCIe 인터페이스를 제어하는 제2 PCIe 컨트롤러를 포함하는 제2 반도체 장치, 및 상기 제1 PCIe 인터페이스와 연결되는 제1 인터페이스 및 상기 제2 PCIe 인터페이스와 연결되는 제2 인터페이스를 갖는 제3 반도체 장치를 포함하며, 상기 제1 PCIe 컨트롤러는 제1 시점에 상기 제1 PCIe 인터페이스의 PHY 파라미터들 중 적어도 하나를 변경하고 상기 제1 PCIe 인터페이스와 상기 제1 인터페이스 사이의 링크를 재구성하고, 상기 제2 PCIe 컨트롤러는 상기 제1 시점과 다른 제2 시점에 상기 제2 PCIe 인터페이스의 PHY 파라미터들 중 적어도 하나를 변경하고 상기 제2 PCIe 인터페이스와 상기 제2 인터페이스 사이의 링크를 재구성한다.
본 발명의 일 실시예에 따르면, PCIe 컨트롤러 내부의 메모리에, 반도체 장치들 간의 링크를 설정하기 위해 LTSSM이 실행하는 상태들의 순서를 정의한 기준 순서가 저장될 수 있다. PCIe 컨트롤러는 PHY 파라미터들을 조정하는 캘리브레이션 동작에서, LTSSM이 링크를 설정하기 위해 실행하는 상태들의 순서를 기준 순서와 비교하고, 비교 결과가 일치로 판단될 때까지 PHY 파라미터들 중 적어도 하나를 변경할 수 있다. 따라서, PCIe 인터페이스를 포함하는 반도체 장치가 출하되거나 시스템에 장착된 이후에도, 필요에 따라 PHY 파라미터들을 조정하여 최적의 조건에 따른 데이터 통신을 효과적으로 구현할 수 있다.
본 발명의 다양하면서도 유익한 장점과 효과는 상술한 내용에 한정되지 않으며, 본 발명의 구체적인 실시 형태를 설명하는 과정에서 보다 쉽게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 반도체 장치를 포함하는 스토리지 장치를 간단하게 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 반도체 장치를 포함하는 시스템을 간단하게 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 반도체 장치를 포함하는 시스템의 동작을 설명하기 위해 제공되는 도면이다.
도 4 및 도 5는 본 발명의 일 실시예에 따른 반도체 장치를 포함하는 시스템의 동작을 설명하기 위해 제공되는 도면들이다.
도 6은 본 발명의 일 실시예에 따른 반도체 장치에 포함되는 LTSSM(Link Training and Status State Machine)을 간단하게 나타낸 도면이다.
도 7 내지 도 9는 본 발명의 일 실시예에 따른 반도체 장치의 동작을 설명하기 위해 제공되는 도면들이다.
도 10 내지 도 13은 본 발명의 일 실시예에 따른 반도체 장치의 동작을 설명하기 위해 제공되는 도면들이다.
도 14 내지 도 16은 본 발명의 일 실시예에 따른 반도체 장치에서 LTSSM에 포함되는 상태들을 설명하기 위해 제공되는 도면들이다.
도 17 및 도 18은 본 발명의 일 실시예에 따른 반도체 장치의 동작을 설명하기 위해 제공되는 도면들이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 형태들을 다음과 같이 설명한다.
도 1은 본 발명의 일 실시예에 따른 반도체 장치를 포함하는 스토리지 장치를 간단하게 나타낸 도면이다.
본 발명의 일 실시예에 따른 스토리지 장치(10)는 M.2 표준에 따른 폼팩터를 가질 수 있으며, PCI 익스프레스(PCI express, PCIe) 인터페이스 프로토콜에 따라 외부의 호스트, 예를 들어 중앙 처리 장치, 시스템-온-칩, 애플리케이션 프로세서 등과 통신할 수 있다.
스토리지 장치(10)는 전원 회로(11), 컨트롤러(12), 메모리 장치들(13), DRAM(14) 및 시스템 기판(15) 등을 포함할 수 있다. 전원 회로(11)와 컨트롤러(12) 및 메모리 장치들(13)은 시스템 기판(15)에 형성되는 배선 패턴들에 의해 서로 전기적으로 연결될 수 있다. 시스템 기판(15)에는 적어도 하나의 집적 회로들(17)이 더 실장될 수 있다.
시스템 기판(15)은 외부 호스트와 결합되는 복수의 포트들을 포함하는 커넥터(16)를 포함할 수 있다. 커넥터(16)에 포함되는 복수의 포트들은, 전원 회로(11) 및 컨트롤러(12) 등과 연결될 수 있다. 일례로, 전원 회로(11)는 복수의 포트들 중에서 전원 핀들과 연결되어 외부 장치로부터 전원을 공급받으며, 컨트롤러(12), 메모리 장치들(13) 및 DRAM(14) 등의 동작에 필요한 내부 전원 전압들을 생성할 수 있다. 전원 회로(11)는 PMIC(Power Management Integrated Circuit)를 포함하며, 실시예에 따라 PMIC가 출력하는 내부 전원 전압들을 컨트롤러(12), 메모리 장치들(13) 및 DRAM(14) 등에 공급하는 분배 회로를 포함할 수도 있다.
컨트롤러(12)는 메모리 장치들(13)에 데이터를 기록하거나, 메모리 장치들(13)로부터 데이터를 읽어올 수 있으며, 외부 장치, 예를 들어 호스트와 데이터를 주고받을 수 있다. 메모리 장치들(13)은 서로 분리된 복수의 메모리 장치들을 포함할 수 있으며, 복수의 메모리 장치들 각각은 하나 이상의 메모리 칩들을 포함할 수 있다. 메모리 칩들은 NAND 메모리 칩일 수 있으며, 컨트롤러(12)는 NAND 메모리 칩들을 제어하기 위한 NAND 컨트롤러 및 메모리 인터페이스 등을 포함할 수 있다.
DRAM(14)은 데이터 저장 공간인 메모리 장치들(13)과 외부 장치인 호스트의 속도 차이를 완화하기 위한 버퍼 메모리로 동작할 수 있다. 스토리지 장치(10)에 포함되는 DRAM(14)은 일종의 캐시 메모리로도 동작할 수 있으며, 메모리 장치들(13)에 대한 제어 동작에서 임시로 데이터를 저장하기 위한 공간을 제공할 수도 있다. 컨트롤러(12)는 NAND 메모리 칩들을 포함하는 메모리 장치들(13)을 제어하기 위한 NAND 컨트롤러 외에, DRAM(14)을 제어하기 위한 DRAM 컨트롤러를 더 포함할 수 있다.
도 1에 도시한 일 실시예에서 컨트롤러(12)는, 외부 호스트와 PCIe 인터페이스에 따른 링크를 설정하는 PCIe 컨트롤러를 포함할 수 있다. PCIe 컨트롤러는 커넥터(16)에 포함되는 복수의 포트들에, 실제로 데이터를 주고받기 위한 데이터 레인들, 클럭 신호를 수신하기 위한 클럭 레인들, 및 전원 전압을 입력받기 위한 전원 레인들을 설정할 수 있다.
또한 PCIe 컨트롤러는, 물리 계층에서 설정 가능한 PHY 파라미터들의 값을 결정함으로써, 외부 호스트와 스토리지 장치(10) 사이의 링크를 설정하는 링크 업 프로세스를 진행할 수 있다. 일례로, PCIe 컨트롤러는 링크의 다양한 상태들을 표현하는 LTSSM(Link Training and Status State Machine)을 포함하며, LTSSM에 따라 링크 폭, 데이터 레이트, 레인 번호, 레인의 극성, 연속된 비트들 사이의 경계 등이 결정될 수 있다.
본 발명의 일 실시예에서는, 링크 업에 성공한 LTSSM이 상태들을 실행한 순서가, 기준 순서로서 PCIe 컨트롤러 내부의 메모리에 저장될 수 있다. PCIe 컨트롤러는, PHY 파라미터들을 조정하는 캘리브레이션 동작이 실행되면, PHY 파라미터들 중 적어도 하나를 변경한 후, 링크 업을 완료하기 위해 LTSSM이 실행하는 상태들의 순서를 기준 순서와 비교할 수 있다. PCIe 컨트롤러는, 링크 업을 완료하기 위해 LTSSM이 실행하는 상태들의 순서가 기준 순서와 일치할 때까지, PHY 파라미터들을 조정할 수 있다. 따라서, 최적의 조건에서 데이터를 주고받을 수 있도록 PHY 파라미터들이 조정될 수 있다.
도 2는 본 발명의 일 실시예에 따른 반도체 장치를 포함하는 시스템을 간단하게 나타낸 도면이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 시스템(20)은 호스트(30)와 스토리지 장치(40), 및 그래픽 처리 장치(50) 등을 포함할 수 있다. 호스트(30)는 스토리지 장치(40)를 제어하여 스토리지 장치(40)에 데이터를 저장하거나, 스토리지 장치(40)에 저장된 데이터를 읽어올 수 있다. 또한 호스트(30)는 그래픽 처리 장치(50)와 그래픽 데이터를 주고 받을 수 있다. 호스트(30)는 중앙 처리 장치(CPU), 애플리케이션 프로세서(AP), 시스템-온-칩(SoC) 등의 장치들 중 하나일 수 있다.
호스트(30)는 스토리지 장치(40)와 연결되는 제1 인터페이스(31A), 그래픽 처리 장치(50)와 연결되는 제2 인터페이스(31B), 연산을 실행하는 코어(32), 메모리(33), 및 가속기(34) 등을 포함할 수 있다. 실시예에 따라 호스트(30)는 코어(32)를 두 개 이상 포함할 수 있으며, 메모리(33)는 호스트(30) 내부의 캐시 메모리 등일 수 있다. 가속기(34)는 AI 데이터 연산 등을 실행할 수 있다.
스토리지 장치(40)는 인터페이스(41), SSD 컨트롤러(42), 전원 회로(43) 및 메모리(44) 등을 포함할 수 있다. 인터페이스(41)를 통해 호스트(30)로부터 제어 커맨드를 수신하여 동작하며, 데이터를 수신하여 메모리(44)에 저장하거나, 메모리(44)에 저장된 데이터를 인출하여 호스트(30)로 데이터를 출력할 수 있다. 제어 커맨드는 주소 정보를 포함할 수 있으며, 컨트롤러(42)는 주소 정보를 참조하여 메모리(44)에 포함된 복수의 메모리 칩들 중 적어도 하나에 데이터를 저장하거나, 복수의 메모리 칩들 중 적어도 하나로부터 데이터를 읽어올 수 있다.
그래픽 처리 장치(50)는 인터페이스(51), GPU(52), 메모리(53) 등을 포함할 수 있다. GPU(52)는 호스트(30)로부터 수신한 그래픽 데이터를 처리하며, 메모리(53)는 GPU(52)가 처리하는 그래픽 데이터를 저장할 수 있다. 일례로 메모리(53)는 읽기/쓰기 속도가 빠른 DRAM, PRAM, RRAM, MRAM 등을 포함할 수 있다.
일 실시예에서, 호스트(30)의 제1 인터페이스(31A)와 스토리지 장치(40)의 인터페이스(41), 및 호스트(30)의 제2 인터페이스(31B)와 그래픽 처리 장치(50)의 인터페이스(51)는 PCIe 인터페이스에 의해 서로 데이터를 주고받을 수 있다. 서로 데이터를 주고받기 위해, 시스템(20)의 전원이 턴-온되고 호스트(30), 스토리지 장치(40), 및 그래픽 처리 장치(50)에 전원이 공급되면, 인터페이스들(31A, 31B, 41, 51) 사이의 링크를 구성하는 링크 업 프로세스가 실행될 수 있다. 링크 업 프로세스에서는 데이터 레이트, 데이터를 전송하는 신호의 전압 레벨과 슬루율, 데이터 레인들의 개수와 극성, 레인 번호 등이 결정될 수 있다.
일반적으로 링크 업 프로세스는 미리 결정된 값을 갖는 PHY 파라미터들에 기초하여 실행될 수 있다. 다만, PCIe 인터페이스를 이용하는 장치들의 종류, 외부 온도, 시스템(20)에 공급되는 전원의 크기 등에 따라, 데이터를 주고받는 최적의 환경을 구현하기 위한 PHY 파라미터들 중 적어도 하나의 값이 다를 수 있다. 일반적으로는 PCIe 인터페이스를 이용하는 장치가 출하되기 전에 PHY 파라미터들 각각의 값이 고정된다. 따라서, PCIe 인터페이스에 연결되는 장치가 변경되거나, 외부 온도 및 전원 등이 변하는 경우, 시스템(20)의 성능이 저하될 수 있다.
본 발명의 일 실시예에서는, PHY 파라미터들을 변경하는 캘리브레이션 동작을, PCIe 컨트롤러에서 자체적으로 실행하는 BISC(Built-In Self Calibration) 기능이 장치들(30-50) 중 적어도 하나에 탑재될 수 있다. 따라서, PCIe 인터페이스에 연결되는 장치가 변경되거나, 외부 온도 및 전원 등이 변하는 경우, 필요에 따라 PHY 파라미터들을 변경하고 링크 업 프로세스를 다시 실행함으로써, PCIe 인터페이스를 최적의 조건으로 제어할 수 있으며, 시스템(20)의 성능을 개선할 수 있다.
일례로 캘리브레이션 동작 및 그에 뒤따르는 링크 업 프로세스는 호스트(30), 스토리지 장치(40), 그래픽 처리 장치(50) 중 적어도 하나의 PCIe 컨트롤러에서 자체적으로 실행될 수 있다. 일 실시예에서, 스토리지 장치(40)에 포함되는 PCIe 컨트롤러가 캘리브레이션 동작을 실행하여 PHY 파라미터들 중 적어도 하나를 변경하는 제1 시점은, 그래픽 처리 장치(50)의 PCIe 컨트롤러가 캘리브레이션 동작을 실행하는 제2 시점과 다를 수 있다. 반도체 장치의 종류에 따라, 캘리브레이션 동작을 실행하기 위한 조건, 캘리브레이션 동작을 실행하는 시간 간격 등이 서로 다를 수 있다.
또한, 제1 시점에 스토리지 장치(40)의 PCIe 컨트롤러가 변경하는 PHY 파라미터들은, 제2 시점에 그래픽 처리 장치(50)의 PCIe 컨트롤러가 변경하는 PHY 파라미터들과 다를 수 있다. 이는, 시스템(20)의 구성, 및 스토리지 장치(40)와 그래픽 처리 장치(50) 각각의 사용량 등에 따라 스토리지 장치(40)와 그래픽 처리 장치(50)의 동작 환경이 다르기 때문일 수 있다. 일례로, 시스템(20)이 턴-온된 후 그래픽 처리 장치(50)를 더 많이 사용하는 경우, 스토리지 장치(40)의 내부 온도가 그래픽 처리 장치(50)의 내부 온도보다 낮을 수 있다. 따라서, PCIe 인터페이스를 최적화하기 위한 캘리브레이션 동작에서 조정되는 PHY 파라미터들이, 스토리지 장치(40)와 그래픽 처리 장치(50)에서 서로 다르게 나타날 수 있다.
스토리지 장치(40)와 그래픽 처리 장치(50) 각각은, PCIe 컨트롤러 내부의 메모리 등에, 기준 순서를 저장할 수 있다. 기준 순서는 앞서 설명한 바와 같이, PCIe 컨트롤러가 LTSSM을 이용하여 링크 구성에 성공할 때까지, LTSSM에서 실행한 상태들의 순서를 포함할 수 있다. 일례로, 스토리지 장치(40)의 기준 순서는, 그래픽 처리 장치(50)의 기준 순서와 다를 수 있다.
PHY 파라미터들 중 적어도 하나가 조정되면, 스토리지 장치(40)와 그래픽 처리 장치(50) 각각이 PCIe 컨트롤러는, LTSSM을 이용하여 링크를 재구성할 수 있다. PCIe 컨트롤러는, LTSSM이 링크를 재구성할 때까지 이동한 상태들의 순서를 기준 순서와 비교할 수 있다. 기준 순서와의 비교 결과가 불일치이면, PCIe 컨트롤러는 기준 순서와의 비교 결과가 일치로 판단될 때까지 PHY 파라미터들을 반복해서 조정할 수 있다. 스토리지 장치(40)와 그래픽 처리 장치(50)에서 기준 순서가 서로 다를 수 있으므로, 스토리지 장치(40)에서 캘리브레이션 동작을 실행하고 PCIe 인터페이스의 링크를 재구성하는 데에 걸리는 시간이, 그래픽 처리 장치(50)에서 캘리브레이션 동작을 실행하고 PCIe 인터페이스의 링크를 재구성하는 데에 걸리는 시간과 다를 수 있다.
도 3은 본 발명의 일 실시예에 따른 반도체 장치를 포함하는 시스템의 동작을 설명하기 위해 제공되는 도면이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 시스템(100)은 제1 반도체 장치(110) 및 제2 반도체 장치(120)를 포함할 수 있다. 제1 반도체 장치(110)와 제2 반도체 장치(120)는 PCIe 인터페이스에 따라 데이터를 주고받을 수 있다.
도 3에 도시한 바와 같이, PCIe 아키텍처는 논리적으로 구분되는 복수의 계층들(111-114, 121-124)을 포함할 수 있다. 일례로, PCIe 아키텍처는 소프트웨어 계층(111, 121), 트랜잭션 계층(112, 122), 링크 계층(113, 123), 및 물리 계층(114, 124) 등을 포함할 수 있다.
PCIe 아키텍처에 포함되는 계층들 중에서 물리 계층(114, 124)은 최하위 계층일 수 있으며, 링크 계층(113, 123)에서 생성하는 패킷들을 제1 및 제2 반도체 장치들(110, 120) 사이에서 직렬 전송할 수 있다. 도 3을 참조하면, 물리 계층(114, 124)은 제1 및 제2 반도체 장치들(110, 120) 각각의 트랜스미터(TX)와 리시버(RX)를 통해 형성되는 링크(LINK)를 제공하며, 패킷들은 링크(LINK)를 통해 제1 및 제2 반도체 장치들(110, 120) 사이에서 전송될 수 있다.
링크 계층(113, 123)은 물리 계층(114, 124)의 상위 계층에 해당하며, 링크(LINK)를 통한 패킷 전송의 신뢰성을 보장하고, 링크(LINK)를 관리하는 기능들을 제공할 수 있다. 예를 들어, 링크 계층(113, 123)은 트랜잭션 계층(112, 122)에서 생성되는 패킷에 시퀀스 번호(Sequence Number) 정보, LCRC(Link Cyclic Redundancy Check) 정보 등을 부가할 수 있다.
트랜잭션 계층(112, 122)은 소프트웨어 계층(111, 121)으로부터 읽기(read) 또는 쓰기(write) 요청을 수신하고, 요청 패킷(request packet)을 생성하여 링크 계층(113, 123)에 전달할 수 있다. 또한, 트랜잭션 계층(112, 122)은 링크 계층(113, 123)으로부터 응답 패킷(response packet)을 수신하고 소프트웨어 계층(111, 121)으로부터 수신한 요청과 매칭시킬 수 있다. 트랜잭션 계층(112, 122)은 헤더(Header) 정보와 ECRC(End-to-end Cyclic Redundancy Check) 정보를 포함하는 패킷을 링크 계층(113, 123)에 전달할 수 있다.
소프트웨어 계층(111, 121)은 PCIe 명세에 의해 정의되지 않는 최상위 계층으로서, 일례로 소프트웨어 계층(111, 121)에는 PCIe 인터페이스를 포함하는 반도체 장치들(110, 120) 각각을 구동하는 소프트웨어나, 사용자 또는 호스트 애플리케이션으로부터 데이터 읽기 또는 쓰기 요청을 수신하고, 그에 대한 응답을 사용자 또는 호스트 애플리케이션에 제공하는 소프트웨어 등이 포함될 수 있다.
물리 계층(114, 124), 링크 계층(113, 123), 트랜잭션 계층(112, 122) 및 소프트웨어 계층(111, 121)에 대한 더 구체적인 내용은 PCIe 명세를 참조하여 이해될 수 있을 것이다.
다시 도 3을 다시 참조하면, 제1 반도체 장치(110)의 물리 계층(114)은 LTSSM(Link Training and Status State Machine, 115)을 포함할 수 있다. 마찬가지로, 제2 반도체 장치(120)의 물리 계층(124) 역시 LTSSM(125)을 포함할 수 있다. 일례로 LTSSM(115, 125)은 반도체 장치들(110, 120) 각각의 PCIe 컨트롤러에 저장될 수 있으며, 다만 반드시 이와 같은 형태로 한정되지는 않는다.
제1 반도체 장치(110)를 예시로 설명하면, LTSSM(115)은 검출(Detect) 상태, 폴링(Polling) 상태, 설정(Configuration) 상태, 복원(Recovery) 상태, L0 상태, L0s 상태, L1 상태, L2 상태, 핫 리셋(Hot Reset) 상태, 루프백(Loopback) 상태 및 디스에이블(Disable) 상태를 포함할 수 있다. LTSSM(115)은 11개 상태들을 트랜지션하며 PCIe 인터페이스에 따라 데이터를 전송하기 위한 여러 프로세스들을 수행할 수 있다. LTSSM(115)에 포함되는 상기 11개의 상태들 각각에 대한 정의 역시, PCIe 명세에 기재되어 있으며, LTSSM(115)은 PCIe 명세에 기재된 LTSSM에 관한 정의를 따르도록 구현될 수 있다.
일 실시예에서, 제1 반도체 장치(110)의 LTSSM(115) 및 제2 반도체 장치(120)의 LTSSM(125) 중 적어도 하나는, 제1 및 제2 반도체 장치들(110, 120)이 서로 데이터를 주고받기 위한 링크(LINK)를 설정하는 링크 업 프로세스를 실행할 수 있다. 앞서 언급한 바와 같이, 제1 및 제2 반도체 장치들(110, 120) 사이에서 데이터가 전송되는 경로들이 링크(LINK)로 정의될 수 있다. 링크(LINK)는 송신 경로 및 수신 경로의 쌍(pair)을 하나 이상 포함하며, 여기서 하나의 쌍을 이루는 송신 경로와 수신 경로는 "레인(lane)"으로 정의될 수 있다. 또한 하나의 링크(LINK)를 구성하는 레인(lane)의 개수는 "링크 폭"으로 정의될 수 있다.
제1 반도체 장치(110)의 LTSSM(115) 및 제2 반도체 장치(120)의 LTSSM(125) 중 적어도 하나는, 제1 및 제2 반도체 장치들(110, 120) 사이에서 링크(LINK)를 설정하기 위해, 링크 번호 협상(Link number negotiation)과 레인 번호 협상(Lane number negotiation)을 수행하여, 레인들이 정상적으로 동작하는지 여부를 판단할 수 있으며, 데이터 전송에 이용할 레인들을 선택하여 링크(LINK)를 설정하고, 링크 폭을 결정할 수도 있다.
링크 업이 완료되면, 제1 및 제2 반도체 장치들(110, 120)은 서로 데이터를 주고받을 수 있다. 앞서 설명한 바와 같이, 물리 계층들(114, 124) 사이에서 주고받는 데이터 패킷은 실제 전송하고자 하는 데이터 외에, 헤더 정보, ECRC 정보, 시퀀스 번호 정보, LCRC 정보 등을 더 포함할 수 있다.
LTSSM(115, 125)이 링크 업을 실행하기에 앞서, 물리 계층들(114, 124) 각각에서 PHY 파라미터들이 조정될 수 있다. PHY 파라미터들은, 트랜스미터(TX)가 출력하거나 리시버(RX)가 수신하는 신호의 레벨, 슬루율(Slew Rate), 주파수 중 적어도 하나에 영향을 주는 파라미터들일 수 있다.
PHY 파라미터들은 PCIe 명세에서 정의될 수 있으며, 일반적으로 PHY 파라미터들은 제1 및 제2 반도체 장치들(110, 120)과 같이 PCIe 인터페이스를 지원하는 장치가 출하되기 이전에 미리 설정될 수 있다. 다만, PCIe 인터페이스에 연결되는 장치의 종류나, 장치의 동작 환경, 예를 들어 온도 등에 의해 최적의 퍼포먼스로 PCIe 인터페이스를 제어하는 데에 필요한 PHY 파라미터들이 달라질 수 있다. PHY 파라미터들이 미리 설정되는 경우에는, 상기와 같은 다양한 조건에 대응하기 어려울 수 있다.
본 발명의 일 실시예에서는, PHY 파라미터들을 변경할 수 있는 캘리브레이션 기능이 PCIe 인터페이스를 지원하는 장치에 탑재될 수 있다. 일례로, PCIe 컨트롤러는, 캘리브레이션 기능을 실행하여 PHY 파라미터들 중 적어도 하나를 변경하는 한편, 변경된 PHY 파라미터들을 이용하여 링크(LINK)를 설정하는 링크 업 프로세스를 다시 실행할 수 있다.
일 실시예에서, PCIe 컨트롤러는, 링크 업 프로세스를 다시 실행하는 과정에서, 메모리 등에 미리 저장된 기준 순서를 참조할 수 있다. 기준 순서는, 링크가 정상적으로 설정되고 링크 업이 종료될 때까지, LTSSM(115, 125)이 실행한 상태들을 순서대로 포함할 수 있다. 링크 업이 종료된 경우라도, 링크 업이 종료될 때까지 LTSSM(115, 125)이 실행한 상태들이 순서가 기준 순서와 다르면, PCIe 컨트롤러는 PHY 파라미터들 중 적어도 하나를 조정하고, LTSSM(115, 125)을 이용하여 링크 업을 다시 실행할 수 있다.
일례로 PCIe 컨트롤러는, 복수의 기준 순서들 중 하나를 선택하여 참조할 수 있다. PCIe 컨트롤러와 함께 반도체 장치에 포함되는 메모리에는, PCIe 인터페이스를 통해 연결되는 외부 장치의 종류, 외부 온도, 및 전원의 크기 등과 같은 주변 환경 요소들 중 적어도 하나에 따라 구분되는 복수의 기준 순서들이 저장될 수 있다. PCIe 컨트롤러는, PHY 파라미터들을 조정하는 캘리브레이션의 동작 시점에서의 주변 환경 요소들을 고려하여, 복수의 기준 순서들 중 최적의 기준 순서를 선택하고, 이를 참조하여 링크 업을 실행할 수 있다.
앞서 설명한 바와 같이, PHY 파라미터들이 변경됨으로써, 링크(LINK)를 통해 전송되는 신호의 전압 레벨, 슬루율, 주파수 등이 달라질 수 있다. 따라서, 본 발명의 일 실시예에서는, PCIe 인터페이스를 포함하는 장치가 출하되고, 실제 사용자가 장치를 이용 중인 경우에도, 다양한 동작 환경에 최적화된 설정으로 PHY 파라미터들을 조정할 수 있으며, 최적의 퍼포먼스로 PCIe 인터페이스를 제어할 수 있다.
도 4 및 도 5는 본 발명의 일 실시예에 따른 반도체 장치를 포함하는 시스템의 동작을 설명하기 위해 제공되는 도면들이다.
도 4 및 도 5를 참조하면, 본 발명의 일 실시예에 따른 시스템(200)은 제1 반도체 장치(210)와 제2 반도체 장치(220)를 포함할 수 있다. 제1 반도체 장치(210)는 제1 트랜스미터(TX1)와 제1 리시버(RX1)를 포함하고, 제2 반도체 장치(220)는 제2 트랜스미터(TX2)와 제2 리시버(RX2)를 포함할 수 있다.
제1 트랜스미터(TX1)에 연결된 제1 송신 포트(211)와 제2 리시버(RX2)에 연결된 제2 수신 포트(221) 사이의 제1 전송 경로에서 제1 데이터 신호(DATA0)가 전송될 수 있다. 한편, 제2 트랜스미터(TX2)에 연결된 제2 송신 포트(222)와 제1 리시버(RX1)에 연결된 제1 수신 포트(211) 사이의 제2 전송 경로에서 제2 데이터 신호(DATA1)가 전송될 수 있다. 제1 전송 경로와 제2 전송 경로는 하나의 레인에 포함되며, 도 4 및 도 5에 도시한 바와 같이 한 쌍의 차동 신호를 전송하기 위한 경로를 제공할 수 있다.
제1 및 제2 데이터 신호들(DATA0, DATA1) 각각은 도 4 및 도 5에 도시한 바와 같은 파형을 가질 수 있다. 예를 들어, 제1 및 제2 데이터 신호들(DATA0, DATA1)이 갖는 최대 전압 레벨 및 최소 전압 레벨에 의해 결정되는 진폭(△V1, △V2), 및 제1 및 제2 데이터 신호들(DATA0, DATA1)의 전압 증가/감소 속도를 나타낸 슬루율 등이 도 4에 도시한 일 실시예와 도 5에 도시한 일 실시예에서 서로 다를 수 있다.
이는, 제1 및 제2 반도체 장치들(210, 220) 중 적어도 하나의 LTSSM이 링크 업 프로세스를 완료할 때 설정한 PHY 파라미터들이, 도 4에 도시한 일 실시예와 도 5에 도시한 일 실시예에서 서로 다르기 때문일 수 있다. 제1 및 제2 반도체 장치들(210, 220) 중 적어도 하나는, 사용자로부터의 BISC 요청을 수신하거나, 소정의 시간이 경과하거나, 전원이 차단되고 새로 전원을 공급받은 경우에, PHY 파라미터들 중 적어도 하나를 변경하며 링크 업 프로세스를 다시 실행할 수 있다.
따라서, 시스템(200)을 구성하는 제1 및 제2 반도체 장치들(210, 220)에 변화가 없는 경우에도, 서로 다른 시점들에서 PHY 파라미터들 중 적어도 하나가 서로 다른 값을 가질 수 있다. 또한, PHY 파라미터들 중 적어도 하나가 서로 다른 값으로 설정됨에 따라, 같은 레인을 통해 전송되는 데이터 신호들(DATA0, DATA1) 중 적어도 하나가 도 4 및 도 5에 도시한 바와 같이 서로 다른 파형을 가질 수 있다.
도 6은 본 발명의 일 실시예에 따른 반도체 장치에 포함되는 LTSSM(Link Training and Status State Machine)을 간단하게 나타낸 도면이다.
LTSSM은, 앞서 설명한 바와 같이 링크를 구성하고 초기화하는 제어 프로세스인 링크 업 프로세스를 제공할 수 있다. LTSSM은 PCIe 인터페이스에서 링크 구성과 초기화 외에도, 패킷 전송 지원, 링크 오류 복구, 저전력 상태에서 PCIe 인터페이스의 재시작 기능 등을 수행할 수 있다.
일례로, LTSSM은 11개의 상태들(300-310)을 이동하며, 상기 언급한 기능을 수행할 수 있다. LTSSM은 물리 계층의 회로가 초기화되거나, 링크 계층으로부터 수신하는 명령에 응답하여 PCIe 인터페이스에 연결된 다른 외부 장치의 존재를 검출하는 검출 상태(Detect, 300)로 진입할 수 있다. 검출 상태(300)에서 LTSSM은 트랜스미터와 연결된 리시버를 감지하고, 비트 락, 심볼 락, 및 레인 극성 등을 설정하는 폴링 상태(Polling, 301)로 이동할 수 있다. 일례로, LTSSM가 검출 상태(300)에서 폴링 상태(301)로 천이될 때, 리시버가 감지되지 않은 레인은 전기적 아이들(idle) 상태로 진입할 수 있다.
LTSSM이 구성 상태(Configuration, 302)로 이동하면, 데이터 레이트, 레인 번호, 링크 폭 등이 설정될 수 있다. 구성 상태(Configuration, 302)에서의 동작이 완료되면 LTSSM은 설정된 링크를 통해 데이터를 주고받는 정상 동작 상태인 L0 상태(303)로 진입할 수 있다. LTSSM은 PCIe 인터페이스의 동작 상황에 따라, 전기적 아이들(idle)/대기 상태인 L0s 상태(304), 저전력 대기/슬립 상태인 L1 상태(305), 또는 오프 상태인 L2 상태(306) 등으로 이동할 수 있다.
또한, L0 상태(303)에서 동작하는 중에 오류가 발생하면, LTSSM은 복구 상태(Recovery, 307)로 진입할 수 있다. 복구 상태(307)에서 LTSSM은 비트 락, 심볼 락, 레인 간 스큐 제거 등의 기능을 실행하거나, 링크 속도를 바꿀 수 있다. 또한 L1 상태(305)에서 L0 상태(303)로 복귀하기 위해서도, LTSSM이 복구 상태(307)로 이동할 수 있다.
루프백 상태(Loopback, 308)는 테스트를 위한 상태로, PCIe 인터페이스에 연결된 장치들이 주고받는, 미리 정해진 순서로 정렬된 심볼 세트에서 루프백 비트의 값에 따라 LTSSM이 루프백 상태(308)로 진입할 수 있다. 루프백 상태(308)에서 리시버는 받은 패킷을 모두 동일하게 재전송할 수 있다.
핫 리셋 상태(Hot Reset, 309)에서 LTSSM은 링크를 리셋하는 기능을 수행할 수 있다. 비활성화 상태(Disabled, 310)에서는, LTSSM에 의해 리시버가 로우 임피던스 상태일 때 트랜스미터가 전기적 아이들 상태로 전환될 수 있다.
링크를 구성하는 링크 업 프로세스에서, LTSSM은 11개의 상태들(300-310)을 소정의 순서대로 이동하며 앞서 설명한 기능들을 수행할 수 있다. 링크 업에 성공하면, 링크 업에 성공할 때까지 LTSSM이 상태들(300-310) 중에서 실제로 실행한 상태들과 그 실행 순서가, 기준 순서로 PCIe 컨트롤러의 내부 메모리 등에 저장될 수 있다.
본 발명의 일 실시예에서는, PCIe 컨트롤러가, 자체적으로 물리 계층의 PHY 파라미터들을 조정하는 캘리브레이션 동작을 실행할 수 있다. 캘리브레이션 동작이 실행되면, PCIe 컨트롤러는 조정한 PHY 파라미터들에 따라 링크를 구성하는 링크 업 프로세스를 다시 실행할 수 있다. PCIe 컨트롤러는, 조정한 PHY 파라미터들을 이용하여 링크 업에 성공하면, 링크 업이 완료될 때까지 LTSSM에서 실행한 상태들의 순서를 기준 순서와 비교할 수 있다.
링크 업이 완료될 때까지 LTSSM에서 실행한 상태들의 순서가 기준 순서와 일치하지 않으면, PCIe 컨트롤러는 PHY 파라미터들 중 적어도 하나를 다시 변경하고, 링크 업 프로세스를 다시 실행할 수 있다. 링크 업을 완료하기 위해 LTSSM이 실행한 상태들의 순서가 기준 순서와 일치할 때까지, PCIe 컨트롤러는 PHY 파라미터들 중 적어도 하나를 변경하며 링크 업을 반복 실행할 수 있다. 따라서, 현재 시점의 동작 환경 등에 최적화된 PHY 파라미터들로 링크를 구성할 수 있으며, PCIe 인터페이스의 성능을 향상시킬 수 있다.
도 7 내지 도 9는 본 발명의 일 실시예에 따른 반도체 장치의 동작을 설명하기 위해 제공되는 도면들이다.
도 7은, 본 발명의 일 실시예에 따른 반도체 장치 내부의 메모리에 저장된 기준 순서를 간단하게 나타낸 도면일 수 있다. 앞서 설명한 바와 같이 기준 순서는, 링크 업에 성공한 LTSSM이 상태들을 실행한 순서일 수 있으며, 반도체 장치 내부의 메모리, 예를 들어 LTSSM과 함께 PCIe 컨트롤러 내에 저장될 수 있다.
도 7을 참조하면, 메모리에 저장된 기준 순서는 검출 상태(S0), 폴링 상태(S1), 구성 상태(S2), L0 상태(S3)를 순서대로 포함할 수 있다. 다시 말해, 도 7에 도시한 일 실시예에서, LTSSM은 복구 상태, 루프백 상태, 핫 리셋 상태, 비활성화 상태 등으로의 진입 없이, 검출 상태(S0), 폴링 상태(S1), 구성 상태(S2), L0 상태(S3)만을 순차적으로 실행하여 링크 업에 성공할 수 있다.
앞서 설명한 바와 같이, 반도체 장치의 PCIe 컨트롤러는 특정 조건이 충족되는 경우, PCIe 인터페이스의 PHY 파라미터들을 조정하는 캘리브레이션 동작을 시작할 수 있다. 일례로 PCIe 컨트롤러는, 사용자로부터 캘리브레이션 동작에 대한 요청을 수신하거나, 외부 장치와의 링크 업에 성공한 후 소정의 기준 시간이 경과하는 경우 등에 캘리브레이션 동작을 실행할 수 있다. 또한 PCIe 컨트롤러는, 전원이 새로 공급될 때마다 캘리브레이션 동작을 실행할 수도 있다.
도 8을 참조하면, 상기 조건들 중 하나가 달성되어 캘리브레이션 동작이 시작됨으로써, PCIe 컨트롤러가 PHY 파라미터들 중 적어도 하나를 변경할 수 있다. 또한 PCIe 컨트롤러는 변경된 PHY 파라미터들에 기초하여 링크 업 프로세스를 다시 실행할 수 있다. 도 8에 도시한 일 실시예에서, 링크 업 프로세스가 진행되는 동안, PCIe 컨트롤러의 LTSSM은 검출 상태(S10), 폴링 상태(S11), 구성 상태(S12), 복구 상태(S13), 구성 상태(S14), 및 L0 상태(15)를 순차적으로 실행할 수 있다.
일례로, LTSSM은 첫 번째로 진입한 구성 상태(S12)에서 레인 번호 할당, 레인들 간 스큐 제거 등의 작업 중 하나에 실패할 수 있다. 따라서, 복구 상태(S13)로 진입하여 비트 락, 심볼 락 등을 재설정하거나, 링크 속도를 바꿀 수 있다. 이후 두 번째로 진입한 구성 상태(S14)에서 레인 및 링크에 대한 구성이 완료될 수 있으며, L0 상태(15)로 천이할 수 있다.
다만, 도 8에 도시한 바와 같은 단계들을 거쳐 링크 업에 성공한 경우라 해도, PCIe 컨트롤러는 LTSSM을 이용하여 링크 업 프로세스를 다시 실행할 수 있다. 이는, 도 8에 도시한 일 실시예에서 LTSSM이 상태들을 실행한 순서가, 도 7에 도시한 기준 순서와 다르기 때문일 수 있다. 따라서, PCIe 컨트롤러는 PHY 파라미터들 중 적어도 하나를 조정하고, 링크 업 프로세스를 다시 실행할 수 있다. PHY 파라미터들을 조정하고 링크 업 프로세스를 다시 실행한 결과, 도 9에 도시한 바와 같이, 검출 상태(S20), 폴링 상태(S21), 구성 상태(S22), 및 L0 상태(S23)를 순서대로 실행하여 링크 업에 성공하면, PCIe 컨트롤러는 캘리브레이션 동작을 종료할 수 있다.
도 10 내지 도 13은 본 발명의 일 실시예에 따른 반도체 장치의 동작을 설명하기 위해 제공되는 도면들이다.
먼저 도 10을 참조하면, 본 발명의 일 실시예에 따른 반도체 장치의 동작은, 전원을 공급받는 것으로 시작될 수 있다(S30). S30 단계에서 공급되는 전원은 반도체 장치의 동작에 필요한 전원일 수 있다. 반도체 장치에 포함되어 외부의 다른 반도체 장치와 연결되는 PCIe 인터페이스는 S30 단계에서 공급받은 전원을 이용하여 동작을 시작할 수 있다.
도 10에 도시한 일 실시예에서 PCIe 인터페이스를 제어하는 PCIe 컨트롤러는, 전원이 공급될 때마다 PHY 파라미터들을 조정할 수 있다. 전원을 공급받으면, PCIe 컨트롤러는 메모리에 저장된 기준 순서를 획득하고(S31), PHY 파라미터들 각각을 설정할 수 있다(S32).
PCIe 컨트롤러는 LTSSM을 이용하여 링크 업 프로세스를 시작하며, 링크 업이 완료될 때까지 LTSSM에서 실행한 상태들의 순서를 확인할 수 있다(S33). PCIe 컨트롤러는 S33 단계에서 확인한 순서를 기준 순서와 비교할 수 있다(S34). S33 단계에서 확인한 순서가 기준 순서와 일치하지 않으면, PCIe 컨트롤러는 PHY 파라미터들을 다시 설정하고(S32), 링크 업이 완료될 때까지 LTSSM이 실행한 상태들의 순서를 다시 기준 순서와 비교할 수 있다(S33-S34). S33 단계에서 확인한 순서가 기준 순서와 일치하면, PCIe 컨트롤러는 캘리브레이션 동작을 종료하고(S35), PCIe 인터페이스의 링크 설정을 완료할 수 있다.
다음으로 도 11을 참조하면, 본 발명의 일 실시예에 따른 반도체 장치의 동작은, 전원을 공급받는 것으로 시작될 수 있다(S40). 전원이 공급되면, PCIe 인터페이스를 제어하는 PCIe 컨트롤러는 미리 결정된 값으로 PHY 파라미터들을 설정하고(S41), 링크 업이 완료되었는지 여부를 판단할 수 있다(S42). PCIe 컨트롤러는, 미리 결정된 값을 갖는 PHY 파라미터들로, 링크 업이 정상적으로 완료되는지를 판단할 수 있다.
S42 단계에서 링크 업이 완료된 것으로 판단되면, PCIe 컨트롤러는 링크 업을 종료할 수 있다(S47). 반면, S42 단계에서 링크 업이 완료되지 않으면, PCIe 컨트롤러는 PHY 파라미터들에 대해 현재 설정된 값으로는 링크 업을 완료할 수 없는 것으로 판단할 수 있다. 따라서, PHY 파라미터들을 조정하는 캘리브레이션 동작을 실행할 수 있다.
PCIe 컨트롤러는, 메모리에 저장된 기준 순서를 획득하고(S43), PHY 파라미터들을 현재 설정된 값과 다른 값들로 설정할 수 있다(S44). PCIe 컨트롤러는 S44 단계에서 PHY 파라미터들을 다른 값들로 설정한 후, LTSSM을 이용하여 링크 업 프로세스를 진행할 수 있다. LTSSM이 링크 업 프로세스를 진행하는 동안, PCIe 컨트롤러는 LTSSM에서 실행되는 상태들의 순서를 확인하고(S45), 이를 기준 순서와 비교하여 일치 여부를 판단할 수 있다(S46).
S46 단계의 판단 결과, 링크 업 프로세스가 진행되는 동안 LTSSM이 실행한 상태들의 순서가 기준 순서와 일치하면, PCIe 컨트롤러는 링크 업을 종료하고(S47) PCIe 인터페이스를 통한 신호 전송을 시작할 수 있다. 반면, S46 단계의 판단 결과 LTSSM이 실행한 상태들의 순서가 기준 순서와 불일치하면, PCIe 컨트롤러는 PHY 파라미터들을 다른 값으로 다시 조정하고, LTSSM을 이용하여 링크 업 프로세스를 다시 실행할 수 있다. PCIe 컨트롤러는, 링크 업이 완료될 때까지 LTSSM이 실행하는 상태들의 순서가 기준 순서와 일치할 때까지, PHY 파라미터들 중 적어도 하나의 값을 조정하며 링크 업 프로세스를 반복 실행할 수 있다.
다음으로 도 12를 참조하면, 본 발명의 일 실시예에 따른 반도체 장치의 동작은, 전원을 공급받는 것으로 시작될 수 있다(S50). 전원이 공급되면, PCIe 인터페이스를 제어하는 PCIe 컨트롤러는 미리 결정된 값으로 PHY 파라미터들을 설정하고(S51), 설정된 PHY 파라미터들에 따라 링크 업을 완료할 수 있다(S52). 링크 업이 완료되면, PCIe 인터페이스에 의해 서로 연결되는 반도체 장치들이 데이터를 주고받을 수 있다(S53).
PCIe 컨트롤러는, PCIe 인터페이스에 링크가 구성되고 반도체 장치들이 데이터를 주고받는 동안, 링크가 구성된 시점으로부터의 경과 시간을 카운트하고, 미리 설정된, 또는 사용자에 의해 매뉴얼로 설정된 기준 시간을 경과하는지 여부를 판단할 수 있다(S54). 기준 시간을 경과하기 전까지, PCIe 컨트롤러는 S51 및 S52 단계에서 구성된 링크 설정대로, PCIe 인터페이스를 제어하며 데이터를 주고받을 수 있다.
반면, 링크가 구성된 시점으로부터의 시간이 기준 시간을 경과하면, PCIe 컨트롤러는 캘리브레이션 동작을 실행할 수 있다(S55). 다만, 캘리브레이션 동작이 시작되면 PHY 파라미터들 중 적어도 하나를 변경하고 PCIe 인터페이스의 링크를 다시 구성하는 링크 업 프로세스를 실행해야 하므로, PCIe 인터페이스를 통한 데이터 전송이 진행 중인 경우에는 기준 시간을 경과한 경우라도 바로 캘리브레이션 동작을 실행하지 않을 수 있다. 일례로 PCIe 컨트롤러는, 기준 시간을 경과한 이후라도 데이터 전송이 완료될 때까지 대기한 후, 캘리브레이션 동작을 시작할 수 있다. 또한 PCIe 컨트롤러는, 기준 시간을 경과하고 LTSSM의 상태가 L0s 상태 또는 L1 상태 등으로 천이된 경우에 캘리브레이션 동작을 시작할 수 있다.
다음으로 도 13을 참조하면, 본 발명의 일 실시예에 따른 반도체 장치의 동작은, 전원을 공급받는 것으로 시작될 수 있다(S60). 전원이 공급되면, PCIe 인터페이스를 제어하는 PCIe 컨트롤러는 미리 결정된 값으로 PHY 파라미터들을 설정하고(S61), 설정된 PHY 파라미터들에 따라 링크 업을 완료할 수 있다(S62). 링크 업이 완료되면, PCIe 인터페이스에 의해 서로 연결되는 반도체 장치들이 데이터를 주고받을 수 있다(S63).
PCIe 컨트롤러는, PCIe 인터페이스에 링크가 구성되고 반도체 장치들이 데이터를 주고받는 동안, 사용자로부터 요청을 수신하는지를 모니터링할 수 있다(S54). 도 13에 도시한 일 실시예에서는, 반도체 장치가 시스템에 장착되고 PCIe 인터페이스를 통해 다른 반도체 장치와 데이터를 주고받는 등의 동작을 실행하는 동안, 사용자가 시스템에서 실행 가능한 도구를 이용하여 캘리브레이션 동작을 직접 요청할 수 있다. 다시 말해, 전원 차단없이 반도체 장치가 지속적으로 동작 중이거나, PCIe 인터페이스의 링크가 구성되고 소정의 기준 시간이 경과되기 이전에라도, 사용자가 수동으로 캘리브레이션 동작을 실행할 수 있다.
사용자로부터 캘리브레이션 동작에 대한 요청을 수신하면, PCIe 컨트롤러는 캘리브레이션 동작을 실행할 수 있다(S65). PCIe 컨트롤러는, PHY 파라미터들 중 적어도 하나를 변경하고, PCIe 인터페이스의 링크를 구성하는 링크 업 프로세스를 다시 실행할 수 있다. 또한 PCIe 컨트롤러는, 링크 업이 완료될 때까지 LTSSM에서 실행되는 상태들의 순서를 기록하고, 이를 미리 저장된 기준 순서와 비교할 수 있다. 비교 결과가 일치로 판단되면 PCIe 컨트롤러는 링크 구성을 종료하는 반면, 비교 결과가 불일치로 판단되면 PCIe 컨트롤러는 PHY 파라미터들 중 적어도 하나를 다시 조정하고 링크 업 프로세스를 다시 실행할 수 있다.
도 13에 도시한 일 실시예에서, 사용자로부터 캘리브레이션 동작에 대한 요청을 수신한 시점에, 반도체 장치는 PCIe 인터페이스를 통해 다른 반도체 장치와 데이터를 주고받는 중일 수 있다. 일례로 반도체 장치는, 데이터 전송이 종료될 때까지 대기한 후 사용자로부터의 요청에 따른 캘리브레이션 동작을 처리할 수 있다. 앞서 도 12를 참조하여 설명한 바와 같이, LTSSM의 상태가 L0s 상태, L1 상태 등으로 천이된 이후 캘리브레이션 동작을 실행할 수 있다. 또는, 사용자가 직접 입력한 요청을 우선시하여, 데이터 전송을 강제로 중단하고 캘리브레이션 동작을 먼저 실행할 수도 있다.
도 14 내지 도 16은 본 발명의 일 실시예에 따른 반도체 장치에서 LTSSM에 포함되는 상태들을 설명하기 위해 제공되는 도면들이다.
먼저 도 14는, LTSSM에 포함되는 상태들 중 검출 상태에 포함되는 서브 상태들을 도시한다. 도 14를 참조하면, 검출 상태는 제1 검출 서브 상태(Detect.Quiet, 400) 및 제2 검출 서브 상태(Detect.Active, 401)를 포함할 수 있다.
앞서 설명한 바와 같이 검출 상태는, PCIe 인터페이스의 링크를 구성하기 위한 프로세스가 시작되는 상태일 수 있다. 우선 초기 상태(Entry)에서 제1 검출 서브 상태(400)로 천이되면, 물리 계층은 전기적 아이들(idle) 상태에서 동작할 수 있다.
제1 검출 서브 상태(400)에서 소정의 시간이 경과하거나, 또는 모든 레인들이 전기적 아이들 상태로부터 벗어나면, 제1 검출 서브 상태(400)에서 제2 검출 서브 상태(401)로 진입하고, 리시버를 감지하는 작업이 시작될 수 있다. 일례로, 리시버가 연결되었는지 여부는, RC 시정수의 크기에 따라 판단될 수 있다. 리시버가 정상적으로 감지되면, 제2 검출 서브 상태(401)에서 폴링 상태로 진입할 수 있다.
다음으로 도 15는 LTSSM에 포함되는 상태들 중 폴링 상태에 포함되는 서브 상태들을 도시한다. 도 15를 참조하면, 폴링 상태는 제1 폴링 서브 상태(Polling.Active, 500), 제2 폴링 서브 상태(Polling.Compliance, 501) 및 제3 폴링 서브 상태(Polling.Configuration, 502)를 포함할 수 있다. 앞서 설명한 바와 같이, 폴링 상태에서는 비트 락, 심볼 락 등의 작업이 실행될 수 있다.
LTSSM이 검출 상태로부터 폴링 상태로 천이되면, 우선 제1 서브 상태(500)로 진입할 수 있다. 제1 폴링 서브 상태(500)에서, 트랜스미터는 레인을 통해 일정한 시퀀스들을 송신할 수 있으며, 시퀀스들에 기초하여 수신 측이 설정될 수 있다. 제2 폴링 서브 상태(501)에서는 트랜스미터가 시퀀스들의 송신을 중단하며, 레인의 극성을 체크할 수 있다. 일례로, 리시버가 연결된 것으로 판단된 레인에서 전기적 아이들 상태의 종료가 감지되지 않으면, LTSSM이 제1 폴링 서브 상태(500)에서 제2 폴링 서브 상태(501)로 이동할 수 있다. LTSSM은, 해당 레인에서 전기적 아이들 상태가 종료될 때까지 제2 폴링 서브 상태(501)를 유지할 수 있다.
다음으로, 제3 폴링 서브 상태(502)에서는 서로 다른 비트 패턴을 이용하여 PCIe 인터페이스의 명세에서 요구하는 사항을 충족하는지 여부를 테스트할 수 있다. 제3 폴링 서브 상태(502)에서의 테스트가 완료되면, LTSSM은 구성 상태로 진입할 수 있다. 다만, 도 15에 도시한 바와 같이, 제1 내지 제3 폴링 서브 상태들(500-502) 각각에서 특정 조건이 충족되면 LTSSM은 다시 검출 상태로 천이할 수도 있다.
도 16을 참조하면, LTSSM에 포함되는 구성 상태는 6개의 구성 서브 상태들(600-605)을 포함할 수 있다. 6개의 구성 서브 상태들(600-605) 중 적어도 일부에서, LTSSM은 미리 정해진 순서로 정렬된 심볼 세트를 서로 다르게 생성할 수 있다. 제1 구성 서브 상태(Configuration.Linkwidth.Start, 600) 및 제2 구성 서브 상태(Configuration.Linkwidth.Accept, 601)에서는 링크 폭이 설정될 수 있다. 다만, 제1 구성 서브 상태(600)에서 링크 폭 설정을 시작하는 데에 하면, 검출 상태, 비활성화 상태 또는 루프백 상태로 LTSSM이 진입할 수 있다.
한편, 제1 구성 서브 상태(600)와 제2 구성 서브 상태(601)에서 링크 폭이 설정되면, 제3 구성 서브 상태(Configuration.Lanenum.Wait, 602) 및 제4 구성 서브 상태(Configuration.Lanenum.Accept)에서 레인 번호들이 설정될 수 있다. 링크 폭 및 레인 번호들의 설정이 완료되면, LTSSM은 제5 구성 서브 상태(Configuration.Complete, 604)에서 대기할 수 있다. 일례로 제5 구성 서브 상태(604)에서, 링크를 구성하지 않는 레인들은 오프될 수 있다.
제6 구성 서브 상태(605)에서는 트랜스미터가 링크를 구성하는 레인들을 통해 아이들(idle) 데이터 심볼들을 송신하고, 수신기가 이를 수신할 수 있다. 소정의 시간 동안 아이들 데이터 심볼들이 검출되지 않으면, 제6 구성 서브 상태(605)에서 정상 동작 상태인 L0 상태가 아닌, 복구 상태로 진입할 수 있다.
도 14 내지 도 16을 참조하여 설명한 바와 같이, LTSSM에 포함되는 검출 상태, 폴링 상태, 구성 상태 등은 복수의 서브 상태들을 포함할 수 있다. 이외에, 복구 상태, L0s 상태, L1 상태, L2 상태, 루프백 상태 등도, 둘 이상의 서브 상태들을 포함할 수 있다.
본 발명의 일 실시예에서는, 링크 업을 완료하기 위해 LTSSM이 실행하는 상태들의 순서를 기록한 기준 순서에, 상태들 각각에서 서브 상태들이 실행된 순서가 포함될 수 있다. 따라서, 링크 업을 완료한 후, LTSSM이 실행한 서브 상태들의 순서를 기준 순서에 포함된 서브 상태들의 순서와 비교하여, PCIe 인터페이스가 최적의 퍼포먼스로 동작할 수 있도록 PHY 파라미터들이 설정되었는지를 정확히 판단할 수 있다. 이하, 도 17 및 도 18을 참조하여 더욱 상세히 설명하기로 한다.
도 17 및 도 18은 본 발명의 일 실시예에 따른 반도체 장치의 동작을 설명하기 위해 제공되는 도면들이다.
도 17은, 본 발명의 일 실시예에 따른 반도체 장치 내부의 메모리에 저장된 기준 순서를 간단하게 나타낸 도면일 수 있다. 기준 순서는, 링크 업에 성공한 LTSSM이 서브 상태들을 실행한 순서일 수 있으며, LTSSM과 함께 PCIe 컨트롤러 내부의 메모리 등에 저장될 수 있다.
도 17에 도시한 일 실시예에서 메모리에 저장된 기준 순서는, 제1 내지 제11 서브 상태들(S0-S11)을 포함할 수 있다. 제1 및 제2 서브 상태들(S0, S1)은 검출 상태의 서브 상태들일 수 있으며, 제3 및 제4 서브 상태들(S2, S3)은 폴링 상태에 포함되는 서브 상태들일 수 있다. 한편, 제5 내지 제10 서브 상태들(S4-S9)은 구성 상태에 포함되는 서브 상태들이며, 제11 서브 상태(S10)는 정상 동작 상태인 L0 상태일 수 있다.
특정 조건에서 반도체 장치의 PCIe 컨트롤러는, PCIe 인터페이스의 PHY 파라미터들을 조정하는 캘리브레이션 동작을 시작할 수 있다. PCIe 컨트롤러는, 사용자로부터 캘리브레이션 동작에 대한 요청을 수신하거나, 외부 장치와의 링크 업에 성공한 후 소정의 기준 시간이 경과하는 경우 등에 캘리브레이션 동작을 실행할 수 있다. 또한 PCIe 컨트롤러는, 전원이 새로 공급될 때마다 캘리브레이션 동작을 실행할 수도 있다.
캘리브레이션 동작이 시작되면, PCIe 컨트롤러는 PHY 파라미터들 중 적어도 하나를 변경하고, 변경된 PHY 파라미터들에 기초하여 링크 업 프로세스를 다시 실행할 수 있다. 도 18에 도시한 일 실시예에서, PCIe 컨트롤러의 LTSSM은 제1 내지 제13 서브 상태들(S70-S82)을 순서대로 이동하며 링크를 구성할 수 있다.
일례로, LTSSM은 제1 서브 상태(S70)와 제2 서브 상태(S71)에서 아직 구성되지 않은 레인들에 연결된 리시버를 정상적으로 감지하고 폴링 상태로 진입할 수 있다. 제1 서브 상태(S70)는 제1 검출 서브 상태(Detect.Quiet)이며, 제2 서브 상태(S71)는 제2 검출 서브 상태(Detect.Active)일 수 있다.
폴링 상태로 진입하면, LTSSM은 링크 트레이닝을 위하여 PCIe 인터페이스로 연결된 반도체 장치들 사이에서 전송될, 순서화된 세트들을 정의할 수 있다. 일례로, 제1 폴링 서브 상태(Polling.Active)인 제3 서브 상태(S72)에서 트랜스미터는 트레이닝 시퀀스(Training Sequences)를 전송할 수 있다. 다만, 도 18에 도시한 일 실시예에서는 LTSSM이 제1 폴링 서브 상태(Polling.Active)에서 제3 폴링 서브 상태(Polling.Configuration)로 바로 진입하지 못하고, 제2 폴링 서브 상태(Polling.Compliance)를 거쳐서 제3 폴링 서브 상태(Polling.Configuration)로 천이될 수 있다. 도 18을 참조하면, 제3 내지 제6 서브 상태들(S72-S75)에서 상기와 같은 상태 이동이 발생할 수 있다.
LTSSM은 제3 폴링 서브 상태(Polling.Configuration)에서 구성 상태로 진입할 수 있다. 도 18을 참조하면, 구성 상태에 포함되는 6개의 서브 상태들에 대응하는, 제7 내지 제12 서브 상태들(S76-S81)을 LTSSM이 순서대로 천이하며 링크의 구성이 완료되고, L0 상태인 제13 서브 상태(S82)에 LTSSM이 진입할 수 있다.
도 18에 도시한 일 실시예에 따른 서브 상태들(S70-S82)의 순서는, 도 17을 참조하여 설명한 기준 순서와 일치하지 않을 수 있다. 따라서, PCIe 컨트롤러는, PHY 파라미터들 중 적어도 하나를 다른 값으로 변경하고, LTSSM을 이용하여 링크 업 프로세스를 다시 실행할 수 있다.
PCIe 컨트롤러는 기준 순서와 일치하는 순서로 LTSSM이 서브 상태들을 실행할 때까지 PHY 파라미터들을 다양한 조합으로 변경할 수 있으며, 따라서 최적의 퍼포먼스로 동작하도록 PCIe 인터페이스를 설정할 수 있다. 또한, PCIe 인터페이스로 통신하며, PCIe 컨트롤러를 포함하는 반도체 장치가 출하된 이후에도, 필요한 경우 PHY 파라미터들을 변경하고, 변경된 PHY 파라미터들에 따라 PCIe 인터페이스의 링크를 재구성하므로, 반도체 장치의 범용성을 개선할 수 있다.
본 발명은 상술한 실시형태 및 첨부된 도면에 의해 한정되는 것이 아니며 첨부된 청구범위에 의해 한정하고자 한다. 따라서, 청구범위에 기재된 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 당 기술분야의 통상의 지식을 가진 자에 의해 다양한 형태의 치환, 변형 및 변경이 가능할 것이며, 이 또한 본 발명의 범위에 속한다고 할 것이다.
20, 100, 200: 시스템
30: 호스트
40: 스토리지 장치
50: 그래픽 처리 장치
110, 210: 제1 반도체 장치
120, 220: 제2 반도체 장치
111, 121: 소프트웨어 계층
112, 122: 트랜잭션 계층
113, 123: 링크 계층
114, 124: 물리 계층
115, 125: LTSSM(Link Training and Status State Machine)

Claims (10)

  1. PCI 익스프레스(PCI express, PCIe) 인터페이스에서 데이터를 주고받는 복수의 포트들; 및
    상기 복수의 포트들에 복수의 레인(lane)들을 설정하는 링크 업을 실행하는 LTSSM(Link Training and Status State Machine), 및 링크 업에 성공한 상기 LTSSM이 상태들을 실행한 순서를 기준 순서로 저장하는 메모리를 포함하는 PCIe 컨트롤러; 를 포함하며,
    상기 PCIe 컨트롤러는, PHY 파라미터들을 조정하는 캘리브레이션 동작이 시작되면, 링크 업이 완료하기 위해 상기 LTSSM이 실행하는 상태들의 순서가 상기 기준 순서와 일치할 때까지, 상기 PHY 파라미터들 중 적어도 하나를 변경하는, 반도체 장치.
  2. 제1항에 있어서,
    상기 PCIe 컨트롤러는, 전원이 턴-오프된 이후 다시 전원이 턴-온될 때마다 상기 캘리브레이션 동작을 실행하는, 반도체 장치.
  3. 제1항에 있어서,
    상기 PCIe 컨트롤러는, 상기 LTSSM이 링크 업에 성공한 이후 소정의 기준 시간이 경과하면, 상기 캘리브레이션 동작을 다시 실행하는, 반도체 장치.
  4. 제3항에 있어서,
    상기 PCIe 컨트롤러는, 상기 기준 시간이 경과한 시점에 상기 복수의 포트들 중 적어도 하나에서 데이터가 전송 중이면, 상기 데이터 전송이 완료될 때까지 대기한 후 상기 캘리브레이션 동작을 실행하는, 반도체 장치.
  5. 제3항에 있어서,
    상기 PCIe 컨트롤러는, 상기 기준 시간을 경과한 이후 상기 LTSSM의 상태가 L0s 상태 또는 L1 상태로 천이되면, 상기 캘리브레이션 동작을 실행하는, 반도체 장치.
  6. 제1항에 있어서,
    상기 PCIe 컨트롤러는, 사용자로부터 요청을 수신하면, 상기 캘리브레이션 동작을 실행하는, 반도체 장치.
  7. 제1항에 있어서,
    상기 LTSSM이 실행하는 상태들 중 적어도 하나는 둘 이상의 서브 상태들을 포함하며,
    상기 기준 순서는, 링크 업에 성공한 상기 LTSSM이 상기 서브 상태들을 실행한 순서를 포함하는, 반도체 장치.
  8. PCI 익스프레스(PCI express, PCIe) 환경에서 데이터를 주고받는 복수의 포트들; 및
    상기 복수의 포트들에 복수의 레인(lane)들을 설정하는 링크 업을 실행하는 LTSSM(Link Training and Status State Machine), 및 링크 업에 성공한 상기 LTSSM이 상태들을 실행한 순서를 기준 순서로 저장하는 메모리를 포함하는 PCIe 컨트롤러; 를 포함하며,
    상기 PCIe 컨트롤러는, 상기 복수의 포트들이 외부 장치와 연결되고 전원을 공급받은 동작 시작 시점 이후의 제1 시점 및 제2 시점 각각에서, 상기 복수의 포트들로 입출력되는 신호의 특성을 결정하는 PHY 파라미터들 중 적어도 하나를 변경하는, 반도체 장치.
  9. 제8항에 있어서,
    상기 메모리는, 상기 외부 장치의 종류, 외부 온도, 및 상기 전원의 크기 중 적어도 하나에 따라 구분되는 복수의 기준 순서들을 저장하는, 반도체 장치.
  10. 제1 PCIe 인터페이스, 및 상기 제1 PCIe 인터페이스를 제어하는 제1 PCIe 컨트롤러를 포함하는 제1 반도체 장치;
    제2 PCIe 인터페이스, 및 상기 제2 PCIe 인터페이스를 제어하는 제2 PCIe 컨트롤러를 포함하는 제2 반도체 장치; 및
    상기 제1 PCIe 인터페이스와 연결되는 제1 인터페이스 및 상기 제2 PCIe 인터페이스와 연결되는 제2 인터페이스를 갖는 제3 반도체 장치; 를 포함하며,
    상기 제1 PCIe 컨트롤러는 제1 시점에 상기 제1 PCIe 인터페이스의 PHY 파라미터들 중 적어도 하나를 변경하고 상기 제1 PCIe 인터페이스와 상기 제1 인터페이스 사이의 링크를 재구성하고,
    상기 제2 PCIe 컨트롤러는 상기 제1 시점과 다른 제2 시점에 상기 제2 PCIe 인터페이스의 PHY 파라미터들 중 적어도 하나를 변경하고 상기 제2 PCIe 인터페이스와 상기 제2 인터페이스 사이의 링크를 재구성하는, 시스템.
KR1020210170631A 2021-12-02 2021-12-02 반도체 장치, 및 이를 포함하는 시스템 KR20230082809A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210170631A KR20230082809A (ko) 2021-12-02 2021-12-02 반도체 장치, 및 이를 포함하는 시스템
US18/056,790 US20230176989A1 (en) 2021-12-02 2022-11-18 Semiconductor device and system including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210170631A KR20230082809A (ko) 2021-12-02 2021-12-02 반도체 장치, 및 이를 포함하는 시스템

Publications (1)

Publication Number Publication Date
KR20230082809A true KR20230082809A (ko) 2023-06-09

Family

ID=86607527

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210170631A KR20230082809A (ko) 2021-12-02 2021-12-02 반도체 장치, 및 이를 포함하는 시스템

Country Status (2)

Country Link
US (1) US20230176989A1 (ko)
KR (1) KR20230082809A (ko)

Also Published As

Publication number Publication date
US20230176989A1 (en) 2023-06-08

Similar Documents

Publication Publication Date Title
US7757020B2 (en) Point-to-point link negotiation method and apparatus
CN111459854B (zh) 安全数字卡的方法、闪存控制器以及电子装置
US7231560B2 (en) Apparatus and method for testing motherboard having PCI express devices
US10853305B2 (en) Method of communication for master device and slave device on synchronous data bus wherein master and slave devices are coupled in parallel
CN1503132B (zh) 计算机主机板输出入端口的测试装置
CN111427828B (zh) 一种spi流控方法、系统、主设备、从设备及存储介质
KR100687923B1 (ko) 마스터디바이스, 그 제어방법과 마스터디바이스를 갖는전자장치
CN111666240A (zh) 用于自主地检测电缆朝向的转接驱动器
KR102518317B1 (ko) PCIe 인터페이스 장치 및 그 동작 방법
CN115391261A (zh) 高速外围组件互连装置以及包括其的计算系统
KR20230082809A (ko) 반도체 장치, 및 이를 포함하는 시스템
US7743118B1 (en) Programmable communication interface
CN115408318A (zh) 高速外围组件互连装置及其操作方法
US20080221860A1 (en) Hardware interface board for connecting an emulator to a network
KR20240045073A (ko) 반도체 장치 및 링크 설정 방법
US20240126663A1 (en) Semiconductor device and link configuring method
US20240202140A1 (en) Data rate increase for faulty lane recovery in multiple lane data links
US20140035633A1 (en) Autonomous initialization method of facing port of semiconductor integrated circuit and semiconductor integrated circuit
TWI703441B (zh) 引腳複用裝置以及控制引腳複用裝置的方法
US11960367B2 (en) Peripheral component interconnect express device and operating method thereof
US20230315672A1 (en) Interface device and computing system including the same
CN115422110A (zh) 电子设备和PCIE Switch芯片的端口配置方法
KR20050072615A (ko) Usb포트 검사장치
CN117648225A (zh) Mcio接口测试治具及其测试方法
CN112527721A (zh) 一种集成电路总线接口控制装置、方法以及系统