KR102520096B1 - 인코딩된 멀티-레인 n-팩토리얼 및 다른 멀티-와이어 통신 시스템들 - Google Patents
인코딩된 멀티-레인 n-팩토리얼 및 다른 멀티-와이어 통신 시스템들 Download PDFInfo
- Publication number
- KR102520096B1 KR102520096B1 KR1020187009328A KR20187009328A KR102520096B1 KR 102520096 B1 KR102520096 B1 KR 102520096B1 KR 1020187009328 A KR1020187009328 A KR 1020187009328A KR 20187009328 A KR20187009328 A KR 20187009328A KR 102520096 B1 KR102520096 B1 KR 102520096B1
- Authority
- KR
- South Korea
- Prior art keywords
- symbols
- sequence
- clock
- clock signal
- lane
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0008—Synchronisation information channels, e.g. clock distribution lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/14—Channel dividing arrangements, i.e. in which a single bit stream is divided between several baseband channels and reassembled at the receiver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/38—Synchronous or start-stop systems, e.g. for Baudot code
- H04L25/40—Transmitting circuits; Receiving circuits
- H04L25/49—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Power Engineering (AREA)
- Spectroscopy & Molecular Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dc Digital Transmission (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
특히, 전자 장치 내의 2개의 디바이스들 사이에서 멀티-와이어 데이터 통신 링크를 통한 데이터의 통신을 용이하게 하는 시스템, 방법들 및 장치가 설명된다. 수신 디바이스는 멀티-와이어 링크를 통해 심볼들의 시퀀스를 수신한다. 수신 디바이스는 전용 클록 라인을 통해 클록 신호를 추가로 수신하며, 여기서, 전용 클록 라인은 멀티-와이어 링크와는 별개이고 그와 병렬이다. 수신 디바이스는, 클록 신호를 사용하여 심볼들의 시퀀스를 디코딩한다. 일 양상에서, 제2 클록 신호는, 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입된다. 따라서, 수신 디바이스는, 제2 클록 신호를 무시하면서, 전용 클록 라인을 통해 수신된 클록 신호를 사용하여 심볼들의 시퀀스를 디코딩한다.
Description
[0001] 본 출원은, 발명의 명칭이 "Multi-Lane N-Factorial (N!) And Other Multi-Wire Communication Systems"로 2014년 4월 10일자로 출원된 미국 정규 출원 제 14/250,119호의 부분-계속 출원이고; 또한, 발명의 명칭이 "N Factorial Clock And Data Recovery With Negative Hold Time Sampling"으로 2013년 10월 3일자로 출원된 미국 가특허 출원 제 61/886,567호를 우선권으로 주장하는, 발명의 명칭이 "N Factorial Dual Data Rate Clock And Data Recovery"로 2014년 4월 14일자로 출원된 미국 정규 출원 제 14/252,450호의 부분-계속 출원이며; 그리고 추가로, 발명의 명칭이 "Method To Enhance MIPI D-PHY Link Rate With Minimal PHY Changes And No Protocol Changes"로 2013년 10월 3일자로 출원된 미국 가출원 제 61/886,556호를 우선권으로 주장하는, 발명의 명칭이 "Method To Enhance MIPI D-PHY Link Rate With Minimal PHY Changes And No Protocol Changes"로 2014년 9월 19일자로 출원된 미국 정규 출원 제 14/491,884호의 부분-계속 출원인, 2015년 10월 5일자로 미국 특허 및 상표청에 출원된 정규 출원 제 14/875,592호를 우선권으로 그리고 그의 이점을 주장하며, 이들 출원들의 전체 내용들은 인용에 의해 본 명세서에 포함된다.
[0002] 본 개시내용은 일반적으로 데이터 통신 인터페이스들에 관한 것으로, 더 상세하게는 멀티-레인 멀티-와이어 데이터 통신 인터페이스들에 관한 것이다.
[0003] 셀룰러 폰들과 같은 모바일 디바이스들의 제조사들은 상이한 제조사들을 포함하는 다양한 소스들로부터 모바일 디바이스들의 컴포넌트들을 획득할 수 있다. 예컨대, 셀룰러 폰의 애플리케이션 프로세서는 제1 제조사로부터 획득될 수 있는 반면, 셀룰러 폰에 대한 디스플레이는 제2 제조사로부터 획득될 수 있다. 애플리케이션 프로세서 및 디스플레이 또는 다른 디바이스는 표준-기반 또는 독점적인 물리 인터페이스를 사용하여 상호연결될 수 있다. 예컨대, 디스플레이는, MIPI(Mobile Industry Processor Interface Alliance)에 의해 특정된 DSI(Display System Interface) 표준에 따르는 인터페이스를 제공할 수 있다.
[0004] 일 예에서, 멀티-신호 데이터 전달 시스템은, 3-페이즈 또는 N-팩토리얼(factorial)(N!) LVDS(low-voltage differential signaling)와 같은 멀티-와이어 차동 시그널링을 이용할 수 있으며, 모든 각각의 심볼 사이클에서 심볼 트랜지션을 야기함으로써 심볼 클록 정보를 삽입하도록 트랜스코딩(예컨대, 하나의 인코딩 타입의 다른 인코딩 타입으로의 디지털-투-디지털 데이터 변환)이 수행될 수 있다. 트랜스코딩에 의해 클록 정보를 삽입하는 것은, 클록과 데이터 신호들 사이의 스큐(skew)를 최소화시킬 뿐만 아니라 위상-동기 루프(PLL)의 필요성을 제거하여 데이터 신호들로부터 클록 정보를 복원하기 위한 효율적인 방식이다.
[0005] 멀티-신호 통신 링크들을 통한 최적화된 통신들 및 개선된 데이터 전달 레이트들에 대한 진행중인 필요성이 존재한다.
[0006] 본 명세서에 개시된 실시예들은 멀티-레인 멀티-와이어 인터페이스들에 관련된 시스템들, 방법들 및 장치를 제공한다.
[0007] 본 개시내용의 일 양상에서, 수신 디바이스에서의 데이터 통신 방법은 멀티-와이어 링크를 통해 심볼들의 시퀀스를 수신하는 단계를 포함한다. 심볼들의 시퀀스 내의 각각의 심볼은 멀티-와이어 링크의 N개의 와이어들의 시그널링 상태에 대응하며, 여기서, N은 1보다 큰 정수이다. 방법은, 전용 클록 라인을 통해 클록 신호를 수신하는 단계 ― 전용 클록 라인은 멀티-와이어 링크와는 별개이고 그와 병렬임 ―, 및 클록 신호를 사용하여 심볼들의 시퀀스를 디코딩하는 단계를 더 포함한다.
[0008] 본 개시내용의 일 양상에서, 제2 클록 신호는, 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입된다. 따라서, 방법은, 제2 클록 신호를 무시하면서, 전용 클록 라인을 통해 수신된 클록 신호를 사용하여 심볼들의 시퀀스를 디코딩한다.
[0009] 본 개시내용의 일 양상에서, 디코딩하는 단계는, 클록 신호를 사용하여 심볼들의 시퀀스를 데이터 비트들의 세트로 변환하는 단계를 포함한다. 본 개시내용의 추가적인 양상에서, 심볼들의 시퀀스를 데이터 비트들의 세트로 변환하는 단계는, 심볼들의 시퀀스를 트랜지션 넘버들의 세트로 변환하기 위해 트랜스코더를 사용하는 단계, 및 트랜지션 넘버들의 세트를 데이터 비트들의 세트로 변환하는 단계를 포함한다.
[0010] 본 개시내용의 일 양상에서, 멀티-와이어 링크의 적어도 하나의 라인은 양방향이다. 방법은, 전용 클록 라인을 통해 수신된 클록 신호에 기반하여 적어도 하나의 양방향 라인을 통해 심볼들의 제2 시퀀스를 송신하는 단계를 더 포함한다.
[0011] 본 개시내용의 일 양상에서, 전용 클록 라인은 양방향이며, 멀티-와이어 링크를 통해 송신하는 임의의 디바이스로부터 구동될 수 있다. 방법은, 전용 클록 라인을 통해 제3 클록 신호를 송신하는 단계를 더 포함한다. 제3 클록 신호는, 적어도 하나의 양방향 라인을 통해 송신된 심볼들의 시퀀스로 데이터 비트들을 인코딩하기 위해 사용되는 송신 클록과 연관될 수 있다.
[0012] 본 개시내용의 일 양상에서, 수신 디바이스는 프로세싱 회로를 포함한다. 메모리는 프로세싱 회로에 커플링될 수 있다. 프로세싱 회로는, 멀티-와이어 링크를 통해 심볼들의 시퀀스를 수신하고, 전용 클록 라인을 통해 클록 신호를 수신하며 ― 전용 클록 라인은 멀티-와이어 링크와는 별개이고 그와 병렬임 ―, 그리고 클록 신호를 사용하여 심볼들의 시퀀스를 디코딩하도록 구성된다.
[0013] 본 개시내용의 일 양상에서, 장치는, 멀티-와이어 링크를 통해 심볼들의 시퀀스를 수신하기 위한 수단, 전용 클록 라인을 통해 클록 신호를 수신하기 위한 수단 ― 전용 클록 라인은 멀티-와이어 링크와는 별개이고 그와 병렬임 ―, 및 클록 신호를 사용하여 심볼들의 시퀀스를 디코딩하기 위한 수단을 포함한다.
[0014] 본 개시내용의 일 양상에서, 프로세서-판독가능 저장 매체에는 하나 또는 그 초과의 명령들이 저장 또는 보유된다. 적어도 하나의 프로세싱 회로에 의해 실행될 경우, 명령들은 적어도 하나의 프로세싱 회로로 하여금, 멀티-와이어 링크를 통해 심볼들의 시퀀스를 수신하게 하고, 전용 클록 라인을 통해 클록 신호를 수신하게 하며 ― 전용 클록 라인은 멀티-와이어 링크와는 별개이고 그와 병렬임 ―, 그리고 클록 신호를 사용하여 심볼들의 시퀀스를 디코딩하게 할 수 있다.
[0015] 본 개시내용의 일 양상에서, 송신 디바이스에서의 데이터 통신 방법은, 심볼들의 시퀀스로 데이터 비트들을 인코딩하는 단계, 심볼들의 시퀀스에 제2 클록 신호를 선택적으로 삽입하는 단계를 포함하며, 제2 클록 신호는 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입된다. 심볼들의 시퀀스 내의 각각의 심볼은 멀티-와이어 링크의 N개의 와이어들의 시그널링 상태에 대응하며, 여기서, N은 1보다 큰 정수이다. 방법은, 멀티-와이어 링크를 통해 심볼들의 시퀀스를 송신하는 단계, 및 전용 클록 라인을 통해 심볼들의 시퀀스와 연관된 클록 신호를 송신하는 단계를 더 포함하며, 여기서, 전용 클록 라인은 멀티-와이어 링크와는 별개이고 그와 병렬이다.
[0016] 본 개시내용의 일 양상에서, 데이터 비트들을 인코딩하는 단계는, 데이터 비트들을 트랜지션 넘버들의 세트로 변환하기 위해 트랜스코더를 사용하는 단계, 및 심볼들의 시퀀스를 획득하기 위해 트랜지션 넘버들의 세트를 변환하는 단계를 포함한다.
[0017] 본 개시내용의 일 양상에서, 멀티-와이어 링크의 적어도 하나의 라인은 양방향이다. 방법은, 전용 클록 라인을 통해 송신된 클록 신호에 기반하여 적어도 하나의 양방향 라인을 통해 심볼들의 제2 시퀀스를 수신하는 단계를 더 포함한다.
[0018] 본 개시내용의 일 양상에서, 전용 클록 라인은 양방향이며, 멀티-와이어 링크를 통해 송신하는 임의의 디바이스로부터 구동될 수 있다. 방법은, 전용 클록 라인을 통해 제3 클록 신호를 수신하는 단계를 더 포함한다. 제3 클록 신호는, 적어도 하나의 양방향 라인을 통해 수신된 심볼들의 시퀀스로 데이터 비트들을 인코딩하기 위해 사용되는 송신 클록과 연관될 수 있다.
[0019] 본 개시내용의 일 양상에서, 송신 디바이스는 프로세싱 회로를 포함한다. 프로세싱 회로는 메모리에 커플링될 수 있다. 프로세싱 회로는, 심볼들의 시퀀스로 데이터 비트들을 인코딩하고, 심볼들의 시퀀스에 제2 클록 신호를 선택적으로 삽입하고 ― 제2 클록 신호는 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입됨 ―, 멀티-와이어 링크를 통해 심볼들의 시퀀스를 송신하며, 그리고 전용 클록 라인을 통해 심볼들의 시퀀스와 연관된 클록 신호를 송신하도록 구성되고, 여기서, 전용 클록 라인은 멀티-와이어 링크와는 별개이고 그와 병렬이다.
[0020] 본 개시내용의 일 양상에서, 장치는, 클록 신호를 사용하여 심볼들의 시퀀스로 데이터 비트들을 인코딩하기 위한 수단, 심볼들의 시퀀스에 제2 클록 신호를 선택적으로 삽입하기 위한 수단 ― 제2 클록 신호는 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입됨 ―, 멀티-와이어 링크를 통해 심볼들의 시퀀스를 송신하기 위한 수단, 및 그리고 전용 클록 라인을 통해 심볼들의 시퀀스와 연관된 클록 신호를 송신하기 위한 수단을 포함하며, 여기서, 전용 클록 라인은 멀티-와이어 링크와는 별개이고 그와 병렬이다.
[0021] 본 개시내용의 일 양상에서, 프로세서-판독가능 저장 매체에는 하나 또는 그 초과의 명령들이 저장 또는 보유된다. 적어도 하나의 프로세싱 회로에 의해 실행될 경우, 명령들은 적어도 하나의 프로세싱 회로로 하여금, 심볼들의 시퀀스로 데이터 비트들을 인코딩하게 하고, 심볼들의 시퀀스에 제2 클록 신호를 선택적으로 삽입하게 하고 ― 제2 클록 신호는 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입됨 ―, 멀티-와이어 링크를 통해 심볼들의 시퀀스를 송신하게 하며, 그리고 전용 클록 라인을 통해 심볼들의 시퀀스와 연관된 클록 신호를 송신하게 할 수 있고, 여기서, 전용 클록 라인은 멀티-와이어 링크와는 별개이고 그와 병렬이다.
[0022] 도 1은 복수의 이용가능한 표준들 중 하나에 따라 선택적으로 동작하는 집적 회로(IC) 디바이스들 사이의 데이터 링크를 이용하는 장치를 도시한다.
[0023] 도 2는 IC 디바이스들 사이의 데이터 링크를 이용하는 장치에 대한 시스템 아키텍처를 예시한다.
[0024] 도 3은 N! 통신 인터페이스에서 사용될 수 있는 CDR 회로를 예시한다.
[0025] 도 4는 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따른, 도 3의 CDR 회로에 의해 생성되는 특정한 신호들의 타이밍을 예시한다.
[0026] 도 5는 기본적인 N! 멀티-레인 인터페이스의 일 예를 예시한다.
[0027] 도 6은 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 인터페이스의 제1 예를 예시한다.
[0028] 도 7은 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 인터페이스의 제2 예를 예시한다.
[0029] 도 8은 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 인터페이스의 제3 예를 예시한다.
[0030] 도 9는 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 인터페이스의 제4 예를 예시한다.
[0031] 도 10은 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 인터페이스 상에서 송신되는 데이터의 순서화를 예시한 타이밍 다이어그램이다.
[0032] 도 11은 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 인터페이스의 제5 예를 예시한다.
[0033] 도 12는 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 N-와이어 인터페이스에서 수신기를 동작시키기 위한 방법의 흐름도이다.
[0034] 도 13은 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 N-와이어 인터페이스에서의 수신기의 간략화된 예를 예시한 다이어그램이다.
[0035] 도 14는 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 N-와이어 인터페이스에서 송신기를 동작시키기 위한 방법의 흐름도이다.
[0036] 도 15는 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 N-와이어 인터페이스에서의 송신기의 간략화된 예를 예시한 다이어그램이다.
[0037] 도 16은 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 2개의 디바이스들 사이에서 제공되는 멀티-레인 인터페이스의 추가적인 예를 예시한 다이어그램이다.
[0038] 도 17은 전용 클록 라인을 사용하여 다수의 데이터 레인들 상에서 심볼들을 송신하는 예들을 예시한다.
[0039] 도 18은 전용 클록 라인을 사용하는 멀티-와이어 트랜스코딩의 예들을 예시한다.
[0040] 도 19는 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 멀티-와이어 링크를 통해 데이터 비트들을 통신하는 것에 관련된 동작들을 지원하도록 구성되는 장치(수신 디바이스)의 예시이다.
[0041] 도 20은 멀티-와이어 링크를 통해 데이터 비트들을 통신하기 위한 수신 디바이스의 방법을 예시한 흐름도이다.
[0042] 도 21은 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 멀티-와이어 링크를 통해 데이터 비트들을 통신하는 것에 관련된 동작들을 지원하도록 구성되는 장치(송신 디바이스)의 예시이다.
[0043] 도 22는 멀티-와이어 링크를 통해 데이터 비트들을 통신하기 위한 송신 디바이스의 방법을 예시한 흐름도이다.
[0023] 도 2는 IC 디바이스들 사이의 데이터 링크를 이용하는 장치에 대한 시스템 아키텍처를 예시한다.
[0024] 도 3은 N! 통신 인터페이스에서 사용될 수 있는 CDR 회로를 예시한다.
[0025] 도 4는 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따른, 도 3의 CDR 회로에 의해 생성되는 특정한 신호들의 타이밍을 예시한다.
[0026] 도 5는 기본적인 N! 멀티-레인 인터페이스의 일 예를 예시한다.
[0027] 도 6은 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 인터페이스의 제1 예를 예시한다.
[0028] 도 7은 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 인터페이스의 제2 예를 예시한다.
[0029] 도 8은 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 인터페이스의 제3 예를 예시한다.
[0030] 도 9는 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 인터페이스의 제4 예를 예시한다.
[0031] 도 10은 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 인터페이스 상에서 송신되는 데이터의 순서화를 예시한 타이밍 다이어그램이다.
[0032] 도 11은 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 인터페이스의 제5 예를 예시한다.
[0033] 도 12는 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 N-와이어 인터페이스에서 수신기를 동작시키기 위한 방법의 흐름도이다.
[0034] 도 13은 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 N-와이어 인터페이스에서의 수신기의 간략화된 예를 예시한 다이어그램이다.
[0035] 도 14는 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 N-와이어 인터페이스에서 송신기를 동작시키기 위한 방법의 흐름도이다.
[0036] 도 15는 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 N-와이어 인터페이스에서의 송신기의 간략화된 예를 예시한 다이어그램이다.
[0037] 도 16은 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 2개의 디바이스들 사이에서 제공되는 멀티-레인 인터페이스의 추가적인 예를 예시한 다이어그램이다.
[0038] 도 17은 전용 클록 라인을 사용하여 다수의 데이터 레인들 상에서 심볼들을 송신하는 예들을 예시한다.
[0039] 도 18은 전용 클록 라인을 사용하는 멀티-와이어 트랜스코딩의 예들을 예시한다.
[0040] 도 19는 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 멀티-와이어 링크를 통해 데이터 비트들을 통신하는 것에 관련된 동작들을 지원하도록 구성되는 장치(수신 디바이스)의 예시이다.
[0041] 도 20은 멀티-와이어 링크를 통해 데이터 비트들을 통신하기 위한 수신 디바이스의 방법을 예시한 흐름도이다.
[0042] 도 21은 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 멀티-와이어 링크를 통해 데이터 비트들을 통신하는 것에 관련된 동작들을 지원하도록 구성되는 장치(송신 디바이스)의 예시이다.
[0043] 도 22는 멀티-와이어 링크를 통해 데이터 비트들을 통신하기 위한 송신 디바이스의 방법을 예시한 흐름도이다.
[0044] 이제, 다양한 양상들이 도면들을 참조하여 설명된다. 다음의 설명에서, 설명의 목적들을 위해, 다수의 특정한 세부사항들은, 하나 또는 그 초과의 양상들의 완전한 이해를 제공하기 위해 기재된다. 그러나, 그러한 양상(들)이 이들 특정한 세부사항들 없이도 실시될 수 있다는 것은 명백할 수 있다.
[0045] 본 출원에서 사용된 바와 같이, 용어들 "컴포넌트", "모듈", "시스템" 등은 하드웨어, 펌웨어, 하드웨어와 소프트웨어의 결합, 소프트웨어, 또는 실행중의 소프트웨어와 같지만 이에 제한되지는 않는 컴퓨터-관련 엔티티를 포함하도록 의도된다. 예컨대, 컴포넌트는 프로세서 상에서 구동하는 프로세스, 프로세서, 오브젝트, 실행파일(executable), 실행 스레드, 프로그램 및/또는 컴퓨터일 수 있지만, 이에 제한되지는 않는다. 예시로서, 컴퓨팅 디바이스 상에서 구동하는 애플리케이션 및 컴퓨팅 디바이스 둘 모두는 컴포넌트일 수 있다. 하나 또는 그 초과의 컴포넌트들은 프로세스 및/또는 실행 스레드 내에 상주할 수 있으며, 컴포넌트는 하나의 컴퓨터 상에서 로컬화될 수 있고 그리고/또는 2개 또는 그 초과의 컴퓨터들 사이에서 분산될 수 있다. 부가적으로, 이들 컴포넌트들은 다양한 데이터 구조들이 저장된 다양한 컴퓨터 판독가능 매체들로부터 실행할 수 있다. 컴포넌트들은, 이를테면, 하나 또는 그 초과의 데이터 패킷들을 갖는 신호, 이를테면, 로컬 시스템에서, 분산 시스템에서 그리고/또는 신호에 의한 다른 시스템들과의 네트워크, 이를테면, 인터넷을 통해 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터의 데이터에 따라 로컬 및/또는 원격 프로세스들에 의해 통신할 수 있다.
[0046] 또한, 용어 "또는"은 배타적인 "또는" 보다는 포괄적인 "또는"을 의미하도록 의도된다. 즉, 달리 명시되거나 문맥상 명확하지 않으면, 어구 "X는 A 또는 B를 이용한다"는 본래의 포괄적인 치환들 중 임의의 치환을 의미하도록 의도된다. 즉, 어구 "X는 A 또는 B를 이용한다"는 다음의 예시들, 즉, X는 A를 이용한다; X는 B를 이용한다; 또는 X는 A 및 B 둘 모두를 이용한다 중 임의의 예시에 의해 충족된다. 부가적으로, 본 출원 및 첨부된 청구항들에서 사용된 바와 같은 단수 표현들은 달리 명시되지 않거나 단수 형태로 지시되는 것으로 문맥상 명확하지 않으면, "하나 또는 그 초과"를 의미하도록 일반적으로 해석되어야 한다.
[0047] 본 발명의 특정한 양상들은 장치의 서브컴포넌트들, 이를테면 텔레폰, 모바일 컴퓨팅 디바이스, 기기, 자동차 전자기기들, 항공전자 시스템들 등을 포함할 수 있는 전자 디바이스들 사이에 배치된 통신 링크들에 적용가능할 수 있다. 도 1은 IC 디바이스들 사이의 통신 링크를 이용할 수 있는 장치를 도시한다. 일 예에서, 장치(100)는, 라디오 액세스 네트워크(RAN), 코어 액세스 네트워크, 인터넷 및/또는 다른 네트워크를 이용하여 라디오 주파수(RF) 트랜시버를 통해 통신하는 무선 통신 디바이스를 포함할 수 있다. 장치(100)는, 프로세싱 회로(102)와 동작가능하게 커플링된 통신 트랜시버(106)를 포함할 수 있다. 프로세싱 회로(102)는, 주문형 집적 회로(ASIC)(108)와 같은 하나 또는 그 초과의 IC 디바이스들을 포함할 수 있다. ASIC(108)는 하나 또는 그 초과의 프로세싱 디바이스들, 로직 회로들 등을 포함할 수 있다. 프로세싱 회로(102)는, 프로세싱 회로(102)에 의해 실행될 수 있는 명령들 및 데이터를 보유할 수 있는 메모리(112)와 같은 프로세서 판독가능 저장소를 포함하고 그리고/또는 그에 커플링될 수 있다. 프로세싱 회로(102)는, 무선 디바이스의 메모리 디바이스(112)와 같은 저장 매체들에 상주하는 소프트웨어 모듈들의 실행을 지원 및 가능하게 하는 애플리케이션 프로그래밍 인터페이스(API)(110) 계층 및 운영 시스템 중 하나 또는 그 초과에 의해 제어될 수 있다. 메모리 디바이스(112)는 판독 전용 메모리(ROM) 또는 랜덤 액세스 메모리(RAM), 전기적으로 소거가능한 프로그래밍가능 ROM(EEPROM), 플래시 카드들, 또는 프로세싱 시스템들 및 컴퓨팅 플랫폼들에서 사용될 수 있는 임의의 메모리 디바이스를 포함할 수 있다. 프로세싱 회로(102)는, 장치(100)를 구성 및 동작시키기 위해 사용되는 동작 파라미터들 및 다른 정보를 보유할 수 있는 로컬 데이터베이스(114)를 포함하거나 그에 액세스할 수 있다. 로컬 데이터베이스(114)는, 데이터베이스 모듈, 플래시 메모리, 자기 매체들, EEPROM, 광학 매체들, 테이프, 소프트 또는 하드 디스크 등 중 하나 또는 그 초과를 사용하여 구현될 수 있다. 프로세싱 회로는 또한, 외부 디바이스들, 이를테면 다른 컴포넌트들 중에서도 안테나(122), 디스플레이(124), 오퍼레이터 제어들, 이를테면 버튼(128) 및 키패드(126)에 동작가능하게 커플링될 수 있다.
[0048] 도 2는 통신 버스에 연결된 장치(200)의 특정한 양상들을 예시한 블록 개략도이며, 여기서, 장치(200)는 무선 모바일 디바이스, 모바일 텔레폰, 모바일 컴퓨팅 시스템, 무선 텔레폰, 노트북 컴퓨터, 태블릿 컴퓨팅 디바이스, 미디어 플레이어, 게이밍 디바이스 등 중 하나 또는 그 초과에 삽입될 수 있다. 장치(200)는, 통신 링크(220)를 통해 데이터 및 제어 정보를 교환하는 복수의 IC 디바이스들(202 및 230)을 포함할 수 있다. 통신 링크(220)는, 서로 근접하게 로케이팅되거나 또는 장치(200)의 상이한 부분들에 물리적으로 로케이팅된 IC 디바이스들(202 및 230)을 연결하기 위해 사용될 수 있다. 일 예에서, 통신 링크(220)는, IC 디바이스들(202 및 230)을 보유하는 칩 캐리어, 기판 또는 회로 보드 상에서 제공될 수 있다. 다른 예에서, 제1 IC 디바이스(202)는 플립-폰(flip-phone)의 키패드 섹션에 로케이팅될 수 있는 반면, 제2 IC 디바이스(230)는 플립-폰의 디스플레이 섹션에 로케이팅될 수 있다. 다른 예에서, 통신 링크(220)의 일부는 케이블 또는 광 연결을 포함할 수 있다.
[0049] 통신 링크(220)는 다수의 채널들(222, 224 및 226)을 포함할 수 있다. 하나 또는 그 초과의 채널들(226)은 양방향일 수 있으며, 하프-듀플렉스 및/또는 풀-듀플렉스 모드들로 동작할 수 있다. 하나 또는 그 초과의 채널들(222 및 224)은 단일지향성일 수 있다. 통신 링크(220)는 비대칭이어서, 하나의 방향으로 더 높은 대역폭을 제공할 수 있다. 본 명세서에 설명된 일 예에서, 제1 통신 채널(222)은 순방향 링크(222)로 지칭될 수 있는 반면, 제2 통신 채널(224)은 역방향 링크(224)로 지칭될 수 있다. IC 디바이스들(202 및 230) 둘 모두가 통신 링크(222) 상에서 송신 및 수신하도록 구성되더라도, 제1 IC 디바이스(202)는 호스트 시스템 또는 송신기로 지정될 수 있는 반면, 제2 IC 디바이스(230)는 클라이언트 시스템 또는 수신기로 지정될 수 있다. 일 예에서, 순방향 링크(222)는, 제1 IC 디바이스(202)로부터 제2 IC 디바이스(230)로 데이터를 통신하는 경우 더 높은 데이터 레이트로 동작할 수 있는 반면, 역방향 링크(224)는, 제2 IC 디바이스(230)로부터 제1 IC 디바이스(202)로 데이터를 통신하는 경우 더 낮은 데이터 레이트로 동작할 수 있다.
[0050] IC 디바이스들(202 및 230) 각각은 프로세서 또는 다른 프로세싱 및/또는 컴퓨팅 회로 또는 디바이스(206, 236)를 가질 수 있다. 일 예에서, 제1 IC 디바이스(202)는, 무선 트랜시버(204) 및 안테나(214)를 통한 무선 통신들을 유지하는 것을 포함하는 장치(200)의 코어 기능들을 수행할 수 있는 반면, 제2 IC 디바이스(230)는 디스플레이 제어기(232)를 관리하거나 또는 동작시키는 사용자 인터페이스를 지원할 수 있다. 제1 IC 디바이스(202) 또는 제2 IC 디바이스(230)는 카메라 제어기(234)를 사용하여 카메라 또는 비디오 입력 디바이스의 동작들을 제어할 수 있다. IC 디바이스들(202 및 230) 중 하나 또는 그 초과에 의해 지원되는 다른 특성들은 키보드, 음성-인식 컴포넌트, 및 다른 입력 또는 출력 디바이스들을 포함할 수 있다. 디스플레이 제어기(232)는, 액정 디스플레이(LCD) 패널, 터치-스크린 디스플레이, 표시자들 등과 같은 디스플레이들을 지원하는 회로들 및 소프트웨어 드라이버들을 포함할 수 있다. 저장 매체들(208 및 238)은, IC 디바이스들(202 및 230)의 각각의 프로세서들(206 및 236) 및/또는 다른 컴포넌트들에 의해 사용되는 명령들 및 데이터를 보유하도록 적응된 일시적인 및/또는 비-일시적인 저장 디바이스들을 포함할 수 있다. 각각의 프로세서(206, 236) 및 그의 대응하는 저장 매체들(208 및 238) 및 다른 모듈들 및 회로들 사이의 통신은 각각, 하나 또는 그 초과의 버스(212 및 242)에 의해 용이하게 될 수 있다.
[0051] 역방향 링크(224)는 순방향 링크(222)와 동일한 방식으로 동작될 수 있고, 순방향 링크(222) 및 역방향 링크(224)는 비슷한 속도들 또는 상이한 속도들로 송신하는 것이 가능할 수 있으며, 여기서, 속도는 데이터 전달 레이트 및/또는 클록킹(clocking) 레이트들로 표현될 수 있다. 순방향 및 역방향 데이터 레이트들은 애플리케이션에 의존하여, 실질적으로 동일하거나 수십배만큼 상이할 수 있다. 몇몇 애플리케이션들에서, 단일 양방향 링크(226)는 제1 IC 디바이스(202)와 제2 IC 디바이스(230) 사이의 통신들을 지원할 수 있다. 순방향 링크(222) 및/또는 역방향 링크(224)는, 예컨대, 순방향 및 역방향 링크들(222 및 224)이 동일한 물리 연결들을 공유하고 하프-듀플렉스 방식으로 동작하는 경우 양방향 모드로 동작하도록 구성가능할 수 있다. 일 예에서, 통신 링크(220)는 산업 또는 다른 표준에 따라 제1 IC 디바이스(202)와 제2 IC 디바이스(230) 사이에서 제어, 커맨드 및 다른 정보를 통신하도록 동작될 수 있다.
[0052] 일 예에서, 순방향 및 역방향 링크들(222 및 224)은 프레임 버퍼 없이 제2 LCD 드라이버 IC 당 WVGA(wide video graphics array) 80 프레임들을 지원하여, 디스플레이 리프레쉬를 위해 810Mbps로 픽셀 데이터를 전달하도록 구성 또는 적응될 수 있다. 다른 예에서, 순방향 및 역방향 링크들(222 및 224)은, 더블 데이터 레이트 동기식 동적 랜덤 액세스 메모리(SDRAM)와 같은 동적 랜덤 액세스 메모리(DRAM)와의 통신들을 가능하게 하도록 구성 또는 적응될 수 있다. 인코딩 디바이스들(210 및/또는 240)은 클록 트랜지션마다 다수의 비트들을 인코딩할 수 있으며, 와이어들의 다수의 세트들은 SDRAM으로부터의 데이터, 제어 신호들, 어드레스 신호들 등을 송신 및 수신하기 위해 사용될 수 있다.
[0053] 순방향 및 역방향 링크들(222 및 224)은 애플리케이션-특정 산업 표준들을 따르거나 그와 호환가능할 수 있다. 일 예에서, MIPI 표준은, 모바일 디바이스에서 카메라 또는 디스플레이를 지원하는, 애플리케이션 프로세서 IC 디바이스(202)와 IC 디바이스(230) 사이의 물리 계층 인터페이스들을 정의한다. MIPI 표준은, 모바일 디바이스들에 대한 MIPI 규격들을 따르는 제품들의 동작 특징들을 관리하는 규격들을 포함한다. MIPI 표준은, 상보성 금속-산화물-반도체(CMOS) 병렬 버스들을 이용하는 인터페이스들을 정의할 수 있다.
[0054] 일 예에서, 도 2의 통신 링크(220)는 복수의 신호 와이어들(N개의 와이어들로 표기됨)을 포함하는 와이어링 버스로서 구현될 수 있다. N개의 와이어들은 심볼들로 인코딩된 데이터를 반송하도록 구성될 수 있으며, 여기서, 클록 정보는 복수의 와이어들을 통해 송신된 심볼들의 시퀀스에 삽입된다.
[0055] 도 3은 N-와이어 시스템에서 삽입된 클록 정보를 복원하기 위해 이용될 수 있는 클록 및 데이터 복원(CDR) 회로(300)의 일 예를 예시한다. 도 4는 CDR 회로(300)의 동작을 통해 생성된 특정한 신호들을 예시한 타이밍 다이어그램(400)이다. CDR 회로(300) 및 그의 타이밍 다이어그램(400)은 일반화된 예로서 제공되지만, CDR 회로(300)의 다른 변형들 및/또는 다른 CDR 회로들이 몇몇 예시들에서 사용될 수 있다. N-와이어들(308)로부터 수신된 신호들은 초기에 다수(NC2)의 수신기들(302)에 의해 프로세싱되며, 그 수신기들은 대응하는 수의 원시(raw) 신호들을 출력들로서 생성한다. 예시된 예에서, N = 4개의 와이어들(308)은, 수신된 심볼들을 표현하는 6개의 원시 신호들을 포함하는 제1 상태의 트랜지션 신호(SI 신호)(320)를 생성하는 4C2 = 6개의 수신기들(302)에 의해 프로세싱된다. 각각의 상이한 수신기로부터의 각각의 원시 신호 출력에 대해, 심볼들 S0(402), S1(404) 및 S2(406) 사이에서 제공된 셋업 시간(408)이 존재할 수 있으며, 그 시간 동안, 대응하는 신호의 상태는 정의되지 않거나, 결정되지 않거나, 일시적이거나 또는 그렇지 않으면 불안정하다. 레벨 래치(latch)들(310), 비교기(304), 셋-리셋(set-reset) 래치(306), 원-샷(one-shot) 회로(326), 아날로그 지연 엘리먼트(312) 및 (버스된) 레벨 래치들(310)은 SI 신호(320)의 지연된 인스턴스를 표현하는 레벨-래치된 신호(S 신호)(322)를 생성하도록 구성될 수 있으며, 여기서, SI 신호(320)가 레벨 래치들(310)에 의해 캡처되어 업데이트된 S 신호(322)를 제공하기 전의 지연은 지연 엘리먼트(지연 S)(312)를 구성함으로써 선택될 수 있다.
[0056] 동작에서, 비교기(304)는, SI 신호(320)를 S 신호(322)와 비교하고, 이진 비교 신호(NE 신호)(314)를 출력한다. 셋-리셋 래치(306)는, 비교기(304)로부터 NE 신호(314)를 수신하며, NE 신호(314)의 필터링된 버전인 신호(NEFLT 신호)(316)를 출력할 수 있다. 셋-리셋 래치(306)의 동작은 NE 신호(314)에서 임의의 일시적인 불안정성을 제거하도록 구성될 수 있으며, 여기서, 일시적인 불안정성은 NE 신호(314)에서 스파이크들(410)로서 나타낸다. NEFLT 신호(316)는, S 신호(322)를 출력 데이터 신호(328)로서 캡처하는 출력 래치들(324)을 제어하기 위해 사용될 수 있다.
[0057] 원-샷 회로(326)는 NEFLT 신호(316)를 수신하고 고정 폭 펄스(412)를 생성하며, 그 후, 그 펄스는 지연 엘리먼트(312)에 의해 지연되어 클록 신호(SDRCLK)(318)를 생성할 수 있다. 몇몇 예시들에서, SDRCLK 신호(318)는 CDR(300)의 데이터 출력(328)을 샘플링하도록 외부 회로에 의해 사용될 수 있다. 일 예에서, SDRCLK 신호(318)는 디코더 또는 역직렬화기 회로들로 제공될 수 있다. 레벨 래치들(310)은 SI 신호(320)를 수신하여 S 신호(322)를 출력하며, 여기서, 레벨 래치들(310)은 SDRCLK 신호(318)에 의해 트리거링되거나 그렇지 않으면 제어된다.
[0058] 동작에서, 비교기(304)는, 레벨 래치들(310)로부터 출력된 S 신호(322)와 SI 신호(320)를 비교한다. 비교기(304)는, SI 신호(320) 및 S 신호(322)가 동일할 경우 NE 신호(314)를 제1 상태(예컨대, 로직 로우)로 되게 하고, SI 신호(320) 및 S 신호(322)가 동일하지 않을 경우 제2 상태(예컨대, 로직 하이)로 되게 한다. NE 신호(314)는, SI 신호(320) 및 S 신호(322)가 상이한 심볼들을 표현하는 경우 제2 상태에 있다. 따라서, 제2 상태는 트랜지션이 발생하고 있다는 것을 표시한다.
[0059] 타이밍 다이어그램(400)으로부터 인식될 수 있는 바와 같이, S 신호(322)는 본질적으로 SI 신호(320)의 지연되고 필터링된 버전이며, 여기서, SI 신호(320)와 S 신호(322) 사이의 지연(414) 때문에, 트랜션트(transient)들 또는 글리치(glitch)들(408)이 제거된다. SI 신호(320)의 다수의 트랜지션들(408)은 NE 신호(314)에서 스파이크들(410)로서 반영될 수 있지만, 이들 스파이크들(410)은 셋-리셋 회로의 동작을 통해 NEFLT 신호(316)로부터 마스킹된다. 또한, SDRCLK(318)는, 레벨-래치(310) 및 셋-리셋 래치(306)로의 피드백 경로에서 제공된 지연들(326a, 312)의 사용에 기반하여, 심볼 트랜지션들의 라인 스큐 및 글리치들에 내성이 있으며, 그에 의해, SDRCLK 신호(318)는 셋-리셋 래치(306)의 리셋 기능을 제어한다.
[0060] 제1 심볼값 S0(402)와 다음의 심볼값 S1(404) 사이의 트랜지션의 시작(416)에서, SI 신호(320)는 상태를 변화시키는 것을 시작한다. SI 신호(320)의 상태는, S0(402)와 S1(404) 사이의 트랜지션 동안 중간 또는 결정되지 않은 상태들(408)의 가능성으로 인해 S1(404)와는 상이할 수 있다. 이들 중간 또는 결정되지 않은 상태들(408)은, 예컨대, 와이어간 스큐, 오버/언더 슈트(shoot), 누화 등에 의해 야기될 수 있다.
[0061] NE 신호(314)는, 비교기(304)가 SI 신호(320)와 S 신호(322) 사이의 값들의 차이를 검출하자마자 하이가 되며, NE 신호(314)의 트랜지션 하이는 셋-리셋 래치(306) 출력을 비동기식으로 셋팅하여, NEFLT 신호(316)를 하이가 되게 한다. NEFLT 신호(316)는, 셋-리셋 래치(306)가 SDRCLK 신호(318)의 하이 상태에 의해 리셋될 때까지 자신의 하이 상태로 유지된다. SDRCLK 신호(318)는, NEFLT 신호(316)의 제한된 펄스-폭 버전인 NE1SHOT 신호(324)의 지연된 버전이다. 예컨대, SDRCLK 신호(318)는 아날로그 지연 회로(312)의 사용을 통하여 NE1SHOT 신호(324)에 대해 지연될 수 있다.
[0062] SI(320)에 대한 중간 또는 결정되지 않은 상태들(408)은 유효하지 않은 데이터를 표현할 수 있다. 이들 중간 또는 결정되지 않은 상태들(408)은 이전의 심볼값 S0(402)의 짧은 기간을 포함할 수 있고, NE 신호(314)로 하여금 짧은 시간 기간들 동안 로우로 리턴하게 할 수 있다. SI 신호(320)의 트랜지션들은 NE 신호(314) 상에서 스파이크들(410)을 생성할 수 있다. 스파이크들(410)은 효율적으로 필터링 아웃되며, NEFLT 신호(316)에서 나타나지 않는다.
[0063] NEFLT 신호(316)의 하이 상태는 SDRCLK 신호(318)로 하여금, 지연 회로(312)에 의해 야기된 지연 기간(340) 이후 하이로 트랜지션하게 한다. SDRCLK 신호(318)의 하이 상태는 셋-리셋 래치(306) 출력을 리셋하여, NEFLT 신호(316)로 하여금 로우 상태로 트랜지션하게 한다. SDRCLK 신호(318)의 하이 상태는 또한, 레벨 래치들(310)을 인에이블링시키며, SI 신호(320) 값은 S 신호(322) 상에서 출력될 수 있다.
[0064] 비교기(304)는, (심볼 S1(402)에 대한) S 신호(322)가 SI 신호(320) 상에 존재하는 심볼 S1(402) 값과 매칭한다는 것을 검출하고, 자신의 출력(NE 신호(314))을 로우로 스위칭한다. NEFLT 신호(316)의 로우 상태는 SDRCLK 신호(318)로 하여금, 아날로그 지연(312)에 의해 야기된 지연 기간(342) 이후 로우로 진행하게 한다. 이러한 사이클은 SI 신호(320)의 각각의 트랜지션에 대해 반복된다. SDRCLK 신호(318)의 하강 에지 이후의 시간에서, 새로운 심볼 S2(406)가 수신될 수 있으며, SI 신호(320)로 하여금 다음의 심볼 S2(406)에 따라 자신의 값을 스위칭하게 할 수 있다.
[0065] 도 5는 2개의 디바이스들(502 및 532) 사이에서 제공되는 멀티-레인 인터페이스(500)의 일 예를 예시한 다이어그램이다. 송신기(502)에서, 트랜스코더들(506, 516)은 각각의 레인(512, 522) 상의 N개의 와이어들의 세트를 통해 송신될 심볼들로 데이터(504, 514) 및 클록 정보를, 예컨대 N-팩토리얼(N!) 인코딩을 사용하여 인코딩하기 위해 사용될 수 있다. 클록 정보는, 각각의 송신 클록들(524, 526)로부터 도출되며, 시그널링 상태 트랜지션이 연속적인 심볼들 사이의 NC2개의 신호들 중 적어도 하나 상에서 발생한다는 것을 보장함으로써, N개의 와이어들을 통해 NC2개의 차동 신호들에서 송신된 심볼들의 시퀀스로 인코딩될 수 있다. N! 인코딩이 N개의 와이어들을 구동하기 위해 사용되는 경우, 심볼의 각각의 비트는 일 세트의 라인 드라이버들(510, 520) 중 하나에 의해 차동 신호로서 송신되며, 여기서, 그 세트의 라인 드라이버들(510, 520) 내의 차동 드라이버들은 N개의 와이어들의 상이한 쌍들에 커플링된다. 와이어 쌍들 및 신호들의 이용가능한 결합들의 수는 NC2이도록 계산될 수 있으며, 이용가능한 결합들의 수는 N개의 와이어들을 통해 송신될 수 있는 신호들의 수를 결정한다. 심볼로 인코딩될 수 있는 데이터 비트들(504, 514)의 수는, 각각의 심볼 송신 간격 동안 이용가능한, 이용가능한 시그널링 상태들의 수에 기반하여 계산될 수 있다.
[0066] 종단 임피던스(통상적으로는 저항성)는 종단 네트워크(528, 530)의 공통 중심 포인트에 N개의 와이어들 각각을 커플링시킨다. N개의 와이어들의 시그널링 상태들이 각각의 와이어에 커플링된 차동 드라이버들(510, 520)에 기인하는 종단 네트워크(528, 530)의 전류들의 결합을 반영한다는 것이 인식될 것이다. 종단 네트워크(528, 530)의 중심 포인트가 널(null) 포인트이며, 그에 의해, 종단 네트워크(528, 530)의 전류들이 중심 포인트에서 서로를 상쇄시킨다는 것이 추가로 인식될 것이다.
[0067] 링크 내의 NC2개의 신호들 중 적어도 하나가 연속적인 심볼들 사이에서 트랜지션하기 때문에, N! 인코딩 방식은 별개의 클록 채널 및/또는 비-리턴-투-제로 디코딩을 사용할 필요가 없다. 효율적으로, 각각의 트랜스코더(506, 516)는, 각각의 심볼이 자신의 직전의 전임 심볼과는 상이한 심볼들의 시퀀스를 생성함으로써, N개의 와이어들 상에서 송신된 심볼들의 각각의 쌍 사이에서 트랜지션이 발생한다는 것을 보장한다. 도 5에 도시된 예에서, 각각의 레인(512, 522)은 N = 4개의 와이어들을 갖고, 4개의 와이어들의 각각의 세트는 4C2 = 6개의 차동 신호들을 반송할 수 있다. 트랜스코더(506, 516)는, 레인(512, 522) 상에서 이용가능한 N개의 와이어들 상에서의 송신을 위한 원시 심볼들을 생성하도록 맵핑 방식을 이용할 수 있다. 트랜스코더(506, 516) 및 직렬화기(508, 518)는 입력 데이터 비트들(504, 514)에 기반하여 송신을 위한 원시 심볼들을 생성하도록 협업한다. 수신기(532)에서, 트랜스코더(540, 550)는, 예컨대, 연속적인 원시 심볼들의 쌍, 즉 룩업 테이블 내의 심볼들 사이의 차이를 특성화하는 트랜지션 넘버를 결정하기 위해 맵핑을 이용할 수 있다. 트랜스코더들(506, 516, 540, 550)은, 원시 심볼들의 모든 각각의 연속적인 쌍이 2개의 상이한 심볼들을 포함한다는 것을 기반으로 동작한다.
[0068] 송신기(502)의 트랜스코더(506, 516)는 모든 각각의 심볼 트랜지션에서 이용가능한 N!-1개의 상태들 사이에서 선택할 수 있다. 일 예에서, 4! 시스템은, 각각의 심볼 트랜지션에서 송신될 다음의 심볼에 대한 4!-1 = 23개의 시그널링 상태들을 제공한다. 비트 레이트는 송신 클록(524, 526)의 사이클마다 log2(available_states)로서 계산될 수 있다. 더블 데이터 레이트(DDR) 클록킹을 사용하는 시스템에서, 송신 클록(524, 526)의 상승 에지 및 하강 에지 둘 모두에서 심볼 트랜지션들이 발생한다. 일 예에서, 2개 또는 그 초과의 심볼들이 워드마다(즉, 송신 클록 사이클마다) 송신될 수 있어서, 송신 클록 사이클의 총 이용가능한 상태들은 (NC2-1)2 = (23)2 = 529 이고, 심볼 당 송신될 수 있는 데이터 비트들(504)의 수는 log2(529) = 9.047비트들로서 계산될 수 있다.
[0069] 수신 디바이스(532)는 라인 수신기들의 세트(534, 544)를 사용하여 심볼들의 시퀀스를 수신하며, 여기서, 라인 수신기들의 세트(534, 544) 내의 각각의 수신기는 N개의 와이어들의 하나의 쌍에 대한 시그널링 상태들의 차이들을 결정한다. 따라서, NC2개의 수신기들이 각각의 레인(512, 522)에서 사용되며, 여기서, N은 대응하는 레인(512, 522)의 와이어들의 수를 표현한다. NC2개의 수신기들(534, 544)은 대응하는 수의 원시 심볼들을 출력들로서 생성한다.
[0070] 도시된 예에서, 각각의 레인(512, 522)은 N = 4개의 와이어들을 가지며, 각각의 레인(512, 522)의 4개의 와이어들 상에서 수신된 신호들은, 대응하는 CDR(536, 546) 및 역직렬화기(538, 548)에 제공되는 상태 트랜지션 신호를 생성하기 위해 6개의 수신기들(4C2 = 6)을 포함하는 라인 수신기들의 대응하는 세트(534 또는 544)에 의해 프로세싱된다. CDR들(536 및 546)은 도 3의 CDR(300)과 일반적으로 동일한 방식으로 동작할 수 있으며, 각각의 CDR(536 및 546)은 대응하는 역직렬화기(538, 548)에 의해 사용될 수 있는 수신 클록 신호(554, 556)를 생성할 수 있다. 클록 신호(554)는, 트랜스코더들(540, 550)에 의해 제공되는 데이터를 수신하도록 외부 회로에 의해 사용될 수 있는 DDR 클록 신호를 포함할 수 있다. 각각의 트랜스코더(540, 550)는, 각각의 다음의 심볼을 그의 직전의 전임과 비교함으로써, 대응하는 역직렬화기(538, 548)로부터의 수신된 심볼들의 블록을 디코딩한다. 트랜스코더들(540, 550)은 송신기(502)에 제공되는 데이터(504, 514)에 대응하는 출력 데이터(542 및 552)를 생성한다.
[0071] 도 5의 예에서 예시된 바와 같이, 각각의 레인(512, 522)은 독립적으로 동작될 수 있지만, 통상적인 애플리케이션에서, 하나의 레인(512)을 통해 송신된 데이터(504)는 다른 레인(522)을 통해 송신된 데이터(514)와 동기화될 수 있다. 일 예에서, 제1 레인(이러한 예에서는 레인 X)(512)을 통한 송신을 위한 데이터 비트들(504)은, 미리 결정된 시퀀스로 송신되는 경우, 시그널링 상태의 트랜지션이 제1 레인(512)의 4개의 와이어들 상에서 송신되는 적어도 하나의 신호에서 발생한다는 것을 보장하는 원시 심볼들의 세트를 생성하는 제1 트랜스코더(506)에 의해 수신된다. 직렬화기(508)는, 각각의 심볼 간격 동안 제1 레인(512)의 4개의 와이어들의 시그널링 상태를 결정하는 라인 드라이버들(510)에 제공되는 심볼값들의 시퀀스를 생성한다. 동시에, 데이터 비트들(514)은 제2 레인(이러한 예에서는 레인 Y)(522)의 제2 트랜스코더(516)에 의해 수신된다. 제2 트랜스코더(516)는 직렬화기(518)에 의해 직렬화된 트랜지션 넘버들의 세트를 생성하며, 직렬화기(518)는, 각각의 심볼 간격 동안 제2 레인(522)의 4개의 와이어들의 시그널링 상태를 결정하는 라인 드라이버들(520)에 제공되는 심볼값들의 시퀀스로 트랜지션 넘버들의 세트를 변환한다. 원시 심볼들의 시퀀스는, 시그널링 상태의 트랜지션이 연속적인 심볼들의 각각의 쌍 사이에서 제2 레인(522)의 4개의 와이어들 상에서 송신되는 적어도 하나의 신호에서 발생한다는 것을 보장한다.
[0072] 도 6은 본 명세서에 개시된 특정한 양상들에 따라 제공되는 멀티-레인 인터페이스(600)의 제1 예를 예시한다. 멀티-레인 인터페이스(600)는, 제1 레인(여기서는 레인 X)(612) 상에서 송신된 심볼들로 인코딩된 클록 정보가 레인 Y(622)를 포함하는 하나 또는 그 초과의 다른 레인들 상에서, 인코딩된 클록 정보 없이 송신되는 심볼들을 수신하기 위해 사용되는 경우, 개선된 데이터 스루풋 및 감소된 회로 복잡도를 제공한다. 도시된 예에서, 각각의 레인(612, 622)은 4개의 와이어들을 포함한다.
[0073] 송신을 위한 데이터는 2개의 부분들(604 및 614)로 분할될 수 있으며, 여기서, 각각의 부분은 상이한 레인(612, 622) 상에서 송신된다. 제1 레인(612) 상에서, 데이터(604) 및 송신 클록(624)에 관련된 정보는, 도 5와 관련하여 설명된 바와 같이 직렬화되는 원시 심볼들을 획득하기 위해 트랜스코더/직렬화기(608)를 사용하여 인코딩될 수 있다. 수신기(632)에서, 제1 레인(612)과 연관된 수신기들(634)의 출력이 CDR(636)에 제공된다. CDR(636)은, 레인들(612, 622) 둘 모두에 대해 역직렬화 및 트랜스코딩 회로들(638 및 648) 둘 모두에 의하여 사용되는 수신 클록(654)을 생성하기 위해 시그널링 상태의 트랜지션들을 검출하도록 구성될 수 있다. 제1 역직렬화 및 트랜스코딩 회로들(638)은 제1 레인(612)으로부터 수신된 원시 심볼들로부터 데이터(642)를 추출하는 반면, 제2 역직렬화 및 트랜스코딩 회로들(648)은 제2 레인(622)으로부터 수신된 원시 심볼들로부터 데이터(652)를 추출한다.
[0074] 제2 레인(622)에 대해, 송신 데이터(614)는 트랜스코딩 및 직렬화 회로들(618)로 제공되고, 인코딩된 클록 정보 없이 제2 레인(622) 상에서 송신될 수 있다. 제2 레인(622)에 대한 원시 심볼들을 생성하기 위해 사용되는 트랜스코딩 회로는, 제1 레인(612) 상에서의 송신을 위한 삽입된 클록 정보를 갖는 원시 심볼들을 생성하기 위해 사용되는 트랜스코딩 회로보다 상당히 덜 복잡할 수 있다. 예컨대, 제2 레인(622)에 대한 트랜스코딩 회로들은, 모든 각각의 심볼 경계에서의 상태 트랜지션을 보장하기 위해 특정한 산술 연산들 및 로직 기능들을 수행할 필요가 없을 수 있다.
[0075] 도 6에 도시된 예에서, DDR 클록된 4-와이어의 제1 레인(612)은 (4!-1)2 = (23)2 = 529개의 시그널링 상태들을 제공하고, 수신된 워드(604, 614) 당 데이터의 log2 529 = 9.047 비트들을 인코딩할 수 있는 반면, DDR 클록된 4-와이어의 제2 레인(622)은 (4!)2 = (24)2 = 576개의 시그널링 상태들을 제공하고, 워드 당 데이터의 log2 576 = 9.170 비트들을 인코딩할 수 있다. 다른 예에서, 인터페이스는 2개의 3-와이어 레인들을 가질 수 있으며, 여기서, 클록 정보는 제2 레인이 아니라 제1 레인에서 인코딩된다. 이러한 후자의 예에서, 7개의 심볼들이 워드 당 송신될 수 있으며, 3-와이어의 제1 레인은 (3!-1)7 = (5)7 = 78125개의 시그널링 상태들을 제공하고, 워드 당 데이터의 log2 78125 = 16.253 비트들을 인코딩할 수 있는 반면, 3-와이어의 제2 레인은 (3!)7 = 67 = 279936개의 시그널링 상태들을 제공하고, 각각의 클록 사이클에서 데이터의 log2 279936 = 18.095비트들을 인코딩할 수 있다. 멀티-레인 N!의 단일 레인에서 클록 정보를 인코딩함으로써, 더 높은 전체 스루풋이 더 적은 하드웨어로 달성될 수 있다.
[0076] 도 7은 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 인터페이스(700)의 다른 예를 예시한다. 멀티-레인 인터페이스(700)는, 최적화된 데이터 스루풋 및 감소된 회로 복잡도에 부가하여 설계의 개선된 유연성을 제공한다. 여기서, 하나의 레인(여기에서는 레인 X)(712) 상에서 송신된 심볼들로 인코딩된 클록 정보는, 상이한 수들의 와이어들을 갖는 하나 또는 그 초과의 다른 레인들(722) 상에서 송신된 심볼들을 수신하기 위해 사용될 수 있다.
[0077] 도시된 예에서, 송신을 위한 데이터는 복수의 부분들(704 및 714)로 분할될 수 있으며, 여기서, 각각의 부분은 상이한 레인(712, 722) 상에서 송신될 것이다. 제1 레인(712) 상에서, 데이터(704) 및 송신 클록(724)은, 도 5 및 도 6과 관련하여 설명된 바와 같이 원시 심볼들의 시퀀스를 획득하도록 트랜스코딩 및 직렬화 회로들(708)에 의해 변환될 수 있다. 제2 레인(722) 상에서, 수신된 데이터(714)는 트랜스코딩 및 직렬화 회로들(718)로 제공되고, 그 후, 삽입된 클록 정보 없이 송신될 수 있다.
[0078] 수신기(732)에서, 제1 레인(712)과 연관된 수신기들(734)의 출력이 CDR(736)에 제공된다. CDR(736)은, 제1 레인(712)에서 3개의 와이어들의 시그널링 상태의 트랜지션을 검출하고, 그리고 레인들(712, 722) 둘 모두에 대해 역직렬화 및 트랜스코딩 회로들(738 및 748) 둘 모두에 의하여 사용되는 수신 클록(754)을 생성하도록 구성될 수 있다. 제1 역직렬화 및 트랜스코딩 회로들(738)은 제1 레인(712)으로부터 수신된 원시 심볼들로부터 데이터(742)를 추출하는 반면, 제2 역직렬화 및 트랜스코딩 회로들(748)은 제2 레인(722)으로부터 수신된 원시 심볼들로부터 데이터(752)를 추출한다.
[0079] 예에서, 제1 레인(712)은 3! 동작을 위해 구성된 3개의 와이어들을 포함하는 반면, 제2 레인(722)은 4! 동작을 위해 구성된 4개의 와이어들을 포함한다. 제1 레인(712)은 워드 시스템마다 2심볼에 대해 (3!-1)2 = (5)2 = 25개의 시그널링 상태들을 제공할 수 있으며, 그에 의해, 데이터의 log2 25 = 4.644비트들이 워드마다 인코딩될 수 있다. 4-와이어의 제2 레인(722)은 (4!)2 = (24)2 = 576개의 시그널링 상태들을 제공하며, 워드 당 데이터의 log2 576 = 9.170비트들을 인코딩할 수 있다.
[0080] 단일 레인(712)이 클록 정보를 인코딩하고 가변 수들의 와이어들이 다른 레인들(722)에 할당될 수 있는 경우, 상당한 효율들이 획득될 수 있다. 10개의 상호연결들(와이어들 또는 커넥터들)이 2개의 디바이스들 사이에서 이용가능한 일 예에서, 종래의 3! 시스템은 3개의 3-와이어 레인들을 구성할 수 있으며, 클록 정보는 각각의 레인 상에서 인코딩된다. 3개의 레인들 각각은 심볼 당 총 15개의 상태들에 대해 심볼 당 5개의 시그널링 상태들을 제공한다. 그러나, 본 명세서에 설명된 특정한 양상들에 따라 제공되는 시스템은 2개의 3! 레인들 및 하나의 4! 레인을 제공하기 위해 10개의 상호연결들을 사용할 수 있으며, 여기서, 클록 정보는 제1의 3! 레인에서 인코딩된다. 레인들의 이러한 결합은, 제1의 3! 레인이 심볼 당 5개의 상태들 더하기 클록 정보를 제공하고, 제2의 3! 레인이 심볼 당 6개의 상태들을 제공하며, 4! 레인이 심볼 당 24개의 상태들을 제공하는 것에 기반하여, 심볼 당 총 5×6×24 = 720개의 시그널링 상태들을 제공한다.
[0081] 도 8은 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 인터페이스(800)의 다른 예를 예시한다. 멀티-레인 인터페이스(800)는, 더 높은 송신 레이트들을 허용할 수 있는 개선된 디코딩 신뢰성을 포함하는 다양한 이점들을 제공한다. 이러한 예의 멀티-레인 인터페이스(800)의 구성 및 동작은, CDR(836)이 제1 레인(812) 또는 제2 레인(822) 중 어느 하나 상에서 검출되는 트랜지션들로부터 수신 클록(854)을 생성하도록 구성된다는 점을 제외하고, 도 6의 멀티-레인 인터페이스(600)의 구성 및 동작과 유사하다. 따라서, CDR(836)은 수신기들(834 및 844)의 출력들을 수신한다. 수신 클록(854)의 심볼 경계와 에지 사이의 지연의 변동들은, CDR(836)이 어느 하나의 레인(812 또는 822) 상의 제1 검출된 트랜지션으로부터 클록을 생성하기 때문에 감소될 수 있다. 이러한 접근법은 와이어들에 대한 가변 트랜지션 시간들 및/또는 라인 드라이버들(810, 820) 또는 수신기들(834, 844)의 가변 스위칭 시간들의 영향을 감소시킬 수 있다.
[0082] 동작에서, 송신을 위한 데이터가 2개 또는 그 초과의 부분들(804 및 814)에서 수신될 수 있으며, 여기서, 부분들(804, 814)은 상이한 레인들(812, 822) 상에서의 송신을 위한 것이다. 트랜스코더 및 직렬화기 회로들(808)의 결합은 도 5와 관련하여 설명된 바와 같이, 데이터 비트들 X(804)를 인코딩하고, 제1 레인(812) 상에서 송신될 심볼들의 시퀀스에 송신 클록(824)에 관련된 정보를 삽입할 수 있다. 수신기(832)에서, 수신기들(834 및 844)의 세트들 둘 모두의 출력들은, 어느 하나의 레인(812, 822) 상에서 시그널링 상태의 트랜지션을 검출하고, 트랜지션에 기반하여 수신 클록(854)을 생성하도록 구성되는 CDR(836)에 제공된다. 수신 클록(854)은, 각각의 제1 및 제2 레인 데이터 출력들(842 및 852)을 생성하는 역직렬화/트랜스코딩 회로들(838 및 848) 둘 모두에 의해 사용된다.
[0083] 도 9는 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 인터페이스(900)의 다른 예를 예시한다. 이러한 예에서, 멀티-레인 인터페이스(900)는, 연속적인 심볼 간격들 사이의 시그널링 상태의 트랜지션이 복수의 레인들(912, 922) 중 임의의 하나 상에서 발생한다는 것을 보장함으로써, 개선된 데이터 스루풋 및 인코딩 효율을 제공한다. 따라서, 클록 정보를 인코딩하는 것과 연관된 퍼센티지 오버헤드는, 클록 정보가 단일 레인 상에서 송신된 심볼들의 시퀀스들에 삽입되는 시스템에 비해 감소될 수 있다. 멀티-레인 인터페이스(900)에서, 제1 레인(여기에서는 레인 X)(912)은 3!개의 인코딩된 신호들을 반송하는 3개의 와이어들을 포함하는 반면, 제2 레인(여기에서는 레인 Y)(922)은 4개의 와이어들을 포함하고, 4! 인코딩을 위해 구성된다. 레인들의 상이한 수들 및 구성들이 이용될 수 있으며, 도 9에 도시된 특정한 예는 단지 예시의 목적들을 위해서만 제공된다. 트랜스코더(906)는, 2개 또는 그 초과의 레인들(912 및/또는 922)을 통해 송신될 심볼들에서 데이터(904)와 클록 정보를 결합하도록 적응될 수 있다.
[0084] 인코딩 효율들은, 모든 레인들(912, 922)에 대한 이용가능한 시그널링 상태들의 결합에 기반하여 클록 정보를 삽입함으로써 달성될 수 있다. 클록 정보는, 시그널링 상태의 트랜지션이 연속적인 심볼 간격들 사이의 적어도 하나의 레인(912, 922) 상에서 발생한다는 것을 보장함으로써 삽입된다. 동작에서, 트랜스코더(906)는 각각의 레인(912, 922)에 대해 심볼들의 상이한 세트들을 생성하도록 구성될 수 있다. 일 예에서, 클록 신호(924)에 따라 송신기(902)에 의해 수신된 데이터(904)는, 3!의 제1 레인(912) 상에서 송신된 3개의 신호들로 인코딩된 심볼들의 제1 시퀀스 및 4!의 제2 레인(922) 상에서 동시에 송신된 6개의 신호들로 인코딩된 심볼들의 제2 시퀀스로서 송신될 수 있다. 트랜스코더(906)는, 시그널링 상태 트랜지션이 연속적인 심볼들 사이의 레인들(912 및 922) 중 적어도 하나 상에서 발생한다는 것을 보장함으로써 클록 정보를 삽입한다. 심볼 간격 당 상태들의 총 수는, 제1 레인(912) 상에서 송신된 심볼 당 상태들의 수와 제2 레인(922) 상에서 송신된 심볼 당 상태들의 수의 곱이다. 따라서, 클록 정보가 레인들(912, 922) 둘 모두에 걸쳐 삽입되는 경우, 각각의 심볼 간격에서 트랜스코더에 이용가능한 상태들의 수는 다음과 같이 계산될 수 있다:
다른 예에서, 클록 정보가 3!을 사용하여 3개의 신호들로 인코딩된 2개의 레인들에 걸쳐 삽입되는 경우, 각각의 심볼 간격에서 트랜스코더에 이용가능한 상태들의 수는 다음과 같이 계산될 수 있다:
[0085] 각각의 심볼 트랜지션에서 트랜스코더에 이용가능한 상태들의 수는 각각의 수신 데이터 사이클에서 송신될 수 있는 비트들의 수를 관리한다.
[0086] 표 1 및 표 2는, 클록 정보가 2개 또는 그 초과의 N! 레인들에 걸쳐 트랜스코더에 의해 삽입되는 경우의 증가된 코딩 효율들을 예시한다. 표 1은 도 9의 멀티-레인 인터페이스(900)에 관련된다. 표로부터 알 수 있는 바와 같이, 트랜스코더(906)가 레인들(912, 922) 둘 모두 상에서 송신된 심볼들의 시퀀스들을 고려함으로써 클록 정보를 삽입하는 경우 최대 인코딩 효율이 획득된다.
표 2는 2개의 3! 레인들을 갖는 멀티-레인 인터페이스의 일 예에 관련된다.
[0087] 도 9의 예에서, 수신기(932)는, 레인들(912, 922) 둘 모두 상에서 트랜지션들을 검출함으로써 수신 클록(954)을 생성하는 CDR(936)을 포함한다. 역직렬화기들(938, 948)은, 송신기의 트랜스코더(906)에 의해 수행된 트랜스코딩을 반전시키는 트랜스코더(940)에, 각각의 레인들(912, 922)로부터 수신된 심볼들을 제공한다. 수신기(932)의 트랜스코더(940)는, 송신기(902)에서 수신된 데이터(904)에 대응하는 출력 데이터(942)를 생성하도록 수신 심볼들의 결합된 시퀀스들을 조사함으로써 동작한다. 라인 드라이버들(910, 920) 및 수신기들(934, 944)의 세트들은 N! 레인들(912, 922)의 와이어들의 수에 따라 제공될 수 있다.
[0088] 멀티-레인 인터페이스(900)는 종래의 인터페이스들에 비해 부가적인 장점들을 제공하도록 구성될 수 있다. 도 10은, 트랜스코더(1024)가 수신기로의 데이터의 전달 순서를 제어하기 위해 사용될 수 있는 일 예를 예시한다. 도 5의 멀티-레인 인터페이스(500)와 같은 하나의 멀티-레인 인터페이스(1000)는, 대응하는 수의 레인들을 통한 송신을 위해 데이터 비트들(1002, 1004)의 2개 또는 그 초과의 세트들을 심볼들의 시퀀스들(1006, 1008)로 독립적으로 인코딩할 수 있다. 데이터는, 데이터 비트들(1002, 1004)의 세트들로 사전-분할된 멀티-레인 인터페이스(1000)에 제공될 수 있고, 그리고/또는 데이터 비트들(1002, 1004)의 세트들은 멀티-레인 인터페이스(1000)에 의해 분할될 수 있다. 데이터 비트들은, 데이터 비트들(1002, 1004)의 2개 또는 그 초과의 세트들 사이에서 임의로, 함수에 따라, 설계 선호도에 따라 또는 편의상 그리고/또는 다른 이유들에 따라 할당될 수 있다.
[0089] 예시된 멀티-레인 인터페이스(1000)에서, 제1 클록 사이클에서 수신된 각각의 워드, 바이트 또는 다른 데이터 엘리먼트는, 2개의 레인들 중 하나 상에서 심볼 간격들(1012a-1012g)의 쌍으로 순차적으로 송신되는 2개 또는 그 초과의 심볼들로 인코딩될 수 있다. 수신기는, 2개 또는 그 초과의 심볼들이 심볼 간격들(1012a-1012g)의 쌍으로부터 수신되는 경우 데이터 엘리먼트를 디코딩할 수 있다.
[0090] 도 9의 멀티-레인 인터페이스(900)와 같은 멀티-레인 인터페이스(1020)는, 2개 또는 그 초과의 레인들을 통해 동시에 송신된 심볼들의 복수의 시퀀스들(1026, 1028)로 데이터(1022) 및 클록 정보를 인코딩하는 트랜스코더(1024)를 포함할 수 있다. 트랜스코더(1024)는, 2개의 레인들 상에서의 송신을 위해 심볼들을 동시에 송신함으로써 수신기로의 데이터의 전달 순서를 제어할 수 있다. 일 예에서, 제1 클록 사이클(비트들(0))에서 수신된 데이터 비트들(1022)은 2개의 심볼들로 트랜스코딩되고, 제1 심볼 간격(1030) 동안 2개의 레인들 상에서 병렬로 송신될 수 있다. 제2 클록 사이클(비트들(1))에서 수신된 데이터 비트들(1022)은 제2 심볼 간격(1032) 동안 2개의 레인들 상에서 병렬로 2개의 심볼들로서 송신될 수 있다. 2개의 병렬 데이터 레인들 상에서의 데이터의 송신은, 카메라의 셔터 및/또는 플래시 제어, 게임 애플리케이션들과 연관된 제어 신호들과 같은 타이밍-민감 애플리케이션들에 대해 특정한 이점들을 제공할 수 있다.
[0091] 도 11은 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 인터페이스(1100)의 다른 예를 예시한다. 이러한 예에서, 멀티-레인 인터페이스(1100)는 적어도 하나의 N! 인코딩된 레인(1112) 및 시리얼 데이터 링크(1122)를 포함한다. 시리얼 데이터 링크(1122)는 (예시된 바와 같은) 싱글 엔디드(single ended) 시리얼 링크 또는 차동적으로 인코딩된 시리얼 데이터 링크일 수 있다. 시리얼 데이터 링크(1122)는, 집적 회로간(I2C) 버스, 카메라 제어 인터페이스(CCI) 시리얼 버스 또는 이들 시리얼 버스 기술들의 파생물들과 같은 시리얼 버스를 포함할 수 있다. 도시된 예에서, 클록 신호(1124)는 N! 링크의 직렬화기(1108) 및 시리얼 링크(1122)의 직렬화기(1118)에 의해 사용되며, 클록 신호(1124)는 별개의 클록 신호 레인을 통해 수신기(1132)로 송신될 필요가 없다. 대신, 트랜스코더(1106)는, N! 레인(1112)의 차동 라인 드라이버들로 직렬화기를 통해 제공되는 심볼들의 시퀀스에 클록 정보를 삽입한다.
[0092] 수신기(1132)에서, CDR(1136)은 수신기들(1134)의 출력들에서 검출된 트랜지션들로부터 수신기 클록 신호(1154)를 생성한다. 수신기 클록 신호(1154)는, N! 레인 역직렬화기(1138) 및 시리얼 링크 역직렬화기(1148)에 의해 사용된다. 몇몇 예시들에서, CDR(1136)은, 심볼 간격들 사이의 트랜지션의 검출을 개선시키기 위해 시리얼 링크(1122)와 연관된 라인 수신기들(1144)의 출력을 모니터링할 수 있다. N! 레인 역직렬화기(1138)는, N! 인코딩된 레인(1112)을 통해 송신된 입력 데이터(1104)를 표현하는 출력 데이터(1142)를 생성하는 트랜스코더(1140)에 역직렬화된 심볼 정보를 제공한다.
[0093] 일 예에서, 송신기(1102)는 3! 인코딩된 제1 레인(1112) 상에서 3개의 신호들로 심볼들을 송신한다. 심볼들은 삽입된 클록 정보를 포함하며, 심볼 당 5개의 시그널링 상태들이 제1 레인(1112) 상에서 이용가능하다. 송신기는 또한, 시리얼 링크(1122)의 와이어들 상에서 송신된 4개의 시리얼 신호들을 사용하여 제2 레인 상에서 데이터를 전송할 수 있다. 수신기(1132)는 제1 레인(1112) 상에서 송신된 심볼들로부터 클록 신호(1154)를 생성할 수 있으며, 여기서, 클록은 레인들(1112, 1122) 둘 모두 상에서 송신된 데이터를 디코딩/역직렬화하기 위해 사용된다. 따라서, 시리얼 링크(1122)는, CDR(1136)에 의해 제공된 클록(1154)이 제2 레인의 시리얼 링크(1122)에 대하여 역직렬화기(1148)에 의해 사용되는 경우 심볼 당 24 = 16개의 상태들을 제공한다. 심볼 당 5×16 = 80개의 상태들의 총계는, CDR(1136)에 의해 제공된 클록(1154)이 사용되는 경우 달성된다.
[0094] 비교로서, 종래의 또는 전통적인 4-와이어 시리얼 링크(1122)는 클록 신호를 반송하기 위해 4개의 와이어들 중 하나를 전용할 수 있고, 데이터 송신은 4개의 와이어들 중 다른 3개 상의 3개의 신호들로 제한될 수 있다. 이러한 후자의 구성에서, 심볼 당 23 = 8개의 시그널링 상태들이 시리얼 링크(1122) 상에서 제공될 수 있으며, 데이터가 3! 인코딩된 제1 레인(1112)에서 또한 송신되는 경우 심볼 당 5×8 = 40개의 시그널링 상태들의 총계가 초래된다.
[0095] 도 12는 N-와이어 통신 링크 상에서의 데이터 통신들을 위한 방법을 예시한 흐름도(1200)이다. 통신 링크는, N! 인코딩, 멀티페이즈 인코딩, 멀티-와이어 차동 인코딩 등과 같은 적합한 인코딩 방식을 사용하여 인코딩된 심볼들을 반송하는 복수의 커넥터들을 포함할 수 있다. 커넥터들은 전기적으로 도전성인 와이어들, 광 신호 컨덕터들, 반도전성 상호연결부들 등을 포함할 수 있다. 방법은 수신 디바이스의 하나 또는 그 초과의 프로세서들에 의해 수행될 수 있다.
[0096] 단계(1202)에서, 심볼들의 제1 시퀀스가 멀티-레인 인터페이스의 제1 레인으로부터 수신된다. 심볼들의 시퀀스 내의 각각의 심볼은 제1 레인의 N개의 와이어들의 시그널링 상태에 대응할 수 있다.
[0097] 단계(1204)에서, 클록 신호가 멀티-레인 인터페이스로부터 복원 또는 추출된다. 클록 신호는, 심볼들의 제1 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 N개의 와이어들의 시그널링 상태의 복수의 트랜지션들에 대응하는 에지들을 포함할 수 있다.
[0098] 단계(1206)에서, 심볼들의 제1 시퀀스는 클록 신호를 사용하여 데이터 비트들의 제1 세트로 변환된다. 심볼들의 제1 시퀀스는, 심볼들의 제1 시퀀스를 트랜지션 넘버들의 세트로 변환하기 위해 트랜스코더를 사용하고, 그리고 데이터 비트들의 제1 세트를 획득하기 위해 트랜지션 넘버들의 세트를 데이터 비트들의 세트로 변환함으로써 데이터 비트들의 제1 세트로 변환될 수 있다.
[0099] 단계(1208)에서, 데이터 비트들의 제2 세트는 클록 신호를 사용하여 멀티-레인 인터페이스의 제2 레인으로부터 수신된 하나 또는 그 초과의 신호들로부터 도출된다. 데이터 비트들의 제2 세트는 트랜스코더를 사용하지 않으면서 도출될 수 있다.
[00100] 본 명세서에 개시된 특정한 양상들에 따르면, 심볼들의 제1 시퀀스는 N개의 와이어들의 NC2개의 상이한 쌍들로부터 수신된 NC2개의 차동 신호들로 인코딩될 수 있다. 제2 레인은 M개의 와이어들을 포함할 수 있으며, 여기서, 심볼들의 제2 시퀀스는 M개의 와이어들의 MC2개의 상이한 쌍들로부터 수신된 MC2개의 차동 신호들로 인코딩된다. M 및 N은 동일하거나 상이한 값들을 가질 수 있다.
[00101] 본 명세서에 개시된 특정한 양상들에 따르면, 데이터 비트들의 제2 세트를 도출하는 것은, 시리얼 인터페이스의 M개의 와이어들 각각으로부터 시리얼 신호들을 수신하는 것, 및 클록 신호에 따라 시리얼 신호들을 샘플링함으로써 데이터 비트들의 제2 세트를 추출하는 것을 포함한다. 데이터 비트들의 제2 세트를 도출하는 것은, 시리얼 인터페이스의 M개의 와이어들로부터 M/2개의 차동 신호들을 수신하는 것, 및 클록 신호에 따라 M/2개의 차동 신호들을 샘플링함으로써 데이터 비트들의 제2 세트를 추출하는 것을 포함할 수 있다.
[00102] 본 명세서에 개시된 특정한 양상들에 따르면, 클록 신호는, N개의 와이어들의 시그널링 상태 또는 제2 레인의 하나 또는 그 초과의 와이어들의 시그널링 상태에서 검출된 트랜지션에 대응하는 클록 신호의 트랜지션을 제공함으로써 복원 또는 추출될 수 있다. 클록 신호는, 멀티-레인 인터페이스의 제2 레인의 적어도 하나의 와이어의 시그널링 상태의 하나 또는 그 초과의 트랜지션들에 대응하는 에지들을 포함할 수 있다.
[00103] 본 명세서에 개시된 특정한 양상들에 따르면, 심볼들의 제1 시퀀스는 NC2개의 차동 신호들로 인코딩된다. NC2개의 차동 신호들 각각은 N개의 와이어들의 상이한 쌍으로부터 수신될 수 있다. 심볼들의 제2 시퀀스는 제2 레인의 M개의 와이어들로부터 수신된 MC2개의 차동 신호들로 인코딩될 수 있다. MC2개의 차동 신호들 각각은 M개의 와이어들의 상이한 쌍으로부터 수신될 수 있다. 심볼들의 제1 시퀀스는 트랜스코더 회로를 사용하여 데이터 비트들의 제1 세트로 변환될 수 있다. 심볼들의 제2 시퀀스는 동일한 트랜스코더 회로를 사용하여 데이터 비트들의 제2 세트로 변환될 수 있다.
[00104] 본 명세서에 개시된 특정한 양상들에 따르면, N개의 와이어들 및 M개의 와이어들 중 하나 또는 그 초과의 시그널링 상태의 트랜지션은, 심볼들의 제1 시퀀스 내의 심볼들의 각각의 순차적인 쌍 사이에서 발생한다. 심볼들의 제1 시퀀스의 각각은 상이한 심볼 간격으로 송신될 수 있다. 각각의 심볼 간격에서 수신된 데이터 비트들의 제1 세트 및 데이터 비트들의 제2 세트는 각각의 심볼 간격으로부터 완성된 데이터 엘리먼트를 획득하도록 결합될 수 있다.
[00105] 도 13은 프로세싱 회로(1302)를 이용하는 장치(1300)에 대한 하드웨어 구현의 간략화된 예를 예시한 다이어그램이다. 프로세싱 회로는 통상적으로, 마이크로프로세서, 마이크로제어기, 디지털 신호 프로세서, 시퀀서 및 상태 머신 중 하나 또는 그 초과를 포함할 수 있는 프로세서(1316)를 갖는다. 프로세싱 회로(1302)는 버스(1320)에 의해 일반적으로 표현된 버스 아키텍처를 이용하여 구현될 수 있다. 버스(1320)는, 프로세싱 회로(1302)의 특정한 애플리케이션 및 전체 설계 제약들에 의존하여 임의의 수의 상호연결 버스들 및 브리지들을 포함할 수 있다. 버스(1320)는, 프로세서(1316)에 의해 표현되는 하나 또는 그 초과의 프로세서들 및/또는 하드웨어 모듈들, 모듈들 및/또는 회로들(1304, 1306 및 1308), 커넥터들 또는 와이어들(멀티-레인 인터페이스)(1314)을 통해 통신하도록 구성가능한 라인 인터페이스 회로들(1312) 및 프로세서-판독가능/컴퓨터-판독가능 저장 매체(1318)를 포함하는 다양한 회로들을 함께 링크시킨다. 버스(1320)는 또한, 당업계에 잘 알려져 있고, 따라서 더 추가적으로 설명되지 않을 타이밍 소스들, 주변기기들, 전압 조정기들, 및 전력 관리 회로들과 같은 다양한 다른 회로들을 링크시킬 수 있다.
[00106] 프로세서(1316)는, 컴퓨터-판독가능 저장 매체(1318) 상에 저장된 소프트웨어의 실행을 포함하는 일반적인 프로세싱을 담당한다. 소프트웨어는 프로세서(1316)에 의해 실행될 경우, 프로세싱 회로(1302)로 하여금 임의의 특정한 장치에 대해 위에서 설명된 다양한 기능들을 수행하게 한다. 컴퓨터-판독가능 저장 매체(1318)는 또한, 소프트웨어를 실행할 경우, 커넥터들(1314)을 통해 송신된 심볼들로부터 디코딩된 데이터를 포함하여, 프로세서(1316)에 의해 조작되는 데이터를 저장하기 위해 사용될 수 있다. 프로세싱 회로(1302)는, 모듈들 및/또는 회로들(1304, 1306 및 1308) 중 적어도 하나를 더 포함한다. 모듈들 및/또는 회로들(1304, 1306 및 1308)은, 컴퓨터-판독가능 저장 매체(1318)에 상주/저장되어 프로세서(1316)에서 구동되는 소프트웨어 모듈들, 프로세서(1316)에 커플링된 하나 또는 그 초과의 하드웨어 모듈들, 또는 이들의 몇몇 결합일 수 있다. 모듈들 및/또는 회로들(1304, 1306 및/또는 1308)은 마이크로제어기 명령들, 상태 머신 구성 파라미터들, 또는 이들의 몇몇 결합을 포함할 수 있다.
[00107] 일 구성에서, 무선 통신을 위한 장치(1300)는, 멀티-레인 인터페이스(1314)의 제1 레인으로부터 심볼들의 제1 시퀀스를 수신하도록 구성된 모듈들 및/또는 회로들(1306, 1312), 멀티-레인 인터페이스(1314)로부터 클록 신호를 복원하도록 구성된 모듈 및/또는 회로(1306) ― 클록 신호는, 심볼들의 제1 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 N개의 와이어들의 시그널링 상태의 복수의 트랜지션들에 대응하는 에지들을 포함함 ―, 클록 신호를 사용하여 데이터 비트들의 제1 세트로 심볼들의 제1 시퀀스를 변환하도록 구성된 모듈들 및/또는 회로들(1304 및/또는 1308), 및 클록 신호를 사용하여 멀티-레인 인터페이스(1314)의 제2 레인으로부터 수신된 하나 또는 그 초과의 신호들로부터 데이터 비트들의 제2 세트를 도출하도록 구성된 모듈들 및/또는 회로들(1304 및/또는 1308)을 포함한다. 일 예에서, 도 6 내지 도 9 및 도 11에 예시된 회로들은, 프로세싱 회로(1302)에 의해 수행되는 다양한 기능들을 구현하는 로직을 제공한다.
[00108] 본 개시내용의 일 양상에서, 컴퓨터-판독가능 저장 매체(1318)에는 하나 또는 그 초과의 명령들이 저장 또는 보유된다. 프로세싱 회로(1302)의 적어도 하나의 프로세서(1316)에 의해 실행될 경우, 명령들은 프로세싱 회로(1302)로 하여금, 멀티-레인 인터페이스(1314)의 제1 레인으로부터 심볼들의 제1 시퀀스를 수신하게 하고, 멀티-레인 인터페이스(1314)로부터 클록 신호를 복원하게 하고 ― 클록 신호는, 심볼들의 제1 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 N개의 와이어들의 시그널링 상태의 복수의 트랜지션들에 대응하는 에지들을 포함함 ―, 클록 신호를 사용하여 데이터 비트들의 제1 세트로 심볼들의 제1 시퀀스를 변환하게 하며, 그리고 클록 신호를 사용하여 멀티-레인 인터페이스(1314)의 제2 레인으로부터 수신된 하나 또는 그 초과의 신호들로부터 데이터 비트들의 제2 세트를 도출하게 할 수 있다. 심볼들의 시퀀스 내의 각각의 심볼은 N개의 와이어들의 시그널링 상태에 대응할 수 있다.
[00109] 전술된 수단은, 예컨대, 프로세서(206 또는 236), 물리 계층 드라이버들(210 또는 240) 및 저장 매체들(208 및 238)의 몇몇 결합을 사용하여 구현될 수 있다.
[00110] 도 14는 N-와이어 통신 링크 상에서의 데이터 통신들을 위한 방법을 예시한 흐름도(1400)이다. 통신 링크는, N! 인코딩, 멀티페이즈 인코딩, 멀티-와이어 차동 인코딩 등과 같은 적합한 인코딩 방식을 사용하여 인코딩된 심볼들을 반송하는 복수의 커넥터들을 포함할 수 있다. 커넥터들은 전기적으로 도전성인 와이어들, 광 신호 컨덕터들, 반도전성 상호연결부들 등을 포함할 수 있다. 방법은 수신 디바이스의 하나 또는 그 초과의 프로세서들에 의해 수행될 수 있다.
[00111] 단계(1402)에서, 클록 정보는, 제1 데이터 비트들을 인코딩하는 심볼들의 제1 시퀀스에 삽입된다. 심볼들의 제1 시퀀스의 각각의 심볼은 멀티-레인 인터페이스의 제1 레인의 N개의 와이어들의 시그널링 상태에 대응할 수 있다. 클록 정보는, 제1 데이터 비트들을 트랜지션 넘버들의 세트로 변환하기 위해 트랜스코더를 사용함으로써 인코딩되고, 심볼들의 제1 시퀀스를 획득하기 위해 트랜지션 넘버들의 세트를 변환할 수 있다. 제2 데이터 비트들은 트랜스코더를 사용하지 않으면서 심볼들의 제2 시퀀스로 인코딩될 수 있다.
[00112] 단계(1404)에서, 심볼들의 제1 시퀀스가 제1 레인 상에서 송신된다.
[00113] 단계(1406)에서, 심볼들의 제2 시퀀스가 멀티-레인 인터페이스의 제2 레인 상에서 송신된다. 심볼들의 제2 시퀀스는 제2 데이터 비트들들과 함께 그리고 삽입된 클록 정보 없이 인코딩될 수 있다.
[00114] 본 명세서에 개시된 특정한 양상들에 따르면, 심볼들의 제1 시퀀스는 N개의 와이어들의 NC2개의 상이한 쌍들 상에서 NC2개의 차동 신호들 심볼들의 제1 시퀀스를 송신함으로써 송신될 수 있다. 제2 레인은 M개의 와이어들을 포함할 수 있다. 심볼들의 제2 시퀀스는 M개의 와이어들의 MC2개의 상이한 쌍들 상에서 MC2개의 차동 신호들로 송신될 수 있다. M 및 N의 값들은 동일하거나 상이할 수 있다.
[00115] 본 명세서에 개시된 특정한 양상들에 따르면, 심볼들의 제2 시퀀스는 시리얼 버스의 M개의 와이어들 상에서 송신될 수 있다. 심볼들의 제2 시퀀스를 송신하는 것은 M/2개의 차동 신호들에서 데이터의 제2 세트를 송신하는 것을 포함할 수 있다.
[00116] 본 명세서에 개시된 특정한 양상들에 따르면, 심볼들의 제1 시퀀스의 각각의 심볼은 상이한 심볼 간격으로 송신된다. 클록 정보를 삽입하는 것은, 심볼들의 제1 시퀀스 내의 연속적인 심볼들의 각각의 쌍 사이에서 N개의 와이어들의 시그널링 상태 또는 제2 레인의 하나 또는 그 초과의 와이어들의 시그널링 상태의 트랜지션을 야기하는 것을 포함할 수 있다.
[00117] 본 명세서에 개시된 특정한 양상들에 따르면, 단일 트랜스코더 회로는, 심볼들의 제1 시퀀스로 제1 데이터 비트들을 인코딩하고 심볼들의 제2 시퀀스로 제2 데이터 비트들을 인코딩하기 위해 사용될 수 있다.
[00118] 본 명세서에 개시된 특정한 양상들에 따르면, 클록 정보를 삽입하는 것은, 심볼들의 제1 시퀀스 내의 연속적인 심볼들의 각각의 쌍에서 N개의 와이어들의 시그널링 상태 또는 심볼들의 제2 시퀀스 내의 연속적인 심볼들의 각각의 쌍에서 제2 레인의 M개의 와이어들의 시그널링 상태의 트랜지션을 야기하는 것을 포함한다. 클록 정보는, 심볼들의 제1 시퀀스 및 심볼들의 제2 시퀀스 둘 모두를 인코딩하기 위해 사용되는 송신 클록에 관련될 수 있다.
[00119] 본 명세서에 개시된 특정한 양상들에 따르면, 데이터 엘리먼트는 데이터 비트들의 제1 세트 및 데이터 비트들의 제2 세트를 획득하기 위해 분할될 수 있다. 데이터 비트들의 제1 세트에 대응하는 제1 심볼은, 제2 레인 상에서의 데이터 비트들의 제2 세트에 대응하는 제2 심볼의 송신과 동시에 제1 레인 상에서 송신될 수 있다.
[00120] 도 15는 프로세싱 회로(1502)를 이용하는 장치(1500)에 대한 하드웨어 구현의 간략화된 예를 예시한 다이어그램이다. 프로세싱 회로는 통상적으로, 마이크로프로세서, 마이크로제어기, 디지털 신호 프로세서, 시퀀서 및 상태 머신 중 하나 또는 그 초과를 포함할 수 있는 프로세서(1516)를 갖는다. 프로세싱 회로(1502)는 버스(1520)에 의해 일반적으로 표현된 버스 아키텍처를 이용하여 구현될 수 있다. 버스(1520)는, 프로세싱 회로(1502)의 특정한 애플리케이션 및 전체 설계 제약들에 의존하여 임의의 수의 상호연결 버스들 및 브리지들을 포함할 수 있다. 버스(1520)는, 프로세서(1516)에 의해 표현되는 하나 또는 그 초과의 프로세서들 및/또는 하드웨어 모듈들, 모듈들 및/또는 회로들(1504, 1506 및 1508), 커넥터들 또는 와이어들(1514)을 통해 통신하도록 구성가능한 라인 인터페이스 회로들(1512) 및 프로세서-판독가능/컴퓨터-판독가능 저장 매체(1518)를 포함하는 다양한 회로들을 함께 링크시킨다. 버스(1520)는 또한, 당업계에 잘 알려져 있고, 따라서 더 추가적으로 설명되지 않을 타이밍 소스들, 주변기기들, 전압 조정기들, 및 전력 관리 회로들과 같은 다양한 다른 회로들을 링크시킬 수 있다.
[00121] 프로세서(1516)는, 컴퓨터-판독가능 저장 매체(1518) 상에 저장된 소프트웨어의 실행을 포함하는 일반적인 프로세싱을 담당한다. 소프트웨어는 프로세서(1516)에 의해 실행될 경우, 프로세싱 회로(1502)로 하여금 임의의 특정한 장치에 대해 위에서 설명된 다양한 기능들을 수행하게 한다. 컴퓨터-판독가능 저장 매체(1518)는 또한, 소프트웨어를 실행할 경우, 커넥터들(1514)을 통해 송신된 심볼들로부터 디코딩된 데이터를 포함하여, 프로세서(1516)에 의해 조작되는 데이터를 저장하기 위해 사용될 수 있다. 프로세싱 회로(1502)는, 모듈들 및/또는 회로들(1504, 1506 및 1508) 중 적어도 하나를 더 포함한다. 모듈들 및/또는 회로들(1504, 1506 및 1508)은, 컴퓨터-판독가능 저장 매체(1518)에 상주/저장되어 프로세서(1516)에서 구동되는 소프트웨어 모듈들, 프로세서(1516)에 커플링된 하나 또는 그 초과의 하드웨어 모듈들, 또는 이들의 몇몇 결합일 수 있다. 모듈들 및/또는 회로들(1504, 1506 및/또는 1508)은 마이크로제어기 명령들, 상태 머신 구성 파라미터들, 또는 이들의 몇몇 결합을 포함할 수 있다.
[00122] 일 구성에서, 무선 통신을 위한 장치(1500)는, 제1 데이터 비트들이 인코딩된 정보를 심볼들의 제1 시퀀스에 삽입하도록 구성된 모듈 및/또는 회로(1504), 멀티-레인 인터페이스의 제1 레인 상에서 심볼들의 제1 시퀀스를 송신하도록 구성된 모듈들 및/또는 회로들(1506 및/또는 1512), 멀티-레인 인터페이스의 제2 레인 상에서 심볼들의 제2 시퀀스를 송신하도록 구성된 모듈들 및/또는 회로들(1504, 1506 및/또는 1508)을 포함한다. 일 예에서, 도 6 내지 도 9 및 도 11에 예시된 회로들은, 프로세싱 회로(1502)에 의해 수행되는 다양한 기능들을 구현하는 로직을 제공한다.
[00123] 본 개시내용의 일 양상에서, 프로세서-판독가능/컴퓨터-판독가능 저장 매체(1518)에는 하나 또는 그 초과의 명령들이 저장 또는 보유된다. 프로세싱 회로(1502)의 적어도 하나의 프로세서(1516)에 의해 실행될 경우, 명령들은 프로세서(1516)로 하여금, 제1 데이터 비트들이 인코딩된 클록 정보를 심볼들의 제1 시퀀스에 삽입하게 하고, 멀티-레인 인터페이스(1514)의 제1 레인 상에서 심볼들의 제1 시퀀스를 송신하게 하며, 그리고 멀티-레인 인터페이스(1514)의 제2 레인 상에서 심볼들의 제2 시퀀스를 송신하게 할 수 있다. 심볼들의 제1 시퀀스의 각각의 심볼은 멀티-레인 인터페이스(1514)의 제1 레인의 N개의 와이어들의 시그널링 상태에 대응할 수 있다. 심볼들의 제2 시퀀스는 제2 데이터 비트들들과 함께 그리고 삽입된 클록 정보 없이 인코딩될 수 있다.
[00124] 전술된 수단은, 예컨대, 프로세서(206 또는 236), 물리 계층 드라이버들(210 또는 240) 및 저장 매체들(208 및 238)의 몇몇 결합을 사용하여 구현될 수 있다.
전용 클록을 갖는 멀티-
와이어
심볼
트랜지션
링크의 예시적인 설명
[00125] 위에서 설명된 바와 같이, 멀티-와이어 심볼 트랜지션 클록킹은 클록을 심볼 트랜지션들에 삽입함으로써 구현될 수 있다. 그러나, 삽입된 클록은, 심볼 트랜지션들로부터 삽입된 클록을 복원하도록 수신 디바이스의 클록 및 데이터 복원(CDR) 로직/회로에게 요구한다. 그러한 CDR 로직/회로는 몇몇 수신 디바이스들에 의해 구현하기에 복잡하거나 값비쌀 수 있다. 삽입된 클록들은 또한, 과도한 지터들, 레인간 스큐들, 신호 스파이크들, 및 다른 이유들로 인해 심볼 슬립 에러들을 겪을 수 있다.
[00126] 본 개시내용의 일 양상에서, N! 멀티-와이어 버스/링크는, 삽입된 클록이 보장된 심볼 트랜지션들에서 인코딩/그들에 삽입되는 심볼들의 송신을 용이하게 하기 위해 사용될 수 있는 반면, 전용 클록 라인은 전용 클록을 송신하기 위해 사용된다. 본 개시내용의 다른 양상들에서, 버스/링크는 싱글-엔디드 멀티-와이어 버스/링크일 수 있다. 전용 클록 라인을 통해 송신된 전용 클록은, CDR 로직/회로를 사용하지 않으면서 그리고 삽입된 클록에 의존할 필요 없이 수신기가 멀티-와이어 버스/링크를 통해 송신된 심볼들을 디코딩하는 것을 가능하게 한다. 따라서, 전용 클록을 수신하기 위한 전용 클록 라인의 사용은 수신기가, CDR 로직/회로를 구현하는 것을 포기하게 하고, 그에 따라, 그러한 구현과 연관된 복잡도 및 비용을 최소화시킬 뿐만 아니라 삽입된 클록에 관련된 심볼 슬립 에러들을 감소시키게 허용한다.
[00127] 다른 양상에서, 클록 신호를 송신/수신하기 위해 전용 클록 라인을 사용하는 시스템에서, 별개의 클록은 송신될 심볼들의 시퀀스의 심볼 트랜지션들에서 인코딩/그들에 삽입될 필요가 없다. 따라서, 심볼들의 시퀀스 내의 각각의 심볼 사이의 트랜지션을 보장하는 것은 시스템에 대해 의무적이지 않으며, 따라서, 시스템은 데이터 레인 상에서 그리고 다수의 데이터 레인들에 걸쳐 상이한 타입들의 심볼들을 인터리빙할 수 있다. 또한, 심볼 트랜지션들로부터의 어떠한 클록 복원도 그러한 시스템에서 발생할 수 없기 때문에, 원시 심볼들을 보장된 트랜지션들을 갖는 심볼들로 변환하기 위한 회로/모듈들이 송신기에서 생략될 수 있고, 보장된 트랜지션들을 갖는 심볼들을 원시 심볼들로 변환하기 위한 회로/모듈들이 수신기에서 생략될 수 있으며, 따라서, 그러한 회로/모듈들을 구현하는 것과 연관된 복잡도 및 비용을 최소화시킨다.
[00128] 추가적인 양상에서, 클록 신호를 송신/수신하기 위해 전용 클록 라인을 사용하는 시스템에서, 클록 신호는 데이터 신호로부터 별개로 송신되며, 따라서, 데이터 신호 송신의 방향은 클록 신호 송신의 방향에 의해 제약되지 않는다. 따라서, 그러한 시스템은, 클록 신호가 제1 디바이스로부터 제2 디바이스로 전용 클록 라인을 통해 송신되게 허용하는 반면, 클록 신호와 연관된 데이터/심볼들은 제2 디바이스로부터 제1 디바이스로 송신된다. 또한, 그러한 시스템은 이제, 양방향 송신을 위해 멀티-와이어 버스/링크 및/또는 전용 클록 라인을 이용할 수 있다. 따라서, 제1 디바이스 및 제2 디바이스 둘 모두는, 멀티-와이어 버스/링크의 라인들을 인터리빙하고 그리고/또는 전용 클록 라인을 통해 전용 클록을 교대로 송신함으로써 송신을 위해 멀티-와이어 버스/링크를 이용할 수 있다.
[00129] 도 16은 2개의 디바이스들(1602 및 1632) 사이에서 제공되는 멀티-레인 인터페이스(1600)의 추가적인 예를 예시한 다이어그램이다. 송신기(1602)에서, 트랜스코더(1606)는, 예컨대, N-팩토리얼(N!) 인코딩을 사용하여 레인(또는 "멀티-와이어 링크")(1612) 상에서 N개의 와이어들의 세트를 통해 송신될 심볼들로 데이터(1604) 및 클록 정보를 인코딩하기 위해 사용될 수 있으며, 여기서, N은 2보다 큰 정수이다. 클록 정보는, 제1 송신 클록(예컨대, DDRCLK X)(1624) 또는 제2 송신 클록(예컨대, DDRCLK Y)(1626)으로부터 도출될 수 있으며, 시그널링 상태 트랜지션이 연속적인 심볼들 사이의 NC2개의 신호들 중 적어도 하나 상에서 발생한다는 것을 보장함으로써, N개의 와이어들을 통해 NC2개의 차동 신호들에서 송신된 심볼들의 시퀀스로 인코딩될 수 있다. N! 인코딩이 N개의 와이어들을 구동하기 위해 사용되는 경우, 심볼의 각각의 비트는 일 세트의 라인 드라이버들(1610) 중 하나에 의해 차동 신호로서 송신되며, 여기서, 그 세트의 라인 드라이버들(1610) 내의 차동 드라이버들은 N개의 와이어들의 상이한 쌍들에 커플링된다. 와이어 쌍들 및 신호들의 이용가능한 결합들의 수는 NC2이도록 계산될 수 있으며, 이용가능한 결합들의 수는 N개의 와이어들을 통해 송신될 수 있는 신호들의 수를 결정한다. 심볼로 인코딩될 수 있는 데이터 비트들(1604)의 수는, 각각의 심볼 송신 간격 동안 이용가능한, 이용가능한 시그널링 상태들의 수에 기반하여 계산될 수 있다.
[00130] 종단 임피던스(통상적으로는 저항성)는 종단 네트워크(1628)의 공통 중심 포인트에 N개의 와이어들 각각을 커플링시킨다. N개의 와이어들의 시그널링 상태들이 각각의 와이어에 커플링된 차동 드라이버들(1610)에 기인하는 종단 네트워크(1628)의 전류들의 결합을 반영한다는 것이 인식될 것이다. 종단 네트워크(1628)의 중심 포인트가 널 포인트이며, 그에 의해, 종단 네트워크(1628)의 전류들이 중심 포인트에서 서로를 상쇄시킨다는 것이 추가로 인식될 것이다.
[00131] 링크 내의 NC2 신호들 중 적어도 하나는 연속적인 심볼들 사이에서 트랜지션한다. 효율적으로, 트랜스코더(1606)는, 각각의 심볼이 자신의 직전의 전임 심볼과는 상이한 심볼들의 시퀀스를 생성함으로써, N개의 와이어들 상에서 송신된 심볼들의 각각의 쌍 사이에서 트랜지션이 발생한다는 것을 보장한다. 도 16에 도시된 예에서, 레인(1612)은 N = 4개의 와이어들을 갖고, 4개의 와이어들의 세트는 4C2 = 6개의 차동 신호들을 반송할 수 있다. 트랜스코더(1606)는, 레인(1612) 상에서 이용가능한 N개의 와이어들 상에서의 송신을 위한 원시 심볼들을 생성하도록 맵핑 방식을 이용할 수 있다. 트랜스코더(1606) 및 직렬화기(1608)는 입력 데이터 비트들(1604)에 기반하여 송신을 위한 원시 심볼들을 생성하도록 협업한다. 수신기(1632)에서, 트랜스코더(1640)는, 예컨대, 연속적인 원시 심볼들의 쌍, 즉 룩업 테이블 내의 심볼들 사이의 차이를 특성화하는 트랜지션 넘버를 결정하기 위해 맵핑을 이용할 수 있다. 트랜스코더들(1606, 1640)은, 원시 심볼들의 모든 각각의 연속적인 쌍이 2개의 상이한 심볼들을 포함한다는 것을 기반으로 동작한다.
[00132] 송신기(1602)의 트랜스코더(1606)는 모든 각각의 심볼 트랜지션에서 이용가능한 N!-1개의 상태들 사이에서 선택할 수 있다. 일 예에서, 4! 시스템은, 각각의 심볼 트랜지션에서 송신될 다음의 심볼에 대한 4!-1 = 23개의 시그널링 상태들을 제공한다. 비트 레이트는 제1 송신 클록(1624) 또는 제2 송신 클록(1626)의 사이클마다 log2(available_states)로서 계산될 수 있다. 더블 데이터 레이트(DDR) 클록킹을 사용하는 시스템에서, 제1 송신 클록(1624) 또는 제2 송신 클록(1626)의 상승 에지 및 하강 에지 둘 모두에서 심볼 트랜지션들이 발생한다. 일 예에서, 2개 또는 그 초과의 심볼들이 워드마다(즉, 송신 클록 사이클마다) 송신될 수 있어서, 송신 클록 사이클의 총 이용가능한 상태들은 (NC2-1)2 = (23)2 = 529 이고, 심볼 당 송신될 수 있는 데이터 비트들(1604)의 수는 log2(529) = 9.047비트들로서 계산될 수 있다.
[00133] 일 양상에서, 데이터(1604)를 인코딩하기 위해 사용되는 제2 송신 클록(1626)은 라인 드라이버(1620)를 사용하여 수신기(1632)에 송신될 수 있다. 예컨대, 라인 드라이버(1620)는, 제2 송신 클록(1626)에 기반하여 클록 신호를 생성하고, 전용 클록 라인(1622)을 통해 클록 신호를 송신할 수 있다. 전용 클록 라인(1622)은 레인/멀티-와이어 링크(1612)와는 별개이고 그와 병렬이며, 송신기(1602)와 수신기(1632) 사이에서 클록 신호들을 통신하는 것으로 제한될 수 있다.
[00134] 수신기(1632)는 라인 수신기들의 세트(1634)를 사용하여 심볼들의 시퀀스를 수신하며, 여기서, 라인 수신기들의 세트(1634) 내의 각각의 수신기는 N개의 와이어들의 하나의 쌍에 대한 시그널링 상태들의 차이들을 결정한다. 따라서, NC2개의 수신기들이 레인(1612)에서 사용되며, 여기서, N은 레인(1612)의 와이어들의 수를 표현한다. NC2개의 수신기들(1634)은 대응하는 수의 원시 심볼들을 출력들로서 생성한다.
[00135] 수신기(1632)는, 라인 수신기(1644)를 사용하여 전용 클록 라인(1622)을 통해 송신된 클록 신호를 수신한다. 전용 클록 라인(1622)을 통한 클록 신호의 수신 시에, 라인 수신기(1644)는, 제2 송신 클록(1626)에 대응하는 수신 클록(예컨대, DDRCLK Y)(1656)을 생성한다.
[00136] 도시된 예에서, 레인(1612)은 N = 4개의 와이어들을 가지며, 레인(1612)의 4개의 와이어들 상에서 수신된 신호들은, 역직렬화기(1638)에 제공되는 상태 트랜지션 신호를 생성하기 위해 6개의 수신기들(4C2 = 6)을 포함하는 라인 수신기들의 세트(1634)에 의해 프로세싱된다. 역직렬화기(1638)는, 라인 수신기들의 세트(1634)로부터의 상태 트랜지션 신호 및 (제2 송신 클록(1626)에 대응하는) 수신 클록(1656)에 기반하여 심볼들을 역직렬화한다. 수신 클록(1656)은 트랜스코더(1640)에 의해 제공되는 데이터를 수신하도록 외부 회로에 의해 사용될 수 있다. 트랜스코더(1640)는, 각각의 다음의 심볼을 그의 직전의 전임과 비교함으로써, 역직렬화기(1638)로부터의 수신된 심볼들의 블록을 디코딩한다. 트랜스코더(1640)는 송신기(1602)에 제공되는 데이터(1604)에 대응하는 출력 데이터(1642)를 생성한다. 따라서, 수신기(1632)가 데이터(1604)에 대응하는 수신 심볼들을 디코딩하기 위하여 전용 클록 라인(1622)을 통해 제공된 제2 송신 클록(1626)을 이용할 수 있기 때문에, 수신기(1632)는, 수신 심볼들 사이의 트랜지션들에 삽입될 수 있는 제1 송신 클록(1624)을 복원하도록 CDR 로직/회로에게 요구하지 않는다. 따라서, 수신기(1632)는 제1 송신 클록(1624)을 무시할 수 있다.
[00137] 도 16의 예에 예시된 바와 같이, 레인(또는 "멀티-와이어 링크")(1612)은 다음의 예들에 따라 동작될 수 있다. 일 예에서, 레인(이러한 예에서는 레인 X)(1612)을 통한 송신을 위한 데이터 비트들(1604)은, 미리 결정된 시퀀스로 송신되는 경우, 시그널링 상태의 트랜지션이 레인(1612)의 4개의 와이어들 상에서 송신되는 적어도 하나의 신호에서 발생한다는 것을 보장하는 원시 심볼들의 세트를 생성하는 트랜스코더(1606)에 의해 수신된다. 직렬화기(1608)는, 각각의 심볼 간격 동안 레인(1612)의 4개의 와이어들의 시그널링 상태를 결정하는 라인 드라이버들(1610)에 제공되는 심볼값들의 시퀀스를 생성한다.
[00138] 다른 예에서, 데이터 비트들(1604)은 레인(이러한 예에서는 레인 X)(1612)의 트랜스코더(1606)에 의해 수신된다. 트랜스코더(1606)는 직렬화기(1608)에 의해 직렬화된 트랜지션 넘버들의 세트를 생성하며, 직렬화기(1608)는, 각각의 심볼 간격 동안 레인(1612)의 4개의 와이어들의 시그널링 상태를 결정하는 라인 드라이버들(1610)에 제공되는 심볼값들의 시퀀스로 트랜지션 넘버들의 세트를 변환한다. 원시 심볼들의 시퀀스는, 시그널링 상태의 트랜지션이 연속적인 심볼들의 각각의 쌍 사이에서 레인(1612)의 4개의 와이어들 상에서 송신되는 적어도 하나의 신호에서 발생한다는 것을 보장한다.
[00139] 일 양상에서, 레인(또는 "멀티-와이어 링크")(1612)의 적어도 하나의 라인/와이어는 양방향이다. 따라서, 송신기(1602)는 레인(1612)의 적어도 하나의 양방향 라인/와이어를 통해 수신기(1632)로부터 송신된 심볼들의 시퀀스를 수신하도록 구성될 수 있다. 추가적인 양상에서, 전용 클록 라인(1622)은 양방향이며, 레인(1612)을 통해 송신하는 송신기(1602) 또는 수신기(1632) 중 어느 하나에 의해 구동될 수 있다. 예컨대, 송신기(1602)는 전용 클록 라인(1622)을 통해 수신기(1632)로부터 전용 클록 신호를 수신하도록 구성될 수 있다. 전용 클록 신호는, 레인(1612)의 적어도 하나의 양방향 라인/와이어를 통하여 수신기에 의해 송신된 심볼들의 시퀀스를 인코딩하기 위해 사용되는 송신 클록과 연관될 수 있다.
[00140] 도 17은 전용 클록 라인을 사용하여 다수의 데이터 레인들 상에서 심볼들을 송신하는 예들을 예시한다. 예(1700)에서, 제1 타입(1710)의 심볼들은 제1 데이터 레인(데이터 레인 1)(1704) 상에서 송신되고, 제2 타입(1712)의 심볼들은 제2 데이터 레인(데이터 레인 2)(1706) 상에서 송신되며, 제3 타입(1714)의 심볼들은 제3 데이터 레인(데이터 레인 3)(1708) 상에서 송신된다. 제1 타입(1710), 제2 타입(1712), 및 제3 타입(1714)의 심볼들 모두는 전용 클록 라인(1702) 상에서 별개로 송신되는 클록 신호에 따라 그들 각각의 데이터 레인들 상에서 송신될 수 있다.
[00141] 위에서 설명된 바와 같이, 클록 신호를 송신/수신하기 위해 전용 클록 라인을 사용하는 시스템에서, 별개의 클록은 송신될 심볼들의 시퀀스의 심볼 트랜지션들에서 인코딩/그들에 삽입될 필요가 없다. 따라서, 송신기는, 심볼들의 시퀀스 내의 각각의 심볼 사이의 시그널링 상태의 트랜지션을 보장할 필요가 없다. 따라서, 예(1750)를 참조하면, 송신기는 데이터 레인 상에서 그리고 다수의 데이터 레인들에 걸쳐 상이한 타입들의 심볼들을 인터리빙할 수 있다. 예컨대, 제1 타입(1760)의 심볼, 제2 타입(1762)의 심볼, 및 제3 타입(1764)의 심볼이 인터리빙되어, 제1 데이터 레인(데이터 레인 1)(1754) 상에서 송신될 수 있다. 또한, 제2 타입(1762)의 심볼, 제3 타입(1764)의 심볼, 및 제1 타입(1760)의 심볼이 인터리빙되어, 제2 데이터 레인(데이터 레인 2)(1756) 상에서 송신될 수 있다. 또한, 제3 타입(1764)의 심볼, 제1 타입(1760)의 심볼, 및 제2 타입(1762)의 심볼이 인터리빙되어, 제3 데이터 레인(데이터 레인 3)(1758) 상에서 송신될 수 있다.
[00142] 일 양상에서, 제2 타입(1762)의 심볼 및 제3 타입(1764)의 심볼은 심볼들 사이의 시그널링 상태의 트랜지션 없이 데이터 레인(예컨대, 제1 데이터 레인(1754) 상에서 송신될 수 있다(1766 참조). 또한, 제1 타입(1760)의 심볼 및 제2 타입(1762)의 심볼은 심볼들 사이의 시그널링 상태의 트랜지션 없이 데이터 레인(예컨대, 제2 데이터 레인(1756) 상에서 송신될 수 있다(1768 참조). 또한, 제2 타입(1762)의 심볼, 제3 타입(1764)의 심볼, 및 제1 타입(1760)의 심볼은 심볼들의 임의의 쌍 사이의 시그널링 상태의 트랜지션 없이 데이터 레인(예컨대, 제3 데이터 레인(1758) 상에서 송신될 수 있다(1770 및 1772 참조). 제1 타입(1760), 제2 타입(1762), 및 제3 타입(1764)의 심볼들 모두는 전용 클록 라인(1752) 상에서 별개로 송신되는 클록 신호에 따라 데이터 레인들 각각 상에서 송신될 수 있다.
[00143] 도 18은 전용 클록 라인을 사용하는 멀티-와이어 트랜스코딩의 예들을 예시한다. 제1 예(1800)에서, 송신기에서, 송신될 데이터 비트들은 비트들-투-트랜지션 심볼 변환기(비트들 투 T)(1802)에 의해 수신된다. 데이터 비트들에 기반하여, 비트들 투 T(1802)는 멀티-와이어 링크(1820)를 통한 송신을 위해 원시 트랜지션 심볼들의 세트(1804)를 생성한다. 원시 트랜지션 심볼들의 세트(1804)는 트랜지션 심볼-투-심볼 변환기(T 투 S)(1806)로 공급된다. T 투 S(1806)는, 시그널링 상태의 트랜지션이 각각의 심볼 사이에서 보장되도록 송신을 위한 원시 트랜지션 심볼들을 선택하며, 따라서, 클록 정보가 심볼 트랜지션들에서 인코딩/그들에 삽입되게 한다. T 투 S(1806)에 의해 출력된 심볼들은, 전용 클록 라인(1812) 상에서 송신되는 클록 신호에 기반하여 직렬화기(SER)(1808)에 의해 직렬화될 수 있다. SER(1808)은 멀티-와이어 링크(1820)의 와이어들의 시그널링 상태를 결정하는 심볼들의 시퀀스를 생성한다. 심볼들의 시퀀스(1814)는 멀티-와이어 링크(1820) 상에서의 송신을 위해 라인 드라이버들(1810)로 제공된다.
[00144] 제1 예(1800)를 계속 참조하면, 수신기에서, 송신기에 대해 위에서 설명된 프로세스가 반전된다. 역직렬화기(DES)(1824)는 라인 수신기들(1822)을 통해 심볼들의 시퀀스(1814)를 수신한다. DES(1824)는 전용 클록 라인(1812) 상에서 수신된 클록 신호에 기반하여 수신 심볼들을 역직렬화한다. DES(1824)의 출력은 심볼-투-트랜지션 심볼 변환기(S 투 T)(1826)으로 공급된다. S 투 T(1826)는, 각각의 역직렬화된 심볼 사이에 존재하는 트랜지션들에 기반하여 원시 트랜지션 심볼들(1804)을 복원한다. 그 후, 트랜지션 심볼-투-비트들 변환기(T 투 비트들)(1828)는 복원된 원시 트랜지션 심볼들을 데이터 비트들(비트들)로 변환한다.
[00145] 위에서 설명된 바와 같이, 클록 신호를 송신/수신하기 위해 전용 클록 라인을 사용하는 시스템에서, 별개의 클록은 송신될 심볼들의 시퀀스의 심볼 트랜지션들에서 인코딩/그들에 삽입될 필요가 없다. 따라서, 전용 클록 라인을 사용하는 멀티-와이어 트랜스코딩의 제2 예(1850)를 참조하면, 어떠한 클록 정보도 심볼 트랜지션들에서 인코딩/그들에 삽입되지 않으면, 송신기는 심볼들의 시퀀스 내의 각각의 심볼 사이의 트랜지션을 보장할 필요가 없다. 또한, 어떠한 클록 정보도 송신기에서는 심볼 트랜지션들에 삽입되지 않거나 또는 수신기에서는 심볼 트랜지션들로부터 복원되지 않을 것이기 때문에, 원시 심볼들을 보장된 트랜지션들을 갖는 심볼들로 변환하기 위한 회로/모듈들이 송신기에서 생략될 수 있고, 보장된 트랜지션들을 갖는 심볼들을 원시 심볼들로 변환하기 위한 회로/모듈들이 수신기에서 생략될 수 있으며, 따라서, 그러한 회로/모듈들을 구현하는 것과 연관된 복잡도 및 비용을 최소화시킨다.
[00146] 예컨대, 제2 예(1850)에서, 송신기에서, 송신될 데이터 비트들은 비트들-투-트랜지션 심볼 변환기(비트들 투 T)(1852)에 의해 수신된다. 데이터 비트들에 기반하여, 비트들 투 T(1852)는 멀티-와이어 링크(1870)를 통한 송신을 위해 원시 트랜지션 심볼들의 세트(1854)를 생성한다. 어떠한 클록 정보도 심볼 트랜지션들에서 인코딩/그들에 삽입되지 않을 것이기 때문에, 송신기는 송신될 심볼들의 세트의 각각의 심볼 사이에서 시그널링 상태의 트랜지션을 보장할 필요가 없다. 따라서, 트랜지션 심볼-투-심볼 변환기(예컨대, 제1 예(1800)의 T 투 S(1806))는 제2 예(1850)의 송신기에서 생략될 수 있으며, 원시 트랜지션 심볼들(1854)은 직접 직렬화기(SER)(1858)에 공급될 수 있다. 원시 트랜지션 심볼들(1854)은, 전용 클록 라인(1862) 상에서 송신되는 클록 신호에 기반하여 SER(1858)에 의해 직렬화될 수 있다. SER(1858)은 멀티-와이어 링크(1870)의 와이어들의 시그널링 상태를 결정하는 심볼들의 시퀀스를 생성한다. 심볼들의 시퀀스(1854)는 멀티-와이어 링크(1870) 상에서의 송신을 위해 라인 드라이버들(1860)로 제공된다.
[00147] 제2 예(1850)를 계속 참조하면, 수신기에서, 송신기에 대해 위에서 설명된 프로세스가 반전된다. 역직렬화기(DES)(1874)는 라인 수신기들(1872)을 통해 심볼들의 시퀀스(1854)를 수신한다. DES(1874)는, 원시 트랜지션 심볼들(1854)의 세트를 복원하기 위해 전용 클록 라인(1862) 상에서 수신된 클록 신호에 기반하여 수신 심볼들을 역직렬화한다. 특히, 어떠한 클록 정보도 심볼 트랜지션들에서 인코딩/그들에 삽입되지 않았기 때문에, 수신기는, 각각의 역직렬화된 심볼 사이에 존재하는 트랜지션들에 기반하여 원시 트랜지션 심볼들을 복원할 필요가 없다. 따라서, 심볼-투-트랜지션 심볼 변환기(예컨대, 제1 예(1800)의 S 투 T(1826))는 제2 예(1850)의 수신기에서 생략될 수 있다. 트랜지션 심볼-투-비트들 변환기(T 투 비트들)(1878)는 복원된 원시 트랜지션 심볼들을 데이터 비트들(비트들)로 변환한다. 일 양상에서, 제2 예(1850)는, 그것이 송신될 심볼 당 하나의 여분 상태를 허용하므로 스루풋을 개선시킨다.
예시적인 수신
디바이스
및 그 상에서의 방법
[00148] 도 19는 본 개시내용의 하나 또는 그 초과의 양상들(예컨대, 아래에 설명되는 도 20의 방법에 관련된 양상들)에 따라 멀티-와이어 링크를 통해 데이터 비트들을 통신하는 것에 관련된 동작들을 지원하도록 구성되는 장치(수신 디바이스)(1900)의 예시이다. 장치(1900)는, 통신 인터페이스(예컨대, 적어도 하나의 트랜시버)(1902), 저장 매체(1904), 사용자 인터페이스(1906), 메모리 디바이스(1908), 및 프로세싱 회로(1910)를 포함한다.
[00149] 이들 컴포넌트들은, 도 19의 연결 라인들에 의해 일반적으로 표현되는 시그널링 버스 또는 다른 적합한 컴포넌트를 통해 서로 커플링되고 그리고/또는 서로 전기 통신하게 배치될 수 있다. 시그널링 버스는, 프로세싱 회로(1910)의 특정한 애플리케이션 및 전체 설계 제약들에 의존하여 임의의 수의 상호연결 버스들 및 브리지들을 포함할 수 있다. 통신 인터페이스(1902), 저장 매체(1904), 사용자 인터페이스(1906), 및 메모리 디바이스(1908) 각각이 프로세싱 회로(1910)에 커플링되고 그리고/또는 그 회로와 전기 통신하도록 시그널링 버스는 다양한 회로들을 함께 링크시킨다. 시그널링 버스는 또한, 당업계에 잘 알려져 있고, 따라서 더 추가적으로 설명되지 않을 타이밍 소스들, 주변기기들, 전압 조정기들, 및 전력 관리 회로들과 같은 다양한 다른 회로들(미도시)을 링크시킬 수 있다.
[00150] 통신 인터페이스(1902)는 장치(1900)의 무선 통신을 용이하게 하도록 적응될 수 있다. 예컨대, 통신 인터페이스(1902)는, 네트워크에서 하나 또는 그 초과의 통신 디바이스들에 대해 양방향으로 정보의 통신을 용이하게 하도록 적응된 회로 및/또는 코드(예컨대, 명령들)를 포함할 수 있다. 통신 인터페이스(1902)는, 무선 통신 시스템 내에서의 무선 통신을 위해 하나 또는 그 초과의 안테나들(1912)에 커플링될 수 있다. 통신 인터페이스(1902)는, 하나 또는 그 초과의 자립형 수신기들 및/또는 송신기들 뿐만 아니라 하나 또는 그 초과의 트랜시버들로 구성될 수 있다. 도시된 예에서, 통신 인터페이스(1902)는 송신기(1914) 및 수신기(1916)를 포함한다.
[00151] 메모리 디바이스(1908)는 하나 또는 그 초과의 메모리 디바이스들을 표현할 수 있다. 표시된 바와 같이, 메모리 디바이스(1908)는 장치(1900)에 의해 사용된 다른 정보와 함께 네트워크-관련 정보(1918)를 보유할 수 있다. 몇몇 구현들에서, 메모리 디바이스(1908) 및 저장 매체(1904)는 공통 메모리 컴포넌트로서 구현된다. 메모리 디바이스(1908)는 또한, 장치(1900)의 프로세싱 회로(1910) 또는 몇몇 다른 컴포넌트에 의해 조작되는 데이터를 저장하기 위해 사용될 수 있다.
[00152] 저장 매체(1904)는, 프로세서 실행가능 코드 또는 명령들(예컨대, 소프트웨어, 펌웨어), 전자 데이터, 데이터베이스들, 또는 다른 디지털 정보와 같은 코드를 저장하기 위한 하나 또는 그 초과의 컴퓨터-판독가능, 머신-판독가능, 및/또는 프로세서-판독가능 디바이스들을 표현할 수 있다. 저장 매체(1904)는 또한, 코드를 실행할 경우 프로세싱 회로(1910)에 의해 조작되는 데이터를 저장하기 위해 사용될 수 있다. 저장 매체(1904)는, 휴대용 또는 고정 저장 디바이스들, 광학 저장 디바이스들, 및 코드를 저장, 포함 또는 반송할 수 있는 다양한 다른 매체들을 포함하는, 범용 또는 특수 목적 프로세서에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수 있다.
[00153] 제한이 아닌 예로서, 저장 매체(1904)는, 자기 저장 디바이스(예컨대, 하드 디스크, 플로피 디스크, 자기 스트립), 광학 디스크(예컨대, 컴팩트 디스크(CD), 또는 DVD(digital versatile disc)), 스마트 카드, 플래시 메모리 디바이스(예컨대, 카드, 스틱, 또는 키 드라이브), 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 프로그래밍가능 ROM(PROM), 소거가능한 PROM(EPROM), 전기적으로 소거가능한 PROM(EEPROM), 레지스터, 착탈형 디스크, 및 컴퓨터에 의해 액세스 및 판독될 수 있는 코드를 저장하기 위한 임의의 다른 적합한 매체를 포함할 수 있다. 저장 매체(1904)는 제조 물품(예컨대, 컴퓨터 프로그램 물건)으로 구현될 수 있다. 예로서, 컴퓨터 프로그램 물건은 패키징 재료들에 컴퓨터-판독가능 매체를 포함할 수 있다. 위의 관점에서, 몇몇 구현들에서, 저장 매체(1904)는 비-일시적인(예컨대, 유형의) 저장 매체일 수 있다.
[00154] 저장 매체(1904)는, 프로세싱 회로(1910)가 저장 매체(1904)로부터 정보를 판독하고, 저장 매체(1904)에 정보를 기입할 수 있도록 프로세싱 회로(1910)에 커플링될 수 있다. 즉, 저장 매체(1904)는, 적어도 하나의 저장 매체가 프로세싱 회로(1910)에 통합되는 예들 및/또는 적어도 하나의 저장 매체가 프로세싱 회로(1910)로부터 분리되는 (예컨대, 장치(1900)에 상주하거나, 장치(1900) 외부이거나, 다수의 엔티티들에 걸쳐 분산되는 등의 식임) 예들을 포함하여 저장 매체(1904)가 프로세싱 회로(1910)에 의해 적어도 액세스가능하도록 프로세싱 회로(1910)에 커플링될 수 있다.
[00155] 저장 매체(1904)에 의해 저장된 코드 및/또는 명령들은, 프로세싱 회로(1910)에 의해 실행되는 경우, 프로세싱 회로(1910)로 하여금 본 명세서에 설명된 다양한 기능들 및/또는 프로세스 동작들 중 하나 또는 그 초과를 수행하게 한다. 예컨대, 저장 매체(1904)는, 프로세싱 회로(1910)의 하나 또는 그 초과의 하드웨어 블록들에서의 동작들을 조절하기 위해 구성될 뿐만 아니라 그들 각각의 통신 프로토콜들을 이용하는 무선 통신을 위해 통신 인터페이스(1902)를 이용하도록 구성되는 동작들을 포함할 수 있다.
[00156] 프로세싱 회로(1910)는 일반적으로, 저장 매체(1904) 상에 저장된 그러한 코드/명령들의 실행을 포함하는 프로세싱을 위해 적응된다. 본 명세서에서 사용된 바와 같이, 용어 "코드" 또는 "명령들"은, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 디스크립션 언어, 또는 다른 용어로서 지칭되는지에 관계없이, 프로그래밍, 명령들, 명령 세트들, 데이터, 코드, 코드 세그먼트들, 프로그램 코드, 프로그램들, 서브프로그램들, 소프트웨어 모듈들, 애플리케이션들, 소프트웨어 애플리케이션들, 소프트웨어 패키지들, 루틴들, 서브루틴들, 오브젝트들, 실행파일들, 실행 스레드들, 절차들, 함수들 등을 제한없이 포함하도록 광범위하게 해석되어야 한다.
[00157] 프로세싱 회로(1910)는, 데이터를 획득, 프로세싱 및/또는 전송하고, 데이터 액세스 및 저장을 제어하고, 커맨드들을 이슈하며, 다른 원하는 동작들을 제어하도록 배열된다. 프로세싱 회로(1910)는, 적어도 하나의 예에서 적절한 매체들에 의해 제공되는 원하는 코드를 구현하도록 구성된 회로를 포함할 수 있다. 예컨대, 프로세싱 회로(1910)는, 하나 또는 그 초과의 프로세서들, 하나 또는 그 초과의 제어기들, 및/또는 실행가능한 코드를 실행하도록 구성된 다른 구조로서 구현될 수 있다. 프로세싱 회로(1910)의 예들은, 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적회로(ASIC), 필드 프로그래밍가능 게이트 어레이(FPGA) 또는 다른 프로그래밍가능 로직 컴포넌트, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본 명세서에 설명된 기능들을 수행하도록 설계된 이들의 임의의 결합을 포함할 수 있다. 범용 프로세서는 마이크로프로세서 뿐만 아니라 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신을 포함할 수 있다. 또한, 프로세싱 회로(1910)는 또한, 컴퓨팅 컴포넌트들의 결합, 예컨대 DSP와 마이크로프로세서의 결합, 다수의 마이크로프로세서들, DSP 코어와 결합된 하나 또는 그 초과의 마이크로프로세서들, ASIC 및 마이크로프로세서, 또는 임의의 다른 수의 다양한 구성들로서 구현될 수 있다. 프로세싱 회로(1910)의 이들 예들은 예시를 위한 것이며, 본 개시내용의 범위 내의 다른 적합한 구성들이 또한 고려된다.
[00158] 발명의 하나 또는 그 초과의 양상들에 따르면, 프로세싱 회로(1910)는, 본 명세서에 설명된 장치들 중 임의의 장치 또는 모든 장치에 대한 특성들, 프로세스들, 기능들, 동작들 및/또는 루틴들 중 임의의 것 또는 모두를 수행하도록 적응될 수 있다. 본 명세서에서 사용된 바와 같이, 프로세싱 회로(1910)와 관련된 용어 "적응된"은, 프로세싱 회로(1910)가 본 명세서에 설명된 다양한 특성들에 따라 특정한 프로세스, 기능, 동작 및/또는 루틴을 수행하도록 구성되거나, 이용되거나, 구현되거나, 그리고/또는 프로그래밍되는 것 중 하나 또는 그 초과를 행하는 것을 지칭할 수 있다.
[00159] 장치(1900)의 적어도 하나의 예에 따르면, 프로세싱 회로(1910)는, 본 명세서에서 설명된 특성들, 프로세스들, 기능들, 동작들 및/또는 루틴들(예컨대, 도 20에 대해 설명된 특성들, 프로세스들, 기능들, 동작들 및/또는 루틴들) 중 임의의 것 또는 전부를 수행하도록 적응된 심볼 수신 회로/모듈(1920), 클록 수신 회로/모듈(1922), 심볼 디코딩 회로/모듈(1924), 심볼 송신 회로/모듈(1926), 및 클록 송신 회로/모듈(1928) 중 하나 또는 그 초과를 포함할 수 있다.
[00160] 심볼 수신 회로/모듈(1920)은, 예컨대, 멀티-와이어 링크를 통해 심볼들의 시퀀스를 수신하는 것에 관련된 수개의 기능들을 수행하도록 적응된 회로 및/또는 명령들(예컨대, 저장 매체(1904) 상에 저장된 심볼 수신 명령들(1930))을 포함할 수 있다.
[00161] 클록 수신 회로/모듈(1922)은, 예컨대, 전용 클록 라인을 통해 클록 신호를 수신하는 것에 관련된 수개의 기능들을 수행하도록 적응된 회로 및/또는 명령들(예컨대, 저장 매체(1904) 상에 저장된 클록 수신 명령들(1932))을 포함할 수 있으며, 여기서, 전용 클록 라인은 멀티-와이어 링크와는 별개이고 그와 병렬이다.
[00162] 심볼 디코딩 회로/모듈(1924)은, 예컨대, 클록 신호를 사용하여 심볼들의 시퀀스를 디코딩하는 것에 관련된 수개의 기능들을 수행하도록 적응된 회로 및/또는 명령들(예컨대, 저장 매체(1904) 상에 저장된 심볼 디코딩 명령들(1934))을 포함할 수 있다. 일 양상에서, 제2 클록 신호는, 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입될 수 있다. 따라서, 심볼 디코딩 회로/모듈(1924)은, 제2 클록 신호를 무시하면서 전용 클록 라인을 통해 수신된 클록 신호를 사용하여 심볼들의 시퀀스를 디코딩함으로써 디코딩을 수행하도록 구성될 수 있다. 심볼 디코딩 회로/모듈(1924)은, 클록 신호를 사용하여 심볼들의 시퀀스를 데이터 비트들의 세트로 변환함으로써 디코딩을 수행하도록 구성될 수 있다. 심볼 디코딩 회로/모듈(1924)은, 심볼들의 시퀀스를 트랜지션 넘버들의 세트로 변환하기 위해 트랜스코더를 사용하고 그리고 트랜지션 넘버들의 세트를 데이터 비트들의 세트로 변환함으로써 변환을 수행하도록 구성될 수 있다.
[00163] 심볼 송신 회로/모듈(1926)은, 예컨대, 전용 클록 라인을 통해 수신된 클록 신호에 기반하여 멀티-와이어 링크의 적어도 하나의 양방향 라인을 통해 심볼들의 제2 시퀀스를 송신하는 것에 관련된 수개의 기능들을 수행하도록 적응된 회로 및/또는 명령들(예컨대, 저장 매체(1904) 상에 저장된 심볼 송신 명령들(1936))을 포함할 수 있다.
[00164] 클록 송신 회로/모듈(1928)은, 예컨대, 전용 클록 라인을 통해 제3 클록 신호를 송신하는 것에 관련된 수개의 기능들을 수행하도록 적응된 회로 및/또는 명령들(예컨대, 저장 매체(1904) 상에 저장된 클록 송신 명령들(1938))을 포함할 수 있다. 제3 클록 신호는, 멀티-와이어 링크의 적어도 하나의 양방향 라인을 통하여 심볼 송신 회로/모듈(1926)에 의해 송신된 심볼들의 시퀀스로 데이터 비트들을 인코딩하기 위해 사용되는 송신 클록과 연관될 수 있다.
[00165] 위에서 언급된 바와 같이, 저장 매체(1904)에 의해 저장된 명령들은, 프로세싱 회로(1910)에 의해 실행되는 경우, 프로세싱 회로(1910)로 하여금 본 명세서에 설명된 다양한 기능들 및/또는 프로세스 동작들 중 하나 또는 그 초과를 수행하게 한다. 예컨대, 저장 매체(1904)는, 심볼 수신 명령들(1930), 클록 수신 명령들(1932), 심볼 디코딩 명령들(1934), 심볼 송신 명령들(1936), 및 클록 송신 명령들(1938) 중 하나 또는 그 초과를 포함할 수 있다.
[00166] 도 20은 멀티-와이어 링크를 통해 데이터 비트들을 통신하는 방법을 예시한 흐름도(2000)이다. 방법은 수신 디바이스(예컨대, 도 1의 장치(100), 도 16의 수신기(1632), 또는 도 19의 장치(1900))에 의해 수행될 수 있다.
[00167] 수신 디바이스는, 송신 디바이스(예컨대, 송신기(1602))로부터 멀티-와이어 링크(예컨대, 멀티-와이어 링크(1612))를 통해 심볼들의 시퀀스를 수신한다(2002). 심볼들의 시퀀스 내의 각각의 심볼은 멀티-와이어 링크의 N개의 와이어들의 시그널링 상태에 대응할 수 있으며, 여기서, N은 1보다 큰 정수이다. 수신 디바이스는 추가로, 전용 클록 라인(예컨대, 전용 클록 라인(1622))을 통해 클록 신호(예컨대, DDRCLK Y(1626))를 수신하며, 여기서, 전용 클록 라인은 멀티-와이어 링크와는 별개이고 그와 병렬이다(2004). 수신 디바이스는 또한, 클록 신호를 사용하여 심볼들의 시퀀스를 디코딩한다(2006).
[00168] 일 양상에서, 제2 클록 신호(예컨대, DDRCLK X(1624))는, 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입된다. 따라서, 수신 디바이스는, 제2 클록 신호를 무시하면서, 전용 클록 라인을 통해 수신된 클록 신호를 사용하여 심볼들의 시퀀스를 디코딩한다.
[00169] 일 양상에서, 수신 디바이스는, 클록 신호를 사용하여 심볼들의 시퀀스를 데이터 비트들의 세트로 변환함으로써 심볼들의 시퀀스를 디코딩한다. 추가적인 양상에서, 수신 디바이스는, 심볼들의 시퀀스를 트랜지션 넘버들의 세트로 변환하고 트랜지션 넘버들의 세트를 데이터 비트들의 세트로 변환하기 위해 트랜스코더(예컨대, 트랜스코더(1640))를 사용함으로써 변환을 수행한다.
[00170] 일 양상에서, 멀티-와이어 링크의 적어도 하나의 라인은 양방향이다. 수신 디바이스는, 전용 클록 라인을 통해 수신된 클록 신호에 기반하여 적어도 하나의 양방향 라인을 통해 심볼들의 제2 시퀀스를 송신할 수 있다(2008). 추가적인 양상에서, 수신 디바이스 및 송신 디바이스 둘 모두는 멀티-와이어 링크의 라인들을 인터리빙함으로써 양방향 송신들을 위해 멀티-와이어 링크를 이용할 수 있다.
[00171] 다른 양상에서, 전용 클록 라인은 양방향이며, 멀티-와이어 링크를 통해 송신하는 임의의 디바이스로부터 구동될 수 있다. 수신 디바이스는, 전용 클록 라인을 통해 제3 클록 신호를 송신할 수 있다(2010). 제3 클록 신호는, 적어도 하나의 양방향 라인을 통하여 수신 디바이스에 의해 송신된 심볼들의 시퀀스로 데이터 비트들을 인코딩하기 위해 사용되는 송신 클록과 연관될 수 있다. 추가적인 양상에서, 수신 디바이스 및 송신 디바이스 둘 모두는, 전용 클록 라인을 통하여 전용 클록 신호를 교대로 송신함으로써 전용 클록 라인을 이용할 수 있다.
예시적인 송신
디바이스
및 그 상에서의 방법
[00172] 도 21는 본 개시내용의 하나 또는 그 초과의 양상들(예컨대, 아래에 설명되는 도 22의 방법에 관련된 양상들)에 따라 멀티-와이어 링크를 통해 데이터 비트들을 통신하는 것에 관련된 동작들을 지원하도록 구성되는 장치(송신 디바이스)(2100)의 예시이다. 장치(2100)는, 통신 인터페이스(예컨대, 적어도 하나의 트랜시버)(2102), 저장 매체(2104), 사용자 인터페이스(2106), 메모리 디바이스(2108), 및 프로세싱 회로(2110)를 포함한다.
[00173] 이들 컴포넌트들은, 도 21의 연결 라인들에 의해 일반적으로 표현되는 시그널링 버스 또는 다른 적합한 컴포넌트를 통해 서로 커플링되고 그리고/또는 서로 전기 통신하게 배치될 수 있다. 시그널링 버스는, 프로세싱 회로(2110)의 특정한 애플리케이션 및 전체 설계 제약들에 의존하여 임의의 수의 상호연결 버스들 및 브리지들을 포함할 수 있다. 통신 인터페이스(2102), 저장 매체(2104), 사용자 인터페이스(2106), 및 메모리 디바이스(2108) 각각이 프로세싱 회로(2110)에 커플링되고 그리고/또는 그 회로와 전기 통신하도록 시그널링 버스는 다양한 회로들을 함께 링크시킨다. 시그널링 버스는 또한, 당업계에 잘 알려져 있고, 따라서 더 추가적으로 설명되지 않을 타이밍 소스들, 주변기기들, 전압 조정기들, 및 전력 관리 회로들과 같은 다양한 다른 회로들(미도시)을 링크시킬 수 있다.
[00174] 통신 인터페이스(2102)는 장치(2100)의 무선 통신을 용이하게 하도록 적응될 수 있다. 예컨대, 통신 인터페이스(2102)는, 네트워크에서 하나 또는 그 초과의 통신 디바이스들에 대해 양방향으로 정보의 통신을 용이하게 하도록 적응된 회로 및/또는 코드(예컨대, 명령들)를 포함할 수 있다. 통신 인터페이스(2102)는, 무선 통신 시스템 내에서의 무선 통신을 위해 하나 또는 그 초과의 안테나들(2112)에 커플링될 수 있다. 통신 인터페이스(2102)는, 하나 또는 그 초과의 자립형 수신기들 및/또는 송신기들 뿐만 아니라 하나 또는 그 초과의 트랜시버들로 구성될 수 있다. 도시된 예에서, 통신 인터페이스(2102)는 송신기(2114) 및 수신기(2116)를 포함한다.
[00175] 메모리 디바이스(2108)는 하나 또는 그 초과의 메모리 디바이스들을 표현할 수 있다. 표시된 바와 같이, 메모리 디바이스(2108)는 장치(2100)에 의해 사용된 다른 정보와 함께 네트워크-관련 정보(2118)를 보유할 수 있다. 몇몇 구현들에서, 메모리 디바이스(2108) 및 저장 매체(2104)는 공통 메모리 컴포넌트로서 구현된다. 메모리 디바이스(2108)는 또한, 장치(2100)의 프로세싱 회로(2110) 또는 몇몇 다른 컴포넌트에 의해 조작되는 데이터를 저장하기 위해 사용될 수 있다.
[00176] 저장 매체(2104)는, 프로세서 실행가능 코드 또는 명령들(예컨대, 소프트웨어, 펌웨어), 전자 데이터, 데이터베이스들, 또는 다른 디지털 정보와 같은 코드를 저장하기 위한 하나 또는 그 초과의 컴퓨터-판독가능, 머신-판독가능, 및/또는 프로세서-판독가능 디바이스들을 표현할 수 있다. 저장 매체(2104)는 또한, 코드를 실행할 경우 프로세싱 회로(2110)에 의해 조작되는 데이터를 저장하기 위해 사용될 수 있다. 저장 매체(2104)는, 휴대용 또는 고정 저장 디바이스들, 광학 저장 디바이스들, 및 코드를 저장, 포함 또는 반송할 수 있는 다양한 다른 매체들을 포함하는, 범용 또는 특수 목적 프로세서에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수 있다.
[00177] 제한이 아닌 예로서, 저장 매체(2104)는, 자기 저장 디바이스(예컨대, 하드 디스크, 플로피 디스크, 자기 스트립), 광학 디스크(예컨대, 컴팩트 디스크(CD), 또는 DVD(digital versatile disc)), 스마트 카드, 플래시 메모리 디바이스(예컨대, 카드, 스틱, 또는 키 드라이브), 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 프로그래밍가능 ROM(PROM), 소거가능한 PROM(EPROM), 전기적으로 소거가능한 PROM(EEPROM), 레지스터, 착탈형 디스크, 및 컴퓨터에 의해 액세스 및 판독될 수 있는 코드를 저장하기 위한 임의의 다른 적합한 매체를 포함할 수 있다. 저장 매체(2104)는 제조 물품(예컨대, 컴퓨터 프로그램 물건)으로 구현될 수 있다. 예로서, 컴퓨터 프로그램 물건은 패키징 재료들에 컴퓨터-판독가능 매체를 포함할 수 있다. 위의 관점에서, 몇몇 구현들에서, 저장 매체(2104)는 비-일시적인(예컨대, 유형의) 저장 매체일 수 있다.
[00178] 저장 매체(2104)는, 프로세싱 회로(2110)가 저장 매체(2104)로부터 정보를 판독하고, 저장 매체(2104)에 정보를 기입할 수 있도록 프로세싱 회로(2110)에 커플링될 수 있다. 즉, 저장 매체(2104)는, 적어도 하나의 저장 매체가 프로세싱 회로(2110)에 통합되는 예들 및/또는 적어도 하나의 저장 매체가 프로세싱 회로(2110)로부터 분리되는 (예컨대, 장치(2100)에 상주하거나, 장치(2100) 외부이거나, 다수의 엔티티들에 걸쳐 분산되는 등의 식임) 예들을 포함하여 저장 매체(2104)가 프로세싱 회로(2110)에 의해 적어도 액세스가능하도록 프로세싱 회로(2110)에 커플링될 수 있다.
[00179] 저장 매체(2104)에 의해 저장된 코드 및/또는 명령들은, 프로세싱 회로(2110)에 의해 실행되는 경우, 프로세싱 회로(2110)로 하여금 본 명세서에 설명된 다양한 기능들 및/또는 프로세스 동작들 중 하나 또는 그 초과를 수행하게 한다. 예컨대, 저장 매체(2104)는, 프로세싱 회로(2110)의 하나 또는 그 초과의 하드웨어 블록들에서의 동작들을 조절하기 위해 구성될 뿐만 아니라 그들 각각의 통신 프로토콜들을 이용하는 무선 통신을 위해 통신 인터페이스(2102)를 이용하도록 구성되는 동작들을 포함할 수 있다.
[00180] 프로세싱 회로(2110)는 일반적으로, 저장 매체(2104) 상에 저장된 그러한 코드/명령들의 실행을 포함하는 프로세싱을 위해 적응된다. 본 명세서에서 사용된 바와 같이, 용어 "코드" 또는 "명령들"은, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 디스크립션 언어, 또는 다른 용어로서 지칭되는지에 관계없이, 프로그래밍, 명령들, 명령 세트들, 데이터, 코드, 코드 세그먼트들, 프로그램 코드, 프로그램들, 서브프로그램들, 소프트웨어 모듈들, 애플리케이션들, 소프트웨어 애플리케이션들, 소프트웨어 패키지들, 루틴들, 서브루틴들, 오브젝트들, 실행파일들, 실행 스레드들, 절차들, 함수들 등을 제한없이 포함하도록 광범위하게 해석되어야 한다.
[00181] 프로세싱 회로(2110)는, 데이터를 획득, 프로세싱 및/또는 전송하고, 데이터 액세스 및 저장을 제어하고, 커맨드들을 이슈하며, 다른 원하는 동작들을 제어하도록 배열된다. 프로세싱 회로(2110)는, 적어도 하나의 예에서 적절한 매체들에 의해 제공되는 원하는 코드를 구현하도록 구성된 회로를 포함할 수 있다. 예컨대, 프로세싱 회로(2110)는, 하나 또는 그 초과의 프로세서들, 하나 또는 그 초과의 제어기들, 및/또는 실행가능한 코드를 실행하도록 구성된 다른 구조로서 구현될 수 있다. 프로세싱 회로(2110)의 예들은, 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적회로(ASIC), 필드 프로그래밍가능 게이트 어레이(FPGA) 또는 다른 프로그래밍가능 로직 컴포넌트, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본 명세서에 설명된 기능들을 수행하도록 설계된 이들의 임의의 결합을 포함할 수 있다. 범용 프로세서는 마이크로프로세서 뿐만 아니라 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신을 포함할 수 있다. 또한, 프로세싱 회로(2110)는 또한, 컴퓨팅 컴포넌트들의 결합, 예컨대 DSP와 마이크로프로세서의 결합, 다수의 마이크로프로세서들, DSP 코어와 결합된 하나 또는 그 초과의 마이크로프로세서들, ASIC 및 마이크로프로세서, 또는 임의의 다른 수의 다양한 구성들로서 구현될 수 있다. 프로세싱 회로(2110)의 이들 예들은 예시를 위한 것이며, 본 개시내용의 범위 내의 다른 적합한 구성들이 또한 고려된다.
[00182] 발명의 하나 또는 그 초과의 양상들에 따르면, 프로세싱 회로(2110)는, 본 명세서에 설명된 장치들 중 임의의 장치 또는 모든 장치에 대한 특성들, 프로세스들, 기능들, 동작들 및/또는 루틴들 중 임의의 것 또는 모두를 수행하도록 적응될 수 있다. 본 명세서에서 사용된 바와 같이, 프로세싱 회로(2110)와 관련된 용어 "적응된"은, 프로세싱 회로(2110)가 본 명세서에 설명된 다양한 특성들에 따라 특정한 프로세스, 기능, 동작 및/또는 루틴을 수행하도록 구성되거나, 이용되거나, 구현되거나, 그리고/또는 프로그래밍되는 것 중 하나 또는 그 초과를 행하는 것을 지칭할 수 있다.
[00183] 장치(2100)의 적어도 하나의 예에 따르면, 프로세싱 회로(2110)는, 본 명세서에서 설명된 특성들, 프로세스들, 기능들, 동작들 및/또는 루틴들(예컨대, 도 22에 대해 설명된 특성들, 프로세스들, 기능들, 동작들 및/또는 루틴들) 중 임의의 것 또는 전부를 수행하도록 적응된 클록 삽입 회로/모듈(2120), 심볼 송신 회로/모듈(2122), 클록 송신 회로/모듈(2124), 심볼 수신 회로/모듈(2126), 클록 수신 회로/모듈(2128), 및 인코딩 회로/모듈(2140) 중 하나 또는 그 초과를 포함할 수 있다.
[00184] 인코딩 회로/모듈(2140)은, 예컨대, 데이터 비트들을 심볼들의 시퀀스로 인코딩하는 것에 관련된 수개의 기능들을 수행하도록 적응된 회로 및/또는 명령들(예컨대, 저장 매체(2104) 상에 저장된 인코딩 명령들(2142))을 포함할 수 있다. 인코딩 회로/모듈(2140)은, 데이터 비트들을 트랜지션 넘버들의 세트로 변환하고, 그리고 심볼들의 시퀀스를 획득하기 위해 트랜지션 넘버들의 세트를 변환함으로써 인코딩을 수행하도록 구성될 수 있다.
[00185] 클록 삽입 회로/모듈(2120)은, 예컨대, 제2 클록 신호를 심볼들의 시퀀스에 삽입하는 것에 관련된 수개의 기능들을 수행하도록 적응된 회로 및/또는 명령들(예컨대, 저장 매체(2104) 상에 저장된 클록 삽입 명령들(2130))을 포함할 수 있으며, 여기서, 제2 클록 신호는 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입된다.
[00186] 심볼 송신 회로/모듈(2122)은, 예컨대, 멀티-와이어 링크를 통해 심볼들의 시퀀스를 송신하는 것에 관련된 수개의 기능들을 수행하도록 적응된 회로 및/또는 명령들(예컨대, 저장 매체(2104) 상에 저장된 심볼 송신 명령들(2132))을 포함할 수 있다.
[00187] 클록 송신 회로/모듈(2124)은, 예컨대, 전용 클록 라인을 통해 심볼들의 시퀀스와 연관된 클록 신호를 송신하는 것에 관련된 수개의 기능들을 수행하도록 적응된 회로 및/또는 명령들(예컨대, 저장 매체(2104) 상에 저장된 클록 송신 명령들(2134))을 포함할 수 있으며, 여기서, 전용 클록 라인은 멀티-와이어 링크와는 별개이고 그와 병렬이다.
[00188] 심볼 송신 회로/모듈(2126)은, 예컨대, 전용 클록 신호를 통해 송신된 클록 신호에 기반하여 멀티-와이어 링크의 적어도 하나의 양방향 라인을 통해 심볼들의 제2 시퀀스를 수신하는 것에 관련된 수개의 기능들을 수행하도록 적응된 회로 및/또는 명령들(예컨대, 저장 매체(2104) 상에 저장된 심볼 수신 명령들(2136))을 포함할 수 있다.
[00189] 클록 수신 회로/모듈(2128)은, 예컨대, 전용 클록 라인을 통해 제3 클록 신호를 수신하는 것에 관련된 수개의 기능들을 수행하도록 적응된 회로 및/또는 명령들(예컨대, 저장 매체(2104) 상에 저장된 클록 수신 명령들(2138))을 포함할 수 있다. 제3 클록 신호는, 멀티-와이어 링크의 적어도 하나의 양방향 라인을 통하여 심볼 수신 회로/모듈(2126)에 의해 수신된 심볼들의 시퀀스로 데이터 비트들을 인코딩하기 위해 사용되는 송신 클록과 연관될 수 있다.
[00190] 위에서 언급된 바와 같이, 저장 매체(2104)에 의해 저장된 명령들은, 프로세싱 회로(2110)에 의해 실행되는 경우, 프로세싱 회로(2110)로 하여금 본 명세서에 설명된 다양한 기능들 및/또는 프로세스 동작들 중 하나 또는 그 초과를 수행하게 한다. 예컨대, 저장 매체(2104)는, 클록 삽입 명령들(2130), 심볼 송신 명령들(2132), 클록 송신 명령들(2134), 심볼 수신 명령들(2136), 클록 수신 명령들(2138), 및 인코딩 명령들(2142) 중 하나 또는 그 초과를 포함할 수 있다.
[00191] 도 22는 멀티-와이어 링크를 통해 데이터 비트들을 통신하는 방법을 예시한 흐름도(2200)이다. 방법은 송신 디바이스(예컨대, 도 1의 장치(100), 도 16의 송신기(1602), 또는 도 21의 장치(2100))에 의해 수행될 수 있다.
[00192] 송신 디바이스는 데이터 비트들(예컨대, 비트들 X(1604))을 심볼들의 시퀀스로 인코딩한다(2202). 부가적으로 또는 선택적으로, 송신 디바이스는 제2 클록 신호(예컨대, DDRCLK X(1624))를 심볼들의 시퀀스에 삽입하며, 여기서, 제2 클록 신호는 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입된다(2204). 심볼들의 시퀀스 내의 각각의 심볼은 멀티-와이어 링크(예컨대, 멀티-와이어 링크(1612))의 N개의 와이어들의 시그널링 상태에 대응할 수 있으며, 여기서, N은 1보다 큰 정수이다. 송신 디바이스는 멀티-와이어 링크를 통해 심볼들의 시퀀스를 추가로 송신한다(2206). 송신 디바이스는 또한, 전용 클록 라인(예컨대, 전용 클록 라인(1622))을 통해 심볼들의 시퀀스와 연관된 클록 신호(예컨대, DDRCLK Y(1626))를 송신하며, 여기서, 전용 클록 라인은 멀티-와이어 링크와는 별개이고 그와 병렬이다(2208).
[00193] 일 양상에서, 송신 디바이스는, 데이터 비트들을 트랜지션 넘버들의 세트로 변환하기 위해 트랜스코더(예컨대, 트랜스코더(1606))를 사용하고 그리고 트랜지션 넘버들의 세트를 심볼들의 시퀀스로 변환함으로써, 데이터 비트들을 심볼들의 시퀀스로 인코딩한다.
[00194] 일 양상에서, 멀티-와이어 링크의 적어도 하나의 라인은 양방향이다. 송신 디바이스는 수신 디바이스로부터, 적어도 하나의 양방향 라인(2210)을 통해 심볼들의 제2 시퀀스를 수신할 수 있다. 추가적인 양상에서, 수신 디바이스 및 송신 디바이스 둘 모두는 멀티-와이어 링크의 라인들을 인터리빙함으로써 양방향 송신들을 위해 멀티-와이어 링크를 이용할 수 있다.
[00195] 다른 양상에서, 전용 클록 라인은 양방향이며, 멀티-와이어 링크를 통해 송신하는 임의의 디바이스로부터 구동될 수 있다. 송신 디바이스는, 전용 클록 라인을 통해 제3 클록 신호를 수신할 수 있다. 제3 클록 신호는, 적어도 하나의 양방향 라인을 통하여 송신 디바이스에 의해 수신된 심볼들의 시퀀스로 데이터 비트들을 인코딩하기 위해 사용되는 송신 클록과 연관될 수 있다(2212). 추가적인 양상에서, 수신 디바이스 및 송신 디바이스 둘 모두는, 전용 클록 라인을 통하여 전용 클록 신호를 교대로 송신함으로써 전용 클록 라인을 이용할 수 있다.
[00196] 개시된 프로세스들 내의 단계들의 특정한 순서 또는 계층이 예시적인 접근법들의 예시임을 이해한다. 설계 선호도들에 기반하여, 프로세스들 내의 단계들의 특정한 순서 또는 계층이 재배열될 수 있음을 이해한다. 첨부한 방법 청구항들은 샘플 순서로 다양한 단계들의 엘리먼트들을 제시하며, 제시된 특정한 순서 또는 계층으로 제한되도록 의도되지 않는다.
[00197] 이전의 설명은 임의의 당업자가 본 명세서에 설명된 다양한 양상들을 실시할 수 있도록 제공된다. 이들 양상들에 대한 다양한 변형들은 당업자들에게는 용이하게 명백할 것이며, 본 명세서에 정의된 일반적인 원리들은 다른 양상들에 적용될 수 있다. 따라서, 청구항들은 본 명세서에 설명된 양상들로 제한되도록 의도되는 것이 아니라, 청구항 문언들에 일치하는 최대 범위를 부여하려는 것이며, 여기서, 단수형의 엘리먼트에 대한 참조는 특정하게 그렇게 언급되지 않으면 "하나 및 오직 하나"를 의미하기보다는 오히려 "하나 또는 그 초과"를 의미하도록 의도된다. 달리 특정하게 언급되지 않으면, 용어 "몇몇"은 하나 또는 그 초과를 지칭한다. 당업자들에게 알려졌거나 추후에 알려지게 될 본 개시내용 전반에 걸쳐 설명된 다양한 양상들의 엘리먼트들에 대한 모든 구조적 및 기능적 등가물들은, 인용에 의해 본 명세서에 명백히 포함되고, 청구항들에 의해 포함되도록 의도된다. 또한, 본 명세서에 개시된 어떠한 것도, 그와 같은 개시가 청구항들에 명시적으로 인용되는지 여부에 관계없이 공중에 전용되도록 의도되지 않는다. 어떤 청구항 엘리먼트도, 그 엘리먼트가 "하기 위한 수단"이라는 어구를 사용하여 명시적으로 언급되지 않으면, 수단 플러스(plus) 기능으로서 해석되지 않을 것이다.
Claims (18)
- 수신 디바이스로서,
프로세싱 회로를 포함하며,
상기 프로세싱 회로는,
멀티-와이어 링크를 통해 심볼들의 시퀀스를 수신하고,
전용 클록 라인을 통해 클록 신호를 수신하며 ― 상기 전용 클록 라인은 상기 멀티-와이어 링크와는 별개이고 상기 멀티-와이어 링크와 병렬임 ―, 그리고
상기 클록 신호를 사용하여 상기 심볼들의 시퀀스를 디코딩하도록
구성되고,
제2 클록 신호는, 상기 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입되고,
상기 프로세싱 회로는, 상기 제2 클록 신호를 무시하면서, 상기 전용 클록 라인을 통해 수신된 상기 클록 신호를 사용하여 상기 심볼들의 시퀀스를 디코딩하도록 구성되고,
상기 멀티-와이어 링크의 적어도 하나의 라인은 양방향이며,
상기 프로세싱 회로는, 상기 전용 클록 라인을 통해 수신된 상기 클록 신호에 기반하여 상기 적어도 하나의 양방향 라인을 통해 심볼들의 제2 시퀀스를 송신하도록 추가로 구성되는, 수신 디바이스. - 제1항에 있어서,
상기 프로세싱 회로는, 상기 전용 클록 라인을 통해 수신된 상기 클록 신호를 사용하여 상기 심볼들의 시퀀스를 데이터 비트들의 세트로 변환하도록 추가로 구성되는, 수신 디바이스. - 제2항에 있어서,
상기 심볼들의 시퀀스를 상기 데이터 비트들의 세트로 변환하도록 구성된 상기 프로세싱 회로는,
상기 심볼들의 시퀀스를 트랜지션 넘버들의 세트로 변환하기 위해 트랜스코더를 사용하고; 그리고
상기 트랜지션 넘버들의 세트를 상기 데이터 비트들의 세트로 변환하도록
추가로 구성되는, 수신 디바이스. - 제1항에 있어서,
상기 심볼들의 시퀀스 내의 각각의 심볼은 상기 멀티-와이어 링크의 N개의 와이어들의 시그널링 상태에 대응하며,
상기 N은 1보다 큰 정수인, 수신 디바이스. - 제1항에 있어서,
상기 전용 클록 라인은 양방향이며, 상기 멀티-와이어 링크를 통해 송신하는 임의의 디바이스로부터 구동될 수 있는, 수신 디바이스. - 수신 디바이스에서의 데이터 통신 방법으로서,
멀티-와이어 링크를 통해 심볼들의 시퀀스를 수신하는 단계;
전용 클록 라인을 통해 클록 신호를 수신하는 단계 ― 상기 전용 클록 라인은 상기 멀티-와이어 링크와는 별개이고 상기 멀티-와이어 링크와 병렬임 ―; 및
상기 클록 신호를 사용하여 상기 심볼들의 시퀀스를 디코딩하는 단계를 포함하며,
제2 클록 신호는, 상기 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입되고,
상기 심볼들의 시퀀스는, 상기 제2 클록 신호를 무시하면서, 상기 전용 클록 라인을 통해 수신된 상기 클록 신호를 사용하여 디코딩되고,
상기 멀티-와이어 링크의 적어도 하나의 라인은 양방향이며,
상기 방법은, 상기 전용 클록 라인을 통해 수신된 상기 클록 신호에 기반하여 상기 적어도 하나의 양방향 라인을 통해 심볼들의 제2 시퀀스를 송신하는 단계를 더 포함하는, 수신 디바이스에서의 데이터 통신 방법. - 제6항에 있어서,
상기 심볼들의 시퀀스를 디코딩하는 단계는, 상기 전용 클록 라인을 통해 수신된 상기 클록 신호를 사용하여 상기 심볼들의 시퀀스를 데이터 비트들의 세트로 변환하는 단계를 포함하는, 수신 디바이스에서의 데이터 통신 방법. - 제7항에 있어서,
상기 심볼들의 시퀀스를 상기 데이터 비트들의 세트로 변환하는 단계는,
상기 심볼들의 시퀀스를 트랜지션 넘버들의 세트로 변환하기 위해 트랜스코더를 사용하는 단계; 및
상기 트랜지션 넘버들의 세트를 상기 데이터 비트들의 세트로 변환하는 단계를 포함하는, 수신 디바이스에서의 데이터 통신 방법. - 제6항에 있어서,
상기 심볼들의 시퀀스 내의 각각의 심볼은 상기 멀티-와이어 링크의 N개의 와이어들의 시그널링 상태에 대응하며,
상기 N은 1보다 큰 정수인, 수신 디바이스에서의 데이터 통신 방법. - 제6항에 있어서,
상기 전용 클록 라인은 양방향이며, 상기 멀티-와이어 링크를 통해 송신하는 임의의 디바이스로부터 구동될 수 있는, 수신 디바이스에서의 데이터 통신 방법. - 송신 디바이스로서,
프로세싱 회로를 포함하며,
상기 프로세싱 회로는,
데이터 비트들을 심볼들의 시퀀스로 인코딩하고,
제2 클록 신호를 상기 심볼들의 시퀀스에 삽입하고 ― 상기 제2 클록 신호는 상기 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입됨 ―;
멀티-와이어 링크를 통해 상기 심볼들의 시퀀스를 송신하며; 그리고
전용 클록 라인을 통해 상기 심볼들의 시퀀스와 연관된 클록 신호를 송신하도록
구성되고,
상기 전용 클록 라인은 상기 멀티-와이어 링크와는 별개이고 상기 멀티-와이어 링크와 병렬이고,
상기 멀티-와이어 링크의 적어도 하나의 라인은 양방향이며,
상기 프로세싱 회로는, 상기 전용 클록 라인을 통해 송신된 상기 클록 신호에 기반하여 상기 적어도 하나의 양방향 라인을 통해 심볼들의 제2 시퀀스를 수신하도록 추가로 구성되는, 송신 디바이스. - 제11항에 있어서,
상기 데이터 비트들을 인코딩하도록 구성된 상기 프로세싱 회로는,
상기 데이터 비트들을 트랜지션 넘버들의 세트로 변환하기 위해 트랜스코더를 사용하고; 그리고
상기 심볼들의 시퀀스를 획득하기 위해 상기 트랜지션 넘버들의 세트를 변환하도록
추가로 구성되는, 송신 디바이스. - 제11항에 있어서,
상기 심볼들의 시퀀스 내의 각각의 심볼은 상기 멀티-와이어 링크의 N개의 와이어들의 시그널링 상태에 대응하며,
상기 N은 1보다 큰 정수인, 송신 디바이스. - 제11항에 있어서,
상기 전용 클록 라인은 양방향이며, 상기 멀티-와이어 링크를 통해 송신하는 임의의 디바이스로부터 구동될 수 있는, 송신 디바이스. - 송신 디바이스에서의 데이터 통신 방법으로서,
데이터 비트들을 심볼들의 시퀀스로 인코딩하는 단계;
제2 클록 신호를 상기 심볼들의 시퀀스에 삽입하는 단계 ― 상기 제2 클록 신호는 상기 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입됨 ―;
멀티-와이어 링크를 통해 상기 심볼들의 시퀀스를 송신하는 단계; 및
전용 클록 라인을 통해 상기 심볼들의 시퀀스와 연관된 클록 신호를 송신하는 단계를 포함하며,
상기 전용 클록 라인은 상기 멀티-와이어 링크와는 별개이고 상기 멀티-와이어 링크와 병렬이고,
상기 멀티-와이어 링크의 적어도 하나의 라인은 양방향이며,
상기 방법은, 상기 전용 클록 라인을 통해 송신된 상기 클록 신호에 기반하여 상기 적어도 하나의 양방향 라인을 통해 심볼들의 제2 시퀀스를 수신하는 단계를 더 포함하는, 송신 디바이스에서의 데이터 통신 방법. - 제15항에 있어서,
상기 데이터 비트들을 인코딩하는 단계는,
상기 데이터 비트들을 트랜지션 넘버들의 세트로 변환하기 위해 트랜스코더를 사용하는 단계; 및
상기 심볼들의 시퀀스를 획득하기 위해 상기 트랜지션 넘버들의 세트를 변환하는 단계를 포함하는, 송신 디바이스에서의 데이터 통신 방법. - 제15항에 있어서,
상기 심볼들의 시퀀스 내의 각각의 심볼은 상기 멀티-와이어 링크의 N개의 와이어들의 시그널링 상태에 대응하며,
상기 N은 1보다 큰 정수인, 송신 디바이스에서의 데이터 통신 방법. - 제15항에 있어서,
상기 전용 클록 라인은 양방향이며, 상기 멀티-와이어 링크를 통해 송신하는 임의의 디바이스로부터 구동될 수 있는, 송신 디바이스에서의 데이터 통신 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/875,592 | 2015-10-05 | ||
US14/875,592 US9735948B2 (en) | 2013-10-03 | 2015-10-05 | Multi-lane N-factorial (N!) and other multi-wire communication systems |
PCT/US2016/051131 WO2017062132A1 (en) | 2015-10-05 | 2016-09-09 | Multi-lane n-factorial encoded and other multi-wire communication systems |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180066065A KR20180066065A (ko) | 2018-06-18 |
KR102520096B1 true KR102520096B1 (ko) | 2023-04-07 |
Family
ID=56997556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187009328A KR102520096B1 (ko) | 2015-10-05 | 2016-09-09 | 인코딩된 멀티-레인 n-팩토리얼 및 다른 멀티-와이어 통신 시스템들 |
Country Status (8)
Country | Link |
---|---|
EP (1) | EP3360278A1 (ko) |
JP (1) | JP2018534847A (ko) |
KR (1) | KR102520096B1 (ko) |
CN (1) | CN108141346A (ko) |
AU (1) | AU2016335548A1 (ko) |
BR (1) | BR112018006874A2 (ko) |
TW (1) | TW201714443A (ko) |
WO (1) | WO2017062132A1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11437998B2 (en) | 2020-04-30 | 2022-09-06 | Taiwan Semiconductor Manufacturing Company, Ltd. | Integrated circuit including back side conductive lines for clock signals |
TWI778603B (zh) * | 2020-04-30 | 2022-09-21 | 台灣積體電路製造股份有限公司 | 積體電路及其製造方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140372644A1 (en) | 2013-06-12 | 2014-12-18 | Qualcomm Incorporated | Camera control interface extension bus |
WO2015050736A1 (en) | 2013-10-03 | 2015-04-09 | Qualcomm Incorporated | Method to enhance mipi d-phy link rate with minimal phy changes and no protocol changes |
WO2015134071A1 (en) | 2014-03-06 | 2015-09-11 | Qualcomm Incorporated | Clock recovery circuit for multiple wire data signals |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9711041B2 (en) * | 2012-03-16 | 2017-07-18 | Qualcomm Incorporated | N-phase polarity data transfer |
JP2013110554A (ja) * | 2011-11-21 | 2013-06-06 | Panasonic Corp | 送信装置、受信装置及びシリアル伝送システム |
US8996740B2 (en) * | 2012-06-29 | 2015-03-31 | Qualcomm Incorporated | N-phase polarity output pin mode multiplexer |
CN104756543B (zh) * | 2012-10-26 | 2018-07-24 | 株式会社日立国际电气 | 多信道无线通信***、基站、信道利用方法 |
US9337997B2 (en) * | 2013-03-07 | 2016-05-10 | Qualcomm Incorporated | Transcoding method for multi-wire signaling that embeds clock information in transition of signal state |
US20150220472A1 (en) * | 2014-02-05 | 2015-08-06 | Qualcomm Incorporated | Increasing throughput on multi-wire and multi-lane interfaces |
-
2016
- 2016-09-09 CN CN201680058575.6A patent/CN108141346A/zh active Pending
- 2016-09-09 KR KR1020187009328A patent/KR102520096B1/ko active IP Right Grant
- 2016-09-09 TW TW105129387A patent/TW201714443A/zh unknown
- 2016-09-09 BR BR112018006874A patent/BR112018006874A2/pt not_active Application Discontinuation
- 2016-09-09 WO PCT/US2016/051131 patent/WO2017062132A1/en active Application Filing
- 2016-09-09 EP EP16770840.3A patent/EP3360278A1/en not_active Withdrawn
- 2016-09-09 JP JP2018517310A patent/JP2018534847A/ja active Pending
- 2016-09-09 AU AU2016335548A patent/AU2016335548A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140372644A1 (en) | 2013-06-12 | 2014-12-18 | Qualcomm Incorporated | Camera control interface extension bus |
WO2015050736A1 (en) | 2013-10-03 | 2015-04-09 | Qualcomm Incorporated | Method to enhance mipi d-phy link rate with minimal phy changes and no protocol changes |
WO2015134071A1 (en) | 2014-03-06 | 2015-09-11 | Qualcomm Incorporated | Clock recovery circuit for multiple wire data signals |
Also Published As
Publication number | Publication date |
---|---|
EP3360278A1 (en) | 2018-08-15 |
CN108141346A (zh) | 2018-06-08 |
TW201714443A (zh) | 2017-04-16 |
AU2016335548A1 (en) | 2018-04-12 |
BR112018006874A2 (pt) | 2018-10-16 |
WO2017062132A1 (en) | 2017-04-13 |
KR20180066065A (ko) | 2018-06-18 |
JP2018534847A (ja) | 2018-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9998300B2 (en) | N-phase phase and polarity encoded serial interface | |
US9673961B2 (en) | Multi-lane N-factorial (N!) and other multi-wire communication systems | |
US9735948B2 (en) | Multi-lane N-factorial (N!) and other multi-wire communication systems | |
JP6433973B2 (ja) | データシンボル遷移ベースのクロッキングを用いたマルチワイヤシングルエンドプッシュプルリンク | |
US20150220472A1 (en) | Increasing throughput on multi-wire and multi-lane interfaces | |
US9178690B2 (en) | N factorial dual data rate clock and data recovery | |
US9313058B2 (en) | Compact and fast N-factorial single data rate clock and data recovery circuits | |
US10484164B2 (en) | Clock and data recovery for pulse based multi-wire link | |
EP3114792B1 (en) | Clock recovery circuit for multiple wire data signals | |
EP3117527B1 (en) | Method for using error correction codes with n factorial or cci extension | |
KR102520096B1 (ko) | 인코딩된 멀티-레인 n-팩토리얼 및 다른 멀티-와이어 통신 시스템들 | |
US9490964B2 (en) | Symbol transition clocking clock and data recovery to suppress excess clock caused by symbol glitch during stable symbol period |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |