KR20210063011A - 저전력 투-버스트 데이터 전송을 위한 or-네트워크 버스 인코딩 장치 및 방법 - Google Patents

저전력 투-버스트 데이터 전송을 위한 or-네트워크 버스 인코딩 장치 및 방법 Download PDF

Info

Publication number
KR20210063011A
KR20210063011A KR1020190151391A KR20190151391A KR20210063011A KR 20210063011 A KR20210063011 A KR 20210063011A KR 1020190151391 A KR1020190151391 A KR 1020190151391A KR 20190151391 A KR20190151391 A KR 20190151391A KR 20210063011 A KR20210063011 A KR 20210063011A
Authority
KR
South Korea
Prior art keywords
bus
data
value
encoding
hamming distance
Prior art date
Application number
KR1020190151391A
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 홍익대학교 산학협력단
Priority to KR1020190151391A priority Critical patent/KR20210063011A/ko
Publication of KR20210063011A publication Critical patent/KR20210063011A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • G06F13/287Multiplexed DMA
    • 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/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • 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/0022Multibus
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dc Digital Transmission (AREA)

Abstract

저전력 투-버스트 데이터 전송을 위한 OR-네트워크 버스 인코딩 장치 및 방법이 제공된다. 복수의 모듈이 OR 게이트로 연결된 OR 네트워크 버스 데이터에 있어서 투-버스트 데이터가 전송되는 경우 SDBI(Smart Data Bus Invert) 인코딩을 통해 파킹된 상태를 고려하여 해밍 거리의 합이 최소값이 되는 인코딩 방법을 선택하고, 이에 따라 인코딩하여 에너지 소모를 감소시켜 전송 에너지가 개선될 수 있도록 한다.

Description

저전력 투-버스트 데이터 전송을 위한 OR-네트워크 버스 인코딩 장치 및 방법 {OR-network Bus Encoding Apparatus and Method for Low-Pover Two-Burst Data Transfer}
본 발명은 전자 통신에 있어서 저전력 투-버스트 데이터 전송을 위한 OR-네트워크 버스 인코딩 장치 및 방법에 관한 것으로서, 더욱 상세하게는 투-버스트 데이터가 전송되는 경우 OR-네트워크 버스 인코딩 방법에 있어 해밍 거리를 고려한 인코딩을 수행함으로써 기존의 데이터 전송 방법에 비하여 전송 에너지가 개선될 수 있는 장치 및 방법에 관한 것이다.
일반적으로 데이터 전송은, 데이터 버스에 구동되는 데이터 신호들, 일명 데이터 비트의 형태로 이루어진다. 데이터 비트는 데이터 상태나 데이터 천이 주파수에 따라 전력소모 등에 민감할 수 있다.
이에 따라 잡음 발생을 최소화하고 에러 확률을 감소시키는 등 신호 및 전력의 무결성(power integrity)을 증가시키고 전력 소비를 감소시키기 위하여 데이터 전송에서 데이터 버스 인버전(Data Bus Invert: DBI) 인코딩이 활용될 수 있다.
DBI는 데이터 버스로 전송되는 데이터 비트들 사이의 관계를 먼저 평가하고(assess), 전송에 앞서 데이터 비트들을 일부 또는 전부 반전시키는 것이 유리한지 여부를 판단한다(decide). 이에 따라 데이터가 반전되는 경우에는 데이터가 반전되었음을 나타내는 반전 플래그(flag)가 부가될 수 있다. 이러한 반전 플래그는 DBI 신호(비트)라고도 사용된다.
데이터 버스 상의 데이터 비트는 데이터 버스 상의 연속적인 전송 사이에서 비트 천이의 개수를 감소시키는 방향으로 적절하게 반전되며, 이에 따라 잡음 및 에러 확률을 감소시킨다. 또한 상이한 DBI 인코딩 알고리즘을 적절히 혼합하거나 변형하는 등의 방법으로 개선하면 전력 소모를 더욱 감축할 수 있어 에너지 소모가 개선될 수 있다.
등록특허공보 제10-1887126호
전술한 문제점을 해결하기 위하여 본 발명이 이루고자 하는 기술적 과제는, 데이터 버스 반전(DBI) 인코딩 알고리즘을 적절히 활용하여 두번의 데이터가 연달아 전송되는 투-버스트(two-burst) 데이터 전송에 있어서 전력 소모를 감소시킬 수 있는 방법을 제시함으로써 데이터 전송 에너지를 향상시키는 데 있다.
본 발명의 해결과제는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 기술적 과제를 해결하기 위한 수단으로서, 본 발명의 실시예에 따르면, OR-네트워크 버스 인코딩 장치는, 데이터 버스와 연결되어, 각각 n(n>1, n은 자연수)개의 데이터 비트를 가진 제1의 복수의 펄스들을 포함하는 제1 버스트 및 제2의 복수의 펄스들을 포함하는 제2 버스트가 포함된 입력 데이터를 수신하는 수신부; 상기 수신부와 연결되어 상기 데이터 버스 상의 다음 데이터 값이 유효값으로부터 파킹된 상태(a parked state)로 전이되는지 여부를 결정하는 제어로직부; 상기 데이터 버스 상의 상기 다음 데이터 값이 상기 유효값으로부터 상기 파킹된 상태로 전이되는지 여부의 결정에 기초하여 상기 입력 데이터를 인코딩하는 인코딩로직부;를 포함한다.
상기 인코딩로직부는, 이전의 버스 값과 제1 버스트, 제2 버스트 및 이후의 데이터 값 사이의 해밍 거리(a hamming distance)의 비교를 통하여 입력 데이터를 인코딩한다.
상기 인코딩로직부는, 상기 입력 데이터 중에서 상기 제1 버스트와 제1 반전 플래그 비트를 포함하는 제1 데이터 집합을 출력하고, 상기 제2 버스트와 제2 반전 플래그 비트를 포함하는 제2 데이터 집합을 출력하는 플래그 처리부; 상기 제1 데이터 집합 및 제2 데이터 집합을 포함하는 버스값의 반전 여부에 기초하여 해밍 거리(a hamming distance)에 따라 인코딩 방법을 선택하는 방법 선택부; 및 선택된 상기 인코딩 방법에 따라 데이터를 인코딩하는 DBI(data Bus Invert) 인코딩부;를 포함한다.
상기 방법 선택부는, 이전 버스 값과 제1 유효 값의 해밍 거리를 나타내는 제1 해밍 거리; 제1 유효 값과 제2 유효 값의 해밍 거리를 나타내는 제2 해밍 거리; 및 제2 유효 값과 다음 버스 값의 해밍 거리를 나타내는 제3 해밍 거리;의 합이 최소값에 해당하는 인코딩 방법을 선택하는 것을 특징으로 하되, 상기 제1 유효 값은 제1 데이터 집합의 버스값 이거나 제1 데이터 집합의 버스값을 모두 반전(inversion)한 값이고, 상기 제2 유효 값은 제2 데이터 집합의 버스값 이거나 제2 데이터 집합의 버스값을 모두 반전(inversion)한 값인 것이다.
상기 입력 데이터는, 복수의 모듈로부터 발생한다.
상기 복수의 모듈은, 복수의 버스를 포함한다.
상기 복수의 모듈은, OR 트리 구성(an OR tree configuration)으로 결합된다.
하나 이상의 프로세서 코어를 갖는 프로세서; 및 상기 프로세서와 전자 통신하는 메모리;를 더 포함한다.
한편, 본 발명의 다른 실시예에 따르면, OR-네트워크 버스 인코딩 방법은, 데이터 버스와 연결되어 있는 수신부는, 각각 n(n>1, n은 자연수)개의 데이터 비트를 가진 제1의 복수의 펄스들을 포함하는 제1 버스트 및 제2의 복수의 펄스들을 포함하는 제2 버스트가 포함된 입력 데이터를 수신하는 단계; 상기 수신부와 연결되어 있는 제어로직부는, 상기 데이터 버스 상의 다음 데이터 값이 유효값으로부터 파킹된 상태(a parked state)로 전이되는지 여부를 결정하는 단계; 및 인코딩로직부는, 상기 데이터 버스 상의 상기 다음 데이터 값이 상기 유효값으로부터 상기 파킹된 상태로 전이되는지 여부의 결정에 기초하여 상기 입력 데이터를 인코딩하는 단계;를 포함한다.
상기 인코딩하는 단계는, 이전의 버스 값과 제1 버스트, 제2 버스트 및 이후의 데이터 값 사이의 해밍 거리(a hamming distance)의 비교를 통하여 입력 데이터를 인코딩한다.
상기 인코딩하는 단계는, 상기 입력 데이터 중에서 상기 제1 버스트와 제1 반전 플래그 비트를 포함하는 제1 데이터 집합을 출력하고, 상기 제2 버스트와 제2 반전 플래그 비트를 포함하는 제2 데이터 집합을 출력하는 플래그 처리 단계; 상기 제1 데이터 집합 및 제2 데이터 집합을 포함하는 버스값의 반전 여부에 기초하여 해밍 거리(a hamming distance)에 따라 인코딩 방법을 선택하는 단계; 및 선택된 상기 인코딩 방법에 따라 데이터를 인코딩하는 DBI 단계;를 포함한다.
상기 방법을 선택하는 단계는, 이전 버스 값과 제1 유효 값의 해밍 거리를 나타내는 제1 해밍 거리; 제1 유효 값과 제2 유효 값의 해밍 거리를 나타내는 제2 해밍 거리; 및 제2 유효 값과 다음 버스 값의 해밍 거리를 나타내는 제3 해밍 거리;를 도출하고 상기 제1 해밍 거리, 제2 해밍 거리 및 제3 해밍 거리의 합이 최소값에 해당하는 인코딩 방법을 선택하는 것을 특징으로 하되, 상기 제1 유효 값은, 제1 데이터 집합의 버스값 이거나 제1 데이터 집합의 버스값을 모두 반전(inversion)한 값이고, 상기 제2 유효 값은, 제2 데이터 집합의 버스값 이거나 제2 데이터 집합의 버스값을 모두 반전(inversion)한 값인 것이다.
상기 입력 데이터는, 복수의 모듈로부터 발생한다.
상기 복수의 모듈은, 복수의 버스를 포함한다.
상기 복수의 모듈은, OR 트리 구성(an OR tree configuration)으로 결합된다.
본 발명에 따르면,
데이터 버스 반전(DBI) 인코딩 알고리즘을 적절히 활용하여 두번의 데이터가 연달아 전송되는 투-버스트(two-burst) 데이터 전송에 있어서 전력 소모를 감소시킬 수 있는 방법을 제시함으로써 데이터 전송 에너지를 향상시킬 수 있다.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 two-burst 데이터 포맷의 예시를 나타낸 블록도,
도 2는 DBI 인코딩 방법을 도시한 예시도,
도 3은 DBI 인코딩 방법을 설명한 블록도,
도 4는 본 발명의 실시예에 의한 SDBI 인코딩 방법을 도시한 예시도,
도 5는 본 발명의 실시예에 의한 SDBI 인코딩 방법을 설명한 블록도,
도 6은 OR 네트워크의 예시를 나타낸 구성도,
도 7은 본 발명의 실시예에 의한 버스 인코딩 장치의 구성도,
도 8은 본 발명의 실시예에 의한 버스 인코딩 방법의 순서도이다.
이상의 본 발명의 목적들, 다른 목적들, 특징들 및 이점들은 첨부된 도면과 관련된 이하의 바람직한 실시 예들을 통해서 쉽게 이해될 것이다. 그러나 본 발명은 여기서 설명되는 실시 예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 오히려 여기서 소개되는 실시 예들은 개시된 내용이 철저하고 완전해질 수 있도록, 그리고 당업자에게 본 발명의 사상이 충분히 전달될 수 있도록 하기 위해 제공되는 것이다.
본 명세서에서 제1, 제2 등의 용어가 구성요소들을 기술하기 위해서 사용된 경우, 이들 구성요소들이 이 같은 용어들에 의해서 한정되어서는 안 된다. 이들 용어들은 단지 어느 구성요소를 다른 구성요소와 구별시키기 위해서 사용되었을 뿐이다. 여기에 설명되고 예시되는 실시 예들은 그것의 상보적인 실시 예들도 포함한다.
또한, 어떤 엘리먼트, 구성요소, 장치, 또는 시스템이 프로그램 또는 소프트웨어로 이루어진 구성요소를 포함한다고 언급되는 경우, 명시적인 언급이 없더라도, 그 엘리먼트, 구성요소, 장치, 또는 시스템은 그 프로그램 또는 소프트웨어가 실행 또는 동작하는데 필요한 하드웨어(예를 들면, 메모리, CPU 등)나 다른 프로그램 또는 소프트웨어(예를 들면 운영체제나 하드웨어를 구동하는데 필요한 드라이버 등)를 포함하는 것으로 이해되어야 할 것이다.
또한 본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다(comprises)' 및/또는 '포함하는(comprising)'은 언급된 구성요소는 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다.
또한, 본 명세서에 기재된 '…부', '…기', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, '일', '하나' 및 '그' 등의 관사는 본 발명을 기술하는 문맥에 있어서 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.
아래의 특정 실시 예들을 기술하는 데 있어서, 여러 가지의 특정적인 내용들은 발명을 더 구체적으로 설명하고 이해를 돕기 위해 작성되었다. 하지만 본 발명을 이해할 수 있을 정도로 이 분야의 지식을 갖고 있는 독자는 이러한 여러 가지의 특정적인 내용이 없어도 사용될 수 있다는 것을 인지할 수 있다.
어떤 경우에는, 발명을 기술하는 데 있어서 흔히 알려졌으면서 발명과 크게 관련 없는 부분들은 본 발명을 설명하는 데 있어 별 이유 없이 혼돈이 오는 것을 막기 위해 기술하지 않음을 미리 언급해 둔다.
이하, 본 발명에서 실시하고자 하는 구체적인 기술 내용에 대해 첨부도면을 참조하여 상세하게 설명하기로 한다.
일반적으로, 예를 들어 데이터 송신을 강조하는 비교적 광역의 버스를 구비한 시스템에서 데이터 전이 활동(data transition activity) 등을 위한 버스 용량의 충전 및 방전으로 인해 대량의 에너지가 소모된다. 버스에서 스위칭 활동은 (1) 데이터 값의 변경, (2) 유효 상태에서 파킹된 상태(parked state)로의 데이터 버스 전이로 인해 발생할 수 있다.
여기서 파킹된 상태는 보통 후속 동작을 더욱 신속히, 정확히 할 수 있도록 버스가 특정한 상태를 갖는 것을 지칭하며, 본 발명에서는 버스가 OR-네트워크를 통해 여러 개의 모듈을 연결하여 신호를 전송할 경우, 유효 값을 포함하는 데이터를 전송한 이후 연속적인 0을 전송함으로서 데이터 전송이 종료되었음을 나타내는데, 이 때 연속적인 0을 파킹된 상태로 본다.
예를 들면, 일부 구현은 두 개의 버스를 결합(OR 체인(OR chaining))할 때 복합형 멀티플랙서를 사용할 수 있다. 그러나 버스의 상태가 파킹되면, 제어 게이트의 출력은 결정적으로 판독될 수 있다. 예를 들면 입력 중 하나의 입력이 항상 1 또는 0 인 경우이다. 또한 상태를 파킹하면 복합형 멀티플렉서와 관련된 하드웨어의 양을 감소시킨다. 이는 결과적으로 비용, 전력 소비나 지연을 감소시킨다.
이를 위해 실시예에서는 OR(즉, 논리적 OR) 체인 버스를 위한 스마터 데이터 버스 반전(Smart Data Bus Invert, SDBI) 인코딩을 제공한다. 본 출원에서 '버스(bus)'라는 용어는 '상호 접속부(interconnect)'라고 호환적으로 지칭될 수 있다.
SDBI 인코딩은 버스 파킹이 사용될 때 데이터 버스의 스위칭 활동을 감소시킬 수 있다. 예를 들어, 각각의 버스 상의 복수의 송신기를 이용하는 경우 복수의 소스 또는 버스로부터 발생하는 버스 상의 입력 데이터는, 버스 상의 다음 데이터 값이 유효 값으로 파킹된 상태로 전이할 것인지 여부를 결정하는 것에 적어도 부분적으로 기초하여 인코딩될 수 있다.
또한 본 출원에서 논의되는 기술은 도면을 참조하여 논의된 것을 비롯하여, 데스크톱 컴퓨터, 서버, 워크 스테이션 등과 같은 비모바일 디바이스 뿐만 아니라, 스마트폰, 태블릿, UMPC(Ultra-Mobile Personal Computer, 울트라 모바일 개인용 컴퓨터) 등의 다양한 컴퓨팅 시스템이나, 노트북, 울트라북 컴퓨팅 디바이스, 스마트 워치나 스마트 글라스 등의 웨어러블 디바이스 등에서 사용될 수 있다.
OR-네트워크 버스에서는 보내고자 하는 데이터의 전송 직후 파킹(parking)이 발생한다. 본 발명에서는 이러한 파킹의 영향을 미리 고려한 버스 인코딩 알고리즘을 제안하여 에너지 절감 효과를 증가시키고자 한다.
도 1은 two-burst 데이터 포맷의 예시를 나타낸 블록도이다.
도 1을 참조하면, 본 발명의 실시예에 의한 버스 인코딩 장치 및 방법은 투 버스트(two-burst) 데이터가 입력되는 경우 활용이 가능한데, 투 버스트란, 두번의 데이터를 연달아 보내는 것으로, 도 1의 상단에 0이라는 데이터가 전송되다가 데이터 A, 데이터 B가 연달아 전송된 이후 데이터는 파킹된다. 여기서 데이터 A는 제1의 복수의 펄스들을 포함하는 제1 버스트, 데이터 B는 제2의 복수의 펄스들을 포함하는 제2 버스트로 표현할 수 있다. 이하에서도 동일하게 표현된다고 가정한다.
데이터 길이가 n인 두개의 버스트를 포함한 데이터를 입력 받는다고 하면, 예를 들어, n=8, A=b`1011_0100, B=b`0000_1011인 경우에는 도 1의 하단의 블록도와 같이 데이터 A의 전송 전 파킹된 상태(0000_0000)이후 데이터 A, 데이터 B가 연달아 전송된 이후 다시 데이터는 파킹(0000_0000)된다.
본 발명의 실시예에 의한 버스 인코딩 장치 및 방법에 있어서 해밍 거리를 고려하는데, 해밍 거리(Hamming distance)란, 같은 길이를 가진 두 데이터(문자열 등)에서 같은 위치에 있지만 서로 다른 데이터(문자 등)의 개수를 의미하며, dH로 나타낼 수 있다.
상기 예에서 이전의 파킹된 상태(0000_0000)와 데이터 A의 해밍 거리 dH = 4, 데이터 A와 데이터 B의 해밍 거리 dH = 7, 데이터 B와 이후의 파킹된 상태(0000_0000)의 해밍 거리 dH = 3으로 총 해밍거리 dH = 4 + 7 + 3 = 14 로 나타난다.
데이터 전송에 있어서 이와 같이 0에서 1로, 또는 1에서 0으로의 데이터 변환 시점에서 데이터가 소모되는 트랜지션(transition)이 발생한다. 따라서 해밍 거리와 비례하는 에너지가 소모된다는 점을 알 수 있다.
상기 예에서는 해밍 거리 dH = 14 만큼의 에너지가 소모된다고 볼 수 있다.
따라서 이러한 에너지 소모를 감소시키기 위하여 데이터 버스 반전(data bus invert, DBI) 인코딩을 활용할 수 있다. 도 2는 DBI 인코딩 방법을 도시한 예시도이다.
도 2를 참조하면, 기존의 DBI 인코딩을 위해서는 1bit의 DBI 비트를 더 사용한다. 인코딩 규칙으로는, 이전 버스 값과 현재 버스 값의 해밍 거리가 버스 길이의 절반을 초과하면 현재 버스 값을 모두 반전(inversion)하고, 반전 비트(DBI 비트, 반전 플래그 비트)를 1로 세팅한다.
dH(X, Y)= X, Y 사이의 해밍 거리, dbi(X)= X의 DBI 인코딩 결과라 하면, 도 2에 나타난 식을 적용할 수 있다.
따라서 0과 데이터 A의 해밍 거리가 버스 길이인 n+1의 절반을 초과하는 경우, 즉 dH (0,A)>0.5*(n+1) 인 경우에는 데이터 A의 DBI 값은, 데이터 A에 반전 비트 0을 부가한 이후 해당 버스 값을 모두 반전시킨 값이며, 초과하지 않는 경우에는 데이터 A의 DBI 값은, 데이터 A에 반전 비트 0을 부가한 값이다.
또한 데이터 A의 DBI 값과 데이터 B에 반전 비트 0을 부가한 버스 값의 해밍 거리가 버스 길이인 n+1의 절반을 초과하는 경우, 즉 dH (dbi(A),{B,0})>0.5*(n+1) 인 경우에는 데이터 B의 DBI 값은, 데이터 B에 반전 비트 0을 부가한 이후 해당 버스 값을 모두 반전시킨 값이며, 초과하지 않는 경우에는 데이터 B의 DBI 값은, 데이터 B에 반전 비트 0을 부가한 값이다.
도 3은 DBI 인코딩 방법을 설명한 블록도이다.
도 3을 참조하면, 상기 예시에서, 0과 데이터 A의 해밍 거리 dH = 4로, 버스 길이의 절반(4.5)을 초과하지 않으므로, 데이터 A의 DBI 값은, 데이터 A에 반전 비트 0을 부가한 값(1011_0100_0)이고, 또한 데이터 A의 DBI 값과 데이터 B에 반전 비트 0을 부가한 버스 값의 해밍 거리 dH = 7으로, 버스 길이인 n+1의 절반(4.5)을 초과하므로, 데이터 B의 DBI 값은, 데이터 B에 반전 비트 0을 부가한 이후 해당 버스 값을 모두 반전시킨 값(1111_0100_1)이다.
따라서 DBI 인코딩 이후 해밍 거리 dH = 4 + 2 + 6 = 12로, 인코딩 이전 대비 해밍 거리가 14 - 12 = 2만큼 짧아졌음을 알 수 있다.
이처럼, DBI 비트를 1비트 더 사용함으로써 전송 에너지 소모를 감소시키기 위해 DBI 인코딩을 활용할 수 있다.
다만 이러한 기존의 DBI 인코딩 방법은, 데이터의 반전 여부를 결정함에 있어 제1 버스트 이전 값과 제1 버스트 사이의 거리, 제1 버스트 값과 제2 버스트 사이의 거리는 고려하지만, 제2 버스트 값과 제2 버스트 이후 값 사이의 거리는 고려하지 않는다는 특징을 가지고 있다.
따라서 본 발명의 실시예에 의한 버스 인코딩 방법 및 장치에서 사용되는 인코딩 방법은 이른바 SDBI(Smart Data Bus Invert) 인코딩이라고 나타낼 수 있으며, 이를 통해 상기 기존의 DBI 인코딩과 달리 제2 버스트 값과 제2 버스트 이후의 값 사이의 거리까지 고려하는 인코딩 방법을 제안할 수 있다. 도 4는 본 발명의 실시예에 의한 SDBI 인코딩 방법을 도시한 예시도이다.
도 4를 참조하면, SDBI 인코딩을 위해서는 1bit의 DBI 비트를 더 사용한다. 인코딩 규칙으로는, 다음의 네 가지 값 d1, d2, d3, d4을 먼저 계산한 후 최소값에 해당하는 인코딩 방법을 선택한다.
d1, d2, d3, d4는 모두 제1버스트 이전 값과 제1 버스트 데이터 사이의 해밍 거리, 제1 버스트 데이터와 제2 버스트 데이터 사이의 해밍 거리, 제2 버스트 데이터와 제2 버스트 이후 값 사이의 해밍 거리의 세 가지 요소의 합으로 나타낼 수 있으며 본 실시예에서는 이러한 요소를 각각 제1 해밍 거리, 제2, 해밍 거리, 제3 해밍 거리라고 나타내었다.
여기서 제1 버스트 데이터, 제2 버스트 데이터는 반전되거나 반전되지 않는 두 가지 경우의 수가 있으므로, 총 네 가지의 거리 d1, d2, d3, d4가 도출될 수 있는 것이다.
dH(X, Y)= X, Y 사이의 해밍 거리, s(X)= X의 SDBI 인코딩 결과라 하면, 도 4에 나타난 식을 적용할 수 있다.
d1 = dH(0, {A, 0}) + dH({A, 0}, {B, 0}) + dH({B, 0}, 0)이다. 데이터 A와 데이터 B 모두가 반전되지 않은 경우를 상정한 것이다.
d2 = dH(0, {A, 0}) + dH({A, 0}, {B', 1}) + dH({B', 1}, 0)이다. 데이터 A는 반전되지 않고, 데이터 B만 반전되어 반전 비트를 1로 상정한 것이다.
d3 = dH(0, {A', 1}) + dH({A', 1}, {B, 0}) + dH({B, 0}, 0)이다. 데이터 A는 반전되어 반전 비트를 1로 하고, 데이터 B는 반전되지 않은 경우를 상정한 것이다.
d4 = dH(0, {A', 1}) + dH({A', 1}, {B', 1}) + dH({B', 1}, 0)이다. 데이터 A와 데이터 B 모두가 반전되어 반전 비트를 1로 상정한 것이다.
상기 d1, d2, d3, d4의 값을 비교하여 최소값을 가지는 값이 어떤 것인지 여부에 따라 데이터 반전 여부를 결정한다.
최소값이 d3 또는 d4인 경우에는 s(A) 값은 A를 반전하고 반전 비트를 1로 한 값이다.
최소값이 d2 또는 d4인 경우에는 s(B) 값은 B를 반전하고 반전 비트를 1로 한 값이다.
결과적으로 d1이 최소값인 경우에는 데이터 A와 데이터 B 모두 반전하지 않고, d2가 최소값인 경우에는 데이터 B만 반전, d3이 최소값인 경우에는 데이터 A만 반전, d4가 최소값인 경우에는 데이터 A와 데이터 B 모두 반전한다.
도 5는 본 발명의 실시예에 의한 SDBI 인코딩 방법을 설명한 블록도이다.
도 5를 참조하면, 상기 예시에서, d1 = 4 + 7 + 3 = 14, d2 = 4 + 2 + 6 = 12, d3 = 5 + 2 + 3 = 10, d4 = 5 + 7 + 6 = 17으로, 최소값은 d3 = 10이다.
따라서, 데이터 A만 반전하므로, SDBI 인코딩 이후 해밍 거리 dH = 5 + 2 + 3 = 10으로, 기존 DBI 대비 해밍 거리가 `12 - 10 = 2만큼, 또한 인코딩 이전 대비 해밍 거리가 14 - 10 = 4만큼 짧아졌음을 알 수 있다.
이처럼 본 발명의 실시예에 의한 버스 반전 인코딩 장치 및 방법을 8-bit 단위로 uniformly random 데이터를 버스 인코딩하는 경우에 대한 에너지 개선율은 [표 1]에 나타난 바와 같다.
구 분 버스 데이터 에너지 개선율
버스인코딩을 하지 않은 8-bit data -
기존 버스인코딩 (DBI)을 적용한 9-bit data 10.8%
본 발명의 실시예에 의한 버스인코딩을 적용한 9-bit data 14.5%
본 발명과 같이 SDBI를 통해 데이터 B와 이후 파킹된 상태와의 해밍 거리까지 고려하여 버스 인코딩이 이루어짐으로서 에너지가 개선될 수 있다.
버스가 OR 트리를 사용하여 복수의 소스로부터 데이터를 수집하는 경우, 데이터 파킹은 데이터 송신의 끝에서 수행된다. 예를 들면, 메모리의 복수의 뱅크는 로직 OR 게이트와 결합되고 다음 단계로 공급되어 체인에서 다음 메모리 뱅크의 출력과 논리적으로 OR 연산되는 메모리 뱅크의 각각의 쌍의 출력을 가진 체인에서 OR 트리에 의해 함께 결합될 수 있다.
도 6은 OR 네트워크의 예시를 나타낸 구성도이다. OR 네트워크를 통해 모듈 1부터 모듈 n까지 n개의 모듈을 버스가 연결할 수 있다. 이와 같이 OR-Network은 다수의 모듈(multiple modules)로 구성되어 있는 버스 혹은 네트워크를 구성하기 위한 방법 중 하나이며, 다음과 같은 규칙을 갖는다.
(1) 각각의 모듈은 인터커넥트를 통해 데이터 신호를 전송할 수 있다. 단, 인터커넥트는 공유자원이기 때문에, 동시에 두 개 이상의 모듈이 전송권한을 갖을 수 없다.
(2) 전송 권한이 없는 모듈은 신호 0을 전송한다. (Each module drives 0 if it is not enabled.)
(3) 전송 권한이 있는 모듈은 보내고자 하는 데이터 신호를 전송한다. 단, 전송이 끝나면, 다른 모듈에게 전송 권한을 넘기기 위해서, 신호 0을 전송하는, 이른바, 데이터 파킹을 실행한다.
도 7은 본 발명의 실시예에 의한 버스 인코딩 장치의 구성도, 도 8은 본 발명의 실시예에 의한 버스 인코딩 방법의 순서도이다.
본 발명의 실시예는 컴퓨팅 시스템의 하나 이상의 컴포넌트에 의해 수행될 수 있다. 컴퓨팅 시스템은 상호접속 네트워크( 또는 버스)에서 결합된 하나 이상의 중앙 처리 장치(Central Processing Unit: CPU)를 포함하며, CPU는 프로세서(Processor)로 지칭될 수 있다.
도 7을 참조하면, 본 발명의 실시예에 의한 버스 인코딩 장치는 two-burst 데이터가 포함된 입력 데이터를 수신하는 수신부, 제어로직부, 입력 데이터를 인코딩하는 인코딩로직부를 포함할 수 있다.
수신부는 데이터 버스와 연결되어 있으며, 데이터 버스(200)는, 오디오 디바이스, 하나 이상의 디스크 드라이브 및 네트워크 어댑터와 연결될 수 있다. 버스에 연결된 네트워크 어댑터 또는 다른 디바이스는 칩셋과 통신한다.
또한 네트워크 어댑터와 같은 각종 컴포넌트는 일부 실시예에서 GMCH(그래픽 메모리 제어 허브, Graphics Memory Control Hub)에 결합될 수 있다. 또한 프로세서 및 GMCH는 결합되어 단일 칩을 형성할 수 있다. 메모리 컨트롤러는 CPU에 제공된다. 또한 GMCH 및 ICH(Input/Output Control Hub, 입력/출력 제어 허브)는 주변 제어 허브(Peripheral Control Hub, PCH)에 결합될 수 있다.
또한 컴퓨팅 시스템은 휘발성 또는 비휘발성 메모리(또는 저장소)를 포함한다. 예를 들면 비휘발성 메모리는 명령어 등의 전자 데이터를 저장할 수 있는 ROM(read-only memory), 프로그래머블 ROM(programmable ROM, PROM), 소거 가능한 PROM(erasable PROM, EPROM), 전기적 EPROM(electrically EPROM), 디스크 드라이브, 플로피 디스크, 컴팩트 디스크 ROM(compact disk ROM, CD-ROM), 디지털 다기능 디스크(digital versatile disk, DVD), 플래시 메모리, 자기-광 디스크, 또는 다른 유형의 비휘발성 판독가능한 매체 중 하나 이상을 포함한다.
메모리는 실시예에서 다음과 같은 운영 체제(operating system, O/S), 애플리케이션, 디바이스 드라이버 중 하나 이상을 포함할 수 있다. 또한 메모리는 메모리 맵드 I/O(Memory Mapped I/O, MMIO) 동작에 전용되는 영역을 포함할 수 있다. 메모리에 저장된 프로그램 또는 그 데이터는 메모리 관리 동작의 일부분으로서 디스크 드라이브로 교환될 수 있다. 애플리케이션은 하나 이상의 패킷을 네트워크에 결합된 하나 이상의 컴퓨팅 디바이스와 통신하도록 실행된다. 이러한 실행은 프로세서 상에서 이루어질 수 있다.
패킷은 적어도 하나의 송신기로부터 네트워크를 통해 적어도 하나의 수신기로 송신되는 하나 이상의 전기 신호에 의해 인코딩되는 하나 이상의 심볼 또는 값의 시퀀스이다. 예를 들어, 각각의 패킷은 소스 어드레스, 목적지 어드레스, 패킷 유형 등과 같은 패킷을 라우팅 등의 처리할 때 사용되는 다양한 정보를 포함하는 헤더를 갖는다. 각각의 패킷은 패킷이 다양한 컴퓨팅 디바이스 사이에서 네트워크를 통해 전송하는 원시 데이터 또는 콘텐츠를 포함하는 페이로드를 가지고 있다.
제어로직부는 버스의 상태가 파킹되면 제어 게이트의 출력은 결정적으로 판독될 수 있다.
인코딩로직부(130)는 입력데이터를 인코딩하는데, 플래그 처리부에서 제1 버스트와 제2 버스트를 출력하여 각 버스트에 플래그 비트를 포함하여 출력하는 단계(S310), 유효값 이전 값과 제1버스트, 제2버스트, 파킹된 상태 각각 사이의 해밍 거리를 도출하여 전체 해밍 거리가 최소값이 되는 경우의 인코딩 방법을 선택하는 단계(S320), 상기 선택한 인코딩 방법에 따라 데이터를 인코딩 하는 단계(S330)를 포함하는 단계를 거칠 수 있다.
인코딩 방법을 선택하는 방법에 있어서는 상기 기술한 SDBI에 따라 d1, d2, d3, d4의 값을 도출하여 최소값을 가지는 값이 어떤 것인지 여부에 따라 데이터 반전 여부를 결정한다.
본 출원에서 논의된 동작은 예를 들면 컴퓨터가 본 출원에서 논의된 프로세스를 수행하도록 프로그래밍하는데 사용된 명령어 또는 소프트웨어 절차를 저장한 유형의 판독 가능한 매체 또는 컴퓨터-판독 가능한 매체를 비롯한 컴퓨터 프로그램 제품으로서 제공될 수 있는, 하드웨어, 소프트웨어, 펌웨어, 마이크로코드, 또는 이들의 결합으로서 구현된다.
또한, '로직'이라 용어는 예로서 소프트웨어, 하드웨어, 또는 소프트웨어와 하드웨어의 결합을 포함할 수 있다. 판독 가능한 저장 디바이스를 포함할 수 있다. 또한, 그러한 컴퓨터-판독 가능한 매체는 컴퓨터 프로그램 제품으로서 다운로드 될 수 있고, 여기서 프로그램은 서버 등 원격 컴퓨터로부터 클라이언트 등 요청 컴퓨터로 통신 링크를 통해 반송파 또는 다른 전파 매체에 실린 데이터 신호를 통해 전송될 수 있다. 통신 링크는 예를 들면 버스, 모뎀, 또는 네트워크 접속부 등이 있다.
명세서에서 '일 실시예' 또는 '실시예'의 참조는 실시예와 관련하여 기술된 특별한 특성, 구조, 또는 특징이 적어도 하나의 구현예에 포함될 수 있다는 것을 의미한다. 명세서의 여러 곳에서 '일 실시예에서'라는 문구의 출현은 모두 동일한 실시예를 언급할 수도 있거나 아닐 수도 있다.
또한, 명세서 및 청구범위에서, '결합된', 및 '접속된'이라는 용어는 그들의 파생어와 함께 사용될 수 있다. 일부 실시예에서, "접속된"은 둘 이상의 요소가 서로 물리적으로 또는 전기적으로 직접 접촉하고 있다는 것을 표시하는데 사용될 수 있다. "결합된"은 둘 이상의 요소가 물리적으로 또는 전기적으로 직접 접촉한다는 것을 의미할 수 있다. 그러나, "결합된"은 둘 이상의 요소가 서로 직접 접촉하지 않을 수도 있지만 여전히 서로 협력하거나 상호작용할 수 있다는 것을 의미할 수도 있다.
따라서, 비록 실시예가 구조적 특징 및/또는 방법론적 행위에 대해 특정한 언어로 기술되었지만, 청구된 주제는설명된 특정 특징 또는 행위에 한정될 수 없다는 것을 이해해야 한다. 오히려, 특정한 특징 및 행위는 청구된 주제를 구현하는 단순한 형태로서 개시된다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다.
110 : 수신부
120 : 제어로직부
130 : 인코딩로직부
200 : 데이터 버스
300 : CPU
400 : 메모리

Claims (15)

  1. OR-네트워크 버스 인코딩 장치에 있어서,
    데이터 버스와 연결되어, 각각 n(n>1, n은 자연수)개의 데이터 비트를 가진 제1의 복수의 펄스들을 포함하는 제1 버스트 및 제2의 복수의 펄스들을 포함하는 제2 버스트가 포함된 입력 데이터를 수신하는 수신부;
    상기 수신부와 연결되어 상기 데이터 버스 상의 다음 데이터 값이 유효값으로부터 파킹된 상태(a parked state)로 전이되는지 여부를 결정하는 제어로직부; 및
    상기 데이터 버스 상의 상기 다음 데이터 값이 상기 유효값으로부터 상기 파킹된 상태로 전이되는지 여부의 결정에 기초하여 상기 입력 데이터를 인코딩하는 인코딩로직부;
    를 포함하는 것을 특징으로 하는 버스 인코딩 장치.
  2. 제1항에 있어서,
    상기 인코딩로직부는,
    이전의 버스 값과 제1 버스트, 제2 버스트 및 이후의 데이터 값 사이의 해밍 거리(a hamming distance)의 비교를 통하여 입력 데이터를 인코딩하는 것을 특징으로 하는 버스 인코딩 장치.
  3. 제1항에 있어서,
    상기 인코딩로직부는,
    상기 입력 데이터 중에서 상기 제1 버스트와 제1 반전 플래그 비트를 포함하는 제1 데이터 집합을 출력하고, 상기 제2 버스트와 제2 반전 플래그 비트를 포함하는 제2 데이터 집합을 출력하는 플래그 처리부;
    상기 제1 데이터 집합 및 제2 데이터 집합을 포함하는 버스값의 반전 여부에 기초하여 해밍 거리(a hamming distance)에 따라 인코딩 방법을 선택하는 방법 선택부; 및
    선택된 상기 인코딩 방법에 따라 데이터를 인코딩하는 DBI(data Bus Invert) 인코딩부;
    를 포함하는 것을 특징으로 하는 버스 인코딩 장치.
  4. 제3항에 있어서,
    상기 방법 선택부는,
    이전 버스 값과 제1 유효 값의 해밍 거리를 나타내는 제1 해밍 거리;
    제1 유효 값과 제2 유효 값의 해밍 거리를 나타내는 제2 해밍 거리; 및
    제2 유효 값과 다음 버스 값의 해밍 거리를 나타내는 제3 해밍 거리;
    의 합이 최소값에 해당하는 인코딩 방법을 선택하는 것을 특징으로 하되,
    상기 제1 유효 값은 제1 데이터 집합의 버스값 이거나 제1 데이터 집합의 버스값을 모두 반전(inversion)한 값이고,
    상기 제2 유효 값은 제2 데이터 집합의 버스값 이거나 제2 데이터 집합의 버스값을 모두 반전(inversion)한 값인 것
    을 특징으로 하는 버스 인코딩 장치.
  5. 제1항에 있어서,
    상기 입력 데이터는,
    복수의 모듈로부터 발생하는 것을 특징으로 하는 버스 인코딩 장치.
  6. 제5에 있어서,
    상기 복수의 모듈은,
    복수의 버스를 포함하는 것을 특징으로 하는 버스 인코딩 장치.
  7. 제5에 있어서,
    상기 복수의 모듈은,
    OR 트리 구성(an OR tree configuration)으로 결합되는 것을 특징으로 하는 버스 인코딩 장치.
  8. 제1항에 있어서,
    하나 이상의 프로세서 코어를 갖는 프로세서; 및
    상기 프로세서와 전자 통신하는 메모리;
    를 더 포함하는 것을 특징으로 하는 버스 인코딩 장치.
  9. OR-네트워크 버스 인코딩 방법에 있어서,
    데이터 버스와 연결되어 있는 수신부는, 각각 n(n>1, n은 자연수)개의 데이터 비트를 가진 제1의 복수의 펄스들을 포함하는 제1 버스트 및 제2의 복수의 펄스들을 포함하는 제2 버스트가 포함된 입력 데이터를 수신하는 단계;
    상기 수신부와 연결되어 있는 제어로직부는, 상기 데이터 버스 상의 다음 데이터 값이 유효값으로부터 파킹된 상태(a parked state)로 전이되는지 여부를 결정하는 단계; 및
    인코딩로직부는, 상기 데이터 버스 상의 상기 다음 데이터 값이 상기 유효값으로부터 상기 파킹된 상태로 전이되는지 여부의 결정에 기초하여 상기 입력 데이터를 인코딩하는 단계;
    를 포함하는 것을 특징으로 하는 버스 인코딩 방법.
  10. 제9항에 있어서,
    상기 인코딩하는 단계는,
    이전의 버스 값과 제1 버스트, 제2 버스트 및 이후의 데이터 값 사이의 해밍 거리(a hamming distance)의 비교를 통하여 입력 데이터를 인코딩하는 것을 특징으로 하는 버스 인코딩 방법.
  11. 제9항에 있어서,
    상기 인코딩하는 단계는,
    상기 입력 데이터 중에서 상기 제1 버스트와 제1 반전 플래그 비트를 포함하는 제1 데이터 집합을 출력하고, 상기 제2 버스트와 제2 반전 플래그 비트를 포함하는 제2 데이터 집합을 출력하는 플래그 처리 단계;
    상기 제1 데이터 집합 및 제2 데이터 집합을 포함하는 버스값의 반전 여부에 기초하여 해밍 거리(a hamming distance)에 따라 인코딩 방법을 선택하는 단계; 및
    선택된 상기 인코딩 방법에 따라 데이터를 인코딩하는 DBI 단계;
    를 포함하는 것을 특징으로 하는 버스 인코딩 방법.
  12. 제11항에 있어서,
    상기 방법을 선택하는 단계는,
    이전 버스 값과 제1 유효 값의 해밍 거리를 나타내는 제1 해밍 거리;
    제1 유효 값과 제2 유효 값의 해밍 거리를 나타내는 제2 해밍 거리; 및
    제2 유효 값과 다음 버스 값의 해밍 거리를 나타내는 제3 해밍 거리;를 도출하고,
    상기 제1 해밍 거리, 제2 해밍 거리 및 제3 해밍 거리의 합이 최소값에 해당하는 인코딩 방법을 선택하는 것을 특징으로 하되,
    상기 제1 유효 값은, 제1 데이터 집합의 버스값 이거나 제1 데이터 집합의 버스값을 모두 반전(inversion)한 값이고,
    상기 제2 유효 값은, 제2 데이터 집합의 버스값 이거나 제2 데이터 집합의 버스값을 모두 반전(inversion)한 값인 것
    을 특징으로 하는 버스 인코딩 방법.
  13. 제9항에 있어서,
    상기 입력 데이터는,
    복수의 모듈로부터 발생하는 것을 특징으로 하는 버스 인코딩 방법.
  14. 제13에 있어서,
    상기 복수의 모듈은,
    복수의 버스를 포함하는 것을 특징으로 하는 버스 인코딩 방법.
  15. 제5에 있어서,
    상기 복수의 모듈은,
    OR 트리 구성(an OR tree configuration)으로 결합되는 것을 특징으로 하는 버스 인코딩 방법.
KR1020190151391A 2019-11-22 2019-11-22 저전력 투-버스트 데이터 전송을 위한 or-네트워크 버스 인코딩 장치 및 방법 KR20210063011A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190151391A KR20210063011A (ko) 2019-11-22 2019-11-22 저전력 투-버스트 데이터 전송을 위한 or-네트워크 버스 인코딩 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190151391A KR20210063011A (ko) 2019-11-22 2019-11-22 저전력 투-버스트 데이터 전송을 위한 or-네트워크 버스 인코딩 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20210063011A true KR20210063011A (ko) 2021-06-01

Family

ID=76375901

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190151391A KR20210063011A (ko) 2019-11-22 2019-11-22 저전력 투-버스트 데이터 전송을 위한 or-네트워크 버스 인코딩 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20210063011A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102582152B1 (ko) * 2022-11-14 2023-09-22 한양대학교 산학협력단 Pam 3 신호를이용한 데이터 반전 회로

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101887126B1 (ko) 2014-12-15 2018-08-09 인텔 코포레이션 Or 체인 버스를 위한 향상된 데이터 버스 반전 인코딩

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101887126B1 (ko) 2014-12-15 2018-08-09 인텔 코포레이션 Or 체인 버스를 위한 향상된 데이터 버스 반전 인코딩

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102582152B1 (ko) * 2022-11-14 2023-09-22 한양대학교 산학협력단 Pam 3 신호를이용한 데이터 반전 회로
WO2024106888A1 (ko) * 2022-11-14 2024-05-23 한양대학교 산학협력단 Pam 3 신호를이용한 데이터 반전 회로

Similar Documents

Publication Publication Date Title
CN109040341B (zh) 智能合约地址的生成方法、装置、计算机设备及可读存储介质
KR101887126B1 (ko) Or 체인 버스를 위한 향상된 데이터 버스 반전 인코딩
US20200042482A1 (en) Pci express tunneling over a multi-protocol i/o interconnect
EP2985699B1 (en) Memory access method and memory system
US20160099795A1 (en) Technologies for exchanging host loss and forward error correction capabilities on a 25g ethernet link
US10579581B2 (en) Multilane heterogeneous serial bus
US8726124B2 (en) Cyclic redundancy check generation via distributed time multiplexed linear feedback shift registers
US8326960B2 (en) Wake on local area network signalling in a multi-root I/O virtualization
US8738990B2 (en) Cyclic redundancy check generation via distributed time multiplexed linear feedback shift registers
TW201640359A (zh) N基底數字至實體線狀態符號翻譯方法
WO2019105331A1 (en) Computational system and corresponding electronic apparatus
KR20210063011A (ko) 저전력 투-버스트 데이터 전송을 위한 or-네트워크 버스 인코딩 장치 및 방법
US20230367735A1 (en) Data transmission method, module and apparatus, device, and storage medium
US20140089550A1 (en) Low Power Signaling for Data Transfer
JP4956295B2 (ja) 半導体記憶装置
US9390775B2 (en) Reference voltage setting circuit and method for data channel in memory system
US11636061B2 (en) On-demand packetization for a chip-to-chip interface
JP6293924B2 (ja) 重ね合わせによるバス上での周波数制御のためのシステムおよび方法
TWI546675B (zh) 模式選擇性平衡編碼之互連技術
US20200218671A1 (en) Semiconductor device, semiconductor system, and system
KR102684403B1 (ko) 논리 회로, 이를 포함하는 인코더, 및 이를 이용한 제어 신호 생성 방법
JP2005303787A (ja) パケット生成装置
CN108650267B (zh) 区块链数据传输方法、装置、设备和存储介质
KR101311617B1 (ko) 저전력 대규모 집적 회로 시스템을 위한 어드레스 버스코딩/디코딩 방법 및 장치
CN116056293A (zh) 一种串行rgb灯驱动方法、系统、设备及存储介质

Legal Events

Date Code Title Description
E601 Decision to refuse application