KR101844812B1 - 고속 레인에서 가기능정지를 이용한 emi 완화 - Google Patents

고속 레인에서 가기능정지를 이용한 emi 완화 Download PDF

Info

Publication number
KR101844812B1
KR101844812B1 KR1020167007541A KR20167007541A KR101844812B1 KR 101844812 B1 KR101844812 B1 KR 101844812B1 KR 1020167007541 A KR1020167007541 A KR 1020167007541A KR 20167007541 A KR20167007541 A KR 20167007541A KR 101844812 B1 KR101844812 B1 KR 101844812B1
Authority
KR
South Korea
Prior art keywords
lane
agent
data
logic
period
Prior art date
Application number
KR1020167007541A
Other languages
English (en)
Other versions
KR20160045860A (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 KR20160045860A publication Critical patent/KR20160045860A/ko
Application granted granted Critical
Publication of KR101844812B1 publication Critical patent/KR101844812B1/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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • G06F13/26Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
    • 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
    • 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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • G06F8/458Synchronisation, e.g. post-wait, barriers, locks
    • 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/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • 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/0024Peripheral component interconnect [PCI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/522Barrier synchronisation
    • 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)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)

Abstract

전자기 간섭(Electromagnetic Interference, EMI) 완화를 위한 기술과 관련하는 방법 및 장치가 설명된다. 일 실시예에서, 프로토콜 로직은 레인을 통해 전송될 데이터가 없으며 데이터는 레인을 통해 송신되고 있다는 결정에 응답하여 레인에서 가기능정지 동작을 수행할지를 결정한다. 가기능정지 동작은 레인이 기능정지하게 하는 대신 레인을 통해 엔드 오브 버스트(End Of Burst, EOB) 신호 다음에(예를 들어 직후) 하나 이상의 트레이닝 심볼을 전송하는 것을 포함한다. 다른 실시예가 또한 개시된다.

Description

