KR20230030803A - Pam 4 신호를 이용하여 dbi-dc 인코딩을 수행하는 데이터 반전 회로 - Google Patents
Pam 4 신호를 이용하여 dbi-dc 인코딩을 수행하는 데이터 반전 회로 Download PDFInfo
- Publication number
- KR20230030803A KR20230030803A KR1020210112909A KR20210112909A KR20230030803A KR 20230030803 A KR20230030803 A KR 20230030803A KR 1020210112909 A KR1020210112909 A KR 1020210112909A KR 20210112909 A KR20210112909 A KR 20210112909A KR 20230030803 A KR20230030803 A KR 20230030803A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- encoding
- signal
- auxiliary signal
- pam
- Prior art date
Links
- 230000005540 biological transmission Effects 0.000 claims abstract description 23
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims abstract description 15
- 238000000034 method Methods 0.000 description 98
- 230000008859 change Effects 0.000 description 40
- 238000010586 diagram Methods 0.000 description 28
- 238000012545 processing Methods 0.000 description 17
- 230000008901 benefit Effects 0.000 description 11
- 230000000694 effects Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000001965 increasing effect Effects 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000001939 inductive effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 108700038250 PAM2-CSK4 Proteins 0.000 description 1
- 101100206155 Schizosaccharomyces pombe (strain 972 / ATCC 24843) tbp1 gene Proteins 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/38—Synchronous or start-stop systems, e.g. for Baudot code
- H04L25/40—Transmitting circuits; Receiving circuits
- H04L25/49—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
- H04L25/4917—Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using multilevel codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
- G06F13/287—Multiplexed DMA
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Dc Digital Transmission (AREA)
- Power Engineering (AREA)
Abstract
일 실시예에 따른 , PAM 4 신호를 이용한 데이터 반전 회로는, PAM 4 신호에 기초한 입력 데이터를 생성하는 데이터 생성부 및 상기 입력 데이터에 포함되어 있는 복수 개의 데이터 심볼들을 분석하여 상기 입력 데이터에 대한 인코딩 여부를 결정하는 보조 신호를 생성하는 보조 신호 생성부, 복수 개의 데이터 라인을 포함하는 채널 및 상기 보조 신호에 기초하여 상기 데이터에 대해 DBI(Data Bus Inversion) 인코딩을 수행하여 인코딩 데이터를 생성하고, 생성된 인코딩 데이터를 상기 채널을 통해 데이터 수신부로 송신하는 데이터 인코딩부를 포함하는 데이터 송신부를 포함할 수 있다.
Description
본 발명은 PAM 4 신호를 이용하여 DBI-DC 인코딩을 수행하는 데이터 반전 회로 보다 상세하게는, 데이터를 송신하는데 사용되는 DBI 인코딩 방식을 PAM 4 신호에도 적용되도록 설계하여, 데이터의 송신 속도를 높임과 동시에 회로의 전력 소모를 감소시키는 기술에 관한 발명이다.
집적 회로 장치들 사이의 전송되는 데이터는, 중앙처리장치(CPU; Central Processing Unit) 또는 그래픽 처리 장치(GPU; Graphic Processing Unit)의 제어에 따라 반도체 집적회로에 데이터가 저장한다. 반도체 집적회로 즉, 메인 메모리 또는 그래픽 메모리의 성능을 좌우하는 요소 중에서 데이터 처리속도가 차지하는 비중이 가장 크다.
집적 회로 장치들 사이의 데이터 전송은, 데이터 버스의 병렬 채널들에 구동되는 데이터 신호들, 일명 데이터 비트들의 형태로 이루어진다. 데이터 비트들은 데이터의 상태나 데이터 천이의 주파수에 따라 크로스 토크(cross talk), 동시 스위칭 노이즈(Simultaneous Switching Noise: SSN), 상호 심볼 간섭(Inter-Symbol Interference: ISI), 및/또는 전력 소모에 민감할 수 있다. 이러한 부작용들(adverse effects)을 줄이기 위하여, 데이터 버스 반전(Data Bus Inversion: DBI)과 같은 데이터 인코딩 방법이 이용될 수 있다.
DBI 인코딩 기술은, 8개의 데이터 중에서 하이 값 또는 로우 값을 갖는 데이터의 수가 4개 이상이면 현재 데이터를 반전시켜 전송하고, 그렇지 않으면 현재의 데이터를 반전시키지 않고 전송하는 기술이다.
즉, DBI는 데이터 버스로 전송되는 데이터 비트들 사이의 관계를 먼저 평가하고(assess), 전송에 앞서 데이터 비트들을 일부 또는 전부 반전시키는 것이 데이터를 전송하는데 효율적인지 여부를 판단한다(decide). 만약, 효율적이라 판단되어 데이터 비트들이 반전되면, 데이터 비트들이 반전되었음을 나타내는 DBI 비트라는 추가 신호가 셋팅될 수 있으며, DBI 인코딩 기술이 적용되면 전력 소모 감소, 신호 충실도(Signal Integrity: SI) 개선, 발열 감소 등의 효과를 기대할 수 있다.
한편, 기술이 발전됨에 따라 초고속 유/무선 통신 IC, CPU/GPU 등의 프로세싱 유닛의 통신부, 메모리-CPU통신부 등 기타 고속 동작을 요하는 신호 처리 분야에서는 신호의 전달 효율을 높이기 위해 한번에 1bit가 아닌 2bit의 신호를 전달할 수 있는 PAM 4(Four-Level Pulse Amplitude Modulation) 기술이 적용되고 있다. PAM 4 신호의 경우 종래 일반적으로 사용된 PAM 2 신호와 달리 한 번에 2 bit에 해당하는 데이터를 전송할 수 있어, 데이터의 전송 속도 및 전송 효율을 높일 수 있는 장점이 존재한다.
그러나, 현재까지는 PAM 4 신호를 이용한 데이터 처리 기술이 발전이 미미하다 보니, PAM 4 신호를 전송함에 있어서 데이터 전송의 효율을 높일 수 있는 데이터 인코딩 기술이 미미한 실정이다.
따라서, 일 실시예에 따른 PAM 4 신호를 이용하여 DBI-DC 인코딩을 수행하는 데이터 반전 회로는, 상기 설명한 문제점을 해결하기 위해 고안된 발명으로서, PAM 4 신호를 이용하여 데이터를 전송함에 있어서, 데이터 인코딩을 상황에 맞게 효율적으로 실시함으로써, PAM 4 신호에 기반한 데이터 전송의 효율을 높일 수 있는 기술을 제공하는데 그 목적이 있다.
보다 구체적으로 일 실시예에 따른 PAM 4 신호를 이용하여 DBI-DC 인코딩을 수행하는 데이터 반전 회로는, 입력되는 데이터의 패턴을 분석하여 PAM 4 신호에 맞춘 DBI-DC 인코딩을 수행하거나, 데이터를 전송함에 있어서 인접한 데이터 라인의 신호 값의 변경으로 인해 발생되는 누화 현상을 억제하는 인코딩을 수행하여 회로 전체의 전력 효율을 증가시킬 수 있는 데이터 반전 회로를 제공하는데 그 목적이 있다.
일 실시예에 따른 PAM 4 신호를 이용하여 DBI-DC 인코딩을 수행하는 데이터 반전 회로는, PAM 4 신호에 기초한 입력 데이터를 생성하는 데이터 생성부 및 상기 입력 데이터에 포함되어 있는 복수 개의 데이터 심볼들을 분석하여 상기 입력 데이터에 대한 인코딩 여부를 결정하는 보조 신호를 생성하는 보조 신호 생성부, 복수 개의 데이터 라인을 포함하는 채널 및 상기 보조 신호에 기초하여 상기 데이터에 대해 DBI(Data Bus Inversion) 인코딩을 수행하여 인코딩 데이터를 생성하고, 생성된 인코딩 데이터를 상기 채널을 통해 데이터 수신부로 송신하는 데이터 인코딩부를 포함하는 데이터 송신부를 포함할 수 있다.
상기 보조 신호 생성부는, 상기 복수 개의 데이터 심볼들의 종류별 개수에 기초하여 상기 입력 데이터에 대한 인코딩 여부를 결정할 수 있다.
상기 보조 신호 생성부는, 상기 복수 개의 데이터 심볼들의 종류별 개수 및 상기 채널과 연결되어 있는 부하들의 저항 값에 기초하여 생성된 미리 정해진 방정식을 만족하는 여부로 상기 입력 데이터의 인코딩 여부를 결정할 수 있다.
상기 보조 신호 생성부는, 상기 입력 데이터가 상기 미리 정해진 방정식을 만족하는 경우 상기 입력 데이터에 대해 인코딩을 하기로 결정하고, 상기 입력 데이터가 상기 미리 정해진 방정식을 만족하지 못하는 경우 상기 입력 데이터에 대해 인코딩을 하지 않는 것으로 결정하는, PAM 4 신호를 이용한 데이터 반전 회로.
상기 보조 신호 생성부는, 상기 보조 신호를 NRG(Non-Return to Zero) 신호로 생성하고, 상기 입력 데이터에 대해 인코딩을 결정한 한 경우 데이터 심볼이 1인 보조 신호를 생성하고, 상기 입력 데이터에 대해 인코딩을 하지 않기로 결정한 한 경우 데이터 심볼이 0인 보조 신호를 생성할 수 있다.
상기 데이터 인코딩부는, 상기 보조 신호 생성부로부터 데이터 심볼이 1인 보조 신호를 수신한 경우, 상기 입력 데이터 중 데이터 심볼이 1인 데이터 심볼을 0으로 반전시키고, 데이터 심볼인 0인 데이터 심볼을 1로 반전시키는 제1인코딩을 수행하여 상기 인코딩 데이터를 생성하고, 상기 보조 신호 생성부로부터 데이터 심볼이 0인 보조 신호를 수신한 경우, 상기 입력 데이터를 그대로 상기 인코딩 데이터로 생성할 수 있다.
다른 실시예에 따른 PAM 4 신호를 이용하여 DBI-DC 인코딩을 수행하는 데이터 반전 회로는, PAM 4 신호에 기초한 입력 데이터를 생성하는 데이터 생성부 및 상기 입력 데이터에 포함되어 있는 복수 개의 데이터 심볼들을 분석하여 상기 입력 데이터에 대한 인코딩 여부를 결정하는 보조 신호를 생성하는 보조 신호 생성부, 복수 개의 데이터 라인을 포함하는 채널 및 상기 보조 신호에 기초하여 상기 데이터에 대해 DBI(Data Bus Inversion) 인코딩을 수행하여 인코딩 데이터를 생성하고, 생성된 인코딩 데이터를 상기 채널을 통해 데이터 수신부로 송신하는 데이터 인코딩부를 포함하며, 상기 보조 신호 생성부는, 상기 보조 신호를 PAM 4 신호로 생성하고, 상기 입력 데이터 중 가장 많은 개수를 차지하고 있는 데이터 심볼을 상기 보조 신호로 생성할 수 있다.
상기 데이터 인코딩부는, 상기 입력 데이터에서 상기 보조 신호에 포함되어 있는 데이터 심볼과 동일한 데이터 심볼과, 상기 입력 데이터에서 데이터 심볼인 11인 데이터 심볼을 서로 교환하는 방법으로 제2인코딩을 수행할 수 있다.
상기 데이터 인코딩부는, 상기 보조 신호에 포함되어 있는 데이터 심볼이 11인 경우, 상기 제2인코딩을 수행하지 않고, 상기 입력 데이터를 그대로 상기 인코딩 데이터로 생성할 수 있다.
또 다른 일 실시예에 따른 PAM 4 신호를 이용하여 DBI-DC 인코딩을 수행하는 데이터 반전 회로는, 복수 개의 데이터 라인을 포함하는 채널, 상기 채널과 연결되어 있는 복수 개의 부하를 포함하고, PAM 4 신호에 기초한 입력 데이터를 생성하는 데이터 생성부, 상기 입력 데이터에 포함되어 있는 복수 개의 데이터 심볼들을 분석하여 상기 입력 데이터에 대한 인코딩 여부를 결정하는 보조 신호를 생성하는 보조 신호 생성부 및 상기 보조 신호에 기초하여 상기 데이터에 대해 DBI(Data Bus Inversion) 인코딩을 수행하여 인코딩 데이터를 생성하고, 생성된 인코딩 데이터를 상기 채널을 통해 데이터 수신부로 송신하는 데이터 인코딩부;를 포함하는 데이터 송신부를 포함할 수 있다.
상기 데이터 반전 회로는, 상기 보조 신호에 기초하여, 상기 데이터 송신부의 전체 부하 값이 변경되도록 상기 복수 개의 부하들의 연결 구조를 변경하는 제어부를 더 포함할 수 있다.
상기 데이터 수신부는, 상기 채널과 연결되어 있는 부하를 포함할 수 있다.
상기 데이터 수신부는, 제1부하, 제2부하, 제3부하 및 제4부하를 포함할 수 있다.
상기 제1부하와 상기 제2부하는 직렬 연결되어 있고, 상기 제3부하와 제4부하는 직렬 연결되어 있으며, 상기 제1부하 및 상기 제2부하는 상기 제3부하 및 상기 제4부하와 병렬 연결될 수 있다.
상기 보조 신호 생성부는, 상기 복수 개의 데이터 심볼들의 종류별 개수에 기초하여 상기 입력 데이터에 대한 인코딩 여부를 결정하고, 상기 보조 신호 생성부는, 상기 복수 개의 데이터 심볼들의 종류별 개수 및 상기 부하들의 저항 값에 기초하여 생성된 미리 정해진 방정식을 만족하는 여부로 상기 입력 데이터의 인코딩 여부를 결정할 수 있다.
상기 보조 신호 생성부는, 상기 보조 신호를 PAM 4 신호로 생성하고, 상기 입력 데이터 중 가장 많은 개수를 차지하고 있는 데이터 심볼을 상기 보조 신호로 생성할 수 있다.
상기 데이터 인코딩부는, 상기 입력 데이터에서 상기 보조 신호에 포함되어 있는 데이터 심볼과 동일한 데이터 심볼과, 상기 입력 데이터에서 데이터 심볼인 11인 데이터 심볼을 서로 교환하는 방법으로 제2인코딩을 수행할 수 있다.
상기 데이터 인코딩부는, 상기 보조 신호에 포함되어 있는 데이터 심볼이 11인 경우, 상기 제2인코딩을 수행하지 않고, 상기 입력 데이터를 그대로 상기 인코딩 데이터로 생성할 수 있다.
상기 데이터 송신부는, 상기 채널과 연결되어 있는 복수 개의 부하;를 포함하고, 상기 보조 신호에 기초하여, 상기 데이터 송신부의 전체 부하 값이 변경되도록 상기 복수 개의 부하들의 연결 구조를 변경하는 제어부를 포함할 수 있다.
다른 실시예에 따른 PAM 4 신호를 이용한 데이터 반전 회로는, PAM 4 신호에 기초한 입력 데이터를 생성하는 데이터 생성부, 상기 입력 데이터에 포함되어 있는 현재 시점의 복수 개의 데이터 심볼 들과 이전 시점의 복수 개의 데이터 심볼들과의 관계를 분석하여 상기 데이터에 대한 인코딩 여부를 결정하는 보조 신호를 생성하는 보조 신호 생성부, N개의 데이터 라인을 포함하는 채널 및 상기 보조 신호에 기초하여 상기 입력 데이터에 대해 DBI(Data Bus Inversion) 인코딩을 수행하여 인코딩 데이터를 생성하고, 생성된 상기 인코딩 데이터를 상기 채널을 통해 데이터 수신부로 송신하는 데이터 인코딩부를 포함할 수 있다.
상기 보조 신호 생성부는, 상기 N개의 데이터 라인에 각각 대응되는 현재 시점의 데이터 심볼과 이전 시점의 심볼 신호의 레벨(level) 차이 값에 기초하여 상기 데이터에 대한 인코딩 여부를 결정할 수 있다.
상기 보조 신호 생성부는, 상기 N개의 데이터 라인에 각각 대응되는 현재 시점의 심볼 신호와 다음 시점의 심볼 신호의 차이 값을 모두 합한 스택 값이 미리 설정된 값을 초과하는 경우 상기 입력 데이터에 대해 인코딩을 하기로 결정하고, 초과하지 않는 경우 상기 입력 데이터에 대해 인코딩을 하지 않기로 결정할 수 있다.
상기 미리 설정된 값은, 상기 N개의 데이터 라인에서 발생할 수 있는 최대 스택 값의 1/2 값을 의미하며, 상기 최대 스택 값은 3xN으로 결정될 수 있다.
상기 보조 신호 생성부는, 상기 N개의 데이터 라인에 각각 대응되는 현재 시점의 심볼 신호와 다음 시점의 심볼 신호의 차이 값인 제1스택 값을 모두 합한 값과 상기 N번째 데이터 라인에 입력되는 현재 시점의 데이터 심볼과 N+1번째 데이터 라인에 입력되는 현재 시점의 데이터 심볼을 바꾼 변조 데이터를 기준으로, 상기 N개의 데이터 라인에 각각 대응되는 현재 시점의 심볼 신호와 다음 시점의 심볼 신호의 차이 값인 제2스택 값을 모두 합한 값을 기초로, 상기 입력 데이터에 대한 인코딩 여부를 결정할 수 있다.
상기 보조 신호 생성부는, 상기 제1스택 값을 모두 합한 값이 상기 제2스택 값을 모드 합한 값보다 큰 경우 상기 입력 데이터에 대해 인코딩을 하기로 결정하고, 상기 제1스택 값을 모두 합한 값이 상기 제2스택 값을 모드 합한 값보다 작은 경우 상기 입력 데이터에 대해 인코딩을 하지 않기로 결정할 수 있다.
상기 보조 신호 생성부는, 상기 보조 신호를 NRG(Non-Return to Zero) 신호로 생성하고, 상기 입력 데이터에 대해 인코딩을 결정한 한 경우 데이터 심볼이 1인 보조 신호를 생성하고, 상기 입력 데이터에 대해 인코딩을 하지 않기로 결정한 한 경우 데이터 심볼이 0인 보조 신호를 생성할 수 있다.
상기 데이터 인코딩부는, 상기 보조 신호 생성부로부터 데이터 심볼이 1인 보조 신호를 수신한 경우, 상기 N번째 데이터 라인에 입력되는 현재 시점의 데이터 심볼과 N+1번째 데이터 라인에 입력되는 현재 시점의 데이터 심볼을 바꾸는 제3인코딩을 수행하여 상기 인코딩 데이터를 생성하고, 상기 보조 신호 생성부로부터 데이터 심볼이 0인 보조 신호를 수신한 경우, 상기 입력 데이터를 그대로 상기 인코딩 데이터로 생성할 수 있다.
일 실시예에 따른 PAM 4 신호를 이용한 데이터 반전 회로는 PAM 4 신호에 기초한 입력 데이터를 생성하는 데이터 생성부, N개의 데이터 라인을 포함하는 채널, 상기 입력 데이터에 포함되어 있는 복수 개의 데이터 심볼들의 각각의 개수에 기초하여 상기 입력 데이터에 대해 제1인코딩을 수행할지 여부를 결정하는 제1보조 신호를 생성하는 제1보조 신호 생성부, 상기 제1보조 신호에 기초하여 상기 입력 데이터에 대해 상기 제1인코딩을 수행하여 중간 데이터를 생성하는 제1데이터 인코딩부, 상기 중간 데이터에 포함되어 있는 현재 시점의 복수 개의 데이터 심볼들과 이전 시점의 복수 개의 데이터 심볼들과의 관계를 분석하여 상기 중간 데이터에 대한 제3인코딩 여부를 결정하는 제2보조 신호를 생성하는 제2보조 신호 생성부 및 상기 제2보조 신호에 기초하여 상기 중간 데이터에 대해 상기 제3인코딩을 수행하여 인코딩 데이터를 생성하고, 생성된 인코딩 데이터를 상기 채널을 통해 데이터 수신부로 송신하는 제2데이터 인코딩부를 포함할 수 있다.
상기 제1인코딩은, 상기 입력 데이터 중 데이터 심볼이 1인 데이터 심볼을 0으로 반전시키고, 데이터 심볼인 0인 데이터 심볼을 1로 반전시키는 인코딩이다.
상기 제2인코딩은, 상기 N번째 데이터 라인에 입력되는 현재 시점의 데이터 심볼과 N+1번째 데이터 라인에 입력되는 현재 시점의 데이터 심볼을 바꾸는 인코딩인, PAM 4 신호를 이용한 데이터 반전 회로.
본 발명의 일 실시예에 따른 PAM 4 신호를 이용한 데이터 반전 회로는 PAM 4 신호를 이용한 데이터 전송 방법에 있어서, 입력된 데이터에 대해 상황에 맞춘 인코딩을 실행한 후 데이터를 전송함으로써, 보다 효율적으로 데이터를 전송할 수 있는 장점이 존재한다.
구체적으로, 일 실시예에 따른 PAM 4 신호를 이용한 데이터 반전 회로는 PAM 4 신호에 맞춘 DBI-DC 인코딩을 효과적으로 수행함으로써, 드라이버단에서의 전력 소모를 줄여, 회로 전체의 전력 소비 효율을 증가시킬 수 있는 장점이 존재한다.
또한, 상황에 맞춘 DBI-Cross 인코딩을 통해 드라이버단에서 전력 소모를 낮춤과 동시에 데이터를 송신함에서 있어서 채널을 통해 발생될 수 있는 누화 현상을 최소화시켜 회로 전체의 안전성 및 전력의 효율성을 높일 수 있는 장점이 존재한다.
본 발명의 효과들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재들로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 데이터 반전 회로의 일부 구성 요소들 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따른 데이터 반전 회로의 일부 구성 요소를 도시한 회로도이다.
도 3은 본 발명의 일 실시예에 따라 데이터 심볼이 00 또는 01인 경우의 부하 소자들의 연결 형태를 도시한 도면이다.
도4는 본 발명의 일 실시예에 따라 데이터 심볼이 10 또는 11인 경우의 부하 소자들의 연결 형태를 도시한 도면이다.
도 5는 본 발명에 따른 제1인코딩 방법을 설명하기 위해, 입력되는 데이터와, 그에 따른 기준값 및 보조 신호, 그리고 보조 신호의 종류에 따라 인코딩된 데이터를 표시한 도면이다.
도 6은 데이터 전송 과정에서 발생할 수 있는 누화 현상을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 제3인코딩 방법이 적용되는 기준을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따라 데이터 인코딩부의 제3인코딩 방법을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 제3인코딩 방법이 8개의 데이터 라인에 적용되는 기준을 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시예에 따라 제3인코딩 방법이 8개의 데이터 라인에 적용되는 방법을 설명하기 위한 도면이다.
도 11은 본 발명의 일 실시예에 따른 제3인코딩이 적용되는 또 다른 실시예를 설명하기 위한 도면이다.
도 12는 도 11에 따른 제3인코딩이 8개의 데이터 라인에 적용되는 방법을 설명하기 위한 도면이다.
도 13은 본 발명의 또 다른 실시예인 데이터 반전 회로의 일부 구성 요소를 도시한 블록도이다.
도 14는 본 발명의 일 실시예에 따른 제4인코딩을 설명하기 위한 표이다.
도 15는 본 발명에 따른 효과를 설명하기 위해 각각의 인코딩 방식을 적용한 경우와 그렇지 않은 경우의 소모 전력의 변화를 도시한 표이다.
도 2는 본 발명의 일 실시예에 따른 데이터 반전 회로의 일부 구성 요소를 도시한 회로도이다.
도 3은 본 발명의 일 실시예에 따라 데이터 심볼이 00 또는 01인 경우의 부하 소자들의 연결 형태를 도시한 도면이다.
도4는 본 발명의 일 실시예에 따라 데이터 심볼이 10 또는 11인 경우의 부하 소자들의 연결 형태를 도시한 도면이다.
도 5는 본 발명에 따른 제1인코딩 방법을 설명하기 위해, 입력되는 데이터와, 그에 따른 기준값 및 보조 신호, 그리고 보조 신호의 종류에 따라 인코딩된 데이터를 표시한 도면이다.
도 6은 데이터 전송 과정에서 발생할 수 있는 누화 현상을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 제3인코딩 방법이 적용되는 기준을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따라 데이터 인코딩부의 제3인코딩 방법을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 제3인코딩 방법이 8개의 데이터 라인에 적용되는 기준을 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시예에 따라 제3인코딩 방법이 8개의 데이터 라인에 적용되는 방법을 설명하기 위한 도면이다.
도 11은 본 발명의 일 실시예에 따른 제3인코딩이 적용되는 또 다른 실시예를 설명하기 위한 도면이다.
도 12는 도 11에 따른 제3인코딩이 8개의 데이터 라인에 적용되는 방법을 설명하기 위한 도면이다.
도 13은 본 발명의 또 다른 실시예인 데이터 반전 회로의 일부 구성 요소를 도시한 블록도이다.
도 14는 본 발명의 일 실시예에 따른 제4인코딩을 설명하기 위한 표이다.
도 15는 본 발명에 따른 효과를 설명하기 위해 각각의 인코딩 방식을 적용한 경우와 그렇지 않은 경우의 소모 전력의 변화를 도시한 표이다.
본 명세서에 기재된 실시예와 도면에 도시된 구성은 개시된 발명의 바람직한 일 예에 불과할 뿐이며, 본 출원의 출원시점에 있어서 본 명세서의 실시예와 도면을 대체할 수 있는 다양한 변형 예들이 있을 수 있다.
본 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 직접적으로 연결되어 있는 경우뿐 아니라, 간접적으로 연결되어 있는 경우를 포함하고, 간접적인 연결은 무선 통신망을 통해 연결되는 것을 포함한다.
또한, 본 명세서에서 사용한 용어는 실시예를 설명하기 위해 사용된 것으로, 개시된 발명을 제한 및/또는 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는다.
또한, 본 명세서에서 사용한 "제1", "제2" 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
또한, "~부", "~기", "~블록", "~부재", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미할 수 있다. 예를 들어, 상기 용어들은 FPGA(field-programmable gate array) / ASIC(application specific integrated circuit) 등 적어도 하나의 하드웨어, 메모리에 저장된 적어도 하나의 소프트웨어 또는 프로세서에 의하여 처리되는 적어도 하나의 프로세스를 의미할 수 있다.
각 단계들에 붙여지는 부호는 각 단계들을 식별하기 위해 사용되는 것으로 이들 부호는 각 단계들 상호 간의 순서를 나타내는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.
이하에서는 본 발명에 따른 실시예를 첨부된 도면을 참조하여 상세히 설명하며, 본 발명의 명칭은 'PAM 4 신호를 이용한 데이터 반전 회로'로 하였지만 이하 설명의 편의를 위해 '데이터 반전 회로'로 지칭하여 설명하도록 한다.
도 1은 본 발명의 일 실시예에 따른 데이터 반전 회로(100)의 일부 구성 요소들 도시한 블록도이며, 도 2는 본 발명의 일 실시예에 따른 데이터 반전 회로의 일부 구성 요소를 도시한 회로도이다. 도 3은 본 발명의 일 실시예에 따라 데이터 심볼이 00 또는 01인 경우의 부하 소자들의 연결 형태를 도시한 도면이고, 도4는 본 발명의 일 실시예에 따라 데이터 심볼이 10 또는 11인 경우의 부하 소자들의 연결 형태를 도시한 도면이다.
도 1을 참조하면, 일 실시예에 따른 데이터 반전 회로(100)는 입력 데이터를 생성하는 데이터 생성부(110), 생성된 입력 데이터를 채널을 통해 송신하는 데이터 송신부(160), 데이터의 이동 경로로서 복수 개의 데이터 라인을 포함하는 채널(170), 채널(170)을 통해 데이터를 수신하는 데이터 수신부(180)를 포함할 수 있으며, 데이터 송신부(160)는 데이터 인코딩부(120), 보조 신호 생성부(130) 및 부하부(140)를 포함할 수 있다.
데이터 생성부(110)는 입력 데이터를 생성하는 구성요소로서, 생성된 입력 데이터는 데이터 송신부(160)로 송신되며, 생성된 데이터는 PAM 4 신호에 의해 송신될 수 있는 데이터를 의미한다.
데이터 송신부(160)는 데이터 생성부(110)에 의해 생성된 데이터를 PAM 4(Four-Level Pulse Amplitude Modulation) 신호를 사용하여 채널(170)을 통해 데이터 수신부(180)로 송신한다.
본 발명의 전반에 걸쳐 적용되는 PAM 4신호는 PAM2 신호와 다르게 기본적으로 한 번에 데이터를 송신할 때, 1bit 가 아닌 2bit 신호를 송신하는 신호를 의미한다.
또한, 도 1에서는 채널(170)을 단일한 구성 요소로 표현하였지만, 이는 설명의 편의를 위한 것이고 실제 채널(170)은 복수 개의 데이터 라인을 포함하고 있으며, 데이터 인코딩부(120)에 의해 인코딩된 데이터는 상기 복수 개의 데이터 라인을 통해 데이터 수신부(180)로 송신될 수 있다. 일 예로 채널(170)은 4개의 데이터 라인 또는 8개의 데이터 라인을 포함할 수 있다.
데이터 인코딩부(120)는 데이터 생성부(110)가 생성한 입력 데이터에 대해 보조 신호 생성부(130)가 생성한 보조 신호를 기초로 데이터 생성부(110)에 의해 생성된 데이터들을 인코딩할 수 있다.
본 발명에서 인코딩이 의미하는 바는, 일반적으로 데이터 버스 반전 회로에 의해 이루어지는 인코딩을 말한다. 예를 들어 송신하는 데이터 중 과반수 이상의 데이터가 하이(Hihg) 값을 가지는 경우, 현재 데이터를 반전시켜 전송하고, 그렇지 않은 경우에는 현재의 데이터를 반전하지 않고 그대로 송신하는 것을 의미한다. 또한, 본 발명에서는 후술하겠지만 입력 데이터에 대해 인코딩을 수행함에 있어서 단순히 데이터를 반전하는 인코딩 방식만이 적용되는 것이 아니라, 입력된 데이터들의 순서 및 입력되는 위치를 바꾸는 방법으로 입력 데이터에 대해 인코딩을 수행할 수 도 있다. 이에 대한 자세한 설명은 후술하도록 한다.
데이터 인코딩부(120)가 수행하는 데이터 인코딩 방법은, 대표적으로 DBI(Data Bus Inversion) 인코딩 방식이 적용될 수 있는데, 구체적으로 송신하는 데이터의 0과 1을 반전하여, 데이터가 채널을 통과하기 이전 단에서 전력의 소모가 최소화 되도록 하는 DBI-DC 인코딩 방법과, 특정 데이터 라인에서 시간에 따른 데이터 심볼(data symbol) 값의 변화로 인해, 이에 인접한 데이터 라인에 발생하는 누화 현상을 방지하기 위한 DBI-AC 인코딩 방법이 적용될 수 있다. 후술할 본 발명에서 사용되는 제1인코딩과 제2인코딩은 상기 DBI-DC 인코딩과 연관되어 있는 인코딩이고, 제3인코딩은 DBI-AC 인코딩과 연관이 있으며, 제4인코딩은 DBI-DC 인코딩 및 DBI-AC 인코딩과 연관성이 있는 인코딩에 해당한다.
따라서, 데이터 인코딩부(120)는 수행하는 인코딩 방식에 따라 DBI-DC 인코딩부, DBI-AC 인코딩부 또는 DBI 인코딩부로 호칭될 수 있다. 본 발명에 따른 데이터 인코딩부(120) DBI-DC 방식의 인코딩 방법과DBI-AC 방식에 대한 자세한 설명은 후술하도록 한다.
보조 신호 생성부(130)는 데이터 생성부(110)에 의해서 생성된 데이터의 패턴을 분석하여, 데이터 인코딩부(120)가 수행해야 하는 인코딩 정보를 포함하고 있는 보조 정보를 생성하고, 생성된 보조 정보를 데이터 인코딩부(120)로 송신할 수 있다.
일 예로, 데이터 인코딩(120)부가 입력된 데이터에 대해 DBI 인코딩을 수행하는 경우 보조 정보는 데이터 인코딩부(120)가 DBI 인코딩 방식 중 어떠한 방식의 DBI 인코딩을 수행해야 하는지에 정보를 포함하고 있는 DBI 플래그(Flag) 정보일 수 있다.
보조 신호 생성부(130)가 생성되는 보조 신호는 1bit NRZ(Non Return-to-Zero) 신호 또는 2bit의 PAM 4 신호로 구현될 수 있다. NRZ 신호는 1bit 신호이기 때문에 데이터 심볼(Data symbol)이 0 또는 1로만 생성되나, PAM 4 신호의 경우 한 번에 2bit 의 신호를 송신할 수 있기 때문에 데이터 심볼은 '00', '01', '10','11' 총 4종류의 신호가 생성될 수 있다.
일 예로, 보조 신호가 PAM 4 신호로 송신되는 경우 2bit의 DBI-Flag 신호를 전달할 수 있기 때문에, DBI-Flag 신호에는 DBI-DC 인코딩 방법만을 사용한 인코딩 신호, DBI-AC 인코딩 방법만을 사용한 인코딩 신호, 또는 DBI-DC 인코딩 방법과 DBI-AC 인코딩 방법을 모두 사용한 신호에 대한 정보가 포함될 수 있다.
한편, 도 1에서는 설명의 편의를 위해 데이터 인코딩부(120)와 보조 신호 생성부(130)를 별도의 구성 요소로 도시하여 설명하였지만, 이는 설명의 편의를 위한 것이고, 다른 실시예에 따라 데이터 인코딩부(120)가 보조 신호 생성부(130)가 하는 역할을 동시에 수행할 수 있도록 구현될 수 있다.
부하부(140)는 복수 개의 부하를 포함하고 있으며, 채널(170)을 통해 송신되는 데이터에 따라 부하부(140)에 있는 부하들의 연결 형태가 달라진다.
일 예로, 채널과 연결되어 있는 부하가 2개이고, NRZ 방식으로 데이터가 송신되는 경우, 데이터 심볼은 '0'과 '1'이므로 POD (Pseudo Open Drain) termination에 따라 입력 데이터의 데이터 심볼이 0인 경우, 그라운드와 연결되어 있는 부하가 채널과 연결되어 전압(VDD)으로부터 그라운드(GND)까지 채널을 통해 전류가 흐르게 된다.
이와 반대로 데이터 심볼이 1인 경우 그라운드가 아닌 인가 전압과 연결되어 있는 부하가 채널과 연결되므로 전류가 흐르지 않아 전력이 소모되지 않는다.
따라서, 데이터 반전 회로(100)는 데이터 심볼이 1인 경우 부하부에서 전력이 소모되고, 데이터 심볼이 0인 경우 부하부에서 전력이 소모되지 않는 특성을 가지게 되므로, DBI-인코딩은 이러한 특징을 이용하여 인코딩을 수행할 수 있다. 즉, 입력되는 데이터의 데이터 심볼을 분석하여 일정 개수 기준으로 1의 개수가 0의 개수보다 적은 경우, 데이터를 반전시켜 1의 개수가 0의 개수보다 많게 만들어 전체 회로에서 소비되는 전력을 작게 만들어서 전력의 소모를 줄일 수 있다. 그리고 이러한 방법에 따른 인코딩 방식을 본 발명에서는 DBI-DC 인코딩 방식 또는 제1인코딩 방식이라 지칭할 수 있다.
한편, 데이터 인코딩부(120)의 실시예에 따라 입력되는 데이터에 대해 PAM 4 신호에 기초한 인코딩을 하게 되면, PAM 4 신호의 경우 앞서 살펴본 바와 같이 데이터 심볼이 총 '00', '01', '10','11' 4종류의 신호로 생성되므로, 각각의 신호에 따라 채널과 연결되는 부하들의 연결 형태가 NRZ 신호 때와 다르게 형성될 수 있다.
일 예로, 도 2에 도시된 바와 같이 부하부(140)에는 4개의 부하(M1, M2, M3. M4)를 포함할 수 있으며, 4개의 부하들은 제어부(150)의 스위치(S1, S2)들에 대한 온/오프 방법에 따라, 채널(170)과 연결되는 부하들의 연결 형태가 변경될 수 있다. 도 2에서는 일 예로 스위치를 2개 도시하였을 뿐, 본 발명의 스위치의 개수가 2개로 한정되는 것은 아니다.
도 3을 참고하여 데이터 심볼의 종류에 따라 부하부(140)의 부하들이 채널(170)과 연결되는 연결 형태를 살펴보면, 데이터 심볼이 '00인 경우 도 3의 (a)에 도시된 바와 같이 제어부(150)의 제어에 의해 제1부하(M1)와 제3부하(M3)만 채널(170)에 연결되는 구조를 가지게 된다. 그리고 이러한 경우 전체 부하 값은 (M1//M3)+M0가 되므로 전체 소비 전력은 (Vdd^2)/((M1//M3)+M0) 이 된다.
만약, 도 3의 (a)에서 M0이 50옴(ohm)이고, M1이 150옴, M3가 75옴인 경우 전체 저항은 100옴이 되며, 이하 설명의 편의를 위해 데이터 심볼이 00인 경우 소비되는 전력을 제1소비전력이라 지칭한다.
데이터 심볼이 '01'인 경우 도 3의 (b)에 도시된 바와 같이 제어부(150)의 제어에 의해 제2부하(M2)와 제3부하(M3)만 채널(170)에 연결되는 구조를 가지게 된다. 그리고 이러한 경우 전체 부하 값은 (M0//M2)+M3가 되므로 전체 소비 전력은 (Vdd^2)/((M0//M2)+M3) 가 된다.
만약, 도 3의 (b)에서 M0이 50옴이고, M2가 150옴, M3가 75옴인 경우 전체 저항은 112.5옴이 되며, 이하 설명의 편의를 위해 데이터 심볼이 01인 경우 소비되는 전력을 제2소비전력이라 지칭한다.
데이터 심볼이 '10'인 경우 도 4의 (a)에 도시된 바와 같이 제어부(150)의 제어에 의해 제1부하(M1)와 제4부하(M4)만 채널(170)에 연결되는 구조를 가지게 된다. 그리고 이러한 경우 전체 부하 값은 (M0//M4)+M1가 되므로 전체 소비 전력은 (Vdd^2)/((M0//M4)+M1) 가 된다.
만약, 도 4의 (a)에서 M0이 50옴이고, M1dl 150옴, M4가 75옴인 경우 전체 저항은 180옴이 되며, 이하 설명의 편의를 위해 데이터 심볼이 10인 경우 소비되는 전력을 제3소비전력이라 지칭한다.
데이터 심볼이 '11'인 경우 도 4의 (b)에 도시된 바와 같이 제어부(150)의 제어에 의해 제2부하(M2)와 제4부하(M4)만 채널(170)에 연결되는 구조를 가지게 된다. 그리고 이러한 경우 전체 부하 값은 (M0//M2//M4)가 되는데, 어느 부하도 그라운드와 연결되는 구조를 취하고 있지 않기 때문에 전압의 차이가 없어 전류가 흐르지 않게 된다. 따라서, 이러한 경우에는 전체 소비 전력은 0이 된다. 이하 설명의 편의를 위해 데이터 심볼이 11인 경우 소비되는 전력을 제4소비전력이라 지칭한다.
즉, 데이터 심볼에 따른 전력 소모는 데이터 심볼이 00이 가장 크고, 01, 10, 11 순서로 전력이 작게 소모되므로, 본 발명에 따른 데이터 반전 회로(100)는 입력된 데이터에 대해 데이터 심볼의 배치 및 형태를 분석하여, 데이터를 반전시켜 전송하는 것에 전력을 적게 소모한다고 판단된 경우, 데이터를 반전하는 인코딩을 수행함으로써, 회로 전체의 전력 효율을 높일 수 있다. 이하 데이터 인코딩 방법에 대해 구체적으로 알아본다.
도 5는 본 발명에 따른 제1인코딩 방법을 설명하기 위해, 입력되는 데이터와, 그에 따른 기준값 및 보조 신호, 그리고 보조 신호의 종류에 따라 인코딩된 데이터를 표시한 도면이다.
본 발명에 따른 제1인코딩 방법은, 입력되는 데이터는 PAM 4 신호에 기초한 데이터이나, 인코딩을 하는데 기준이 되는 보조 신호는 NRZ 신호인 경우, 보조 신호 생성부(130)에서 생성된 보조 신호를 기초로 데이터 인코딩부(120)에서 입력 데이터에 대해 인코딩을 하는 방법을 의미한다.
데이터가 NRZ 신호에 기초한 데이터의 경우, 데이터의 데이터 심볼이0하고 1 두 가지 밖에 없지만 PAM 4 신호의 경우 데이터 심볼이 '00', '01', '10', '11' 총 네 가지가 존재하므로, PAM 2신호에 따른 DBI 인코딩을 진행하게 되면 회로 전체의 전력 소모가 오히려 증가할 수 있다. 따라서, 인코딩 방법에 대한 정보를 포함하고 있는 보조 신호, 다시 말해서 DBI-DC flag를 NRZ 신호(0 또는 1)로 설계할 경우, 어떠한 기준에 의해 설계를 할지 그 기준식이 필요하다.
데이터의 반전 여부의 기준이 되는 기준식을 결정하기 위해서는 도 3과 도 4에서 분석한 바와 같이 PAM 4 신호에서 데이터 심볼마다 데이터 송신부(160)에서의 전력 소모가 어떻게 발생하는지를 계산을 한 후, 데이터를 반전하기 이전의 회로 전체의 전력 소모량과 데이터를 반전한 후의 회로 전체의 전력 소모량을 비교한다.
만약, 데이터를 반전한 경우의 전력 소모량이 반전하기 전의 전력 소모량보다 작은 경우 데이터를 반전하고, 데이터를 반전한 경우의 전력 소모량이 반전한 후의 전력 소모량보다 큰 경우에는 데이터를 반전하지 않고 입력된 데이터를 그대로 송신한다.
이를 식을 이용하여 표현하면, 입력된 데이터에 대해 데이터 심볼을 분석하여, '00'의 개수를 x로, '01'의 개수를 y로, '10'의 개수를 z로, '11'의 개수를 w로 정의하한다면, 데이터를 반전하지 않는 경우 회로 소비 전력 W1은 아래 식 (1)과 같이 정의 될 수 있다.
식(1) -W1 = 제1소비전력*x + 제2소비전력*y + 제3소비전력*z + 제4소비전력*w
그리고, 일 예로 M0이 50옴이고, M2가 150옴, M3가 75옴. M4가 75옴이며, 입력 전압(Vdd)가 1V 인 경우, 식 (1)은 아래 식 (2)와 같이 표현될 수 있다.
이와 반대로, 입력된 데이터에 대해 반전한 경우의(0을 1로 반전하고, 1을 0으로 반전한 경우) 회로 소비 전력 W2는 아래 식 (2)와 같이 표현될 수 있다.
식(3) - W2 = 제1소비전력*x + 제2소비전력*y + 제3소비전력*z + 제4소비전력*w
그리고, 일 예로 M0이 50옴이고, M2가 150옴, M3가 75옴. M4가 75옴이며, 입력 전압(Vdd)가 1V 인 경우, 식 (1)은 아래 식 (3)과 같이 표현될 수 있다.
즉, 데이터 인코딩부(120)는 W1과 W2를 비교하여 W1이 큰 경우 데이터를 반전해서 보내는 것이 전력 효율이 좋으므로 데이터를 반전해서 송신하고, W1이 작은 경우, 데이터를 반전하지 않고 그대로 송신하는 것이 전력 효율이 더 좋으므로 데이터를 반전하지 않고 그대로 송신한다.
그리고 이를 다르게 표현하면, 데이터 반전의 기준의 되는 식은 반전이 되기 전의 소비 전력인 W1이 반전이 된 후의 소비 전력 W2 보다 큰 경우를 말하는 경우이므로, 식 (2)과 식(4)를 정리하면 반전이 되는 기준 식은 아래 식(5)와 같이 정리될 수 있으며, 식 (5)에 따라 산출된 값을 기준값이라 지칭할 수 있다.
즉, 데이터 인코딩부(120)는 데이터 심볼의 각각의 개수를 계산한 후, 식 (5)를 만족하는지 여부를 판단하고, 만족하는 경우 입력 데이터를 반전해서 송신하고, 그렇지 않는 경우 입력 데이터를 반전하지 않고 그대로 송신한다.
일 예로, 도 5에 도시되어 있는 입력 데이터를 기준으로 설명하면, 첫번째로 들어오는 입력 데이터가 00 / 00 / 00 / 00 인 경우 00의 개수가 4개이고 그 외의 개수는 0이므로 x=4, y=0, z=0, w=0 이 되며, 이를 식 (5)에 대입하면 기준값은 12가 된다. 따라서, 보조 신호 생성부(130)는 데이터 인코딩부(120)로 데이터를 인코딩하라는 보조 신호 '1'을 생성하여 송신하게 되며, 보조 신호 값을 1로 수신 받은 데이터 인코딩부(120)를 입력 데이터를 반전하여 11 / 11 / 11 / 11로 생성한 후, 생성한 인코딩 데이터를 송신부로 송신한다.
이와 반대로, 6번째로 들어오는 입력 데이터가 00 / 01/ 11 / 11 인 경우 00의 개수가 1개이고, 01의 개수는 1개, 11의 개수가 3개이므로 x=1, y=1, z=0, w=2가 되며, 이를 식 (5)에 대입하면 기준값은 -2가 된다. 따라서, 보조 신호 생성부(130)는 데이터 인코딩부(120)로 데이터를 인코딩하지 말고 그대로 입력 데이터를 송신하라는 보조 신호 '0'을 생성하여 송신한다.
제1인코딩 방법의 경우 입력 데이터는 PAM 4 신호에 기초한 데이터이지만, 보조 신호는 NRZ 신호에 해당하므로 0 또는 1의 신호만 생성할 수 있다. 따라서, 데이터 인코딩부(120)는 보조 신호 생성부(130)로부터 0의 신호를 수신 받으면 입력 데이터에 대해 반전을 하여 인코딩을 하고 인코딩된 데이터를 송신하고, 1의 신호를 수신 받으면 입력 데이터에 대해 반전을 하지 않고 그대로 송신한다.
한편, 제1인코딩 방법은 보조 신호를 NRZ 신호로 생성하는 경우를 전제로 한 방법이고, 본 발명의 다른 실시예로서 보조 신호를 PAM 4 신호로 생성하여, 이를 기초로 인코딩을 수행할 수 있다.
보조 신호를 PAM 4 신호로 구현하 경우 NRZ신호와 달리 2bit의 신호로 보조 신호가 생성되므로 제1인코딩의 가중치와 다른 가중치가 적용되는데, 앞서 설명한 바와 같이 데이터 심볼이 11이 전력을 가장 적게 소모하므로(사실상 전력 소모하지 않음), 제2인코딩 방식은 입력 데이터에서 가장 높은 비율을 차지하고 있는 데이터 심볼을 데이터 심볼 11로 교환하는 방법을 의미한다.
예를 들어 데이터 심볼 중 '00'의 개수가 4개이고 11의 개수가 1개이면 보조 신호를 '00'로 설정해 데이터 심볼 00의 개수를 1개로 바꾸고, 데이터 심볼 11의 개수를 4개로 바꾸는 방법으로 제2인코딩을 수행할 수 있다. 즉, 각 데이터 심볼의 종류별 개수를 판별해, 가장 비율이 높은 데이터 심볼을 전력의 사용이 가장 낮은 데이터 심볼 11로 교환함으로써, 회로 전체의 전력 소모를 낮출 수 있는 장점이 존재한다.
지금까지 회로 전체의 전력 소모를 줄일 수 있는 제1인코딩과 제2인코딩에 대해 알아보았다. 이하 도면을 통해 데이터 반전 회로에서 발생할 수 있는 누화 현상에 대해 설명하고, 누화 현상을 줄일 수 있는 방법에 대해 구체적으로 알아본다.
도 6은 데이터 전송 과정에서 발생할 수 있는 누화 현상을 설명하기 위한 도면으로서, 도 6의 (a)는 T0 시간과 T1시간에 8개의 데이터 라인에 입력되는 데이터 심볼을 도시한 표이고, 도 6의 (b)는 제2데이터 라인과 제4데이터 라인이 발생하는 누화 현상을 설명하기 위한 도면이다.
누화(cross-talk) 현상이란, 서로 다른 전송 선로 상의 신호가 유도성 결합 따위의 전기적 결합에 의하여 다른 회선에 영향을 주는 현상으로서, 누화 현상은 통신의 품질을 저하시키는 직접적인 원인이 되며, 이러한 누화 현상은 복수 개의 데이터 라인을 통해 데이터를 전송하는 경우, 어느 한 데이터 라인에서 전송되는 데이터의 변화가 있는 경우 자주 발생된다.
이를 도 6을 통해 설명하며, 채널이 8개의 데이터 라인(D1~D8)을 포함하고 있으면서 도 6의 (a)에 도시된 바와 특정 T0시간에 8개의 데이터 라인이 모두 0의 신호가 입력되고, T1 시간에 제1데이터 라인(D1)과 제3데이터 라인(D3)에 1의 신호가 입력된 경우, 제1데이터 라인(D1)과 제3데이터 라인(D3)에는 도 6의 (b)에 도시된 바와 같이 신호의 크기의 변화가 발생한다.
따라서, 이렇게 특정 데이터 라인에 신호의 크기가 변화가 있는 경우 유도성 결합 따위의 전기적 결합에 의해 인접해 있는 다른 데이터 라인에 누화 현상이 발생한다. 즉, 도면에 도시된 바와 같이 제2데이터 라인(D2)은 제1데이터 라인(D1)과 제3데이터 라인(D3)의 신호 변화에 의해 누화 현상이 발생하고, 제4데이터 라인(D4)은 제3데이터 라인(D3)의 신호 변화에 의해 누화 현상이 발생하며, 제2데이터 라인(D2)는 제4데이터 라인(D4)과 달리 양 쪽의 데이터 라인의 신호 변화에 영향을 받으므로, 제4데이터 라인(D4)보다 더 큰 누화 현상이 발생한다.
따라서, 누화 현상을 억제하기 위해서 데이터 라인에서 신호의 변화가 없도록 해야 하는데, 데이터를 송신하는데 신호의 변화 자체가 발생하지 않도록 데이터를 송신할 수 는 없으므로, 채널에 포함되어 있는 복수 개의 데이터 라인에서 누화 현상이 발생하는 라인의 개수를 최소화하는 것이 누화 현상으로 인해 발생되는 문제점을 줄일 수 있다.
구체적으로, 이를 자세히 살펴보면, 현재 보낼 데이터와 이전에 보낸 데이터를 비교를 통해 데이터 심볼이 '0'에서 '1'로 변화하는 수가 과반수를 넘는 경우, 현재 보낼 데이터의 값들을 반전시켜 전송을 하게 되면 데이터 심볼이 0에서 1로 변화하는 수가 과반수를 넘지 않게 되므로 데이터 라인 전체에서 발생하는 누화의 수를 줄일 수 있다.
예를 들어, 현재 보낼 데이터를 기준으로8개의 데이터 라인 중 5개의 데이터 라인에서 데이터 심볼의 변화가 있고, 3개의 데이터 라인에서 데이터 심볼의 변화가 없는 경우, 현재 보낼 데이터를 반전시켜서 송신하면 3개의 데이터 라인에서만 데이터 심볼의 변화가 발생하고 5개의 데이터 라인에서는 데이터 심볼의 변화가 발생하지 않으므로, 회로 전체에서 누화가 발생하는 데이터 라인의 개수를 5개에서 3개로 줄일 수 있다.
이와 반대로 현재 보낼 데이터를 기준으로8개의 데이터 라인 중 3개의 데이터 라인에서 데이터 심볼의 변화가 있고, 5개의 데이터 라인에서 데이터 심볼의 변화가 없는 경우, 현재 보낼 데이터를 반전시켜서 송신하면, 오히려 5개의 데이터 라인에서 누화 현상이 발생하여, 데이터를 반전시켜 송신하는 경우보다 누화 현상이 발생하는 데이터 라인의 개수가 많아지므로, 이러한 경우에는 데이터를 반전시키지 않고 그대로 송신할 수 있다. 데이터 심볼의 변화가 발생하고 5개의 데이터 라인에서는 데이터 심볼의 변화가 없어 회로 전체누화 현상이 발생하지 않도록 할 수 있다.
따라서, 본 발명에 따른 데이터 인코딩부(120)는 이러한 방법을 통해 입력 데이터에 대해 제3인코딩을 수행할 수 있는데, 본 발명에 따른 입력 데이터는 PAM 4 신호에 기초한 데이터이므로, 데이터 심볼의 변화를 PAM 4 신호에 맞춰 기준을 세운 후, 그 기준에 맞춰 인코딩을 수행할 수 있다.
구체적으로, PAM 4 신호의 경우 데이터 심볼이 00, 01, 10, 11 이렇게 총 4가지고 존재하고, 숫자가 증가할수록 데이터 심볼에 대응되는 전압의 크기에 해당하는 레벨이 증가한다. 예를 들어, 00이 0(V)에 해당하고 11이 X(V)에 해당한다면, 01은 1/3(V)에 해당하고, 10은 2/3(V)에 해당한다. 즉, 00에서 하나씩 데이터 심볼이 증가할수록 데이터의 레벨은 균등하게 하나의 레벨(Level)씩 오르게 된다.
따라서, 데이터를 전송함에 있어서 시간의 흐름에 따라 데이터 심볼의 변화가 발생하게 되면 그 만큼의 전압의 레벨의 변화가 발생하게 되고, 이러한 변화가 많이 발생할수록 데이터 라인 전체에 발생하는 누화 현상도 그만큼 커지게 된다. 따라서, 이러한 특징을 기초로 입력 데이터를 반전 여부를 결정하면 보다 효율적으로 데이터를 인코딩 할 수 있다. 이하, 도면을 통해 자세히 알아본다.
도 7은 본 발명의 일 실시예에 따른 제3인코딩 방법이 적용되는 기준을 설명하기 위한 도면이고, 도 8은 본 발명의 일 실시예에 따라 데이터 인코딩부의 제3인코딩 방법을 설명하기 위한 도면으로서, 채널에 4개의 데이터 라인이 존재하는 경우를 가정한 경우이며, 데이터 심볼의 레벨의 변화를 스택 값이라 정의한다. 따라서, 데이터 심볼의 변화가 위로든 아래로든1레벨만큼 있는 경우 스택 값은 1이 되며, 데이터 심볼의 변화가 위로든 아래오든 2레벨만큼 있는 경우 스택 값은 2가 된다.
데이터 인코딩부(120)는 앞서 설명한 바와 같이 데이터 라인에서 발생하는 총 데이터 심볼의 레벨의 변화를 기초로 제3인코딩 여부를 결정할 수 있는데, 이는 총 데이터 라인의 개수와 각각의 데이터 라인에서 계산된 스택 값을 기준으로 판단할 수 있다.
구체적으로, 데이터 인코딩부(120)는 데이터 라인의 개수에 대응하여 발생할 수 있는 최대 스택 값을 계산한 후, 각각의 데이터 라인에 대해 현재 입 데이터와 이전 입력 데이터를 기초로 스택 값을 모두 합한 값을 계산 한 후, 합한 스택 값이 최대 스택 값의 1/2보다 큰 경우 입력 데이터에 대해 인코딩을 행한 후 데이터를 송신하고, 합한 스택 값이 최대 스택 값의 1/2이하인 경우 데이터를 인코딩 하지 않고 그대로 송신한다.
일 예로 도 7의 표를 기준으로 설명하면 데이터 라인은 총 4개이고, 한 개의 데이터 라인에서 발생할 수 있는 최대 스택 값의 변화는 3이므로, 총4개의 데이터 라인에서 발생할 수 있는 최대 스택의 수는 12이다.
그리고, 도 7의 (a)에 기재된 바와 같이 현재 시간인 T1을 기준으로 송신해야 하는 데이터가 제1데이터 라인(D1)은 11, 제2데이터 라인(D2)은 01, 제3데이터 라인(D3)은 01, 제4데이터 라인(D4)은 11이고, 현재 시간보다 한 타임 이전의 시간인 T0에 송신한 데이터가 제1데이터 라인(D1)은 10, 제2데이터 라인(D2)은 11, 제3데이터 라인(D3)은 11, 제4데이터 라인(D4)은 00인 경우, 각각의 데이터 라인에서 발생하는 데이터 심볼의 변화 레벨을 계산하면, 제1데이터 라인(D1)의 경우 총 1레벨의 변화가 발생하므로 스택 값은 1이 되고, 제2데이터 라인(D2)의 경우 총 2레벨의 변화가 발생하므로 스택 값은 2가 된다. 그리고 제3데이터 라인(D3)의 경우 총 2레벨의 변화가 발생하므로 스택 값은 2가 되며, 제4데이터 라인(D4)의 경우 총 3레벨의 변화가 발생하므로 스택 값은 3이 된다. 따라서, 전체 데이터 라인에서의 스택 값의 총 합은 8이 되고, 이는 최대 스택 값인 12의 절반인 6을 초과하므로 이 때는 데이터를 반전한다.
한편, 도 7의 (b)에 기재된 바와 같이 현재 시간인 T1을 기준으로 송신해야 하는 데이터가 제1데이터 라인(D1)은 11, 제2데이터 라인(D2)은 01, 제3데이터 라인(D3)은 01, 제4데이터 라인(D4)은 11이고, 현재 시간보다 한 타임 이전의 시간인 T0에 송신한 데이터가 제1데이터 라인(D1)은 10, 제2데이터 라인(D2)은 01, 제3데이터 라인(D3)은 10, 제4데이터 라인(D4)은 10인 경우, 각각의 데이터 라인에서 발생하는 데이터 심볼의 변화 레벨을 계산하면, 제1데이터 라인(D1)의 경우 총 1레벨의 변화가 발생하므로 스택 값은 1이 되고, 제2데이터 라인(D2)의 경우 총 0레벨의 변화가 발생하므로 스택 값은 0이 된다. 그리고 제3데이터 라인(D3)의 경우 총 2레벨의 변화가 발생하므로 스택 값은 2가 되며, 제4데이터 라인(D4)의 경우 총 1레벨의 변화가 발생하므로 스택 값은 4가 된다.
따라서, 전체 데이터 라인에서의 스택 값의 총 합은 4이 되고, 이는 최대 스택 값인 12의 절반인 6 이하이기 때문에, 이러한 경우 데이터를 반전하게 되면 오히려 최대 스택 값이 증가하게 되어 오히려 누화 현상이 더 크게 발생하므로, 이러한 때에는 데이터 인코딩부(120)는 데이터를 반전하지 않고 그대로 송신한다.
한편, 이러한 스택 값의 계산은 데이터 인코딩부(120)가 하거나 보조 신호 생성부(130)에서 할 수 있다. 만약, 보조 신호 생성부(130)가 제3인코딩에 대한 보조 신호를 생성하는 경우 보조 신호는 NRZ 신호로 송신할 수 있다.
따라서, 보조 신호 생성부(130)가 스택 값 계산 결과에 따라 인코딩을 해야 하는 경우로 판단되면, 인코딩을 해야 하는 보조 신호 1을 생성하여 생선된 보조 신호를 데이터 인코딩부(120)로 송신하고, 인코딩을 할 필요가 없다고 판단이 되면, 인코딩을 할 필요가 없는 보조 신호인 0을 생성하여 생성한 보조 신호를 데이터 인코딩부(120)로 송신한다.
한편, 누화 현상을 억제하기 위해 데이터를 반전하는 제3인코딩을 수행하는 경우, 데이터 인코딩부(120)는 제1인코딩 방법에 따라 데이터를 반전하지는 않고(0을 1로, 1을 0으로), N번째 데이터 라인과 N+1번째 데이터 라인의 데이터 심볼을 변화하는 방법을 인코딩을 수행한다.
즉, 데이터 인코딩부(120)는 제3인코딩을 해야 하는 것으로 판단이 되면, 데이터 인코딩부(120)는 도 8에 도시된 바와 같이 제1 데이터 라인(D1)과 제2 데이터 라인(D2)의 데이터 심볼을 교환하고, 제3 데이터 라인(D3)과 제4 데이터 라인(D4)의 데이터 심볼을 교환하는 방법으로 입력 데이터에 대해 인코딩을 수행할 수 있다. 즉, 입력 데이터의 제1데이터 심볼(S1)을 제2데이터 라인(D2)에 입력하고, 제2데이터 심볼(S2)를 제1데이터 라인(D1)에 입력하고, 제3데이터 심볼(S3)을 제4데이터 라인(D4)에 입력하고, 제4데이터 심볼(S4)를 제3데이터 라인(D3)에 입력하는 방식으로 인코딩을 수행한다.
따라서, 도 7의 (a)에서와 같이 총 스택 값의 합인 8이 최대 스택 값의 절반인 6을 초과하는 경우, 데이터 인코딩부(120)는 인코딩 방식으로 제3인코딩을 수행하며, T1 시간에 송신해야 하는 인코딩 데이터는 표에 도시된 바와 같이 제1데이터 라인(D1)에서는 01, 제2데이터 라인(D2)에서는 11이 되고, 제3데이터 라인(D3)에서는 11, 제4데이터 라인(D4)에서는 01이 된다. 그리고 이렇게 인코딩을 한 후 데이터를 송신하면 도 7의 (a)의 가장 오른쪽 항목에 기재한 바와 같이 총 스택 값이 2가 되므로 이전 총 스택 값인 8보다 작아져, 회로에서 발생하는 누화 현상을 줄일 수 있는 장점이 존재한다.
제3인코딩 방식이 제1인코딩 방식 및 제2인코딩 방식과 다른 방법으로 인코딩을 하는 이유는, 제1인코딩 및 제2인코딩은 전력의 소모를 낮추는데 목적이 있다면, 제3인코딩은 누화 현상을 억제하는데 그 목적이 있는 인코딩 방법에 해당하기 때문이다. 따라서, 누화 현상을 방지하기 위한 인코딩 방식으로 제1인코딩 또는 제2인코딩 방식을 적용하면 오히려 전력의 소모가 증가할 수 있다. 그러나, 제3인코딩 방식으로 데이터를 인코딩 하면 전체 데이터 자체의 값이 변화가 되는 것은 아니고 데이터가 송신되는 위치만 변화되기 때문에 전력 소모는 변화가 없으면서 데이터 심볼의 변화의 차이가 적어 누화 현상을 효과적으로 억제할 수 있는 효과가 발생한다.
한편, 이러한 인코딩 방법은 채널의 데이터 라인이 4개아 아닌 8개인 경우에도 동일한 원리에 의해 적용될 수 있다. 이하 도면을 통해 자세히 알아보도록 한다.
도 9는 본 발명의 일 실시예에 따른 제3인코딩 방법이 8개의 데이터 라인에 적용되는 기준을 설명하기 위한 도면이고, 도 10은 본 발명의 일 실시예에 따라 제3인코딩 방법이 8개의 데이터 라인에 적용되는 방법을 설명하기 위한 도면이다.
데이터 인코딩부(120)는 앞서 설명한 바와 같이 데이터 라인에서 발생하는 총 데이터 심볼의 레벨의 변화를 기초로 제3인코딩 여부를 결정할 수 있는데, 이는 총 데이터 라인의 개수와 각각의 데이터 라인에서 계산된 스택 값을 기준으로 판단할 수 있다.
구체적으로, 데이터 인코딩부(120)는 데이터 라인의 개수에 대응하여 발생할 수 있는 최대 스택 값을 계산한 후, 각각의 데이터 라인에 대해 현재 입 데이터와 이전 입력 데이터를 기초로 스택 값을 모두 합한 스택 값을 계산 한 후, 스택 값이 최대 스택 값의 1/2보다 큰 경우 데이터를 반전한 후 데이터를 송신하고, 스택 값이 최대 스택 값의 1/2이하인 경우 데이터를 반전하지 않고 그대로 송신한다.
도 9의 표를 기준으로 설명하면 데이터 라인은 총 8개이고, 한 개의 데이터 라인에서 발생할 수 있는 최대 스택 값의 변화는 3이므로, 총8개의 데이터 라인에서 발생할 수 있는 최대 스택의 수는 24이다.
그리고, 도 7의 (a)에 기재된 바와 같이 현재 시간인 T1을 기준으로 송신해야 하는 데이터가 제1데이터 라인(D1)은 01, 제2데이터 라인(D2)은 11, 제3데이터 라인(D3)은 01, 제4데이터 라인(D4)은 11이고, 제5데이터 라인(D5)은 01, 제6데이터 라인(D6)은 11, 제7데이터 라인(D7)은 11, 제8데이터 라인(D8)은 01이고, 현재 시간보다 한 타임 이전의 시간인 T0에 송신한 데이터가 제1데이터 라인(D1)은 11, 제2데이터 라인(D2)은 01, 제3데이터 라인(D3)은 10, 제4데이터 라인(D4)은 01, 제5데이터 라인(D5)은 00, 제6데이터 라인(D6)은 01, 제7데이터 라인(D7)은 10, 제8데이터 라인(D8)은 11인 경우, 각각의 데이터 라인에서 발생하는 데이터 심볼의 변화 레벨을 계산하면, 제1데이터 라인(D1)의 경우 총 1레벨의 변화가 발생하므로 스택 값은 3이 되고, 제2데이터 라인(D2)의 경우 총 2레벨의 변화가 발생하므로 스택 값은 2가 된다. 그리고 이와 같은 방법으로 모든 데이터 라인에 대해 스택 값을 계산을 하면 현재 입력 데이터에 대한 스택 값의 총 합은 14가 되며, 이는 8개의 데이터 라인에 대한 최대 스택 값인 24의 절반을 초과하므로 이 때는 데이터를 인코딩 한다.
한편, 도 9의 (b)에 기재된 현재 시간 T0에 입력되는 입력 데이터에 대해 시간 T0에 송신한 입력 데이터들과의 스택 값을 계산해 본 결과, 스택 값의 총 합이 최대 스택 값(24)의 절반보다 작은 7이 나온 경우 입력 데이터를 인코딩하지 않고 그대로 송신하다. 도 9의 (b)에서 도 9의 (a)에서와 표와 대응되기 표시하기 위해 인코딩 데이터라는 표현은 하였지만, 인코딩을 하지 않기로 결정한 인코딩 데이터는 사실상 입력 데이터와 동일한 값들을 가지는 데이터에 해당한다.
한편, 이러한 스택 값의 계산은 데이터 인코딩부(120)가 하거나 보조 신호 생성부(130)에서 할 수 있다. 만약, 보조 신호 생성부(130)가 제3인코딩에 대한 보조 신호를 생성하는 경우 보조 신호는 NRZ 신호로 송신할 수 있다.
따라서, 보조 신호 생성부(130)가 스택 값 계산 결과에 따라 인코딩을 해야 하는 경우로 판단되면, 인코딩을 해야 하는 보조 신호인 0을 생성하여 생선된 보조 신호를 데이터 인코딩부(120)로 송신하고, 인코딩을 할 필요가 없다고 판단이 되면, 인코딩을 할 필요가 없는 보조 신호인 1을 생성하여 생성한 보조 신호를 데이터 인코딩부(120)로 송신한다.
한편, 누화 현상을 억제하기 위해 데이터를 반전하는 제3인코딩을 수행하는 경우, 도 7과 도 8에서 설명한 바와 같이 N번째 데이터 라인과 N+1번째 데이터 라인의 데이터 심볼을 변화하는 방법을 인코딩을 수행한다.
즉, 데이터 인코딩부(120)는 제3인코딩을 해야 하는 것으로 판단이 되면, 도 10에 도시된 바와 같이 제1 데이터 라인(D1)과 제2 데이터 라인(D2)의 데이터 심볼을 교환하고, 제3 데이터 라인(D3)과 제4 데이터 라인(D4)의 데이터 심볼을 교환하며, 제5데이터 라인(D5)과 제6 데이터 라인(D6)의 데이터 심볼을 교환하고, 제7 데이터 라인(D7)과 제8 데이터 라인(D8)의 데이터 심볼을 교환하는 방법으로 입력 데이터에 대해 인코딩을 수행할 수 있다.
따라서, 도 9의 (a)에서와 같이 총 스택 값의 합(14)이 최대 스택 값의 절반(12)을 초과하는 경우, 데이터 인코딩부(120)는 제3인코딩 방법으로 입력 데이터에 대해 인코딩을 수행하며, T1 시간에 송신해야 하는 인코딩 데이터는 표에 도시된 바와 같이 제1데이터 라인(D1)에서는 11, 제2데이터 라인(D2)에서는 00이 되고, 제3데이터 라인(D3)에서는 11, 제4데이터 라인(D4)에서는 01이 되며, 제5데이터 라인(D5)에서는 11, 제6데이터 라인(D6)에서는 01이 되고, 제7데이터 라인(D7)에서는 01, 제8데이터 라인(D8)에서는 11이 된다. 그리고 이렇게 인코딩을 한 후 데이터를 송신하면 도 9의 (a)의 가장 오른쪽 항목에 기재한 바와 같이 총 스택 값이 6이되므로 이전 총 스택 값인 14보다 작아져, 회로에서 발생하는 누화 현상을 줄일 수 있는 장점이 존재한다.
도 11은 본 발명의 일 실시예에 따른 제3인코딩이 적용되는 또 다른 실시예를 설명하기 위한 도면이고, 도 12는 도 11에 따른 제3인코딩이 8개의 데이터 라인에 적용되는 방법을 설명하기 위한 도면이다.
도 11에 따른 제3인코딩 방법의 경우 입력 데이터에 대해 인코딩을 하는 방법은 도 9에 설명된 바와 동일하나 인코딩 여부를 결정하는 기준이 스택 값의 절대값을 기준으로 판단한 도 9의 방법과 달리 변환하기 전의 입력 데이터에 대한 스택 값과 인코딩 된 데이터에 대한 스택 값을 기준으로 인코딩 여부를 결정한다. 설명의 편의를 위해 도 11에서는, 입력 데이터에 대한 스택 값을 제1스택 값이라 정의하고, 입력 데이터에 대해 제3인코딩을 수행한 것으로 가정한 데이터를 변한 데이터라 정의하고, 변환 데이터에 대한 스택 값을 제2스택 값이라 정의한다.
도 11에 따른 제3인코딩 방법에 대해 구체적으로 알아보면, 도 11의 (a)의 표에 기재된 바와 같이 현재 시간 T1에 대한 입력 데이터와 이전 시간 T0에 대한 입력 데이터를 비교하여 제1스택 값의 총 합을 구한다. 그리고 도 11의 (b) 도시된 바와 같이 현재 입력 데이터에 대해 인코딩을 수행한 것으로 가정한 변환 데이터와 이전 시간 T0에 대한 입력 데이터를 비교하여 제2스택 값의 총 합을 구한 후, 제1스택 값의 총합이 제2스택 값의 총 합보다 큰 경우 실제로 입력된 데이터에 대해 인코딩을 하는 것으로 결정할 수 있다.
즉, 도 11의 (a)의 경우 제1스택 값의 합은 총 8이 되고, 입력 데이터를 변환하여 변환 데이터를 생성하면 도 12의 (b)에 기재된 바와 같이 제1데이터 라인(D1)에는 01이 입력되고, 제2데이터 라인(D2)에는 11이 입력되며, 제3데이터 라인(D3)에는 11이 입력되고, 제4데이터 라인(D4)에는 00이 입력되므로, 제2스택 값의 총합은 2가 된다. 따라서, 이러한 경우 입력 데이터를 인코딩 한 후 송신하는 것이 그렇지 않은 경우보다 누화 현상이 작아지므로 입력 데이터에 대해 인코딩을 수행한다.
즉, 스택 값의 총합 값은 데이터 라인 전체에서 누화 현상이 발생하는 정도를 의미하는데, 제3인코딩과 같은 방법으로 제1스택 값의 총 합과 제2스택 값의 총합을 비교해서, 제2스택 값이 제1스택 값보다 작은 경우 입력 데이터를 변환해서 데이터를 전송하면 전송되는 데이터의 스택 값의 크기가 작아지므로 누화 현상이 상대적으로 더 적게 발생하는 효과가 존재한다.
한편, 이러한 스택 값의 계산 및 비교는 데이터 인코딩부(120)가 하거나 보조 신호 생성부(130)에서 할 수 있다. 만약, 보조 신호 생성부(130)가 제3인코딩에 대한 보조 신호를 생성하는 경우 보조 신호는 NRZ 신호로 송신할 수 있다.
따라서, 보조 신호 생성부(130)가 스택 값 계산 결과에 따라 인코딩을 해야 하는 경우로 판단되면, 인코딩을 해야 하는 보조 신호인 0을 생성하여 생성된 보조 신호를 데이터 인코딩부(120)로 송신하고, 인코딩을 할 필요가 없다고 판단이 되면, 인코딩을 할 필요가 없는 보조 신호인 1을 생성하여 생성한 보조 신호를 데이터 인코딩부(120)로 송신한다.
한편, 이러한 인코딩 방법은 채널의 데이터 라인이 4개아 아닌 8개인 경우에도 동일한 원리에 의해 적용될 수 있다. 즉, 도 12의 (a)의 표에 기재된 바와 같이 현재 시간 T1에 대한 입력 데이터와 이전 시간 T0에 대한 입력 데이터를 비교하여 제1스택 값의 총 합을 구하고, 도 12의 (b)의 표에 기재된 바와 같이 현재 입력 데이터에 대해 인코딩을 수행한 것으로 가정한 변환 데이터에 대한 제2스택 값의 총 합을 구한 후, 제1스택 값의 총합이 제2스택 값의 총 합보다 큰 경우 실제로 입력된 데이터에 대해 인코딩을 하는 것으로 결정할 수 있다.
만약, 도 12에 기재된 바와 다르게, 제1스택 값의 총 합이 제2스택 값의 총 합보다 작은 경우, 입력 데이터를 변환하지 않고 그대로 송신하는 것에 누화 현상이 더 적게 발생하는 경우이므로, 이러한 경우에는 입력 데이터를 변환하지 않고 그대로 인코딩 데이터로 하여 송신한다.
도 13은 본 발명의 또 다른 실시예인 데이터 반전 회로의 일부 구성 요소를 도시한 블록도이고, 도 14는 본 발명의 일 실시예에 따른 제4인코딩을 설명하기 위한 표이다. 도 13과 도 14에서 설명하는 제4인코딩은 제1인코딩과 제3인코딩을 순차적으로 적용한 인코딩 방법을 의미한다.
도 13을 참조하면, 다른 실시예에 따른 데이터 반전 회로(100)는 데이터를 생성하는 데이터 생성부(110), 생성된 데이터를 채널을 통해 송신하는 데이터 송신부(160), 데이터의 이동 경로에 해당하는 채널(170), 데이터를 수신하는 데이터 수신부(180)를 포함할 수 있으며, 데이터 송신부(160)는 데이터 인코딩부(120), 보조 신호 생성부(130) 및 부하부(140)를 포함할 수 있으며, 데이터 인코딩부(120)는 제1인코딩부(121) 및 제2인코딩부(122)를 포함할 수 있고, 보조 신호 생성부(130)는 제1보조 신호 생성부(131) 및 제2보조 신호 생성부(132)를 포함할 수 있다. 즉, 도 13에 따른 데이터 반전 회로(100)에는 도 1에서 설명한 데이터 반전 회로(100)와 기본적인 구성 요소는 동일하나, 데이터 인코딩부(120)가 제1인코딩부(121) 및 제2인코딩부(122)를 포함할 수 있고, 보조 신호 생성부(130)는 제1보조 신호 생성부(131) 및 제2보조 신호 생성부(132)를 포함할 수 있다는 점에서 차이점이 존재한다. 이하 설명의 중복의 편의를 위해 데이터 생성부(110), 부하부(140) 및 채널(170)은 앞서 도 1에서 설명한 바로 대체하도록 한다.
데이터 인코딩부(120)는 입력 데이터에 대해 1차적으로 인코딩을 수행하는 제1인코딩부(121)와 제1인코딩부(121)가 생성한 중간 데이터에 대해 2차 인코딩을 수행하는 인코딩 데이터를 생성하는 제2인코딩부(122)를 포함할 수 있다.
구체적으로, 제1인코딩부(121) 앞서 설명한 제1인코딩을 수행하는 구성 요소로서, 그 역할에 맞춰 DBI-DC 인코딩부로 호칭될 수 있으며, 제2인코딩부(122)는 앞서 설명한 제3인코딩을 수행하는 구성요소로서, 그 역할에 맞춰 DBI-Cross 인코딩부로 호칭될 수 있다. 이에 맞춰 제1보조 신호 생성부(131)는 제1인코딩부(121)가 제1인코딩을 수행할지 여부를 결정해주는 제1보조 신호를 생성하는 구성 요소이고, 제2보조 신호 생성부(132)는 제2인코딩부(122)가 제2인코딩을 수행할지 여부를 결정해주는 제2보조 신호를 생성하는 구성 요소이다. 제1인코딩 방식과 제3인코딩을 수행하는 방법에 대해서는 앞에서 전술하였는바, 도 14를 기초로 제1인코딩 방식과 제3인코딩 방식이 어떻게 순차적으로 적용되는지 알아본다.
T1 시간에 입력 데이터로 도 14의 표에 기재된 바와 같이 입력되면, 제1보조 신호 생성부(131)는 제1인코딩의 수행 여부를 결정하는 제1보조 신호를 생성한다. 앞서 설명한 바와 같이 제1인코딩의 경우 식 (5)를 기준으로 판단하는바, 입력 데이터를 기준으로 기준 값을 계산하면 표에 기재된 바와 같이 6이므로 이는 0보다 크므로 제1보조 신호 생성부(131)는 제1인코딩을 수행하는 데이터 심볼인 1을 제1보조 신호로 생성하고, 생성된 제1보조 신호를 제1인코딩부(121)로 송신한다.
데이터 심볼인 1인 제1보조 신호를 수신한 제1인코딩부(121)는 앞서 설명한 제1인코딩 방식에 따라 T1 시간의 입력 데이터에 대해 제1인코딩을 수행하여 표에 기재된 봐와 같이 T1 시간의 중간 데이터를 생성한다.
그 후, 제2 보조 신호 생성부(132)는 T1 시간의 중간 데이터와 T0 시간의 입력 데이터를 비교하여 제3인코딩 여부를 결정한다. 구체적으로 도 12에서 설명한 방식에 따라 제3인코딩 여부를 결정할 수 있는데, 현재 T1 시간의 중간 데이터와 T0 시간의 입력 데이터와의 제1스택값을 모두 합한 값과, T1 시간의 중간 데이터에 대해 제3인코딩을 가정적으로 수행하여 생성한 T1 시간의 변환 데이터와의 제2스택 값을 모두 합한 값을 비교하여 제3인코딩 여부를 결정한다.
도 14의 표를 기준으로 설명하면, 제1스택 값을 모두 합한 갑이 10이고, 제2스택 값을 모두 합한 값이 8이므로, 제2보조 신호 생성부(132)는 제2인코딩부(122)가 제3인코딩을 수행할 수 있도록 데이터 심볼인 1인 제2보조 신호를 생성한 후, 생성된 제2보조 신호를 제2인코딩부(122)로 송신하다.
데이터 심볼인 1인 제2보조 신호를 수신한 제2인코딩부(122)는 앞서 설명한 제3인코딩 방식에 따라 인코딩을 수행하여 표의 마지막 오른쪽 항목에 기재되어 있는 것처럼 최종 인코딩 데이터를 생성한다.
한편, 도 13과 도 14에서는 보조 신호가 제1보조 신호 생성부(131)에서 하나가 생성되고 제2보조 신호 생성부(132)에서 하나가 생성되므로 총 2bit 신호인 PAM 4 신호로 생성될 수 있어, PAM 4 신호로 구성된 하나의 신호가 보조 신호 생성부(130)에서 인코딩부(120)로 송신될 수 있다.
예를 들어, 보조 신호가 00인경우 제1보조 신호가 0이고, 제2보조 신호도 0이므로, 인코딩부(120)는 제1인코딩과 제3인코딩을 모두 수행하지 않고, 보조 신호가 01인 경우에는 제1보조 신호가 0이고, 제2보조 신호는 1이므로, 인코딩부(120)는 제1인코딩을 수행하지 않지만 제3인코딩을 수행하고, 보조 신호가 10인 경우에는 제1보조 신호가 1이고, 제2보조 신호는0이므로, 인코딩부(120)는 제1인코딩 수행하나 제3인코딩을 수행하지 않는다. 마지막으로 보조 신호가 11인 경우에는, 제1보조 신호가 1이고, 제2보조 신호도 1이므로, 인코딩부(120)는 제1인코딩과 제3인코딩을 모두 수행한다.
도 13과 도 14에 설명한 방법처럼 제1인코딩과 제3인코딩을 순차적으로 적용한 제4인코딩에 따라 데이터를 인코딩하면, 제1인코딩함으로써 회로 전체의 전력 소모를 낮출 수 있고, 동시에 제3인코딩까지 수행하기 때문에 회로 전체의 누화 현상까지 동시에 억제할 수 있는 큰 장점이 존재한다.
도 15는 본 발명에 따른 효과를 설명하기 위해 각각의 인코딩 방식을 적용한 경우와 그렇지 않은 경우의 소모 전력의 변화를 도시한 표이다.
도 15를 참조하면, PAM 4 신호에 기초한 입력 데이터에 대해, 제1인코딩 방식을 사용하여 데이터를 전송하며, 인코딩을 전혀 하지 않는 경우에 비해 전력 소모가 82.77%만 사용되는 것을 확인할 수 있으며, PAM 4 신호에 기초한 입력 데이터에 대해, 제2인코딩 방식을 사용하여 데이터를 전송하며, 인코딩을 전혀 하지 않는 경우에 비해 전력 소모가 73.83%만 사용되는 것을 확인할 수 있다.
또한, PAM 4 신호에 기초한 입력 데이터에 대해, 제4인코딩 방식을 사용하여 데이터를 전송하며, 인코딩을 전혀 하지 않는 경우에 비해 전력 소모가 직류에 대해서는 82.70%만 사용되는 것을 확인할 수 있으며, 교류에 대해서는 80.60%만 사용되는 것을 확인할 수 있다. 즉, 본 발명에 따른 어떤 인코딩 방식도 종래 기술보다 전력의 소모를 낮추는 효과가 있음을 본 실험결과에 따라 알 수 있다.
지금까지 도면을 통해 일 실시예에 따른 PAM 4 신호를 이용한 데이터 반전 회로(100)의 구성 및 효과에 대해 구체적으로 알아보았다.
본 발명의 일 실시예에 따른 PAM 4 신호를 이용한 데이터 반전 회로는 PAM 4 신호를 이용한 데이터 전송 방법에 있어서, 입력된 데이터에 대해 상황에 맞춘 인코딩을 실행한 후 데이터를 전송함으로써, 보다 효율적으로 데이터를 전송할 수 있는 장점이 존재한다.
구체적으로, 일 실시예에 따른 PAM 4 신호를 이용한 데이터 반전 회로는 PAM 4 신호에 맞춘 DBI-DC 인코딩을 효과적으로 수행함으로써, 드라이버단에서의 전력 소모를 줄여, 회로 전체의 전력 소비 효율을 증가시킬 수 있는 장점이 존재한다.
또한, 상황에 맞춘 DBI-Cross 인코딩을 통해 드라이버단에서 전력 소모를 낮춤과 동시에 데이터를 송신함에서 있어서 채널을 통해 발생될 수 있는 누화 현상을 최소화시켜 회로 전체의 안전성 및 전력의 효율성을 높일 수 있는 장점이 존재한다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
100: 데이터 반전 회로
110: 데이터 생성부
120: 인코딩부 121: 제1인코딩부
122: 제2인코딩부 130: 보조 신호 생성부
131: 제1보조 신호 생성부 132: 제2보조 신호 생성부
140: 부하부 150: 제어부
160: 데이터 송신부 170: 채널
180: 데이터 수신부
120: 인코딩부 121: 제1인코딩부
122: 제2인코딩부 130: 보조 신호 생성부
131: 제1보조 신호 생성부 132: 제2보조 신호 생성부
140: 부하부 150: 제어부
160: 데이터 송신부 170: 채널
180: 데이터 수신부
Claims (15)
- PAM 4 신호에 기초한 입력 데이터를 생성하는 데이터 생성부; 및
상기 입력 데이터에 포함되어 있는 복수 개의 데이터 심볼들을 분석하여 상기 입력 데이터에 대한 인코딩 여부를 결정하는 보조 신호를 생성하는 보조 신호 생성부;
복수 개의 데이터 라인을 포함하는 채널; 및
상기 보조 신호에 기초하여 상기 데이터에 대해 DBI(Data Bus Inversion) 인코딩을 수행하여 인코딩 데이터를 생성하고, 생성된 인코딩 데이터를 상기 채널을 통해 데이터 수신부로 송신하는 데이터 인코딩부;를 포함하는 데이터 송신부;를 포함하는, PAM 4 신호를 이용하여 DBI-DC 인코딩을 수행하는 데이터 반전 회로. - 제1항에 있어서,
상기 보조 신호 생성부는,
상기 복수 개의 데이터 심볼들의 종류별 개수에 기초하여 상기 입력 데이터에 대한 인코딩 여부를 결정하는, PAM 4 신호를 이용하여 DBI-DC 인코딩을 수행하는 데이터 반전 회로. - 제1항에 있어서,
상기 보조 신호 생성부는,
상기 복수 개의 데이터 심볼들의 종류별 개수 및 상기 채널과 연결되어 있는 부하들의 저항 값에 기초하여 생성된 미리 정해진 방정식을 만족하는 여부로 상기 입력 데이터의 인코딩 여부를 결정하는, PAM 4 신호를 이용하여 DBI-DC 인코딩을 수행하는 데이터 반전 회로. - 제3항에 있어서,
상기 보조 신호 생성부는,
상기 입력 데이터가 상기 미리 정해진 방정식을 만족하는 경우 상기 입력 데이터에 대해 인코딩을 하기로 결정하고, 상기 입력 데이터가 상기 미리 정해진 방정식을 만족하지 못하는 경우 상기 입력 데이터에 대해 인코딩을 하지 않는 것으로 결정하는, PAM 4 신호를 이용하여 DBI-DC 인코딩을 수행하는 데이터 반전 회로. - 제4항에 있어서,
상기 보조 신호 생성부는,
상기 보조 신호를 NRG(Non-Return to Zero) 신호로 생성하고,
상기 입력 데이터에 대해 인코딩을 결정한 한 경우 데이터 심볼이 1인 보조 신호를 생성하고, 상기 입력 데이터에 대해 인코딩을 하지 않기로 결정한 한 경우 데이터 심볼이 0인 보조 신호를 생성하는, PAM 4 신호를 이용하여 DBI-DC 인코딩을 수행하는 데이터 반전 회로. - 제5항에 있어서,
상기 데이터 인코딩부는,
상기 보조 신호 생성부로부터 데이터 심볼이 1인 보조 신호를 수신한 경우, 상기 입력 데이터 중 데이터 심볼이 1인 데이터 심볼을 0으로 반전시키고, 데이터 심볼인 0인 데이터 심볼을 1로 반전시키는 제1인코딩을 수행하여 상기 인코딩 데이터를 생성하고,
상기 보조 신호 생성부로부터 데이터 심볼이 0인 보조 신호를 수신한 경우, 상기 입력 데이터를 그대로 상기 인코딩 데이터로 생성하는, PAM 4 신호를 이용하여 DBI-DC 인코딩을 수행하는 데이터 반전 회로. - PAM 4 신호에 기초한 입력 데이터를 생성하는 데이터 생성부; 및
상기 입력 데이터에 포함되어 있는 복수 개의 데이터 심볼들을 분석하여 상기 입력 데이터에 대한 인코딩 여부를 결정하는 보조 신호를 생성하는 보조 신호 생성부;
복수 개의 데이터 라인을 포함하는 채널; 및
상기 보조 신호에 기초하여 상기 데이터에 대해 DBI(Data Bus Inversion) 인코딩을 수행하여 인코딩 데이터를 생성하고, 생성된 인코딩 데이터를 상기 채널을 통해 데이터 수신부로 송신하는 데이터 인코딩부;를 포함하는 데이터 송신부;를 포함하고
상기 보조 신호 생성부는, 상기 보조 신호를 PAM 4 신호로 생성하고,
상기 입력 데이터 중 가장 많은 개수를 차지하고 있는 데이터 심볼을 상기 보조 신호로 생성하는, PAM 4 신호를 이용하여 DBI-DC 인코딩을 수행하는 데이터 반전 회로. - 제7항에 있어서,
상기 데이터 인코딩부는,
상기 입력 데이터에서 상기 보조 신호에 포함되어 있는 데이터 심볼과 동일한 데이터 심볼과, 상기 입력 데이터에서 데이터 심볼인 11인 데이터 심볼을 서로 교환하는 방법으로 제2인코딩을 수행하는, PAM 4 신호를 이용하여 DBI-DC 인코딩을 수행하는 데이터 반전 회로. - 제8항에 있어서,
상기 데이터 인코딩부는,
상기 보조 신호에 포함되어 있는 데이터 심볼이 11인 경우, 상기 제2인코딩을 수행하지 않고, 상기 입력 데이터를 그대로 상기 인코딩 데이터로 생성하는, PAM 4 신호를 이용하여 DBI-DC 인코딩을 수행하는 데이터 반전 회로. - 복수 개의 데이터 라인을 포함하는 채널;
상기 채널과 연결되어 있는 복수 개의 부하를 포함하고, PAM 4 신호에 기초한 입력 데이터를 생성하는 데이터 생성부;
상기 입력 데이터에 포함되어 있는 복수 개의 데이터 심볼들을 분석하여 상기 입력 데이터에 대한 인코딩 여부를 결정하는 보조 신호를 생성하는 보조 신호 생성부; 및
상기 보조 신호에 기초하여 상기 데이터에 대해 DBI(Data Bus Inversion) 인코딩을 수행하여 인코딩 데이터를 생성하고, 생성된 인코딩 데이터를 상기 채널을 통해 데이터 수신부로 송신하는 데이터 인코딩부;를 포함하는 데이터 송신부;를 포함하는, PAM 4 신호를 이용하여 DBI-DC 인코딩을 수행하는 데이터 반전 회로. - 제10항에 있어서,
상기 보조 신호에 기초하여, 상기 데이터 송신부의 전체 부하 값이 변경되도록 상기 복수 개의 부하들의 연결 구조를 변경하는 제어부;를 더 포함하는, PAM 4 신호를 이용하여 DBI-DC 인코딩을 수행하는 데이터 반전 회로. - 제11항에 있어서,
상기 데이터 수신부는,
상기 채널과 연결되어 있는 부하를 포함하는, PAM 4 신호를 이용하여 DBI-DC 인코딩을 수행하는 데이터 반전 회로. - 제11항에 있어서,
상기 데이터 수신부는,
제1부하, 제2부하, 제3부하 및 제4부하를 포함하는, PAM 4 신호를 이용하여 DBI-DC 인코딩을 수행하는 데이터 반전 회로. - 제13항에 있어서,
상기 제1부하와 상기 제2부하는 직렬 연결되어 있고, 상기 제3부하와 제4부하는 직렬 연결되어 있으며, 상기 제1부하 및 상기 제2부하는 상기 제3부하 및 상기 제4부하와 병렬 연결되어 있는, PAM 4 신호를 이용하여 DBI-DC 인코딩을 수행하는 데이터 반전 회로. - 제14항에 있어서,
상기 보조 신호 생성부는,
상기 복수 개의 데이터 심볼들의 종류별 개수에 기초하여 상기 입력 데이터에 대한 인코딩 여부를 결정하고,
상기 보조 신호 생성부는,
상기 복수 개의 데이터 심볼들의 종류별 개수 및 상기 부하들의 저항 값에 기초하여 생성된 미리 정해진 방정식을 만족하는 여부로 상기 입력 데이터의 인코딩 여부를 결정하는, PAM 4 신호를 이용하여 DBI-DC 인코딩을 수행하는 데이터 반전 회로.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210112909A KR20230030803A (ko) | 2021-08-26 | 2021-08-26 | Pam 4 신호를 이용하여 dbi-dc 인코딩을 수행하는 데이터 반전 회로 |
US17/896,549 US12126473B2 (en) | 2021-08-26 | 2022-08-26 | Data inversion circuit to perform DBI-DC encoding using PAM 4 signal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210112909A KR20230030803A (ko) | 2021-08-26 | 2021-08-26 | Pam 4 신호를 이용하여 dbi-dc 인코딩을 수행하는 데이터 반전 회로 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230030803A true KR20230030803A (ko) | 2023-03-07 |
Family
ID=85385707
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210112909A KR20230030803A (ko) | 2021-08-26 | 2021-08-26 | Pam 4 신호를 이용하여 dbi-dc 인코딩을 수행하는 데이터 반전 회로 |
Country Status (2)
Country | Link |
---|---|
US (1) | US12126473B2 (ko) |
KR (1) | KR20230030803A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102582152B1 (ko) * | 2022-11-14 | 2023-09-22 | 한양대학교 산학협력단 | Pam 3 신호를이용한 데이터 반전 회로 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11398934B1 (en) * | 2021-09-18 | 2022-07-26 | Xilinx, Inc. | Ultra-high-speed PAM-N CMOS inverter serial link |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180057028A (ko) | 2016-11-21 | 2018-05-30 | 에스케이하이닉스 주식회사 | 데이터 반전 회로 |
KR20180058478A (ko) | 2016-11-24 | 2018-06-01 | 에스케이하이닉스 주식회사 | 반도체 장치, 이를 포함하는 반도체 시스템 및 반도체 장치의 리드 및 라이트 동작 방법 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7869525B2 (en) * | 2005-08-01 | 2011-01-11 | Ati Technologies, Inc. | Dynamic bus inversion method and system |
WO2011008394A2 (en) * | 2009-07-13 | 2011-01-20 | Rambus Inc. | Encoding data using combined data mask and data bus inversion |
US8909840B2 (en) * | 2011-12-19 | 2014-12-09 | Advanced Micro Devices, Inc. | Data bus inversion coding |
KR102357899B1 (ko) * | 2014-01-29 | 2022-02-03 | 마벨 아시아 피티이 엘티디. | 유효 인코딩을 위한 방법 및 장치 |
KR20190029227A (ko) * | 2017-09-12 | 2019-03-20 | 에스케이하이닉스 주식회사 | 데이터 전송 회로, 이를 이용하는 반도체 장치 및 반도체 시스템 |
US10491238B2 (en) * | 2018-01-24 | 2019-11-26 | Nvidia Corp. | Maximum transition avoidance (MTA) encoding |
KR20210149543A (ko) * | 2020-06-02 | 2021-12-09 | 삼성전자주식회사 | 메모리 장치 및 이를 포함하는 메모리 시스템 |
-
2021
- 2021-08-26 KR KR1020210112909A patent/KR20230030803A/ko not_active Application Discontinuation
-
2022
- 2022-08-26 US US17/896,549 patent/US12126473B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180057028A (ko) | 2016-11-21 | 2018-05-30 | 에스케이하이닉스 주식회사 | 데이터 반전 회로 |
KR20180058478A (ko) | 2016-11-24 | 2018-06-01 | 에스케이하이닉스 주식회사 | 반도체 장치, 이를 포함하는 반도체 시스템 및 반도체 장치의 리드 및 라이트 동작 방법 |
Cited By (2)
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 신호를이용한 데이터 반전 회로 |
Also Published As
Publication number | Publication date |
---|---|
US12126473B2 (en) | 2024-10-22 |
US20230073629A1 (en) | 2023-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9246713B2 (en) | Vector signaling with reduced receiver complexity | |
US9337997B2 (en) | Transcoding method for multi-wire signaling that embeds clock information in transition of signal state | |
US8510490B2 (en) | Encoding data using combined data mask and data bus inversion | |
KR20230030803A (ko) | Pam 4 신호를 이용하여 dbi-dc 인코딩을 수행하는 데이터 반전 회로 | |
KR102582152B1 (ko) | Pam 3 신호를이용한 데이터 반전 회로 | |
WO2011090523A1 (en) | Multiple word data bus inversion | |
US9071220B2 (en) | Efficient N-factorial differential signaling termination network | |
CN111247744B (zh) | 低功率多电平驱动器 | |
EP3072238B1 (en) | Devices and methods for facilitating data inversion to limit both instantaneous current and signal transitions | |
CN114142964B (zh) | 一种多芯片模块中芯片间的超短距离数据传输方法及装置 | |
US20200304345A1 (en) | Differential signal processing device using advanced braid clock signaling | |
KR20230030804A (ko) | Pam 4 신호를 이용하여 dbi-ac 인코딩을 수행하는 데이터 반전 회로 | |
US6624764B2 (en) | Signal transmission device for minimizing simultaneous switching noise in integrated circuit chip and the signal transmission method thereof | |
US20170294985A1 (en) | Vector signaling with reduced receiver complexity | |
García-Ortiz et al. | Optimization of interconnect architectures through coding: A review | |
KR20240022412A (ko) | 공급 노이즈가 감소된 데이터 전송 방법 및 장치 | |
EP4266636A1 (en) | Pulse-amplitude modulation transmitter and receiver and method of limiting transition level thereof | |
KR102413147B1 (ko) | 최대 천이 제거와 천이 보상 기능을 적용한 20Gb/s PAM4 송신기 | |
US20240250642A1 (en) | High speed amplifier circuit | |
CN116915556A (zh) | 脉冲幅度调制发送器和接收器及限制其转变电平的方法 | |
JP3101030B2 (ja) | プライオリティエンコード回路 | |
KR20230149724A (ko) | 펄스 진폭 변조 송신기/수신기 및 이의 트랜지션 레벨을 제한하는 방법 | |
KR100681944B1 (ko) | 병렬 데이터 전송을 위한 분할된 집합 반전 인코딩 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal |