KR20180066065A - Encoded multi-lane N-factor and other multi-wire communication systems - Google Patents
Encoded multi-lane N-factor and other multi-wire communication systems Download PDFInfo
- Publication number
- KR20180066065A KR20180066065A KR1020187009328A KR20187009328A KR20180066065A KR 20180066065 A KR20180066065 A KR 20180066065A KR 1020187009328 A KR1020187009328 A KR 1020187009328A KR 20187009328 A KR20187009328 A KR 20187009328A KR 20180066065 A KR20180066065 A KR 20180066065A
- 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 클록 신호를 무시하면서, 전용 클록 라인을 통해 수신된 클록 신호를 사용하여 심볼들의 시퀀스를 디코딩한다.In particular, systems, methods, and apparatus for facilitating communication of data over a multi-wire data communication link between two devices in an electronic device are described. The receiving device receives a sequence of symbols over a multi-wire link. The receiving device further receives a clock signal via a dedicated clock line, wherein the dedicated clock line is separate from and parallel to the multi-wire link. The receiving device uses the clock signal to decode the sequence of symbols. In an aspect, the second clock signal is inserted into guaranteed transitions between successive pairs of symbols in a sequence of symbols. Thus, the receiving device decodes the sequence of symbols using the clock signal received over the dedicated clock line, ignoring the second clock signal.
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호를 우선권으로 그리고 그의 이점을 주장하며, 이들 출원들의 전체 내용들은 인용에 의해 본 명세서에 포함된다.This application claims the benefit of US Provisional Application No. 14 / 250,119, filed April 10, 2014, titled "Multi-Lane N-Factorial (N!) And Other Multi-Wire Communication Systems" Continuing application; In addition, U.S. Provisional Patent Application No. 61 / 886,567, entitled " N Factorial Clock And Data Recovery With Negative Hold Time Sampling, "filed October 3, 2013, Filed on April 14, 2014, entitled " Factorial Dual Data Rate Clock And Data Recovery ", which is a continuation-in-part of US Serial No. 14 / 252,450; In addition, the present application claims priority to U. S. Provisional Application No. 61 / 886,556, filed October 3, 2013, entitled " Method To Enhance MIPI D-PHY Link Rate With Minimal PHY Changes And No Protocol Changes & Part of the application serial no. 14 / 491,884 filed on September 19, 2014 entitled " Method To Enhance MIPI D-PHY Link Rate With Minimal PHY Changes And No Protocol Changes ", filed October 10, 2015 No. 14 / 875,592, filed May 5, 2005, the entire contents of which are incorporated herein by reference.
[0002] 본 개시내용은 일반적으로 데이터 통신 인터페이스들에 관한 것으로, 더 상세하게는 멀티-레인 멀티-와이어 데이터 통신 인터페이스들에 관한 것이다.[0002] This disclosure relates generally to data communication interfaces, and more particularly to multi-lane multi-wire data communication interfaces.
[0003] 셀룰러 폰들과 같은 모바일 디바이스들의 제조사들은 상이한 제조사들을 포함하는 다양한 소스들로부터 모바일 디바이스들의 컴포넌트들을 획득할 수 있다. 예컨대, 셀룰러 폰의 애플리케이션 프로세서는 제1 제조사로부터 획득될 수 있는 반면, 셀룰러 폰에 대한 디스플레이는 제2 제조사로부터 획득될 수 있다. 애플리케이션 프로세서 및 디스플레이 또는 다른 디바이스는 표준-기반 또는 독점적인 물리 인터페이스를 사용하여 상호연결될 수 있다. 예컨대, 디스플레이는, MIPI(Mobile Industry Processor Interface Alliance)에 의해 특정된 DSI(Display System Interface) 표준에 따르는 인터페이스를 제공할 수 있다.[0003] Manufacturers of mobile devices, such as cellular phones, can obtain components of mobile devices from a variety of sources including different manufacturers. For example, an application processor of a cellular phone may be obtained from a first manufacturer, while a display for a cellular phone may be obtained from a second manufacturer. The application processor and display or other device may be interconnected using a standard-based or proprietary physical interface. For example, the display may provide an interface conforming to the DSI (Display System Interface) standard specified by the Mobile Industry Processor Interface Alliance (MIPI).
[0004] 일 예에서, 멀티-신호 데이터 전달 시스템은, 3-페이즈 또는 N-팩토리얼(factorial)(N!) LVDS(low-voltage differential signaling)와 같은 멀티-와이어 차동 시그널링을 이용할 수 있으며, 모든 각각의 심볼 사이클에서 심볼 트랜지션을 야기함으로써 심볼 클록 정보를 삽입하도록 트랜스코딩(예컨대, 하나의 인코딩 타입의 다른 인코딩 타입으로의 디지털-투-디지털 데이터 변환)이 수행될 수 있다. 트랜스코딩에 의해 클록 정보를 삽입하는 것은, 클록과 데이터 신호들 사이의 스큐(skew)를 최소화시킬 뿐만 아니라 위상-동기 루프(PLL)의 필요성을 제거하여 데이터 신호들로부터 클록 정보를 복원하기 위한 효율적인 방식이다.[0004] In one example, a multi-signal data delivery system may utilize multi-wire differential signaling such as 3-phase or N-factor (N!) Low-voltage differential signaling (LVDS) Transcoding (e.g., digital-to-digital data conversion to another encoding type of one encoding type) may be performed to insert symbol clock information by causing a symbol transition in each symbol cycle. Inserting the clock information by transcoding minimizes the skew between clock and data signals as well as eliminates the need for a phase-locked loop (PLL) Method.
[0005] 멀티-신호 통신 링크들을 통한 최적화된 통신들 및 개선된 데이터 전달 레이트들에 대한 진행중인 필요성이 존재한다.[0005] There is an ongoing need for optimized communications and improved data transfer rates over multi-signal communication links.
[0006] 본 명세서에 개시된 실시예들은 멀티-레인 멀티-와이어 인터페이스들에 관련된 시스템들, 방법들 및 장치를 제공한다.[0006] The embodiments disclosed herein provide systems, methods and apparatus related to multi-lane multi-wire interfaces.
[0007] 본 개시내용의 일 양상에서, 수신 디바이스에서의 데이터 통신 방법은 멀티-와이어 링크를 통해 심볼들의 시퀀스를 수신하는 단계를 포함한다. 심볼들의 시퀀스 내의 각각의 심볼은 멀티-와이어 링크의 N개의 와이어들의 시그널링 상태에 대응하며, 여기서, N은 1보다 큰 정수이다. 방법은, 전용 클록 라인을 통해 클록 신호를 수신하는 단계 ― 전용 클록 라인은 멀티-와이어 링크와는 별개이고 그와 병렬임 ―, 및 클록 신호를 사용하여 심볼들의 시퀀스를 디코딩하는 단계를 더 포함한다.[0007] In one aspect of the present disclosure, a method of data communication at a receiving device includes receiving a sequence of symbols over a multi-wire link. Each symbol in the sequence of symbols corresponds to the signaling state of the N wires of the multi-wire link, where N is an integer greater than one. The method further includes receiving a clock signal via a dedicated clock line, wherein the dedicated clock line is separate from and parallel to the multi-wire link, and decoding the sequence of symbols using the clock signal .
[0008] 본 개시내용의 일 양상에서, 제2 클록 신호는, 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입된다. 따라서, 방법은, 제2 클록 신호를 무시하면서, 전용 클록 라인을 통해 수신된 클록 신호를 사용하여 심볼들의 시퀀스를 디코딩한다.[0008] In one aspect of the present disclosure, a second clock signal is inserted into guaranteed transitions between successive pairs of symbols in a sequence of symbols. Thus, the method decodes a sequence of symbols using a clock signal received over a dedicated clock line, ignoring the second clock signal.
[0009] 본 개시내용의 일 양상에서, 디코딩하는 단계는, 클록 신호를 사용하여 심볼들의 시퀀스를 데이터 비트들의 세트로 변환하는 단계를 포함한다. 본 개시내용의 추가적인 양상에서, 심볼들의 시퀀스를 데이터 비트들의 세트로 변환하는 단계는, 심볼들의 시퀀스를 트랜지션 넘버들의 세트로 변환하기 위해 트랜스코더를 사용하는 단계, 및 트랜지션 넘버들의 세트를 데이터 비트들의 세트로 변환하는 단계를 포함한다.[0009] In one aspect of the present disclosure, the step of decoding includes converting a sequence of symbols into a set of data bits using a clock signal. In a further aspect of the present disclosure, converting the sequence of symbols to a set of data bits includes using a transcoder to convert a sequence of symbols to a set of transition numbers, Into a set.
[0010] 본 개시내용의 일 양상에서, 멀티-와이어 링크의 적어도 하나의 라인은 양방향이다. 방법은, 전용 클록 라인을 통해 수신된 클록 신호에 기반하여 적어도 하나의 양방향 라인을 통해 심볼들의 제2 시퀀스를 송신하는 단계를 더 포함한다.[0010] In one aspect of the present disclosure, at least one line of the multi-wire link is bi-directional. The method further includes transmitting a second sequence of symbols over at least one bi-directional line based on a clock signal received via a dedicated clock line.
[0011] 본 개시내용의 일 양상에서, 전용 클록 라인은 양방향이며, 멀티-와이어 링크를 통해 송신하는 임의의 디바이스로부터 구동될 수 있다. 방법은, 전용 클록 라인을 통해 제3 클록 신호를 송신하는 단계를 더 포함한다. 제3 클록 신호는, 적어도 하나의 양방향 라인을 통해 송신된 심볼들의 시퀀스로 데이터 비트들을 인코딩하기 위해 사용되는 송신 클록과 연관될 수 있다.[0011] In one aspect of the present disclosure, a dedicated clock line is bi-directional and can be driven from any device that transmits over a multi-wire link. The method further includes transmitting a third clock signal over a dedicated clock line. The third clock signal may be associated with a transmission clock used to encode data bits in a sequence of symbols transmitted over at least one bi-directional line.
[0012] 본 개시내용의 일 양상에서, 수신 디바이스는 프로세싱 회로를 포함한다. 메모리는 프로세싱 회로에 커플링될 수 있다. 프로세싱 회로는, 멀티-와이어 링크를 통해 심볼들의 시퀀스를 수신하고, 전용 클록 라인을 통해 클록 신호를 수신하며 ― 전용 클록 라인은 멀티-와이어 링크와는 별개이고 그와 병렬임 ―, 그리고 클록 신호를 사용하여 심볼들의 시퀀스를 디코딩하도록 구성된다.[0012] In one aspect of the present disclosure, a receiving device includes a processing circuit. The memory may be coupled to the processing circuitry. The processing circuit receives the sequence of symbols over a multi-wire link and receives the clock signal through a dedicated clock line, the dedicated clock line being separate from and parallel to the multi-wire link, To decode the sequence of symbols.
[0013] 본 개시내용의 일 양상에서, 장치는, 멀티-와이어 링크를 통해 심볼들의 시퀀스를 수신하기 위한 수단, 전용 클록 라인을 통해 클록 신호를 수신하기 위한 수단 ― 전용 클록 라인은 멀티-와이어 링크와는 별개이고 그와 병렬임 ―, 및 클록 신호를 사용하여 심볼들의 시퀀스를 디코딩하기 위한 수단을 포함한다.[0013] In one aspect of the present disclosure, an apparatus includes means for receiving a sequence of symbols over a multi-wire link, means for receiving a clock signal over a dedicated clock line, And means for decoding the sequence of symbols using the clock signal.
[0014] 본 개시내용의 일 양상에서, 프로세서-판독가능 저장 매체에는 하나 또는 그 초과의 명령들이 저장 또는 보유된다. 적어도 하나의 프로세싱 회로에 의해 실행될 경우, 명령들은 적어도 하나의 프로세싱 회로로 하여금, 멀티-와이어 링크를 통해 심볼들의 시퀀스를 수신하게 하고, 전용 클록 라인을 통해 클록 신호를 수신하게 하며 ― 전용 클록 라인은 멀티-와이어 링크와는 별개이고 그와 병렬임 ―, 그리고 클록 신호를 사용하여 심볼들의 시퀀스를 디코딩하게 할 수 있다.[0014] In one aspect of the present disclosure, one or more instructions are stored or held in a processor-readable storage medium. When executed by at least one processing circuit, the instructions cause at least one processing circuit to receive a sequence of symbols over a multi-wire link and receive a clock signal over a dedicated clock line, Be separate from and parallel to the multi-wire link, and use a clock signal to decode the sequence of symbols.
[0015] 본 개시내용의 일 양상에서, 송신 디바이스에서의 데이터 통신 방법은, 심볼들의 시퀀스로 데이터 비트들을 인코딩하는 단계, 심볼들의 시퀀스에 제2 클록 신호를 선택적으로 삽입하는 단계를 포함하며, 제2 클록 신호는 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입된다. 심볼들의 시퀀스 내의 각각의 심볼은 멀티-와이어 링크의 N개의 와이어들의 시그널링 상태에 대응하며, 여기서, N은 1보다 큰 정수이다. 방법은, 멀티-와이어 링크를 통해 심볼들의 시퀀스를 송신하는 단계, 및 전용 클록 라인을 통해 심볼들의 시퀀스와 연관된 클록 신호를 송신하는 단계를 더 포함하며, 여기서, 전용 클록 라인은 멀티-와이어 링크와는 별개이고 그와 병렬이다.[0015] In one aspect of the disclosure, a method of data communication in a transmitting device includes encoding data bits in a sequence of symbols, selectively inserting a second clock signal in a sequence of symbols, 2 clock signal is inserted into guaranteed transitions between successive pairs of symbols in a sequence of symbols. Each symbol in the sequence of symbols corresponds to the signaling state of the N wires of the multi-wire link, where N is an integer greater than one. The method further includes transmitting a sequence of symbols over a multi-wire link, and transmitting a clock signal associated with the sequence of symbols over a dedicated clock line, wherein the dedicated clock line is a multi-wire link Are separate and parallel to it.
[0016] 본 개시내용의 일 양상에서, 데이터 비트들을 인코딩하는 단계는, 데이터 비트들을 트랜지션 넘버들의 세트로 변환하기 위해 트랜스코더를 사용하는 단계, 및 심볼들의 시퀀스를 획득하기 위해 트랜지션 넘버들의 세트를 변환하는 단계를 포함한다.[0016] In one aspect of the present disclosure, encoding the data bits comprises using a transcoder to convert the data bits into a set of transition numbers, and using a set of transition numbers to obtain a sequence of symbols .
[0017] 본 개시내용의 일 양상에서, 멀티-와이어 링크의 적어도 하나의 라인은 양방향이다. 방법은, 전용 클록 라인을 통해 송신된 클록 신호에 기반하여 적어도 하나의 양방향 라인을 통해 심볼들의 제2 시퀀스를 수신하는 단계를 더 포함한다.[0017] In an aspect of the present disclosure, at least one line of the multi-wire link is bidirectional. The method further includes receiving a second sequence of symbols over at least one bi-directional line based on a clock signal transmitted over a dedicated clock line.
[0018] 본 개시내용의 일 양상에서, 전용 클록 라인은 양방향이며, 멀티-와이어 링크를 통해 송신하는 임의의 디바이스로부터 구동될 수 있다. 방법은, 전용 클록 라인을 통해 제3 클록 신호를 수신하는 단계를 더 포함한다. 제3 클록 신호는, 적어도 하나의 양방향 라인을 통해 수신된 심볼들의 시퀀스로 데이터 비트들을 인코딩하기 위해 사용되는 송신 클록과 연관될 수 있다.[0018] In an aspect of the present disclosure, the dedicated clock line is bidirectional and may be driven from any device transmitting over a multi-wire link. The method further includes receiving a third clock signal via a dedicated clock line. The third clock signal may be associated with a transmission clock that is used to encode data bits in a sequence of received symbols over at least one bi-directional line.
[0019] 본 개시내용의 일 양상에서, 송신 디바이스는 프로세싱 회로를 포함한다. 프로세싱 회로는 메모리에 커플링될 수 있다. 프로세싱 회로는, 심볼들의 시퀀스로 데이터 비트들을 인코딩하고, 심볼들의 시퀀스에 제2 클록 신호를 선택적으로 삽입하고 ― 제2 클록 신호는 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입됨 ―, 멀티-와이어 링크를 통해 심볼들의 시퀀스를 송신하며, 그리고 전용 클록 라인을 통해 심볼들의 시퀀스와 연관된 클록 신호를 송신하도록 구성되고, 여기서, 전용 클록 라인은 멀티-와이어 링크와는 별개이고 그와 병렬이다.[0019] In an aspect of the present disclosure, a transmitting device includes a processing circuit. The processing circuitry may be coupled to a memory. The processing circuitry may encode the data bits in a sequence of symbols and selectively insert a second clock signal into the sequence of symbols and the second clock signal is inserted into guaranteed transitions between successive pairs of symbols in a sequence of symbols - to transmit a sequence of symbols over a multi-wire link, and to transmit a clock signal associated with a sequence of symbols over a dedicated clock line, wherein the dedicated clock line is separate from the multi- Respectively.
[0020] 본 개시내용의 일 양상에서, 장치는, 클록 신호를 사용하여 심볼들의 시퀀스로 데이터 비트들을 인코딩하기 위한 수단, 심볼들의 시퀀스에 제2 클록 신호를 선택적으로 삽입하기 위한 수단 ― 제2 클록 신호는 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입됨 ―, 멀티-와이어 링크를 통해 심볼들의 시퀀스를 송신하기 위한 수단, 및 그리고 전용 클록 라인을 통해 심볼들의 시퀀스와 연관된 클록 신호를 송신하기 위한 수단을 포함하며, 여기서, 전용 클록 라인은 멀티-와이어 링크와는 별개이고 그와 병렬이다.[0020] In one aspect of the present disclosure, an apparatus includes means for encoding data bits in a sequence of symbols using a clock signal, means for selectively inserting a second clock signal in a sequence of symbols, Wherein the signal is inserted into guaranteed transitions between successive pairs of symbols in a sequence of symbols, means for transmitting a sequence of symbols over a multi-wire link, and means for transmitting a clock associated with the sequence of symbols over a dedicated clock line, Wherein the dedicated clock line is separate from and parallel to the multi-wire link.
[0021] 본 개시내용의 일 양상에서, 프로세서-판독가능 저장 매체에는 하나 또는 그 초과의 명령들이 저장 또는 보유된다. 적어도 하나의 프로세싱 회로에 의해 실행될 경우, 명령들은 적어도 하나의 프로세싱 회로로 하여금, 심볼들의 시퀀스로 데이터 비트들을 인코딩하게 하고, 심볼들의 시퀀스에 제2 클록 신호를 선택적으로 삽입하게 하고 ― 제2 클록 신호는 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입됨 ―, 멀티-와이어 링크를 통해 심볼들의 시퀀스를 송신하게 하며, 그리고 전용 클록 라인을 통해 심볼들의 시퀀스와 연관된 클록 신호를 송신하게 할 수 있고, 여기서, 전용 클록 라인은 멀티-와이어 링크와는 별개이고 그와 병렬이다.[0021] In one aspect of the present disclosure, one or more instructions are stored or held in a processor-readable storage medium. When executed by at least one processing circuit, the instructions cause at least one processing circuit to encode data bits in a sequence of symbols, selectively insert a second clock signal into the sequence of symbols, Inserted into guaranteed transitions between pairs of consecutive symbols in a sequence of symbols, to transmit a sequence of symbols over a multi-wire link, and to transmit a clock signal associated with a sequence of symbols over a dedicated clock line , Where the dedicated clock line is separate from and parallel to the multi-wire link.
[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는 멀티-와이어 링크를 통해 데이터 비트들을 통신하기 위한 송신 디바이스의 방법을 예시한 흐름도이다.[0022] FIG. 1 illustrates an apparatus that utilizes a data link between integrated circuit (IC) devices selectively operating according to one of a plurality of available standards.
[0023] FIG. 2 illustrates a system architecture for a device that utilizes a data link between IC devices.
[0024] FIG. ≪ / RTI > illustrates a CDR circuit that may be used in a communication interface.
[0025] FIG. 4 illustrates the timing of certain signals generated by the CDR circuit of FIG. 3, in accordance with one or more aspects disclosed herein.
[0026] FIG. 5 is a diagram showing a basic N! An example of a multi-lane interface is illustrated.
[0027] FIG. 6 illustrates a first example of a multi-lane interface provided in accordance with one or more aspects disclosed herein.
[0028] FIG. 7 illustrates a second example of a multi-lane interface provided in accordance with one or more aspects disclosed herein.
[0029] FIG. 8 illustrates a third example of a multi-lane interface provided in accordance with one or more aspects disclosed herein.
[0030] FIG. 9 illustrates a fourth example of a multi-lane interface provided in accordance with one or more aspects disclosed herein.
[0031] FIG. 10 is a timing diagram illustrating the ordering of data transmitted over a multi-lane interface provided in accordance with one or more aspects disclosed herein.
[0032] FIG. 11 illustrates a fifth example of a multi-lane interface provided in accordance with one or more aspects disclosed herein.
[0033] FIG. 12 is a flow diagram of a method for operating a receiver in a multi-lane N-wire interface provided in accordance with one or more aspects disclosed herein.
[0034] FIG. 13 is a diagram illustrating a simplified example of a receiver in a multi-lane N-wire interface provided in accordance with one or more aspects disclosed herein.
[0035] Figure 14 is a flow diagram of a method for operating a transmitter in a multi-lane N-wire interface provided in accordance with one or more aspects disclosed herein.
[0036] FIG. 15 is a diagram illustrating a simplified example of a transmitter in a multi-lane N-wire interface provided in accordance with one or more aspects disclosed herein.
[0037] Figure 16 is a diagram illustrating a further example of a multi-lane interface provided between two devices in accordance with one or more aspects disclosed herein.
[0038] FIG. 17 illustrates examples of transmitting symbols on a plurality of data lanes using a dedicated clock line.
[0039] FIG. 18 illustrates examples of multi-wire transcoding using dedicated clock lines.
[0040] FIG. 19 is an illustration of an apparatus (receiving device) configured to support operations related to communicating data bits over a multi-wire link in accordance with one or more aspects disclosed herein.
[0041] FIG. 20 is a flow diagram illustrating a method of a receiving device for communicating data bits over a multi-wire link.
[0042] FIG. 21 is an illustration of an apparatus (transmitting device) configured to support operations related to communicating data bits over a multi-wire link in accordance with one or more aspects disclosed herein.
[0043] FIG. 22 is a flow chart illustrating a method of a transmitting device for communicating data bits over a multi-wire link.
[0044] 이제, 다양한 양상들이 도면들을 참조하여 설명된다. 다음의 설명에서, 설명의 목적들을 위해, 다수의 특정한 세부사항들은, 하나 또는 그 초과의 양상들의 완전한 이해를 제공하기 위해 기재된다. 그러나, 그러한 양상(들)이 이들 특정한 세부사항들 없이도 실시될 수 있다는 것은 명백할 수 있다.[0044] Various aspects are now described with reference to the drawings. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of one or more aspects. It may be evident, however, that such aspect (s) may be practiced without these specific details.
[0045] 본 출원에서 사용된 바와 같이, 용어들 "컴포넌트", "모듈", "시스템" 등은 하드웨어, 펌웨어, 하드웨어와 소프트웨어의 결합, 소프트웨어, 또는 실행중의 소프트웨어와 같지만 이에 제한되지는 않는 컴퓨터-관련 엔티티를 포함하도록 의도된다. 예컨대, 컴포넌트는 프로세서 상에서 구동하는 프로세스, 프로세서, 오브젝트, 실행파일(executable), 실행 스레드, 프로그램 및/또는 컴퓨터일 수 있지만, 이에 제한되지는 않는다. 예시로서, 컴퓨팅 디바이스 상에서 구동하는 애플리케이션 및 컴퓨팅 디바이스 둘 모두는 컴포넌트일 수 있다. 하나 또는 그 초과의 컴포넌트들은 프로세스 및/또는 실행 스레드 내에 상주할 수 있으며, 컴포넌트는 하나의 컴퓨터 상에서 로컬화될 수 있고 그리고/또는 2개 또는 그 초과의 컴퓨터들 사이에서 분산될 수 있다. 부가적으로, 이들 컴포넌트들은 다양한 데이터 구조들이 저장된 다양한 컴퓨터 판독가능 매체들로부터 실행할 수 있다. 컴포넌트들은, 이를테면, 하나 또는 그 초과의 데이터 패킷들을 갖는 신호, 이를테면, 로컬 시스템에서, 분산 시스템에서 그리고/또는 신호에 의한 다른 시스템들과의 네트워크, 이를테면, 인터넷을 통해 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터의 데이터에 따라 로컬 및/또는 원격 프로세스들에 의해 통신할 수 있다.[0045] As used in this application, the terms "component," "module," "system," and the like are intended to refer to a combination of hardware, firmware, hardware and software, software, Computer-related entities are intended to be included. For example, a component may be, but is not limited to, a process running on a processor, a processor, an object, an executable, an execution thread, a program and / or a computer. By way of example, both an application running on a computing device and a computing device may be a component. One or more of the components may reside within a process and / or thread of execution, and the component may be localized on one computer and / or distributed between two or more computers. Additionally, these components may execute from various computer readable media having various data structures stored thereon. The components may be, for example, a signal having one or more data packets, such as a local system, a network interacting with other components in a distributed system and / or with other systems by means of a signal, Lt; / RTI > and / or remote processes in accordance with the data from the component of the device.
[0046] 또한, 용어 "또는"은 배타적인 "또는" 보다는 포괄적인 "또는"을 의미하도록 의도된다. 즉, 달리 명시되거나 문맥상 명확하지 않으면, 어구 "X는 A 또는 B를 이용한다"는 본래의 포괄적인 치환들 중 임의의 치환을 의미하도록 의도된다. 즉, 어구 "X는 A 또는 B를 이용한다"는 다음의 예시들, 즉, X는 A를 이용한다; X는 B를 이용한다; 또는 X는 A 및 B 둘 모두를 이용한다 중 임의의 예시에 의해 충족된다. 부가적으로, 본 출원 및 첨부된 청구항들에서 사용된 바와 같은 단수 표현들은 달리 명시되지 않거나 단수 형태로 지시되는 것으로 문맥상 명확하지 않으면, "하나 또는 그 초과"를 의미하도록 일반적으로 해석되어야 한다.[0046] Also, the term "or" is intended to mean "exclusive" or "rather than" or ". That is, unless otherwise stated or contextually clear, the phrase "X uses A or B" is intended to mean any substitution of the original generic substitutions. That is, the following examples of the phrase "X uses A or B ", i.e., X uses A; X uses B; Or < RTI ID = 0.0 > X < / RTI > uses both A and B. Additionally, the singular expressions as used in this application and the appended claims should be interpreted generally to mean "one or more, " unless the context clearly dictates otherwise or in a singular form.
[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)에 동작가능하게 커플링될 수 있다.Certain aspects of the invention relate to communication links disposed between electronic devices that may include subcomponents of the device, such as a telephone, a mobile computing device, a device, automotive electronics, avionics systems, May be applicable. 1 illustrates an apparatus that can utilize a communication link between IC devices. In one example, the
[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)의 일부는 케이블 또는 광 연결을 포함할 수 있다.[0048] Figure 2 is a block schematic diagram illustrating certain aspects of an
[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)로 데이터를 통신하는 경우 더 낮은 데이터 레이트로 동작할 수 있다.[0049]
[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)에 의해 용이하게 될 수 있다.[0050] Each of
[0051] 역방향 링크(224)는 순방향 링크(222)와 동일한 방식으로 동작될 수 있고, 순방향 링크(222) 및 역방향 링크(224)는 비슷한 속도들 또는 상이한 속도들로 송신하는 것이 가능할 수 있으며, 여기서, 속도는 데이터 전달 레이트 및/또는 클록킹(clocking) 레이트들로 표현될 수 있다. 순방향 및 역방향 데이터 레이트들은 애플리케이션에 의존하여, 실질적으로 동일하거나 수십배만큼 상이할 수 있다. 몇몇 애플리케이션들에서, 단일 양방향 링크(226)는 제1 IC 디바이스(202)와 제2 IC 디바이스(230) 사이의 통신들을 지원할 수 있다. 순방향 링크(222) 및/또는 역방향 링크(224)는, 예컨대, 순방향 및 역방향 링크들(222 및 224)이 동일한 물리 연결들을 공유하고 하프-듀플렉스 방식으로 동작하는 경우 양방향 모드로 동작하도록 구성가능할 수 있다. 일 예에서, 통신 링크(220)는 산업 또는 다른 표준에 따라 제1 IC 디바이스(202)와 제2 IC 디바이스(230) 사이에서 제어, 커맨드 및 다른 정보를 통신하도록 동작될 수 있다.The
[0052] 일 예에서, 순방향 및 역방향 링크들(222 및 224)은 프레임 버퍼 없이 제2 LCD 드라이버 IC 당 WVGA(wide video graphics array) 80 프레임들을 지원하여, 디스플레이 리프레쉬를 위해 810Mbps로 픽셀 데이터를 전달하도록 구성 또는 적응될 수 있다. 다른 예에서, 순방향 및 역방향 링크들(222 및 224)은, 더블 데이터 레이트 동기식 동적 랜덤 액세스 메모리(SDRAM)와 같은 동적 랜덤 액세스 메모리(DRAM)와의 통신들을 가능하게 하도록 구성 또는 적응될 수 있다. 인코딩 디바이스들(210 및/또는 240)은 클록 트랜지션마다 다수의 비트들을 인코딩할 수 있으며, 와이어들의 다수의 세트들은 SDRAM으로부터의 데이터, 제어 신호들, 어드레스 신호들 등을 송신 및 수신하기 위해 사용될 수 있다.In one example, the forward and reverse
[0053] 순방향 및 역방향 링크들(222 및 224)은 애플리케이션-특정 산업 표준들을 따르거나 그와 호환가능할 수 있다. 일 예에서, MIPI 표준은, 모바일 디바이스에서 카메라 또는 디스플레이를 지원하는, 애플리케이션 프로세서 IC 디바이스(202)와 IC 디바이스(230) 사이의 물리 계층 인터페이스들을 정의한다. MIPI 표준은, 모바일 디바이스들에 대한 MIPI 규격들을 따르는 제품들의 동작 특징들을 관리하는 규격들을 포함한다. MIPI 표준은, 상보성 금속-산화물-반도체(CMOS) 병렬 버스들을 이용하는 인터페이스들을 정의할 수 있다.[0053] Forward and
[0054] 일 예에서, 도 2의 통신 링크(220)는 복수의 신호 와이어들(N개의 와이어들로 표기됨)을 포함하는 와이어링 버스로서 구현될 수 있다. N개의 와이어들은 심볼들로 인코딩된 데이터를 반송하도록 구성될 수 있으며, 여기서, 클록 정보는 복수의 와이어들을 통해 송신된 심볼들의 시퀀스에 삽입된다.[0054] In one example, the
[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)를 구성함으로써 선택될 수 있다.[0055] FIG. 3 illustrates an example of a clock and data recovery (CDR)
[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)을 제어하기 위해 사용될 수 있다.In operation, the
[0057] 원-샷 회로(326)는 NEFLT 신호(316)를 수신하고 고정 폭 펄스(412)를 생성하며, 그 후, 그 펄스는 지연 엘리먼트(312)에 의해 지연되어 클록 신호(SDRCLK)(318)를 생성할 수 있다. 몇몇 예시들에서, SDRCLK 신호(318)는 CDR(300)의 데이터 출력(328)을 샘플링하도록 외부 회로에 의해 사용될 수 있다. 일 예에서, SDRCLK 신호(318)는 디코더 또는 역직렬화기 회로들로 제공될 수 있다. 레벨 래치들(310)은 SI 신호(320)를 수신하여 S 신호(322)를 출력하며, 여기서, 레벨 래치들(310)은 SDRCLK 신호(318)에 의해 트리거링되거나 그렇지 않으면 제어된다.The one-
[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 상태는 트랜지션이 발생하고 있다는 것을 표시한다.[0058] In operation, the
[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)의 리셋 기능을 제어한다.As can be appreciated from the timing diagram 400, the S signal 322 is essentially a delayed and filtered version of the
[0060] 제1 심볼값 S0(402)와 다음의 심볼값 S1(404) 사이의 트랜지션의 시작(416)에서, SI 신호(320)는 상태를 변화시키는 것을 시작한다. SI 신호(320)의 상태는, S0(402)와 S1(404) 사이의 트랜지션 동안 중간 또는 결정되지 않은 상태들(408)의 가능성으로 인해 S1(404)와는 상이할 수 있다. 이들 중간 또는 결정되지 않은 상태들(408)은, 예컨대, 와이어간 스큐, 오버/언더 슈트(shoot), 누화 등에 의해 야기될 수 있다.[0060] At the
[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)에 대해 지연될 수 있다.The NE signal 314 is high as soon as the
[0062] SI(320)에 대한 중간 또는 결정되지 않은 상태들(408)은 유효하지 않은 데이터를 표현할 수 있다. 이들 중간 또는 결정되지 않은 상태들(408)은 이전의 심볼값 S0(402)의 짧은 기간을 포함할 수 있고, NE 신호(314)로 하여금 짧은 시간 기간들 동안 로우로 리턴하게 할 수 있다. SI 신호(320)의 트랜지션들은 NE 신호(314) 상에서 스파이크들(410)을 생성할 수 있다. 스파이크들(410)은 효율적으로 필터링 아웃되며, NEFLT 신호(316)에서 나타나지 않는다.[0062] Intermediate or
[0063] NEFLT 신호(316)의 하이 상태는 SDRCLK 신호(318)로 하여금, 지연 회로(312)에 의해 야기된 지연 기간(340) 이후 하이로 트랜지션하게 한다. SDRCLK 신호(318)의 하이 상태는 셋-리셋 래치(306) 출력을 리셋하여, NEFLT 신호(316)로 하여금 로우 상태로 트랜지션하게 한다. SDRCLK 신호(318)의 하이 상태는 또한, 레벨 래치들(310)을 인에이블링시키며, SI 신호(320) 값은 S 신호(322) 상에서 출력될 수 있다.The high state of the
[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)에 따라 자신의 값을 스위칭하게 할 수 있다.[0064] The
[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)의 수는, 각각의 심볼 송신 간격 동안 이용가능한, 이용가능한 시그널링 상태들의 수에 기반하여 계산될 수 있다.[0065] FIG. 5 is a diagram illustrating an example of a
[0066] 종단 임피던스(통상적으로는 저항성)는 종단 네트워크(528, 530)의 공통 중심 포인트에 N개의 와이어들 각각을 커플링시킨다. N개의 와이어들의 시그널링 상태들이 각각의 와이어에 커플링된 차동 드라이버들(510, 520)에 기인하는 종단 네트워크(528, 530)의 전류들의 결합을 반영한다는 것이 인식될 것이다. 종단 네트워크(528, 530)의 중심 포인트가 널(null) 포인트이며, 그에 의해, 종단 네트워크(528, 530)의 전류들이 중심 포인트에서 서로를 상쇄시킨다는 것이 추가로 인식될 것이다.[0066] The termination impedance (typically resistive) couples each of the N wires to a common central point of the
[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개의 상이한 심볼들을 포함한다는 것을 기반으로 동작한다.Since at least one of the N C 2 signals in the link transitions between consecutive symbols, N! The encoding scheme need not use a separate clock channel and / or non-return-to-zero decoding. Efficiently, each
[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비트들로서 계산될 수 있다.[0068]
[0069] 수신 디바이스(532)는 라인 수신기들의 세트(534, 544)를 사용하여 심볼들의 시퀀스를 수신하며, 여기서, 라인 수신기들의 세트(534, 544) 내의 각각의 수신기는 N개의 와이어들의 하나의 쌍에 대한 시그널링 상태들의 차이들을 결정한다. 따라서, NC2개의 수신기들이 각각의 레인(512, 522)에서 사용되며, 여기서, N은 대응하는 레인(512, 522)의 와이어들의 수를 표현한다. NC2개의 수신기들(534, 544)은 대응하는 수의 원시 심볼들을 출력들로서 생성한다.[0069] The receiving
[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)를 생성한다.In the illustrated example, each of the
[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개의 와이어들 상에서 송신되는 적어도 하나의 신호에서 발생한다는 것을 보장한다.As illustrated in the example of FIG. 5, each
[0072] 도 6은 본 명세서에 개시된 특정한 양상들에 따라 제공되는 멀티-레인 인터페이스(600)의 제1 예를 예시한다. 멀티-레인 인터페이스(600)는, 제1 레인(여기서는 레인 X)(612) 상에서 송신된 심볼들로 인코딩된 클록 정보가 레인 Y(622)를 포함하는 하나 또는 그 초과의 다른 레인들 상에서, 인코딩된 클록 정보 없이 송신되는 심볼들을 수신하기 위해 사용되는 경우, 개선된 데이터 스루풋 및 감소된 회로 복잡도를 제공한다. 도시된 예에서, 각각의 레인(612, 622)은 4개의 와이어들을 포함한다.[0072] FIG. 6 illustrates a first example of a
[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)를 추출한다.[0073] Data for transmission may be divided into two
[0074] 제2 레인(622)에 대해, 송신 데이터(614)는 트랜스코딩 및 직렬화 회로들(618)로 제공되고, 인코딩된 클록 정보 없이 제2 레인(622) 상에서 송신될 수 있다. 제2 레인(622)에 대한 원시 심볼들을 생성하기 위해 사용되는 트랜스코딩 회로는, 제1 레인(612) 상에서의 송신을 위한 삽입된 클록 정보를 갖는 원시 심볼들을 생성하기 위해 사용되는 트랜스코딩 회로보다 상당히 덜 복잡할 수 있다. 예컨대, 제2 레인(622)에 대한 트랜스코딩 회로들은, 모든 각각의 심볼 경계에서의 상태 트랜지션을 보장하기 위해 특정한 산술 연산들 및 로직 기능들을 수행할 필요가 없을 수 있다.For
[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!의 단일 레인에서 클록 정보를 인코딩함으로써, 더 높은 전체 스루풋이 더 적은 하드웨어로 달성될 수 있다.[0075] In the example shown in FIG. 6, the
[0076] 도 7은 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 인터페이스(700)의 다른 예를 예시한다. 멀티-레인 인터페이스(700)는, 최적화된 데이터 스루풋 및 감소된 회로 복잡도에 부가하여 설계의 개선된 유연성을 제공한다. 여기서, 하나의 레인(여기에서는 레인 X)(712) 상에서 송신된 심볼들로 인코딩된 클록 정보는, 상이한 수들의 와이어들을 갖는 하나 또는 그 초과의 다른 레인들(722) 상에서 송신된 심볼들을 수신하기 위해 사용될 수 있다.[0076] FIG. 7 illustrates another example of a
[0077] 도시된 예에서, 송신을 위한 데이터는 복수의 부분들(704 및 714)로 분할될 수 있으며, 여기서, 각각의 부분은 상이한 레인(712, 722) 상에서 송신될 것이다. 제1 레인(712) 상에서, 데이터(704) 및 송신 클록(724)은, 도 5 및 도 6과 관련하여 설명된 바와 같이 원시 심볼들의 시퀀스를 획득하도록 트랜스코딩 및 직렬화 회로들(708)에 의해 변환될 수 있다. 제2 레인(722) 상에서, 수신된 데이터(714)는 트랜스코딩 및 직렬화 회로들(718)로 제공되고, 그 후, 삽입된 클록 정보 없이 송신될 수 있다.[0077] In the illustrated example, the data for transmission may be divided into a plurality of
[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)를 추출한다.At
[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비트들을 인코딩할 수 있다.[0079] In an example, the
[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개의 시그널링 상태들을 제공한다.[0080] If a
[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)의 가변 스위칭 시간들의 영향을 감소시킬 수 있다.[0081] FIG. 8 illustrates another example of a
[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) 둘 모두에 의해 사용된다.[0082] In operation, data for transmission may be received at two or
[0083] 도 9는 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 인터페이스(900)의 다른 예를 예시한다. 이러한 예에서, 멀티-레인 인터페이스(900)는, 연속적인 심볼 간격들 사이의 시그널링 상태의 트랜지션이 복수의 레인들(912, 922) 중 임의의 하나 상에서 발생한다는 것을 보장함으로써, 개선된 데이터 스루풋 및 인코딩 효율을 제공한다. 따라서, 클록 정보를 인코딩하는 것과 연관된 퍼센티지 오버헤드는, 클록 정보가 단일 레인 상에서 송신된 심볼들의 시퀀스들에 삽입되는 시스템에 비해 감소될 수 있다. 멀티-레인 인터페이스(900)에서, 제1 레인(여기에서는 레인 X)(912)은 3!개의 인코딩된 신호들을 반송하는 3개의 와이어들을 포함하는 반면, 제2 레인(여기에서는 레인 Y)(922)은 4개의 와이어들을 포함하고, 4! 인코딩을 위해 구성된다. 레인들의 상이한 수들 및 구성들이 이용될 수 있으며, 도 9에 도시된 특정한 예는 단지 예시의 목적들을 위해서만 제공된다. 트랜스코더(906)는, 2개 또는 그 초과의 레인들(912 및/또는 922)을 통해 송신될 심볼들에서 데이터(904)와 클록 정보를 결합하도록 적응될 수 있다.[0083] FIG. 9 illustrates another example of a
[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) 둘 모두에 걸쳐 삽입되는 경우, 각각의 심볼 간격에서 트랜스코더에 이용가능한 상태들의 수는 다음과 같이 계산될 수 있다:[0084] Encoding efficiencies can be achieved by inserting clock information based on a combination of the available signaling states for all
다른 예에서, 클록 정보가 3!을 사용하여 3개의 신호들로 인코딩된 2개의 레인들에 걸쳐 삽입되는 경우, 각각의 심볼 간격에서 트랜스코더에 이용가능한 상태들의 수는 다음과 같이 계산될 수 있다:In another example, if the clock information is inserted over two lanes encoded with three signals using 3s, then the number of states available to the transcoder at each symbol interval may be calculated as :
[0085] 각각의 심볼 트랜지션에서 트랜스코더에 이용가능한 상태들의 수는 각각의 수신 데이터 사이클에서 송신될 수 있는 비트들의 수를 관리한다.[0085] The number of states available to the transcoder in each symbol transition manages the number of bits that can be transmitted in each received data cycle.
[0086] 표 1 및 표 2는, 클록 정보가 2개 또는 그 초과의 N! 레인들에 걸쳐 트랜스코더에 의해 삽입되는 경우의 증가된 코딩 효율들을 예시한다. 표 1은 도 9의 멀티-레인 인터페이스(900)에 관련된다. 표로부터 알 수 있는 바와 같이, 트랜스코더(906)가 레인들(912, 922) 둘 모두 상에서 송신된 심볼들의 시퀀스들을 고려함으로써 클록 정보를 삽입하는 경우 최대 인코딩 효율이 획득된다.[0086] Tables 1 and 2 show the case where the clock information is 2 or more N! Illustrate increased coding efficiencies when inserted by a transcoder across lanes. Table 1 relates to the
표 2는 2개의 3! 레인들을 갖는 멀티-레인 인터페이스의 일 예에 관련된다.Table 2 shows two 3! Lane < / RTI > interface with lanes.
[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)의 와이어들의 수에 따라 제공될 수 있다.In the example of FIG. 9, the
[0088] 멀티-레인 인터페이스(900)는 종래의 인터페이스들에 비해 부가적인 장점들을 제공하도록 구성될 수 있다. 도 10은, 트랜스코더(1024)가 수신기로의 데이터의 전달 순서를 제어하기 위해 사용될 수 있는 일 예를 예시한다. 도 5의 멀티-레인 인터페이스(500)와 같은 하나의 멀티-레인 인터페이스(1000)는, 대응하는 수의 레인들을 통한 송신을 위해 데이터 비트들(1002, 1004)의 2개 또는 그 초과의 세트들을 심볼들의 시퀀스들(1006, 1008)로 독립적으로 인코딩할 수 있다. 데이터는, 데이터 비트들(1002, 1004)의 세트들로 사전-분할된 멀티-레인 인터페이스(1000)에 제공될 수 있고, 그리고/또는 데이터 비트들(1002, 1004)의 세트들은 멀티-레인 인터페이스(1000)에 의해 분할될 수 있다. 데이터 비트들은, 데이터 비트들(1002, 1004)의 2개 또는 그 초과의 세트들 사이에서 임의로, 함수에 따라, 설계 선호도에 따라 또는 편의상 그리고/또는 다른 이유들에 따라 할당될 수 있다.[0088] The
[0089] 예시된 멀티-레인 인터페이스(1000)에서, 제1 클록 사이클에서 수신된 각각의 워드, 바이트 또는 다른 데이터 엘리먼트는, 2개의 레인들 중 하나 상에서 심볼 간격들(1012a-1012g)의 쌍으로 순차적으로 송신되는 2개 또는 그 초과의 심볼들로 인코딩될 수 있다. 수신기는, 2개 또는 그 초과의 심볼들이 심볼 간격들(1012a-1012g)의 쌍으로부터 수신되는 경우 데이터 엘리먼트를 디코딩할 수 있다.[0089] In the illustrated
[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개의 병렬 데이터 레인들 상에서의 데이터의 송신은, 카메라의 셔터 및/또는 플래시 제어, 게임 애플리케이션들과 연관된 제어 신호들과 같은 타이밍-민감 애플리케이션들에 대해 특정한 이점들을 제공할 수 있다.[0090] A
[0091] 도 11은 본 명세서에 개시된 하나 또는 그 초과의 양상들에 따라 제공되는 멀티-레인 인터페이스(1100)의 다른 예를 예시한다. 이러한 예에서, 멀티-레인 인터페이스(1100)는 적어도 하나의 N! 인코딩된 레인(1112) 및 시리얼 데이터 링크(1122)를 포함한다. 시리얼 데이터 링크(1122)는 (예시된 바와 같은) 싱글 엔디드(single ended) 시리얼 링크 또는 차동적으로 인코딩된 시리얼 데이터 링크일 수 있다. 시리얼 데이터 링크(1122)는, 집적 회로간(I2C) 버스, 카메라 제어 인터페이스(CCI) 시리얼 버스 또는 이들 시리얼 버스 기술들의 파생물들과 같은 시리얼 버스를 포함할 수 있다. 도시된 예에서, 클록 신호(1124)는 N! 링크의 직렬화기(1108) 및 시리얼 링크(1122)의 직렬화기(1118)에 의해 사용되며, 클록 신호(1124)는 별개의 클록 신호 레인을 통해 수신기(1132)로 송신될 필요가 없다. 대신, 트랜스코더(1106)는, N! 레인(1112)의 차동 라인 드라이버들로 직렬화기를 통해 제공되는 심볼들의 시퀀스에 클록 정보를 삽입한다.[0091] FIG. 11 illustrates another example of a
[0092] 수신기(1132)에서, CDR(1136)은 수신기들(1134)의 출력들에서 검출된 트랜지션들로부터 수신기 클록 신호(1154)를 생성한다. 수신기 클록 신호(1154)는, N! 레인 역직렬화기(1138) 및 시리얼 링크 역직렬화기(1148)에 의해 사용된다. 몇몇 예시들에서, CDR(1136)은, 심볼 간격들 사이의 트랜지션의 검출을 개선시키기 위해 시리얼 링크(1122)와 연관된 라인 수신기들(1144)의 출력을 모니터링할 수 있다. N! 레인 역직렬화기(1138)는, N! 인코딩된 레인(1112)을 통해 송신된 입력 데이터(1104)를 표현하는 출력 데이터(1142)를 생성하는 트랜스코더(1140)에 역직렬화된 심볼 정보를 제공한다.At the
[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)이 사용되는 경우 달성된다.[0093] In one example, the
[0094] 비교로서, 종래의 또는 전통적인 4-와이어 시리얼 링크(1122)는 클록 신호를 반송하기 위해 4개의 와이어들 중 하나를 전용할 수 있고, 데이터 송신은 4개의 와이어들 중 다른 3개 상의 3개의 신호들로 제한될 수 있다. 이러한 후자의 구성에서, 심볼 당 23 = 8개의 시그널링 상태들이 시리얼 링크(1122) 상에서 제공될 수 있으며, 데이터가 3! 인코딩된 제1 레인(1112)에서 또한 송신되는 경우 심볼 당 5×8 = 40개의 시그널링 상태들의 총계가 초래된다.[0094] As a comparison, a conventional or traditional 4-wire
[0095] 도 12는 N-와이어 통신 링크 상에서의 데이터 통신들을 위한 방법을 예시한 흐름도(1200)이다. 통신 링크는, N! 인코딩, 멀티페이즈 인코딩, 멀티-와이어 차동 인코딩 등과 같은 적합한 인코딩 방식을 사용하여 인코딩된 심볼들을 반송하는 복수의 커넥터들을 포함할 수 있다. 커넥터들은 전기적으로 도전성인 와이어들, 광 신호 컨덕터들, 반도전성 상호연결부들 등을 포함할 수 있다. 방법은 수신 디바이스의 하나 또는 그 초과의 프로세서들에 의해 수행될 수 있다.[0095] FIG. 12 is a
[0096] 단계(1202)에서, 심볼들의 제1 시퀀스가 멀티-레인 인터페이스의 제1 레인으로부터 수신된다. 심볼들의 시퀀스 내의 각각의 심볼은 제1 레인의 N개의 와이어들의 시그널링 상태에 대응할 수 있다.[0096] At
[0097] 단계(1204)에서, 클록 신호가 멀티-레인 인터페이스로부터 복원 또는 추출된다. 클록 신호는, 심볼들의 제1 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 N개의 와이어들의 시그널링 상태의 복수의 트랜지션들에 대응하는 에지들을 포함할 수 있다.[0097] At
[0098] 단계(1206)에서, 심볼들의 제1 시퀀스는 클록 신호를 사용하여 데이터 비트들의 제1 세트로 변환된다. 심볼들의 제1 시퀀스는, 심볼들의 제1 시퀀스를 트랜지션 넘버들의 세트로 변환하기 위해 트랜스코더를 사용하고, 그리고 데이터 비트들의 제1 세트를 획득하기 위해 트랜지션 넘버들의 세트를 데이터 비트들의 세트로 변환함으로써 데이터 비트들의 제1 세트로 변환될 수 있다.[0098] In
[0099] 단계(1208)에서, 데이터 비트들의 제2 세트는 클록 신호를 사용하여 멀티-레인 인터페이스의 제2 레인으로부터 수신된 하나 또는 그 초과의 신호들로부터 도출된다. 데이터 비트들의 제2 세트는 트랜스코더를 사용하지 않으면서 도출될 수 있다.[0099] In
[00100] 본 명세서에 개시된 특정한 양상들에 따르면, 심볼들의 제1 시퀀스는 N개의 와이어들의 NC2개의 상이한 쌍들로부터 수신된 NC2개의 차동 신호들로 인코딩될 수 있다. 제2 레인은 M개의 와이어들을 포함할 수 있으며, 여기서, 심볼들의 제2 시퀀스는 M개의 와이어들의 MC2개의 상이한 쌍들로부터 수신된 MC2개의 차동 신호들로 인코딩된다. M 및 N은 동일하거나 상이한 값들을 가질 수 있다.[00100] According to certain aspects disclosed herein, a first sequence of symbols may be encoded with the N C 2 of the differential signal received from the C 2 N different pairs of the N wires. Second lane may comprise the M pieces of wires, wherein the second sequence of symbols is encoded into the M 2 C differential signals received from M C 2 different pairs of two wires M. M and N may have the same or different values.
[00101] 본 명세서에 개시된 특정한 양상들에 따르면, 데이터 비트들의 제2 세트를 도출하는 것은, 시리얼 인터페이스의 M개의 와이어들 각각으로부터 시리얼 신호들을 수신하는 것, 및 클록 신호에 따라 시리얼 신호들을 샘플링함으로써 데이터 비트들의 제2 세트를 추출하는 것을 포함한다. 데이터 비트들의 제2 세트를 도출하는 것은, 시리얼 인터페이스의 M개의 와이어들로부터 M/2개의 차동 신호들을 수신하는 것, 및 클록 신호에 따라 M/2개의 차동 신호들을 샘플링함으로써 데이터 비트들의 제2 세트를 추출하는 것을 포함할 수 있다.[00101] According to certain aspects disclosed herein, deriving the second set of data bits comprises receiving serial signals from each of the M wires of the serial interface, and sampling the serial signals according to the clock signal And extracting a second set of data bits. Deriving a second set of data bits comprises receiving M / 2 differential signals from the M wires of the serial interface and sampling a second set of data bits by sampling M / 2 differential signals according to the clock signal, Lt; / RTI >
[00102] 본 명세서에 개시된 특정한 양상들에 따르면, 클록 신호는, N개의 와이어들의 시그널링 상태 또는 제2 레인의 하나 또는 그 초과의 와이어들의 시그널링 상태에서 검출된 트랜지션에 대응하는 클록 신호의 트랜지션을 제공함으로써 복원 또는 추출될 수 있다. 클록 신호는, 멀티-레인 인터페이스의 제2 레인의 적어도 하나의 와이어의 시그널링 상태의 하나 또는 그 초과의 트랜지션들에 대응하는 에지들을 포함할 수 있다.[00102] According to certain aspects disclosed herein, a clock signal provides a transition of a clock signal corresponding to a detected transition in the signaling state of the N wires or in the signaling state of one or more of the wires in the second lane Or the like. The clock signal may include edges corresponding to one or more transitions of the signaling state of at least one wire of the second lane of the multi-lane interface.
[00103] 본 명세서에 개시된 특정한 양상들에 따르면, 심볼들의 제1 시퀀스는 NC2개의 차동 신호들로 인코딩된다. NC2개의 차동 신호들 각각은 N개의 와이어들의 상이한 쌍으로부터 수신될 수 있다. 심볼들의 제2 시퀀스는 제2 레인의 M개의 와이어들로부터 수신된 MC2개의 차동 신호들로 인코딩될 수 있다. MC2개의 차동 신호들 각각은 M개의 와이어들의 상이한 쌍으로부터 수신될 수 있다. 심볼들의 제1 시퀀스는 트랜스코더 회로를 사용하여 데이터 비트들의 제1 세트로 변환될 수 있다. 심볼들의 제2 시퀀스는 동일한 트랜스코더 회로를 사용하여 데이터 비트들의 제2 세트로 변환될 수 있다.[00103] According to certain aspects disclosed herein, a first sequence of symbols is encoded with N C 2 differential signals. Each of the N C 2 differential signals may be received from a different pair of N wires. The second sequence of symbols may be encoded with M C 2 differential signals received from the M wires of the second lane. C 2 M each of the differential signal may be received from a different pair of the two M wire. A first sequence of symbols may be converted to a first set of data bits using a transcoder circuit. A second sequence of symbols may be converted to a second set of data bits using the same transcoder circuit.
[00104] 본 명세서에 개시된 특정한 양상들에 따르면, N개의 와이어들 및 M개의 와이어들 중 하나 또는 그 초과의 시그널링 상태의 트랜지션은, 심볼들의 제1 시퀀스 내의 심볼들의 각각의 순차적인 쌍 사이에서 발생한다. 심볼들의 제1 시퀀스의 각각은 상이한 심볼 간격으로 송신될 수 있다. 각각의 심볼 간격에서 수신된 데이터 비트들의 제1 세트 및 데이터 비트들의 제2 세트는 각각의 심볼 간격으로부터 완성된 데이터 엘리먼트를 획득하도록 결합될 수 있다.[00104] According to certain aspects disclosed herein, a transition of one or more signaling states of N wires and M wires occurs between each successive pair of symbols in a first sequence of symbols do. Each of the first sequences of symbols may be transmitted at different symbol intervals. A first set of data bits and a second set of data bits received in each symbol interval may be combined to obtain a data element completed from each symbol interval.
[00105] 도 13은 프로세싱 회로(1302)를 이용하는 장치(1300)에 대한 하드웨어 구현의 간략화된 예를 예시한 다이어그램이다. 프로세싱 회로는 통상적으로, 마이크로프로세서, 마이크로제어기, 디지털 신호 프로세서, 시퀀서 및 상태 머신 중 하나 또는 그 초과를 포함할 수 있는 프로세서(1316)를 갖는다. 프로세싱 회로(1302)는 버스(1320)에 의해 일반적으로 표현된 버스 아키텍처를 이용하여 구현될 수 있다. 버스(1320)는, 프로세싱 회로(1302)의 특정한 애플리케이션 및 전체 설계 제약들에 의존하여 임의의 수의 상호연결 버스들 및 브리지들을 포함할 수 있다. 버스(1320)는, 프로세서(1316)에 의해 표현되는 하나 또는 그 초과의 프로세서들 및/또는 하드웨어 모듈들, 모듈들 및/또는 회로들(1304, 1306 및 1308), 커넥터들 또는 와이어들(멀티-레인 인터페이스)(1314)을 통해 통신하도록 구성가능한 라인 인터페이스 회로들(1312) 및 프로세서-판독가능/컴퓨터-판독가능 저장 매체(1318)를 포함하는 다양한 회로들을 함께 링크시킨다. 버스(1320)는 또한, 당업계에 잘 알려져 있고, 따라서 더 추가적으로 설명되지 않을 타이밍 소스들, 주변기기들, 전압 조정기들, 및 전력 관리 회로들과 같은 다양한 다른 회로들을 링크시킬 수 있다.[00105] FIG. 13 is a diagram illustrating a simplified example of a hardware implementation for an
[00106] 프로세서(1316)는, 컴퓨터-판독가능 저장 매체(1318) 상에 저장된 소프트웨어의 실행을 포함하는 일반적인 프로세싱을 담당한다. 소프트웨어는 프로세서(1316)에 의해 실행될 경우, 프로세싱 회로(1302)로 하여금 임의의 특정한 장치에 대해 위에서 설명된 다양한 기능들을 수행하게 한다. 컴퓨터-판독가능 저장 매체(1318)는 또한, 소프트웨어를 실행할 경우, 커넥터들(1314)을 통해 송신된 심볼들로부터 디코딩된 데이터를 포함하여, 프로세서(1316)에 의해 조작되는 데이터를 저장하기 위해 사용될 수 있다. 프로세싱 회로(1302)는, 모듈들 및/또는 회로들(1304, 1306 및 1308) 중 적어도 하나를 더 포함한다. 모듈들 및/또는 회로들(1304, 1306 및 1308)은, 컴퓨터-판독가능 저장 매체(1318)에 상주/저장되어 프로세서(1316)에서 구동되는 소프트웨어 모듈들, 프로세서(1316)에 커플링된 하나 또는 그 초과의 하드웨어 모듈들, 또는 이들의 몇몇 결합일 수 있다. 모듈들 및/또는 회로들(1304, 1306 및/또는 1308)은 마이크로제어기 명령들, 상태 머신 구성 파라미터들, 또는 이들의 몇몇 결합을 포함할 수 있다.[0106]
[00107] 일 구성에서, 무선 통신을 위한 장치(1300)는, 멀티-레인 인터페이스(1314)의 제1 레인으로부터 심볼들의 제1 시퀀스를 수신하도록 구성된 모듈들 및/또는 회로들(1306, 1312), 멀티-레인 인터페이스(1314)로부터 클록 신호를 복원하도록 구성된 모듈 및/또는 회로(1306) ― 클록 신호는, 심볼들의 제1 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 N개의 와이어들의 시그널링 상태의 복수의 트랜지션들에 대응하는 에지들을 포함함 ―, 클록 신호를 사용하여 데이터 비트들의 제1 세트로 심볼들의 제1 시퀀스를 변환하도록 구성된 모듈들 및/또는 회로들(1304 및/또는 1308), 및 클록 신호를 사용하여 멀티-레인 인터페이스(1314)의 제2 레인으로부터 수신된 하나 또는 그 초과의 신호들로부터 데이터 비트들의 제2 세트를 도출하도록 구성된 모듈들 및/또는 회로들(1304 및/또는 1308)을 포함한다. 일 예에서, 도 6 내지 도 9 및 도 11에 예시된 회로들은, 프로세싱 회로(1302)에 의해 수행되는 다양한 기능들을 구현하는 로직을 제공한다.In an arrangement, the
[00108] 본 개시내용의 일 양상에서, 컴퓨터-판독가능 저장 매체(1318)에는 하나 또는 그 초과의 명령들이 저장 또는 보유된다. 프로세싱 회로(1302)의 적어도 하나의 프로세서(1316)에 의해 실행될 경우, 명령들은 프로세싱 회로(1302)로 하여금, 멀티-레인 인터페이스(1314)의 제1 레인으로부터 심볼들의 제1 시퀀스를 수신하게 하고, 멀티-레인 인터페이스(1314)로부터 클록 신호를 복원하게 하고 ― 클록 신호는, 심볼들의 제1 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 N개의 와이어들의 시그널링 상태의 복수의 트랜지션들에 대응하는 에지들을 포함함 ―, 클록 신호를 사용하여 데이터 비트들의 제1 세트로 심볼들의 제1 시퀀스를 변환하게 하며, 그리고 클록 신호를 사용하여 멀티-레인 인터페이스(1314)의 제2 레인으로부터 수신된 하나 또는 그 초과의 신호들로부터 데이터 비트들의 제2 세트를 도출하게 할 수 있다. 심볼들의 시퀀스 내의 각각의 심볼은 N개의 와이어들의 시그널링 상태에 대응할 수 있다.[00108] In one aspect of the present disclosure, one or more instructions are stored or held in computer-
[00109] 전술된 수단은, 예컨대, 프로세서(206 또는 236), 물리 계층 드라이버들(210 또는 240) 및 저장 매체들(208 및 238)의 몇몇 결합을 사용하여 구현될 수 있다.The above-described means may be implemented using, for example, some combination of
[00110] 도 14는 N-와이어 통신 링크 상에서의 데이터 통신들을 위한 방법을 예시한 흐름도(1400)이다. 통신 링크는, N! 인코딩, 멀티페이즈 인코딩, 멀티-와이어 차동 인코딩 등과 같은 적합한 인코딩 방식을 사용하여 인코딩된 심볼들을 반송하는 복수의 커넥터들을 포함할 수 있다. 커넥터들은 전기적으로 도전성인 와이어들, 광 신호 컨덕터들, 반도전성 상호연결부들 등을 포함할 수 있다. 방법은 수신 디바이스의 하나 또는 그 초과의 프로세서들에 의해 수행될 수 있다.[00110] Figure 14 is a
[00111] 단계(1402)에서, 클록 정보는, 제1 데이터 비트들을 인코딩하는 심볼들의 제1 시퀀스에 삽입된다. 심볼들의 제1 시퀀스의 각각의 심볼은 멀티-레인 인터페이스의 제1 레인의 N개의 와이어들의 시그널링 상태에 대응할 수 있다. 클록 정보는, 제1 데이터 비트들을 트랜지션 넘버들의 세트로 변환하기 위해 트랜스코더를 사용함으로써 인코딩되고, 심볼들의 제1 시퀀스를 획득하기 위해 트랜지션 넘버들의 세트를 변환할 수 있다. 제2 데이터 비트들은 트랜스코더를 사용하지 않으면서 심볼들의 제2 시퀀스로 인코딩될 수 있다.[00111] In
[00112] 단계(1404)에서, 심볼들의 제1 시퀀스가 제1 레인 상에서 송신된다.[00112] In
[00113] 단계(1406)에서, 심볼들의 제2 시퀀스가 멀티-레인 인터페이스의 제2 레인 상에서 송신된다. 심볼들의 제2 시퀀스는 제2 데이터 비트들들과 함께 그리고 삽입된 클록 정보 없이 인코딩될 수 있다.[00113] In
[00114] 본 명세서에 개시된 특정한 양상들에 따르면, 심볼들의 제1 시퀀스는 N개의 와이어들의 NC2개의 상이한 쌍들 상에서 NC2개의 차동 신호들 심볼들의 제1 시퀀스를 송신함으로써 송신될 수 있다. 제2 레인은 M개의 와이어들을 포함할 수 있다. 심볼들의 제2 시퀀스는 M개의 와이어들의 MC2개의 상이한 쌍들 상에서 MC2개의 차동 신호들로 송신될 수 있다. M 및 N의 값들은 동일하거나 상이할 수 있다.[00 114] According to certain aspects disclosed herein, a first sequence of symbols may be transmitted by transmitting the first sequence of N C 2 of the differential signal symbols on N C 2 different pairs of the N wires. The second lane may comprise M wires. A second sequence of symbols may be sent to the M 2 C 2 C differential signals on M different pairs of two wires M. The values of M and N may be the same or different.
[00115] 본 명세서에 개시된 특정한 양상들에 따르면, 심볼들의 제2 시퀀스는 시리얼 버스의 M개의 와이어들 상에서 송신될 수 있다. 심볼들의 제2 시퀀스를 송신하는 것은 M/2개의 차동 신호들에서 데이터의 제2 세트를 송신하는 것을 포함할 수 있다.[00115] According to certain aspects disclosed herein, a second sequence of symbols may be transmitted on the M wires of the serial bus. Sending a second sequence of symbols may comprise transmitting a second set of data in M / 2 differential signals.
[00116] 본 명세서에 개시된 특정한 양상들에 따르면, 심볼들의 제1 시퀀스의 각각의 심볼은 상이한 심볼 간격으로 송신된다. 클록 정보를 삽입하는 것은, 심볼들의 제1 시퀀스 내의 연속적인 심볼들의 각각의 쌍 사이에서 N개의 와이어들의 시그널링 상태 또는 제2 레인의 하나 또는 그 초과의 와이어들의 시그널링 상태의 트랜지션을 야기하는 것을 포함할 수 있다.[00116] According to certain aspects disclosed herein, each symbol of the first sequence of symbols is transmitted at a different symbol interval. Inserting the clock information may include causing a transition of the signaling state of the N wires or the signaling state of one or more wires of the second lane between each pair of consecutive symbols in a first sequence of symbols .
[00117] 본 명세서에 개시된 특정한 양상들에 따르면, 단일 트랜스코더 회로는, 심볼들의 제1 시퀀스로 제1 데이터 비트들을 인코딩하고 심볼들의 제2 시퀀스로 제2 데이터 비트들을 인코딩하기 위해 사용될 수 있다.[00117] According to certain aspects disclosed herein, a single transcoder circuit may be used to encode the first data bits in a first sequence of symbols and the second data bits in a second sequence of symbols.
[00118] 본 명세서에 개시된 특정한 양상들에 따르면, 클록 정보를 삽입하는 것은, 심볼들의 제1 시퀀스 내의 연속적인 심볼들의 각각의 쌍에서 N개의 와이어들의 시그널링 상태 또는 심볼들의 제2 시퀀스 내의 연속적인 심볼들의 각각의 쌍에서 제2 레인의 M개의 와이어들의 시그널링 상태의 트랜지션을 야기하는 것을 포함한다. 클록 정보는, 심볼들의 제1 시퀀스 및 심볼들의 제2 시퀀스 둘 모두를 인코딩하기 위해 사용되는 송신 클록에 관련될 수 있다.[00118] In accordance with certain aspects disclosed herein, inserting clock information may be performed in a signaling state of N wires in each pair of consecutive symbols in a first sequence of symbols, or a continuous symbol in a second sequence of symbols To cause a transition of the signaling state of the M wires of the second lane in each pair of the first and second lanes. The clock information may relate to a transmission clock used to encode both the first sequence of symbols and the second sequence of symbols.
[00119] 본 명세서에 개시된 특정한 양상들에 따르면, 데이터 엘리먼트는 데이터 비트들의 제1 세트 및 데이터 비트들의 제2 세트를 획득하기 위해 분할될 수 있다. 데이터 비트들의 제1 세트에 대응하는 제1 심볼은, 제2 레인 상에서의 데이터 비트들의 제2 세트에 대응하는 제2 심볼의 송신과 동시에 제1 레인 상에서 송신될 수 있다.[00119] According to certain aspects disclosed herein, a data element may be partitioned to obtain a first set of data bits and a second set of data bits. A first symbol corresponding to a first set of data bits may be transmitted on a first lane concurrently with transmission of a second symbol corresponding to a second set of data bits on a second lane.
[00120] 도 15는 프로세싱 회로(1502)를 이용하는 장치(1500)에 대한 하드웨어 구현의 간략화된 예를 예시한 다이어그램이다. 프로세싱 회로는 통상적으로, 마이크로프로세서, 마이크로제어기, 디지털 신호 프로세서, 시퀀서 및 상태 머신 중 하나 또는 그 초과를 포함할 수 있는 프로세서(1516)를 갖는다. 프로세싱 회로(1502)는 버스(1520)에 의해 일반적으로 표현된 버스 아키텍처를 이용하여 구현될 수 있다. 버스(1520)는, 프로세싱 회로(1502)의 특정한 애플리케이션 및 전체 설계 제약들에 의존하여 임의의 수의 상호연결 버스들 및 브리지들을 포함할 수 있다. 버스(1520)는, 프로세서(1516)에 의해 표현되는 하나 또는 그 초과의 프로세서들 및/또는 하드웨어 모듈들, 모듈들 및/또는 회로들(1504, 1506 및 1508), 커넥터들 또는 와이어들(1514)을 통해 통신하도록 구성가능한 라인 인터페이스 회로들(1512) 및 프로세서-판독가능/컴퓨터-판독가능 저장 매체(1518)를 포함하는 다양한 회로들을 함께 링크시킨다. 버스(1520)는 또한, 당업계에 잘 알려져 있고, 따라서 더 추가적으로 설명되지 않을 타이밍 소스들, 주변기기들, 전압 조정기들, 및 전력 관리 회로들과 같은 다양한 다른 회로들을 링크시킬 수 있다.[00120] FIG. 15 is a diagram illustrating a simplified example of a hardware implementation for an
[00121] 프로세서(1516)는, 컴퓨터-판독가능 저장 매체(1518) 상에 저장된 소프트웨어의 실행을 포함하는 일반적인 프로세싱을 담당한다. 소프트웨어는 프로세서(1516)에 의해 실행될 경우, 프로세싱 회로(1502)로 하여금 임의의 특정한 장치에 대해 위에서 설명된 다양한 기능들을 수행하게 한다. 컴퓨터-판독가능 저장 매체(1518)는 또한, 소프트웨어를 실행할 경우, 커넥터들(1514)을 통해 송신된 심볼들로부터 디코딩된 데이터를 포함하여, 프로세서(1516)에 의해 조작되는 데이터를 저장하기 위해 사용될 수 있다. 프로세싱 회로(1502)는, 모듈들 및/또는 회로들(1504, 1506 및 1508) 중 적어도 하나를 더 포함한다. 모듈들 및/또는 회로들(1504, 1506 및 1508)은, 컴퓨터-판독가능 저장 매체(1518)에 상주/저장되어 프로세서(1516)에서 구동되는 소프트웨어 모듈들, 프로세서(1516)에 커플링된 하나 또는 그 초과의 하드웨어 모듈들, 또는 이들의 몇몇 결합일 수 있다. 모듈들 및/또는 회로들(1504, 1506 및/또는 1508)은 마이크로제어기 명령들, 상태 머신 구성 파라미터들, 또는 이들의 몇몇 결합을 포함할 수 있다.[00121]
[00122] 일 구성에서, 무선 통신을 위한 장치(1500)는, 제1 데이터 비트들이 인코딩된 정보를 심볼들의 제1 시퀀스에 삽입하도록 구성된 모듈 및/또는 회로(1504), 멀티-레인 인터페이스의 제1 레인 상에서 심볼들의 제1 시퀀스를 송신하도록 구성된 모듈들 및/또는 회로들(1506 및/또는 1512), 멀티-레인 인터페이스의 제2 레인 상에서 심볼들의 제2 시퀀스를 송신하도록 구성된 모듈들 및/또는 회로들(1504, 1506 및/또는 1508)을 포함한다. 일 예에서, 도 6 내지 도 9 및 도 11에 예시된 회로들은, 프로세싱 회로(1502)에 의해 수행되는 다양한 기능들을 구현하는 로직을 제공한다.In an arrangement, the
[00123] 본 개시내용의 일 양상에서, 프로세서-판독가능/컴퓨터-판독가능 저장 매체(1518)에는 하나 또는 그 초과의 명령들이 저장 또는 보유된다. 프로세싱 회로(1502)의 적어도 하나의 프로세서(1516)에 의해 실행될 경우, 명령들은 프로세서(1516)로 하여금, 제1 데이터 비트들이 인코딩된 클록 정보를 심볼들의 제1 시퀀스에 삽입하게 하고, 멀티-레인 인터페이스(1514)의 제1 레인 상에서 심볼들의 제1 시퀀스를 송신하게 하며, 그리고 멀티-레인 인터페이스(1514)의 제2 레인 상에서 심볼들의 제2 시퀀스를 송신하게 할 수 있다. 심볼들의 제1 시퀀스의 각각의 심볼은 멀티-레인 인터페이스(1514)의 제1 레인의 N개의 와이어들의 시그널링 상태에 대응할 수 있다. 심볼들의 제2 시퀀스는 제2 데이터 비트들들과 함께 그리고 삽입된 클록 정보 없이 인코딩될 수 있다.[00123] In an aspect of the present disclosure, one or more instructions are stored or held in a processor-readable / computer-
[00124] 전술된 수단은, 예컨대, 프로세서(206 또는 236), 물리 계층 드라이버들(210 또는 240) 및 저장 매체들(208 및 238)의 몇몇 결합을 사용하여 구현될 수 있다.[00124] The above-described means may be implemented using, for example, some combination of
전용 클록을 갖는 멀티-A multi- 와이어wire 심볼symbol 트랜지션Transition 링크의 예시적인 설명 Illustrative description of the link
[00125] 위에서 설명된 바와 같이, 멀티-와이어 심볼 트랜지션 클록킹은 클록을 심볼 트랜지션들에 삽입함으로써 구현될 수 있다. 그러나, 삽입된 클록은, 심볼 트랜지션들로부터 삽입된 클록을 복원하도록 수신 디바이스의 클록 및 데이터 복원(CDR) 로직/회로에게 요구한다. 그러한 CDR 로직/회로는 몇몇 수신 디바이스들에 의해 구현하기에 복잡하거나 값비쌀 수 있다. 삽입된 클록들은 또한, 과도한 지터들, 레인간 스큐들, 신호 스파이크들, 및 다른 이유들로 인해 심볼 슬립 에러들을 겪을 수 있다.[00125] As described above, multi-wire symbol transition clocking can be implemented by inserting a clock into symbol transitions. However, the inserted clock requires the clock and data recovery (CDR) logic / circuit of the receiving device to recover the inserted clock from the symbol transitions. Such CDR logic / circuit may be complex or costly to implement by some receiving devices. Inserted clocks may also experience symbol sleep errors due to excessive jitter, lane skews, signal spikes, and other reasons.
[00126] 본 개시내용의 일 양상에서, N! 멀티-와이어 버스/링크는, 삽입된 클록이 보장된 심볼 트랜지션들에서 인코딩/그들에 삽입되는 심볼들의 송신을 용이하게 하기 위해 사용될 수 있는 반면, 전용 클록 라인은 전용 클록을 송신하기 위해 사용된다. 본 개시내용의 다른 양상들에서, 버스/링크는 싱글-엔디드 멀티-와이어 버스/링크일 수 있다. 전용 클록 라인을 통해 송신된 전용 클록은, CDR 로직/회로를 사용하지 않으면서 그리고 삽입된 클록에 의존할 필요 없이 수신기가 멀티-와이어 버스/링크를 통해 송신된 심볼들을 디코딩하는 것을 가능하게 한다. 따라서, 전용 클록을 수신하기 위한 전용 클록 라인의 사용은 수신기가, CDR 로직/회로를 구현하는 것을 포기하게 하고, 그에 따라, 그러한 구현과 연관된 복잡도 및 비용을 최소화시킬 뿐만 아니라 삽입된 클록에 관련된 심볼 슬립 에러들을 감소시키게 허용한다.[00126] In one aspect of the present disclosure, N! The multi-wire bus / link may be used to facilitate transmission of symbols to be inserted into the embedded / clocked symbol transitions, while a dedicated clock line is used to transmit the dedicated clock. In other aspects of the present disclosure, the bus / link may be a single-ended multi-wire bus / link. The dedicated clock transmitted over the dedicated clock line enables the receiver to decode the transmitted symbols over the multi-wire bus / link without the need for using the CDR logic / circuit and relying on the inserted clock. Thus, the use of a dedicated clock line to receive a dedicated clock allows the receiver to abandon the implementation of the CDR logic / circuit, thereby minimizing the complexity and cost associated with such implementation, Allows to reduce sleep errors.
[00127] 다른 양상에서, 클록 신호를 송신/수신하기 위해 전용 클록 라인을 사용하는 시스템에서, 별개의 클록은 송신될 심볼들의 시퀀스의 심볼 트랜지션들에서 인코딩/그들에 삽입될 필요가 없다. 따라서, 심볼들의 시퀀스 내의 각각의 심볼 사이의 트랜지션을 보장하는 것은 시스템에 대해 의무적이지 않으며, 따라서, 시스템은 데이터 레인 상에서 그리고 다수의 데이터 레인들에 걸쳐 상이한 타입들의 심볼들을 인터리빙할 수 있다. 또한, 심볼 트랜지션들로부터의 어떠한 클록 복원도 그러한 시스템에서 발생할 수 없기 때문에, 원시 심볼들을 보장된 트랜지션들을 갖는 심볼들로 변환하기 위한 회로/모듈들이 송신기에서 생략될 수 있고, 보장된 트랜지션들을 갖는 심볼들을 원시 심볼들로 변환하기 위한 회로/모듈들이 수신기에서 생략될 수 있으며, 따라서, 그러한 회로/모듈들을 구현하는 것과 연관된 복잡도 및 비용을 최소화시킨다.[00127] In another aspect, in a system that uses a dedicated clock line to transmit / receive a clock signal, a separate clock need not be encoded / inserted in the symbol transitions of the sequence of symbols to be transmitted. Thus, it is not mandatory for the system to guarantee a transition between each symbol in the sequence of symbols, and thus the system can interleave different types of symbols on the data lane and across multiple data lanes. Also, since no clock recovery from the symbol transitions can occur in such a system, the circuit / modules for converting the primitive symbols into symbols with guaranteed transitions can be omitted from the transmitter, and symbols with guaranteed transitions / RTI > circuitry / modules for converting signals to raw symbols can be omitted at the receiver, thus minimizing the complexity and cost associated with implementing such circuits / modules.
[00128] 추가적인 양상에서, 클록 신호를 송신/수신하기 위해 전용 클록 라인을 사용하는 시스템에서, 클록 신호는 데이터 신호로부터 별개로 송신되며, 따라서, 데이터 신호 송신의 방향은 클록 신호 송신의 방향에 의해 제약되지 않는다. 따라서, 그러한 시스템은, 클록 신호가 제1 디바이스로부터 제2 디바이스로 전용 클록 라인을 통해 송신되게 허용하는 반면, 클록 신호와 연관된 데이터/심볼들은 제2 디바이스로부터 제1 디바이스로 송신된다. 또한, 그러한 시스템은 이제, 양방향 송신을 위해 멀티-와이어 버스/링크 및/또는 전용 클록 라인을 이용할 수 있다. 따라서, 제1 디바이스 및 제2 디바이스 둘 모두는, 멀티-와이어 버스/링크의 라인들을 인터리빙하고 그리고/또는 전용 클록 라인을 통해 전용 클록을 교대로 송신함으로써 송신을 위해 멀티-와이어 버스/링크를 이용할 수 있다.[00128] In a further aspect, in a system that uses a dedicated clock line to transmit / receive a clock signal, the clock signal is transmitted separately from the data signal, and thus the direction of the data signal transmission is determined by the direction of the clock signal transmission It is not constrained. Thus, such a system allows the clock signal to be transmitted from the first device to the second device over the dedicated clock line, while the data / symbols associated with the clock signal are transmitted from the second device to the first device. In addition, such systems can now use multi-wire bus / link and / or dedicated clock lines for bi-directional transmission. Thus, both the first device and the second device utilize a multi-wire bus / link for transmission by interleaving the lines of the multi-wire bus / link and / or by alternately transmitting a dedicated clock over the dedicated clock line .
[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)의 수는, 각각의 심볼 송신 간격 동안 이용가능한, 이용가능한 시그널링 상태들의 수에 기반하여 계산될 수 있다.[00129] FIG. 16 is a diagram illustrating a further example of a
[00130] 종단 임피던스(통상적으로는 저항성)는 종단 네트워크(1628)의 공통 중심 포인트에 N개의 와이어들 각각을 커플링시킨다. N개의 와이어들의 시그널링 상태들이 각각의 와이어에 커플링된 차동 드라이버들(1610)에 기인하는 종단 네트워크(1628)의 전류들의 결합을 반영한다는 것이 인식될 것이다. 종단 네트워크(1628)의 중심 포인트가 널 포인트이며, 그에 의해, 종단 네트워크(1628)의 전류들이 중심 포인트에서 서로를 상쇄시킨다는 것이 추가로 인식될 것이다.The termination impedance (typically resistive) couples each of the N wires to a common center point of the
[00131] 링크 내의 NC2 신호들 중 적어도 하나는 연속적인 심볼들 사이에서 트랜지션한다. 효율적으로, 트랜스코더(1606)는, 각각의 심볼이 자신의 직전의 전임 심볼과는 상이한 심볼들의 시퀀스를 생성함으로써, N개의 와이어들 상에서 송신된 심볼들의 각각의 쌍 사이에서 트랜지션이 발생한다는 것을 보장한다. 도 16에 도시된 예에서, 레인(1612)은 N = 4개의 와이어들을 갖고, 4개의 와이어들의 세트는 4C2 = 6개의 차동 신호들을 반송할 수 있다. 트랜스코더(1606)는, 레인(1612) 상에서 이용가능한 N개의 와이어들 상에서의 송신을 위한 원시 심볼들을 생성하도록 맵핑 방식을 이용할 수 있다. 트랜스코더(1606) 및 직렬화기(1608)는 입력 데이터 비트들(1604)에 기반하여 송신을 위한 원시 심볼들을 생성하도록 협업한다. 수신기(1632)에서, 트랜스코더(1640)는, 예컨대, 연속적인 원시 심볼들의 쌍, 즉 룩업 테이블 내의 심볼들 사이의 차이를 특성화하는 트랜지션 넘버를 결정하기 위해 맵핑을 이용할 수 있다. 트랜스코더들(1606, 1640)은, 원시 심볼들의 모든 각각의 연속적인 쌍이 2개의 상이한 심볼들을 포함한다는 것을 기반으로 동작한다.[00131] At least one of the N C 2 signals in the link transitions between consecutive symbols. Efficiently, the
[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비트들로서 계산될 수 있다.[00132] The
[00133] 일 양상에서, 데이터(1604)를 인코딩하기 위해 사용되는 제2 송신 클록(1626)은 라인 드라이버(1620)를 사용하여 수신기(1632)에 송신될 수 있다. 예컨대, 라인 드라이버(1620)는, 제2 송신 클록(1626)에 기반하여 클록 신호를 생성하고, 전용 클록 라인(1622)을 통해 클록 신호를 송신할 수 있다. 전용 클록 라인(1622)은 레인/멀티-와이어 링크(1612)와는 별개이고 그와 병렬이며, 송신기(1602)와 수신기(1632) 사이에서 클록 신호들을 통신하는 것으로 제한될 수 있다.[00133] In an aspect, a second transmit clock 1626 used to encode
[00134] 수신기(1632)는 라인 수신기들의 세트(1634)를 사용하여 심볼들의 시퀀스를 수신하며, 여기서, 라인 수신기들의 세트(1634) 내의 각각의 수신기는 N개의 와이어들의 하나의 쌍에 대한 시그널링 상태들의 차이들을 결정한다. 따라서, NC2개의 수신기들이 레인(1612)에서 사용되며, 여기서, N은 레인(1612)의 와이어들의 수를 표현한다. NC2개의 수신기들(1634)은 대응하는 수의 원시 심볼들을 출력들로서 생성한다.[00134]
[00135] 수신기(1632)는, 라인 수신기(1644)를 사용하여 전용 클록 라인(1622)을 통해 송신된 클록 신호를 수신한다. 전용 클록 라인(1622)을 통한 클록 신호의 수신 시에, 라인 수신기(1644)는, 제2 송신 클록(1626)에 대응하는 수신 클록(예컨대, DDRCLK Y)(1656)을 생성한다.[00135]
[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)을 무시할 수 있다.[00136] In the illustrated example,
[00137] 도 16의 예에 예시된 바와 같이, 레인(또는 "멀티-와이어 링크")(1612)은 다음의 예들에 따라 동작될 수 있다. 일 예에서, 레인(이러한 예에서는 레인 X)(1612)을 통한 송신을 위한 데이터 비트들(1604)은, 미리 결정된 시퀀스로 송신되는 경우, 시그널링 상태의 트랜지션이 레인(1612)의 4개의 와이어들 상에서 송신되는 적어도 하나의 신호에서 발생한다는 것을 보장하는 원시 심볼들의 세트를 생성하는 트랜스코더(1606)에 의해 수신된다. 직렬화기(1608)는, 각각의 심볼 간격 동안 레인(1612)의 4개의 와이어들의 시그널링 상태를 결정하는 라인 드라이버들(1610)에 제공되는 심볼값들의 시퀀스를 생성한다.[00137] As illustrated in the example of FIG. 16, lanes (or "multi-wire links") 1612 may be operated in accordance with the following examples. In one example,
[00138] 다른 예에서, 데이터 비트들(1604)은 레인(이러한 예에서는 레인 X)(1612)의 트랜스코더(1606)에 의해 수신된다. 트랜스코더(1606)는 직렬화기(1608)에 의해 직렬화된 트랜지션 넘버들의 세트를 생성하며, 직렬화기(1608)는, 각각의 심볼 간격 동안 레인(1612)의 4개의 와이어들의 시그널링 상태를 결정하는 라인 드라이버들(1610)에 제공되는 심볼값들의 시퀀스로 트랜지션 넘버들의 세트를 변환한다. 원시 심볼들의 시퀀스는, 시그널링 상태의 트랜지션이 연속적인 심볼들의 각각의 쌍 사이에서 레인(1612)의 4개의 와이어들 상에서 송신되는 적어도 하나의 신호에서 발생한다는 것을 보장한다.[00138] In another example,
[00139] 일 양상에서, 레인(또는 "멀티-와이어 링크")(1612)의 적어도 하나의 라인/와이어는 양방향이다. 따라서, 송신기(1602)는 레인(1612)의 적어도 하나의 양방향 라인/와이어를 통해 수신기(1632)로부터 송신된 심볼들의 시퀀스를 수신하도록 구성될 수 있다. 추가적인 양상에서, 전용 클록 라인(1622)은 양방향이며, 레인(1612)을 통해 송신하는 송신기(1602) 또는 수신기(1632) 중 어느 하나에 의해 구동될 수 있다. 예컨대, 송신기(1602)는 전용 클록 라인(1622)을 통해 수신기(1632)로부터 전용 클록 신호를 수신하도록 구성될 수 있다. 전용 클록 신호는, 레인(1612)의 적어도 하나의 양방향 라인/와이어를 통하여 수신기에 의해 송신된 심볼들의 시퀀스를 인코딩하기 위해 사용되는 송신 클록과 연관될 수 있다.[00139] In an aspect, at least one line / wire of the lane (or "multi-wire link") 1612 is bidirectional. Thus, the
[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) 상에서 별개로 송신되는 클록 신호에 따라 그들 각각의 데이터 레인들 상에서 송신될 수 있다.[00140] FIG. 17 illustrates examples of transmitting symbols on multiple data lanes using a dedicated clock line. In an example 1700, symbols of a
[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) 상에서 송신될 수 있다.[00141] As described above, in a system that uses a dedicated clock line to transmit / receive clock signals, a separate clock need not be encoded / inserted in the symbol transitions of the sequence of symbols to be transmitted. Thus, the transmitter need not guarantee a transition of the signaling state between each symbol in the sequence of symbols. Thus, referring to example 1750, a transmitter may interleave different types of symbols on the data lane and across multiple data lanes. For example, a symbol of a
[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) 상에서 별개로 송신되는 클록 신호에 따라 데이터 레인들 각각 상에서 송신될 수 있다.In one aspect, the symbols of the
[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)로 제공된다.[00143] FIG. 18 illustrates examples of multi-wire transcoding using dedicated clock lines. In a first example 1800, at the transmitter, the data bits to be transmitted are received by a bit-to-transition symbol converter (bits to T) 1802. Based on the data bits, bit to
[00144] 제1 예(1800)를 계속 참조하면, 수신기에서, 송신기에 대해 위에서 설명된 프로세스가 반전된다. 역직렬화기(DES)(1824)는 라인 수신기들(1822)을 통해 심볼들의 시퀀스(1814)를 수신한다. DES(1824)는 전용 클록 라인(1812) 상에서 수신된 클록 신호에 기반하여 수신 심볼들을 역직렬화한다. DES(1824)의 출력은 심볼-투-트랜지션 심볼 변환기(S 투 T)(1826)으로 공급된다. S 투 T(1826)는, 각각의 역직렬화된 심볼 사이에 존재하는 트랜지션들에 기반하여 원시 트랜지션 심볼들(1804)을 복원한다. 그 후, 트랜지션 심볼-투-비트들 변환기(T 투 비트들)(1828)는 복원된 원시 트랜지션 심볼들을 데이터 비트들(비트들)로 변환한다.[00144] Continuing with the first example 1800, at the receiver, the process described above for the transmitter is reversed. Deserializer (DES) 1824 receives the sequence of
[00145] 위에서 설명된 바와 같이, 클록 신호를 송신/수신하기 위해 전용 클록 라인을 사용하는 시스템에서, 별개의 클록은 송신될 심볼들의 시퀀스의 심볼 트랜지션들에서 인코딩/그들에 삽입될 필요가 없다. 따라서, 전용 클록 라인을 사용하는 멀티-와이어 트랜스코딩의 제2 예(1850)를 참조하면, 어떠한 클록 정보도 심볼 트랜지션들에서 인코딩/그들에 삽입되지 않으면, 송신기는 심볼들의 시퀀스 내의 각각의 심볼 사이의 트랜지션을 보장할 필요가 없다. 또한, 어떠한 클록 정보도 송신기에서는 심볼 트랜지션들에 삽입되지 않거나 또는 수신기에서는 심볼 트랜지션들로부터 복원되지 않을 것이기 때문에, 원시 심볼들을 보장된 트랜지션들을 갖는 심볼들로 변환하기 위한 회로/모듈들이 송신기에서 생략될 수 있고, 보장된 트랜지션들을 갖는 심볼들을 원시 심볼들로 변환하기 위한 회로/모듈들이 수신기에서 생략될 수 있으며, 따라서, 그러한 회로/모듈들을 구현하는 것과 연관된 복잡도 및 비용을 최소화시킨다.[00145] As described above, in a system that uses a dedicated clock line to transmit / receive clock signals, a separate clock need not be encoded / inserted into the symbol transitions of the sequence of symbols to be transmitted. Thus, with reference to a second example 1850 of multi-wire transcoding using a dedicated clock line, if no clock information is encoded / inserted into the symbol transitions, the transmitter will switch between each symbol in the sequence of symbols It is not necessary to guarantee the transition of Also, since no clock information is inserted into the symbol transitions at the transmitter or at the receiver it will not be recovered from the symbol transitions, the circuits / modules for converting the primitive symbols into symbols with guaranteed transitions are omitted from the transmitter And circuits / modules for converting symbols with guaranteed transitions to raw symbols may be omitted at the receiver, thus minimizing the complexity and cost associated with implementing such circuits / modules.
[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)로 제공된다.[00146] For example, in a second example 1850, at the transmitter, the data bits to be transmitted are received by a bit-to-transition symbol converter (bit to T) 1852. Based on the data bits, bit to
[00147] 제2 예(1850)를 계속 참조하면, 수신기에서, 송신기에 대해 위에서 설명된 프로세스가 반전된다. 역직렬화기(DES)(1874)는 라인 수신기들(1872)을 통해 심볼들의 시퀀스(1854)를 수신한다. DES(1874)는, 원시 트랜지션 심볼들(1854)의 세트를 복원하기 위해 전용 클록 라인(1862) 상에서 수신된 클록 신호에 기반하여 수신 심볼들을 역직렬화한다. 특히, 어떠한 클록 정보도 심볼 트랜지션들에서 인코딩/그들에 삽입되지 않았기 때문에, 수신기는, 각각의 역직렬화된 심볼 사이에 존재하는 트랜지션들에 기반하여 원시 트랜지션 심볼들을 복원할 필요가 없다. 따라서, 심볼-투-트랜지션 심볼 변환기(예컨대, 제1 예(1800)의 S 투 T(1826))는 제2 예(1850)의 수신기에서 생략될 수 있다. 트랜지션 심볼-투-비트들 변환기(T 투 비트들)(1878)는 복원된 원시 트랜지션 심볼들을 데이터 비트들(비트들)로 변환한다. 일 양상에서, 제2 예(1850)는, 그것이 송신될 심볼 당 하나의 여분 상태를 허용하므로 스루풋을 개선시킨다.[00147] Continuing with the second example 1850, at the receiver, the process described above for the transmitter is reversed. Deserializer (DES) 1874 receives a sequence of
예시적인 수신 Exemplary reception 디바이스device 및 그 상에서의 방법 And methods thereon
[00148] 도 19는 본 개시내용의 하나 또는 그 초과의 양상들(예컨대, 아래에 설명되는 도 20의 방법에 관련된 양상들)에 따라 멀티-와이어 링크를 통해 데이터 비트들을 통신하는 것에 관련된 동작들을 지원하도록 구성되는 장치(수신 디바이스)(1900)의 예시이다. 장치(1900)는, 통신 인터페이스(예컨대, 적어도 하나의 트랜시버)(1902), 저장 매체(1904), 사용자 인터페이스(1906), 메모리 디바이스(1908), 및 프로세싱 회로(1910)를 포함한다.[00148] Figure 19 illustrates operations related to communicating data bits over a multi-wire link in accordance with one or more aspects of the present disclosure (e.g., aspects related to the method of Figure 20 described below) (Receiving device) 1900 that is configured to support the device.
[00149] 이들 컴포넌트들은, 도 19의 연결 라인들에 의해 일반적으로 표현되는 시그널링 버스 또는 다른 적합한 컴포넌트를 통해 서로 커플링되고 그리고/또는 서로 전기 통신하게 배치될 수 있다. 시그널링 버스는, 프로세싱 회로(1910)의 특정한 애플리케이션 및 전체 설계 제약들에 의존하여 임의의 수의 상호연결 버스들 및 브리지들을 포함할 수 있다. 통신 인터페이스(1902), 저장 매체(1904), 사용자 인터페이스(1906), 및 메모리 디바이스(1908) 각각이 프로세싱 회로(1910)에 커플링되고 그리고/또는 그 회로와 전기 통신하도록 시그널링 버스는 다양한 회로들을 함께 링크시킨다. 시그널링 버스는 또한, 당업계에 잘 알려져 있고, 따라서 더 추가적으로 설명되지 않을 타이밍 소스들, 주변기기들, 전압 조정기들, 및 전력 관리 회로들과 같은 다양한 다른 회로들(미도시)을 링크시킬 수 있다.[00149] These components may be arranged to be coupled to one another and / or in electrical communication with one another via a signaling bus or other suitable component, generally represented by the connection lines of FIG. The signaling bus may include any number of interconnect busses and bridges depending on the particular application of the
[00150] 통신 인터페이스(1902)는 장치(1900)의 무선 통신을 용이하게 하도록 적응될 수 있다. 예컨대, 통신 인터페이스(1902)는, 네트워크에서 하나 또는 그 초과의 통신 디바이스들에 대해 양방향으로 정보의 통신을 용이하게 하도록 적응된 회로 및/또는 코드(예컨대, 명령들)를 포함할 수 있다. 통신 인터페이스(1902)는, 무선 통신 시스템 내에서의 무선 통신을 위해 하나 또는 그 초과의 안테나들(1912)에 커플링될 수 있다. 통신 인터페이스(1902)는, 하나 또는 그 초과의 자립형 수신기들 및/또는 송신기들 뿐만 아니라 하나 또는 그 초과의 트랜시버들로 구성될 수 있다. 도시된 예에서, 통신 인터페이스(1902)는 송신기(1914) 및 수신기(1916)를 포함한다.[00150] The
[00151] 메모리 디바이스(1908)는 하나 또는 그 초과의 메모리 디바이스들을 표현할 수 있다. 표시된 바와 같이, 메모리 디바이스(1908)는 장치(1900)에 의해 사용된 다른 정보와 함께 네트워크-관련 정보(1918)를 보유할 수 있다. 몇몇 구현들에서, 메모리 디바이스(1908) 및 저장 매체(1904)는 공통 메모리 컴포넌트로서 구현된다. 메모리 디바이스(1908)는 또한, 장치(1900)의 프로세싱 회로(1910) 또는 몇몇 다른 컴포넌트에 의해 조작되는 데이터를 저장하기 위해 사용될 수 있다.[00151]
[00152] 저장 매체(1904)는, 프로세서 실행가능 코드 또는 명령들(예컨대, 소프트웨어, 펌웨어), 전자 데이터, 데이터베이스들, 또는 다른 디지털 정보와 같은 코드를 저장하기 위한 하나 또는 그 초과의 컴퓨터-판독가능, 머신-판독가능, 및/또는 프로세서-판독가능 디바이스들을 표현할 수 있다. 저장 매체(1904)는 또한, 코드를 실행할 경우 프로세싱 회로(1910)에 의해 조작되는 데이터를 저장하기 위해 사용될 수 있다. 저장 매체(1904)는, 휴대용 또는 고정 저장 디바이스들, 광학 저장 디바이스들, 및 코드를 저장, 포함 또는 반송할 수 있는 다양한 다른 매체들을 포함하는, 범용 또는 특수 목적 프로세서에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수 있다.[00152] The
[00153] 제한이 아닌 예로서, 저장 매체(1904)는, 자기 저장 디바이스(예컨대, 하드 디스크, 플로피 디스크, 자기 스트립), 광학 디스크(예컨대, 컴팩트 디스크(CD), 또는 DVD(digital versatile disc)), 스마트 카드, 플래시 메모리 디바이스(예컨대, 카드, 스틱, 또는 키 드라이브), 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 프로그래밍가능 ROM(PROM), 소거가능한 PROM(EPROM), 전기적으로 소거가능한 PROM(EEPROM), 레지스터, 착탈형 디스크, 및 컴퓨터에 의해 액세스 및 판독될 수 있는 코드를 저장하기 위한 임의의 다른 적합한 매체를 포함할 수 있다. 저장 매체(1904)는 제조 물품(예컨대, 컴퓨터 프로그램 물건)으로 구현될 수 있다. 예로서, 컴퓨터 프로그램 물건은 패키징 재료들에 컴퓨터-판독가능 매체를 포함할 수 있다. 위의 관점에서, 몇몇 구현들에서, 저장 매체(1904)는 비-일시적인(예컨대, 유형의) 저장 매체일 수 있다.As a non-limiting example, the
[00154] 저장 매체(1904)는, 프로세싱 회로(1910)가 저장 매체(1904)로부터 정보를 판독하고, 저장 매체(1904)에 정보를 기입할 수 있도록 프로세싱 회로(1910)에 커플링될 수 있다. 즉, 저장 매체(1904)는, 적어도 하나의 저장 매체가 프로세싱 회로(1910)에 통합되는 예들 및/또는 적어도 하나의 저장 매체가 프로세싱 회로(1910)로부터 분리되는 (예컨대, 장치(1900)에 상주하거나, 장치(1900) 외부이거나, 다수의 엔티티들에 걸쳐 분산되는 등의 식임) 예들을 포함하여 저장 매체(1904)가 프로세싱 회로(1910)에 의해 적어도 액세스가능하도록 프로세싱 회로(1910)에 커플링될 수 있다.The
[00155] 저장 매체(1904)에 의해 저장된 코드 및/또는 명령들은, 프로세싱 회로(1910)에 의해 실행되는 경우, 프로세싱 회로(1910)로 하여금 본 명세서에 설명된 다양한 기능들 및/또는 프로세스 동작들 중 하나 또는 그 초과를 수행하게 한다. 예컨대, 저장 매체(1904)는, 프로세싱 회로(1910)의 하나 또는 그 초과의 하드웨어 블록들에서의 동작들을 조절하기 위해 구성될 뿐만 아니라 그들 각각의 통신 프로토콜들을 이용하는 무선 통신을 위해 통신 인터페이스(1902)를 이용하도록 구성되는 동작들을 포함할 수 있다.[00155] The code and / or instructions stored by
[00156] 프로세싱 회로(1910)는 일반적으로, 저장 매체(1904) 상에 저장된 그러한 코드/명령들의 실행을 포함하는 프로세싱을 위해 적응된다. 본 명세서에서 사용된 바와 같이, 용어 "코드" 또는 "명령들"은, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 디스크립션 언어, 또는 다른 용어로서 지칭되는지에 관계없이, 프로그래밍, 명령들, 명령 세트들, 데이터, 코드, 코드 세그먼트들, 프로그램 코드, 프로그램들, 서브프로그램들, 소프트웨어 모듈들, 애플리케이션들, 소프트웨어 애플리케이션들, 소프트웨어 패키지들, 루틴들, 서브루틴들, 오브젝트들, 실행파일들, 실행 스레드들, 절차들, 함수들 등을 제한없이 포함하도록 광범위하게 해석되어야 한다.[00156]
[00157] 프로세싱 회로(1910)는, 데이터를 획득, 프로세싱 및/또는 전송하고, 데이터 액세스 및 저장을 제어하고, 커맨드들을 이슈하며, 다른 원하는 동작들을 제어하도록 배열된다. 프로세싱 회로(1910)는, 적어도 하나의 예에서 적절한 매체들에 의해 제공되는 원하는 코드를 구현하도록 구성된 회로를 포함할 수 있다. 예컨대, 프로세싱 회로(1910)는, 하나 또는 그 초과의 프로세서들, 하나 또는 그 초과의 제어기들, 및/또는 실행가능한 코드를 실행하도록 구성된 다른 구조로서 구현될 수 있다. 프로세싱 회로(1910)의 예들은, 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적회로(ASIC), 필드 프로그래밍가능 게이트 어레이(FPGA) 또는 다른 프로그래밍가능 로직 컴포넌트, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본 명세서에 설명된 기능들을 수행하도록 설계된 이들의 임의의 결합을 포함할 수 있다. 범용 프로세서는 마이크로프로세서 뿐만 아니라 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신을 포함할 수 있다. 또한, 프로세싱 회로(1910)는 또한, 컴퓨팅 컴포넌트들의 결합, 예컨대 DSP와 마이크로프로세서의 결합, 다수의 마이크로프로세서들, DSP 코어와 결합된 하나 또는 그 초과의 마이크로프로세서들, ASIC 및 마이크로프로세서, 또는 임의의 다른 수의 다양한 구성들로서 구현될 수 있다. 프로세싱 회로(1910)의 이들 예들은 예시를 위한 것이며, 본 개시내용의 범위 내의 다른 적합한 구성들이 또한 고려된다.[00157]
[00158] 발명의 하나 또는 그 초과의 양상들에 따르면, 프로세싱 회로(1910)는, 본 명세서에 설명된 장치들 중 임의의 장치 또는 모든 장치에 대한 특성들, 프로세스들, 기능들, 동작들 및/또는 루틴들 중 임의의 것 또는 모두를 수행하도록 적응될 수 있다. 본 명세서에서 사용된 바와 같이, 프로세싱 회로(1910)와 관련된 용어 "적응된"은, 프로세싱 회로(1910)가 본 명세서에 설명된 다양한 특성들에 따라 특정한 프로세스, 기능, 동작 및/또는 루틴을 수행하도록 구성되거나, 이용되거나, 구현되거나, 그리고/또는 프로그래밍되는 것 중 하나 또는 그 초과를 행하는 것을 지칭할 수 있다.[00158] According to one or more aspects of the invention, the
[00159] 장치(1900)의 적어도 하나의 예에 따르면, 프로세싱 회로(1910)는, 본 명세서에서 설명된 특성들, 프로세스들, 기능들, 동작들 및/또는 루틴들(예컨대, 도 20에 대해 설명된 특성들, 프로세스들, 기능들, 동작들 및/또는 루틴들) 중 임의의 것 또는 전부를 수행하도록 적응된 심볼 수신 회로/모듈(1920), 클록 수신 회로/모듈(1922), 심볼 디코딩 회로/모듈(1924), 심볼 송신 회로/모듈(1926), 및 클록 송신 회로/모듈(1928) 중 하나 또는 그 초과를 포함할 수 있다.[00159] According to at least one example of an
[00160] 심볼 수신 회로/모듈(1920)은, 예컨대, 멀티-와이어 링크를 통해 심볼들의 시퀀스를 수신하는 것에 관련된 수개의 기능들을 수행하도록 적응된 회로 및/또는 명령들(예컨대, 저장 매체(1904) 상에 저장된 심볼 수신 명령들(1930))을 포함할 수 있다.The symbol receiving circuit /
[00161] 클록 수신 회로/모듈(1922)은, 예컨대, 전용 클록 라인을 통해 클록 신호를 수신하는 것에 관련된 수개의 기능들을 수행하도록 적응된 회로 및/또는 명령들(예컨대, 저장 매체(1904) 상에 저장된 클록 수신 명령들(1932))을 포함할 수 있으며, 여기서, 전용 클록 라인은 멀티-와이어 링크와는 별개이고 그와 병렬이다.[00161] Clock receiving circuit /
[00162] 심볼 디코딩 회로/모듈(1924)은, 예컨대, 클록 신호를 사용하여 심볼들의 시퀀스를 디코딩하는 것에 관련된 수개의 기능들을 수행하도록 적응된 회로 및/또는 명령들(예컨대, 저장 매체(1904) 상에 저장된 심볼 디코딩 명령들(1934))을 포함할 수 있다. 일 양상에서, 제2 클록 신호는, 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입될 수 있다. 따라서, 심볼 디코딩 회로/모듈(1924)은, 제2 클록 신호를 무시하면서 전용 클록 라인을 통해 수신된 클록 신호를 사용하여 심볼들의 시퀀스를 디코딩함으로써 디코딩을 수행하도록 구성될 수 있다. 심볼 디코딩 회로/모듈(1924)은, 클록 신호를 사용하여 심볼들의 시퀀스를 데이터 비트들의 세트로 변환함으로써 디코딩을 수행하도록 구성될 수 있다. 심볼 디코딩 회로/모듈(1924)은, 심볼들의 시퀀스를 트랜지션 넘버들의 세트로 변환하기 위해 트랜스코더를 사용하고 그리고 트랜지션 넘버들의 세트를 데이터 비트들의 세트로 변환함으로써 변환을 수행하도록 구성될 수 있다.[00162] Symbol decoding circuitry /
[00163] 심볼 송신 회로/모듈(1926)은, 예컨대, 전용 클록 라인을 통해 수신된 클록 신호에 기반하여 멀티-와이어 링크의 적어도 하나의 양방향 라인을 통해 심볼들의 제2 시퀀스를 송신하는 것에 관련된 수개의 기능들을 수행하도록 적응된 회로 및/또는 명령들(예컨대, 저장 매체(1904) 상에 저장된 심볼 송신 명령들(1936))을 포함할 수 있다.[00163] The symbol transmission circuit /
[00164] 클록 송신 회로/모듈(1928)은, 예컨대, 전용 클록 라인을 통해 제3 클록 신호를 송신하는 것에 관련된 수개의 기능들을 수행하도록 적응된 회로 및/또는 명령들(예컨대, 저장 매체(1904) 상에 저장된 클록 송신 명령들(1938))을 포함할 수 있다. 제3 클록 신호는, 멀티-와이어 링크의 적어도 하나의 양방향 라인을 통하여 심볼 송신 회로/모듈(1926)에 의해 송신된 심볼들의 시퀀스로 데이터 비트들을 인코딩하기 위해 사용되는 송신 클록과 연관될 수 있다.[00164] The clock transmission circuit /
[00165] 위에서 언급된 바와 같이, 저장 매체(1904)에 의해 저장된 명령들은, 프로세싱 회로(1910)에 의해 실행되는 경우, 프로세싱 회로(1910)로 하여금 본 명세서에 설명된 다양한 기능들 및/또는 프로세스 동작들 중 하나 또는 그 초과를 수행하게 한다. 예컨대, 저장 매체(1904)는, 심볼 수신 명령들(1930), 클록 수신 명령들(1932), 심볼 디코딩 명령들(1934), 심볼 송신 명령들(1936), 및 클록 송신 명령들(1938) 중 하나 또는 그 초과를 포함할 수 있다.As noted above, the instructions stored by the
[00166] 도 20은 멀티-와이어 링크를 통해 데이터 비트들을 통신하는 방법을 예시한 흐름도(2000)이다. 방법은 수신 디바이스(예컨대, 도 1의 장치(100), 도 16의 수신기(1632), 또는 도 19의 장치(1900))에 의해 수행될 수 있다.[00166] Figure 20 is a flow diagram 2000 illustrating a method of communicating data bits over a multi-wire link. The method may be performed by a receiving device (e.g.,
[00167] 수신 디바이스는, 송신 디바이스(예컨대, 송신기(1602))로부터 멀티-와이어 링크(예컨대, 멀티-와이어 링크(1612))를 통해 심볼들의 시퀀스를 수신한다(2002). 심볼들의 시퀀스 내의 각각의 심볼은 멀티-와이어 링크의 N개의 와이어들의 시그널링 상태에 대응할 수 있으며, 여기서, N은 1보다 큰 정수이다. 수신 디바이스는 추가로, 전용 클록 라인(예컨대, 전용 클록 라인(1622))을 통해 클록 신호(예컨대, DDRCLK Y(1626))를 수신하며, 여기서, 전용 클록 라인은 멀티-와이어 링크와는 별개이고 그와 병렬이다(2004). 수신 디바이스는 또한, 클록 신호를 사용하여 심볼들의 시퀀스를 디코딩한다(2006).[00167] The receiving device receives (2002) a sequence of symbols over a multi-wire link (eg, multi-wire link 1612) from a transmitting device (eg, transmitter 1602). Each symbol in the sequence of symbols may correspond to the signaling state of the N wires of the multi-wire link, where N is an integer greater than one. The receiving device further receives a clock signal (e.g., DDRCLK Y 1626) via a dedicated clock line (e.g., dedicated clock line 1622), wherein the dedicated clock line is separate from the multi-wire link It is in parallel with him (2004). The receiving device also decodes the sequence of symbols using the clock signal (2006).
[00168] 일 양상에서, 제2 클록 신호(예컨대, DDRCLK X(1624))는, 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입된다. 따라서, 수신 디바이스는, 제2 클록 신호를 무시하면서, 전용 클록 라인을 통해 수신된 클록 신호를 사용하여 심볼들의 시퀀스를 디코딩한다.[00168] In an aspect, a second clock signal (e.g., DDRCLK X 1624) is inserted into guaranteed transitions between successive pairs of symbols in a sequence of symbols. Thus, the receiving device decodes the sequence of symbols using the clock signal received over the dedicated clock line, ignoring the second clock signal.
[00169] 일 양상에서, 수신 디바이스는, 클록 신호를 사용하여 심볼들의 시퀀스를 데이터 비트들의 세트로 변환함으로써 심볼들의 시퀀스를 디코딩한다. 추가적인 양상에서, 수신 디바이스는, 심볼들의 시퀀스를 트랜지션 넘버들의 세트로 변환하고 트랜지션 넘버들의 세트를 데이터 비트들의 세트로 변환하기 위해 트랜스코더(예컨대, 트랜스코더(1640))를 사용함으로써 변환을 수행한다.[00169] In an aspect, a receiving device decodes a sequence of symbols by converting a sequence of symbols into a set of data bits using a clock signal. In a further aspect, the receiving device performs translation by using a transcoder (e.g., transcoder 1640) to convert a sequence of symbols into a set of transition numbers and a set of transition numbers into a set of data bits .
[00170] 일 양상에서, 멀티-와이어 링크의 적어도 하나의 라인은 양방향이다. 수신 디바이스는, 전용 클록 라인을 통해 수신된 클록 신호에 기반하여 적어도 하나의 양방향 라인을 통해 심볼들의 제2 시퀀스를 송신할 수 있다(2008). 추가적인 양상에서, 수신 디바이스 및 송신 디바이스 둘 모두는 멀티-와이어 링크의 라인들을 인터리빙함으로써 양방향 송신들을 위해 멀티-와이어 링크를 이용할 수 있다.[00170] In an aspect, at least one line of the multi-wire link is bidirectional. The receiving device may transmit a second sequence of symbols over at least one bi-directional line based on the clock signal received over the dedicated clock line (2008). In a further aspect, both the receiving device and the transmitting device can utilize the multi-wire link for bidirectional transmissions by interleaving the lines of the multi-wire link.
[00171] 다른 양상에서, 전용 클록 라인은 양방향이며, 멀티-와이어 링크를 통해 송신하는 임의의 디바이스로부터 구동될 수 있다. 수신 디바이스는, 전용 클록 라인을 통해 제3 클록 신호를 송신할 수 있다(2010). 제3 클록 신호는, 적어도 하나의 양방향 라인을 통하여 수신 디바이스에 의해 송신된 심볼들의 시퀀스로 데이터 비트들을 인코딩하기 위해 사용되는 송신 클록과 연관될 수 있다. 추가적인 양상에서, 수신 디바이스 및 송신 디바이스 둘 모두는, 전용 클록 라인을 통하여 전용 클록 신호를 교대로 송신함으로써 전용 클록 라인을 이용할 수 있다.[00171] In another aspect, the dedicated clock line is bi-directional and may be driven from any device transmitting over a multi-wire link. The receiving device may transmit the third clock signal on a dedicated clock line (2010). The third clock signal may be associated with a transmission clock that is used to encode data bits in a sequence of symbols transmitted by the receiving device over at least one bi-directional line. In a further aspect, both the receiving device and the transmitting device may utilize a dedicated clock line by alternately transmitting a dedicated clock signal through a dedicated clock line.
예시적인 송신 Exemplary transmission 디바이스device 및 그 상에서의 방법 And methods thereon
[00172] 도 21는 본 개시내용의 하나 또는 그 초과의 양상들(예컨대, 아래에 설명되는 도 22의 방법에 관련된 양상들)에 따라 멀티-와이어 링크를 통해 데이터 비트들을 통신하는 것에 관련된 동작들을 지원하도록 구성되는 장치(송신 디바이스)(2100)의 예시이다. 장치(2100)는, 통신 인터페이스(예컨대, 적어도 하나의 트랜시버)(2102), 저장 매체(2104), 사용자 인터페이스(2106), 메모리 디바이스(2108), 및 프로세싱 회로(2110)를 포함한다.[00172] FIG. 21 illustrates operations related to communicating data bits over a multi-wire link in accordance with one or more aspects of the present disclosure (eg, aspects related to the method of FIG. 22 described below) (Sending device) 2100 that is configured to support the device.
[00173] 이들 컴포넌트들은, 도 21의 연결 라인들에 의해 일반적으로 표현되는 시그널링 버스 또는 다른 적합한 컴포넌트를 통해 서로 커플링되고 그리고/또는 서로 전기 통신하게 배치될 수 있다. 시그널링 버스는, 프로세싱 회로(2110)의 특정한 애플리케이션 및 전체 설계 제약들에 의존하여 임의의 수의 상호연결 버스들 및 브리지들을 포함할 수 있다. 통신 인터페이스(2102), 저장 매체(2104), 사용자 인터페이스(2106), 및 메모리 디바이스(2108) 각각이 프로세싱 회로(2110)에 커플링되고 그리고/또는 그 회로와 전기 통신하도록 시그널링 버스는 다양한 회로들을 함께 링크시킨다. 시그널링 버스는 또한, 당업계에 잘 알려져 있고, 따라서 더 추가적으로 설명되지 않을 타이밍 소스들, 주변기기들, 전압 조정기들, 및 전력 관리 회로들과 같은 다양한 다른 회로들(미도시)을 링크시킬 수 있다.[00173] These components may be arranged to be coupled to each other and / or in electrical communication with one another via a signaling bus or other suitable component, generally represented by the connection lines of FIG. The signaling bus may include any number of interconnect busses and bridges depending on the particular application of the
[00174] 통신 인터페이스(2102)는 장치(2100)의 무선 통신을 용이하게 하도록 적응될 수 있다. 예컨대, 통신 인터페이스(2102)는, 네트워크에서 하나 또는 그 초과의 통신 디바이스들에 대해 양방향으로 정보의 통신을 용이하게 하도록 적응된 회로 및/또는 코드(예컨대, 명령들)를 포함할 수 있다. 통신 인터페이스(2102)는, 무선 통신 시스템 내에서의 무선 통신을 위해 하나 또는 그 초과의 안테나들(2112)에 커플링될 수 있다. 통신 인터페이스(2102)는, 하나 또는 그 초과의 자립형 수신기들 및/또는 송신기들 뿐만 아니라 하나 또는 그 초과의 트랜시버들로 구성될 수 있다. 도시된 예에서, 통신 인터페이스(2102)는 송신기(2114) 및 수신기(2116)를 포함한다.[00174] The
[00175] 메모리 디바이스(2108)는 하나 또는 그 초과의 메모리 디바이스들을 표현할 수 있다. 표시된 바와 같이, 메모리 디바이스(2108)는 장치(2100)에 의해 사용된 다른 정보와 함께 네트워크-관련 정보(2118)를 보유할 수 있다. 몇몇 구현들에서, 메모리 디바이스(2108) 및 저장 매체(2104)는 공통 메모리 컴포넌트로서 구현된다. 메모리 디바이스(2108)는 또한, 장치(2100)의 프로세싱 회로(2110) 또는 몇몇 다른 컴포넌트에 의해 조작되는 데이터를 저장하기 위해 사용될 수 있다.[00175] The
[00176] 저장 매체(2104)는, 프로세서 실행가능 코드 또는 명령들(예컨대, 소프트웨어, 펌웨어), 전자 데이터, 데이터베이스들, 또는 다른 디지털 정보와 같은 코드를 저장하기 위한 하나 또는 그 초과의 컴퓨터-판독가능, 머신-판독가능, 및/또는 프로세서-판독가능 디바이스들을 표현할 수 있다. 저장 매체(2104)는 또한, 코드를 실행할 경우 프로세싱 회로(2110)에 의해 조작되는 데이터를 저장하기 위해 사용될 수 있다. 저장 매체(2104)는, 휴대용 또는 고정 저장 디바이스들, 광학 저장 디바이스들, 및 코드를 저장, 포함 또는 반송할 수 있는 다양한 다른 매체들을 포함하는, 범용 또는 특수 목적 프로세서에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수 있다.[00176] The
[00177] 제한이 아닌 예로서, 저장 매체(2104)는, 자기 저장 디바이스(예컨대, 하드 디스크, 플로피 디스크, 자기 스트립), 광학 디스크(예컨대, 컴팩트 디스크(CD), 또는 DVD(digital versatile disc)), 스마트 카드, 플래시 메모리 디바이스(예컨대, 카드, 스틱, 또는 키 드라이브), 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 프로그래밍가능 ROM(PROM), 소거가능한 PROM(EPROM), 전기적으로 소거가능한 PROM(EEPROM), 레지스터, 착탈형 디스크, 및 컴퓨터에 의해 액세스 및 판독될 수 있는 코드를 저장하기 위한 임의의 다른 적합한 매체를 포함할 수 있다. 저장 매체(2104)는 제조 물품(예컨대, 컴퓨터 프로그램 물건)으로 구현될 수 있다. 예로서, 컴퓨터 프로그램 물건은 패키징 재료들에 컴퓨터-판독가능 매체를 포함할 수 있다. 위의 관점에서, 몇몇 구현들에서, 저장 매체(2104)는 비-일시적인(예컨대, 유형의) 저장 매체일 수 있다.As a non-limiting example, the
[00178] 저장 매체(2104)는, 프로세싱 회로(2110)가 저장 매체(2104)로부터 정보를 판독하고, 저장 매체(2104)에 정보를 기입할 수 있도록 프로세싱 회로(2110)에 커플링될 수 있다. 즉, 저장 매체(2104)는, 적어도 하나의 저장 매체가 프로세싱 회로(2110)에 통합되는 예들 및/또는 적어도 하나의 저장 매체가 프로세싱 회로(2110)로부터 분리되는 (예컨대, 장치(2100)에 상주하거나, 장치(2100) 외부이거나, 다수의 엔티티들에 걸쳐 분산되는 등의 식임) 예들을 포함하여 저장 매체(2104)가 프로세싱 회로(2110)에 의해 적어도 액세스가능하도록 프로세싱 회로(2110)에 커플링될 수 있다.The
[00179] 저장 매체(2104)에 의해 저장된 코드 및/또는 명령들은, 프로세싱 회로(2110)에 의해 실행되는 경우, 프로세싱 회로(2110)로 하여금 본 명세서에 설명된 다양한 기능들 및/또는 프로세스 동작들 중 하나 또는 그 초과를 수행하게 한다. 예컨대, 저장 매체(2104)는, 프로세싱 회로(2110)의 하나 또는 그 초과의 하드웨어 블록들에서의 동작들을 조절하기 위해 구성될 뿐만 아니라 그들 각각의 통신 프로토콜들을 이용하는 무선 통신을 위해 통신 인터페이스(2102)를 이용하도록 구성되는 동작들을 포함할 수 있다.[00179] The code and / or instructions stored by
[00180] 프로세싱 회로(2110)는 일반적으로, 저장 매체(2104) 상에 저장된 그러한 코드/명령들의 실행을 포함하는 프로세싱을 위해 적응된다. 본 명세서에서 사용된 바와 같이, 용어 "코드" 또는 "명령들"은, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 디스크립션 언어, 또는 다른 용어로서 지칭되는지에 관계없이, 프로그래밍, 명령들, 명령 세트들, 데이터, 코드, 코드 세그먼트들, 프로그램 코드, 프로그램들, 서브프로그램들, 소프트웨어 모듈들, 애플리케이션들, 소프트웨어 애플리케이션들, 소프트웨어 패키지들, 루틴들, 서브루틴들, 오브젝트들, 실행파일들, 실행 스레드들, 절차들, 함수들 등을 제한없이 포함하도록 광범위하게 해석되어야 한다.[00180]
[00181] 프로세싱 회로(2110)는, 데이터를 획득, 프로세싱 및/또는 전송하고, 데이터 액세스 및 저장을 제어하고, 커맨드들을 이슈하며, 다른 원하는 동작들을 제어하도록 배열된다. 프로세싱 회로(2110)는, 적어도 하나의 예에서 적절한 매체들에 의해 제공되는 원하는 코드를 구현하도록 구성된 회로를 포함할 수 있다. 예컨대, 프로세싱 회로(2110)는, 하나 또는 그 초과의 프로세서들, 하나 또는 그 초과의 제어기들, 및/또는 실행가능한 코드를 실행하도록 구성된 다른 구조로서 구현될 수 있다. 프로세싱 회로(2110)의 예들은, 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적회로(ASIC), 필드 프로그래밍가능 게이트 어레이(FPGA) 또는 다른 프로그래밍가능 로직 컴포넌트, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본 명세서에 설명된 기능들을 수행하도록 설계된 이들의 임의의 결합을 포함할 수 있다. 범용 프로세서는 마이크로프로세서 뿐만 아니라 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신을 포함할 수 있다. 또한, 프로세싱 회로(2110)는 또한, 컴퓨팅 컴포넌트들의 결합, 예컨대 DSP와 마이크로프로세서의 결합, 다수의 마이크로프로세서들, DSP 코어와 결합된 하나 또는 그 초과의 마이크로프로세서들, ASIC 및 마이크로프로세서, 또는 임의의 다른 수의 다양한 구성들로서 구현될 수 있다. 프로세싱 회로(2110)의 이들 예들은 예시를 위한 것이며, 본 개시내용의 범위 내의 다른 적합한 구성들이 또한 고려된다.[00181]
[00182] 발명의 하나 또는 그 초과의 양상들에 따르면, 프로세싱 회로(2110)는, 본 명세서에 설명된 장치들 중 임의의 장치 또는 모든 장치에 대한 특성들, 프로세스들, 기능들, 동작들 및/또는 루틴들 중 임의의 것 또는 모두를 수행하도록 적응될 수 있다. 본 명세서에서 사용된 바와 같이, 프로세싱 회로(2110)와 관련된 용어 "적응된"은, 프로세싱 회로(2110)가 본 명세서에 설명된 다양한 특성들에 따라 특정한 프로세스, 기능, 동작 및/또는 루틴을 수행하도록 구성되거나, 이용되거나, 구현되거나, 그리고/또는 프로그래밍되는 것 중 하나 또는 그 초과를 행하는 것을 지칭할 수 있다.[00182] According to one or more aspects of the invention, the
[00183] 장치(2100)의 적어도 하나의 예에 따르면, 프로세싱 회로(2110)는, 본 명세서에서 설명된 특성들, 프로세스들, 기능들, 동작들 및/또는 루틴들(예컨대, 도 22에 대해 설명된 특성들, 프로세스들, 기능들, 동작들 및/또는 루틴들) 중 임의의 것 또는 전부를 수행하도록 적응된 클록 삽입 회로/모듈(2120), 심볼 송신 회로/모듈(2122), 클록 송신 회로/모듈(2124), 심볼 수신 회로/모듈(2126), 클록 수신 회로/모듈(2128), 및 인코딩 회로/모듈(2140) 중 하나 또는 그 초과를 포함할 수 있다.[00183] According to at least one example of an
[00184] 인코딩 회로/모듈(2140)은, 예컨대, 데이터 비트들을 심볼들의 시퀀스로 인코딩하는 것에 관련된 수개의 기능들을 수행하도록 적응된 회로 및/또는 명령들(예컨대, 저장 매체(2104) 상에 저장된 인코딩 명령들(2142))을 포함할 수 있다. 인코딩 회로/모듈(2140)은, 데이터 비트들을 트랜지션 넘버들의 세트로 변환하고, 그리고 심볼들의 시퀀스를 획득하기 위해 트랜지션 넘버들의 세트를 변환함으로써 인코딩을 수행하도록 구성될 수 있다.[00184] Encoding circuitry /
[00185] 클록 삽입 회로/모듈(2120)은, 예컨대, 제2 클록 신호를 심볼들의 시퀀스에 삽입하는 것에 관련된 수개의 기능들을 수행하도록 적응된 회로 및/또는 명령들(예컨대, 저장 매체(2104) 상에 저장된 클록 삽입 명령들(2130))을 포함할 수 있으며, 여기서, 제2 클록 신호는 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입된다.The clock insertion circuit /
[00186] 심볼 송신 회로/모듈(2122)은, 예컨대, 멀티-와이어 링크를 통해 심볼들의 시퀀스를 송신하는 것에 관련된 수개의 기능들을 수행하도록 적응된 회로 및/또는 명령들(예컨대, 저장 매체(2104) 상에 저장된 심볼 송신 명령들(2132))을 포함할 수 있다.[00186] Symbol transmission circuit /
[00187] 클록 송신 회로/모듈(2124)은, 예컨대, 전용 클록 라인을 통해 심볼들의 시퀀스와 연관된 클록 신호를 송신하는 것에 관련된 수개의 기능들을 수행하도록 적응된 회로 및/또는 명령들(예컨대, 저장 매체(2104) 상에 저장된 클록 송신 명령들(2134))을 포함할 수 있으며, 여기서, 전용 클록 라인은 멀티-와이어 링크와는 별개이고 그와 병렬이다.[00187] The clock transmission circuit /
[00188] 심볼 송신 회로/모듈(2126)은, 예컨대, 전용 클록 신호를 통해 송신된 클록 신호에 기반하여 멀티-와이어 링크의 적어도 하나의 양방향 라인을 통해 심볼들의 제2 시퀀스를 수신하는 것에 관련된 수개의 기능들을 수행하도록 적응된 회로 및/또는 명령들(예컨대, 저장 매체(2104) 상에 저장된 심볼 수신 명령들(2136))을 포함할 수 있다.[00188] The symbol transmission circuit /
[00189] 클록 수신 회로/모듈(2128)은, 예컨대, 전용 클록 라인을 통해 제3 클록 신호를 수신하는 것에 관련된 수개의 기능들을 수행하도록 적응된 회로 및/또는 명령들(예컨대, 저장 매체(2104) 상에 저장된 클록 수신 명령들(2138))을 포함할 수 있다. 제3 클록 신호는, 멀티-와이어 링크의 적어도 하나의 양방향 라인을 통하여 심볼 수신 회로/모듈(2126)에 의해 수신된 심볼들의 시퀀스로 데이터 비트들을 인코딩하기 위해 사용되는 송신 클록과 연관될 수 있다.The clock receiving circuit /
[00190] 위에서 언급된 바와 같이, 저장 매체(2104)에 의해 저장된 명령들은, 프로세싱 회로(2110)에 의해 실행되는 경우, 프로세싱 회로(2110)로 하여금 본 명세서에 설명된 다양한 기능들 및/또는 프로세스 동작들 중 하나 또는 그 초과를 수행하게 한다. 예컨대, 저장 매체(2104)는, 클록 삽입 명령들(2130), 심볼 송신 명령들(2132), 클록 송신 명령들(2134), 심볼 수신 명령들(2136), 클록 수신 명령들(2138), 및 인코딩 명령들(2142) 중 하나 또는 그 초과를 포함할 수 있다.As noted above, the instructions stored by the
[00191] 도 22는 멀티-와이어 링크를 통해 데이터 비트들을 통신하는 방법을 예시한 흐름도(2200)이다. 방법은 송신 디바이스(예컨대, 도 1의 장치(100), 도 16의 송신기(1602), 또는 도 21의 장치(2100))에 의해 수행될 수 있다.[00191] FIG. 22 is a
[00192] 송신 디바이스는 데이터 비트들(예컨대, 비트들 X(1604))을 심볼들의 시퀀스로 인코딩한다(2202). 부가적으로 또는 선택적으로, 송신 디바이스는 제2 클록 신호(예컨대, DDRCLK X(1624))를 심볼들의 시퀀스에 삽입하며, 여기서, 제2 클록 신호는 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입된다(2204). 심볼들의 시퀀스 내의 각각의 심볼은 멀티-와이어 링크(예컨대, 멀티-와이어 링크(1612))의 N개의 와이어들의 시그널링 상태에 대응할 수 있으며, 여기서, N은 1보다 큰 정수이다. 송신 디바이스는 멀티-와이어 링크를 통해 심볼들의 시퀀스를 추가로 송신한다(2206). 송신 디바이스는 또한, 전용 클록 라인(예컨대, 전용 클록 라인(1622))을 통해 심볼들의 시퀀스와 연관된 클록 신호(예컨대, DDRCLK Y(1626))를 송신하며, 여기서, 전용 클록 라인은 멀티-와이어 링크와는 별개이고 그와 병렬이다(2208).[00192] The transmitting device encodes data bits (eg, bits X 1604) into a sequence of symbols (2202). Additionally or alternatively, the transmitting device inserts a second clock signal (e.g., DDRCLK X 1624) into the sequence of symbols, where the second clock signal is a guarantee between pairs of consecutive symbols in the sequence of symbols Gt; 2204 < / RTI > Each symbol in the sequence of symbols may correspond to the signaling state of the N wires of a multi-wire link (e.g., multi-wire link 1612), where N is an integer greater than one. The transmitting device additionally transmits a sequence of symbols over the multi-wire link (2206). The transmitting device also transmits a clock signal (e.g., DDRCLK Y 1626) associated with the sequence of symbols via a dedicated clock line (e.g., dedicated clock line 1622), where the dedicated clock line is a multi- And is in parallel with it (2208).
[00193] 일 양상에서, 송신 디바이스는, 데이터 비트들을 트랜지션 넘버들의 세트로 변환하기 위해 트랜스코더(예컨대, 트랜스코더(1606))를 사용하고 그리고 트랜지션 넘버들의 세트를 심볼들의 시퀀스로 변환함으로써, 데이터 비트들을 심볼들의 시퀀스로 인코딩한다.[00193] In an aspect, a transmitting device may use a transcoder (eg, transcoder 1606) to convert data bits into a set of transition numbers, and by converting a set of transition numbers into a sequence of symbols, And encodes the bits into a sequence of symbols.
[00194] 일 양상에서, 멀티-와이어 링크의 적어도 하나의 라인은 양방향이다. 송신 디바이스는 수신 디바이스로부터, 적어도 하나의 양방향 라인(2210)을 통해 심볼들의 제2 시퀀스를 수신할 수 있다. 추가적인 양상에서, 수신 디바이스 및 송신 디바이스 둘 모두는 멀티-와이어 링크의 라인들을 인터리빙함으로써 양방향 송신들을 위해 멀티-와이어 링크를 이용할 수 있다.[00194] In an aspect, at least one line of the multi-wire link is bidirectional. The transmitting device may receive from the receiving device a second sequence of symbols via at least one
[00195] 다른 양상에서, 전용 클록 라인은 양방향이며, 멀티-와이어 링크를 통해 송신하는 임의의 디바이스로부터 구동될 수 있다. 송신 디바이스는, 전용 클록 라인을 통해 제3 클록 신호를 수신할 수 있다. 제3 클록 신호는, 적어도 하나의 양방향 라인을 통하여 송신 디바이스에 의해 수신된 심볼들의 시퀀스로 데이터 비트들을 인코딩하기 위해 사용되는 송신 클록과 연관될 수 있다(2212). 추가적인 양상에서, 수신 디바이스 및 송신 디바이스 둘 모두는, 전용 클록 라인을 통하여 전용 클록 신호를 교대로 송신함으로써 전용 클록 라인을 이용할 수 있다.[00195] In another aspect, the dedicated clock line is bidirectional and may be driven from any device transmitting over the multi-wire link. The transmitting device may receive the third clock signal via a dedicated clock line. The third clock signal may be associated with a transmit clock used to encode the data bits into a sequence of symbols received by the transmitting device over at least one bi-directional line (2212). In a further aspect, both the receiving device and the transmitting device may utilize a dedicated clock line by alternately transmitting a dedicated clock signal through a dedicated clock line.
[00196] 개시된 프로세스들 내의 단계들의 특정한 순서 또는 계층이 예시적인 접근법들의 예시임을 이해한다. 설계 선호도들에 기반하여, 프로세스들 내의 단계들의 특정한 순서 또는 계층이 재배열될 수 있음을 이해한다. 첨부한 방법 청구항들은 샘플 순서로 다양한 단계들의 엘리먼트들을 제시하며, 제시된 특정한 순서 또는 계층으로 제한되도록 의도되지 않는다.[00196] It is understood that the particular order or hierarchy of steps within the disclosed processes is exemplary of exemplary approaches. It will be appreciated that, based on design preferences, a particular order or hierarchy of steps within the processes may be rearranged. The appended method claims present elements of the various steps in a sample order and are not intended to be limited to the particular order or hierarchy presented.
[00197] 이전의 설명은 임의의 당업자가 본 명세서에 설명된 다양한 양상들을 실시할 수 있도록 제공된다. 이들 양상들에 대한 다양한 변형들은 당업자들에게는 용이하게 명백할 것이며, 본 명세서에 정의된 일반적인 원리들은 다른 양상들에 적용될 수 있다. 따라서, 청구항들은 본 명세서에 설명된 양상들로 제한되도록 의도되는 것이 아니라, 청구항 문언들에 일치하는 최대 범위를 부여하려는 것이며, 여기서, 단수형의 엘리먼트에 대한 참조는 특정하게 그렇게 언급되지 않으면 "하나 및 오직 하나"를 의미하기보다는 오히려 "하나 또는 그 초과"를 의미하도록 의도된다. 달리 특정하게 언급되지 않으면, 용어 "몇몇"은 하나 또는 그 초과를 지칭한다. 당업자들에게 알려졌거나 추후에 알려지게 될 본 개시내용 전반에 걸쳐 설명된 다양한 양상들의 엘리먼트들에 대한 모든 구조적 및 기능적 등가물들은, 인용에 의해 본 명세서에 명백히 포함되고, 청구항들에 의해 포함되도록 의도된다. 또한, 본 명세서에 개시된 어떠한 것도, 그와 같은 개시가 청구항들에 명시적으로 인용되는지 여부에 관계없이 공중에 전용되도록 의도되지 않는다. 어떤 청구항 엘리먼트도, 그 엘리먼트가 "하기 위한 수단"이라는 어구를 사용하여 명시적으로 언급되지 않으면, 수단 플러스(plus) 기능으로서 해석되지 않을 것이다.[00197] The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects. Accordingly, the claims are not intended to be limited to the aspects described herein, but rather to the maximum extent consistent with the claims, wherein references to singular elements, unless specifically so stated, Is intended to mean "one or more" rather than "only one ". Unless specifically stated otherwise, the term "some" refers to one or more. All structural and functional equivalents to the elements of the various aspects described throughout this disclosure which will be known or later disclosed to those skilled in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims . Furthermore, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims. No claim element will be construed as a plus function unless explicitly mentioned by the use of the phrase "means for doing ".
Claims (18)
프로세싱 회로를 포함하며,
상기 프로세싱 회로는,
멀티-와이어 링크를 통해 심볼들의 시퀀스를 수신하고,
전용 클록 라인을 통해 클록 신호를 수신하며 ― 상기 전용 클록 라인은 상기 멀티-와이어 링크와는 별개이고 상기 멀티-와이어 링크와 병렬임 ―, 그리고
상기 클록 신호를 사용하여 상기 심볼들의 시퀀스를 디코딩하도록
구성되고,
제2 클록 신호는, 상기 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입되고,
상기 프로세싱 회로는, 상기 제2 클록 신호를 무시하면서, 상기 전용 클록 라인을 통해 수신된 상기 클록 신호를 사용하여 상기 심볼들의 시퀀스를 디코딩하도록 구성되고,
상기 멀티-와이어 링크의 적어도 하나의 라인은 양방향이며,
상기 프로세싱 회로는, 상기 전용 클록 라인을 통해 수신된 상기 클록 신호에 기반하여 상기 적어도 하나의 양방향 라인을 통해 심볼들의 제2 시퀀스를 송신하도록 추가로 구성되는, 수신 디바이스.As a receiving device,
Processing circuit,
The processing circuit comprising:
Receiving a sequence of symbols over a multi-wire link,
Receiving a clock signal through a dedicated clock line, said dedicated clock line being separate from said multi-wire link and parallel to said multi-wire link, and
To decode the sequence of symbols using the clock signal
Respectively,
A second clock signal is inserted into guaranteed transitions between successive pairs of symbols in the sequence of symbols,
Wherein the processing circuit is configured to decode the sequence of symbols using the clock signal received on the dedicated clock line, ignoring the second clock signal,
At least one line of the multi-wire link is bidirectional,
Wherein the processing circuitry is further configured to transmit a second sequence of symbols over the at least one bidirectional line based on the clock signal received over the dedicated clock line.
디코딩하도록 구성된 상기 프로세싱 회로는, 상기 클록 신호를 사용하여 상기 심볼들의 시퀀스를 데이터 비트들의 세트로 변환하도록 추가로 구성되는, 수신 디바이스.The method according to claim 1,
Wherein the processing circuit configured to decode is further configured to use the clock signal to convert the sequence of symbols into a set of data bits.
상기 심볼들의 시퀀스를 상기 데이터 비트들의 세트로 변환하도록 구성된 상기 프로세싱 회로는,
상기 심볼들의 시퀀스를 트랜지션 넘버들의 세트로 변환하기 위해 트랜스코더를 사용하고; 그리고
상기 트랜지션 넘버들의 세트를 상기 데이터 비트들의 세트로 변환하도록
추가로 구성되는, 수신 디바이스.3. The method of claim 2,
The processing circuit configured to convert the sequence of symbols into a set of data bits,
Using a transcoder to convert the sequence of symbols into a set of transition numbers; And
To convert the set of transition numbers into a set of data bits
≪ / RTI >
상기 심볼들의 시퀀스 내의 각각의 심볼은 상기 멀티-와이어 링크의 N개의 와이어들의 시그널링 상태에 대응하며,
상기 N은 1보다 큰 정수인, 수신 디바이스.The method according to claim 1,
Each symbol in the sequence of symbols corresponding to a signaling state of the N wires of the multi-wire link,
Where N is an integer greater than one.
상기 전용 클록 라인은 양방향이며, 상기 멀티-와이어 링크를 통해 송신하는 임의의 디바이스로부터 구동될 수 있는, 수신 디바이스.The method according to claim 1,
Wherein the dedicated clock line is bi-directional and can be driven from any device transmitting over the multi-wire link.
멀티-와이어 링크를 통해 심볼들의 시퀀스를 수신하는 단계;
전용 클록 라인을 통해 클록 신호를 수신하는 단계 ― 상기 전용 클록 라인은 상기 멀티-와이어 링크와는 별개이고 상기 멀티-와이어 링크와 병렬임 ―; 및
상기 클록 신호를 사용하여 상기 심볼들의 시퀀스를 디코딩하는 단계를 포함하며,
제2 클록 신호는, 상기 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입되고,
상기 심볼들의 시퀀스는, 상기 제2 클록 신호를 무시하면서, 상기 전용 클록 라인을 통해 수신된 상기 클록 신호를 사용하여 디코딩되고,
상기 멀티-와이어 링크의 적어도 하나의 라인은 양방향이며,
상기 방법은, 상기 전용 클록 라인을 통해 수신된 상기 클록 신호에 기반하여 상기 적어도 하나의 양방향 라인을 통해 심볼들의 제2 시퀀스를 송신하는 단계를 더 포함하는, 수신 디바이스에서의 데이터 통신 방법.A data communication method in a receiving device,
Receiving a sequence of symbols over a multi-wire link;
Receiving a clock signal via a dedicated clock line, the dedicated clock line being separate from the multi-wire link and parallel to the multi-wire link; And
And decoding the sequence of symbols using the clock signal,
A second clock signal is inserted into guaranteed transitions between successive pairs of symbols in the sequence of symbols,
Wherein the sequence of symbols is decoded using the clock signal received on the dedicated clock line, ignoring the second clock signal,
At least one line of the multi-wire link is bidirectional,
The method further comprising transmitting a second sequence of symbols over the at least one bi-directional line based on the clock signal received over the dedicated clock line.
상기 디코딩하는 단계는, 상기 클록 신호를 사용하여 상기 심볼들의 시퀀스를 데이터 비트들의 세트로 변환하는 단계를 포함하는, 수신 디바이스에서의 데이터 통신 방법.The method according to claim 6,
Wherein the decoding comprises converting the sequence of symbols to a set of data bits using the clock signal.
상기 심볼들의 시퀀스를 상기 데이터 비트들의 세트로 변환하는 단계는,
상기 심볼들의 시퀀스를 트랜지션 넘버들의 세트로 변환하기 위해 트랜스코더를 사용하는 단계; 및
상기 트랜지션 넘버들의 세트를 상기 데이터 비트들의 세트로 변환하는 단계를 포함하는, 수신 디바이스에서의 데이터 통신 방법.8. The method of claim 7,
Wherein converting the sequence of symbols into the set of data bits comprises:
Using a transcoder to convert the sequence of symbols into a set of transition numbers; And
And converting the set of transition numbers into the set of data bits.
상기 심볼들의 시퀀스 내의 각각의 심볼은 상기 멀티-와이어 링크의 N개의 와이어들의 시그널링 상태에 대응하며,
상기 N은 1보다 큰 정수인, 수신 디바이스에서의 데이터 통신 방법.The method according to claim 6,
Each symbol in the sequence of symbols corresponding to a signaling state of the N wires of the multi-wire link,
Where N is an integer greater than one.
상기 전용 클록 라인은 양방향이며, 상기 멀티-와이어 링크를 통해 송신하는 임의의 디바이스로부터 구동될 수 있는, 수신 디바이스에서의 데이터 통신 방법.The method according to claim 6,
Wherein the dedicated clock line is bi-directional and can be driven from any device transmitting over the multi-wire link.
프로세싱 회로를 포함하며,
상기 프로세싱 회로는,
데이터 비트들을 심볼들의 시퀀스로 인코딩하고,
제2 클록 신호를 상기 심볼들의 시퀀스에 삽입하고 ― 상기 제2 클록 신호는 상기 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입됨 ―;
멀티-와이어 링크를 통해 상기 심볼들의 시퀀스를 송신하며; 그리고
전용 클록 라인을 통해 상기 심볼들의 시퀀스와 연관된 클록 신호를 송신하도록
구성되고,
상기 전용 클록 라인은 상기 멀티-와이어 링크와는 별개이고 상기 멀티-와이어 링크와 병렬이고,
상기 멀티-와이어 링크의 적어도 하나의 라인은 양방향이며,
상기 프로세싱 회로는, 상기 전용 클록 라인을 통해 송신된 상기 클록 신호에 기반하여 상기 적어도 하나의 양방향 라인을 통해 심볼들의 제2 시퀀스를 수신하도록 추가로 구성되는, 송신 디바이스.As a transmitting device,
Processing circuit,
The processing circuit comprising:
Encodes the data bits into a sequence of symbols,
Inserting a second clock signal into the sequence of symbols, the second clock signal being inserted into guaranteed transitions between successive pairs of symbols in the sequence of symbols;
Transmitting the sequence of symbols over a multi-wire link; And
To transmit a clock signal associated with the sequence of symbols over a dedicated clock line
Respectively,
Wherein the dedicated clock line is separate from the multi-wire link and parallel to the multi-wire link,
At least one line of the multi-wire link is bidirectional,
Wherein the processing circuitry is further configured to receive a second sequence of symbols over the at least one bi-directional line based on the clock signal transmitted over the dedicated clock line.
상기 데이터 비트들을 인코딩하도록 구성된 상기 프로세싱 회로는,
상기 데이터 비트들을 트랜지션 넘버들의 세트로 변환하기 위해 트랜스코더를 사용하고; 그리고
상기 심볼들의 시퀀스를 획득하기 위해 상기 트랜지션 넘버들의 세트를 변환하도록
추가로 구성되는, 송신 디바이스.12. The method of claim 11,
Wherein the processing circuit configured to encode the data bits comprises:
Use a transcoder to convert the data bits into a set of transition numbers; And
To transform the set of transition numbers to obtain a sequence of the symbols
Further comprising a transmitting device.
상기 심볼들의 시퀀스 내의 각각의 심볼은 상기 멀티-와이어 링크의 N개의 와이어들의 시그널링 상태에 대응하며,
상기 N은 1보다 큰 정수인, 송신 디바이스.12. The method of claim 11,
Each symbol in the sequence of symbols corresponding to a signaling state of the N wires of the multi-wire link,
Where N is an integer greater than one.
상기 전용 클록 라인은 양방향이며, 상기 멀티-와이어 링크를 통해 송신하는 임의의 디바이스로부터 구동될 수 있는, 송신 디바이스.12. The method of claim 11,
Wherein the dedicated clock line is bi-directional and can be driven from any device transmitting over the multi-wire link.
데이터 비트들을 심볼들의 시퀀스로 인코딩하는 단계;
제2 클록 신호를 상기 심볼들의 시퀀스에 삽입하는 단계 ― 상기 제2 클록 신호는 상기 심볼들의 시퀀스 내의 연속적인 심볼들의 쌍들 사이의 보장된 트랜지션들에 삽입됨 ―;
멀티-와이어 링크를 통해 상기 심볼들의 시퀀스를 송신하는 단계; 및
전용 클록 라인을 통해 상기 심볼들의 시퀀스와 연관된 클록 신호를 송신하는 단계를 포함하며,
상기 전용 클록 라인은 상기 멀티-와이어 링크와는 별개이고 상기 멀티-와이어 링크와 병렬이고,
상기 멀티-와이어 링크의 적어도 하나의 라인은 양방향이며,
상기 방법은, 상기 전용 클록 라인을 통해 송신된 상기 클록 신호에 기반하여 상기 적어도 하나의 양방향 라인을 통해 심볼들의 제2 시퀀스를 수신하는 단계를 더 포함하는, 송신 디바이스에서의 데이터 통신 방법.A data communication method in a transmitting device,
Encoding data bits into a sequence of symbols;
Inserting a second clock signal into the sequence of symbols, wherein the second clock signal is inserted into guaranteed transitions between successive pairs of symbols in the sequence of symbols;
Transmitting the sequence of symbols over a multi-wire link; And
Transmitting a clock signal associated with the sequence of symbols over a dedicated clock line,
Wherein the dedicated clock line is separate from the multi-wire link and parallel to the multi-wire link,
At least one line of the multi-wire link is bidirectional,
The method further comprising receiving a second sequence of symbols over the at least one bi-directional line based on the clock signal transmitted over the dedicated clock line.
상기 데이터 비트들을 인코딩하는 단계는,
상기 데이터 비트들을 트랜지션 넘버들의 세트로 변환하기 위해 트랜스코더를 사용하는 단계; 및
상기 심볼들의 시퀀스를 획득하기 위해 상기 트랜지션 넘버들의 세트를 변환하는 단계를 포함하는, 송신 디바이스에서의 데이터 통신 방법.16. The method of claim 15,
Wherein encoding the data bits comprises:
Using a transcoder to convert the data bits into a set of transition numbers; And
And transforming the set of transition numbers to obtain a sequence of the symbols.
상기 심볼들의 시퀀스 내의 각각의 심볼은 상기 멀티-와이어 링크의 N개의 와이어들의 시그널링 상태에 대응하며,
상기 N은 1보다 큰 정수인, 송신 디바이스에서의 데이터 통신 방법.16. The method of claim 15,
Each symbol in the sequence of symbols corresponding to a signaling state of the N wires of the multi-wire link,
Wherein N is an integer greater than one.
상기 전용 클록 라인은 양방향이며, 상기 멀티-와이어 링크를 통해 송신하는 임의의 디바이스로부터 구동될 수 있는, 송신 디바이스에서의 데이터 통신 방법.16. The method of claim 15,
Wherein the dedicated clock line is bi-directional and can be driven from any device transmitting over the multi-wire link.
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 true KR20180066065A (en) | 2018-06-18 |
KR102520096B1 KR102520096B1 (en) | 2023-04-07 |
Family
ID=56997556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020187009328A KR102520096B1 (en) | 2015-10-05 | 2016-09-09 | Encoded multi-lane N-factorial and other multi-wire communication systems |
Country Status (8)
Country | Link |
---|---|
EP (1) | EP3360278A1 (en) |
JP (1) | JP2018534847A (en) |
KR (1) | KR102520096B1 (en) |
CN (1) | CN108141346A (en) |
AU (1) | AU2016335548A1 (en) |
BR (1) | BR112018006874A2 (en) |
TW (1) | TW201714443A (en) |
WO (1) | WO2017062132A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113192950A (en) | 2020-04-30 | 2021-07-30 | 台湾积体电路制造股份有限公司 | Integrated circuit and method of manufacturing the same |
US11437998B2 (en) | 2020-04-30 | 2022-09-06 | Taiwan Semiconductor Manufacturing Company, Ltd. | Integrated circuit including back side conductive lines for clock signals |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140372644A1 (en) * | 2013-06-12 | 2014-12-18 | Qualcomm Incorporated | Camera control interface extension bus |
KR20150028783A (en) * | 2012-06-29 | 2015-03-16 | 퀄컴 인코포레이티드 | N-phase polarity output pin mode multiplexer |
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 |
KR20150121724A (en) * | 2013-03-07 | 2015-10-29 | 퀄컴 인코포레이티드 | Transcoding method for multi-wire signaling that embeds clock information in transition of signal state |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9711041B2 (en) * | 2012-03-16 | 2017-07-18 | Qualcomm Incorporated | N-phase polarity data transfer |
JP2013110554A (en) * | 2011-11-21 | 2013-06-06 | Panasonic Corp | Transmitter, receiver and serial transmission system |
JP5898331B2 (en) * | 2012-10-26 | 2016-04-06 | 株式会社日立国際電気 | Multi-channel wireless communication system, base station, channel utilization method |
US20150220472A1 (en) * | 2014-02-05 | 2015-08-06 | Qualcomm Incorporated | Increasing throughput on multi-wire and multi-lane interfaces |
-
2016
- 2016-09-09 JP JP2018517310A patent/JP2018534847A/en active Pending
- 2016-09-09 EP EP16770840.3A patent/EP3360278A1/en not_active Withdrawn
- 2016-09-09 WO PCT/US2016/051131 patent/WO2017062132A1/en active Application Filing
- 2016-09-09 CN CN201680058575.6A patent/CN108141346A/en active Pending
- 2016-09-09 BR BR112018006874A patent/BR112018006874A2/en not_active Application Discontinuation
- 2016-09-09 KR KR1020187009328A patent/KR102520096B1/en active IP Right Grant
- 2016-09-09 AU AU2016335548A patent/AU2016335548A1/en not_active Abandoned
- 2016-09-09 TW TW105129387A patent/TW201714443A/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150028783A (en) * | 2012-06-29 | 2015-03-16 | 퀄컴 인코포레이티드 | N-phase polarity output pin mode multiplexer |
KR20150121724A (en) * | 2013-03-07 | 2015-10-29 | 퀄컴 인코포레이티드 | Transcoding method for multi-wire signaling that embeds clock information in transition of signal state |
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 |
---|---|
WO2017062132A1 (en) | 2017-04-13 |
AU2016335548A1 (en) | 2018-04-12 |
CN108141346A (en) | 2018-06-08 |
EP3360278A1 (en) | 2018-08-15 |
JP2018534847A (en) | 2018-11-22 |
TW201714443A (en) | 2017-04-16 |
KR102520096B1 (en) | 2023-04-07 |
BR112018006874A2 (en) | 2018-10-16 |
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 | |
US9444612B2 (en) | Multi-wire single-ended push-pull link with data symbol transition based clocking | |
US9313058B2 (en) | Compact and fast N-factorial single data rate clock and data recovery circuits | |
US20150220472A1 (en) | Increasing throughput on multi-wire and multi-lane interfaces | |
EP3053296B1 (en) | N factorial dual data rate clock and data recovery | |
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 (en) | Encoded multi-lane N-factorial and other multi-wire communication systems | |
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 |