KR101874544B1 - 트랜지션이 최소화된 저속 데이터 전송 - Google Patents

트랜지션이 최소화된 저속 데이터 전송 Download PDF

Info

Publication number
KR101874544B1
KR101874544B1 KR1020167013955A KR20167013955A KR101874544B1 KR 101874544 B1 KR101874544 B1 KR 101874544B1 KR 1020167013955 A KR1020167013955 A KR 1020167013955A KR 20167013955 A KR20167013955 A KR 20167013955A KR 101874544 B1 KR101874544 B1 KR 101874544B1
Authority
KR
South Korea
Prior art keywords
data
low
bus
data bus
transmission
Prior art date
Application number
KR1020167013955A
Other languages
English (en)
Other versions
KR20160075740A (ko
Inventor
다니엘 그린스펀
Original Assignee
인텔 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코포레이션 filed Critical 인텔 코포레이션
Publication of KR20160075740A publication Critical patent/KR20160075740A/ko
Application granted granted Critical
Publication of KR101874544B1 publication Critical patent/KR101874544B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0038System on Chip

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

트랜지션이 최소화된 저속 데이터 전송의 방법이 여기서 설명된다. 실시예에서, 데이터 버스 상에서 전송될 한 세트의 데이터의 데이터 레이트가 결정된다. 로우 데이터 레이트에 응답하여 데이터 버스 상에서 원 핫 값이 인코딩된다. 데이터 버스의 이전 상태와 인코딩된 원 핫 값과의 XOR 연산이 수행된다. 부가적으로, XOR 연산의 결과 값이 데이터 버스 상에 구동된다.

Description

트랜지션이 최소화된 저속 데이터 전송{TRANSITION-MINIMIZED LOW SPEED DATA TRANSFER}
본 발명은 전반적으로 통신 시스템에 관한 것이다. 특히, 본 발명은 트랜지션이 최소화된 저속 데이터 전송에 관한 것이다.
전자 디바이스는 종종 전자 디바이스의 컴포넌트를 단일 실리콘 칩에 통합하는 칩이다. 몇몇의 경우에, 몇몇 실리콘 칩은 단일 패키지로 통합될 수 있다. 몇몇의 경우에, 패키지는 회로 기판을 통해 연결된다. WiFi 솔루션을 위한 무선 주파수(RF) 기능은 개별 모놀리딕 RF 부분을 인쇄 회로 기판(PCB)의 영역에 의해 접속되게 함으로써 실리콘의 부분 상에 통합될 수 있다. 고속 데이터 버스는 개별 RF 부분과 칩, 패키지 또는 기판의 다른 부분 간의 데이터 전송을 위해 사용될 수 있다.
도 1은 송신기에서의 인코딩 기법의 도면이다.
도 2a 및 도 2b는 수신기에서의 디코딩 기법의 도면이다.
도 3은 트랜지션이 최소화된 저속 데이터 전송을 가능하게 하기 위한 방법의 프로세스 흐름도이다.
도 4는 트랜지션이 최소화된 저속 데이터 전송의 수신을 가능하게 하기 위한 방법의 프로세스 흐름도이다.
도 5는 본 발명에 따른 시스템 온-칩(SOC) 설계의 실싱예이다.
설명 및 도면에 걸쳐 동일한 컴포넌트 및 특징을 지칭하는데 동일한 번호가 사용된다. 100 시리즈의 번호는 기본적으로 도 1에서 발견되는 특징을 지칭한다; 200 시리즈의 번호는 기본적으로 도 2에서 발견되는 특징을 지칭한다; 이하 마찬가지이다.
실리콘 집적이 더 크게 발생함에 따라, WiFi 솔루션의 디지털 소자들이 시스템-온-칩(SoC) 또는 플랫폼 컨트롤러 허브(PCH)에 통합될 수 있다. 전술한 바와 같이, 개별 모놀리딕 RF 부분이 수 인치의 PCB에 의해 접속될 수 있다. 몇몇의 경우에, 데이터의 버스티 성질(bursty nature)이 SERDES(serializer/deseriallzer) 스타일 접속에 적합하지 않을 수 있기 때문에, 병렬 데이터 버스가 데이터 전송을 위해 사용될 수 있다. 인터커넥트는 WiFi 데이터 레이트 및 안테나 다이버시티와 같은 파라미터에 의존하여 풀(full) 및 로우(low) 데이터 레이트 모두에서 종종 디지털화된 RF 샘플의 버스트를 전달할 수 있다. 풀 속도 데이터 전송을 위해 인터커텍트 인터페이스를 구동할 때 상당한 양의 전력이 소모된다. 인터커넥트 데이터 레이트가 인터커넥트 용량보다 상당히 더 낮은 상시 온-상시 접속(Always-On-Always-Connected) 시나리오에서, 인터페이스에 의해 사용되는 전력은 대기 배터리 수명에 심각한 영향을 미칠 수 있다. 즉, 데이터 레이트 자체가 저속일 때, 풀 속도 데이터 인터페이스를 이용하여 데이터를 전송하는 데에는 상당한 양의 에너지가 사용될 수 있다.
여기서 설명되는 실시예는 트랜지션이 최소화된 저속 데이터 전송을 가능하게 할 수 있다. 실시예에서, 데이터 버스 상에서 전송될 세트 데이터의 데이터 레이트가 결정된다. 낮은 데이터 레이트에 응답하여 데이터 버스 상에서 원 핫 값(one hot value)이 인코딩된다. 데이터 버스의 이전 상태와 원 핫 값에 대해 XOR 연산이 수행된다. 부가적으로, 인코딩된 데이터는 데이터 버스를 이용하여 전송된다.
이 방식에서, 더 적은 에너지를 이용하여 데이터 청크가 인터페이스 상에서 전송될 수 있게 하는 채널 인코딩 기법이 고안되었다. 이 기법은 백워드 호환이 가능하고(backwards-compatible), 임의의 표준 전송 기법과 공존할 수 있으며, 낮은 데이터 레이트가 사용될 때 자동으로 그리고 투명하게 선택될 수 있다. 일반적으로, "원-핫-XOR(one-hot-XOR)"의 인코딩 기법은 채널 용량면에서는 비효율적이지만, "원-핫-XOR"은 단일 채널 이진 비트 트랜지션으로 다중 데이터 비트 트랜지션을 전달하고 채널 클록을 필요없게 하므로 에너지가 40% 이상 효율적이다.
이 기술은 IOSF-SB(Intel on chip system fabric)과 같은 온-칩 인터페이스에 적용될 수 있다. 이것은 데이터 버스가 링크 클록을 전달하는 경우 및 독립적인 클록 트렁크가 제공되는 경우 모두에서 절약을 제공한다. 더욱이, 본 기술은 PCB 또는 패키지 상의 컴포넌트들 간의 다중-와이어 버스에 적용될 수 있다. 더욱이, 본 기술은 데이터 라인 상에서의 누설 손실이 충전/방전 에너지보다 상당히 더 낮은 버스 및 프로세스와 관련이 있다.
다음의 설명에서, 본 기술의 철저한 이해를 제공하기 위해 특정 타입의 프로세서 및 시스템 구성, 특정 하드웨어 구조, 특정 아키텍처 및 마이크로 아키텍처 세부사항, 특정 레지스터 구성, 특정 명령어 유형, 특정 시스템 컴포넌트, 특정 측정/높이, 특정 프로세서 파이프라인 스테이지 및 연산 등의 예와 가튼 다수의 특정 세부사항이 설명된다. 그러나, 이들 특정 세부사항이 본 기술을 실시하는데 반드시 채용될 필요는 없다는 것이 당업자에게는 자명할 것이다. 다른 예에서, 특정 및 대체 프로세서 아키텍처, 설명된 알고리즘을 위한 특정 로직 회로/코드, 특정 펌웨어 코드, 특정 인터커넥트 동작, 특정 로직 구성, 특정 제조 기술 및 재료, 특정 컴파일러 구현, 코드에서의 알고리즘의 특정 표현, 특정 전력 다운 및 게이팅 기술/로직 및 컴퓨터 시스템의 다른 특정 동작 세부사항과 같은 잘 알려진 컴포넌트 또는 방법은 본 기술을 불필요하게 모호하게 하는 것을 피하기 위해 상세하게 설명되지는 않았다.
다음의 실시예가 컴퓨팅 플랫폼 또는 마이크로프로세서에서와 같은 특정 집적 회로에서의 에너지 보존 및 에너지 효율을 참조하여 설명될 수 있지만, 다른 실시예는 다른 유형의 집적 회로 및 로직 디바이스에 적용가능하다. 여기서 설명되는 실시예의 유사한 기술 및 교시는 더 나은 에너지 효율 및 에너지 보존에서의 이익을 또한 취할 수 있는 다른 유형의 회로 또는 반도체 디바이스에 적용될 수 있다. 예를 들면, 개시된 실시예는 데스크탑 컴퓨터 시스템 또는 Ultrabooks™에 한정되는 것은 아니다. 개시된 실시예는 또한 핸드헬드 디바이스, 태블릿, 다른 얇은 노트북, 시스템 온 칩(SOC) 디바이스, 및 내장형 애플리케이션에서도 사용될 수 있다. 핸드헬드 디바이스의 예로는 셀룰러 폰, 인터넷 프로토콜 디바이스, 디지털 카메라, PDA(personal digital assistant), 및 핸드헬드 PC가 포함된다. 내장형 애플리케이션은 전형적으로 마이크로컨트롤러, 디지털 신호 프로세서(DSP), 시스템 온 칩, 네트워크 컴퓨터(NetPC), 셋톱 박스, 네트워크 허브, 광역 네트워크(WAN) 스위치, 또는 아래에서 교시되는 기능 및 동작을 수행할 수 있는 임의의 다른 시스템을 포함한다. 더욱이, 여기서 설명되는 장치, 방법, 및 시스템은 물리적 컴퓨팅 디바이스에 한정되는 것이 아니라, 에너지 보존 및 효율을 위한 소프트웨어 최적화에도 관련될 수 있다. 아래의 설명에서 용이하게 자명해지는 바와 같이, (하드웨어, 소프트웨어, 또는 그들의 조합에 관한 것이든) 여기서 설명되는 방법, 장치, 및 시스템의 실시예는 성능 고려사항과 균형을 맞춘 미래의 "녹색 기술"에 중요하다. 유사하게, 장치 및 방법은 전기 시그널링 기술에 한정되는 것이 아니라, 기계적, 전가기계적, 광학, 무선 주파수, 또는 다른 데이터 전송 메커니즘에도 적용될 수 있다. 이것은 또한 변경 당 저장되는 비트에 대해 더 큰 효율을 가능하게 하는 위상-변경 메모리와 같은 스토리지 메커니즘에도 적용될 수 있다.
컴퓨팅 시스템이 진보함에 따라, 그 내부의 컴포넌트들은 더 복잡해지고 있다. 결과적으로, 컴포넌트들 간을 연결하고 통신하기 위한 인터커넥트 아키텍처 또한 최적의 컴포넌트 동작에 대해 대역폭 요구사항을 만족시키기 위해 복잡도가 증가하고 있다. 더욱이, 상이한 시장 세그먼트는 시장의 요구사항을 맞추기 위해 인터커넥트 아키텍처의 상이한 양상을 요구한다. 예를 들면, 서버는 더 높은 성능을 요구하지만, 모바일 에코시스템은 때때로 전력 절약을 위해 전체적인 성능을 희생할 수 있다. 그렇지만, 대부분의 제조자들의 중요한 목적은 전력을 최대로 절약하면서 가장 높은 가능한 성능을 제공하는 것이다. 아래에서, 여기서 설명되는 본 기술의 양상으로부터 잠재적으로 이익을 향유할 수 있는 다수의 인터커넥트가 설명된다.
설명의 목적을 위해, 여기서 설명되는 예는 여덟 개의 데이터 신호, 하나의 데이터 유효 신호, 및 클록 신호를 갖는 소스 동기식 DDR 병렬 데이터 버스를 이용한다. 그러나, 본 기술은 임의의 폭을 갖는 고속 데이터 버스와 사용될 수 있다. 다음의 예에서 설명되는 바와 같이, D, DV는 버스 상에서의 데이터 및 데이터 유효 신호이고; TXD, TXDV는 송신기에 의해 송신될 데이터 및 데이터 유효 신호이며; X는 송신기 및 수신기에서 국부적으로 사용되는 임시 변수를 나타내고; CD는 수신기에서의 캡처된(비동기식으로 래치된) 데이터를 나타내며; LRXD, LRXDV는 낮은 데이터 레이트 검출 경로를 이용하여 수신기에 의해 캡처되는 데이터 및 데이터 유효 값을 나타내고; FRXD, FRXDV는 풀 레이트 검출 경로를 이용하여 수신기에 의해 캡처되는 데이터 및 데이터 유효 값을 나타낸다.
고속 데이터 버스에서, 코딩 기법은 데이터 버스가 보다 효율적으로 동작하도록 변경될 수 있다. 코딩 기법을 변경하기 위해 원 핫 기법과 XOR 연산이 사용될 수 있다. 원 핫 기법에서, 복수의 비트 중 단지 한 비트만이 제 시간에 스위칭된다. XOR 연산은 값을 전송하기 위해 복수의 비트 중 한 비트가 변경되게 한다. 예를 들면, 비트 5가 하이이고 다음에 턴오프되면, 이것은 "5"의 데이터 토큰이 전송되었다는 것을 나타낸다. 그러나, 비트 5가 하이이고 다음에 비트 2의 값이 변경되면, 이것은 "2"의 데이터 토큰이 전송되었다는 것을 나타낸다.
여기서 설명되는 코딩 기법은 몇 개의 이점을 갖는다. 이진 기법에서, 3개의 데이터 비트까지 변경될 수 있다. 각각의 비트를 변경하는 것은 에너지를 소모한다. 예를 들면, 2(이진수의 010)가 이진 기법(010)으로 전송되고 후속하여 5(이진수의 101)가 전송된다면, 모든 세 개의 신호 또는 와이어가 변경된다. 따라서, 값을 전송하기 위해 단일 신호가 변경되는 원 핫 XOR 코딩 기법에 비교할 때 각각의 신호를 변경하기 위해 세 배의 에너지 비용이 사용된다. 부가적으로, 각각의 비트가 이진 기법을 이용하여 동시에 변경되는지를 결정하는 것은 어렵다. 이것을 치유하기 위해, 클록 신호는 일반적으로 데이터가 언제 유효한지를 나타낼 필요가 있다. 원 핫 XOR 코딩 기법에서, 신호 변경은 값을 결정하는데 사용되고, 몇몇 비트의 트랜지션을 조정(coordinate)하기 위해 클록 신호는 요구되지 않는다. 따라서, 클록 신호에 대해 에너지가 절약된다.
코딩 기법의 부가 이점은 버스 데이터 비트를 하이로 구동하는데 요구되는 에너지에 관한 것이다. 저속에서, 송신은 단일 버스 데이터 비트 변경 레벨 이상을 포함하지 않고, 따라서, 어떤 순간이라도 단일 데이터 비트 변경 에너지 이상을 요구하지 않는다. 비교해 보면, 버스트에서 송신될 제1 피스의 데이터가 십진값 255(이진값 11111111)일 때는 언제나, 상기 예에 기초한 기존 및 풀 속도 기법은 모든 8개의 데이터 비트, DV 비트, 및 클록을 한 순간에 변경하는 것을 요구할 수 있다. 저속 데이터 레이트에서 고려하면, 코딩 기법은 정규 기법의 순간 에너지 요구의 십분의 일을 갖고, 결과적으로 잡음 및 전압 강하가 더 낮은 것에 기인하여 추가의 시스템 및 칩 전력 절약이 실현될 수 있다.
도 1은 송신기에 대한 인코딩 기법(100)의 예이다. 실시예에서, 송신기는 여덟개의 데이터 신호, 하나의 데이터 유효 신호, 및 클록 신호를 갖는 소스 동기식 DDR 병렬 데이터 버스에 접속된다. 특정 데이터 버스가 설명되고 있지만, 본 기술은 2 비트 이상의 임의의 폭을 임의의 데이터 버스와 사용될 수 있다. 블록 102에서, 데이터 버스 상의 모든 신호는 0으로 설정된다. 블록 104에서, 송신 데이터는 FIFO(first in, first out) 버퍼로부터 풀링된다(pulled). 블록 106에서, 데이터 레이트가 발견된다. 몇몇의 경우에, 데이터 레이트는 공지되어 있거나, 또는 데이터 레이트는 입력되는 데이터를 분석하여 데이터 레이트를 결정함으로써 발견될 수 있다. FIFO 버퍼 내의 데이터 양은 또한 필요한 데이터 레이트의 표시로서 사용될 수 있다.
블록 108에서, 데이터 레이트가 풀 데이터 레이트인지 또는 로우 데이터 레이트인지 결정된다. 몇몇의 경우에, 풀 레이트 데이터는 데이터 버스의 모든 아홉개의 신호를 사용하여 송신 데이터를 전송할 것이다. 로우 레이트 데이터는 데이터 버스의 전체 용량보다 적은 용량을 사용하여 데이터를 전송하고, 예를 들면, 데이터 버스 용량의 삼분의 일과 같이 데이터 버스의 일부를 이용하여 로우 데이터 레이트에서 전송될 수 있다. 저속 데이터 레이트와 풀 속도 레이트 간의 실제 비율은 사용되는 데이터 라인의 수의 함수이다. 데이터 레이트가 풀 레이트이면, 프로세스 플로우는 블록 110에서 계속된다. 데이터 레이트가 로우 레이트이면, 프로세스 플로우는 블록 112에서 계속된다.
블록 110에서, 데이터는 병렬 버스를 이용하여 전송된다. 데이터는 데이터 버스의 전체 폭을 이용하여 풀 속도로 전송된다. 블록 114에서, 데이터 유효 신호는 전송되는 데이터 값에 대응하는 데이터 값 신호와 함께 표명된다(asserted). 블록 116에서, 버스 클록이 토글된다(toggled). 버스 클록이 토글되어 블록 114에서 전체의 데이터 전송의 완료를 나타낸다. 프로세스 플로우는 후속 데이터 전송을 위해 블록 104로 되돌아 간다.
블록 112에서, 로우 레이트 데이터 전송은 전송을 위해 데이터의 제1 부분 또는 그룹을 원 핫 XOR 기법으로 인코딩함으로써 FIFO 데이터의 서브세트에 대해 시작된다. 특히, 데이터 유효 신호를 갖는 8-비트 병렬 데이터 버스에 대해, 제1 그룹은 원-핫 값 X로 인코딩하기 위해 두 개의 비트: D7 및 D6와 함께 그룹 데이터 유효 신호(DV)를 포함한다. 블록 118에서, 원 핫 값은 데이터 버스 상에서 구동되었던 이전 값과 XOR된다. 이것이 제1 데이터 전송이라면, 데이터 버스 상에서 구동된 이전 값은 0일 수 있다. 현재의 전송이 제1 데이터 전송이 아니라면, 데이터 버스의 이전 값은 임의의 값을 가질 수 있다. 특히, 데이터 유효 신호를 갖는 8-비트 병렬 데이터 버스에 대해, TXDV 및 버스 클록 신호가 로우 레이트 데이터 전송시에는 포함되지 않는다는 점에서 단지 데이터 버스의 서브세트만이 사용된다.
블록 120에서, 다음의 데이터 그룹이 원 핫 값 또는 원 핫 XOR로 인코딩된다. 특히, 전술한 데이터 유효 값을 갖는 이러한 8-비트 병렬 데이터 버스에 대해, 다음 그룹은 X에 대해 새로운 원-핫 값으로 인코딩하기 위해 세 개의 비트: D5, D4, 및 D3를 포함한다. 블록 122에서, 이러한 새로운 원 핫 값은 데이터 버스 상에서 구동되었던 이전 값과 XOR된다.
블록 124에서, 마지막 데이터 그룹이 원 핫 값으로 인코딩된다. 특히, 전술한 데이터 유효 신호를 갖는 이러한 8-비트 병렬 데이터 버스에 대해, 마지막 그룹은 X에 대해 제3 원-핫 값으로 인코딩하기 위해 세 개의 비트: D2, D1, 및 D0을 포함한다. 블록 126에서, 이러한 제3 원-핫 값은 데이터 버스 상에서 구동되었던 이전 값과 XOR된다. 원-핫 데이터 기법을 이용함으로써, 데이터 전송의 완료를 표시하는데 클록 신호가 요구되지 않는다. 단일 라인의 데이터가 전송되기 때문에, 원 핫 값이 데이터 버스 상의 이전 값과 XOR될 때 전송은 완료된다. 다음에, 프로세스 플로우는 부가의 데이터 전송을 위해 블록 104로 되돌아간다.
주어진 송신기 내부 클록에 대해, 풀 속도 레이트 동안, 이 예에서의 데이터 버스는, 다수의 변경이 발생하고 송신기 내부 클록 레이트에서 버스 클록이 토글링하면서 9 비트를 전송할 수 있다. 전술한 바와 같이 저속에서, 동일 레이트에서 단일 변경이 발생하고(버스 클록은 실제로 토글링하지 않는다), 3 비트의 데이터가 이러한 변경을 이용하여 전송된다. 결과적으로, 풀 속도 레이트에서 단일 송신기 내부 클록 싸이클을 이용하여 전송될 수 있는 9 비트의 데이터를 전송하는데 3 개의 송신기 내부 클록 싸이클이 이용된다. 따라서, 본 기술은 더 적은 에너지를 이용하여 설정된 데이터 양을 전송하지만, 그 데이터를 전송하는 더 긴 시간이 걸릴 수 있다.
도 2a 및 도 2b는 원 핫 XOR 기법을 이용하여 수신기에서의 디코딩 기법(200)의 예이다. 블록 202에서, 디코딩을 위한 두 개의 병렬 프로세스, 풀 레이트 디코딩 기법 및 하프 레이트 디코딩 기법이 실행된다. 블록 204에서, 풀 레이트 디코딩 기법은 버스 클록 토글 상에서 병렬 버스 데이터를 래칭함으로써 시작된다. 이 방식에서, 제1 버스 트랜잭션은 클록 신호의 토글까지 완료되지 않는다. 블록 206에서, 수신된 데이터는 수신 FIFO 버퍼로 전송된다. 다음에, 프로세스 플로우는 블록 204로 되돌아가 다음 데이터 세트를 대기한다.
하프 레이트 프로세스는 블록 208에서 시작되며, 이 블록에서 버스 상태가 캡처된다. 몇몇 구현예에서, 버스 상의 데이터는 수신기에서 비동기식으로 래치된다. 몇몇 구현예에서, 모든 데이터 신호의 단일 비트로의 XOR을 이용하여 버스 클록을 재생할 수 있다. 몇몇 구현예에서, 수신기는 데이터 버스 상에서의 변경을 캡처할 정도의 빠르기의 적절한 주파수에서의 내부 클록에서 동작할 수 있다. 블록 210에서, 수신기는 데이터 버스 상의 변경을 대기한다. 블록 212에서, 타이머가 시작되고, 수신기는 클록 버스 토글을 대기한다. 몇몇의 경우에, 수신기는 저속 또는 고속 데이터가 전송되고 있는지를 결정하기 위해 클록 버스 토글을 대기한다. 저속 모드에서, 버스 클록은 토글하지 않을 것이고, 따라서, 저속 모드는 데이터 버스가 어느 정도의 짧은 시간 후에 수반되는 버스 클록 토글없이 변경되는지가 검출된다.
블록 214에서, 버스 토글이 발생하는지 또는 타이머가 버스 클록 토글 주기의 75%보다 더 크게 도달했는지가 결정된다. 버스 토글이 처음 발생한다면, 풀-속도 데이터가 제공된다고 결정되고 저속 수신기는 버스 데이터의 이 부분에 관여하지 않는다. 프로세스 플로우는 블록 208로 되돌아가고 수신기는 버스로부터의 새로운 데이터를 위해 준비할 수 있다. 타이머가 버스 클록 주기의 75%보다 크면, 프로세스 플로우는 블록 216에서 계속된다.
블록 216에서, 비동기식으로 래칭된 데이터는 송신기에 의해 인코딩된 원-핫 값을 주기 위해 데이터 버스의 이전 값과 XOR된다. 블록 218에서, 원-핫 값은 로우 데이터 레이트 검출 경로를 이용하여 수신기에 의해 캡처된 데이터 및 데이터 유효 값으로 디코딩된다. 데이터 유효 신호를 갖는 8-비트 병렬 데이터 버스의 예에서, 제1 그룹은 수신기에서 캡처된 두 개의 데이터 비트와 함께 수신기에 의해 캡처된 그룹 데이터 유효 신호(LRXDV)를 포함한다: LRXD7 및 LRXD6은 원-핫 값 X로부터 디코딩된다. 블록 220에서, 현재의 버스 상태가 캡처되어 다음의 데이터 그룹을 디코딩할 때 사용될 수 있다. 블록 222에서, 수신기는 현재의 버스 상태와 이전에 캡처된 버스 상태를 비교함으로써 데이터 버스 상에서의 변경을 대기한다.
데이터 버스에서의 변경이 발생하면, 블록 224에서, 비동기식으로 래칭된 데이터는 데이터 버스의 이전 값과 XOR된다. 블록 226에서, XOR된 데이터로부터의 원-핫 값은 로우 데이터 레이트 검출 경로를 이용하여 수신기에 의해 캡처된 다음의 데이터 값의 그룹으로 디코딩된다. 데이터 유효 신호를 갖는 8-비트 병렬 데이터 버스의 예에서, 다음 그룹은 수신기에 의해 캡처된 세 개의 데이터 비트를 포함한다: LRXD5, LRXD4, 및 LRXD3은 새로운 원-핫 값 X로부터 디코딩된다. 블록 228에서, 현재의 버스 상태가 캡처되어 다음의 데이터 그룹을 디코딩할 때 사용될 수 있다. 블록 230에서, 수신기는 현재의 버스 상태를 이전에 캡처된 버스 상태와 비교함으로써 데이터 버스 상에서의 변경을 대기한다.
데이터 버스에서의 변경이 발생하면, 블록 232에서, 비동기식으로 래칭된 데이터는 데이터 버스의 이전 값과 XOR된다. 블록 234에서, XOR된 데이터로부터의 원-핫 값은 로우 데이터 레이트 검출 경로를 이용하여 수신기에 의해 캡처된 다음의 데이터 값의 그룹으로 디코딩된다. 데이터 유효 신호를 갖는 8-비트 병렬 데이터 버스의 예에서, 다음 그룹은 수신기에서 캡처된 세 개의 데이터 비트를 포함한다: LRXD2, LRXD1, 및 LRXD0는 제3 원-핫 값 X로부터 디코딩된다. 블록 226에서, 수신된 데이터의 전체 그룹이 수신 FIFO 버퍼로 전송된다. 특히, LRXDV, LRXD7, LRXD6, LRXD5, LRXD4, LRXD3, LRXD2, LRXD1, 및 LRXD0 각각이 버퍼로 전송된다. 프로세스 플로우는 다음에 블록 208로 되돌아가서 다음의 데이터 세트를 획득한다.
도 2a 및 도 2b의 수신기 예에서, 개별 경로는 입력되는 데이터를 디코딩한다. 로우 레이트 경로는 데이터 버스 D에서의 변경에 이어 클록 토글이 후속되지 않는 경우만을 식별할 것이다. 풀 레이트 경로는 변경(또는 심지어 변경이 없는 경우)에 클록 토글이 후속되는 경우를 식별하였다. 경로는 상호 배타적으로 동작하고, 각각은 데이터를 수신 FIFO 버퍼로 전송할 수 있다. 그들은 보다 최적의 구현예로 결합될 수 있다.
그러나, 몇몇의 이전 기술은 데이터 레이트에서의 감소에 대해 직접 관련하여 인터커넥트 전력의 선형 감소를 가져온다. 더욱이, 각각의 데이터 비트를 전송하는데 요구되는 에너지는 이전 기술로 감소되지 않는다. 여기서 설명된 본 기술은 데이터 레이트가 감소함에 따라 인터커넥트 전력에서의 선형보다 양호한 감소(better-than-linear drop)를 가능하게 한다. 예를 들면, 일 키로바이트의 데이터가 인터커넥트를 통해 저감된 레이트로 전송되는 경우, 송신에 요구되는 에너지는 풀 레이트에서 전송된 패킷에 요구되는 에너지의 단지 60%가 될 것이다. 비교해 보면, 클록 속도를 줄이거나 클록을 쓰로틀링(throttling)함으로써 인터커넥트 레이트를 스케일링 다운하는 등의 전형적인 기술은 킬로바이트의 데이터를 전송하는데 요구되는 에너지를 줄이지 못하고, 그 패킷에 대해 선택된 인터커넥트 데이터 레이트에 크게 의존한 채로 남아 있을 것이다.
몇몇의 경우에, 다른 대체예인 기존 솔루션은 더 낮은 데이터 레이트에서 바이어싱 또는 종료를 줄이는 것을 포함할 수 있다. 이들 솔루션은 데이터 레이트가 감소함에 따라 전력에서 선형보다 더 양호한 절감을 줄 수 있다. 그러나, 그러한 기술은 (입력 버퍼와 같은) 주변 버스 기능에 관련된 절약을 제공하고 버스 자체를 중전하는데 필요한 에너지를 절약하는데에는 범위가 한정된다. 그러한 기술은 제시된 기술의 바이트 그래뉼래리티(byte granularity) 근처의 어떤 것에서도 일반적으로 저속 데이터 레이트와 풀 속도 데이터 레이트 간의 스위치를 제공할 수 없다.
몇몇의 경우에, 더 낮은 데이터 레이트에서 스윙하는 전압이 감소될 수 있다. 그러나, IO 슬루 레이트가 더 높은 속도 동작에서는 종종 제한 인자이기 때문에 인터페이스 전압 스윙이 시간에 걸쳐 감소된 대부분의 경우 더 높은 버스 속도를 가능하게 하였다. 이들 경우는 USB 및 SD카드를 포함한다. 입력/출력(I/O) 슬루 레이트가 제한 인자임에 따라, 잡음과 유사한 영향이 여전히 일정하게 남아 있기 때문에 더 낮은 속도에서 스윙을 추가로 줄이고자 시도함으로써 얻어지는 이점이 제한되는 경향이 있다.
도 3은 트랜지션이 최소화된 저속 데이터 전송을 가능하게 하는 방법(300)의 프로세스 흐름도이다. 블록 302에서, 데이터 버스 상에서 전송되는 데이터 세트의 데이터 레이트가 결정된다. 블록 304에서, 로우 데이터 레이트에 응답하여 데이터 버스 상의 그 데이터로부터 원 핫 값이 인코딩된다. 블록 306에서, 데이터 버스의 이전 상태와 인코딩된 원 핫 값과의 XOR 연산이 수행된다. 부가적으로, 블록 308에서, 결과 값이 데이터 버스 상에 구동되어 새로운 상태를 전송한다. 몇몇의 경우에, 인코딩된 데이터와 함께 클록 신호가 전송되지 않는다. 즉, 데이터가 전송 완료를 나타내기 위한 클록의 토글 없이 전송된다.
도 4는 트랜지션이 최소화된 저속 데이터 수신을 가능하게 하는 방법(400)의 프로세스 흐름도이다. 블록 402에서, 데이터 버스의 상태가 캡처된다. 블록 404에서, 수신기는 데이터 버스의 상태에의 변경을 대기한다. 블록 406에서, 데이터 버스의 캡처된 이전 상태와 데이터 버스의 새로운 상태의 XOR 연산이 수행된다. 블록 408에서, XOR 연산으로부터의 원 핫 값이 데이터 비트로 디코딩된다. 몇몇의 경우에, 데이터 비트는 버퍼로 전송될 수 있다. 프로세스 플로우는 다음에 블록 402로 되돌아가 데이터 버스의 새로운 상태를 캡처하고 블록 404으로 진행하여 추가의 변경을 대기한다.
여덟 개의 데이터 신호 D[7:0], 하나의 데이터 유효 신호 DV, 및 클록 신호 CLK를 갖는 소스-동기식 DDR(double data rate) 병렬 데이터 버스를 고려하자. 일반적으로, 풀 속도 동작은 임의의 표준 DDR 병렬 버스와 동일하다. 전송될 데이터 유효 표시 및 데이터(TXDV 및 TXD[7:0])가 버스 신호 DV 및 D[7:0]로 구동되고, 버스 싸이클 시간의 몇 분의 일 이후에, 클록 신호 CLK가 토글(하이에서 로우로 또는 로우에서 하이로)될 것이다. 정상 동작에서는 전력 절약은 없다. (입력되는 TXDV 패턴에 의해 식별되거나 또는 다른 파라미터로부터 공지된) 로우 데이터 레이트에서, 수정된 버스 코딩 기법을 사용하여 전력 절약을 제공할 수 있다.
도시된 로우 데이터 레이트 전송의 예는 로우 데이터 레이트 전송 동안 클록 신호가 토글하지 못하게 한다. 그러나, 대부분의 절약은 수정된 데이터 인코딩을 이용함으로써 이루어진다. 몇몇의 실시예에서, 클록 신호는 수신된 데이터로부터 비동기식으로 추출될 수 있다.
상기 예에 계속하여, 송신은 세 개의 그룹으로 분해될 수 있고, 각각의 그룹은 아래의 세 개의 이진 비트를 포함한다:
Figure 112016050461265-pct00001
이 예에서, 그룹 1은 5의 값을 갖고, 그룹 2는 0의 값을 가질 것이며, 그룹 3은 3의 값을 갖는다. 각각의 그룹은 X[7:0]으로 원-핫 인코딩하도록 제출된다:
Figure 112016050461265-pct00002
상기에서, 각각의 그룹에 대한 값은 이진수, 원-핫 인코딩, 및 원-핫 인코딩의 16진수 표현으로 표시되어 있다. 데이터 버스는 표준 방식에 따라 0 내지 7로 번호가 매겨진 8개의 데이터 신호를 포함한다. 그룹 1에 대해, 0의 초기 버스 값, 데이터 신호 5(X=5)는 5의 값을 전송하기 위해 변경된다. 그룹 2에 대해, 데이터 신호 0(X=0)는 0의 값을 전송하기 위해 변경된다. 마지막으로, 그룹 3에 대해, 데이터 신호 3(X=3)은 3의 값을 전송하기 위해 변경된다.
원-핫 값 X는 이것을 버스(초기값 0) 상의 D[7:0]인 기존 값과 XOR함으로써 데이터 버스의 변경으로서 인코딩된다. DV 비트는 0으로 남아있고, 몇몇의 경우에, DV 신호는 몇몇의 다른 기능을 위해 사용된다. 아래의 예는 전송되는 두 세트의 8-비트 데이터 플러스 하나의 유효 비트를 도시한다:
Figure 112016050461265-pct00003
각각의 그룹 내의 데이터는 정확한 값보다는 오히려 변경으로서 인코딩된다. 초기에, 모든 와이어(wire)는 오프이다. 그룹 A에서, 와이어 5는 5의 전송을 나타내기 위해 하이이다. 다음에, 와이어 0은 0의 전송을 나타나기 위해 표명되는 한편, 와이어 5는 계속해서 표명된 상태로 있게 된다. 마지막으로, 와이어 3이 표명되는 한편, 와이어 5 및 0은 3의 전송을 나타내도록 여전히 온 상태로 남아 있는다.
그룹 B에서, 와이어 6은 6의 전송을 나타내도록 표명되는 한편, 와이어 5, 3 및 0은 여전히 온 상태로 있는다. 다음에, 와이어 3은 3의 전송을 나태내도록 표명해제되는 한편, 와이어 6, 5 및 0은 여전히 온 상태로 있는다. 마지막으로, 와이어 7이 표명되는 한편, 와이어 6, 5 및 0은 7의 전송을 나타내도록 온 상태로 남아 있는다.
따라서, 하나의 클록 주기 내에 정상적으로 전송된 동일한 양의 데이터를 전송하기 위해 3개의 규칙적인 클록 주기가 걸린다. 그러나, 이것은 관심사가 아니고, 송신기에 의한 송신을 위해 도착하는 데이터에 충분하였다는 것이 알려짐에 따라 로우 데이터 레이트 모드가 선택된다. 더 큰 데이터 레이트가 요구되었다면, 고속 데이터 레이트가 자동으로 선택되었을 것이다.
표준(풀-속도) 및 저속 데이터 레이트 기법의 전송 효율은 로우 레이트 전송의 이점을 설명할 수 있다. 표준 기법에서, 랜덤 데이터 스트림에 대해, 하나의 데이터 워드와 그 다음 것 사이에 평균적으로 비트의 반이 변경될 것이다. 데이터 유효 비트는 거의 변경하지 않는다고 가정하자. DDR 클록은 각각의 데이터 워드에 대해 변경할 것이다. 따라서, 표준 기법에서, 전송된 매 8개의 데이터 비트마다에 대해, (클록을 포함하여) 평균적으로, 변경하는 다섯개의 데이터 버스 신호가 존재할 것이다.
로우 데이터 레이트 기법에서, 각각이 그룹이 프로세싱되면서 변경하는, 정의에 의해 항상 그리고 단지 하나의 병렬 버스 비트 신호가 존재한다. 매 8-비트의 데이터(및 데이터 유효 비트)에 대하여 전송된 3개의 그룹이 존재하고, 따라서, 로우 데이터 레이트 기법에서, 전송된 매 8-비트의 데이터에 대해, 변경하는 세 개의 병렬 버스 신호가 존재할 것이다.
양 기법에 대해, 병렬 버스 신호가 값을 변경하는 매 초 시간마다, 변경은 로우에서 하이로(0에서 1로) 되어, 공급 레일로부터 에너지를 요구한다. 따라서, 우리는 이들이 로우에서 하이로의 변경인지 또는 하이에서 로우로의 변경인지에 대해 관심없이 상대적인 신호 변경 레이트들을 비교함으로써 상대 효율을 계산할 수 있다. 동일한 데이터에 대해, 로우 데이터 레이트 기법은 표준 기법의 트랜지션의 단지 60%만을 갖는다. 따라서, 로우 데이터 레이트 스킴은 표준 기법을 이용하여 동일한 데이터를 전송하는 것에 비해 이 데이터를 전송하기 위해 에너지의 단지 60%만을 요구한다.
전술한 바와 같이, 로우 데이터 레이트 기법의 이점은 버스 클록이 실행될 필요가 없다는 점이다. 표준 기법에 대해, 이것은 표준 기법이 실리콘 및 PCB 변수에 의해 야기되는 다양한 데이터 비트의 도달 시간에서의 스큐에 대해 보호되어야 함에 따라 치명적일 수 있다. 로우 데이터 레이트 기법은 XOR 기법을 갖는 원-핫을 이용하고, 여기서는 한 번에 단지 하나의 데이터 비트가 변경되고, 따라서, 그레이 코드 기술이 그러한 스큐에 영향을 받지 않는 것과 동일한 이유로 스큐 영향을 받지 않는다.
실시예에서, 약간 상이한 기법은 구현될 수 있으며, 풀 데이터 레이트 모드와 로우 데이터 레이트 모드 사이에 차별을 두기 위해 데이터 유효 신호가 사용된다. 이 기법에서, 풀 또는 로우 레이트의 표시는 데이터가 변경하는 제1 싸이클에서 DV 신호가 표명되는지 여부의 함수이다(로우 데이터 레이트의 원-핫 인코딩은 DV 신호가 원-핫 기법에 의해 변경되는 데이터 버스의 일부인 경우 전송될 데이터 유효 표시가 하이인 로우 데이터 레이트 인코딩에 대해 결코 표명되지 않도록 선택될 것이다). 유사하게, 로우 데이터 레이트 인코딩은 데이터 전송이 데이터 유효 표시 로우와 함께 전송되면 정지할 것으로 간주될 것이다. 그러한 기법은 공통 클록 버스의 경우 또는 SoC 내부에서와 같은, 풀 데이터 레이트 모드와 로우 데이터 레이트 모드 간에 차별을 두기 위해 버스 클록의 존재 또는 부존재를 사용하는 것이 바람직하지 않은 경우에 적절할 수 있다.
더욱이, 본 기술은 상이한 폭의 버스에 적용될 수 있다. 예를 들면, 11비트까지의 데이터 및 하나의 데이터 유효 신호가 하부 8 데이터 비트 상에서 3-내지-8 원-핫 인코딩의 네 싸이클마다 전달될 수 있다. 데이터 유효 신호가 없는 16비트의 데이터는 4-내지-8 원-핫 인코딩의 네 싸이클로 전달될 수 있다.
다음으로, 도 5를 참조하면, 본 발명에 따른 시스템 온-칩(SOC) 설계의 실시예가 도시되어 있다. 특정한 예시적인 예로서, SOC(500)는 사용자 장비(UE)에 포함된다. 일 실시예에서, UE는 통신을 위해 종단 사용자에 의해 사용될 임의의 디바이스, 가령, 핸드헬드 폰, 스마트폰, 태블릿, 울트라씬 노트북, 광대역 어댑터를 갖는 노트북, 또는 임의의 다른 유사한 통신 디바이스들을 지칭한다. 종종, UE는 본질적으로 GSM 네트워크 내 이동국(MS)에 잠재적으로 대응하는 기지국 또는 노드에 접속한다.
여기서, SOC(500)는 2개의 코어들(506 및 507)을 포함한다. 위에서 논의한 바와 유사하게, 코어(506 및507)는 명령어 세트 아키텍처, 예컨대, 인텔® 아키텍처 코어™ 기반 프로세서, Advanced Micro Devices, Inc. (AMD) 프로세서, MIPS 기반 프로세서, ARM 기반 프로세서 설계, 또는 이들의 소비자뿐만 아니라 이들의 특허권자 또는 사용자에 따를 수 있다. 코어(506 및 507)는 시스템(500)의 다른 부분과 통신하기 위해 버스 인터페이스 유닛(509) 및 L2 캐시(510)와 연관되는 캐시 제어(508)에 연결된다. 인터커넥트(510)는 위에서 논의한 IOSF, AMBA, 또는 다른 인터커넥트와 같은 온-칩 인터커넥트를 포함하고, 이 인터커넥트는 설명된 본 기술의 하나 이상의 양태를 구현한다.
인터커넥트(510)는 가입자 식별 모듈(SIM) 카드와 인터페이싱하기 위한 SIM(530), SOC(500)를 초기화하고 부팅하기 위해 코어(506 및 507)에 의한 실행을 위해 부팅 코드를 홀딩하기 위한 부팅 ROM(535), 외부 메모리(예를 들어, DRAM(560))와 인터페이싱하기 위한 SDRAM 컨트롤러(540), 비휘발성 메모리(예를 들어, 플래시(565))와 인터페이싱하기 위한 플래시 컨트롤러(545), 입력(예를 들어, 터치 인에이블링된 입력)을 수신하고 디스플레이하기 위해 주변장치, 비디오 코덱(520) 및 비디오 인터페이스(525)와 인터페이싱하는 주변 제어 Q(550)(예를 들어, 직렬 주변 인터페이스), 그래픽 관련 계산을 수행하는 GPU(515) 등과 같은 다른 컴포넌트에 통신 채널을 제공한다. 이들 인터페이스 중 임의의 인터페이스는 본원에서 설명된 기술의 양태를 포함할 수 있다. 특히, 인터커넥트(510), 주변장치로의 접속, 또는 주변장치 자체는 전술한 제안 기법으로부터 이익을 얻을 수 있다.
또한, 시스템은 블루투스 모듈(570), 3G 모뎀(575), GPS(580), 및 WiFi(585)와 같은 통신을 위한 주변장치를 예시한다. 상기 언급한 바와 같이, UE는 통신을 위한 무선장치(a radio)를 포함한다는 것에 유의하자. 결과적으로, 이들 주변 통신 모듈 모두가 요구되는 것은 아니다. 그러나, UE의 일부 형태에서는, 외부 통신을 위한 무선장치가 포함될 것이다.
예 1
트랜지션이 최소화된 저속 데이터 전송을 위한 방법이 여기서 설명된다. 이 방법은 데이터 버스 상에서 전송되는 세트 데이터의 데이터 레이트를 결정하고 로우 데이터 레이트에 응답하여 원 핫 값을 인코딩하는 것을 포함한다. 이 방법은 또한 데이터 버스의 이전 상태와 인코딩된 원 핫 값과의 XOR 연산을 수행하고, XOR 연산의 결과 값을 데이터 버스 상에 구동하는 것을 포함한다.
인코딩된 데이터와 함께 전송되는 클록 신호는 없다. 데이터 세트는 고속 데이터 버스 상에서 풀 레이트 데이터로 동일 데이터를 전송하는 것에 비해 더 적은 에너지를 이용하여 고속 데이터 버스 상에서 전송될 수 있다. 부가적으로, 저속 데이터 전송은 데이터 레이트에 기초하여 자동으로 선택될 수 있다. 트랜지션이 최소화된 저속 데이터 전송은 온-칩 인터페이스와 함께 사용될 수 있다. 더욱이, 데이터 버스는 임의의 폭의 고속 데이터 버스이다. 데이터 전송의 풀 데이터 레이트 모드와 로우 데이터 레이트 모드 간을 구별하기 위해 데이터 유효 신호가 사용될 수 있다.
예 2
트랜지션이 최소화된 저속 데이터 전송을 위한 방법이 여기서 설명된다. 이 방법은 데이터 버스의 상태를 캡처하고 데이터 버스의 상태와 데이터 버스의 현재 상태와의 XOR 연산을 수행하는 것을 포함한다. 이 방법은 또한 XOR 연산으로부터의 원 핫 값을 데이터의 비트로 디코딩하는 것을 포함한다.
데이터 버스 상에서 클록 신호는 수신되지 않는다. 데이터는 고속 데이터 버스 상에서 수신되고 고속 데이터 버스 상에서의 풀 레이트 데이터에 비해 더 작은 에너지를 사용한다. 부가적으로, 저속 데이터 전송은 데이터 버스의 상태를 캡처하는 것으로부터 시구간이 지난 이후 버스 상태에서의 변경에 자동으로 기초할 수 있다. 트랜지션이 최소화된 저속 데이터 전송은 또한 온칩 인터페이스와 사용될 수 있다. 더욱이, 디코딩된 데이터는 FIFO 버퍼에 위치될 수 있다. 풀 데이터 레이트 모드와 로우 데이터 모드 간을 구별하기 위해 데이터 유효 신호가 또한 사용될 수 있다.
예 3
트랜지션이 최소화된 저속 데이터 전송을 위한 시스템이 여기서 설명된다. 이 시스템은 송신기 및 고속 데이터 버스를 포함한다. 송신기는 데이터를 원-핫 값으로 인코딩하고 원 핫 값을 고속 데이터 버스의 상태와 XOR한다. 송신을 위한 후속 데이터는 클록 신호의 사용없이 고속 데이터 버스 상에서의 변경에 의해 검출된다.
원-핫 값은 하나의 하이 비트와 다른 모든 비트는 로우인 비트의 그룹을 나타낼 수 있다. XOR 연산은 논-리턴-투-제로(non-return-to-zero) 라인 코드일 수 있다. 로우 데이터 레이트 전송은 로우 데이터 레이트 전송 동안 클록 신호가 토글하지 못하게 할 수 있다. 데이터 유효 신호는 풀 데이터 레이트 모드와 로우 데이터 레이트 모드를 구별하기 위해 사용될 수 있다. 더욱이, 고속 데이터 버스는 임의의 폭일 수 있다. 트랜지션이 최소화된 저속 데이터 전송은 온칩 인터페이스와 사용될 수 있다. 더욱이, 전송이 최소화된 저속 및 풀 속도 데이터 전송 모두에 대해 동일한 데이터 버스가 사용될 수 있다. 전송이 최소화된 저속 데이터 전송을 위해 풀 속도 데이터 버스의 서브세트가 사용될 수 있다. 부가적으로, 버스 데이터 전송을 위한 수정된 코딩 기법을 사용함으로써 피크 버스 충전 에너지가 더 낮아진다.
본 발명은 한정된 개수의 실시예에 관하여 설명되었지만, 당업자는 다수의 수정예 및 그로부터의 변형예를 이해할 것이다. 첨부된 청구범위는 본 발명의 실제 사상 및 범위 내에 들어오는 모든 그러한 수정예 및 변형예를 포함하는 것으로 의도된다.
설계는 작성으로부터 시뮬레이션으로 그리고 제조로의 다양한 단계를 거칠 수 있다. 설계를 나타내는 데이터는 다수의 방식으로 설계를 나타낼 수 있다. 먼저, 시뮬레이션에서 유용하기 때문에, 하드웨어는 하드웨어 기술 언어 또는 다른 기능적 기술 언어를 사용하여 표현될 수 있다. 추가로, 로직 및/또는 트랜지스터 게이트를 갖는 회로 레벨 모델이 설계 프로세스의 일부 단계에서 생성될 수 있다. 또한, 일부 단계에서, 대부분의 설계는 하드웨어 모델에서의 다양한 디바이스의 물리적 배치를 나타내는 데이터의 레벨에 도달한다. 종래의 반도체 제조 기법이 사용되는 경우에, 하드웨어 모델을 나타내는 데이터는 집적 회로를 생성하기 위해 사용된 마스크에 대해 상이한 마스크 층 상의 다양한 특징의 존재 또는 부재를 특정하는 데이터일 수 있다. 설계의 임의의 표현에서, 데이터는 임의의 형태의 머신 판독가능 매체에 저장될 수 있다. 디스크와 같은 메모리 또는 자기 또는 광학 스토리지가 정보를 송신하기 위해 변조되거나 그렇지 않으면 생성된 광파 또는 전기파를 통해 송신된 정보를 저장하는 머신 판독가능 매체일 수 있다. 전기 신호의 카피, 버퍼링, 또는 재송신이 수행되는 한, 코드 또는 설계를 나타내거나 전달하는 전기 반송파가 송신될 때, 새로운 카피가 행해진다. 따라서, 통신 제공자 또는 네트워크 제공자는, 본 발명의 실시예들이 기법을 채용하는, 물품, 예컨대, 반송파로 인코딩된 정보를 유형의 머신 판독가능 매체상에 적어도 일시적으로 저장할 수 있다.
본원에 사용된 바와 같은 모듈은 하드웨어, 소프트웨어, 및/또는 펌웨어의 임의의 조합을 나타낸다. 일 예시로서, 모듈은 마이크로컨트롤러에 의해 실행되도록 구성된 코드를 저장하는 비-일시적 매체와 연관된 마이크로컨트롤러와 같은 하드웨어를 포함한다. 그러므로, 일 실시예에서, 모듈에 대한 언급은 비-일시적 매체 상에 유지될 코드를 인식 및/또는 실행하도록 특별하게 구성되는 하드웨어를 나타낸다. 또한, 다른 실시예에서, 모듈의 사용은 사전결정된 동작을 수행하는 마이크로컨트롤러에 의해 실행되도록 특별하게 구성된 코드를 포함하는 비-일시적 매체를 나타낸다. 그리고, 추론될 수 있는 바와 같이, 또 다른 실시예에서, (이 예시에서의) 모듈이라는 용어는 마이크로컨트롤러 및 비-일시적 매체의 조합을 나타낼 수 있다. 종종, 개별적으로 도시되는 모듈 경계는 공통적으로 달라지거나 잠재적으로 중복된다. 예를 들어, 제 1 및 제 2 모듈은 일부 독립적 하드웨어, 소프트웨어 또는 펌웨어를 잠재적으로 보유하면서, 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합을 공유할 수 있다. 일 실시예에서, 로직이라는 용어의 사용은 트랜지스터, 레지스터와 같은 하드웨어, 또는 프로그래밍 가능한 로직 디바이스와 같은 다른 하드웨어를 포함한다.
일 실시예에서, 어구 '하도록 구성된'의 사용은 지정되거나 결정된 작업을 수행하는 장치, 하드웨어, 로직, 또는 요소를 배열, 조립, 제조, 구매 제안, 수입 및/또는 설계하는 것을 나타낸다. 이 예시에서, 동작하고 있지 않은 장치 또는 이의 요소는 설계된 작업을 수행하도록 설계되거나, 연결되거나, 및/또는 인터커넥팅된 경우 상기 설계된 작업을 여전히 수행'하도록 구성된'다. 오로지 설명적인 예시로서, 로직 게이트는 동작 동안 0 또는 1을 제공할 수 있다. 그러나, 클록에 인에이블 신호를 제공'하도록 구성된' 로직 게이트는 1 또는 0을 제공할 수 있는 모든 잠재적인 로직 게이트를 포함하지는 않는다. 그 대신에, 로직 게이트는 동작 동안 1 또는 0 출력이 클럭을 인에이블하도록 하는 임의의 방식으로 연결된 것이다. 용어 '하도록 구성된'의 사용이 동작을 필요로 하는 것이 아니라, 장치, 하드웨어, 및/또는 요소의 잠재적인 상태에 초점을 맞춘다는 것을 다시 한번 주의하고, 잠재적인 상태에서, 장치, 하드웨어, 및/또는 요소는 이들이 동작하고 있을 때 특정 작업을 수행하도록 설계된다.
또한, 일 실시예에서, 어구 '하는(to)', 할 수 있는(capable of/to)' 및/또는 '하도록 동작 가능한(operable to)'의 사용은 명시된 방식으로 장치, 로직, 하드웨어, 및/또는 요소의 사용을 가능하게 하는 방식으로 설계된 임의의 장치, 로직, 하드웨어, 및/또는 요소를 나타낸다. 위에서와 같이, 일 실시예에서, '할 수 있는(capable to)' 또는 '하도록 동작 가능한(operable to)'의 사용은, 장치, 로직, 하드웨어, 및/또는 요소의 잠재적인 상태를 나타내며, 여기서 장치, 로직, 하드웨어, 및/또는 요소가 동작하고 있지 않지만 명시된 방식으로 장치의 사용을 가능하게 하는 방식으로 설계된 것임을 유의하자.
본원에 사용된 바와 같은 값은 수, 상태, 논리 상태, 또는 이진 논리 상태의 임의의 공지된 표현을 포함한다. 종종, 로직 레벨들, 로직 값들, 또는 논리 값들의 사용은 이진 로직 상태들을 간단하게 표현하는 1 및 0으로도 언급된다. 예를 들어, 1은 하이 로직 레벨을 나타내고, 0은 로우 로직 레벨을 나타낸다. 일 실시예에서, 트랜지스터 또는 플래시 셀과 같은 스토리지 셀은 단일 논리 값 또는 다중 논리 값들을 유지할 수 있다. 그러나, 컴퓨터 시스템들에서의 값들에 관한 다른 표현들이 사용되었다. 예를 들어, 십진수 10은 1010의 이진값 및 16진수 문자 A로 표현될 수 있다. 따라서, 값은 컴퓨터 시스템에서 유지될 수 있는 정보의 임의의 표현을 포함한다.
더욱이, 상태는 값 또는 값의 일부에 의해 표현될 수 있다. 일 예시로서, 논리 1과 같은 제 1 값은 디폴트 또는 초기 상태를 나타낼 수 있는 반면, 논리 0과 같은 제 2 값은 논-디폴트 상태(non-default state)를 나타낼 수 있다. 또한, 일 실시예에서, 용어들 리셋(reset) 및 설정(set)은 각각 디폴트 및 갱신 값 또는 상태를 나타낸다. 예를 들어, 디폴트 값은 잠재적으로 하이 논리 값, 즉, 리셋을 포함하는 반면, 갱신 값은 잠재적으로 로우 논리 값, 즉, 설정을 포함한다. 값의 임의의 조합이 임의의 수의 상태를 나타내는데 이용될 수 있다는 것을 유의하자.
상술된 방법, 하드웨어, 소프트웨어, 펌웨어, 또는 코드 세트의 실시예는 프로세싱 요소에 의해 실행 가능한 머신-액세스 가능하거나, 머신 판독 가능하거나, 컴퓨터 액세스 가능하거나, 컴퓨터 판독 가능한 매체 상에 저장된 명령어들 또는 코드를 통하여 구현될 수 있다. 비-일시적 머신-액세스 가능한/판독 가능한 매체는 컴퓨터 또는 전자 시스템과 같은 머신에 의해 판독 가능한 형태로 정보를 제공하는(즉, 저장 및/또는 송신하는) 임의의 메커니즘을 포함한다. 예를 들어, 비-일시적 머신-액세스 가능한 매체는 정적 램(SRAM) 또는 동적 램(DRAM)과 같은 RAM(random access memory; ROM(read only memory); 자기 또는 광 저장 매체; 플래시 메모리 디바이스; 전자 저장 디바이스; 광 저장 디바이스; 음향 저장 디바이스; 일시적 (전파) 신호(예를 들어, 반송파, 적외선 신호, 디지털 신호)로부터 수신된 정보를 유지하기 위한 다른 형태의 저장 디바이스; 등을 포함하며, 이들은 정보가 수신될 수 있는 비-일시적 매체들과 구별된다.
본 발명의 실시예를 수행하는 로직을 프로그래밍하는데 사용되는 명령어는 DRAM, 캐시, 플래시 메모리, 또는 다른 스토리지와 같은, 시스템 내의 메모리 내에 저장될 수 있다. 또한, 명령어는 네트워크를 통하여 또는 다른 컴퓨터 판독 가능한 매체를 경유하여 분배될 수 있다. 따라서, 머신-판독 가능한 매체는 플로피 디스켓, 광 디스크, CD(Compact Disc), CD-ROM (compact disc read only memory), 자기-광 디스크, ROM, RAM, 소거 가능하고 프로그래밍 가능한 ROM(EPROM), 전기적으로 소거 가능하고 프로그래밍 가능한 ROM(EEPROM), 자기 또는 광 카드, 플래시 메모리, 또는 전기, 광, 음향, 또는 다른 형태의 전파 신호(예를 들어, 반송파, 적외선 신호, 디지털 신호 등)을 통해 인터넷을 거쳐 정보를 전송하는데 사용되는 유형의 머신-판독 가능한 스토리지를 포함하지만, 이에 제한되지 않는, 머신(예를 들어, 컴퓨터)에 의해 판독 가능한 형태로 정보를 저장 또는 송신하기 위한 임의의 메커니즘을 포함할 수 있다. 따라서, 컴퓨터-판독 가능한 매체는 머신(예를 들어, 컴퓨터)에 의해 판독 가능한 형태로 전자 명령어 또는 정보를 저장 또는 송신하는데 적합한 임의의 타입의 유형의 머신-판독 가능한 매체를 포함한다.
본 명세서 전반에 걸쳐 "하나의 실시예" 또는 "일 실시예"에 대한 언급은 실시예와 관련하여 설명된 특정 특징, 구조, 또는 특성이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 본 명세서 전반에 걸쳐 다양한 장소들에서의 어구들 "하나의 실시예에서" 또는 "일 실시예에서"의 출현은 반드시 모두 동일한 실시예를 나타내는 것은 아니다. 또한, 특정 특징, 구조, 또는 특성은 하나 이상의 실시예에서 임의의 적절한 방식으로 조합될 수 있다.
상기의 명세서에서, 상세한 설명은 특정 예시적 실시예들을 참조하여 제공되었다. 그러나, 첨부된 청구범위에 개시된 바와 같은 본 발명의 넓은 사상 및 범주를 벗어나지 않으면서 다양한 수정 및 변경이 행해질 수 있다는 것이 분명할 것이다. 따라서, 명세서 및 도면은 제한적인 의미라기보다는 설명적인 의미로서 간주되어야 한다. 또한, 상기의 실시예 및 다른 예시적 언어의 사용은 반드시 동일한 실시예 또는 동일한 예시를 나타내는 것이 아니라, 잠재적으로 동일한 실시예 뿐만 아니라 상이하고 별개의 실시예를 나타낼 수 있다.
더욱이, 전술한 설명은 트랜지션을 최소화하기 위해 1-핫 XOR 코딩의 사용을 설명한다. 그러나, 2-핫 XOR 또는 압축 및 코딩 기술의 조합과 같은 다른 접근법을 사용하여 저속 대 고속 데이터 전송의 비율을 가변할 수 있다.

Claims (25)

  1. 트랜지션(transition)이 최소화된 저속 데이터 전송을 위한 시스템으로서,
    송신기와,
    고속 데이터 버스를 포함하되,
    상기 송신기는 데이터를 원-핫 값(one-hot value)으로 인코딩하고 상기 원-핫 값과 상기 고속 데이터 버스의 상태와의 XOR 연산을 수행하며,
    송신을 위한 후속 데이터는 클록 신호의 사용 없이 상기 고속 데이터 버스의 상태의 변경에 의해 검출되는
    시스템.
  2. 제1항에 있어서,
    상기 원-핫 값은 하나의 하이 비트와 다른 모든 비트는 로우인 비트들의 그룹을 나타내는
    시스템.
  3. 제1항에 있어서,
    상기 XOR 연산은 논-리턴-투-제로(non-return-to-zero) 라인 코드인
    시스템.
  4. 제1항에 있어서,
    로우 데이터 레이트 송신은 로우 데이터 레이트 송신 동안 클록 신호가 토글하는 것이 회피되는
    시스템.
  5. 제1항에 있어서,
    데이터 유효 신호(data valid signal)가 풀 데이터 레이트 모드와 로우 데이터 레이트 모드를 구별하기 위해 사용되는
    시스템.
  6. 제1항에 있어서,
    상기 고속 데이터 버스는 임의의 폭을 가진
    시스템.
  7. 제1항에 있어서,
    상기 트랜지션이 최소화된 저속 데이터 전송은 온칩 인터페이스와 함께 사용되는
    시스템.
  8. 제1항에 있어서,
    상기 고속 데이터 버스는 송신이 최소화된 저속 및 풀 속도 데이터 전송 모두에 대해 사용되는
    시스템.
  9. 제1항에 있어서,
    송신이 최소화된 저속 데이터 전송을 위해 풀 속도 데이터 버스의 서브세트가 사용되는
    시스템.
  10. 제1항에 있어서,
    버스 데이터 전송을 위한 수정된 코딩 기법을 사용함으로써 피크 버스 충전 에너지를 더 낮게 하는
    시스템.
  11. 트랜지션이 최소화된 저속 데이터 전송을 위한 방법으로서,
    데이터 버스 상에서 송신되는 데이터 세트의 데이터 레이트를 결정하는 단계와,
    로우 데이터 레이트에 응답하여 원 핫 값을 인코딩하는 단계와,
    상기 데이터 버스의 이전 상태와 상기 인코딩된 원 핫 값과의 XOR 연산을 수행하는 단계와,
    상기 XOR 연산의 결과 값을 상기 데이터 버스 상에 구동하는 단계를 포함하는
    방법.
  12. 제11항에 있어서,
    클록 신호는 상기 인코딩된 데이터와 함께 송신되지 않는
    방법.
  13. 제11항에 있어서,
    상기 데이터 세트는 고속 데이터 버스 상에서 풀 레이트 데이터로 동일 데이터를 전송하는 것에 비해 더 적은 에너지를 이용하여 고속 데이터 버스 상에서 송신되는
    방법.
  14. 제11항에 있어서,
    상기 저속 데이터 전송은 상기 데이터 레이트에 기초하여 자동으로 선택되는
    방법.
  15. 제11항에 있어서,
    상기 트랜지션이 최소화된 저속 데이터 전송은 온-칩 인터페이스와 함께 사용되는
    방법.
  16. 제11항에 있어서,
    상기 데이터 버스는 임의의 폭의 고속 데이터 버스인
    방법.
  17. 제11항에 있어서,
    데이터 전송의 풀 데이터 레이트 모드와 로우 데이터 레이트 모드를 구별하기 위해 데이터 유효 신호가 사용되는
    방법.
  18. 제11항에 있어서,
    상기 트랜지션이 최소화된 저속 데이터 전송은 표준 송신 기법과 비교할 때 데이터가 더 적은 에너지를 사용하여 송신되게 할 수 있는
    방법.
  19. 트랜지션이 최소화된 저속 데이터 전송을 위한 방법으로서,
    데이터 버스의 상태를 캡처하는 단계와,
    상기 데이터 버스의 캡처된 상태와 상기 데이터 버스의 현재 상태와의 XOR 연산을 수행하는 단계와,
    상기 XOR 연산으로부터의 원 핫 값을 데이터의 비트로 디코딩하는 단계를 포함하는
    방법.
  20. 제19항에 있어서,
    클록 신호는 상기 데이터 버스 상에서 수신되지 않는
    방법.
  21. 제19항에 있어서,
    상기 데이터는 고속 데이터 버스 상에서 수신되고 상기 고속 데이터 버스 상에서의 풀 레이트 데이터에 비해 더 작은 에너지를 사용하는
    방법.
  22. 제19항에 있어서,
    상기 저속 데이터 전송은 상기 데이터 버스의 상태를 캡처하는 것으로부터 시간 주기가 경과한 후 상기 데이터 버스의 상태의 변경에 자동으로 기초하는
    방법.
  23. 제19항에 있어서,
    상기 트랜지션이 최소화된 저속 데이터 전송은 온칩 인터페이스와 함께 사용되는
    방법.
  24. 코드를 포함하는 유형의 머신 판독가능 매체로서,
    상기 코드는 실행될 때 프로세서로 하여금,
    데이터 버스 상에서 송신되는 데이터 세트의 데이터 레이트를 결정하고,
    로우 데이터 레이트에 응답하여 원 핫 값을 인코딩하며,
    상기 데이터 버스의 이전 상태와 상기 인코딩된 원 핫 값과의 XOR 연산을 수행하고,
    상기 XOR 연산의 결과 값을 상기 데이터 버스 상에 구동하게 하는
    머신 판독가능 매체.
  25. 제24항에 있어서,
    클록 신호는 상기 인코딩된 데이터와 함께 송신되지 않는
    머신 판독가능 매체.
KR1020167013955A 2013-12-26 2013-12-26 트랜지션이 최소화된 저속 데이터 전송 KR101874544B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/077872 WO2015099743A1 (en) 2013-12-26 2013-12-26 Transition-minimized low speed data transfer

Publications (2)

Publication Number Publication Date
KR20160075740A KR20160075740A (ko) 2016-06-29
KR101874544B1 true KR101874544B1 (ko) 2018-07-04

Family

ID=53479407

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167013955A KR101874544B1 (ko) 2013-12-26 2013-12-26 트랜지션이 최소화된 저속 데이터 전송

Country Status (6)

Country Link
US (1) US10437769B2 (ko)
EP (1) EP3087496B1 (ko)
JP (1) JP6227792B2 (ko)
KR (1) KR101874544B1 (ko)
CN (1) CN105793834B (ko)
WO (1) WO2015099743A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU182316U1 (ru) * 2018-06-14 2018-08-14 Российская Федерация, от имени которой выступает ФОНД ПЕРСПЕКТИВНЫХ ИССЛЕДОВАНИЙ Проблемно-ориентированное вычислительное устройство
US11146433B2 (en) 2020-03-11 2021-10-12 Nxp B.V. High data rate transmission using minimum energy coding with ultra wide band modulation
JP2022049580A (ja) 2020-09-16 2022-03-29 キオクシア株式会社 半導体記憶装置及び半導体記憶装置の駆動方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100574767B1 (ko) * 2004-07-08 2006-04-27 광주과학기술원 차분값 데이터 인코딩 기반의 데이터 전송 회로 및 방법
US20120229310A1 (en) * 2011-03-11 2012-09-13 Taiwan Semiconductor Manufacturing Company, Ltd. Using Bus Inversion to Reduce Simultaneous Signal Switching

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5511212A (en) * 1993-06-10 1996-04-23 Rockoff; Todd E. Multi-clock SIMD computer and instruction-cache-enhancement thereof
US5928346A (en) 1996-09-11 1999-07-27 Hewlett-Packard Company Method for enhanced peripheral component interconnect bus split data transfer
JP3076309B2 (ja) * 1998-09-17 2000-08-14 日本電気アイシーマイコンシステム株式会社 半導体記憶装置
US6393074B1 (en) * 1998-12-31 2002-05-21 Texas Instruments Incorporated Decoding system for variable-rate convolutionally-coded data sequence
JP2000231540A (ja) 1999-02-10 2000-08-22 Canon Inc 通信制御装置および通信制御方法及び記憶媒体
US6584535B1 (en) * 2000-01-31 2003-06-24 Cisco Technology, Inc. Configurable serial interconnection
TW533357B (en) * 2001-12-14 2003-05-21 Via Tech Inc Method of hot switching the data transmission rate of bus
RU2213609C1 (ru) * 2002-11-15 2003-10-10 Савинов Михаил Юрьевич Способ разделения криптоно-ксенонового концентрата и устройство для его осуществления
US7552192B2 (en) * 2002-12-18 2009-06-23 Ronnie Gerome Carmichael Massively parallel computer network-utilizing MPACT and multipoint parallel server (MPAS) technologies
JP2005020056A (ja) * 2003-06-23 2005-01-20 Matsushita Electric Ind Co Ltd データ符号化装置及びデータ符号化制御方法
US7397792B1 (en) * 2003-10-09 2008-07-08 Nortel Networks Limited Virtual burst-switching networks
JP4275504B2 (ja) 2003-10-14 2009-06-10 株式会社日立製作所 データ転送方法
JP4799580B2 (ja) * 2008-03-31 2011-10-26 株式会社東芝 半導体集積回路
EP2294770B1 (en) * 2008-06-20 2013-08-07 Rambus, Inc. Frequency responsive bus coding
US8205111B2 (en) * 2009-01-02 2012-06-19 Intel Corporation Communicating via an in-die interconnect
JP2011244297A (ja) * 2010-05-20 2011-12-01 Panasonic Corp Ccd電荷転送用駆動装置
JP5908260B2 (ja) * 2011-11-18 2016-04-26 ハンファテクウィン株式会社Hanwha Techwin Co.,Ltd. 画像処理装置及び画像処理方法
US8788756B2 (en) 2011-11-28 2014-07-22 Xilinx, Inc. Circuit for and method of enabling the transfer of data by an integrated circuit
US8995912B2 (en) * 2012-12-03 2015-03-31 Broadcom Corporation Transmission line for an integrated circuit package
EP3087676A4 (en) * 2013-12-28 2018-01-24 Intel Corporation Dynamic interconnect with partitioning on emulation and protyping platforms

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100574767B1 (ko) * 2004-07-08 2006-04-27 광주과학기술원 차분값 데이터 인코딩 기반의 데이터 전송 회로 및 방법
US20120229310A1 (en) * 2011-03-11 2012-09-13 Taiwan Semiconductor Manufacturing Company, Ltd. Using Bus Inversion to Reduce Simultaneous Signal Switching

Also Published As

Publication number Publication date
JP2017503269A (ja) 2017-01-26
WO2015099743A1 (en) 2015-07-02
EP3087496A1 (en) 2016-11-02
JP6227792B2 (ja) 2017-11-08
US10437769B2 (en) 2019-10-08
CN105793834A (zh) 2016-07-20
CN105793834B (zh) 2019-07-09
EP3087496A4 (en) 2017-09-06
EP3087496B1 (en) 2019-02-27
KR20160075740A (ko) 2016-06-29
US20160299869A1 (en) 2016-10-13

Similar Documents

Publication Publication Date Title
JP6243469B2 (ja) 低電力物理ユニットのロード/ストア通信プロトコルへの提供
US8166221B2 (en) Low-power USB superspeed device with 8-bit payload and 9-bit frame NRZI encoding for replacing 8/10-bit encoding
US7877528B2 (en) System method for I/O pads in mobile multimedia processor (MMP) that has bypass mode wherein data is passed through without being processed by MMP
US9929972B2 (en) System and method of sending data via a plurality of data lines on a bus
US20110016267A1 (en) Low-Power USB Flash Card Reader Using Bulk-Pipe Streaming with UAS Command Re-Ordering and Channel Separation
US11513584B2 (en) Method and apparatus to save power in USB repeaters/re-timers
KR20140025556A (ko) 플랫폼에서 유휴 링크 전력을 감소시키는 방법 및 장치
US7640379B2 (en) System method for I/O pads in mobile multimedia processor (MMP) that has bypass mode wherein data is passed through without being processed by MMP
TWI556094B (zh) 用以控制鏈結介面之未使用硬體的電力消耗之方法、設備及系統
US9268731B2 (en) Controlling devices via advance notice signaling
KR101874544B1 (ko) 트랜지션이 최소화된 저속 데이터 전송
EP2207101A1 (en) Method and device for parallel interfacing
US9496010B2 (en) Semiconductor device and memory system including the same
US20140082269A1 (en) EMBEDDED MULTIMEDIA CARD (eMMC), HOST CONTROLLING SAME, AND METHOD OF OPERATING eMMC SYSTEM
US11036409B2 (en) Non-volatile memory using a reduced number of interconnect terminals
US9367495B1 (en) High speed integrated circuit interface
US9270555B2 (en) Power mangement techniques for an input/output (I/O) subsystem
WO2019190533A1 (en) Techniques for serial communication
KR20230138037A (ko) 플래시 메모리 칩을 최적화하기 위한 방법 및 관련된 장치

Legal Events

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