고속 레인에서 가기능정지를 이용한 EMI 완화{EMI MITIGATION ON HIGH-SPEED LANES USING FALSE STALL}
본 개시내용은 전반적으로 전자 분야에 관한 것이다. 보다 구체적으로, 실시예는 고속 레인에서 가기능정지를 이용한 전자기 간섭(Electromagnetic Interference, EMI)을 완화하기 위한 기술에 관한 것이다.
상세한 설명은 첨부의 도면을 참조하여 제공된다. 도면에서, 참조 부호의 가장 좌측 숫자(들)는 참조 부호가 맨 처음 나오는 도면을 식별한다. 여러 도면에서 동일한 참조 부호를 사용하는 것은 항목이 유사하거나 같다는 것을 표시한다.
도 1은 본 출원에서 논의되는 다양한 실시예를 구현하는데 활용될 수 있는 컴퓨팅 시스템의 실시예의 블록도를 예시한다.
도 2는 본 출원에서 논의되는 하나 이상의 실시예를 구현하는데 활용될 수 있는 컴퓨팅 시스템의 실시예의 블록도를 예시한다.
도 3은 일부 실시예에 따라서, 필, 정상적 기능정지, 및 가기능정지 시나리오에 대한 인터페이스 동작의 타이밍도를 예시한다.
도 4는 실시예에 따라서, 필, 정상적 기능정지, 및 가기능정지를 선택하는 방법의 흐름도를 예시한다.
도 5는 본 출원에서 논의되는 하나 이상의 실시예를 구현하는데 활용될 수 있는 컴퓨팅 시스템의 실시예의 블록도를 예시한다.
도 6은 본 출원에서 논의되는 하나 이상의 실시예를 구현하는데 활용될 수 있는 컴퓨팅 시스템의 실시예의 블록도를 예시한다.
도 7은 실시예에 따라서 시스템 온 칩(System On Chip, SOC) 패키지의 블록도를 예시한다.
아래의 설명에서, 여러 실시예의 확실한 이해를 제공하기 위해 많은 특정한 상세 내용이 설명된다. 그러나, 여러 실시예는 특정 상세 내용 없이 실시될 수 있다. 다른 예에서, 공지의 방법, 절차, 컴포넌트, 및 회로는 특정 실시예를 방해하지 않도록 하기 위해 자세히 설명되지 않는다. 실시예의 여러 양태는 반도체 집적 회로("하드웨어"), 하나 이상의 프로그램으로 구성된 컴퓨터-판독 가능한 명령어(소프트웨어), 또는 하드웨어와 소프트웨어의 어떤 조합과 같은 다양한 수단을 이용하여 수행될 수 있다. 본 개시의 목적을 위해, "로직(logic)"이라고 말하는 것은 하드웨어, 소프트웨어, 또는 이들의 어떤 조합을 의미할 것이다.
MIPI(Mobile Industry Processor Interface(모바일 업계 프로세서 인터페이스)) 표준 그룹은 모바일 처리 플랫폼에서 칩간의 통신을 위한 M-PHY® (M-PHY 사양, v2.0, 2011년 6월)라 호칭하는 물리 계층 표준을 공개하였다. M-PHY 레인이 전송할 아무 데이터도 갖고 있지 않을 때, M-PHY 레인은 "기능정지(stall)"(레인을 꺼버림) 또는 "필(fill)"(레인을 활성 상태로 유지함) 중 어느 하나를 할 수 있다. 일반적으로, 기능정지 이후 레인을 다시 시작하는 데는 얼마간의 시간이 소요될 것이며, 이것은 버스 또는 인터커넥트 대기시간(interconnect latency)을 증가시킬 것이다. 만일 이러한 지연이 허용될 수 없으면, M-PHY 레인은 "필" 상태가 되어야 할 것이며, 이 경우 TX(송신기)는 정적의 "필러(filler)" 데이터 패턴을 전송할 것이다. 레인이 주로 "필" 패턴을 전송하는 몇몇 사례가 있을 수 있다. 반복하는 패턴을 전송하면 신호 송신 품질에 부정적으로 영향을 미치게 되는 전자기 간섭(EMI) 문제를 야기할 수 있고 데이터가 재전송되게 할 수 있으므로 지연과, 데이터 부정확과, 레인이 EMI 영향 등을 줄이기 위해 느리게 작동해야 할 것이기 때문에 송신 속도의 저하 등을 야기시킬 수 있다.
이것 때문에, 일부 실시예는 가기능정지(false stall)를 이용하여 (M-PHY 레인과 같은) 고속 레인에서 EMI를 완화한다. 실시예에서, "가기능정지"는 M-PHY 레인을 활성 상태로 유지하고, 여전히 M-PHY 사양의 파라미터 내에서 작동하면서 "필" 심볼을 반복하여 전송하는 것을 방지하는 것을 말한다. 가기능정지에서, 전송할 데이터가 없는 TX는 "기능정지" 상태로 진행하라고 신호한 다음 (필 신호/패킷을 전송하는 대신) 다음 버스트의 전송을 위한 트레이닝 심볼(들)을 즉시 전송하기 시작할 것이다. 레인이 인식 가능한 시간 길이(예를 들면, 20UI) 동안 비활성 상태에 있지 않고 전송할 데이터가 생기기 전에 트레이닝을 시작하기 때문에, 버스/인터커넥트 대기시간이 최소화될 것이다(예를 들면, RX(Receiver, 수신기)는 잠그지 않을 것 같지 않다). 더욱이, 트레이닝 심볼은 그 중에서 골라낼 유효 심볼이 많고 무작위로 추출될 수 있는 D-워드(SYNC라 호칭함)이기 때문에 정적의 데이터 패턴이 방지될 수 있다. 또한, SYNC 패턴은 유효 데이터로 취급되지 않기 때문에, 더 나은 EMI 성능을 위해 선택될 수 있다.
다양한 컴퓨팅 시스템이 도 1-2 및 도 5-7을 참조하여 논의되는 시스템과 같은, 본 출원에서 논의되는 실시예를 구현하기 위해 사용될 수 있다. 구체적으로, 도 1은 실시예에 따른, 컴퓨팅 시스템(100)의 블록도를 예시한다. 시스템(100)은 하나 이상의 에이전트(102-1 내지 102-M(본 출원에서 일괄하여 "에이전트들(102)" 또는 더 개괄적으로 "에이전트(102)"라고 지칭함)를 포함할 수 있다. 실시예에서, 에이전트(102) 중 하나 이상은 도 5 내지 도 7을 참조하여 논의되는 컴퓨팅 시스템과 같은 컴퓨팅 시스템의 컴포넌트 중 임의의 컴포넌트일 수 있다.
도 1에서 예시된 바와 같이, 에이전트(102)는 네트워크 패브릭(104)과 통신할 수 있다. 일 실시예에서, 네트워크 패브릭(104)은 (컴퓨팅 시스템과 같은) 각종 에이전트가 데이터를 전달할 수 있게 해주는 컴퓨터 네트워크를 포함할 수 있다. 실시예에서, 네트워크 패브릭(104)은 직렬(예를 들어, 포인트-투-포인트) 링크 및/또는 (실시예에서 링(ring)으로서 구성될 수 있는) 공유 통신 네트워크를 통해 통신하는 하나 이상의 인터커넥트(또는 상호연결 네트워크)를 포함할 수 있다. 각각의 링크는 하나 이상의 레인을 포함할 수 있다. 예를 들면, 일부 실시예는 예를 들어 완전 버퍼형 듀얼 인라인 메모리 모듈(Fully Buffered Dual in-line memory module, FBD) 링크가 메모리 모듈을 (프로세서 또는 메모리 허브와 같은) 호스트 컨트롤러 디바이스에 결합하기 위한 직렬 링크인 경우 FBD와 통신할 수 있게 해주는 링크에서의 컴포넌트 디버그 또는 유효성 검사를 가능하게 할 수 있다. 디버그 정보는 그 디버그 정보가 (하나 이상의 로직 분석기와 같은) 채널 트래픽 자취 획득 도구(channel traffic trace capture tool)에 의해 채널을 따라 관측될 수 있도록 FBD 채널 호스트로부터 전송될 수 있다.
일 실시예에서, 시스템(100)은 물리 계층, 링크 계층, 라우팅 계층, 전송 계층, 및/또는 프로토콜 계층을 포함할 수 있는 계층적 프로토콜 체제를 지원할 수 있다. 패브릭(104)은 또한 (예를 들어, 패킷 형태의) 데이터를 하나의 프로토콜(예를 들어, 캐싱 프로세서 또는 캐싱 인식 메모리 컨트롤러)로부터 포인트-투-포인트 네트워크 또는 공유 네트워크용 다른 프로토콜로 전송하게 해줄 수 있다. 또한, 일부 실시예에서, 네트워크 패브릭(104)은 하나 이상의 캐시 코히어런트 프로토콜을 고수하는 통신을 제공할 수 있다.
그뿐만 아니라, 도 1에서 화살표 방향으로 도시된 바와 같이, 에이전트(102)는 네트워크 패브릭(104)을 통해 데이터를 송신 및/또는 수신할 수 있다. 그러므로 일부 에이전트는 통신을 위해 단방향 링크를 활용할 수 있는데 반해 다른 에이전트는 양방향 링크를 활용할 수 있다. 예를 들면, (에이전트(102-M)와 같은) 하나 이상의 에이전트는 (예를 들어, 단방향 링크(106)를 통해) 데이터를 전송할 수 있고, (에이전트(102-2)와 같은) 다른 에이전트(들)는 (예를 들어, 단방향 링크(108)를 통해) 데이터를 전송할 수 있는데 반해, (에이전트(102-1)와 같은) 일부 에이전트(들)는 (예를 들어, 양방향 링크(110)를 통해) 데이터를 전송할 수 있다.
또한, 에이전트(102) 중 적어도 한 에이전트는 홈 에이전트일 수 있으며 에이전트(102) 중 하나 이상의 에이전트는 요청 또는 캐싱 에이전트일 수 있다. 일반적으로, 요청/캐싱 에이전트는 대응하는 "홈 에이전트"가 연관된 메모리 어드레스에 액세스하기 위해 홈 노드/에이전트로 "요청(들)을 전송한다. 또한, 일 실시예에서, 에이전트(102) 중 하나 이상의 에이전트(오직 하나의 에이전트(102-1)만이 도시됨)는 메모리(120)와 같은 (에이전트에 전용될 수 있는 또는 다른 에이전트와 공유될 수 있는) 메모리에 액세스할 수 있다. 일부 실시예에서, 에이전트(102)의 각각(또는 에이전트 중 적어도 하나)은 그 에이전트와 동일한 다이에 있거나 그렇지 않으면 그 에이전트에 의해 액세스 가능한 메모리(120)에 결합될 수 있다. 또한, 도 1에서 도시된 바와 같이, 에이전트(102)는 인터커넥트 레인(들)에서 EMI를 줄여주는 가기능정지 로직(150)을 포함한다.
도 2는 실시예에 따른 컴퓨팅 시스템(200)의 블록도이다. 컴퓨팅 시스템(200)은 복수의 소켓(202-208)(네 개만 도시되지만 일부 실시예는 더 많거나 더 적은 소켓을 가질 수 있다)을 포함한다. 각각의 소켓은 프로세서를 포함한다. 또한, 시스템(200) 내 각종 에이전트는 로직(150)을 통해 통신할 수 있다. 비록 로직(150)이 아이템(202) 및 MC2/HA2 내에서만 도시되어 있을지라도, 로직(150)은 시스템(200)의 다른 에이전트 내에서도 제공될 수 있다. 또한, 시스템에는 구현에 따라서 더 많거나 더 적은 로직 블록이 존재할 수 있다. 또한, 각각의 소켓은 포인트-투-포인트(PtP) 링크, 또는 퀵 패스 인터커넥트(Quick Path Interconnect, QPI), MIPI(Mobile Industry Processor Interface) 등과 같은 차동 인터커넥트(differential interconnect)를 통해 다른 소켓에 결합된다. 도 1의 네트워크 패브릭(104)에 대해 논의한 바와 같이, 각각의 소켓은 예를 들어 다이나믹 랜덤 액세스 메모리(dynamic random access memory, DRAM)를 포함하는 복수의 듀얼 인라인 메모리 모듈(Dual Inline Memory Module, DIMM)에 의해 형성되는 시스템 메모리의 로컬 부분에 결합된다.
다른 실시예에서, 네트워크 패브릭은 AMBA(Advanced Microcontroller Bus Architecture)용 ARM 준수 인터페이스, OCP(Open Core Protocol), MIPI(Mobile Industry Processor Interface), PCI(Peripheral Component Interconnect) 또는 PCIe (Peripheral Component Interconnect express)와 같은 맞춤형 또는 표준형 인터페이스를 활용하는 임의의 시스템 온 칩(System on Chip, SoC 또는 SOC) 애플리케이션에서 활용될 수 있다.
일부 실시예는 IP 자원 자체를 임의로 변경하지 않고 PCI 기반 시스템과 같은 PC(Personal Computer) 기반 시스템에서, AXI/OCP 기술과 같은 이기종 자원을 사용할 수 있게 해주는 기술을 이용한다. 실시예는 PCI 호환 시스템을 생성하기 위해 AXI/OCP IP를 자동 생성 인터커넥트 패브릭(auto-generated interconnect fabric)에다 플러그하는데 사용될 수 있는, 본 출원에서 Y유니트(Yunit) 및 심(shim)이라고 지칭하는 두 개의 매우 얇은 하드웨어 블록을 제공한다. 일 실시예에서, Y유니트의 제 1(예를 들면, 노스(north)) 인터페이스는 직접 미디어 인터페이스(direct media interface, DMI) 버스, PCI 버스, 또는 주변 컴포넌트 인터커넥트 익스프레스(Peripheral Component Interconnect Express, PCIe) 버스와 같은 PCI호환 버스와 인터페이스하는 어댑터 블록에 연결한다. 제 2(예를 들면, 사우스(south)) 인터페이스는 AXI/OCP 인터커넥트와 같은 비 PC 인터커넥트(non-PC interconnect)에 직접 연결한다. 다양한 구현에서, 이러한 버스는 OCP 버스일 수 있다.
일부 실시예에서, Y유니트는 PCI 구성 사이클을 타겟 IP가 이해할 수 있는 트랜잭션으로 변환함으로써 PCI 목록화(PCI enumeration)를 구현한다. 이러한 유니트는 또한 재배치 가능한 PCI 어드레스를 고정 AXI/OCP 어드레스로 어드레스 변환 및 그 반대로의 변환을 수행한다. Y유니트는 또한 생산자-소비자 모델(예를 들면, PCI 생산자-소비자 모델)을 만족시키는 오더링 메커니즘(ordering mechanism)을 구현한다. 그 결과, 개개의 IP는 전용 PCI 심을 통해 인터커넥트에 연결된다. 각각의 심은 대응하는 IP의 전체 PCI 헤더를 구현할 수 있다. Y유니트는 모든 액세스를 PCI 헤더로 라우팅하고 디바이스 메모리 공간을 심으로 라우팅한다. 심은 모든 헤더 판독/기록 트랜잭션을 사용하며 다른 트랜잭션을 IP에 전달한다. 일부 실시예에서, 심은 또한 IP의 전력 관리와 관련한 모든 특징을 구현한다.
그러므로 모노리식 호환 블록을 취하는 대신, Y유니트를 구현하는 실시예는 분산된 접근 방식을 취한다. 모든 IP 전체에 공통인 기능성, 예를 들면, 어드레스 변환 및 오더링은 Y유니트에서 구현되는 반면, 전력 관리, 오류 처리 등과 같은 IP 특정 기능성은 그 IP에 맞추어 만든 심에서 구현된다.
이러한 방법으로, 새로운 IP는 변경을 최소화하여 Y유니트에 추가될 수 있다. 예를 들면, 일 구현예에서, 새로운 엔트리를 어드레스 재지정 테이블에 추가함으로써 변경이 생길 수 있다. 심은 IP에 특정하지만, 일부 구현예에서 (예를 들어 90%보다 많은) 다량의 기능성이 모든 IP 전체에 공통일 수 있다. 이것은 새로운 IP에 대해 기존 심의 빠른 재구성을 가능하게 해준다. 그래서 일부 실시예는 수정 없이 자동 생성 인터커넥트 패브릭의 사용을 가능하게 해준다. 포인트-투-포인트 버스 아키텍처에서, 인터커넥트 패브릭을 디자인하는 작업은 어려운 과제일 수 있다. 앞에서 설명한 Y유니트 접근 방법은 최소한의 노력으로 그리고 산업 표준 도구에 맞게 임의로 수정할 필요 없이 PCI 시스템에서 산업 생태계를 적극 활용한다.
도 2에서 도시된 바와 같이, 각각의 소켓은 (MC0/HA0 내지 MC3/HA3와 같은) 메모리 컨트롤러/홈 에이전트(Memory Controller, MC)/Home Agent, HA)에 결합된다. 메모리 컨트롤러는 (도 9의 메모리(912)와 같은) 시스템 메모리의 일부분일 수 있는 (MEM0 내지 MEM3라고 표시된) 대응하는 로컬 메모리에 결합된다. 일부 실시예에서, (MC0/HA0 내지 MC3/HA3와 같은) 메모리 컨트롤러(MC)/홈 에이전트(HA)는 도 1의 에이전트(1021)와 같거나 유사할 수 있으며, MEM0 내지 MEM3라고 표시된 메모리는 본 명세서에서 도면 중 임의의 도면을 참조하여 논의된 메모리 디바이스와 동일하거나 유사할 수 있다. 또한, 일 실시예에서, MEM0 내지 MEM3는 예를 들면, 마스터 및 슬레이브로서 데이터를 미러링하도록 구성될 수 있다. 또한, 일부 실시예에서 컴퓨팅 시스템(200)의 하나 이상의 컴포넌트는 같은 집적 회로 상에 포함될 수 있다.
또한, (도 2에서 도시된 바와 같은) 일 구현예는 미러링 가능한 소켓 글루리스 구성(socket glueless configuration) 용도이다. 예를 들면, (MC0/HA0와 같은) 메모리 컨트롤러에 할당된 데이터는 PtP 링크를 통해 (MC3/HA3와 같은) 다른 메모리 컨트롤러에 미러링된다.
도 3은 일부 실시예에 따라서, 필, 기능정지, 및 가기능정지의 인터페이스 동작의 타이밍도를 예시한다. 상세하게 말해서, 도 3은 부하가 매우 적지만 지연에 민감한 M-PHY 레인에 대해 정적의 필 또는 정상적 기능정지 프로세스에 대비한 가기능정지를 도시한다. 이러한 시나리오는 데이터 트래픽이 매우 비대칭적인 M-PHY 링크에 대한 실제 관심사이며, 이러한 사례에서 일방향으로 유일하게 전송될 데이터는 (비교적 작지만 정기적으로 전송될 수 있는 송신되는 데이터를 말하는) AFC(Acknowledgement and Flow Control(확인응답 및 흐름 제어) 패킷이다. 만일 이러한 AFC 패킷이 지연되면, M-PHY 링크의 처리량을 상당히 떨어뜨릴 수 있다. 도 3에서 예시된 바와 같이, 정상적 기능정지(및 필이 아닌(not fill) 경우, SYNC는 다음 번 AFC가 송신되기 이전에 EOB(End Of Burst) 신호/패킷 다음에 발생하여야 한다(이것은 상당한 버스/인터커넥트 대기시간 지연을 추가시킨다).
가기능정지의 한가지 고려사항은 프로토콜 로직(예를 들면, 로직(150))이 필 또는 정상적 기능정지 대신 이것을 구현하려 할 때를 결정해야 하는 것이다(이것이 M-PHY 문제일지라도, 이 문제의 관리는 프로토콜 레벨에서 이루어질 수 있다). 이것은 실제로 가기능정지의 문제일 뿐만 아니라 컨트롤러가 필 또는 정상적 기능정지를 수행할 때를 결정해야 하지만, M-PHY 사양은 현재 어떻게 그 결정을 내릴지를 분명히 정의하고 있지 않으며 프로토콜 사양은 모호하다. 일반적으로, 프로토콜 로직은 이 로직이 즉시 전송할 데이터는 없지만 곧 데이터를 전송하여야 할 것인지를 인식하여야 한다. 이것의 일 예는 호스트 또는 디바이스가 UniPro® (예를 들어, 2012년 6월 vl. 41 UniPro 사양에 따른 통일된 프로토콜) 데이터 패킷(아주 짧을 수 있음)을 수신하고 있는지 그리고 단 기간(예를 들면, UniPro의 경우 수 밀리초) 내에 AFC를 전송하여야 할 것인지의 여부이다. 이러한 시나리오에서, 프로토콜 로직은 정상적 기능정지 또는 필 대신 가기능정지를 수행하도록 선택할 수 있다. 프로토콜 로직은 필 또는 가기능정지를 디폴트로 해주는 전용의 로직(예를 들면, 레지스터 및/또는 퓨즈)을 통해 구성될 수도 있다.
도 4는 실시예에 따라서, 필, 정상적 기능정지, 및 가기능정지 기술 사이에서 선택을 내리기 위한 방법(400)의 흐름도를 예시한다. 구체적으로, 도 4에서 도시된 방법은 로직(150)에 의해 사용될 수 있다. 도 4는 실시예에서 필, 기능정지, 및 가기능정지 사이에서 결정하는 프로토콜 로직(예를 들면, 로직(150))의 간략화된 판정 트리를 도시한다.
도 1 내지 도 4를 참조하면, 동작(402)에서 프로토콜 로직(예를 들면, 로직(150))이 준비되면, 동작(404)에서 레인(예를 들면, M-PHY 레인)을 통해 데이터를 전송할지 여부가 결정된다. 만일 데이터가 전송될 예정이면, 동작(406)에서 데이터가 송신되며 방법(400)은 동작(402)으로 되돌아가며, 그렇지 않다면, 동작(408)에서 데이터가 현재 수신되고 있는지 여부가 결정된다. 만일 데이터가 현재 수신되고 있지 않으면, 동작(410)에서 정상적 기능정지가 선택되어 수행된다.
동작(408)에서, 만일 데이터가 수신되고 있으면, 동작(412)은 가기능정지를 구성할지를 결정한다. 만일 구성하지 않으면, 동작(414)에서, 필이 선택되며, 그렇지 않으면, 동작(416)에서 가기능정지가 선택된다. 도 4에서 도시된 바와 같이, 방법(400)은 각각의 동작(410, 414 및 416) 이후 동작(402)로 되돌아간다.
앞에서 논의된 것처럼, 가기능정지는 반복하여 필 코드를 전송하는 것을 방지하며 그 대신 무작위 추출될 수 있는 랜덤SYNC 코드를 전송한다. 이렇게 하여 EMI를 상당히 줄일 것이다. 다시 말해서, 가기능정지는 스크램블된 로직 유휴(scrambled logical idle)를 근사화하는 방법을 제공한다. 또한, 가기능정지는 필을 전송하는 것에 비해 비용 없이(예를 들면, 버스/인터커넥트 대기시간을 유발하지 않거나 전력 또는 전력 소비를 증가하지 않고) EMI를 줄인다. 이러한 기술이 없다면, M-PHY 버스/인터커넥트는 (마이크로 동축 케이블(micro-coax)과 같은) 매우 값비싼 케이블을 사용해야 할 수 있다. 가기능정지는 그 대신 매우 저렴한 케이블(예를 들어, 트위스트 페어)의 사용을 가능하게 해줄 수 있다. 예를 들면, 1m 케이블의 경우, 마이크로 동축 케이블과 트위스트 페어 간의 BOM (Bill Of Material(재료 구입비)) 비용의 차는 2 달러 내지 3 달러일 수 있다. 또한, 차폐 및 그라운딩과 같은 다른 EMI 완화 기술은 비싸며 다소 복불복일 수 있기 때문에, 소스 신호를 변경함으로써 이루어지는 임의의 EMI 완화는 매우 유용하다.
도 5는 컴퓨팅 시스템(500)의 실시예의 블록도를 예시한다. 도 1의 에이전트(102) 중 하나 이상은 컴퓨팅 시스템(500)의 하나 이상의 컴포넌트를 포함할 수 있다. 또한, 컴퓨팅 시스템(500)의 각종 컴포넌트는 도 5에서 예시된 바와 같은 로직(150)을 포함할 수 있다. 그러나, 로직(150)은 그렇게 예시된 곳을 비롯한 또는 그렇게 예시된 곳을 제외한, 컴퓨팅 시스템(500) 도처의 위치에서 제공될 수 있다. 컴퓨팅 시스템(500)은 상호연결 네트워크(또는 버스)(504)에 결합된 (본 명세서에서 일괄하여 "프로세서들(502)" 또는 더 개괄적으로 "프로세서(502)"라고 지칭될 수 있는) 하나 이상의 중앙 처리 유니트(들)(central processing unit, CPU)(502)를 포함할 수 있다. 도 1 내지 도 4를 참조하여 논의된 동작은 시스템(500)의 하나 이상의 컴포넌트에 의해 수행될 수 있다.
프로세서(502)는 (축소된 명령어 집합 컴퓨터(reduced instruction set computer, RISC) 프로세서 또는 복합 명령어 집합 컴퓨터(complex instruction set computer, CISC)를 비롯한) 범용 프로세서, (컴퓨터 네트워크(505)를 통해 전달되는 데이터를 처리할 수 있는) 네트워크 프로세서 등과 같은 임의의 형태의 프로세서일 수 있다. 또한, 프로세서(502)는 단일 또는 복수의 코어 디자인을 가질 수 있다. 복수의 코어 디자인을 가진 프로세서(502)는 여러 유형의 프로세서 코어를 동일한 집적 회로(integrated circuit, IC) 다이에 통합할 수 있다. 또한, 복수의 코어 디자인을 가진 프로세서(502)는 대칭 또는 비대칭 멀티프로세서로서 구현될 수 있다.
프로세서(502)는 다양한 실시예에서 전용되고/전용되거나 공유될 수 있는 하나 이상의 캐시를 포함할 수 있다. 일반적으로, 캐시는 어딘가에 저장된 또는 이전에 계산된 원 데이터에 대응하는 데이터를 저장한다. 메모리 액세스 대기시간을 줄이기 위해, 일단 데이터가 캐시에 저장되면, 원 데이터를 선인출하거나 재계산하는 대신 캐싱된 사본에 액세스함으로써 향후의 사용이 이루어질 수 있다. 캐시(들)는 시스템(500)의 하나 이상의 컴포넌트에 의해 활용되는 (예를 들면, 명령어를 비롯한) 전자 데이터를 저장하는, 레벨 1 (LI) 캐시, 레벨 2 (L2) 캐시, 레벨 3 (L3), 중간-레벨 캐시, 최종 레벨 캐시(last level cache, LLC) 등과 같은 임의의 형태의 캐시일 수 있다. 또한, 그러한 캐시(들)는 (예를 들면, 도 1, 2, 5 또는 6의 시스템을 비롯하여, 본 명세서에서 논의된 컴퓨팅 시스템의 다른 컴포넌트 내부에 있는) 다양한 위치에 배치될 수 있다.
칩셋(506)은 또한 상호연결 네트워크(504)에 결합될 수 있다. 또한, 칩셋(506)은 그래픽 메모리 제어 허브(graphics memory control hub, GMCH)(508)를 포함할 수 있다. GMCH(508)는 메모리(512)에 결합된 메모리 컨트롤러(510)를 포함할 수 있다. 메모리(512)는 예를 들어, 컴퓨팅 시스템(500)의 컴포넌트와 통신하는 프로세서(502) 또는 임의의 다른 디바이스에 의해 실행되는 명령어 시퀀스를 비롯한 데이터를 저장할 수 있다. 또한, 일 실시예에서, 메모리(512)는 랜덤 액세스 메모리(random access memory, RAM), 다이나믹 RAM(dynamic RAM, DRAM), 동기 DRAM(synchronous DRAM, SDRAM), 스태틱 RAM(static RAM, SRAM) 등과 같은 하나 이상의 휘발성 저장 (또는 메모리) 디바이스를 포함할 수 있다. 하드 디스크와 같은 비휘발성 메모리가 또한 활용될 수 있다. 상호연결 네트워크(504)에는 복수의 프로세서 및/또는 복수의 시스템 메모리와 같은 부가적인 디바이스가 결합될 수 있다.
GMCH(508)는 또한 (예를 들어, 실시예에서 그래픽 가속기를 통해) 디스플레이 디바이스(516)에 결합된 그래픽 인터페이스(514)를 포함한다. 일 실시예에서, 그래픽 인터페이스(514)는 가속 그래픽 포트(Accelerated Graphics Port, AGP) 또는 주변 컴포넌트 인터커넥트(Peripheral Component Interconnect, PCI) 또는 PCI 익스프레스(PCI express, PCIe))를 통해 디스플레이 디바이스(516)에 결합될 수 있다. 실시예에서, (평판 패널 디스플레이와 같은) 디스플레이 디바이스(516)는 예를 들어 비디오 메모리 또는 시스템 메모리(예를 들면, 메모리(512))와 같은 저장 디바이스에 저장된 이미지의 디지털 표현을 디스플레이(516)에 의해 해석되어 디스플레이되는 디스플레이 신호로 변환하는 신호 변환기를 통해 그래픽 인터페이스(514)에 결합될 수 있다.
도 5에서 도시된 바와 같이, 허브 인터페이스(518)는 GMCH(508)를 입력/출력 제어 허브(input/output control hub, ICH)(520)에 결합할 수 있다. ICH(520)는 컴퓨팅 시스템(500)에 결합된 입력/출력(input/output, I/O) 디바이스와의 인터페이스를 제공할 수 있다. ICH(520)는 PCIe 사양과 호환될 수 있는 주변 컴포넌트 인터커넥트(PCI) 브릿지, 범용 직렬 버스(universal serial bus, USB) 컨트롤러 등과 같은 주변 브릿지(또는 컨트롤러)(524)를 통해 버스(522)에 결합될 수 있다. 브릿지(524)는 프로세서(502)와 주변 디바이스 사이에서 데이터 경로를 제공할 수 있다. 다른 형태의 토폴로지가 활용될 수 있다. 또한, 복수의 버스가 예를 들어, 복수의 브릿지 또는 컨트롤러를 통해 ICH(520)에 결합될 수 있다. 또한, 버스(522)는 다른 형태 및 구성의 버스 시스템을 포함할 수 있다. 더욱이, 다양한 실시예에서, ICH(520)에 결합된 다른 주변기기는 통합 드라이브 전자장치(integrated drive electronics, IDE) 또는 소형 컴퓨터 시스템 인터페이스(small computer system interface, SCSI) 하드 드라이브(들), USB 포트(들), 키보드, 마우스, 병렬 포트(들), 직렬 포트(들), 플로피 디스크 드라이브(들), 디지털 출력 지원기기(예를 들면, 디지털 비디오 인터페이스(digital video interface, DVI) 등을 포함할 수 있다.
버스(522)는 오디오 디바이스(526), 하나 이상의 디스크 드라이브(들)(528), 및 (실시예에서 NIC일 수 있는) 네트워크 어댑터(530)에 결합될 수 있다. 일 실시예에서, 버스(522)에 결합된 네트워크 어댑터(530) 또는 다른 디바이스는 칩셋(506)과 통신할 수 있다. 또한, 일부 실시예에서 (네트워크 어댑터(530)와 같은) 각종 컴포넌트는 GMCH(508)에 결합될 수 있다. 그 밖에, 프로세서(502) 및 GMCH(508)는 조합되어 단일의 칩을 형성할 수 있다. 실시예에서, 메모리 컨트롤러(510)는 하나 이상의 CPU(502) 내에서 제공될 수 있다. 또한, 실시예에서, GMCH(508) 및 ICH(520)는 주변 제어 허브(Peripheral Control Hub, PCH) 내에서 조합될 수 있다.
또한, 컴퓨팅 시스템(500)은 휘발성 및/또는 비휘발성 메모리(또는 저장소)를 포함할 수 있다. 예를 들면, 비휘발성 메모리는 (예를 들어, 명령어를 비롯한) 전자 데이터를 저장할 수 있는 판독 전용 메모리(read-only memory, ROM), 프로그래머블 ROM(programmable ROM, PROM), 소거가능한 PROM(erasable PROM, EPROM), 전기적 EPROM(electrically EPROM, EEPROM), 디스크 드라이브(예를 들면, 528), 플로피 디스크, 컴팩트 디스크(compact disk ROM, CD-ROM), 디지털 다기능 디스크(digital versatile disk, DVD), 플래시 메모리, 자기-광 디스크, 또는 다른 형태의 비휘발성 머신 판독가능한 매체 중 하나 이상을 포함할 수 있다.
실시예에서, 메모리(512)는 오퍼레이팅 시스템(operating system, O/S)(532), 애플리케이션(534), 및/또는 디바이스 드라이버(536) 중 하나 이상을 포함할 수 있다. 메모리(512)는 또한 메모리 맵 I/O(Memory Mapped I/O, MMIO) 동작에 전용되는 구역을 포함할 수 있다. 메모리(512)에 저장된 프로그램 및/또는 데이터는 메모리 관리 동작의 일부로서 디스크 드라이브(528) 내에서 교체될 수 있다. 애플리케이션(들)(534)은 (예를 들어, 프로세서(들)(502)를 통해) 하나 이상의 패킷을 네트워크(505)에 결합된 하나 이상의 컴퓨팅 디바이스와 주고받도록 실행할 수 있다. 실시예에서, 패킷은 적어도 하나의 송신기로부터 (예를 들어, 네트워크(505)와 같은 네트워크를 통해) 적어도 하나의 수신기로 전송된 하나 이상의 전기 신호에 의해 인코딩될 수 있는 하나 이상의 심볼 및/또는 값의 시퀀스일 수 있다. 예를 들면, 각각의 패킷은 발신지 어드레스, 목적지 어드레스, 패킷 타입 등과 같이 패킷을 라우팅하고/하거나 처리하는데 활용될 수 있는 각종 정보를 포함하는 헤더를 가질 수 있다. 각각의 패킷은 또한 패킷이 (네트워크(505)와 같은) 컴퓨터 네트워크를 통해 각종 컴퓨팅 디바이스들 사이에서 전달하는 원시 데이터(또는 콘텐츠)를 포함하는 패이로드를 가질 수 있다.
실시예에서, 애플리케이션(534)은 O/S(532)를 활용하여, 예를 들어 디바이스 드라이버(536)를 통해 컴퓨팅 시스템(500)의 각종 컴포넌트와 통신할 수 있다. 그러므로 디바이스 드라이버(536)는 O/S(532)와 네트워크 어댑터(530) 또는 컴퓨팅 시스템(500)에 결합된 다른 I/O 디바이스 사이에서, 예를 들어 칩셋(506)을 통해, 커맨드 인터페이스를 제공하는 특정 커맨드를 제공하는 네트워크 어댑터(530)를 포함할 수 있다.
실시예에서, O/S(532)는 네트워크 프로토콜 스택을 포함할 수 있다. 프로토콜 스택은 일반적으로 네트워크(505)를 통해 전송된 패킷을 처리하기 위해 실행될 수 있는 일련의 절차 또는 프로그램을 말하는 것으로, 여기서 패킷은 특정한 프로토콜을 준용할 수 있다. 예를 들면, TCP/IP(Transport Control Protocol/Internet Protocol) 패킷은 TCP/IP 패킷을 이용하여 처리될 수 있다. 디바이스 드라이버(536)는 예를 들어, 프로토콜 스택을 통해 처리될 메모리(512) 내 버퍼를 지시할 수 있다.
네트워크(505)는 임의의 형태의 컴퓨터 네트워크를 포함할 수 있다. 네트워크 어댑터(530)는 또한 데이터를 네트워크(505)를 통해 송신 및/또는 수신하기 위해 (예를 들면, 메모리(512)에 저장된) 이용 가능한 서술자에 할당된 (예를 들면, 메모리(512)에 저장된) 버퍼에다 패킷을 기록하는 직접 메모리 액세스(direct memory access, DMA) 엔진을 포함할 수 있다. 또한, 네트워크 어댑터(530)는 어댑터 관련 동작을 수행하는 (하나 이상의 프로그래머블 프로세서와 같은) 로직을 포함할 수 있는 네트워크 어댑터 컨트롤러를 포함할 수 있다. 실시예에서, 어댑터 컨트롤러는 MAC(media access control) 컴포넌트일 수 있다. 네트워크 어댑터(530)는 또한 (예를 들면, 메모리(512)를 참조하여 논의된 하나 이상의 캐시(들) 및/또는 다른 메모리 형태를 비롯한) 임의의 형태의 휘발성/비휘발성 메모리와 같은 메모리를 포함할 수 있다.
도 6은 실시예에 따라서, 포인트-투-포인트(point-to-point, PtP) 구성으로 배열된 컴퓨팅 시스템(600)을 예시한다. 특히 도 6은 프로세서, 메모리 및 입력/출력 디바이스가 복수의 포인트-투-포인트 인터페이스에 의해 상호연결된 시스템을 도시한다. 도 1 내지 도 5를 참조하여 논의된 동작은 시스템(600)의 하나 이상의 컴포넌트에 의해 수행될 수 있다.
도 6에서 예시된 바와 같이, 시스템(600)은 여러 프로세서를 포함할 수 있는데, 그 중에서 간결성을 위해 단지 두 개의 프로세서(602 및 604)만이 도시된다. 프로세서(602 및 604)는 각기 메모리(610 및 612)와 통신할 수 있게 해주는 로컬 메모리 컨트롤러 허브(MCH)(606 및 608)를 포함할 수 있다. 메모리(610 및/또는 612)는 도 6의 메모리(612)를 참조하여 논의된 데이터와 같은 각종 데이터를 저장할 수 있다. 도 6에서 도시된 바와 같이, 프로세서(602 및 604)(또는 칩셋(620), I/O 디바이스(643) 등과 같은 컴퓨팅 시스템(600)의 다른 컴포넌트)는 또한 도 1 내지 도 5를 참조하여 논의한 캐시와 같은 하나 이상의 캐시(들)을 포함할 수 있다.
실시예에서, 프로세서(602 및 604)는 도 6을 참조하여 논의된 프로세서(602) 중 하나일 수 있다. 프로세서(602 및 604)는 각기 PtP 인터페이스 회로(616 및 618)를 이용하여 포인트-투-포인트(PtP) 인터페이스(614)를 통해 데이터를 교환할 수 있다. 또한, 프로세서(602 및 604)는 각기 포인트-투-포인트 인터페이스 회로(626, 628, 630 및 632)를 이용하여 개개의 PtP 인터페이스(622 및 624)를 통해 칩셋(620)과 데이터를 교환할 수 있다. 칩셋(620)은 또한 예를 들어, PtP 인터페이스 회로(637)를 이용하여 고성능 그래픽 인터페이스(636)를 통해 고성능 그래픽 회로(634)와 데이터를 교환할 수 있다.
적어도 일 실시예에서, 로직(150)은 프로세서(602, 604) 중 하나 및/또는 칩셋(620) 내에서 제공될 수 있다. 그러나 다른 실시예는 도 6의 시스템(600) 내 다른 회로, 로직 유니트, 또는 디바이스 내에 존재할 수 있다. 또한, 다른 실시예는 도 6에서 예시된 여러 회로, 로직 유니트 또는 디바이스 전체에 분포될 수 있다. 예를 들면, 시스템(600)의 각종 컴포넌트는 도 1의 로직(150)을 포함할 수 있다. 그러나 로직(150)은 예시된 곳을 비롯하여 또는 예시된 곳을 제외하고, 시스템(600)의 도처의 위치에서 제공될 수 있다.
칩셋(620)은 PtP 인터페이스 회로(641)를 이용하여 버스(640)와 통신할 수 있다. 버스(640)는 버스 브릿지(642) 및 I/O 디바이스(642)와 같이 버스와 통신하는 하나 이상의 디바이스를 가질 수 있다. 버스(644)를 통해, 버스 브릿지(642)는 키보드/마우스(645), (컴퓨터 네트워크(605)와 통신할 수 있는 모뎀, 네트워크 인터페이스 디바이스, 또는 다른 통신 디바이스와 같은) 통신 디바이스(646), 오디오 I/O 디바이스, 및/또는 데이터 저장 디바이스(648)와 통신할 수 있다. 데이터 저장 디바이스(648)는 프로세서(602 및/또는 604)에 의해 실행될 수 있는 코드(649)를 저장할 수 있다.
일부 실시예에서, 본 명세서에서 논의된 컴포넌트 중 하나 이상은 시스템 온 칩(System On Chip, SOC) 디바이스로서 구현될 수 있다. 도 7은 실시예에 따라서 SOC의 블록도를 예시한다. 도 7에서 예시된 바와 같이, SOC(702)는 하나 이상의 중앙 처리 유니트(CPU) 코어(720), 하나 이상의 그래픽 프로세서 유니트(Graphics Processor Unit, GPU) 코어(730), 입력/출력(I/O) 인터페이스(740), 및 메모리 컨트롤러(742)를 포함한다. SOC 패키지(720)의 각종 컴포넌트는 다른 도면을 참조하여 본 명세서에서 논의되는 바와 같은 인터커넥트 또는 버스에 결합될 수 있다. 또한, SOC 패키지(702)는 다른 도면을 참조하여 본 명세서에서 논의된 컴포넌트와 같은 더 많거나 적은 컴포넌트를 포함할 수 있다. 또한, SOC 패키지(702)의 컴포넌트 각각은 예를 들어, 본 명세서에서 다른 도면을 참조하여 논의된 바와 같은 하나 이상의 다른 컴포넌트를 포함할 수 있다. 일 실시예에서, SOC 패키지(702) (및 그의 컴포넌트)는 예를 들어 단일의 반도체 디바이스로 패키지되는 하나 이상의 집적 회로(Integrated Circuit, IC) 다이 상에서 제공된다.
도 7에서 예시된 바와 같이, SOC 패키지(702)는 메모리 컨트롤러(742)를 통해 (다른 도면을 참조하여 본 명세서에서 논의된 메모리와 유사하거나 바로 그 메모리일 수 있는) 메모리(760)에 결합된다. 실시예에서, 메모리(760) (또는 그의 일부분)는 SOC 패키지(702) 상에서 통합될 수 있다.
I/O 인터페이스(740)는 예를 들어 다른 도면을 참조하여 본 명세서에서 논의된 바와 같은 인터커넥트 또는 버스를 통해 하나 이상의 I/O 디바이스(770)에 결합될 수 있다. I/O 디바이스(들)(770)는 키보드, 마우스, 터치패드, 디스플레이, (카메라 또는 캠코더/비디오 레코더와 같은) 이미지/비디오 촬영 디바이스, 터치 스크린, 또는 스피커 등 중 하나 이상을 포함할 수 있다. 그뿐만 아니라, 실시예에서 SOC 패키지(702)는 로직(150)을 포함/통합할 수 있다. 대안으로, 로직(150)은 SOC 패키지(702)의 외부에서 (즉, 이산적인 로직으로서) 제공될 수 있다.
다음의 예는 다른 실시예에 관련한다. 예 1은 장치를 포함하며, 장치는 레인을 통해 전송될 데이터가 없으며 데이터는 레인을 통해 송신되고 있다는 결정에 응답하여 레인에서 가기능정지 동작(false stall operation)을 수행할지를 결정하는 로직을 포함하며, 가기능정지 동작은 레인이 기능정지하게 하는 대신 레인을 통해 엔드 오브 버스트(End Of Burst, EOB) 신호 다음에 하나 이상의 트레이닝 심볼을 전송하는 것을 포함한다. 예 2는 예 1의 장치를 포함하며, 장치에서 레인은 제 1 에이전트를 제 2 에이전트에 통신가능하게 결합한다. 예 3은 예 1의 장치를 포함하며, 장치에서 레인은 제 1 에이전트와 제 2 에이전트 사이에서 포인트-투-포인트 링크를 제공한다. 예 4는 예 2 내지 예 3 중 어느 한 예의 장치를 포함하며, 장치에서 제 1 에이전트의 송신기 및 제 2 에이전트의 송신기 중 적어도 하나는 로직을 포함한다. 예 5는 예 2의 장치를 포함하며 장치에서 제 1 에이전트 및 제 2 에이전트 중 하나 이상은 복수의 프로세서 코어를 포함한다. 예 6은 예 2의 장치를 포함하며, 장치에서 제 1 에이전트 및 제 2 에이전트 중 하나 이상은 복수의 소켓을 포함한다. 예 7은 예 2의 장치를 포함하며, 장치에서 제 1 에이전트, 제 2 에이전트, 로직 및 메모리 중 하나 이상은 동일한 집적 회로 다이 상에 있다. 예 8은 예 1의 장치를 포함하며, 장치에서 레인은 M-PHY 레인을 포함한다. 예 9는 예 1의 장치를 포함하며, 장치에서 레인을 통해 송신되는 데이터는 하나 이상의 확인응답 및 흐름 제어(Acknowledgement and Flow Control, AFC) 패킷의 형태이다. 예 10은 예 1의 장치를 포함하며, 장치에서 하나 이상의 트레이닝 심볼은 하나 이상의 SYNC 패킷을 포함한다.
예 11은 방법을 포함하며, 방법은 레인을 통해 전송될 데이터가 없으며 데이터는 레인을 통해 송신되고 있다는 결정에 응답하여 레인에서 가기능정지 동작(false stall operation)을 수행할지를 결정하는 단계를 포함하며, 가기능정지 동작은 레인이 기능정지하게 하는 대신 레인을 통해 엔드 오브 버스트(End Of Burst, EOB) 신호 다음에 하나 이상의 트레이닝 심볼을 전송하는 것을 포함한다. 예 12는 예 11의 방법을 포함하며, 방법은 또한 레인이 제 1 에이전트를 제 2 에이전트에 통신가능하게 결합하는 것을 포함한다. 예 13은 예 11의 방법을 포함하며, 방법은 또한 레인이 제 1 에이전트와 제 2 에이전트 사이에서 포인트-투-포인트 링크를 제공하는 것을 포함한다. 예 14는 예 12의 방법을 포함하며, 방법에서 가기능정지를 수행할지를 결정하는 단계는 제 1 에이전트의 송신기 및 제 2 에이전트의 송신기 중 적어도 하나에 의해 수행된다. 예 15는 예 11의 방법을 포함하며, 방법에서 레인은 M-PHY 레인을 포함한다. 예 16은 예 11의 방법을 포함하며, 방법은 또한 데이터를 레인을 통해 하나 이상의 확인응답 및 흐름 제어(Acknowledgement and Flow Control, AFC) 패킷의 형태로 송신하는 단계를 포함한다. 예 17은 예 11의 방법을 포함하며, 방법에서 하나 이상의 트레이닝 심볼은 하나 이상의 SYNC 패킷을 포함한다.
예 18은 프로세서에서 실행될 때 프로세서가 예 11 내지 17 중 어느 한 예의 하나 이상의 동작을 수행하도록 구성하는 하나 이상의 명령어를 포함하는 컴퓨터 판독가능한 매체를 포함한다.
예 19는 시스템을 포함하며, 시스템은 프로세서와, 프로세서에 결합되어 있고, 레인을 통해 전송될 데이터가 없으며 데이터는 상기 레인을 통해 송신되고 있다는 결정에 응답하여 레인에서 가기능정지 동작(false stall operation)을 수행할지를 결정하는 로직을 포함하며, 가기능정지 동작은 레인이 기능정지하게 하는 대신 레인을 통해 엔드 오브 버스트(End Of Burst, EOB) 신호 다음에 하나 이상의 트레이닝 심볼을 전송하는 것을 포함한다.
예 20은 예 19의 시스템을 포함하며, 시스템에서 레인은 프로세서를 제 2 에이전트에 통신가능하게 결합한다. 예 21은 예 20의 시스템을 포함하며, 시스템에서 레인은 프로세서와 에이전트 사이에서 포인트-투-포인트 링크를 제공한다. 예 22는 예 20의 시스템을 포함하며, 시스템에서 프로세서의 송신기 및 에이전트의 송신기 중 적어도 하나는 로직을 포함한다. 예 23은 예 19의 시스템을 포함하며, 시스템에서 레인은 M-PHY 레인을 포함한다. 예 24는 예 19의 시스템을 포함하며, 시스템에서 하나 이상의 트레이닝 심볼은 하나 이상의 SYNC 패킷을 포함한다.
예 25는 예 11 내지 17 중 어느 한 예에서 언급된 바와 같은 방법을 수행하는 수단을 포함하는 장치를 포함한다.
예 26은 하나 이상의 명령어를 포함하는 컴퓨터 판독가능한 매체를 포함하며, 하나 이상의 명령어는 프로세서에서 실행될 때 프로세서가 레인을 통해 전송될 데이터가 없으며 데이터가 레인을 통해 송신되고 있다는 결정에 응답하여 레인에서 가기능정지 동작(false stall operation)을 수행할지를 결정하는 하나 이상의 동작을 수행하도록 구성하며, 가기능정지 동작은 레인이 기능정지하게 하는 대신 레인을 통해 엔드 오브 버스트(End Of Burst, EOB) 신호 다음에 하나 이상의 트레이닝 심볼을 전송하는 것을 포함한다. 예 27은 예 26의 컴퓨터 판독가능한 매체를 포함하며, 컴퓨터 판독가능한 매체는 또한 프로세서에서 실행될 때 프로세서로 하여금 레인이 제 1 에이전트를 제 2 에이전트에 통신가능하게 결합하게 하는 하나 이상의 동작을 수행하도록 구성하는 하나 이상의 명령어를 포함한다. 예 28은 예 27의 컴퓨터 판독가능한 매체를 포함하며, 컴퓨터 판독가능한 매체는 또한 프로세서에서 실행될 때 프로세서로 하여금 가기능정지 동작이 제 1 에이전트의 송신기 및 제 2 에이전트의 송신기 중 적어도 하나에 의해 수행하게 하는 하나 이상의 동작을 수행하도록 구성하는 하나 이상의 명령어를 포함한다. 예 29는 예 26의 컴퓨터 판독가능한 매체를 포함하며, 컴퓨터 판독가능한 매체에서 레인은 M-PHY 레인을 포함한다. 예 30은 예 26의 컴퓨터 판독가능한 매체를 포함하며, 컴퓨터 판독가능한 매체는 또한 프로세서에서 실행될 때 프로세서로 하여금 데이터가 레인을 통해 하나 이상의 확인응답 및 흐름 제어(Acknowledgement and Flow Control, AFC) 패킷의 형태로 송신되게 하는 하나 이상의 동작을 수행하도록 구성하는 하나 이상의 명령어를 포함한다. 예 31은 예 26의 컴퓨터 판독가능한 매체를 포함하며, 컴퓨터 판독가능한 매체에서 하나 이상의 트레이닝 심볼은 하나 이상의 SYNC 패킷을 포함한다.
예 32는 장치를 포함하며, 장치는 직렬 링크의 레인에 결합하는 로직을 포함하는 시스템 온 칩(system on a chip, SoC) - 로직은 레인이 활성 모드 및 비활성 모드 중 적어도 하나의 모드로 진입하게 하고, 로직은 레인을 통해 전송되고 있는 데이터가 없지만 데이터가 소정 기간 내에 전송될 것이라고 결정하며, 로직은 레인을 통해 전송되고 있는 데이터가 없지만 데이터가 소정 기간 내에 전송될 것이라고 결정하는 것에 대응하여 기간 동안 레인을 활성 모드로 유지하고 트레이닝 심볼을 전송함 - 과, SoC와 연관된 터치 인터페이스를 포함한다. 예 33은 예 32의 장치를 포함하며, 장치에서 트레이닝 심볼은 무작위 추출된다. 예 34는 예 32의 장치를 포함하며, 장치에서 로직은 레인을 통해 현재 전송될 데이터가 없으며 데이터가 현재 레인을 통해 수신되고 있다는 결정 이후 레인이 가기능정지(false stall)을 위해 구성되는 결정에 대한 응답으로 레인을 활성 모드로 유지시킨다. 예 35는 예 32의 장치를 포함하며, 장치에서 기간 동안 트레이닝 심볼은 가기능정지 기간을 포함한다. 예 36은 예 32의 장치를 포함하며, 장치에서 로직은 계층적 스택 로직(layered stack logic)을 포함하고, 계층적 스택 로직은 M-PHY 사양과 호환하는 물리적 계층 및 PCIe 사양과 호환하는 프로토콜 계층을 포함한다.
다양한 실시예에서, 예를 들면 도 1 내지 도 7를 참조하여 본 출원에서 논의된 동작은 예를 들면 컴퓨터를 본 출원에서 논의된 프로세스를 수행하도록 프로그래밍하는데 사용된 명령어를 저장하는 유형의 (예를 들면 비-일시적) 머신 판독가능한 또는 (예를 들면 비-일시적) 컴퓨터 판독가능한 매체를 비롯한, 컴퓨터 프로그램 제품으로서 제공될 수 있는, 하드웨어 (예를 들면 회로), 소프트웨어, 펌웨어, 마이크로코드, 또는 이들의 결합으로서 구현될 수 있다. 또한, "로직"이라는 용어는 예를 들어 소프트웨어, 하드웨어, 또는 소프트웨어와 하드웨어의 결합을 포함할 수 있다. 머신 판독 가능한 매체는 도 1 내지 도 7과 관련하여 논의된 디바이스와 같은 저장 디바이스를 포함할 수 있다. 또한, 그러한 컴퓨터 판독 가능한 매체는 컴퓨터 프로그램 제품으로서 다운로드될 수 있으며, 이 컴퓨터 프로그램 제품에서 프로그램은 통신 링크(예를 들면 버스, 모뎀, 또는 네트워크 접속을 통해 원격 컴퓨터(예를 들면, 서버)로부터 요청 컴퓨터(예를 들면 클라이언트)로 캐리어 웨이브 또는 다른 전파 매체로 된 데이터 신호를 통하여 전송될 수 있다.
명세서에서 "일 실시예" 또는 "실시예"라는 말은 실시예와 관련하여 설명된 특별한 특징, 구조 또는 특성이 적어도 어떤 구현에 포함될 수 있다는 것을 의미한다. 명세서의 여러 곳에서 출현하는 "일 실시예에서"라는 관용구는 모두 동일 실시예를 언급하는 것일 수도 아닐 수도 있다.
또한, 상세한 설명과 청구범위에서, "결합된" 및 "연결된"이라는 용어와 함께 이들의 파생어가 사용될 수 있다. 일부 실시예에서, "연결된"은 둘 이상의 구성요소들이 서로 직접적인 물리적 또는 전기적 접촉을 하고 있다는 것을 나타내는 데 사용될 수 있다. "결합된"은 둘 이상의 구성요소들이 직접적인 물리적 또는 전기적 접촉을 하고 있다는 것을 의미할 수 있다. "결합된"은 둘 이상의 구성요소들이 서로 직접적인 접촉을 하고 있지 않지만, 그래도 여전히 서로 협력 또는 상호작용할 수 있다는 것을 의미한다.
그러므로, 실시예가 구조적인 특징 및/또는 방법론적 행위에 특정한 언어로 설명되었을지라도, 청구된 주제는 설명된 바와 같은 특정한 특징 또는 행위로 한정되지 않을 수 있음은 물론이다. 오히려, 특정한 특징 및 행위는 청구된 주제를 구현하는 샘플의 형태로서 개시된다.

Claims (30)

  1. 일정 기간 동안 레인을 통해 전송될 데이터가 없으며 데이터가 상기 레인을 통해 수신되고 있다는 결정에 응답하여 상기 레인에서 가기능정지 동작(false stall operation)을 수행할지 여부를 결정하는 적어도 일부는 하드웨어인 로직을 포함하되,
    상기 가기능정지 동작은 상기 레인으로 하여금 기능정지하게 하는 대신 상기 레인을 통해 엔드 오브 버스트(End Of Burst; EOB) 신호 다음에 하나 이상의 트레이닝 심볼을 전송하는 것을 포함하고,
    상기 하나 이상의 트레이닝 심볼은 상기 일정 기간 동안 전자기 간섭(Electromagnetic Interfernce; EMI)의 생성을 적어도 부분적으로 감소시키기 위하여 비반복(non-repeating) 심볼을 포함하며, 하나 이상의 SYNC 패킷을 포함하는
    장치.
  2. 제 1 항에 있어서,
    상기 레인은 제 1 에이전트를 제 2 에이전트에 통신가능하게 결합하는
    장치.
  3. 제 2 항에 있어서,
    상기 제 1 에이전트의 송신기와 상기 제 2 에이전트의 송신기 중 적어도 하나는 상기 로직을 포함하는
    장치.
  4. 제 2 항에 있어서,
    상기 제 1 에이전트와 상기 제 2 에이전트 중 하나 이상은 복수의 프로세서 코어를 포함하는
    장치.
  5. 제 2 항에 있어서,
    상기 제 1 에이전트와 상기 제 2 에이전트 중 하나 이상은 복수의 소켓을 포함하는
    장치.
  6. 제 2 항에 있어서,
    상기 제 1 에이전트, 상기 제 2 에이전트, 상기 로직 및 메모리 중 하나 이상은 동일한 집적 회로 다이 상에 있는
    장치.
  7. 제 1 항에 있어서,
    상기 레인은 제 1 에이전트와 제 2 에이전트 사이에 포인트-투-포인트 링크를 제공하는
    장치.
  8. 제 1 항에 있어서,
    상기 레인은 M-PHY 레인을 포함하는
    장치.
  9. 제 1 항에 있어서,
    상기 레인을 통해 수신되고 있는 상기 데이터는 하나 이상의 확인응답 및 흐름 제어(Acknowledgement and Flow Control; AFC) 패킷의 형태인
    장치.
  10. 삭제
  11. 일정 기간 동안 레인을 통해 전송될 데이터가 없으며 데이터가 상기 레인을 통해 수신되고 있다는 결정에 응답하여 상기 레인에서 가기능정지 동작을 수행할지 여부를 결정하는 단계를 포함하며,
    상기 가기능정지 동작은 상기 레인으로 하여금 기능정지하게 하는 대신 상기 레인을 통해 엔드 오브 버스트(EOB) 신호 다음에 하나 이상의 트레이닝 심볼을 전송하는 것을 포함하되,
    상기 하나 이상의 트레이닝 심볼은 상기 일정 기간 동안 전자기 간섭(Electromagnetic Interfernce; EMI)의 생성을 적어도 부분적으로 감소시키기 위하여 비반복(non-repeating) 심볼을 포함하며, 하나 이상의 SYNC 패킷을 포함하는
    방법.
  12. 제 11 항에 있어서,
    상기 레인이 제 1 에이전트를 제 2 에이전트에 통신가능하게 결합하는 단계를 더 포함하는
    방법.
  13. 제 11 항에 있어서,
    상기 레인이 제 1 에이전트와 제 2 에이전트 사이에 포인트-투-포인트 링크를 제공하는 단계를 더 포함하는
    방법.
  14. 제 12 항에 있어서,
    상기 가기능정지 동작을 수행할지 여부를 결정하는 단계는 상기 제 1 에이전트의 송신기와 상기 제 2 에이전트의 송신기 중 적어도 하나에 의해 수행되는
    방법.
  15. 제 11 항에 있어서,
    상기 레인은 M-PHY 레인을 포함하는
    방법.
  16. 제 11 항에 있어서,
    상기 데이터를 상기 레인을 통해 하나 이상의 확인응답 및 흐름 제어(AFC) 패킷의 형태로 송신하는 단계를 더 포함하는
    방법.
  17. 삭제
  18. 프로세서와,
    일정 기간 동안 레인을 통해 전송될 데이터가 없으며 데이터가 상기 레인을 통해 수신되고 있다는 결정에 응답하여, 상기 레인에서 가기능정지 동작(false stall operation)을 수행할지 여부를 결정하는 로직을 포함하되,
    상기 가기능정지 동작은 상기 레인으로 하여금 기능정지하게 하는 대신 상기 레인을 통해 엔드 오브 버스트(EOB) 신호 다음에 하나 이상의 트레이닝 심볼을 전송하는 것을 포함하고,
    상기 하나 이상의 트레이닝 심볼은 상기 일정 기간 동안 전자기 간섭(Electromagnetic Interfernce; EMI)의 생성을 적어도 부분적으로 감소시키기 위하여 비반복(non-repeating) 심볼을 포함하며, 하나 이상의 SYNC 패킷을 포함하는
    시스템.
  19. 제 18 항에 있어서,
    상기 레인은 상기 프로세서를 에이전트에 통신가능하게 결합하는
    시스템.
  20. 제 18 항에 있어서,
    상기 레인은 M-PHY 레인을 포함하는
    시스템.
  21. 삭제
  22. 직렬 링크의 레인에 결합하는 로직을 포함하는 시스템 온 칩(system on a chip; SoC)과,
    상기 SoC와 연관된 터치 인터페이스를 포함하되,
    상기 로직은 상기 레인으로 하여금 활성 모드와 비활성 모드 중 적어도 하나의 모드로 진입하게 하고, 상기 레인을 통해 전송되고 있는 데이터는 없지만 데이터가 소정 기간 내에 전송될 것이라고 결정하며, 상기 레인을 통해 전송되고 있는 데이터는 없지만 데이터가 소정 기간 내에 전송될 것이라고 결정하는 것에 응답하여 상기 기간 동안 상기 레인을 상기 활성 모드로 유지하고 트레이닝 심볼을 전송하고,
    상기 트레이닝 심볼은 상기 레인을 통한 전자기 간섭(Electromagnetic Interfernce; EMI)의 생성을 적어도 부분적으로 감소시키기 위하여 비반복(non-repeating) 심볼을 포함하며, 하나 이상의 SYNC 패킷을 포함하는
    장치.
  23. 제 22 항에 있어서,
    상기 트레이닝 심볼은 무작위 추출되는(randomized)
    장치.
  24. 제 22 항에 있어서,
    상기 로직은 상기 레인을 통해 현재 전송될 데이터가 없으며 데이터가 현재 상기 레인을 통해 수신되고 있다는 결정 이후 상기 레인이 가기능정지를 위해 구성된다는 결정에 응답하여 상기 레인을 상기 활성 모드로 유지하는
    장치.
  25. 제 22 항에 있어서,
    상기 기간 동안 상기 트레이닝 심볼은 가기능정지 기간을 포함하는
    장치.
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
KR1020167007541A 2013-10-23 2013-10-23 고속 레인에서 가기능정지를 이용한 emi 완화 KR101844812B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/066418 WO2015060845A1 (en) 2013-10-23 2013-10-23 Emi mitigation on high-speed lanes using false stall

Publications (2)

Publication Number Publication Date
KR20160045860A KR20160045860A (ko) 2016-04-27
KR101844812B1 true KR101844812B1 (ko) 2018-04-03

Family

ID=52827213

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167007541A KR101844812B1 (ko) 2013-10-23 2013-10-23 고속 레인에서 가기능정지를 이용한 emi 완화

Country Status (5)

Country Link
US (2) US9594705B2 (ko)
EP (1) EP3060977A4 (ko)
KR (1) KR101844812B1 (ko)
CN (1) CN105579952B (ko)
WO (1) WO2015060845A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105579952B (zh) 2013-10-23 2019-07-12 英特尔公司 利用伪停顿的高速通道上的emi抑制
CN107707861B (zh) 2017-06-28 2020-02-07 联发科技(新加坡)私人有限公司 数据线、电子系统及传输mipi信号的方法
KR20200012211A (ko) 2018-07-26 2020-02-05 삼성전자주식회사 반도체 소자 테스트 시스템, 반도체 소자 테스트 방법, 및 반도체 소자 제조 방법
US11190460B2 (en) 2019-03-29 2021-11-30 Intel Corporation System-in-package network processors
CN112084714B (zh) * 2020-09-14 2023-03-07 重庆长安新能源汽车科技有限公司 一种基于数据驱动的整车电磁干扰抑制方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010026448A1 (en) 2008-09-05 2010-03-11 Freescale Semiconductor, Inc. Method and apparatus for transmitting data
US20110138096A1 (en) * 2009-12-04 2011-06-09 St-Ericsson Sa Methods and Systems for Reliable Link Startup
US20130262731A1 (en) * 2012-03-30 2013-10-03 Sridharan Ranganathan Superspeed inter-chip communications

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2654217B1 (fr) * 1989-11-03 1992-01-17 Thomson Csf Dispositif de detection des signaux de repondeurs interroges par un radar secondaire en presence de phenomenes de multitrajets.
US6961280B1 (en) * 2003-12-08 2005-11-01 Altera Corporation Techniques for implementing address recycling in memory circuits
US7428645B2 (en) * 2003-12-29 2008-09-23 Marvell International, Ltd. Methods and apparatus to selectively power functional units
US7093989B2 (en) * 2004-05-27 2006-08-22 Silverbrook Research Pty Ltd Printer comprising two uneven printhead modules and at least two printer controllers, one which spends print data to the other
US7693488B2 (en) * 2004-09-30 2010-04-06 Vtech Telecommunications Limited System and method for asymmetric enhanced mode operation in a digital communication system
US7616901B2 (en) * 2005-08-10 2009-11-10 Enablence Usa Fttx Networks Inc. Countermeasures for idle pattern SRS interference in ethernet optical network systems
US20070098020A1 (en) * 2005-10-27 2007-05-03 Yee Ja Methods and arrangements to model an asynchronous interface
US7877619B2 (en) * 2007-12-31 2011-01-25 Ramana Rachakonda Power mode control method and circuitry
US8275560B2 (en) * 2009-09-10 2012-09-25 Intel Corporation Power measurement techniques of a system-on-chip (SOC)
US8555104B2 (en) * 2010-01-13 2013-10-08 Broadcom Corporation Frequency adapter utilized in high-speed internal buses
US9141496B2 (en) 2010-10-15 2015-09-22 St-Ericsson Sa Methods and systems for testing electrical behavior of an interconnect having asymmetrical link
CN103262462B (zh) * 2010-10-19 2016-09-14 瑞典爱立信有限公司 在高速串行接口通信系统中使用选择性字节同步的省电模式的系统和方法
US8996892B1 (en) * 2010-10-20 2015-03-31 Marvell International Ltd. Power smart peripheral devices with external power supplies
US8826092B2 (en) * 2011-10-25 2014-09-02 International Business Machines Corporation Characterization and validation of processor links
US20130159591A1 (en) * 2011-12-14 2013-06-20 International Business Machines Corporation Verifying data received out-of-order from a bus
US20130191568A1 (en) 2012-01-23 2013-07-25 Qualcomm Incorporated Operating m-phy based communications over universal serial bus (usb) interface, and related cables, connectors, systems and methods
US8549205B1 (en) * 2012-05-22 2013-10-01 Intel Corporation Providing a consolidated sideband communication channel between devices
US9934043B2 (en) * 2013-08-08 2018-04-03 Linear Algebra Technologies Limited Apparatus, systems, and methods for providing computational imaging pipeline
CN105579952B (zh) 2013-10-23 2019-07-12 英特尔公司 利用伪停顿的高速通道上的emi抑制
US10230665B2 (en) * 2013-12-20 2019-03-12 Intel Corporation Hierarchical/lossless packet preemption to reduce latency jitter in flow-controlled packet-based networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010026448A1 (en) 2008-09-05 2010-03-11 Freescale Semiconductor, Inc. Method and apparatus for transmitting data
US20110138096A1 (en) * 2009-12-04 2011-06-09 St-Ericsson Sa Methods and Systems for Reliable Link Startup
US20130262731A1 (en) * 2012-03-30 2013-10-03 Sridharan Ranganathan Superspeed inter-chip communications

Also Published As

Publication number Publication date
EP3060977A1 (en) 2016-08-31
US20170300434A1 (en) 2017-10-19
EP3060977A4 (en) 2017-07-12
KR20160045860A (ko) 2016-04-27
US10459860B2 (en) 2019-10-29
US9594705B2 (en) 2017-03-14
CN105579952A (zh) 2016-05-11
CN105579952B (zh) 2019-07-12
WO2015060845A1 (en) 2015-04-30
US20150113196A1 (en) 2015-04-23

Similar Documents

Publication Publication Date Title
KR101848379B1 (ko) 공유 메모리 링크 내의 저전력 진입
US10459860B2 (en) EMI mitigation on high-speed lanes using false stall
US10101797B2 (en) Efficient power management of UART interface
EP3037976B1 (en) Enhanced data bus invert encoding for or chained buses
KR101661259B1 (ko) 저전력 부분 폭 고속 링크 상태에서 나갈 때의 고속 디스큐
CN112671676A (zh) 可调节的重定时器缓冲器
US9525626B2 (en) Managing sideband routers in On-Die system fabric
US9952644B2 (en) Device power management state transition latency advertisement for faster boot time
CN103827776B (zh) 通过pci高速组件减少功耗的活动状态功率管理(aspm)
CN112631959A (zh) 用于相干消息的高带宽链路层
WO2010117518A2 (en) Control of on-die system fabric blocks
KR101736460B1 (ko) 크로스-다이 인터페이스 스누프 또는 글로벌 관측 메시지 오더링
US9489333B2 (en) Adaptive termination scheme for low power high speed bus
KR20050080704A (ko) 프로세서간 데이터 전송 장치 및 방법
JP6339331B2 (ja) インタフェースを制御する情報処理装置及びインタフェース制御方法

Legal Events

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