KR20160089415A - 순시 전류 및 신호 트랜지션들의 양자 모두를 제한하도록 데이터 반전을 용이하게 하기 위한 디바이스들 및 방법들 - Google Patents

순시 전류 및 신호 트랜지션들의 양자 모두를 제한하도록 데이터 반전을 용이하게 하기 위한 디바이스들 및 방법들 Download PDF

Info

Publication number
KR20160089415A
KR20160089415A KR1020167016110A KR20167016110A KR20160089415A KR 20160089415 A KR20160089415 A KR 20160089415A KR 1020167016110 A KR1020167016110 A KR 1020167016110A KR 20167016110 A KR20167016110 A KR 20167016110A KR 20160089415 A KR20160089415 A KR 20160089415A
Authority
KR
South Korea
Prior art keywords
data
data bits
encoding
channel
encoding scheme
Prior art date
Application number
KR1020167016110A
Other languages
English (en)
Inventor
티모시 모우리 홀리스
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20160089415A publication Critical patent/KR20160089415A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0042Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0008Arrangements for reducing power consumption
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0175Coupling arrangements; Interface arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0075Transmission of coding parameters to receiver

Landscapes

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

Abstract

전자 디바이스들은 순시 전류 및 신호 트랜지션들의 양자를 동시에 제한하기 위해 데이터 인코딩을 용이하게 하도록 구성된다. 일 예에 따라, 전자 디바이스는 데이터 버스 상에서 송신될 데이터 비트들의 그룹에 대해 제 1 인코딩 스킴을 수행할 수도 있다. 제 1 인코딩 스킴은 각각의 데이터 채널 상의 데이터 비트들의 그룹 내의 트랜지션들의 수에 기초하여 수행될 수도 있다. 제 2 인코딩 스킴은 또한 데이터 비트들의 그룹에 기초하여 수행될 수도 있다. 제 2 인코딩 스킴은 미리 결정된 상태 (예를 들어, 1 또는 0) 를 나타내는 각각의 데이터 채널에 대해 데이터 비트들의 그룹 내의 데이터 비트들의 수에 기초하여 수행될 수도 있다. 데이터 비트들의 그룹에 대한 인코딩 스킴이 수행된 후, 인코딩된 데이터 비트들은 데이터 버스의 개별 데이터 채널들을 통해 송신될 수도 있다. 다른 양태들, 실시형태들 및 피처들이 또한 포함된다.

Description

순시 전류 및 신호 트랜지션들의 양자 모두를 제한하도록 데이터 반전을 용이하게 하기 위한 디바이스들 및 방법들{DEVICES AND METHODS FOR FACILITATING DATA INVERSION TO LIMIT BOTH INSTANTANEOUS CURRENT AND SIGNAL TRANSITIONS}
관련 출원들에 대한 상호 참조
이 출원은 2013 년 11 월 21 일에 미국특허청 (USPTO) 에 출원된 U.S. 정규출원 번호 제 14/086,858 호의 이익 및 이에 대한 우선권을 주장하며, 그 전체는 본 명세서에 참조로서 통합된다.
하기에 논의된 기술은 일반적으로 데이터 버스를 포함하는 전자 디바이스들에 관한 것이고, 보다 구체적으로는 데이터 버스를 통한 송신을 위해 데이터 비트들을 인코딩하고 데이터 버스를 통해 송신된 데이터 비트들을 디코딩하기 위한 방법들 및 디바이스들에 관한 것이다.
상호 접속들을 통한 데이터 송신은 다수의 형태들을 취할 수도 있다. 컴포넌트들 사이의 데이터 송신을 용이하게 하기 위한 구성의 일 예는 데이터 버스의 사용이며, 여기서 송신 컴포넌트는 데이터 비트들로도 또한 칭하는 데이터 신호들을 병렬 송신 채널들의 그룹을 통해 수신 컴포넌트에 전송한다. 데이터 비트들은 통상적으로, 데이터 비트들의 진폭 및 타이밍을 변경할 수 있는, 심볼간 간섭 (ISI), 크로스토크, 및 동시 스위칭 노이즈 (SSN) 를 받게 된다. 종종, 데이터 비트들은 데이터 인코딩의 다양한 기법들을 사용하여 ISI, 크로스토크, 및/또는 SSN 의 효과들을 감소시키기 위해 인코딩될 수도 있다. 데이터 인코딩의 하나의 구체적인 형태는 데이터 버스 반전 (DBI) 이다.
다음은 논의된 기술의 기본적인 이해를 제공하기 위해 본 개시물의 일부 양태들을 요약한다. 이 개요는 개시물의 모든 고려되는 피처들의 광범위한 개관이 아니며, 개시물의 모든 양태들의 핵심적이거나 중요한 엘리먼트들을 식별하거나 임의의 양태 또는 모든 양태들의 범위를 기술하려고 의도되지 않는다. 그 유일한 목적은 이후에 제시되는 더 상세한 설명에 대한 서두로서 개요의 형태로 개시물의 하나 이상의 양태들의 일부 개념들을 제시하는 것이다.
본 개시물의 다양한 예들 및 구현들은 데이터 버스의 각각의 데이터 채널 상에서 복수의 인코딩 기법들을 사용하여 데이터 인코딩을 용이하게 한다. 개시물의 적어도 일 양태에 따라, 전자 디바이스들은 함께 통신 가능하게 및/또는 동작가능하게 커플링된 데이터 베이스 인터페이스 및 프로세싱 회로를 갖는 인코더를 포함할 수도 있다. 데이터 버스 인터페이스는 데이터 비트들의 송신을 용이하게 하기 위해 데이터 버스와 커플링될 수 있다. 프로세싱 회로는, 데이터 버스 인터페이스를 통해 데이터 버스 상에서 송신될 데이터 비트들의 그룹에 대해 제 1 인코딩 스킴을 수행하도록 구성될 수도 있으며, 제 1 인코딩 스킴은 데이터 비트들의 그룹 내의 트랜지션들의 수에 기초하여 수행된다. 프로세싱 회로는 또한, 미리 결정된 상태를 나타내는 데이터 비트들의 그룹 내의 데이터 비트들의 수에 기초하여 데이터 비트들의 그룹에 대해 제 2 인코딩 스킴을 수행하도록 구성될 수도 있다. 프로세싱 회로는 또한, 어느 데이터 비트들이 제 1 인코딩 스킴에 의해 인코딩되는지를 표시하기 위해 복수의 제 1 인코딩 플러그들을 설정하고, 그리고 어느 데이터 비트들이 제 2 인코딩 스킴에 의해 인코딩되는지를 표시하기 위해 복수의 제 2 인코딩 플래그들을 설정하도록 구성될 수 있다.
추가적인 양태들은 전자 디바이스들 상에서 동작하는 방법들 및/또는 그러한 방법들을 수행하기 위한 수단을 포함하는 전자 디바이스들을 제공한다. 그러한 방법들의 하나 이상의 예들은, 데이터 버스를 통해 송신될 데이터 비트들의 그룹에 대해 제 1 인코딩 스킴을 수행하는 단계를 포함할 수도 있다. 제 1 인코딩 스킴은 데이터 비트들의 그룹 내의 트랜지션들의 수에 기초하여 수행될 수도 있다. 데이터 비트들의 그룹에 대해 제 2 인코딩 스킴이 또한 수행될 수도 있다. 제 2 인코딩 스킴은 미리 결정된 상태를 나타내는 데이터 비트들의 그룹 내의 데이터 비트들의 수에 기초하여 수행될 수도 있다. 부가적으로, 어느 데이터 비트들이 제 1 인코딩 스킴에 의해 인코딩되는지를 표시하기 위해 제 1 인코딩 플래그들이 설정될 수도 있고, 어느 데이터 비트들이 제 2 인코딩 스킴에 의해 인코딩되는지를 표시하기 위해 제 2 인코딩 플래그들이 설정될 수도 있다.
또한 추가적인 양태들은 전자 디바이스와 같은 프로세싱 디바이스 상에서 동작하는 프로그래밍을 포함하는 프로세서 판독가능 저장 매체를 포함할 수도 있다. 하나 이상의 양태들에 따라, 그러한 프로그래밍은, 프로세싱 회로로 하여금, 데이터 버스를 통해 송신될 데이터 비트들의 그룹에 대해 제 1 인코딩 스킴을 채용하게 하도록 구성될 수도 있다. 제 1 인코딩 스킴은 데이터 비트들의 그룹 내의 트랜지션들의 수에 기초하여 수행될 수도 있다. 프로그래밍은 또한, 프로세싱 회로로 하여금, 데이터 비트들의 그룹에 대해 제 2 인코딩 스킴을 채용하게 할 수도 있다. 제 2 인코딩 스킴은, 미리 결정된 상태를 나타내는 데이터 비트들의 그룹 내의 데이터 비트들의 수에 기초하여 수행될 수도 있다.
본 개시물의 부가 양태들은 적어도 하나의 인코더를 포함하는 전자 디바이스들을 제공한다. 그러한 인코더는 트랜지션 검출기, 상태 검출기 및 인버터를 포함할 수도 있다. 트랜지션 검출기는, 미리 결정된 수의 사이클들 동안 데이터 버스의 복수의 데이터 채널들 상의 트랜지션들의 수를 결정하도록 구성될 수도 있다. 상태 검출기는, 미리 결정된 수의 사이클들 동안 복수의 데이터 채널들의 각각의 데이터 채널 상의 미리 결정된 상태로 설정된 사이클들의 수를 결정하도록 구성될 수도 있다. 인버터는, 데이터 채널 상의 트랜지션들의 수가 트랜지션 임계 초과라고 결정될 때 데이터 채널 상의 미리 결정된 수의 사이클들의 사이클을 하나 걸러 반전하도록 구성될 수도 있다. 인버터는 또한, 데이터 채널 상의 미리 결정된 상태로 설정된 사이클들의 수가 상태 임계 초과라고 결정될 때 데이터 채널 상의 미리 결정된 수의 사이클들의 사이클들을 반전하도록 구성될 수도 있다.
추가적인 양태들은 전자 디바이스들 상에서 동작하는 방법들 및/또는 그러한 방법들을 수행하기 위한 수단을 포함하는 전자 디바이스들을 제공한다. 그러한 방법들의 하나 이상의 예들은, 미리 결정된 수의 사이클들 동안 데이터 버스의 복수의 데이터 채널들 상의 트랜지션들의 수를 결정하는 단계를 포함할 수도 있다. 데이터 채널 상의 트랜지션들의 수가 트랜지션 임계 초과라고 결정될 때 데이터 채널의 사이클이 하나 걸러 반전될 수도 있다. 연관된 데이터 채널의 사이클이 하나 걸러 반전되었는지 여부를 표시하기 위해 각각의 데이터 채널과 연관된 개별 트랜지션 반전 인코딩 플래그가 설정될 수도 있다. 미리 결정된 수의 사이클들 동안 복수의 데이터 채널들의 각각의 데이터 채널 상의 미리 결정된 상태로 설정된 사이클들의 수가 또한 결정될 수도 있다. 데이터 채널 상의 미리 결정된 상태로 설정된 사이클들의 수가 상태 임계 초과일 때 데이터 채널의 사이클들이 반전될 수도 있다. 연관된 데이터 채널의 사이클들이 반전되는지 여부를 표시하기 위해 각각의 데이터 채널과 연관된 개별 상태 반전 인코딩 플래그가 설정될 수도 있다.
또한 추가적인 양태들은 프로세싱 디바이스 상에서 동작하는 프로그래밍을 포함하는 프로세서 판독가능 저장 매체를 포함한다. 하나 이상의 예들에 따라, 그러한 프로그래밍은, 프로세싱 회로로 하여금, 미리 결정된 수의 사이클들 동안 데이터 버스의 복수의 데이터 채널들 상의 트랜지션들의 수를 결정하게 하고, 데이터 채널 상의 트랜지션들의 수가 트랜지션 임계 초과라고 결정될 때 데이터 채널의 사이클을 하나 걸러 반전하게 하고, 그리고 연관된 데이터 채널의 사이클이 하나 걸러 반전되었는지 여부를 표시하기 위해 각각의 데이터 채널과 연관된 개별 트랜지션 반전 인코딩 플래그를 설정하게 하도록 구성될 수도 있다. 프로그래밍은 또한, 미리 결정된 수의 사이클들 동안 복수의 데이터 채널들의 각각의 데이터 채널 상의 미리 결정된 상태로 설정된 사이클들의 수를 결정하게 하고, 데이터 채널 상의 미리 결정된 상태로 설정된 사이클들의 수가 상태 임계 초과일 때 데이터 채널의 사이클들을 반전하게 하며, 그리고 연관된 데이터 채널의 사이클들이 반전되는지 여부를 표시하기 위해 각각의 데이터 채널과 연관된 개별 상태 반전 인코딩 플래그를 설정하게 하도록 구성될 수도 있다.
본 개시물의 다양한 예들 및 구현들은 또한 데이터 버스의 각각의 채널 상에 복수의 인코딩 기법들을 사용하여 인코딩되었던 데이터를 디코딩하는 것을 용이하게 한다. 개시물의 적어도 하나의 양태에 따라, 전자 디바이스들은 함께 통신가능하게 및/또는 동작가능하게 커플링된 데이터 버스 인터페이스 및 인버터를 갖는 디코더를 포함할 수도 있다. 데이터 버스 인터페이스는 데이터 비트들의 수신을 용이하게 하기 위해 데이터 버스에 커플링될 수 있다. 인버터는 데이터 버스 인터페이스를 통해 복수의 데이터 채널들 상에서 데이터 비트들의 그룹을 수신하도록 구성될 수도 있다. 인버터는 제 1 인코딩 스킴에 대해 데이터 비트들의 그룹을 디코딩하고, 그 후 제 2 인코딩 스킴에 대해 데이터 비트들의 그룹을 디코딩할 수도 있다.
부가 양태들은 전자 디바이스들 상에서 동작하는 방법들 및/또는 그러한 방법들을 수행하기 위한 수단을 포함하는 전자 디바이스들을 제공한다. 그러한 방법들의 하나 이상의 양태들은, 데이터 버스의 복수의 데이터 채널들 상에서 데이터 비트들의 그룹을 수신하는 단계를 포함할 수도 있다. 데이터 비트들의 그룹은 제 1 인코딩 스킴에 대해 디코딩되고, 그 후 제 2 인코딩 스킴에 대해 디코딩될 수도 있다.
또한 추가적인 양태들은, 전자 디바이스와 같은 프로세싱 디바이스 상에서 동작하는 프로그래밍을 포함하는 프로세서 판독가능 저장 매체를 포함한다. 하나 이상의 예들에 따라, 그러한 프로그래밍은 프로세싱 회로로 하여금, 제 1 인코딩 스킴에 대해 수신된 데이터 비트들의 그룹을 디코딩하게 하고, 그 후 제 2 인코딩 스킴에 대해 데이터 비트들의 그룹을 디코딩하게 하도록 구성될 수도 있다.
본 개시물과 연관된 다른 양태들, 피처들 및 실시형태들은 첨부 도면들과 함께 다음의 기재를 검토하면 당업자에게 명백해질 것이다.
도 1 은 본 개시물의 하나 이상의 양태들이 어플리케이션을 발견할 수도 잇는 시스템 환경의 블록 다이어그램이다.
도 2 는 데이터 버스의 상이한 채널들을 통해 송신되는 데이터 비트들의 일 예를 도시하는 블록 다이어그램이다.
도 3 은 도 2 의 데이터 비트들에 적용된 DBI AC 인코딩의 일 예를 도시하는 블록 다이어그램이다.
도 4 는 도 2 의 데이터 비트들에 적용된 DBI DC 인코딩의 일 예를 도시하는 블록 다이어그램이다.
도 5 는 적어도 일 예에 따른 디코더 및 전자 디바이스의 선택 컴포넌트들을 도시하는 블록 다이어그램이다.
도 6 은 본 개시물의 적어도 일 예에 따른 데이터 인코딩의 일 예를 도시하는 블록 다이어그램이다.
도 7 은 인코딩 플래그들이 데이터 비트들의 그룹의 종단에 첨부된 부가 데이터 비트들로서 원래 데이터 채널들 상에서 송신되는 적어도 일 예에 따른 데이터 인코딩의 다른 예를 도시하는 블록 다이어그램이다.
도 8 은 인코딩 플래그들의 일 세트는 부가 채널 상에서 송신되고 인코딩 플래그들의 다른 세트는 데이터 비트들의 그룹의 종단에 첨부된 부가 데이터 비트들로서 송신되는 적어도 일 예에 다른 데이터 인코딩의 다른 예를 도시하는 블록 다이어그램이다.
도 9 는 인코딩 플래그들이 부가 채널 상에서 전송되는 적어도 일 예에 따른 데이터 인코딩의 다른 예를 도시하는 블록 다이어그램이며, 여기서 부가 채널의 복수의 연속적인 사이클들은 개별 데이터 채널과 연관된다.
도 10 은 트랜지션 인코딩 플래그들 및 상태 인코딩 플래그들이 동일한 부가 채널 상에서 전송되는 적어도 일 예에 따른 데이터 인코딩의 다른 예를 도시하는 블록 다이어그램이다.
도 11 은 적어도 일 예에 따른 전자 디바이스 상에서 동작하는 방법을 도시하는 블록 다이어그램이다.
도 12 는 적어도 일 구현에 따른 트랜지션들의 수에 기초하여 도 11 의 제 1 인코딩 스킴을 수행하기 위한 프로세스의 일 예를 도시하는 플로우 다이어그램이다.
도 13 은 적어도 일 구현에 따른 특정 상태를 갖는 사이클들의 수에 기초하여 도 11 의 제 2 인코딩 스킴을 수행하기 위한 프로세스의 일 예를 도시하는 플로우 다이어그램이다.
도 14 는 적어도 일 예에 다른 전자 디바이스의 선택 컴포넌트들을 도시하는 블록 다이어그램이다.
도 15 는 적어도 일 예에 다른 전자 디바이스 상에서 동작하는 디코딩 방법을 도시하는 플로우 다이어그램이다.
첨부된 도면들과 함께 하기에 기술되는 설명은 다양한 구성들의 기재로서 의도되고, 단지 본 명세서에 기재된 개념들 및 피처들이 실시될 수도 있는 구성들만을 나타내는 것으로 의도되지 않는다. 다음의 설명은 다양한 개념들의 철저한 이해를 제공하기 위한 목적으로 구체적인 상세들을 포함한다. 하지만, 이들 개념들은 이들 구체적인 상세들 없이도 실시될 수도 있다는 것은 당업자에게 자명할 것이다. 일부 경우들에서, 주지된 회로들, 구조들, 기법들 및 컴포넌트들은 기재된 개념들 및 피처들을 모호하게 하는 것을 회피하기 위해서 블록 다이어그램 형태로 나타낸다.
이제 도 1 을 참조하면, 본 개시물의 하나 이상의 양태들이 어플리케이션을 발견할 수도 있는 시스템 환경의 일 예를 도시하는 블록 다이어그램이 나타나 있다. 시스템 (100) 은 병렬 데이터 버스 (106) 에 의해 서로 통신가능하게 커플링된 제 1 전자 디바이스 (102) 및 제 2 전자 디바이스 (104) 를 포함한다. 제 1 전자 디바이스 (102) 는 송신기 (또는 송신 디바이스) 로서 나타내며, 인코더 (110) 를 가지며 데이터 버스 (106) 를 통해 제 1 전자 디바이스 (102) 로부터 제 2 전자 디바이스 (104) 로 인코딩된 데이터 비트들을 전송하도록 구성된 송신 유닛 (108) 을 포함한다. 따라서 제 2 전자 디바이스 (104) 는 인코딩된 데이터 비트들을 수신하고 디코딩하기 위해 디코더 (114) 를 갖는 수신기 유닛 (112) 를 포함한다. 일부 예들에서, 데이터 버스 (106) 는 일방향 버스일 수도 있다. 다른 예들에서, 데이터 버스 (106) 는 양방향 버스일 수도 있으며, 이 경우 제 2 전자 디바이스 (104) 는 또한 제 1 전자 디바이스 (102) 의 수신기 유닛 (118) 으로 데이터 버스 (106) 를 통해 데이터 비트들을 전송하도록 구성된 송신 유닛 (116) 을 포함할 수도 있다.
제 1 및 제 2 전자 디바이스들 (102, 104) 은 싱글 엔드형 (single-ended) 시그널링을 사용하여 통신할 수 있는 임의의 디바이스들일 수도 있다. 다양한 예들에서, 제 1 및 제 2 전자 디바이스들 (102, 104) 은 컴퓨터 시스템에서의 컴포넌트들일 수도 있다. 예를 들어, 일부 실시형태들에서, 전자 디바이스 (102) 는 프로세싱 유닛일 수도 있고, 제 2 전자 디바이스 (104) 는 메모리 모듈일 수도 있으며, 데이터 버스 (104) 는 시스템 버스일 수도 있다. 적어도 하나의 예에서, 메모리 모듈 및 프로세서의 메모리 제어기 인터페이스 (예를 들어, 물리 메모리 인터페이스 회로 PHY) 는 동작들을 기입하고 판독하기 위해 개별 송신 및 수신기 유닛을 포함할 수도 있다. 프로세서는 임의의 적절한 타입의 프로세싱 유닛, 예컨대 중앙 프로세싱 유닛 (CPU), 코프로세서, 산술 프로세싱 유닛, 그래픽스 프로세싱 유닛 (GPU), 디지털 신호 프로세서 (DSP) 등일 수도 있다. 메모리 모듈은 또한 임의의 적절한 타입의 메모리일 수도 있다. 일부 실시형태들에서, 제 2 전자 디바이스 (104) 는 다른 타입의 디바이스, 예컨대 브리지 제어기, 저장 디바이스 (예를 들어, 하드 드라이브, 광학 드라이브, 플래시 드라이브, 스토리지 어레이 등), 네트워크 인터페이스 디바이스 (예를 들어, 로컬 또는 광역 네트워크에 대한), 사용자 인터페이스 디바이스 (예를 들어, 디스플레이 디바이스, 사운드 디바이스, 프린터) 등일 수도 있다. 일부 예들에서, 제 1 및 제 2 전자 디바이스들 (102, 104) 은 시스템에 있어서 별도의 프로세싱 유닛 또는 프로세싱 유닛 내의 별도의 코어들일 수도 있다. 따라서, 적어도 하나의 예에서, 시스템 (100) 은 통신 네트워크일 수도 있으며, 여기서 제 1 및 제 2 전자 디바이스들 (102, 104) 은 라우터들, 스위치들, 엔드 디바이스들 등일 수도 있다. 따라서, 일반적으로, 제 1 및 제 2 전자 디바이스들 (102, 104) 은 데이터 버스 (106) 를 통해 데이터 비트들을 전송 및/또는 수신하도록 구성된 임의의 적절한 디바이스들일 수도 있다.
데이터 버스 (106) 는 채널들 (108) 로서 지칭될 수도 있는 대략 병렬 전도성 트레이스들 또는 라인들을 포함할 수도 있고, 이들 채널들 (108) 은 전자 디바이스들 (102 및 104) 에서의 개별 핀들에 각각의 종단에서 커플링될 수도 있다. 데이터 버스 (106) 의 채널들 (108) 의 수는 상이한 실시형태들에 따라 달라질 수도 있다. 단지 예시로서만, 데이터 버스 (106) 는 데이터 비트들과 병렬로 제어 신호들을 송신하기 위해 4, 8, 16, 32, 64, 72 개 등의 데이터 채널들 (108) 뿐만 아니라 부가 채널들 (108) 을 포함할 수도 있다. 예를 들어, 데이터 버스 (106) 는 총 80 개의 채널들 (108) 에 대해 72 개의 데이터 채널들 및 8 개의 제어 채널들을 가질 수도 있다. 데이터 버스는 수반되는 클록킹 토폴로지를 부가적으로 지원할 수도 있다.
채널들 (108) 을 통해 송신된 데이터 비트들은 일들 (1들) 및 영들 (0들), 또는 고전압 및 저전압을 포함하는 이진 데이터 비트들이다. 도 2 는 데이터 버스 (106) 의 상이한 채널들을 통해 송신되는 데이터 비트들의 일 예를 도시하는 블록 다이어그램 (200) 이다. 도시된 바와 같이, 각각의 로우 (row) 는 각각의 채널 상에서 송신되는 것으로 나타낸 8 개의 데이터 비트들 또는 사이클들을 갖는, 별도의 데이터 채널을 나타낸다. 홀수 사이클들 또는 비트들은 더 쉬운 뷰잉을 용이하게 하기 위해 간단히 음영으로 처리된다.
데이터 비트들이 데이터 버스 (106) 를 통해 송신될 때, 데이터 비트들은 통상적으로 데이터 비트들의 진폭 및 타이밍을 변경할 수 있는 심볼간 간섭 (ISI), 크로스토크, 및 동시 스위칭 노이즈 (SSN) 를 받게 된다. 종종, 데이터 비트들은 데이터 인코딩의 다양한 기법들을 사용하여 ISI, 크로스토크, 및/또는 SSN 의 효과들을 감소시키기 위해 인코딩될 수도 있다. 데이터 인코딩의 하나의 특정 형태는 데이터 버스 반전 (DBI) 으로서 종종 지칭된다.
데이터 버스 반전은 송신될 비트들 사이의 관계를 검토하고, 그 후 송신 전에 비트들의 일부 또는 전부를 반전하는 것이 이로울 것인지를 결정하기 위한 회로를 채용하는 피처이다. 비트들이 반전되는 경우, 비트들이 반전된다고 표시하기 위해 부가 신호가 또한 설정된다. 이 부가 신호는 종종 데이터 버스 반전 (DBI0 플래그 또는 인코딩 플래그로서 지칭된다. 어느 데이터 세트들이 반전되었는지 표시하게 위해 DBI 플래그가 다른 비트들과 병렬로 수신 회로에 전송될 수 있도록 추가 채널이 사용될 수 있다. 수신기는 착신 데이터를 그 원래의 상태로 복귀하기 위해 DBI 플래그를 사용한다.
일반적으로 DBI 인코딩을 위해 사용되는 데이터 버스 반전 기법들은 2 가지 타입이 있다. DBI AC 또는 최소 트랜지션들로서 당업자에 의해 지칭될 수도 있는 제 1 기법은, AC 전력을 개선하고 크로스 토크 등으로부터의 쟁점들을 감소시키기 위해 데이터 채널 상의 트랜지션들 (예를 들어, 0 에서 1 로, 또는 1 에서 0 으로의 변화들) 의 수를 감소시키기 위해 사용된다. 도 3 은 종래 DBI AC 인코딩의 일 예를 도시하는 블록 다이어그램이다. 좌측에는 도 2 로부터의 원 (raw) 데이터가 있고, 우측은 결과의 인코딩된 데이터를 나타낸다. DBI AC 인코딩은 동시 트랜지션들의 수를 감소시키기 위해 통상적으로 채용된다. 원 데이터에 있어서, 데이터 버스 (106) 의 모든 8 개의 채널들 상의 8 개의 사이클들을 통해 총 34 개의 트랜지션들이 있다. 나타낸 바와 같이, 디바이스가 데이터 채널들의 절만 초과가 송신을 위해 스케줄링된 데이터가 하나의 사이클로부터 다음 사이클로의 트랜지션을 갖는다고 결정할 때, 그 후 디바이스는 모든 데이터 채널들 상에서 다음 사이클로 반전할 수 있다. 가령, 사이클 2 부터 사이클 3 까지, 8 개의 데이터 채널들 중 7 개가 1 에서 0 으로 또는 0 에서 1 로 중 어느 하나의 트랜지션을 갖는다. 따라서, 디바이스는 사이클 3 을 반전할 수 있어서, 8 개의 데이터 채널들 중 단 하나만이 트랜지션을 가지게 될 것이다. 부가적으로, DBI 플래그는 도 3 에서 채널 9 로서 식별된 DBI 제어 채널 상의 사이클 3 에서 설정된다. 이 예에서, 데이터 버스 (106) 상에서 송신된 데이터에서의 트랜지션들의 수는 34 에서 25 로 감소하지만, 데이터 버스 (106) 상에서 송신된 것들 (예를 들어, 논리 하이 신호들) 의 수는 31 에서 32 로 증가한다.
DBI DC, 최소 1들 또는 최소 0들로서 지칭될 수도 있는, 데이터 버스 반전의 제 2 기법은, 특정 상태의 데이터 비트들의 수를 데이터 감소시키기 위해 (예를 들어, 1들의 수 또는 0들의 수를 감소시키기 위해) 사용된다. 도 4 는 종래 DBI DC 인코딩의 일 예를 도시하는 블록 다이어그램이다. 한번 더, 좌측의 다이어그램은 도 2 로부터의 원 데이터이고, 우측의 다이어그램은 결과의 인코딩된 데이터를 도시한다. DBI DC 인코딩은 통상적으로 특정 상태를 갖는 데이터 비트들의 수를 감소시키기 위해 채용된다. 가령, 이 예에서, DBI DC 는 데이터 버스 (106) 상에서 송신된 것들 (또는 논리 하이 신호들) 의 수를 감소시키기 위해 채용된다. 나타낸 바와 같이, 디바이스는 데이터 채널들의 절반 초과가 주어진 사이클 상에서 논리 하이 신호 (1) 을 갖는다고 결정할 때, 그 후 디바이스는 모든 데이터 채널들에 대한 사이클을 반전할 수 있다. 가령, 원 데이터에서의 사이클 1 이 8 개의 데이터 채널들 중 3 개 상에서 논리 하이 신호들 (1들) 을 갖는다. 따라서, 디바이스는, 8 개의 데이터 채널들 중 단 3 개만이 논리 하이 신호 (1) 를 송신하게 되도록 각각의 데이터 채널들 상에서 사이클 1 을 반전할 수 있다. 부가적으로, DBI 플래그는 도 4 에서 채널 9 로서 식별된 DBI 제어 채널 상의 사이클 1 에서 설정된다. 이 예에서, 데이터 버스 (106) 상에서 송신된 것들 (예를 들어, 논리 하이 신호들) 의 수는 31 에서 22 로 감소된다. 또한, 이 예에서 트랜지션들의 수도 34 에서 28 로 감소하지만, 이 예가 이러한 기법에 대해 통상적인 것은 아니다. 일반적으로, 이러한 기법은 트랜지션들의 수에서의 증가를 초래한다.
이들 기재된 DBI 기법들은 일반적으로 일 양태를 최적화할 수 있지만, 다른 양태들을 희생하여야 한다. 예를 들어, 트랜지션들의 감소는 통상적으로 증가된 어떤 것들 (예를 들어, 논리 하이 신호들) 을 초래한다. 유사하게, 어떤 것들 (예를 들어, 논리 하이 신호들) 의 감소는 통상적으로 트랜지션들의 수에 대한 증가를 초래한다. DBI 기법들은 특정 상태 (예를 들어, 1들 또는 0들의 수) 를 갖는 사이클들의 수 및 트랜지션들의 수의 양자를 최적화할 수 없었다.
본 개시물의 적어도 하나의 양태에 따라, 전자 시스템들은 특정 상태 (예를 들어, 1 또는 0 중 어느 하나) 를 갖는 비트들의 수 및 트랜지션들의 수에 대한 감소를 용이하게 할 수 있는 데이터 인코딩 기법들을 채용하도록 구성된 하나 이상의 전자 디바이스들을 포함한다. 도 5 로 가면, 본 개시물의 적어도 일 예에 따른 도 1 로부터의 제 1 또는 제 2 전자 디바이스 (102, 104) 와 같은, 전자 디바이스 (500) 의 선택 컴포넌트들을 도시하는 블록 다이어그램이 나타난다. 전자 디바이스 (500) 의 송신 유닛 (502) 은 데이터 버스 (506) 의 복수의 채널들을 통해 데이터 비트들을 송신하도록 구성된 인코더 (504) 를 포함한다.
인코더 (504) 는 일반적으로 데이터 비트들에서의 트랜지션들의 수에 기초하여 복수의 데이터 비트들에 대해 제 1 인코딩 스킴을 수행하고, 미리 결정된 상태 (예를 들어, 1 또는 0) 를 갖는 데이터 비트들의 수에 기초하여 동일한 복수의 데이터 비트들에 대해 제 2 인코딩 스킴을 수행하도록 구성된 회로 및/또는 프로그래밍을 포함한다. 적어도 일 예에 따라, 인코더 (504) 는 데이터 버스 인터페이스 (508) 에 의해 데이터 버스 (506) 의 복수의 채널들에 커플링될 수도 있고 데이터 버스 인터페이스 (508) 및 저장 매체 (512) 와 전기 통신으로 커플링되거나 배치된 프로세싱 회로 (510) 를 포함할 수도 있다.
프로세싱 회로 (510) 는 데이터를 획득, 프로세싱 및/또는 전송하고, 데이터 액세스 및 스토리지를 제어하며, 커맨드들을 발행하고, 그리고 다른 원하는 동작들을 제어하기 위해 배열된다. 프로세싱 회로 (510) 는 적어도 일 예에서 적절한 매체들에 의해 제공된 원하는 프로그래밍을 구현하도록 구성된 회로를 포함할 수도 있다. 일부 경우들에서, 프로세싱 회로 (510) 는 프로그래밍을 구현하거나 프로그래밍을 구현하지 않고, 원하는 기능을 수행하도록 구성된 회로를 포함할 수도 있다. 예시로써, 프로세싱 회로 (510) 는 하나 이상의 프로세서들, 하나 이상의 제어기들, 및/또는 실행가능한 프로그래밍을 실행하고 및/또는 원하는 기능을 수행하도록 구성된 다른 구조로서 구현될 수도 있다. 프로세싱 회로 (510) 의 예들은 범용 프로세서, 디지털 신호 프로세서 (DSP), 주문형 집적 회로 (ASIC), 필드 프로그램가능 게이트 어레이 (FPGA), 또는 다른 프로그램가능 논리 컴포넌트, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본 명세서에 기재된 기능들을 수행하기 위해 설계된 그 임의의 조합을 포함할 수도 있다. 범용 프로세서는 마이크로프로세서 뿐만 아니라 임의의 종래 프로세서, 제어기, 마이크로제어기, 또는 상태 머신을 포함할 수도 있다. 프로세싱 회로 (510) 는 또한 컴퓨팅 컴포넌트들의 조합, 예컨대 DSP 및 마이크로프로세서의 조합, 다수의 마이크로프로세서들, DSP 코어와 협력하는 하나 이상의 마이크로프로세서들, ASIC 및 마이크로프로세서, 또는 임의의 다른 다수의 가변 구성들로서 구현될 수도 있다. 프로세싱 회로 (510) 의 이러한 예들은 예시를 위해서이며 본 개시물의 범위 내에서 다른 적절한 구성들이 또한 고려된다.
프로세싱 회로 (510) 는 저장 매체 (512) 에 저장될 수도 있는 프로그래밍의 실행을 포함한, 프로세싱을 위해 구성된다. 본 명세서에 기재된 바와 같이, 용어 "프로그래밍" 은, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 기술 언어로 지칭되는 다른 것으로 지칭되는, 명령들, 명령 세트들, 코드, 코드 세그먼트들, 프로그램 코드, 프로그램들, 서브프로그램들, 소프트웨어 모듈들, 어플리케이션들, 소프트웨어 어플리케이션들, 소프트웨어 패키지들, 루틴들, 서브루틴들, 오브젝트들, 실행가능물들, 실행의 스레드들, 절차들, 기능들 등을 제한 없이 포함하도록 대략적으로 해석되어야 할 것이다.
일부 경우들에서, 프로세싱 회로 (510) 는 트랜지션 검출기 (514), 상태 검출기 (516), 및 인버터 (518) 를 포함할 수도 있다. 트랜지션 검출기 (514) 는 얼마나 많은 트랜지션들이 발생할 것인지를 결정하기 위해 데이터 비트들의 그룹 (예를 들어, 공통 데이터 채널 상의 송신을 위해 준비된 연속적인 미리 정의된 수의 데이터 비트들) 을 평가하도록 구성된 회로 및/또는 프로그래밍 (예를 들어, 저장 매체 (512) 상에 저장된 트랜지션 검출 동작들 (520)) 을 포함할 수도 있다. 상태 검출기 (516) 는 얼마나 많은 데이터 비트들이 미리 결정된 상태 (예를 들어, 1 또는 0) 를 나타내는지를 결정하기 위해 데이터 비트들의 동일한 그룹을 평가하도록 구성된 회로 및/또는 프로그래밍 (예를 들어, 저장 매체 (512) 상에 저장된 상태 검출 동작들 (522)) 을 포함할 수도 있다. 또한, 인버터 (518) 는, 트랜지션들의 수가 트랜지션 임계 초과라고 트랜지션 검출기 (514) 에 의해 결정될 때, 데이터 비트들의 그룹 내의 데이터 비트들 중 적어도 일부를 반전하고, 미리 결정된 상태를 나타내는 데이터 비트들의 수가 상태 임계 초과라고 상태 검출기 (516) 에 의해 결정될 때, 데이터 비트들의 그룹을 반전하도록 구성된 회로 및/또는 프로그래밍 (예를 들어, 저장 매체 (512) 상에 저장된 반전 동작들 (524) 를 포함할 수도 있다. 인버터 (518) 는 또한, 데이터 비트들의 그룹이 트랜지션들을 위해 반전되었는지 여부를 표시하기 위해 트랜지션 플래그 (예를 들어, 트랜지션 DBI 플래그, 또는 트랜지션 인코딩 플래그) 를 제공하고, 데이터 비트들의 그룹이 1들 또는 0들에 대해 반전되었는지 여부를 표시하기 위해 상태 플래그 (예를 들어, 상태 DBI 플래그 또는 상태 인코딩 플래그) 를 제공할 수 있다.
저장 매체 (512) 는 프로그래밍, 전자 데이터, 데이터베이스, 또는 다른 디지털 정보를 저장하기 위한 하나 이상의 프로세서 판독가능 디바이스들을 나타낼 수도 있다. 저장 매체 (512) 는 또한, 프로그래밍을 실행할 때, 프로세싱 회로 (510) 에 의해 조정되는 데이터를 저장하기 위해 사용될 수도 있다. 저장 매체 (512) 는 휴대용 또는 고정 저장 디바이스들, 광학 저장 디바이스들, 및 프로그래밍을 저장, 포함 및/또는 수용할 수 있는 다양한 다른 매체들을 포함하는, 프로세싱 회로 (510) 에 의해 액세스될 수 있는 임의의 가용 매체들일 수도 있다. 한정이 아닌 예시로써, 저장 매체 (512) 는 프로세서 판독가능 저장 매체, 예컨대 자기 저장 디바이스 (예를 들어, 하드 디스크, 플로피 디스크, 자기 스트립), 광학 저장 매체 (예를 들어, 컴팩 디스크 (CD), 디지털 다기능 디스크 (DVD)), 스마트 카드, 플래시 메모리 디바이스 (예를 들어, 카드, 스틱, 키 드라이브), 랜덤 액세스 메모리 (RAM), 리드 온니 메모리 (ROM), 프로그램가능 ROM (PROM), 소거가능 ROM (EPROM), 전기적 소거가능 PROM (EEPROM), 레지스터, 착탈가능 디스크, 및/또는 프로그래밍을 저장하기 위한 다른 매체들 뿐만 아니라 그 임의의 조합을 포함할 수도 있다.
저장 매체 (512) 는 프로세싱 회로 (510) 가 저장 매체 (512) 로부터 정보를 판독하고 저장 매체 (512) 에 정보를 기입할 수 있도록 프로세싱 회로 (510) 에 커플링될 수도 있다. 즉, 저장 매체 (512) 는, 저장 매체 (512) 가 프로세싱 회로 (510) 에 통합되는 예들 및/또는 저장 매체 (512) 가 프로세싱 회로 (510) 와 별개인 예들을 포함한, 프로세싱 회로 (510) 에 의해 적어도 액세스가능하도록, 저장 매체 (512) 는 프로세싱 회로 (510) 에 커플링될 수 있다.
저장 매체 (512) 에 의해 저장된 프로그래밍은, 프로세싱 회로 (510) 에 의해 실행될 때, 프로세싱 회로 (510) 로 하여금 본 명세서에 기재된 다양한 기능들의 하나 이상의 수행하게 하고 및/또는 단계들을 프로세싱하게 한다. 예를 들어, 저장 매체 (512) 는 트랜지션 검출 동작들 (520), 상태 검출 동작들 (522), 및 반전 동작들 (524) 을 포함할 수도 있다. 따라서, 본 개시물의 하나 이상의 양태들에 따라, 프로세싱 회로 (510) 는 본 명세서에 기재된 전자 디바이스들 (제 1 전자 디바이스 (102), 제 2 전자 디바이스 (104), 전자 디바이스 (500)) 중 어느 것 또는 이들 모두를 위한 프로세스들, 기능들, 단계들 및/또는 루틴들 중 어느 것 또는 이들 모두를 (저장 매체 (512) 와 협력하여) 수행하도록 구성된다. 본 명세서에서 사용된 바와 같이, 프로세싱 회로 (510) 와 관련된 용어 "구성된 (adapted)" 은, 본 명세서에 기재된 다양한 피처들에 따른 특정 프로세서, 기능, 단계, 및/또는 루틴을 수행하기 위해 (저장 매체 (512) 와 협력하여) 구성된 것, 채용된 것, 구현된 것, 및/또는 프로그래밍된 것 중 하나 이상인 프로세싱 회로 (510) 를 지칭할 수도 있다.
동작에 있어서, 인코더 (504) 는 트랜지션 반전 인코딩을 채용하는 것에 의한 트랜지션들의 수에 대한 감소, 및 상태 반전 인코딩을 채용하는 것에 의한 특정 상태 (예를 들어, 1 또는 0 중 어느 하나) 를 갖는 비트들의 수에 대한 감소를 용이하게 할 수 있는 데이터 인코딩 기법들을 채용하도록 구성된다. 일 예에서, 인코더 (504) 는 각각의 채널에 대한 트랜지션 반전 인코딩을 수행한 후, 각각의 채널 상에 대한 상태 반전 인코딩을 수행할 수 있다. 도 6 은 그러한 일 예를 도시하는 블록 다이어그램이다. 좌측에는 도 2 로부터의 원 데이터가 있다. 중앙은 트랜지션 인버터 (TI) 인코딩 후의 데이터 비트들의 그룹을 나타내고, 우측은 상태 반전 인코딩 다음의 데이터 비트들의 인코딩된 그룹을 나타낸다.
언급된 바와 같이, 인코더 (504) (예를 들어, 트랜지션 검출기 (514)) 는 초기에 얼마나 많은 데이터 사이클들이 미리 결정된 수의 사이클들을 포함하는 데이터 비트들의 그룹에 대한 각각의 데이터 채널 상에서 트랜지션들을 나타내는지를 결정할 수 있다. 이 예에서, 미리 결정된 수의 사이클들은 8 사이클들 또는 데이터 비트들로서 나타나 있지만, 구체적인 수는 원하는 바에 따라 달라질 수도 있다. 미리 결정된 수의 사이클들에 걸친 트랜지션들의 수가 총 사이클들 수의 절반 (½) 초과 (예를 들어, 8 사이클들에 걸친 4 개 초과의 트랜지션들) 라고 결정되면, 인코더 (504) 는 그 데이터 채널에 대한 데이터 비트들의 그룹에서의 비트를 하나 걸러 반전할 수 있다.
보다 구체적으로, 각각의 데이터 채널 상의 데이터 비트들은 8 사이클에 걸친 트랜지션들의 수를 결정하기 위해 평가된다. 도시된 예에서, 제 1 데이터 채널 (채널 1) 은 8 사이클들에 걸쳐 5 개 (5) 의 트랜지션들을 나타낸다. 이것은 4 (즉, 사이클들 수의 절반) 보다 크기 때문에, 인코더 (504) 는 데이터 채널 (채널 1) 상의 사이클을 하나 걸러 반전할 수 있다. 이 예에서는 비트들 2, 4, 6, 및 8 이 반전되지만, 다른 예들은 비트들 1, 3, 5, 및 7 을 반전할 수도 잇다. 나타낸 바와 같이 비트들을 하나 걸러 반전하는 것에 의해, 데이터 채널 (채널 1) 은 채널 1 에 대해 중앙 컬럼에 나타낸 바와 같이, 단지 2 개의 트랜지션들만을 갖는다. 반전이 제 1 데이터 채널 상에서 발생된 것을 표시하기 위해, 인코더 (504)(예를 들어, 인버터 (518)) 는, 송신될 인코딩 플래그 (또는 TI 인코딩 플래그) 를 설정하도록 구성된다. 이 예에서, TI 인코딩 플래그는 플래그 채널의 제 1 비트 상에 설정된다 (예를 들어, 채널 9 상의 제 1 비트가 1 또는 논리 하이 신호로 설정된다). 이 예에서, 플래그 채널 (채널 9) 의 비트 수는 특정 데이터 채널에 대응한다.
인코더 (504) 는 또한 8 비트 그룹에 걸친 트랜지션들에 대해 나머지 데이터 채널들 (예를 들어, 채널들 2 내지 8) 의 각각을 평가한다. 이 예에서, 채널들 3, 4, 및 8 은 또한 채널 1 과 유사한 방식으로 부분적으로 반전된다 (예를 들어 비트가 하나 걸러 반전된다). 게다가, 플래그 채널 (채널 9) 의 대응 비트들 3, 4 및 8 이 또한 TI 인코딩 플래그를 송신하기 위해 설정된다. 도 6 에서 중앙 컬럼에 나타낸 바와 같이, 제 1 단계의 결과는 데이터 비트들의 원래 그룹에서의 34 개로부터 중앙 컬럼에서의 데이터 비트들의 인코딩된 그룹에서의 26 개로 데이터 비트들의 그룹에 걸친 트랜지션들의 수의 감소이다.
트랜지션 반전 인코딩이 완료되면, 인코더 (504)(예를 들어, 상태 검출기 (516)) 는 얼마나 많은 데이터 비트들이 미리 결정된 상태 (예를 들어, 1 또는 0) 를 나타내는지를 결정하기 위해 트랜지션 반전 인코딩으로부터 발생하는 각각의 데이터 채널에 대해 데이터 비트들을 평가할 수 있다. 이 예에서, 인코더 (504) 는 얼마나 많은 것들 (예를 들어, 논리 하이 신호들) 이 데이터 비트들의 인코딩된 그룹에 대해 발생하는지를 결정하기 위해 각각의 데이터 채널을 평가할 수 있다. 각각의 데이터 채널에 대한 인코딩된 데이터 비트들에서의 데이터 비트들의 수가 총 사이클들의 수의 절반 (½) 초과 (예를 들어 8 사이클들에 걸쳐 1 또는 논리 하이인 4 개 초과의 데이터 비트들) 이면, 인코더 (504)(예를 들어, 인버터 (518)) 는 데이터 채널 상의 모든 비트들을 반전할 수 있다.
보다 구체적으로, 인코더 (504) 는 트랜지션 반전 인코딩된 데이터 채널들의 각각을 평가할 수 있다. 도 6 의 예에서, 제 4 데이터 채널 (채널 4) 이 중앙 컬럼에서 1 로 설정된 (예를 들어, 논리 하이 신호를 가짐) 다섯 (5) 개의 데이터 비트들을 갖는다. 즉, 채널 4 상의 데이터 비트들 1, 2, 3, 7 및 8 은 트랜지션 반전 인코딩 (중간 컬럼에 나타낸 바와 같이) 후에 모두 1 로 설정된다. 따라서, 인코더 (504) 는 제 4 데이터 채널 (채널 4) 에서의 모든 데이터 비트들을 반전할 수 있어서, 1 (예를 들어, 논리 하이 신호) 로 설정된 데이터 비트들의 수를 그 데이터 채널에 대해 5 에서 3 으로 감소시킨다. 나타낸 바와 같이, 제 6 데이터 채널 (채널 6) 은 유사하게 반전될 수 있다. 반전이 데이터 채널들 4 및 6 에서 인코딩하는 상태 반전 (SI) 에 대해 발생했다는 것을 표시하기 위해, 제 2 플래그 채널 (채널 10) 이 제 1 플래그 채널 (채널 9) 와 유사한 방식으로 사용된다. 이로써, 인코더 (504) 는 대응 데이터 채널들 4 및 6 이 상태 반전 인코딩 스테이지에서 반전되었다는 것을 표시하기 위해 논리 하이 신호 (1) 로 제 2 플래그 (채널 10) 상의 데이터 비트들 4 및 6 을 설정할 것이다. 이 예에서, (도 6 에서 좌측 상의) 데이터 비트들의 결과의 그룹은 31 에서 25 로 감소된 데이터 비트들의 수 및 34 에서 30 으로 감소된 트랜지션들의 수를 포함한다.
도 6 의 예에서, 2 개의 추가 데이터 버스 채널들은 TI 및 SI 인코딩 플래그들을 송신하기 위해 채용되어서, 데이터 비트들의 그룹은 10 개의 채널들 상에서 8 개의 데이터 사이클들을 초래한다. 위에서 언급된 바와 같이, 데이터 사이클들의 수는 원하는 바에 따라 달라질 수도 있다. 부가적으로, 다른 실시형태들은 인코딩된 플래그들을 송신하기 위한 대안의 수단을 사용할 수도 있다. 예를 들어, 도 7 은 DBI 플래그들이 데이터 비트들의 그룹의 종단에 첨부된 부가 데이터 비트들로서 원래 데이터 채널들 상에서 송신되는 다른 실시형태를 도시한다. 예를 들어, 트랜지션 반전 인코딩의 부분으로서 채널이 반전되는지 여부를 표시하기 위해 1 또는 0 이 데이터 비트 9 (또는 사이클 9) 로서 부가된다. 도 7 에 나타낸 바와 같이, 1 은 채널들 1, 3, 4 및 8 상의 사이클 9 에서 전송되어 이들 채널들 상에서 비트가 하나 걸러 반전되었음을 표시하고, 0 은 다른 채널들 상의 사이클 9 에서 전송되어 이들 채널 상에서 비트가 하나 걸러 반전되지 않았음을 표시한다. 또 다른 1 또는 0 은 또한, 채널이 상태 반전 인코딩의 부분으로서 반전되었는지 여부를 표시하기 위해 각각의 채널 상에서 데이터 비트 또는 사이클 10 으로서 부가된다. 이 예에서, 인코더 (504) 는 각각의 채널에 대해 사이클 9 에서 TI 인코딩 플래그를 고려할 수 있다. 도 7 에 나타낸 바와 같이, 1 은 채널들 4 및 6 상의 사이클 10 에서 전송되어 데이터 비트들 1 내지 9 가 이들 2 개의 채널들 상에서 반전되었음을 표시하고, 0 은 다른 채널들 상의 사이클 10 에서 전송되어 데이터 비트들 1 내지 9 가 이들 채널들 상에서 반전되지 않았음을 표시한다. 이 예에서, 데이터 비트들의 그룹은 8 개의 데이터 채널들 상에 10 개의 데이터 사이클들을 초래한다. 그러한 실시형태들은 상태 반전 인코딩을 수행할 때 사이클 9 에서 TI 인코딩 플래그 비트들을 고려함으로써 부가 인코딩을 제공할 수 있다.
도 8 은 인코딩 플래그들의 일 세트가 부가 채널 (채널 9) 상에 송신되고 인코딩 플래그들의 다른 세트는 데이터 비트들의 그룹의 종단에 첨부된 부가 데이터 비트들로서 송신되는 또 다른 실시형태를 도시하는 블록 다이어그램이다. 예를 들어, 1 또는 0 은 사이클에 대응하는 채널이 트랜지션 반전 인코딩의 부분으로서 반전되었는지 여부를 표시하기 위해 새로운 채널 (채널 9) 상의 사이클에서 전송된다. 도 8 에 나타낸 바와 같이, 1 은 채널 9 상의 사이클들 1, 3, 4 및 8 에서 전송되어 대응 채널들 1, 3, 4 및 8 상에서 비트들이 하나 걸러 반전되었음을 표시하고, 0 은 채널 9 상의 다른 사이클들에서 전송되어 그 사이클들에 대응하는 채널들 상에서 비트가 하나 걸러 반전되지 않았음을 표시한다. 또한, 1 또는 0 은 채널이 상태 반전 인코딩의 부분으로서 반전되었는지 여부를 표시하기 위해, 채널 9 를 포함한 각각의 채널 상에서 데이터 비트 또는 사이클 9로서 부가된다. 도 8 에 나타낸 바와 같이, 1 은 채널들 4 및 6 상의 사이클 9 에서 전송되어 데이터 비트들 1 내지 8 이 이들 2 개의 채널들 상에서 반전되었음을 표시하고, 0 은 다른 채널들 상의 사이클 9 에서 전송되어 데이터 비트 1 내지 8 이 이들 채널들 상에서 반전되지 않았음을 표시한다. 이 예에서, 데이터 비트들의 그룹은 9 개의 데이터 채널들 상의 9 개의 데이터 사이클들로 확장된다. 그러한 실시형태들은 단지 사이클 크기를 일 사이클 만큼만 증가시키는 것 뿐만 아니라 상태 반전 인코딩을 수행할 때, 채널 9 에서 TI 인코딩 플래그 비트들을 고려함으로써 부가 인코딩을 제공할 수 있다.
일부 실시형태들에서, 데이터 비트들의 그룹에서 데이터 비트들 또는 사이클들의 수가 채널들의 수의 크기에 2 배인 것이 발생할 수도 있다. 가령, 도 9 는 데이터 비트들의 그룹이 4 개의 채널들에 걸쳐 전달되는 8 개의 사이클들로 구성되는 일 예를 도시한다. 이 예에서, 제 1 또는 마지막 4 개의 사이클들에서 인코딩 플래그들을 전송하고 인코딩 플래그 채널에서 미사용된 사이클들을 갖는 대시나, 인코더 (504) 는 각각의 채널과 2 개의 사이클들을 연관시키는 것에 의해 8 개의 사이클들 모두에 걸쳐 플래그들을 확산시킬 수 있다. 예를 들어, 트랜지션 반전 인코딩은 도 9 에서 제 1 및 제 3 채널들 (채널 1 및 채널 3) 에 적용된다. 나타낸 바와 같이, 채널 1 에 대한 TI 인코딩 플래그는 채널 5 상의 제 1 및 제 2 사이클들 양자에서 하나를 송신하는 것에 의해 설정된다. 유사하게, 채널 3 에 대한 TI 인코딩 플래그는 채널 5 상의 제 5 및 제 6 사이클들 양자에서 하나를 송신하는 것에 의해 설정된다. 상태 반전 인코딩에 대한 인코딩 플래그들은 유사한 구성을 따른다. 예를 들어, 채널 4 가 상태 반전 인코딩에 대해 반전되는 곳에서, SI 인코딩 플래그는 채널 6 상의 사이클들 7 및 8 에서 하나를 전송하는 것에 의해 설정된다. 이로써, TI 및 SI 인코딩 플래그들은 각각의 채널에 대해 2 개의 사이클들을 확장하도록 구성된다.
도 10 에 도시된 다른 실시형태에서, 데이터 비트들의 그룹은 또한 4 개의 채널들에 걸쳐 전달되는 9 개의 사이클들로 구성된다. 이 예에서, 인코더 (504) 는 TI 및 SI 인코딩 플래그들에 대해 단일 부가 채널을 사용할 수 있고, 여기서 부가된 데이터 채널에서의 2 개의 사이클들은 각각의 데이터 채널과 연관된다. 즉, 도 9 에서의 예와 같이, 채널 5 의 사이클들 1 및 2 는 채널 1 과 연관되고, 사이클들 3 및 4 는 채널 2 와 연관되고, 사이클들 5 및 6 은 채널 3 과 연관되며, 사이클들 7 및 8 은 채널 4 와 연관된다. 하지만, 이 예에서, 데이터 채널들의 각각과 연관된 채널 5 에서의 제 1 사이클들은 트랜지션 반전 인코딩을 표시하는데 사용될 수 있고, 데이터 채널들의 각각과 연관된 채널 5 에서의 제 2 사이클들은 상태 반전 인코딩을 표시하는데 사용될 수 있다.
보다 구체적으로, 트랜지션 반전 인코딩은 도시된 예에서 채널 1 및 채널 3 에 적용된다. 따라서, 1 은 트랜지션 반전 인코딩이 채널들 1 및 3 에 적용되었음을 표시하기 위해 채널 5 상의 사이클들 1 및 5 에 배치된다. 부가적으로, 1 은 트랜지션 반전 인코딩 동안 채널들 2 및 4 상에서 반전이 수행되지 않았음을 표시하기 위해 사이클들 3 및 7 에 배치된다. 'x' 는 채널 5 상의 사이클들 2, 4, 6 및 8 이 TI 인코딩 플래그들과 무관함을 표시하기 위해 이들 사이클들 상에 나타낸다. 상태 반전 인코딩 단계에서, 채널 4 는 반전되는 한편, 채널들 1 내지 3 은 변경되지 않는다. 따라서, 1 은 상태 반전 인코딩 동안 채널 4 가 반전되었음을 표시하기 위해 채널 5 상의 사이클 8 에 적용되고, 0 은 채널 1, 채널 2, 및 채널 3 이 상태 반전 인코딩 동안 반전되지 않았음을 표시하기 위해 채널 5 상의 사이클들 2, 4 및 6 에 적용된다. 이 예에서, 트랜지션 반전 인코딩 및 상태 반전 인코딩 양자에 대한 인코딩 플래그들은 단일 부가된 채널 상에서 송신될 수 있다.
이들 예들의 각각은 먼저 트랜지션 반전 인코딩이 수행된 후, 트랜지션 반전 인코딩된 데이터 비트들에 대해 상태 반전 인코딩이 수행되는 것을 도시하지만, 이들 인코딩 단계들은 상태 반전 인코딩이 먼저 수행되고 상태 반전 인코딩으로부터 발생하는 데이터 비트들에 대해 트랜지션 반전 인코딩이 수행되도록 스위칭된다는 것이 주목할만하다.
도 11 은 도 5 에서의 전자 디바이스 (500) 와 같은, 전자 디바이스 상에서 동작하는 방법의 적어도 일 예를 도시하는 플로우 다이어그램이다. 도 5 및 도 11 을 참조하면, 블록 (1102) 에서, 전자 디바이스 (500) 는 데이터 버스를 통해 송신될 데이터 비트들의 그룹에 대해 제 1 인코딩 스킴을 수행할 수 있다. 제 1 인코딩 스킴은, 적어도 일 예에서, 데이터 비트들의 그룹 내의 트랜지션들의 수에 기초하여 수행될 수 있다. 예를 들어, 인코더 (504) 의 프로세싱 회로 (510) 는 그룹 내의 트랜지션들의 수에 기초하여 데이터 비트들의 그룹에 대해 제 2 인코딩 스킴을 수행할 수도 있다.
도 12 는 적어도 일 구현에 따라 도 11 의 블록 (1102) 에서, 트랜지션들의 수에 기초하여 제 1 인코딩 스킴을 수행하기 위한 프로세스의 일 예를 도시하는 플로우 다이어그램이다. 일반적으로, 인코더 (504) 의 프로세싱 회로 (510) 는 데이터 버스 (506) 의 복수의 데이터 채널들의 각각의 상에서 트랜지션들의 수를 결정하고, 트랜지션들의 수가 트랜지션 임계 초과인 각각의 데이터 채널 상의 사이클을 하나 걸러 반전할 수 있다. 예를 들어, 프로세스는 동작 (1202) 에서 데이터 비트들의 그룹에 대해 제 1 데이터 채널을 식별하는 것에 의해 시작할 수도 있다. 동작 (1204) 에서, 트랜지션 검출 동작들 9520) 을 실행하는 트랜지션 검출기 (514) 는 미리 정의된 수의 사이클들에 걸쳐 데이터 채널 상의 트랜지션들의 수를 결정하기 위해 데이터 채널을 평가할 수 있다. 이전에 언급된 바와 같이, 미리 정의된 수의 사이클들은 구현에 따라 달라질 수도 있다. 본 명세서에 기재된 예들은 각각의 데이터 채널 상의 8 개의 사이클들의 구현들을 포함하지만, 사이클들의 다른 수들이 채용될 수도 있다.
결정 다이아몬드 (1206) 에서, 트랜지션 검출 동작들 (520) 을 실행하는 트랜지션 검출기 (514) 는 데이터 채널에 대해 검출된 트랜지션들의 수가 트랜지션 임계 초과인지 여부를 결정할 수 있다. 적어도 일 예에서, 트랜지션 임계는 동작 (1204) 에서 평가된 사이클들의 수의 절반일 수도 있다. 가령, 동작 (1204) 에서 데이터 채널 상에서 평가된 사이클들의 수가 8 개의 사이클들이면, 트랜지션 임계는 4 일 수도 있다. 따라서, 동작 (1204) 에서 5 이상의 트랜지션들이 검출되면, 트랜지션 검출 동작들 (520) 을 실행하는 트랜지션 검출기 (514) 는 결정 다이아몬드 (1206) 에서 트랜지션들의 수가 트랜지션 임계 초과라고 결정할 수 있다.
미리 결정된 수의 사이클들에 걸쳐 검출된 트랜지션들의 수가 트랜지션 임계 초과일 때, 반전 동작들 (524) 을 실행하는 인버터 (518) 는 동작 (1208) 에서 데이터 채널의 사이클을 하나 걸러 반전할 수 있다. 즉, 반전 동작들 (524) 을 실행하는 인버터 (518) 는 트랜지션 반전 인코딩에 대해 도 6 을 참조하여 상술한 것과 유사한 방식으로 미리 결정된 수의 사이클들에 걸쳐 데이터 비트를 하나 걸러 반전할 수 있다.
동작 (1210) 에서, 반전 동작들 (524) 을 실행하는 인버터 (518) 는 추가로 데이터 채널의 사이클이 하나 걸러 반전되었는지 여부를 표시하기 위해 데이터 채널에 대해 개별 트랜지션 반전 (TI) 인코딩을 설정한다. 예를 들어, 1 (또는 논리 하이 신호) 은 데이터 채널의 사이클이 하나 걸러 반전되었음을 표시하기 위해 설정될 수도 있고, 0 (또는 논리 로우 신호) 는, 결정 다이아몬드 (1206) 에서의 대답이 아니오 일 때와 같은, 데이터 채널의 사이클이 하나 걸러 반전되지 않았음을 표시하기 위해 설정될 수도 있다.
도 6 내지 도 10 을 참조하여 위에서 기재된 바와 같이, TI 인코딩 플래그는 다양한 위치들에서 설정될 수도 있다. 예를 들어, 도 6, 도 8, 도 9 및 도 10 을 참조하여 위에서 기재된 바와 같이, TI 인코딩 플래그는 부가 데이터 채널 (플래그 채널로서 또한 지칭될 수도 있음) 에서 데이터 비트들 또는 사이클들로서 설정될 수도 있다. 도 6 및 도 8 을 참조하여 위에서 기재된 예들에서와 같은, 일부 경우들에서, 부가 데이터 채널의 각각의 데이터 비트 또는 사이클은 개별 데이터 채널과 연관된다. 도 9 를 참조하여 위에서 기재된 예에서와 같은 다른 경우들에서, 부가 데이터 채널 상의 2 이상의 연속적인 사이클들은 개별 데이터 채널과 연관된다. 도 10 을 참조하여 위에서 기재된 예에서와 같은 또 다른 경우들에서, TI 인코딩 플래그들은 상태 반전 (SI) 인코딩 플래그들을 설정하기 위해 사용될 동일한 부가 데이터 채널 상에서 설정될 수 있다. 다른 예들에서, 도 7 을 참조하여 위에서 기재된 바와 같이, TI 인코딩 플래그는 개별 데이터 채널에 첨부된 부가 사이클로서 설정될 수도 있다.
도 12 를 또한 참조하면, 트랜지션 검출 동작들 (520) 을 실행하는 트랜지션 검출기 (514) 는 결정 다이아몬드 (1212) 에서 트랜지션들에 대해 평가될 또 다른 데이터 채널이 있는지 여부를 결정할 수 있다. 또 다른 데이터 채널이 있는 경우, 프로세스는 평가를 위해 다음 데이터 채널이 선택되는 동작 (1202) 으로 복귀할 수 있다. 데이터 채널들이 더 이상 없는 경우, 프로세스는 종료될 수도 있다.
도 5 및 도 11 을 다시 참조하면, 전자 디바이스 (500) 는, 블록 (1104) 에서 미리 결정된 상태를 나타내는 데이터 비트들의 그룹 내에서 데이터 비트들의 수에 기초하여 데이터 비트들의 동일한 그룹에 대해 제 2 인코딩 스킴을 수행할 수도 있다. 예를 들어, 인코더 (504) 의 프로세싱 회로 (510) 는 미리 결정된 상태로 설정되는 그룹 내의 데이터 비트들의 수에 기초하여 데이터 비트들의 그룹에 대해 제 2 인코딩 스킴을 수행할 수도 있다.
도 13 은 적어도 일 구현에 따른 도 11 의 블록 (1104) 에서 특정 상태를 갖는 사이클들의 수에 기초하여 제 2 인코딩 스킴을 수행하기 위한 프로세스의 일 예를 도시하는 플로우 다이어그램이다. 일반적으로, 인코더 (504) 의 프로세싱 회로 (510) 는 데이터 버스 (506) 의 복수의 데이터 채널들의 각각에 대해 미리 결정된 상태로 설정된 사이클들의 수를 결정하고, 상태 임계 초과의 미리 결정된 상태로 설정된 사이클들의 수를 갖는 각각의 데이터 채널 상의 사이클들을 반전할 수 있다. 예를 들어, 프로세스는 동작 (1302) 에서 제 1 데이터 채널을 식별하는 것에 의해 시작할 수도 있다. 동작 (1304) 에서, 미리 정의된 수의 사이클들에 걸쳐 데이터 채널 상에서 미리 결정된 상태로 설정 (예를 들어, 1 또는 0 으로 설정) 된 사이클들의 수를 결정하기 위해 데이터 채널을 평가할 수 있다. 제 1 인코딩 스킴이 제 2 인코딩 스킴 전에 수행되는 구현들에서, 상태 검출 동작들 (522) 을 실행하는 상태 검출기 (516) 는 데이터 채널 상의 제 1 인코딩 스킴으로부터 발생하는 데이터 비트들을 평가할 것이다.
결정 다이아몬드 (1306) 에서, 상태 검출 동작들 (522) 을 실행하는 상태 검출기 (516) 는 데이터 채널 상에 미리 결정된 상태로 설정된 사이클들의 수가 상태 임계 초과인지 여부를 결정할 수 있다. 적어도 일 예에서, 상태 임계는 동작 (1304) 에서 평가되는 사이클들의 수의 절반일 수도 있다. 가령, 동작 (1304) 에서 데이터 채널에 대해 평가된 사이클들의 수가 8 개의 사이클들이면, 상태 임계는 4 개일 수도 있다. 따라서, 5 이상의 사이클들이 미리 결정된 상태로 설정되도록 동작 (1304) 에서 검출되면, 결정 다이아몬드 (1306) 에서, 상태 검출 동작들 (522) 을 실행하는 상태 검출기 (516) 는 미리 결정된 상태로 설정된 사이클들의 수가 상태 임계 초과라고 결정할 수 있다.
미리 정의된 사이클들의 수에 걸쳐 미리 결정된 상태로 설정된 데이터 비트들의 수가 상태 임계 초과일 때, 반전 동작들 (524) 을 실행하는 인버터 (518) 는 동작 (1308) 에서 데이터 채널의 사이클들을 반전할 수 있다. 즉, 반전 동작들 (524) 을 실행하는 인버터 (518) 는, 상태 반전 인코딩에 대해 도 6 을 참조하여 위에서 기재된 것과 유사한 방식으로 미리 정의된 사이클들의 수에 걸쳐 데이터 비트들을 반전할 수 있다.
동작 (1310) 에서, 반전 동작들 (524) 을 실행하는 인버터 (518) 는 추가로, 데이터 채널의 사이클들이 반전되었는지 여부를 표시하기 위해 데이터 채널에 대해 개별 상태 반전 (SI) 인코딩 플래그를 설정한다. 예를 들어, 1 (또는 논리 하이 신호) 은 데이터 채널의 사이클들이 반전되었음을 표시하기 위해 설정될 수도 있다. 대조적으로, 0 (또는 논리 로우 신호) 은, 결정 다이아몬드 (1306) 에서의 대답이 아니오 일 때와 같은, 데이터 채널의 사이클들이 반전되지 않았음을 표시하기 위해 설정될 수도 있다.
도 6 내지 도 10 을 참조하여 상술한 바와 같이, SI 인코딩 플래그는 상이한 구현들에 따라 다양한 위치들에서 설정될 수도 있다. 예를 들어, 도 6, 도 9 및 도 10 을 참조하여 상술한 바와 같이, SI 인코딩 플래그들은 부가 데이터 채널 (또한 플래그 채널로서 지칭될 수도 있음) 에서 데이터 비트들 또는 사이클들로서 설정될 수도 있다. 도 6 을 참조하여 위에서 기재된 예에서와 같은, 일부 경우들에서, 부가 데이터 채널의 각각의 데이터 비트 또는 사이클은 개별 데이터 채널과 연관된다. 도 9 를 참조하여 위에서 기재된 예에서와 같은, 다른 경우들에서, 부가 데이터 채널 상의 2 이상의 연속적인 사이클들은 개별 데이터 채널과 연관된다. 도 10 을 참조하여 기재된 예에서와 같은 또 다른 경우들에서, SI 인코딩 플래그들은 트랜지션 반전 (TI) 인코딩 플래그들을 설정하기 위해 사용되는 동일한 부가 데이터 채널 상에 설정될 수 있다. 다른 예들에서, 도 7 및 도 8 을 참조하여 위에서 기재된 바와 같이, SI 인코딩 플래그는 개별 데이터 채널에 첨부된 부가 사이클로서 설정될 수도 있다.
도 13 을 또한 참조하면, 상태 검출 동작들 (522) 을 실행하는 상태 검출기 (516) 는 결정 다이아몬드 (1312) 에서 트랜지션들에 대해 평가될 또 다른 데이터 채널이 있는지 여부를 결정할 수 있다. 또 다른 데이터 채널이 있는 경우, 프로세스는 다음 데이터 채널이 평가를 위해 선택되는 동작 (1302) 로 복귀할 수 있다. 데이터 채널들이 더 이상 없는 경우, 프로세스는 종료될 수도 있다.
도 5 및 도 11 을 다시 참조하면, 전자 디바이스 (500) 는, 블록 (1106) 에서, 데이터 버스의 복수의 데이터 채널들 상에서 인코딩된 데이터 비트들의 그룹을 송신할 수 있다. 예를 들어, 인코더 (504) 의 프로세싱 회로 (510) 는, 데이터 버스 인터페이스 (508) 를 통해, 데이터 버스의 데이터 채널들의 적어도 일부 상에서 인코딩된 데이터 비트들의 각각의 채널을 송신할 수도 있다.
도 14 로 가면, 본 개시물의 적어도 일 예에 따라, 도 1 로부터의 제 1 또는 제 2 디바이스 (102, 104) 와 같은, 전자 디바이스 (1400) 의 선택 컴포넌트들을 도시하는 블록 다이어그램이 나타나 있다. 전자 디바이스 (1400) 의 수신기 유닛 (1402) 은 데이터 버스 (1406) 의 복수의 채널들을 통해 송신되는 인코딩된 데이터 비트들을 수신하도록 구성된 디코더 (1404) 를 포함한다.
디코더 (1404) 는 일반적으로 복수의 데이터 비트들에 대한 제 1 인코딩 스킴 및 동일한 복수의 데이터 비트들에 대한 제 2 인코딩 스킴을 디코딩하도록 구성된 회로 및/또는 프로그래밍을 포함한다. 즉, 디코더는 상술한 인코딩 스킴들 중 어느 것 및 인코더 (504) 와 같은 인코더에 의해 수행되는 인코딩을 무효로 만들도록 구성된다. 적어도 일 예에 따라, 디코더 (1404) 는 데이터 버스 인터페이스 (1408) 에 의해 데이터 버스 (1406) 의 복수의 데이터 채널들에 커플링될 수도 있고, 데이터 버스 인터페이스 (1408) 및 저장 매체 (1412) 와 전기적 통신으로 커플링되거나 배치되는 프로세싱 회로 (1410) 를 포함할 수도 있다.
프로세싱 회로 (1410) 는 데이터를 획득, 프로세싱 및/또는 전송하고, 데이터 액세스 및 저장을 제어하고, 커맨드를 발행하며, 다른 원하는 동작들을 제어하도록 배열된다. 프로세싱 회로 (1410) 는 적절한 매체들에 의해 제공되는 원하는 기능을 수행하고 및/또는 원하는 프로그래밍을 구현하도록 구성된 회로를 포함할 수도 있다. 프로세싱 회로 (1410) 는 상술한 프로세싱 회로 (510) 의 예들 중 어느 것에 따라 구현되고 및/또는 구성될 수도 있다.
프로세싱 회로 (1410) 는 인버터 (1414) 를 포함할 수도 있다. 인버터 (1414) 는 수신된 데이터 비트들과 함께 트랜지션 인코딩 플래그들 및 상태 인코딩 플래그들에 따라 수신된 데이터 비트들을 그 원래 상태로 다시 반전하도록 구성된 회로 및/또는 프로그래밍 (예를 들어, 저장 매체 (1412) 상에 저장된 반전 동작들 (1416)) 을 포함할 수도 있다.
저장 매체 (1412) 는 프로그래밍을 저장하기 위한 하나 이상의 프로세서 판독가능 디바이스들, 예컨대 프로세서 실행가능 코드 또는 명령들 (예를 들어, 소프트웨어, 펌웨어), 전자 데이터, 데이터베이스, 또는 다른 디지털 정보를 나타낼 수도 있다. 저장 매체 (1412) 는 상술한 저장 매체 (512) 와 유사한 방식으로 구성되고 및/또는 구현될 수도 있다.
저장 매체 (1412) 는, 프로세싱 회로 (1410) 가 저장 매체 (1412) 로부터 정보를 판독하고, 저장 매체 (1412) 에 정보를 기입하도록 프로세싱 회로 (1410) 에 커플링될 수도 있다. 즉, 저장 매체 (1412) 는, 저장 매체 (1412) 가 프로세싱 회로 (1410) 에 통합되는 예들 및/또는 저장 매체 (1412) 가 프로세싱 회로 (1410) 와 별개인 예들을 포함한, 프로세싱 회로 (1410) 에 의해 적어도 액세스가능하도록 프로세싱 회로 (1410) 에 저장 매체 (1412) 가 커플링될 수 있다.
저장 매체 (512) 와 같이, 저장 매체 (1412) 는 그 상에 저장된 프로그래밍을 포함한다. 저장 매체 (1412) 에 의해 저장된 프로그래밍은, 프로세싱 회로 (1414) 에 의해 실행될 때, 프로세싱 회로 (1414) 로 하여금, 본 명세서에 기재된 다양한 디코딩 기능들 및/또는 프로세스 단계들 중 하나 이상을 수행하게 한다. 예를 들어, 저장 매체 (1412) 는 프로세싱 회로 (1412) 로 하여금 수신된 데이터와 함께 포함된 다양한 인코딩 플래그들에 따라 수신된 데이터 비트들을 다시 그 원래 상태로 반전하게 하도록 구성된 반전 동작들 (1416) 을 포함할 수도 있다. 이로써, 본 개시물의 하나 이상의 양태들에 따라, 프로세싱 회로 (1410) 는 본 명세서에 기재된 전자 디바이스들 (예를 들어, 전자 디바이스들 (102, 104 및 1400)) 의 어느 것 또는 모두에 대해 디코딩 프로세스들, 기능들, 단계들 및/또는 루틴들의 어느 것 또는 모두를 (저장 매체 (1412) 와 협력하여) 수행하도록 구성된다. 본 명세서에서 사용된 바와 같이, 프로세싱 회로 (1410) 와 관련된 용어 "구성된" 은, 프로세싱 회로 (1410) 가 본 명세서에 기재된 다양한 피처들에 따라 특정 프로세스, 기능, 단계 및/또는 루틴을 수행하기 위해 (저장 매체 (1412) 와 협력하여 구성되고, 채용되고, 구현되고, 및/또는 프로그래밍되는 것을 지칭할 수도 있다.
도 15 는 전자 디바이스 (1400) 와 같은, 전자 디바이스 상에서 동작하는 디코딩 방법의 적어도 일 예를 도시하는 플로우 다이어그램이다. 도 14 및 도 15 를 참조하면, 1502 에서, 전자 디바이스 (1400) 는 데이터 버스의 복수의 데이터 채널들 상에서 데이터 비트들의 그룹을 수신할 수도 있다. 예를 들어, 반전 동작들 (1416) 을 실행하는 프로세싱 회로 (1410)(예를 들어, 인버터 (1414)) 는 데이터 버스 인터페이스 (1408) 를 통해 데이터 버스 (1406) 의 복수의 데이터 채널들을 통해 미리 결정된 수의 데이터 비트들을 수신할 수도 있다. 데이터 비트들의 그룹은 복수의 인코딩 플래그들 뿐만 아니라 인코딩된 데이터 비트들을 포함한다. 가령, 도 6 내지 도 10 을 참조하여 위에서 기재된 예들에서, 전자 디바이스 (1400) 는 각각의 개별 도면들의 먼 우측에서 기술된 것들과 같이 데이터 비트들의 인코딩된 그룹을 수신할 수 있다.
1504 에서, 전자 디바이스 (1400) 는 제 1 인코딩 스킴에 대해 데이터 비트들의 그룹을 디코딩할 수 있다. 예를 들어, 반전 동작들 (1416) 을 실행하는 프로세싱 회로 (1410)(예를 들어, 인버터 (1414)) 는 마지막 채용된 인코딩 스킴과 연관된 인코딩 플래그들을 식별할 수 있다. 도 6 내지 도 10 을 참조하여 위에서 기재된 예들을 참조하면, 반전 동작들 (1416) 을 실행하는 프로세싱 회로 (1410)(예를 들어, 인버터 (1414)) 는 각각의 데이터 채널과 연관된 상태 반전 (SI) 인코딩 플래그들을 식별할 수 있다. 위에서 언급된 바와 같이, SI 인코딩 플래그들은 부가 채널에 또는 각각의 채널 상의 부가 사이클에 포함될 수도 있다. SI 인코딩 플래그들에 의해 표시된 각각의 채널이 반전되었다는 것에 대해, 반전 동작들 (1416) 을 실행하는 프로세싱 회로 (1410)(예를 들어, 인버터 (1414)) 는 데이터 비트들을 반전할 수 있다. 이로써, 가령 도 6 에서, 데이터 채널 10 은 데이터 채널들 4 및 6 이 반전되었음을 표시한다. 따라서, 반전 동작들 (1416) 을 실행하는 프로세싱 회로 (1410)(예를 들어, 인버터 (1414)) 는 채널들의 각각에 대해 중앙에 나타낸 데이터 비트들의 그룹을 획득하기 위해 먼 우측으로부터 데이터 비트들의 수신된 그룹을 반전할 수 있다.
1506 에서, 전자 디바이스 (1400) 는 제 2 인코딩 스킴에 대해 데이터 비트들의 그룹을 디코딩할 수 있다. 예를 들어, 반전 동작들 (1416) 을 실행하는 프로세싱 회로 (1410)(예를 들어, 인버터 (1414)) 는 제 1 채용된 인코딩 스킴과 연관된 인코딩 플래그들을 식별할 수 있다. 도 6 내지 도 10 을 참조하여 위에서 기재된 예들을 참조하면, 반전 동작들 (1416) 을 실행하는 프로세싱 회로 (1410)(예를 들어, 인버터 (1414)) 는 각각의 데이터와 연관된 트랜지션 반전 ( TI) 인코딩 플래그들을 식별할 수 있다. 위에서 언급된 바와 같이, TI 인코딩 플래그들은 부가 채널에 또는 각각의 채널 상의 부가 사이클에 포함될 수도 있다. TI 인코딩 플래그들에 의해 표시된 각각의 채널이 반전된 것에 대하여, 반전 동작들 (1416) 을 실행하는 프로세싱 회로 (1410)(예를 들어, 인버터 (1414)) 는 데이터 비트를 하나 걸러 다시 그 원래 상태로 반전할 수 있다. 따라서, 도 6 에서의 예로 계속하면, 데이터 채널 9 은 데이터 채널들 1, 3, 4 및 8 이 그 채널들의 각각에 대해 데이터 비트를 하나 걸러 반전하는 것에 의해 모두 인코딩되었음을 표시한다. 따라서, 반전 동작들 (1416) 을 실행하는 프로세싱 회로 (1410)(예를 들어, 인버터 (1414)) 는, 원래 데이터 비트들을 나타내는, 도 6 의 좌측 상에 나타낸 데이터 비트들의 그룹을 획득하기 위해 도 6 에 있어서 중앙에 나타낸 부분적으로 디코딩된 데이터에서의 데이터 비트를 하나 걸러 반전할 수 있다.
당업자는 디코딩의 순서가 데이터 비트들의 원래 그룹이 인코딩되었던 순서에 직접적으로 의존할 것이라는 것을 인식할 것이다. 따라서, 데이터 비트들의 원래 그룹이 상태 반전 인코딩 다음 트랜지션 반전 인코딩으로 인코딩되었다면, 디코더 (1404) 는 트랜지션 반전 인코딩에 대한 디코딩 다음 상태 반전 인코딩에 대한 디코딩을 수행하는 것에 의해 수신된 데이터 비트들을 디코딩할 수 있다.
위에서 논의된 양태들, 배열들 및 실시형태들은 특정 상세들 및 특수성으로 논의되지만, 도 1, 도 2, 도 3, 도 4, 도 5, 도 6, 도 7, 도 8, 도 9, 도 10, 도 11, 도 12, 도 13, 도 14 및/또는 도 15 에 도시된 컴포넌트들, 단계들, 피처들 및/또는 기능들의 하나 이상은 단일 컴포넌트, 단계, 피처, 또는 기능을 재배열되고 및/또는 결합되거나, 몇몇 컴포넌트들, 단계들 또는 기능들에서 구현될 수도 있다. 부가 엘리먼트들, 컴포넌트들, 단계들, 및/또는 기능들이 또한 부가될 수도 있지만, 본 개시물로부터 벗어나지 않으면서 활용될 수 있다. 도 1, 도 5 및/또는 도 14 에 도시된 장치, 디바이스들 및/또는 컴포넌트들은, 도 2, 도 3, 도 4, 도 6, 도 7, 도 8, 도 9, 도 10, 도 11, 도 12, 도 13, 및/또는 도 15 에서 기재된 방법들, 피처들, 파라미터들 및/또는 단계들의 하나 이상을 수행하거나 채용하도록 구성될 수도 있다. 본 명세서에 기재된 신규 알고리즘들은 또한 소프트웨어에서 충분히 구현되고 및/또는 하드웨어에 임베딩될 수도 있다.
본 개시물의 피처들이 소정의 실시형태들 및 도면들에 대해 논의되었을 수도 있지만, 본 개시물이 모든 실시형태들은 본 명세서에 기재된 이로운 피처들의 하나 이상을 포함할 수 있다. 즉, 하나 이상의 실시형태들이 소정의 이로운 피처들을 갖는 것으로 논의되었을 수도 있지만, 그러한 피처들의 하나 이상은 또한 본 명세서에 기재된 다양한 실시형태들 중 임의의 것에 따라 사용될 수도 있다. 유사한 방식으로, 예시적인 실시형태들은 디바이스, 시스템, 또는 방법 실시형태들로서 본 명세서에서 논의되었을 수도 있지만, 그러한 예시적인 실시형태들은 다양한 디바이스들, 시스템들, 및 방법들에서 구현될 수도 있다는 것을 이해해야 한다.
또한, 적어도 일부 구현들은 플로우챠트, 플로우 다이어그램, 구조 다이어그램, 또는 블록 다이어그램으로서 도시되는 프로세스로서 기재되었다는 것을 유의한다. 플로우챠트가 순차적 프로세스로서 동작들을 기재할 수도 있지만, 많은 동작들은 병렬로 또는 동시에 수행될 수도 있다. 부가적으로, 동작들의 순서는 재배열될 수도 있다. 프로세스는 그 동작들이 완료될 때 종료된다. 프로세스는 방법, 기능, 절차, 서브루틴, 서브프로그램 등에 대응할 수도 있다. 프로세스가 기능에 대응할 때, 그 중단은 호출 기능 도는 메인 기능으로의 기능의 복귀에 대응한다. 본 명세서에 기재된 다양한 방법들은 머신 판독가능, 컴퓨터 판독가능, 및/또는 프로세서 판독가능 저장 매체에 저장되고, 하나 이상의 프로세서들, 머신들 및/또는 디바이스들에 의해 실행될 수도 있는 프로그래밍 (예를 들어, 명령들 및/또는 데이터) 에 의해 부분적으로 또는 전부 구현될 수도 있다.
당업자는 또한, 본 명세서에 기재된 실시형태들과 관련하여 기재된 다양한 예시적인 논리 블록들, 모듈들, 회로들 및 알고리즘 단계들이 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 또는 그 임의의 조합으로서 구현될 수도 있다는 것을 이해하게 된다. 이러한 상호교환 가능성을 명확히 하기 위해서, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 그 기능에 관하여 일반적으로 상술되었다. 그러한 기능이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 전체 시스템에 부과된 특정 어플리케이션 및 설계 제약들에 의존한다.
본 명세서에 기재되고 첨부 도면들에 나타낸 예들과 연관된 다양한 피처들은 본 개시물의 범위로부터 벗어나지 않으면서 상이한 예들 및 구현들로 구현될 수 있다. 이에 따라, 소정의 특정 구성들 미 배열들이 첨부 도면들에 기재되고 나타나 있지만, 그러한 실시형태들은 단지 예시적인 것이고 개시물의 범위를 한정하는 것이 아닌데, 이는 개시된 실시형태들에 대한 다양한 다른 부가들 및 수정들, 그리고 이 실시형태들로부터의 삭제들이 당업자에게 자명할 것이기 때문이다. 따라서, 개시물의 범위는 단지 이어지는 청구항들의 문자 언어 및 법적 등가물들에 의해서만 결정된다.

Claims (56)

  1. 적어도 하나의 인코더를 포함하는 전자 디바이스로서,
    상기 인코더는,
    데이터 비트들의 송신을 용이하게 하기 위해 데이터 버스와 커플링되도록 구성된 데이터 버스 인터페이스; 및
    상기 데이터 버스 인터페이스와 커플링된 프로세싱 회로를 포함하고,
    상기 프로세싱 회로는,
    상기 데이터 버스 인터페이스를 통해 데이터 버스 상에서 송신될 데이터 비트들의 그룹에 대해 제 1 인코딩 스킴을, 상기 데이터 비트들의 그룹 내의 트랜지션들의 수에 기초하여 수행하고; 그리고
    미리 결정된 상태를 나타내는 데이터 비트들의 그룹 내의 데이터 비트들의 수에 기초하여 상기 데이터 비트들의 그룹에 대해 제 2 인코딩 스킴을 수행하도록 구성되는, 적어도 하나의 인코더를 포함하는 전자 디바이스.
  2. 제 1 항에 있어서,
    상기 프로세싱 회로가 상기 데이터 비트들의 그룹에 대해 제 1 인코딩 스킴을 수행하도록 구성되는 것은, 상기 프로세싱 회로가,
    미리 결정된 수의 데이터 비트들의 지속 기간에 걸쳐 상기 데이터 버스 상의 복수의 데이터 채널들의 각각의 데이터 채널 상의 트랜지션들의 수를 결정하고; 그리고
    상기 데이터 채널 상의 트랜지션들의 수가 트랜지션 임계 초과라고 결정될 때 데이터 채널 상의 상기 미리 결정된 수의 데이터 비트들의 데이터 비트를 하나 걸러 반전하도록 구성되는 것을 포함하는, 적어도 하나의 인코더를 포함하는 전자 디바이스.
  3. 제 1 항에 있어서,
    상기 프로세싱 회로가 상기 데이터 비트들의 그룹에 대해 제 2 인코딩 스킴을 수행하도록 구성되는 것은, 상기 프로세싱 회로가,
    미리 결정된 수의 데이터 비트들의 지속 기간에 걸쳐 상기 데이터 버스 상의 복수의 데이터 채널들의 각각의 데이터 채널 상의 미리 결정된 상태로 설정된 데이터 비트들의 수를 결정하고; 그리고
    상기 데이터 채널 상의 미리 결정된 상태로 설정된 데이터 비트들의 수가 상태 임계 초과일 때 데이터 채널 상의 미리 결정된 수의 데이터 비트들의 데이터 비트들을 반전하도록 구성되는 것을 포함하는, 적어도 하나의 인코더를 포함하는 전자 디바이스.
  4. 제 1 항에 있어서,
    상기 프로세싱 회로는 또한,
    어느 데이터 비트들이 상기 제 1 인코딩 스킴에 의해 인코딩되는지를 표시하기 위해 복수의 제 1 인코딩 플래그들을 설정하고; 그리고
    어느 데이터 비트들이 상기 제 2 인코딩 스킴에 의해 인코딩되는지를 표시하기 위해 복수의 제 2 인코딩 플래그들을 설정
    하도록 구성되는, 적어도 하나의 인코더를 포함하는 전자 디바이스.
  5. 제 4 항에 있어서,
    상기 제 1 인코딩 플래그들은,
    부가 데이터 채널에서의 데이터 비트들로서, 상기 부가 데이터 채널의 각각의 데이터 비트가 상기 데이터 비트들의 그룹의 개별 데이터 채널과 연관되는, 상기 부가 데이터 채널에서의 데이터 비트들, 또는
    각각의 개별 데이터 채널에 부가된 데이터 비트들
    로서 어느 하나가 설정되는, 적어도 하나의 인코더를 포함하는 전자 디바이스.
  6. 제 4 항에 있어서,
    상기 제 2 인코딩 플래그들은,
    부가 데이터 채널에서의 데이터 비트들로서, 상기 부가 데이터 채널의 각각의 데이터 비트가 상기 데이터 비트들의 그룹의 개별 데이터 채널과 연관되는, 상기 부가 데이터 채널에서의 데이터 비트들, 또는
    각각의 개별 데이터 채널에 부가된 데이터 비트들
    로서 어느 하나가 설정되는, 적어도 하나의 인코더를 포함하는 전자 디바이스.
  7. 제 1 항에 있어서,
    상기 프로세싱 회로는,
    상기 데이터 비트들의 그룹에 대한 상기 제 1 인코딩 스킴을 수행하기 전에 상기 데이터 비트들의 그룹에 대한 상기 제 2 인코딩 스킴을 수행하도록 구성되는, 적어도 하나의 인코더를 포함하는 전자 디바이스.
  8. 전자 디바이스 상에서 동작하는 방법으로서,
    데이터 버스를 통해 송신될 데이터 비트들의 그룹에 대해 제 1 인코딩 스킴을 수행하는 단계로서, 상기 제 1 인코딩 스킴은 상기 데이터 비트들의 그룹 내의 트랜지션들의 수에 기초하여 수행되는, 상기 제 1 인코딩 스킴을 수행하는 단계; 및
    미리 결정된 상태를 나타내는 데이터 비트들의 그룹 내의 데이터 비트들의 수에 기초하여 상기 데이터 비트들의 그룹에 대해 제 2 인코딩 스킴을 수행하는 단계를 포함하는, 전자 디바이스 상에서 동작하는 방법.
  9. 제 8 항에 있어서,
    상기 데이터 비트들의 그룹에 대해 제 1 인코딩 스킴을 수행하는 단계는,
    미리 결정된 수의 데이터 비트들의 지속 기간에 걸쳐 상기 데이터 버스 상의 복수의 데이터 채널들의 각각의 데이터 채널 상의 트랜지션들의 수를 결정하는 단계; 및
    상기 데이터 채널 상의 트랜지션들의 수가 트랜지션 임계 초과라고 결정될 때 데이터 채널 상의 상기 미리 결정된 수의 데이터 비트들의 데이터 비트를 하나 걸러 반전하는 단계를 포함하는, 전자 디바이스 상에서 동작하는 방법.
  10. 제 8 항에 있어서,
    상기 데이터 비트들의 그룹에 대해 제 2 인코딩 스킴을 수행하는 단계는,
    미리 결정된 수의 데이터 비트들의 지속 기간에 걸쳐 상기 데이터 버스 상의 복수의 데이터 채널들의 각각의 데이터 채널 상의 미리 결정된 상태로 설정된 데이터 비트들의 수를 결정하는 단계; 및
    상기 데이터 채널 상의 미리 결정된 상태로 설정된 데이터 비트들의 수가 상태 임계 초과일 때 데이터 채널 상의 미리 결정된 수의 데이터 비트들의 데이터 비트들을 반전하는 단계를 포함하는, 전자 디바이스 상에서 동작하는 방법.
  11. 제 8 항에 있어서,
    어느 데이터 비트들이 상기 제 1 인코딩 스킴에 의해 인코딩되는지를 표시하기 위해 제 1 인코딩 플래그들을 설정하는 단계; 및
    어느 데이터 비트들이 상기 제 2 인코딩 스킴에 의해 인코딩되는지를 표시하기 위해 제 2 인코딩 플래그들을 설정하는 단계를 더 포함하는, 전자 디바이스 상에서 동작하는 방법.
  12. 제 11 항에 있어서,
    상기 제 1 인코딩 플래그들을 설정하는 단계는,
    부가 데이터 채널에서의 데이터 비트들을 설정하는 단계로서, 상기 부가 데이터 채널의 각각의 데이터 비트가 상기 데이터 비트들의 그룹의 개별 데이터 채널과 연관되는, 상기 부가 데이터 채널에서의 데이터 비트들을 설정하는 단계, 또는
    각각의 개별 데이터 채널에 부가된 데이터 비트들을 설정하는 단계를 포함하는, 전자 디바이스 상에서 동작하는 방법.
  13. 제 11 항에 있어서,
    상기 제 2 인코딩 플래그들을 설정하는 단계는,
    부가 데이터 채널에서의 데이터 비트들을 설정하는 단계로서, 상기 부가 데이터 채널의 각각의 데이터 비트가 상기 데이터 비트들의 그룹의 개별 데이터 채널과 연관되는, 상기 부가 데이터 채널에서의 데이터 비트들을 설정하는 단계, 또는
    각각의 개별 데이터 채널에 부가된 데이터 비트들을 설정하는 단계를 포함하는, 전자 디바이스 상에서 동작하는 방법.
  14. 제 8 항에 있어서,
    상기 데이터 비트들의 그룹에 대해 제 1 인코딩 스킴을 수행하는 단계는,
    상기 데이터 비트들의 그룹에 대한 상기 제 2 인코딩 스킴을 수행한 후에 상기 데이터 비트들의 그룹에 대한 상기 제 1 인코딩 스킴을 수행하는 단계를 포함하는, 전자 디바이스 상에서 동작하는 방법.
  15. 전자 디바이스로서,
    데이터 버스를 통해 송신될 데이터 비트들의 그룹에 대해 제 1 인코딩 스킴을 수행하는 수단으로서, 상기 제 1 인코딩 스킴은 상기 데이터 비트들의 그룹 내의 트랜지션들의 수에 기초하여 수행되는, 상기 제 1 인코딩 스킴을 수행하는 수단; 및
    미리 결정된 상태를 나타내는 상기 데이터 비트들의 그룹 내의 데이터 비트들의 수에 기초하여 상기 데이터 비트들의 그룹에 대해 제 2 인코딩 스킴을 수행하는 수단을 포함하는, 전자 디바이스.
  16. 제 15 항에 있어서,
    상기 데이터 비트들의 그룹에 대해 제 1 인코딩 스킴을 수행하는 것은,
    미리 결정된 수의 데이터 비트들의 지속 기간에 걸쳐 상기 데이터 버스 상의 복수의 데이터 채널들의 각각의 데이터 채널 상의 트랜지션들의 수를 결정하는 것; 및
    상기 데이터 채널 상의 트랜지션들의 수가 트랜지션 임계 초과라고 결정될 때 데이터 채널 상의 상기 미리 결정된 수의 데이터 비트들의 데이터 비트를 하나 걸러 반전하는 것을 포함하는, 전자 디바이스.
  17. 제 15 항에 있어서,
    상기 데이터 비트들의 그룹에 대해 제 2 인코딩 스킴을 수행하는 것은,
    미리 결정된 수의 데이터 비트들의 지속 기간에 걸쳐 상기 데이터 버스 상의 복수의 데이터 채널들의 각각의 데이터 채널 상의 미리 결정된 상태로 설정된 데이터 비트들의 수를 결정하는 것; 및
    상기 데이터 채널 상의 미리 결정된 상태로 설정된 데이터 비트들의 수가 상태 임계 초과일 때 데이터 채널 상의 미리 결정된 수의 데이터 비트들의 데이터 비트들을 반전하는 것을 포함하는, 전자 디바이스.
  18. 제 15 항에 있어서,
    어느 데이터 비트들이 상기 제 1 인코딩 스킴에 의해 인코딩되는지를 표시하기 위해 복수의 제 1 인코딩 플래그들을 설정하는 수단; 및
    어느 데이터 비트들이 상기 제 2 인코딩 스킴에 의해 인코딩되는지를 표시하기 위해 복수의 제 2 인코딩 플래그들을 설정하는 수단을 더 포함하는, 전자 디바이스.
  19. 프로세서 판독가능 저장 매체로서,
    프로세싱 회로로 하여금,
    데이터 버스를 통해 송신될 데이터 비트들의 그룹에 대해 제 1 인코딩 스킴을 채용하게 하는 것으로서, 상기 제 1 인코딩 스킴은 상기 데이터 비트들의 그룹 내의 트랜지션들의 수에 기초하여 수행되는, 상기 제 1 인코딩 스킴을 채용하게 하고; 그리고
    미리 결정된 상태를 나타내는 상기 데이터 비트들의 그룹 내의 데이터 비트들의 수에 기초하여 상기 데이터 비트들의 그룹에 대해 제 2 인코딩 스킴을 채용하게 하기 위한
    프로그래밍을 포함하는, 프로세서 판독가능 저장 매체.
  20. 제 19 항에 있어서,
    상기 제 1 인코딩 스킴은,
    미리 결정된 수의 데이터 비트들의 지속 기간에 걸쳐 상기 데이터 버스 상의 복수의 데이터 채널들의 각각의 데이터 채널 상의 트랜지션들의 수를 결정하는 것; 및
    상기 데이터 채널 상의 트랜지션들의 수가 트랜지션 임계 초과라고 결정될 때 데이터 채널 상의 미리 결정된 수의 데이터 비트들의 데이터 비트를 하나 걸러 반전하는 것을 포함하는, 프로세서 판독가능 저장 매체.
  21. 제 19 항에 있어서,
    상기 제 2 인코딩 스킴은,
    미리 결정된 수의 데이터 비트들의 지속 기간에 걸쳐 상기 데이터 버스 상의 복수의 데이터 채널들의 각각의 데이터 채널 상의 미리 결정된 상태로 설정된 데이터 비트들의 수를 결정하는 것; 및
    상기 데이터 채널 상의 미리 결정된 상태로 설정된 데이터 비트들의 수가 상태 임계 초과일 때 데이터 채널 상의 미리 결정된 수의 데이터 비트들의 데이터 비트들을 반전하는 것을 포함하는, 프로세서 판독가능 저장 매체.
  22. 제 19 항에 있어서,
    프로세싱 회로로 하여금,
    어느 데이터 비트들이 상기 제 1 인코딩 스킴에 의해 인코딩되는지를 표시하기 위해 복수의 제 1 인코딩 플래그들을 설정하게 하고; 그리고
    어느 데이터 비트들이 상기 제 2 인코딩 스킴에 의해 인코딩되는지를 표시하기 위해 복수의 제 2 인코딩 플래그들을 설정하게 하기 위한,
    프로그래밍을 더 포함하는, 프로세서 판독가능 저장 매체.
  23. 적어도 하나의 인코더를 포함하는 전자 디바이스로서,
    상기 인코더는
    미리 결정된 수의 사이클들 동안 데이터 버스의 복수의 데이터 채널들 상의 트랜지션들의 수를 결정하도록 구성된 트랜지션 검출기;
    상기 미리 결정된 수의 사이클들 동안 상기 복수의 데이터 채널들의 각각의 데이터 채널 상의 미리 결정된 상태로 설정된 사이클들의 수를 결정하도록 구성된 상태 검출기; 및
    인버터를 포함하고,
    상기 인버터는,
    상기 데이터 채널 상의 트랜지션들의 수가 트랜지션 임계 초과라고 결정될 때 데이터 채널 상의 미리 결정된 수의 사이클들의 사이클을 하나 걸러 반전하고; 그리고
    상기 데이터 채널 상의 미리 결정된 상태로 설정된 상기 사이클들의 수가 상태 임계 초과라고 결정될 때 데이터 채널 상의 미리 결정된 수의 사이클들의 사이클들을 반전하도록 구성되는, 적어도 하나의 인코더를 포함하는 전자 디바이스.
  24. 제 23 항에 있어서,
    상기 인버터는 또한,
    상기 트랜지션들의 수가 상기 트랜지션 임계 초과라는 결정에 응답하여 사이클이 하나 걸러 반전되는지 여부를 각각의 데이터 채널 상에 표시하기 위해 복수의 트랜지션 반전 인코딩 플러그들을 설정하고; 그리고
    상기 미리 결정된 상태로 설정된 사이클들의 수가 상태 임계 초과라는 결정에 응답하여 상기 사이클들이 반전되는지 여부를 각각의 데이터 채널 상에 표시하기 위해 복수의 상태 반전 인코딩 플래그들을 설정하도록 구성되는, 적어도 하나의 인코더를 포함하는 전자 디바이스.
  25. 제 24 항에 있어서,
    상기 인버터는,
    제 1 플래그 채널 상에 상기 복수의 트랜지션 반전 인코딩 플래그들을 설정하는 것으로서, 상기 제 1 플래그 채널 상의 각각의 사이클은 개별 데이터 채널과 연관되는, 상기 복수의 트랜지션 반전 인코딩 플래그들을 설정하고; 그리고
    제 2 플래그 채널 상에 상기 복수의 상태 반전 인코딩 플래그들을 설정하는 것으로서, 상기 제 2 플래그 채널 상의 각각의 사이클은 개별 데이터 채널과 연관되는, 상기 복수의 상태 반전 인코딩 플래그들을 설정하도록 구성되는, 적어도 하나의 인코더를 포함하는 전자 디바이스.
  26. 제 24 항에 있어서,
    상기 인버터는,
    제 1 플래그 채널 상에 상기 복수의 트랜지션 반전 인코딩 플래그들을 설정하는 것으로서, 상기 제 1 플래그 채널 상의 2 이상의 연속적인 사이클들은 개별 데이터 채널과 연관되는, 상기 복수의 트랜지션 반전 인코딩 플래그들을 설정하고; 그리고
    제 2 플래그 채널 상에 상기 복수의 상태 반전 인코딩 플래그들을 설정하는 것으로서, 상기 제 2 플래그 채널 상의 2 이상의 연속적인 사이클들은 개별 데이터 채널과 연관되는, 상기 복수의 상태 반전 인코딩 플래그들을 설정하도록 구성되는, 적어도 하나의 인코더를 포함하는 전자 디바이스.
  27. 제 24 항에 있어서,
    상기 인버터는,
    동일 플래그 채널 상에 상기 복수의 트랜지션 반전 인코딩 플래그들 및 상기 복수의 상태 반전 인코딩 플래그들을 설정하도록 구성되는, 적어도 하나의 인코더를 포함하는 전자 디바이스.
  28. 제 24 항에 있어서,
    상기 인버터는,
    부가 사이클로서 각각의 데이터 채널 상에 개별 트랜지션 반전 인코딩 플래그를 설정하고; 그리고
    다른 부가 사이클로서 각각의 데이터 채널 상에 개별 상태 인코딩 반전 플래그를 설정하도록 구성되는, 적어도 하나의 인코더를 포함하는 전자 디바이스.
  29. 제 24 항에 있어서,
    상기 인버터는,
    플래그 채널 상에 상기 복수의 트랜지션 반전 인코딩 플래그들을 설정하는 것으로서, 상기 플래그 채널 상의 각각의 사이클은 개별 데이터 채널과 연관되는, 상기 복수의 트랜지션 반전 인코딩 플래그들을 설정하고; 그리고
    각각의 데이터 채널 및 상기 플래그 채널 상에 부가 사이클로서 상태 반전 인코딩 플래그를 설정하도록 구성되는, 적어도 하나의 인코더를 포함하는 전자 디바이스.
  30. 전자 디바이스 상에서 동작하는 방법으로서,
    미리 결정된 수의 사이클들 동안 데이터 버스의 복수의 데이터 채널들 상의 트랜지션들의 수를 결정하는 단계;
    상기 데이터 채널 상의 트랜지션들의 수가 트랜지션 임계 초과라고 결정될 때 데이터 채널의 사이클을 하나 걸러 반전하는 단계;
    연관된 데이터 채널의 사이클이 하나 걸러 반전되었는지 여부를 표시하기 위해 각각의 데이터 채널과 연관된 개별 트랜지션 반전 인코딩 플래그를 설정하는 단계;
    상기 미리 결정된 수의 사이클들 동안 상기 복수의 데이터 채널들의 각각의 데이터 채널 상의 미리 결정된 상태로 설정된 사이클들의 수를 결정하는 단계;
    상기 데이터 채널 상의 미리 결정된 상태로 설정된 사이클들의 수가 상태 임계 초과일 때 데이터 채널의 사이클들을 반전하는 단계; 및
    연관된 데이터 채널의 사이클들이 반전되는지 여부를 표시하기 위해 각각의 데이터 채널과 연관된 개별 상태 반전 인코딩 플래그를 설정하는 단계를 포함하는, 전자 디바이스 상에서 동작하는 방법.
  31. 제 30 항에 있어서,
    상기 연관된 데이터 채널의 사이클이 하나 걸러 반전되었는지 여부를 표시하기 위해 각각의 데이터 채널과 연관된 개별 트랜지션 반전 인코딩 플래그를 설정하는 단계는,
    플래그 채널 상에 상기 트랜지션 반전 인코딩 플래그들의 각각을 설정하는 단계를 포함하고, 상기 플래그 채널 상의 각각의 사이클은 개별 데이터 채널과 연관되는, 전자 디바이스 상에서 동작하는 방법.
  32. 제 30 항에 있어서,
    상기 연관된 데이터 채널의 사이클이 하나 걸러 반전되었는지 여부를 표시하기 위해 각각의 데이터 채널과 연관된 상기 개별 트랜지션 반전 인코딩 플래그를 설정하는 단계는,
    부가 사이클로서 상기 연관된 데이터 채널 상에 상기 개별 트랜지션 반전 인코딩 플래그를 설정하는 단계를 포함하는, 전자 디바이스 상에서 동작하는 방법.
  33. 제 30 항에 있어서,
    상기 연관된 데이터 채널의 사이클들이 반전되는지 여부를 표시하기 위해 각각의 데이터 채널과 연관된 개별 상태 반전 인코딩 플래그를 설정하는 단계는,
    플래그 채널 상에 상기 상태 반전 인코딩 플래그들의 각각을 설정하는 단계를 포함하고, 상기 플래그 채널 상의 각각의 사이클은 개별 데이터 채널과 연관되는, 전자 디바이스 상에서 동작하는 방법.
  34. 제 30 항에 있어서,
    상기 연관된 데이터 채널의 사이클들이 반전되는지 여부를 표시하기 위해 각각의 데이터 채널과 연관된 개별 상태 반전 인코딩 플래그를 설정하는 단계는,
    부가 사이클로서 상기 연관된 데이터 채널 상에 상기 개별 상태 반전 인코딩 플래그를 설정하는 단계를 포함하는, 전자 디바이스 상에서 동작하는 방법.
  35. 전자 디바이스로서,
    미리 결정된 수의 사이클들 동안 데이터 버스의 복수의 데이터 채널들 상의 트랜지션들의 수를 결정하는 수단;
    상기 데이터 채널 상의 트랜지션들의 수가 트랜지션 임계 초과라고 결정될 때 데이터 채널의 사이클을 하나 걸러 반전하는 수단;
    연관된 데이터 채널의 사이클이 하나 걸러 반전되었는지 여부를 표시하기 위해 각각의 데이터 채널과 연관된 개별 트랜지션 반전 인코딩 플래그를 설정하는 수단;
    상기 미리 결정된 수의 사이클들 동안 상기 복수의 데이터 채널들의 각각의 데이터 채널 상의 미리 결정된 상태로 설정된 사이클들의 수를 결정하는 수단;
    상기 데이터 채널 상의 미리 결정된 상태로 설정된 사이클들의 수가 상태 임계 초과일 때 데이터 채널의 사이클들을 반전하는 수단; 및
    연관된 데이터 채널의 사이클들이 반전되는지 여부를 표시하기 위해 각각의 데이터 채널과 연관된 개별 상태 반전 인코딩 플래그를 설정하는 수단을 포함하는, 전자 디바이스.
  36. 프로세서 판독가능 저장 매체로서,
    프로세싱 회로로 하여금,
    미리 결정된 수의 사이클들 동안 데이터 버스의 복수의 데이터 채널들 상의 트랜지션들의 수를 결정하게 하고;
    상기 데이터 채널 상의 트랜지션들의 수가 트랜지션 임계 초과라고 결정될 때 데이터 채널의 사이클을 하나 걸러 반전하게 하고;
    연관된 데이터 채널의 사이클이 하나 걸러 반전되었는지 여부를 표시하기 위해 각각의 데이터 채널과 연관된 개별 트랜지션 반전 인코딩 플래그를 설정하게 하고;
    상기 미리 결정된 수의 사이클들 동안 상기 복수의 데이터 채널들의 각각의 데이터 채널 상의 미리 결정된 상태로 설정된 사이클들의 수를 결정하게 하고;
    상기 데이터 채널 상의 미리 결정된 상태로 설정된 사이클들의 수가 상태 임계 초과일 때 데이터 채널의 사이클들을 반전하게 하며; 그리고
    연관된 데이터 채널의 사이클들이 반전되는지 여부를 표시하기 위해 각각의 데이터 채널과 연관된 개별 상태 반전 인코딩 플래그를 설정하게 하기
    위한 프로그래밍을 포함하는, 프로세서 판독가능 저장 매체.
  37. 적어도 하나의 디코더를 포함하는 전자 디바이스로서,
    상기 디코더는,
    데이터 비트들의 수신을 용이하게 하기 위해 데이터 버스와 커플링되도록 구성된 데이터 버스 인터페이스; 및
    상기 데이터 버스 인터페이스와 커플링된 인버터를 포함하고,
    상기 인버터는,
    상기 데이터 버스 인터페이스를 통해, 복수의 데이터 채널들 상의 데이터 비트들의 그룹을 수신하고;
    제 1 인코딩 스킴에 대해 상기 데이터 비트들의 그룹을 디코딩하며; 그리고
    제 2 인코딩 스킴에 대해 상기 데이터 비트들의 그룹을 디코딩하도록 구성되는, 적어도 하나의 디코더를 포함하는 전자 디바이스.
  38. 제 37 항에 있어서,
    상기 인버터가 상기 제 1 인코딩 스킴에 대해 데이터 비트들의 그룹을 디코딩하도록 구성되는 것은, 상기 인버터가,
    상기 제 1 인코딩 스킴과 연관된 인코딩 플래그들을 식별하고; 그리고
    상기 제 1 인코딩 스킴과 연관된 상기 인코딩 플래그들에 의해 표시된 반전되었던 데이터 비트들을 반전하도록 구성되는 것을 포함하는, 적어도 하나의 디코더를 포함하는 전자 디바이스.
  39. 제 37 항에 있어서,
    상기 인버터가 상기 제 2 인코딩 스킴에 대해 데이터 비트들의 그룹을 디코딩하도록 구성되는 것은, 상기 인버터가,
    상기 제 2 인코딩 스킴과 연관된 인코딩 플래그들을 식별하고; 그리고
    상기 제 2 인코딩 스킴과 연관된 상기 인코딩 플래그들에 의해 표시된 반전되었던 데이터 비트들을 반전하도록 구성되는 것을 포함하는, 적어도 하나의 디코더를 포함하는 전자 디바이스.
  40. 제 37 항에 있어서,
    상기 제 1 인코딩 스킴은, 미리 결정된 상태를 나타내는 데이터 비트들의 그룹에 대해 데이터 채널 상의 데이터 비트들의 수에 기초하는 인코딩 스킴을 포함하는, 적어도 하나의 디코더를 포함하는 전자 디바이스.
  41. 제 37 항에 있어서,
    상기 제 1 인코딩 스킴은, 상기 데이터 비트들의 그룹에 대해 데이터 채널 상의 트랜지션들의 수에 기초하는 인코딩 스킴을 포함하는, 적어도 하나의 디코더를 포함하는 전자 디바이스.
  42. 전자 디바이스 상에서 동작하는 방법으로서,
    데이터 버스의 복수의 데이터 채널들 상의 데이터 비트들의 그룹을 수신하는 단계;
    제 1 인코딩 스킴에 대해 상기 데이터 비트들의 그룹을 디코딩하는 단계; 및
    제 2 인코딩 스킴에 대해 상기 데이터 비트들의 그룹을 디코딩하는 단계를 포함하는, 전자 디바이스 상에서 동작하는 방법.
  43. 제 42 항에 있어서,
    상기 제 1 인코딩 스킴에 대해 데이터 비트들의 그룹을 디코딩하는 단계는,
    상기 제 1 인코딩 스킴과 연관된 인코딩 플래그들을 식별하는 단계; 및
    상기 제 1 인코딩 스킴과 연관된 상기 인코딩 플래그들에 의해 표시된 반전되었던 데이터 비트들을 반전하는 단계를 포함하는, 전자 디바이스 상에서 동작하는 방법.
  44. 제 42 항에 있어서,
    상기 제 2 인코딩 스킴에 대해 상기 데이터 비트들의 그룹을 디코딩하는 단계는,
    상기 제 2 인코딩 스킴과 연관된 인코딩 플래그들을 식별하는 단계; 및
    상기 제 2 인코딩 스킴과 연관된 상기 인코딩 플래그들에 의해 표시된 반전되었던 데이터 비트들을 반전하는 단계를 포함하는, 전자 디바이스 상에서 동작하는 방법.
  45. 제 42 항에 있어서,
    상기 제 1 인코딩 스킴에 대해 데이터 비트들의 그룹을 디코딩하는 단계는,
    미리 결정된 상태를 나타내는 데이터 채널 상의 데이터 비트들의 수에 기초하는 인코딩 스킴에 대해 상기 데이터 비트들의 그룹을 디코딩하는 단계를 포함하는, 전자 디바이스 상에서 동작하는 방법.
  46. 제 42 항에 있어서,
    상기 제 1 인코딩 스킴에 대해 데이터 비트들의 그룹을 디코딩하는 단계는,
    데이터 채널 상의 트랜지션들의 수에 기초하는 인코딩 스킴에 대해 상기 데이터 비트들의 그룹을 디코딩하는 단계를 포함하는, 전자 디바이스 상에서 동작하는 방법.
  47. 전자 디바이스로서,
    데이터 버스의 복수의 데이터 채널들 상의 데이터 비트들의 그룹을 수신하는 수단;
    제 1 인코딩 스킴에 대해 상기 데이터 비트들의 그룹을 디코딩하는 수단; 및
    제 2 인코딩 스킴에 대해 상기 데이터 비트들의 그룹을 디코딩하는 수단을 포함하는, 전자 디바이스.
  48. 제 47 항에 있어서,
    상기 제 1 인코딩 스킴에 대해 데이터 비트들의 그룹을 디코딩하는 수단은,
    상기 제 1 인코딩 스킴과 연관된 인코딩 플래그들을 식별하는 수단; 및
    상기 제 1 인코딩 스킴과 연관된 상기 인코딩 플래그들에 의해 표시된 반전되었던 데이터 비트들을 반전하는 수단을 포함하는, 전자 디바이스.
  49. 제 47 항에 있어서,
    상기 제 2 인코딩 스킴에 대해 데이터 비트들의 그룹을 디코딩하는 수단은,
    상기 제 2 인코딩 스킴과 연관된 인코딩 플래그들을 식별하는 수단; 및
    상기 제 2 인코딩 스킴과 연관된 상기 인코딩 플래그들에 의해 표시된 반전되었던 데이터 비트들을 반전하는 수단을 포함하는, 전자 디바이스.
  50. 제 47 항에 있어서,
    상기 제 1 인코딩 스킴은, 미리 결정된 상태를 나타내는 데이터 채널 상의 데이터 비트들의 수에 기초하는 인코딩 스킴을 포함하는, 전자 디바이스.
  51. 제 47 항에 있어서,
    상기 제 1 인코딩 스킴은, 데이터 채널 상의 트랜지션들의 수에 기초하는 인코딩 스킴을 포함하는, 전자 디바이스.
  52. 프로세서 판독가능 저장 매체로서,
    프로세싱 회로로 하여금,
    제 1 인코딩 스킴에 대해 수신된 데이터 비트들의 그룹을 디코딩하게 하고; 그리고
    제 2 인코딩 스킴에 대해 상기 데이터 비트들의 그룹을 디코딩하게 하기
    위한 프로그래밍을 포함하는, 프로세서 판독가능 저장 매체.
  53. 제 52 항에 있어서,
    프로세싱 회로로 하여금 상기 제 1 인코딩 스킴에 대해 수신된 데이터 비트들의 그룹을 디코딩하게 하기 위한 프로그래밍은, 프로세싱 회로로 하여금,
    상기 제 1 인코딩 스킴과 연관된 인코딩 플래그들을 식별하게 하고; 그리고
    상기 제 1 인코딩 스킴과 연관된 상기 인코딩 플래그들에 의해 표시된 반전되었던 데이터 비트들을 반전하게 하기 위한 프로그래밍을 포함하는, 프로세서 판독가능 저장 매체.
  54. 제 52 항에 있어서,
    프로세싱 회로로 하여금, 상기 제 2 인코딩 스킴에 대해 데이터 비트들의 그룹을 디코딩하게 하기 위한 프로그래밍은, 프로세싱 회로로 하여금,
    상기 제 2 인코딩 스킴과 연관된 인코딩 플래그들을 식별하게 하고; 그리고
    상기 제 2 인코딩 스킴과 연관된 상기 인코딩 플래그들에 의해 표시된 반전되었던 데이터 비트들을 반전하게 하기 위한 프로그래밍을 포함하는, 프로세서 판독가능 저장 매체.
  55. 제 52 항에 있어서,
    상기 제 1 인코딩 스킴은 미리 결정된 상태를 나타내는 상기 수신된 데이터 비트들의 데이터 채널 상의 데이터 비트들의 수에 기초하는 인코딩 스킴을 포함하고,
    상기 제 2 인코딩 스킴은 데이터 채널 상의 트랜지션들의 수에 기초하는 인코딩 스킴을 포함하는, 프로세서 판독가능 저장 매체.
  56. 제 52 항에 있어서,
    상기 제 1 인코딩 스킴은 상기 수신된 데이터에 대해 데이터 채널 상의 트랜지션들의 수에 기초하는 인코딩 스킴을 포함하고,
    상기 제 2 인코딩 스킴은 미리 결정된 상태를 나타내는 상기 데이터 채널 상의 데이터 비트들의 수에 기초하는 인코딩 스킴을 포함하는, 프로세서 판독가능 저장 매체.
KR1020167016110A 2013-11-21 2014-11-10 순시 전류 및 신호 트랜지션들의 양자 모두를 제한하도록 데이터 반전을 용이하게 하기 위한 디바이스들 및 방법들 KR20160089415A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/086,858 2013-11-21
US14/086,858 US9270417B2 (en) 2013-11-21 2013-11-21 Devices and methods for facilitating data inversion to limit both instantaneous current and signal transitions
PCT/US2014/064760 WO2015077066A1 (en) 2013-11-21 2014-11-10 Devices and methods for facilitating data inversion to limit both instantaneous current and signal transitions

Publications (1)

Publication Number Publication Date
KR20160089415A true KR20160089415A (ko) 2016-07-27

Family

ID=51987487

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167016110A KR20160089415A (ko) 2013-11-21 2014-11-10 순시 전류 및 신호 트랜지션들의 양자 모두를 제한하도록 데이터 반전을 용이하게 하기 위한 디바이스들 및 방법들

Country Status (7)

Country Link
US (1) US9270417B2 (ko)
EP (1) EP3072238B1 (ko)
JP (1) JP2017503377A (ko)
KR (1) KR20160089415A (ko)
CN (1) CN105765866B (ko)
CA (1) CA2926832A1 (ko)
WO (1) WO2015077066A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9252802B2 (en) * 2014-02-07 2016-02-02 Qualcomm Incorporated Encoding for partitioned data bus
US9792246B2 (en) * 2014-12-27 2017-10-17 Intel Corporation Lower-power scrambling with improved signal integrity
DE102019107002A1 (de) * 2018-03-29 2019-10-02 Nvidia Corporation Verringerung der kopplung und des leistungsrauschens an einer pam-4-i/o-schnittstelle
KR20220132368A (ko) * 2021-03-23 2022-09-30 에스케이하이닉스 주식회사 신호 전송 장치, 신호 수신 장치, 이를 이용하는 송수신 시스템 및 송수신 방법
US11656958B2 (en) * 2021-04-29 2023-05-23 Mellanox Technologies, Ltd. Redundancy data bus inversion sharing
US11720516B2 (en) * 2021-08-15 2023-08-08 Apple Inc. Methods for data bus inversion
US11836107B2 (en) 2022-03-01 2023-12-05 Apple Inc. Power consumption control based on random bus inversion

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974464A (en) * 1995-10-06 1999-10-26 Silicon Image, Inc. System for high speed serial video signal transmission using DC-balanced coding
JP3346999B2 (ja) 1996-01-08 2002-11-18 株式会社東芝 入出力装置
US8112698B2 (en) * 2008-07-15 2012-02-07 Icomm Technologies Inc. High speed turbo codes decoder for 3G using pipelined SISO Log-MAP decoders architecture
DE10145722A1 (de) 2001-09-17 2003-04-24 Infineon Technologies Ag Konzept zur sicheren Datenkommunikation zwischen elektronischen Bausteinen
JP4034172B2 (ja) * 2002-11-20 2008-01-16 Necエレクトロニクス株式会社 エンコーダ、デコーダおよびデータ転送装置
GB2402026B (en) * 2003-05-20 2005-07-13 Micron Technology Inc System and method for balancing capactively coupled signal lines
JP4789430B2 (ja) * 2004-06-25 2011-10-12 パナソニック株式会社 音声符号化装置、音声復号化装置、およびこれらの方法
JP5219699B2 (ja) * 2007-08-30 2013-06-26 パナソニック株式会社 符号化装置及び復号装置
US7522073B1 (en) 2007-11-30 2009-04-21 Qimonda North America Corp. Self-adapted bus inversion
US20090172495A1 (en) * 2007-12-27 2009-07-02 Via Telecom, Inc. Methods and Apparatuses for Parallel Decoding and Data Processing of Turbo Codes
US7616133B2 (en) 2008-01-16 2009-11-10 Micron Technology, Inc. Data bus inversion apparatus, systems, and methods
EP2294770B1 (en) 2008-06-20 2013-08-07 Rambus, Inc. Frequency responsive bus coding
KR20100024255A (ko) 2008-08-25 2010-03-05 삼성전자주식회사 입출력 인터페이스 및 입출력 데이터 전송 방법
JP5657242B2 (ja) * 2009-12-09 2015-01-21 株式会社東芝 半導体装置及びメモリシステム
US8879654B2 (en) 2010-03-10 2014-11-04 Micron Technology, Inc. Communication interface with configurable encoding based on channel termination
JP2012034267A (ja) * 2010-08-02 2012-02-16 Nec Corp データ伝送システムにおける通信装置および通信方法
US8751906B2 (en) * 2011-06-13 2014-06-10 Marvell World Trade Ltd. Systems and methods for operating on a storage device using a life-cycle dependent coding scheme
US8706958B2 (en) * 2011-09-01 2014-04-22 Thomas Hein Data mask encoding in data bit inversion scheme
US8726139B2 (en) 2011-12-14 2014-05-13 Advanced Micro Devices, Inc. Unified data masking, data poisoning, and data bus inversion signaling
JP5952072B2 (ja) 2012-04-26 2016-07-13 ルネサスエレクトロニクス株式会社 符号化装置、復号化装置及び伝送システム
US8964879B2 (en) * 2012-07-18 2015-02-24 Rambus Inc. Crosstalk reduction coding schemes
US9189051B2 (en) * 2012-12-14 2015-11-17 International Business Machines Corporation Power reduction by minimizing bit transitions in the hamming distances of encoded communications
US9124300B2 (en) * 2013-02-28 2015-09-01 Sandisk Technologies Inc. Error correction coding in non-volatile memory

Also Published As

Publication number Publication date
US20150139355A1 (en) 2015-05-21
JP2017503377A (ja) 2017-01-26
CN105765866B (zh) 2019-04-16
CA2926832A1 (en) 2015-05-28
WO2015077066A1 (en) 2015-05-28
CN105765866A (zh) 2016-07-13
US9270417B2 (en) 2016-02-23
EP3072238A1 (en) 2016-09-28
EP3072238B1 (en) 2019-03-13

Similar Documents

Publication Publication Date Title
JP6126317B1 (ja) パーティション化されたデータバスのための符号化
KR20160089415A (ko) 순시 전류 및 신호 트랜지션들의 양자 모두를 제한하도록 데이터 반전을 용이하게 하기 위한 디바이스들 및 방법들
US9363071B2 (en) Circuit to recover a clock signal from multiple wire data signals that changes state every state cycle and is immune to data inter-lane skew as well as data state transition glitches
KR20110111108A (ko) 반도체 장치 및 이의 복호 방법
KR20110090972A (ko) 고속 직렬 링크를 이용하는 메모리 시스템의 코딩 시스템
CN108694918A (zh) 编码方法及装置、解码方法及装置及显示装置
KR20080112893A (ko) 신호 인코더 및 신호 디코더
US20160328285A1 (en) Error vector readout from a memory device
JP2015089132A (ja) 最大遷移ハミングコード
US8391402B2 (en) Process and device for encoding, and associated electronic system and storage medium
WO2017186040A1 (zh) 一种音频信号编码、解码方法及音频信号编码器、解码器
KR101370606B1 (ko) 스위칭 횟수 및 크로스톡 지연을 최소화한 버스 인코딩 장치
CN107039075A (zh) 非易失性存储装置
KR102684403B1 (ko) 논리 회로, 이를 포함하는 인코더, 및 이를 이용한 제어 신호 생성 방법
CN111817729B (zh) 一种译码终止方法及装置
TWI647700B (zh) 使用數據編碼以減少記憶體裝置之編程時間的方法和系統
CN109412610B (zh) 一种编码方法、译码方法、编码装置及译码装置
US8407572B2 (en) Viterbi decoder and writing and reading method
CN103746710A (zh) 一种译码器和译码方法
CN113438050A (zh) 一种编码方法、解码方法、编码装置和解码装置
US20170026657A1 (en) Method and apparatus for executing decoding command, method and apparatus for generating decoding command, and recording medium
WO2019062829A1 (zh) 一种信息交织方法、信息解交织方法及相关装置

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid