KR20110101012A - 컴바인드 코딩을 이용한 병렬데이터 인터페이스 방법, 기록매체 및 그 장치 - Google Patents

컴바인드 코딩을 이용한 병렬데이터 인터페이스 방법, 기록매체 및 그 장치 Download PDF

Info

Publication number
KR20110101012A
KR20110101012A KR1020100020143A KR20100020143A KR20110101012A KR 20110101012 A KR20110101012 A KR 20110101012A KR 1020100020143 A KR1020100020143 A KR 1020100020143A KR 20100020143 A KR20100020143 A KR 20100020143A KR 20110101012 A KR20110101012 A KR 20110101012A
Authority
KR
South Korea
Prior art keywords
data
parallel data
bit
encoding
balance
Prior art date
Application number
KR1020100020143A
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 KR1020100020143A priority Critical patent/KR20110101012A/ko
Priority to JP2011047461A priority patent/JP2011187153A/ja
Priority to TW100107353A priority patent/TW201201520A/zh
Priority to US13/040,606 priority patent/US8552891B2/en
Publication of KR20110101012A publication Critical patent/KR20110101012A/ko
Priority to US14/047,377 priority patent/US9048855B2/en

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/02Arrangements for writing information into, or reading information out from, a digital store with means for avoiding parasitic signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/18Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Error Detection And Correction (AREA)
  • Dc Digital Transmission (AREA)
  • Memory System (AREA)
  • Dram (AREA)

Abstract

컴바인드 코딩을 이용한 병렬데이터 인터페이스 방법, 기록매체 및 그 장치 가 개시된다. 상기 장치는 선택 신호별로 구분 가능한 다수의 인코딩 룩업 테이블들을 포함하는 인코딩 룩업 테이블 유닛; 및 N(2이상의 정수) 비트 병렬 데이터를 수신하고, 상기 인코딩 룩업 테이블 유닛으로부터 상기 선택 신호에 상응하고 상기 N 비트 병렬 데이터에 매핑되는 인코딩 데이터를 추출하여 출력하는 선택 유닛을 구비하며, 상기 다수의 인코딩 룩업 테이블들 각각은 상기 N 비트 병렬 데이터의 패턴에 일대일로 매핑되며, 시간 및 공간적으로 랜덤 패턴을 가지는 다수의 인코딩 데이터를 저장한다.

Description

컴바인드 코딩을 이용한 병렬데이터 인터페이스 방법, 기록매체 및 그 장치{Method and Computer readable recording media, and apparatus for parallel data interfacing using combined coding}
본 발명은 반도체 장치 사이의 병렬데이터 인터페이스 방법, 기록매체 및 그장치에 관한 것으로, 보다 상세하게는 병렬데이터 인터페이스 시스템에서 노이즈(Noise)를 줄이기 위한 병렬 인터페이스 방법, 이를 기록한 기록매체, 및 반도체 장치에 관한 것이다.
병렬데이터 인터페이스를 위하여 단일형 병렬 전송방법을 사용하는 반도체 장치(예컨대, DRAM 또는 컨트롤러)의 병렬 입출력 회로에는 기생 인덕턴스에 기인한 노이즈가 발생한다.
도 1은 일반적인 단일형 병렬데이터 인터페이스 시스템(10)을 나타내는 개략도이다. 도 1을 참조하면, 상기 인터페이스 시스템(10)은 송신부(21)를 구비하는 제1반도체 장치(20), 다수의 전송라인들(Line1 내지 LineN), 및 수신부(31)를 구비하는 제2반도체 장치(30)를 구비한다. 상기 송신부(21)는 다수의 송신 드라이버들(101 내지 10N)을 구비한다. 상기 수신부(31)는 다수의 증폭기들(201 내지 20N)과 종단저항들(R1 내지 RN)을 구비한다.
상기 전송라인들(Line1 내지 LineN)을 통하여 전송되는 N비트의 병렬데이터(예컨대, DQ1 내지 DQN) 값에 따라 상기 드라이버들(101 내지 10N)이 소비하는 총 전류량이 변한다.
칩 내부 전원 노드(VDDQ, VSSQ)와 보드(Board)의 공급전원(VDD, VSS) 사이에는 기생 인덕턴스가 존재하므로 상기 기생 인턱턴스에 흐르는 전류 변화는 상기 칩 내부 전원 노드(VDDQ, VSSQ)에 노이즈(예컨대, 지터(Jitter), 전압 노이즈, Reference fluctuation)를 발생시킨다. 상기 노이즈는 상기 채널들(예컨대, Line1 내지 LineN) 각각에 흐르는 전류들의 총 변화량에 비례한다. 상기 노이즈는 신호의 전압 마진(voltage margin)과 시간 마진을 감소시켜 전송 동작 속도(전송주파수)를 제약시킨다.
상기 노이즈를 감소시키기 위해서는 항상 일정한 전류를 소비하는 차동신호전송 방법(Differential signaling)을 사용해야 한다. 그러나 상기 차동신호 전송방법은 단일형 전송방법(single ended)에 비하여 2배의 핀(pin)수가 필요하다는 단점이 있다.
상기 노이즈를 줄이기 위한 다른 방법으로 DC 밸런스 코딩을 이용하는 방법이 있다. DC 밸런스 코딩의 예로는 8B/10B 코딩 및 데이터 버스 인버전 DC 코딩이 있다.
도 2a는 일반적인 8B/10B 밸런스 인코딩을 설명하기 위한 도면이다.
도 2a를 참조하면, 상기 8B/10B 인코딩 방식은 8비트의 병렬데이터에 2비트의 데이터를 추가하여 항상 0과 1의 개수가 비슷하도록 인코딩(encoding)한다. 그 결과 DC 밸런스 코드 값은 0과 1의 개수가 최대 2개 차이가 나게 되어 상기 칩 내부 전원 노드(VDDQ, VSSQ)에 발생하는 노이즈가 4분의 1로 감소한다.
그러나 8B/10B 코드를 구현하기 위해서는 ROM을 이용하거나 조합로직(combinational logic)을 사용해야 하므로 회로의 면적이 증가한다. 또한 8B/10B 인코딩을 사용하기 전 8비트의 데이터는 평균 4IDQ(IDQ: 8비트 데이터 중 하나의 비트만 0(또는 1)일 때 소모하는 전류량)의 전류를 소모하나 8B/10B 인코딩 후에는 5IDQ의 전류를 소모한다는 단점이 있다.
기존의 8B/10B 코드 대신 보다 시스템적인 방법을 사용하면 인코딩/디코딩의 복잡도와 회로 면적을 감소시킬 수 있다. 그 한 방법으로 DBI(data bus inversion) DC 코딩이 있다.
도 2b는 일반적인 데이터 버스 인버전(DBI) DC 인코딩을 설명하기 위한 도면이다. 도 2b를 참조하면, DBI DC 인코딩은 8비트 데이터의 1과 0의 개수를 보고 0의 개수가 4개보다 크면 데이터를 모두 반전시키고 그 상태를 DBI 플래그(flag)에 저장시켜 전송시키는 방식이다. 이 방식을 사용하면 구현이 간단하고 평균 전류 소모가 2IDQ로 감소한다는 장점이 있다. 그러나 0의 개수가 0부터 4까지 변할 수 있어 4IDQ의 전류 변화가 발생하여 인코딩 전보다 VDDQ/VSSQ에 발생하는 노이즈가 1/2만 감소한다는 단점이 존재한다.
상기 8B/10B code방식과 데이터 버스 인버전 DC방식은 병렬 데이터의 0과 1의 총 개수를 조절하여 칩 내부 전원 노드(VDDQ, VSSQ)와 보드(Board)의 공급전원(VDD, VSS) 사이의 기생 인턱턴스에 흐르는 전류 변화량를 감소시켜 노이즈를 줄이는 방식이다. 따라서 상기 종래의 DC 밸런스 코딩 방식에 의하여 DC 노이즈는 감소된다.
그러나 상기 8B/10B code방식과 데이터 버스 인버전 DC방식은 병렬데이터의 각각의 입력 비트 값이 시간적으로 변할 때 발생하는 스위칭(switching) 노이즈는 감소시키지 못하는 단점이 있다. 예컨대, 10비트의 밸런스 코드가 제1코드(0000011111)에서 제2코드(1111100000)로 변하면 10비트 모두가 변하기 때문에 상기 입력데이터 값의 스위칭으로 인한 노이즈가 증가한다.
따라서 밸런스 코드(balance code)를 사용하는 단일형 병렬데이터 인터페이스 시스템에서 로드 전류(즉, DC 전류)의 변화와 스위칭 전류 변화를 함께 감소시킬 필요가 있다.
따라서 본 발명이 이루고자 하는 기술적인 과제는 병렬데이터 인터페이스 시스템에서 DC 노이즈와 스위칭 노이즈를 함께 감소시킬 수 있는 병렬 데이터 인터페이스 방법, 이를 기록한 기록매체, 및 그 장치를 제공하는 것이다.
상기 기술적 과제를 달성하기 위하여, 본 발명의 일 실시예에 따른 반도체 장치가 제공된다.
상기 반도체 장치는 선택 신호별로 구분 가능한 다수의 인코딩 룩업 테이블들을 포함하는 인코딩 룩업 테이블 유닛; 및 N(2이상의 정수) 비트 병렬 데이터를 수신하고, 상기 인코딩 룩업 테이블 유닛으로부터 상기 선택 신호에 상응하고 상기 N 비트 병렬 데이터에 매핑되는 인코딩 데이터를 추출하여 출력하는 선택 유닛을 구비한다. 상기 다수의 인코딩 룩업 테이블들 각각은 상기 N 비트 병렬 데이터의 패턴에 일대일로 매핑되며, 시간 및 공간적으로 랜덤 패턴을 가지는 다수의 인코딩 데이터를 저장한다.
상기 선택 신호는 어드레스 신호, 버스트 길이 신호, 및 커맨드 신호 중 적어도 일부를 포함할 수 있다.
상기 반도체 장치는, 상기 인코딩 데이터를 복수의 데이터 라인들을 통하여 출력하는 출력 드라이버를 더 구비할 수 있다.
상기 기술적 과제를 달성하기 위하여, 본 발명의 다른 일 실시예에 따른 반도체 장치가 제공된다.
상기 반도체 장치는 선택 신호별로 구분 가능한 다수의 디코딩 룩업 테이블들을 포함하는 디코딩 룩업 테이블 유닛; 및 인코딩 데이터를 수신하고, 상기 디코딩 룩업 테이블 유닛으로부터 상기 선택 신호에 상응하고 상기 인코딩 데이터에 매핑되는 N(2이상의 정수) 비트 병렬 데이터를 추출하여 출력하는 선택 유닛을 구비한다. 상기 다수의 디코딩 룩업 테이블들 각각은 시간 및 공간적으로 랜덤 패턴을 가지는 다수의 인코딩 데이터 패턴 각각에일대일로 매핑되는 다수의 N 비트 병렬 데이터를 저장한다.
상기 기술적 과제를 달성하기 위하여, 본 발명의 또 다른 일 실시예에 따른 반도체 장치가 제공된다.
상기 반도체 장치는 시드(seed)를 이용하여 스크램블링 코드를 생성하는 스크램블링 코드 생성기; 상기 스크램블링 코드를 이용하여 제1 병렬데이터 그룹-제1 병렬데이터 그룹은 N(2이상의 정수) 비트 병렬 데이터를 둘 이상 포함함-을 스크램블링하여 제2병렬데이터 그룹-상기 제2 병렬 데이터 그룹은N비트 스크램블드(scrambled) 병렬 데이터를 둘 이상 포함함-을 발생하는 스크램블러; 상기 제2 병렬 데이터 그룹을 수신하고, 상기 제2 병렬 데이터 그룹의 N비트 스크램블드 병렬 데이터 각각을 DC 밸런싱 인코딩하여 M(>N, 정수) 비트 밸런스 코드들을 발생하는 밸런스 인코딩 블록; 및 상기 밸런스 코드들 및 상기 시드를 순차적으로 복수의 데이터 라인들을 통하여 출력하는 출력 드라이버를 구비한다.
상기 밸런스 인코딩 블록은, 상기 N 비트 스트램블드 병렬 데이터에 포함된 제1로직 레벨의 비트 수 또는 제2 로직 레벨의 비트 수에 따라 선택적으로 상기 N비트 스크램블드 병렬 데이터를 반전하고 상기 선택적으로 반전된 상기 N비트 스크램블드 병렬 데이터에 반전 여부를 나타내는 플래그 신호를 추가할 수 있다.
상기 스크램블러는, 상기 제1병렬 데이터 그룹의 각각의 비트와 상기 스크램블링 코드의 각각의 비트를 배타적 논리합(exclusive OR)하는 논리 연산기를 포함할 수 있다.
상기 기술적 과제를 달성하기 위하여, 본 발명의 또 다른 일 실시예에 따른 반도체 장치가 제공된다.
상기 반도체 장치는, 복수의 데이터 라인들을 통하여 M(2이상의 정수)비트 밸런스코드들 및 시드를 수신하는 데이터 수신부-상기 M 비트 밸런스 코드들 각각은 N(<M, 정수) 비트 병렬데이터를 둘 이상 포함하는 제1 병렬 데이터 그룹을 스크램블링하여 생성된 제2병렬데이터 그룹의 N 비트 스크램블드 병렬 데이터 각각을DC 밸런스 인코딩함으로써 생성됨-; 상기 시드를 이용하여 디스크램블링 코드를 생성하는 디스크램블링 코드 생성기; 상기 밸런스 코드들을 각각 DC 밸런스 디코딩하여 상기 N 비트 스크램블드 병렬 데이터를 둘 이상 포함하는 상기 제2 병렬 데이터 그룹을 추출하는 밸런스 디코딩 블록; 및 상기 밸런스 디코딩 블록에 의해 추출된 상기 제2 병렬 데이터 그룹을 상기 디스크램블링 코드를 이용하여 디스크램블링하여 상기 제1 병렬 데이터 그룹을 추출하는 디스크램블러를 구비한다.
상기 밸런스 디코딩 블록은 상기 밸런스 코드에 포함된 소정의 플래그 신호에 따라 해당 밸런스 코드를 선택적으로 반전한다.
상기 기술적 과제를 달성하기 위하여, 본 발명의 또 다른 일 실시예에 따른 메모리 장치가 제공된다.
상기 메모리 장치는 메모리 컨트롤러의 제어에 따라 데이터를 저장하는 메모리 장치로서, 상기 메모리 컨트롤러의 기록 명령(write command)에 기초하여, 상기 메모리 컨트롤러부터 복수의 데이터 라인들을 통하여 제1병렬 데이터를 수신하는 데이터 수신부; 상기 제1 병렬 데이터를 인코딩하여 인코딩 데이터를 출력하는 인코더; 및 상기 인코딩 데이터를 상기 메모리 장치의 내부 버스(bus)를 통하여 수신하여 저장하는 데이터 저장부를 구비한다.
상기 메모리 장치는 상기 데이터 저장부에서 출력되는 데이터를 디코딩하는 디코더; 및 상기 디코더의 출력 데이터를 상기 메모리 컨트롤러로 전송하는 출력 드라이버를 더 구비할 수 있다.
상술한 바와 같이 본 발명의 실시예에 따르면, DC 전류 변화에 따른 노이즈 뿐만 아니라, 데이터의 AC 변화에 따른 스위칭 노이즈를 감소시킬 수 있다. 또한 본 발명의 실시예에 따르면 컴바인드 인코딩에 의하여 시간적으로 뿐만 아니라 공간적으로도 0과 1이 분산되어 있으므로 PCB(Printed Circuit Board)로부터 리턴 전류(return current)가 감소하여 노이즈 및 크로스토크(crosstalk) 등을 감소시킬 수 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 일반적인 단일형 병렬데이터 인터페이스 시스템을 나타내는 개략도이다.
도 2a는 일반적인 8/10비트 밸런스 인코딩을 설명하기 위한 도면이다.
도 2b는 일반적인 데이터 버스 인버전(DBI) DC 인코딩을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시 예에 따른 단일형 병렬데이터 인터페이스를 사용하는 시스템을 나타낸다.
도 4는 본 발명의 다른 실시 예에 따른 단일형 병렬데이터 인터페이스를 사용하는 시스템을 나타낸다.
도 5a는 본 발명의 일 실시예에 따른 인코더의 개략적인 구성도이다.
도 5b는 본 발명의 일 실시예에 따른 인코더의 개략적인 구성도이다.
도 6a는 8/10비트 밸런스 코딩된 병렬데이터를 나타낸다.
도 6b은 본 발명의 일 실시예에 따라 인코딩된 병렬데이터를 나타낸다.
도 6c는 DBI DC 밸런스 코딩된 병렬데이터를 나타낸다.
도 6d는 본 발명의 일 실시예에 따라 인코딩된 병렬데이터를 나타낸다.
도 7a는 본 발명의 다른 일 실시예에 따른 인코더의 개략적인 구성도이다.
도 7b는 본 발명의 다른 일 실시예에 따른 인코더의 개략적인 구성도이다.
도 8은 본 발명의 일 실시예에 따른 메모리 장치의 개략적인 구성도이다.
도 9 및 도 10 각각은 본 발명의 다른 일 실시예에 따른 병렬 데이터 인터페이스 시스템을 개략적으로 나타내는 블록도이다.
도 11a 내지 도 11c 각각은 본 발명의 일 실시예에 따른 메모리 모듈을 나타내는 블록도이다.
도 12a 내지 도 12d는 각각 도 11a 내지 도 11c에 도시된 메모리 모듈을 이용한 메모리 시스템의 구조를 나타낸다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다. 이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 3은 본 발명의 일 실시 예에 따른 병렬 데이터 인터페이스 시스템(300)을 나타낸다. 상기 시스템(300)은 제1반도체 장치(310) 및 제2반도체 장치(320)를 구비한다. 상기 제1 반도체 장치(310)는 메모리 컨트롤러(Memory Controller)가 될 수 있으며, 상기 제2 반도체 장치는 디램(DRAM), SRAM, 플래쉬 메모리 등의 메모리 장치가 될 수 있다. 상기 제1 반도체 장치(310)는 코어 블록(311), 제1 인코더(312), 제1출력 드라이버(314), 제1수신부(315), 제1 디코더(316)를 구비한다.
상기 코어 블록(311)은 마이크로 프로세서(미도시) 및 내부 메모리(미도시)를 구비할 수 있다. 상기 코어 블록(311)은 상기 제2반도체 장치(320, 예컨대, DRAM)에 데이터를 기록하거나 상기 제2반도체 장치(320, 예컨대, DRAM)로부터 데이터를 독출하기 위하여 필요한 명령어(Command), 어드레스(Address) 등을 발생할 수 있다.
상기 제1 인코더(312)는 본 발명의 일 실시예에 따른 컴바인드 인코더로서, 상기 코어 블록(311)으로부터 제1 병렬데이터 그룹을 수신하여 상기 제1 병렬 데이터 그룹의 0과 1의 비트들이 시공간적으로 랜덤(혹은 유사 랜덤)하게 분포하도록 변환하여 출력한다. 제1 병렬 데이터 그룹은 N(2이상의 정수, 예컨대, 8)비트의 병렬데이터(D1N)를 둘 이상 포함하는 데이터로서, 예컨대, 8비트의 병렬 데이터(D1N)를 8세트 포함할 수 있으며, 이를 버스트 데이터(burst data)라 칭하기도 한다.
제1 인코더(312)의 출력 데이터는 소정의 난수열 패턴을 가진 제2 병렬 데이터 그룹일 수 있다. 제2 병렬 데이터 그룹은 M(N이상의 정수)비트의 인코딩된 병렬 데이터(D1M, encoded data)를 둘 이상 포함할 수 있다.
상기 제1 인코더(312)는 도 5a에 도시된 실시예와 같이 구성될 수 있다. 도 5a를 참조하면, 제1 인코더(312)는 인코딩 룩업 테이블 유닛(330) 및 선택 유닛(340)을 포함할 수 있다.
인코딩 룩업 테이블 유닛(330)은 선택 신호별로 각 입력 병렬 데이터(Data0~7)에 상응하는 인코딩된 데이터를 저장하고 있는 다수(예컨대, L는 2이상의 정수)의 룩업 테이블(330-1~330-L)을 포함한다. 즉, 각 룩업 테이블(330-1~330-L)은 입력 병렬 데이터의 각 패턴에 상응하는 인코딩된 데이터 패턴을 저장한다.
입력 병렬 데이터는 N(2이상의 정수, 예컨대 8) 비트이고, 인코딩된 데이터는 M(N 이상의 정수)비트일 수 있다. 인코딩된 데이터는 입력 병렬 데이터를 DC 밸런스 인코딩한 데이터에 해당할 수 있다. 이 때, 동일한 입력 병렬 데이터의 패턴에 상응하는 인코딩된 데이터의 패턴은 룩업 테이블(330-1~330-L)별로 다르다.
다른 실시예에서는, 인코딩된 데이터는 입력 병렬 데이터를 스크램블링한 후 DC 밸런스 인코딩한 데이터에 해당할 수 있다. 또는 인코딩된 데이터는 입력 병렬 데이터를 DC 밸런스 인코딩한 후 스크램블링한 데이터에 해당할 수 있다.
인코딩 룩업 테이블 유닛(330)의 각 인코딩 룩업 테이블(330-1~330-L)은 입력 병렬 데이터(Data0~7)를 수신하고, 입력 병렬 데이터(Data0~7)에 매핑되는 인코딩 데이터를 출력한다. 선택 유닛(340)은 선택 신호(SEL)에 응답하여 각 인코딩 룩업 테이블(330-1~330-L)로부터 출력되는 다수(L)의 인코딩 데이터 중에서 어느 하나를 선택하여 출력한다.
결국, 인코더(312)는 다수의 인코딩 룩업 테이블(330-1~330-L)로부터 선택 신호(SEL)에 상응하고 입력 병렬 데이터(Data0~7)에 매핑되는 인코딩 데이터를 추출하여 출력한다.
여기서, 선택 신호(SEL)는 어드레스 신호, 버스트 길이(burst length) 신호, 및 커맨드 신호 중 적어도 일부일 수 있다. 예컨대, 제1반도체 장치(310)가 제2반도체 장치(320)로 데이터를 저장하기 위하여 혹은 제2 반도체 장치(320)로부터 데이터를 독출하기 위하여 제2반도체 장치(320)로 전송하는 어드레스 신호의 일부가 선택 신호(SEL)로 사용될 수 있다.
상술한 바와 같이, 본 발명의 일 실시예에 따르면, 룩업 테이블(330-1~330-L)을 이용하여 입력 병렬 데이터를 시간과 공간적으로 랜덤(혹은 유사 랜덤)한 패턴을 가지는 인코딩 데이터로 매핑하여 출력한다. 더구나, 본 발명의 일 실시예에 따르면, 다수의 인코딩 룩업 테이블(330-1~330-L)을 구비하여 입력 병렬 데이터-대-인코딩 데이터의 매핑을 선택 신호(SEL)를 사용하여 변환시킴으로서, 8비트 입력 병렬 데이터가 연속적으로 동일한 패턴을 갖더라도 출력되는 인코딩 데이터는 바뀌기 때문에, 인코딩 데이터는 더욱 시간과 공간적으로 랜덤한 패턴을 갖게 된다.
다수의 룩업 테이블(330-1~330-L)에 미리 저장되는 인코딩 데이터의 패턴들은 스위칭 잡음 및 크로스토크(crosstalk) 등을 최소화하는 패턴으로 결정될 수 있다. 인코딩 데이터의 특징에 대해서는 뒤에서 추가적으로 기술하기로 한다.
도 5a의 실시예에서는 하나의 입력 병렬 데이터 패턴에 대하여 인코딩 룩업 테이블 유닛(330)으로부터 L개의 인코딩 데이터가 출력되고 그 중 하나의 인코딩 데이터가 최종 선택되어 출력되도록 구현된다. 그러나, 본 발명이 도 5a에 도시된 실시예에 한정되는 것은 아니다. 예를 들어, 선택 신호(SEL)에 응답하여 L개의 인코딩 룩업 테이블(330-1~330-L) 중 어느 하나만 인에이블되고, 인에이블된 룩업 테이블로부터 입력 병렬 데이터 패턴에 해당하는 인코딩 데이터가 출력되도록 구현될 수도 있다.
다시, 도 3을 참조하면, 상기 제1 출력 드라이버(314)는 상기 제1 인코더(312)의 출력 데이터를 수신하여 복수의 데이터 라인들을 통하여 상기 제2반도체 장치(320, 예컨대, DRAM)로 송신한다. 이 때, 제1 출력 드라이버(314)는 M*K(K는 버스트 길이로서, 2이상의 정수) 비트 길이의 버스트 데이터를 M비트씩 병렬로 순차적으로 상기 제2반도체 장치(320, 예컨대, DRAM)로 송신할 수 있다.
상기 제2반도체 장치(320)는 제2수신부(321), 제2 디코더(322), 데이터 저장부(323), 제2 인코더(324), 및 제2 출력 드라이버(325)를 구비할 수 있다.
상기 제2수신부(321)는 상기 제1 출력 드라이버(314)에서 송신된 병렬데이터를 수신한다. 상기 제2 디코더(322)는 상기 제2수신부(321)의 출력을 컴바인드 디코딩하여 상기 제1 병렬데이터(D1N)를 복원한다. 에러가 없다면, 복원된 병렬데이터(D2N)는 제1 반도체 장치(310)의 제1 인코더(312)의 입력 데이터(D1N)와 동일하다. 상기 복원된 병렬데이터(D2N)는 제2 수신부(321)에 의해 수신된 병렬 데이터를 DC 밸런스 디코딩한 후 디스크램블링한 데이터에 해당하거나 또는 디스크램블링 후 DC 밸런스 디코딩한 데이터에 해당할 수 있다.
상기 제2 디코더(322)는 도 5b에 도시된 실시예와 같이 구성될 수 있다. 도 5b를 참조하면, 제2 디코더(322)는 디코딩 룩업 테이블 유닛(350) 및 선택 유닛(360)을 포함할 수 있다. 디코딩 룩업 테이블 유닛(350)은 선택 신호(SEL)별로 각 입력 병렬 데이터(즉, 인코딩 데이터)에 상응하는 디코딩 데이터를 저장하고 있는 다수(예컨대, L는 2이상의 정수)의 디코딩 룩업 테이블(350-1~350-L)을 포함한다. 즉, 각 룩업 테이블(350-1~350-L)은 인코딩 데이터의 각 패턴에 상응하는 디코딩 데이터 패턴을 저장한다. 이 때, 동일한 인코딩 데이터의 패턴에 상응하는 디코딩 데이터의 패턴은 룩업 테이블(350-1~350-L)별로 다를 수 있다.
디코딩 룩업 테이블 유닛(350)의 각 디코딩 룩업 테이블(350-1~350-L)은 인코딩 데이터를 수신하고, 이에 매핑되는 디코딩 데이터를 출력한다.
선택 유닛(340)은 선택 신호(SEL)에 응답하여 각 디코딩 룩업 테이블(330-1~330-L)로부터 출력되는 다수(L)의 디코딩 데이터 중에서 어느 하나를 선택하여 출력한다.
결국, 디코더(322)는 다수의 디코딩 룩업 테이블(350-1~350-L)부터 선택 신호(SEL)에 상응하고 인코딩 데이터에 매핑되는 디코딩 데이터를 추출하여 출력한다.
선택 신호(SEL)는 상술한 바와 같이, 제1반도체 장치(310)가 제2반도체 장치(320)로 전송한 어드레스 신호, 커맨드 신호 중 적어도 일부일 수 있다. 또는 선택 신호(SEL)는 제2반도체 장치(320)의 특정 레지스터(예컨대, 모드 레지스터 셋)에 저장되는 신호(예컨대, 버스트 길이 신호 등)의 일부일 수 있다.
도 5b의 실시예에서는 하나의 인코딩 데이터 패턴에 대하여 디코딩 룩업 테이블 유닛(350)으로부터 L개의 디코딩 데이터가 출력되고 그 중 하나의 디코딩 데이터가 최종 선택되어 출력되도록 구현된다. 그러나, 본 발명이 도 5b에 도시된 실시예에 한정되는 것은 아니다. 예를 들어, 선택 신호(SEL)에 응답하여 L개의 디코딩 룩업 테이블(350-1~350-L) 중 어느 하나만 인에이블되고, 인에이블된 룩업 테이블로부터 인코딩 데이터 패턴에 해당하는 디코딩 데이터가 출력되도록 구현될 수도 있다.
다시 도 3을 참조하면, 상기 데이터 저장부(323)는 디코딩 데이터, 즉 복원된 제1 병렬 데이터(D2N)을 저장한다. 상기 데이터 저장부(323)는 다수의 메모리셀들을 구비하는 메모리셀 어레이가 될 수 있다.
상기 제2 인코더(324)는 상기 데이터 저장부(323)에 저장된 제2병렬데이터(D2N)를 수신하고, M비트의 인코딩 데이터(D2M)를 생성한다. 상기 제2 인코더(324)는 상기 제1 인코더(313)의 인코딩 방식과 동일한 방식으로 인코딩 데이터(D2M)를 생성할 수 있다. 즉, 제2 인코더(324)의 구성 및 동작은 제1 인코더(312)와 동일하므로 이에 대한 상세한 설명은 생략한다.
상기 제2출력 드라이버(325)는 상기 제2 인코딩 데이터(D2M)를 수신하여 상기 제1 반도체 장치(310, 예컨대, 메모리 컨트롤러)로 송신한다.
제1 반도체 장치(310)의 상기 제1수신부(315)는 상기 제2 반도체 장치(320)로부터 출력된 병렬데이터를 수신한다. 상기 제1 디코더(316)는 상기 제1수신부(315)의 출력을 컴바인드 디코딩한다. 상기 제1 디코더(316)의 구성 및 동작은 제2 디코더(322)와 동일하므로 이에 대한 상세한 설명은 생략한다.
도 4는 본 발명의 다른 실시 예에 따른 병렬데이터 인터페이스 시스템(400)을 나타낸다. 도 3 및 도 4를 참조하면, 상기 시스템(400)은 반도체 장치들(410 및 420)을 구비한다. 상기 반도체 장치(410)는 도 3에 도시한 제1 반도체 장치(310)와 동일한 구성을 갖는 바 중복을 피하기 위하여 설명을 생략한다.
상기 반도체 장치(420)는 도 3에 도시한 제2 반도체 장치(320)와 유사한 구성을 가지지만, 도 3에 도시한 제2 반도체 장치(320)에 비하여, 제2디코더(322)와 제2 인코더(324)가 구비되지 않는다는 점에서 차이가 있다.
상기 반도체 장치(420)의 상기 제2수신부(321)는 상기 반도체 장치(410)의 상기 제1 출력 드라이버(314)에서 송신된 병렬데이터를 수신한다. 수신된 데이터는 컴바인드 디코딩없이 데이터 저장부(323)에 저장된다. 여기서, 컴바인드 디코딩이란 제1 반도체 장치(410)의 제1 인코더(312)에서 수행된 컴바인드 인코딩에 대응하는 디코딩을 말하는 것으로, 다른 종류의 디코딩(예컨대, CRC 디코딩 등)은 얼마든지 수행될 수 있다.
본 실시예에서는 수신된 데이터는 컴바인드 디코딩없이 데이터 저장부(323)에 저장되므로, 저장된 데이터는 컴바인드 인코딩된 데이터, 즉 시/공간적으로 램덤화된 데이터이다.
상기 제2출력 드라이버(325)는 데이터 저장부(323)로 출력되는 인코딩 데이터를 수신하여 상기 반도체 장치(410)로 송신할 수 있다.
따라서 상기 제1 및 제2 반도체 장치 사이에 N비트의 병렬데이터를 전송하는 경우 도 3에 도시된 데이터 저장부(323)에는 컴바인드 디코딩된 데이터, 즉 복원된 N비트의 병렬데이터가 저장되지만, 도 4에 도시된 데이터 저장부(323)에는 인코딩 데이터, 즉 컴바인드 인코딩된 M비트 병렬데이터가 저장된다.
도 6a는 일반적인 8/10비트 밸런스 코딩된 병렬데이터(DQ1 내지 DQ10)를 나타낸다. 도 6a를 참조하면, 8비트의 병렬데이터는 상기 8/10비트 밸런스 코딩에 의하여 10비트의 병렬데이터(DQ1 내지 DQ10)로 변환된다. 한 주기에서 전송되는 상기 10비트의 병렬데이터(DQ1 내지 DQ10)는 0과 1의 개수가 최대 2개 차이가 난다. 그러나 상기 전송되는 10비트의 병렬데이터(DQ1 내지 DQ10)가 점선 안의 경우와 같이 시간적으로 변하게 되는 경우에는 10비트 모두가 변하게 되므로 스위칭 노이즈가 최대가 되며, 데이터 채널들로 전송되는 데이터 신호의 전기적 결합에 의한 영향이 커져 누화(crosstalk)도 최대가 된다.
도 6b는 본 발명의 일 실시예에 따른 컴바인드 인코딩된 병렬데이터(DQ1' 내지 DQ10')를 나타낸다. 도 3 및 도 6b를 참조하면, 본 발명의 일 실시예에 따른 컴바인드 인코딩된 병렬데이터(DQ1' 내지 DQ10')는 스크램블링와 8/10비트 밸런스 인코딩이 결합된 인코딩을 거친 데이터이다.
즉, 인코딩된 병렬데이터 그룹(Code 0~ Code4)은 스크램블링 및 8/10비트 밸런스 인코딩을 통해 제1 로직 레벨을 갖는 비트('0')와 제2 로직 레벨을 갖는 비트('1')가 시간 및 공간적으로 랜덤하게 분포된 데이터이다. 여기서, 공간적이란 의미는 병렬로 함께 전송되는 데이터 내에서의 '0' 및 '1'의 위치가 랜덤하게 분포한다는 것을 의미하고, 시간적이란 의미는 동일 데이터 라인을 통해 순차적으로 전송되는 데이터 내에서의 '0' 및 '1'의 위치가 랜덤하게 분포한다는 것을 의미한다.
따라서 상기 인코딩 데이터 그룹(Code 0~ Code4)에서는 도 6a에 도시된 점선 안의 경우가 나올 확률이 거의 없게 된다.
그리고 도 6b에 도시된 점선 안의 경우 같이 상기 인코딩 데이터(예컨대, DQ1' 내지 DQ10')의 한 비트의 현재 주기의 데이터 값과 다음 주기의 데이터 값이 다른 값을 가질 확률이 50%가 된다. 따라서 본 발명의 일 실시 예에 따라 병렬데이터를 컴바인드 인코딩하여 전송하는 경우 스위칭 노이즈가 감소하며, 누화(crosstalk)도 감소된다
도 6c는 일반적인 DBI DC 밸런스 코딩된 병렬데이터(DQ1" 내지 DQ9")를 나타낸다. 도 6c를 참조하면, 8비트의 병렬데이터는 상기 DBI DC 밸런스 코딩에 의하여 9비트의 병렬데이터(DQ1" 내지 DQ9")로 변환된다. 도 6c의 첫번 째 점선 안의 병렬데이터는 DBI DC 밸런스 코딩에 의하더라도 밸런스 코드가 유지되는 경우가 아니다.
또한 상기 8비트의 병렬데이터 중에서 1의 값을 갖는 비트 수가 0개 또는 1개인 경우도 상기 DBI DC 밸런스 코딩에 의하더라도 역시 밸런스 코드가 유지되지 않는다. 수학적으로 상기 밸런스 코드가 유지되지 않는 경우가 나올 확률은 256분의 10이 된다.
상기 DBI DC 밸런스 코딩에 경우에도 도 6c의 두번 째 점선 안의 경우와 같이 상기 9비트의 병렬데이터(DQ1" 내지 DQ9")가 시간적으로 모두 변화하는 경우 스위칭 노이즈가 증가된다.
도 6d는 본 발명의 다른 일 실시예에 따라 컴바인드 인코딩된 병렬데이터(DQ1"' 내지 DQ9"')를 나타낸다. 도 3 및 도 6d를 참조하면, 본 발명의 다른 일 실시예에 따라 컴바인드 인코딩된 병렬데이터(DQ1"' 내지 DQ9"')는 스크램블링와 DBI DC 밸런스 인코딩을 거친 데이터이다.
즉, 인코딩 데이터 그룹(Code 0~ Code5)은 스크램블링 및 DBI DC 밸런스 인코딩을 통해 제1 로직 레벨을 갖는 비트('0')와 제2 로직 레벨을 갖는 비트('1')가 시간 및 공간적으로 랜덤하게 분포된 데이터이다.
따라서 본 발명의 일 실시 예에 의한 컴바인드 인코딩된 병렬데이터(DQ1"' 내지 DQ9"')는 도 6c의 첫번 째 점선 안의 병렬데이터 패턴 및 두번 째 점선 안의 병렬데이터 패턴이 나올 확률이 거의 없게 된다. 결국 따라서 본 발명의 일 실시 예에 따라 병렬데이터를 컴바인드 인코딩하여 전송하는 경우 공간적으로 밸런스 코드가 유지되면서도 시간적으로 스위칭 노이즈가 감소된다.
도 7a는 본 발명의 다른 일 실시예에 따른 컴바인드 인코더의 개략적인 구성도이다.
이를 참조하면, 인코더(312')는 시드 생성기(371), 스크램블링 코드 생성기(372), 밸런스 인코딩 블록(373) 및 스크램블러(374)를 구비할 수 있다.
시드 생성기(371)는 스크램블링 코드를 생성하는데 사용되는 시드(seed)를 생성한다. 그러나 시드는 레지스터 등을 이용하여 미리 저장될 수도 있고, 또는 어드레스 신호, 버스트 길이 신호, 및 커맨드 신호 중 일부일 수 있다.
스크램블링 코드 생성기(372)는 시드를 이용하여 스크램블링 코드를 생성한다. 스크램블링 코드는 난수열(seudo random binary sequence) 패턴의 코드일 수 있다. 스크램블링 코드 생성기(372)는 시드를 이용하여 난수열을 생성하는 난수열 발생기로 구현될 수도 있으나, 이에 한정되는 것은 아니다.
스크램블러(374)는 상기 스크램블링 코드를 이용하여 입력되는 제1 병렬 데이터 그룹을 스크램블링하여 제2 병렬 데이터 그룹을 생성한다. 스크램블러(374)는 제1병렬 데이터 그룹의 각각의 비트와 스크램블링 코드의 각각의 비트를 배타적 논리합(exclusive OR)하는 논리 연산기를 포함할 수 있다.
여기서 제1 병렬 데이터 그룹은 N(예컨대, 8) 비트 병렬 데이터를 둘 이상 포함하는 데이터로서, 본 실시예에서는 8세트의 8비트 병렬 데이터로 구성되는 64비트 데이터이다. 따라서, 스크램블링 코드 역시 64비트 데이터이다. 본 실시예는 버스트 길이(burst length)가 8인 경우로서, 제1 병렬 데이터 그룹의 길이는 병렬 데이터의 비트수*버스트 길이에 해당한다.
스크램블러(374)는 64비트의 제1 병렬 데이터 그룹의 각 비트와 64비트의 스크램블링 코드의 각 비트를 1대1로 배타적 논리합하여 64비트의 스크램블링된 제2 병렬 데이터 그룹을 발생할 수 있다. 설명의 편의를 위하여 특정 수치(8비트, 64비트 등)를 예로 들어 설명하나, 제1 병렬 데이터 그룹의 길이, 및 스크램블링 코드의 길이는 변경될 수 있다.
밸런스 인코딩 블록(373)은 제2 병렬 데이터 그룹을 수신하고, 상기 제2 병렬 데이터 그룹의 8비트 스크램블드 병렬 데이터 각각을 DC 밸런싱 인코딩하여 M(>N, 정수) 비트 밸런스 코드들(code0~code7)을 발생한다.
본 실시예에서는, 밸런스 인코딩 블록(373)은 DBI DC 인코더로서, 8 비트 스트램블드 병렬 데이터에 포함된 제1로직 레벨의 비트 수 또는 제2 로직 레벨의 비트 수에 따라 선택적으로 상기 8비트 스크램블드 병렬 데이터를 반전하고 상기 선택적으로 반전된 상기 8비트 스크램블드 병렬 데이터에 반전 여부를 나타내는 플래그 신호(DBI)를 추가한다. 그러나, 밸런스 인코딩 블록(373)이 DBI DC 인코더에 한정되는 것은 아니며, 또한, 도 7a에 도시된 바와 같이, 한 비트의 플래그 신호(DBI)를 사용하는 DBI DC 인코더에 한정되는 것도 아니다.
예를 들어, 밸런스 인코딩 블록(373)은 미국 등록 특허 제 7,495,587호에 개시된 바와 같이, 두 비트의 플래그 신호를 사용하는 DBI DC 인코더로 구현될 수 있다.
출력 드라이버(314)는 밸런스 코드들(Code0~Code7) 및 상기 시드 데이터를 순차적으로 복수의 데이터 라인들을 통하여 출력한다. 예컨대, DQ0 내지 DQ7 및 플래그 신호(DBI)로 구성된 각 밸런스 코드(Code0~Code7)를 8UI (Unit Interval) 동안 Code0부터 Code7까지 순차적으로 출력한 다음, 뒤이어, 상기 시드 데이터를 동일한 복수의 데이터 라인들을 통하여 출력한다.
여기서, UI란 1 비트(또는 심볼) 길이를 의미한다. 따라서 도 7a에 도시된 실시예에서는, 첫번째 UI에서는 Code0이 병렬로 출력되고, 그 다음 UI에서는 Code1이 출력된다. 그리고, 8번째 UI에서 버스트 데이터의 마지막 밸런스 코드인 Code7이 병렬로 출력된 후에는, 시드 데이터가 복수의 데이터 라인들을 통하여 출력된다.
본 실시예에 따르면, 시드 데이터가 별도의 전송 라인이 아닌 데이터 라인들을 통하여 데이터에 뒤이어 출력되므로, 시드를 전송하기 위한 별도의 라인이나 핀을 필요로 하지 않는다.
상기 시드의 비트 수에 따라 시드를 전송하는데 소요되는 UI 가 달라질 수 있으며, 또한 시드를 전송하는 순서 역시 달라질 수 있다. 예컨대, 시트 데이터를 먼저 전송한 후 버스트 데이터를 전송할 수도 있다.
도 7b는 본 발명의 다른 일 실시예에 따른 컴바인드 디코더의 개략적인 구성도이다. 이를 참조하면, 디코더(312')는 디스크램블링 코드 생성기(381), 밸런스 디코딩 블록(382) 및 디스크램블러(383)를 구비할 수 있다.
디스크램블링 코드 생성기(381)는 시드를 이용하여 디스크램블링 코드를 생성한다. 디스크램블링 코드 생성기(381)는, 도 7a에 도시된 스크램블링 코드 생성기(372)와 동일하게 구현될 수 있다. 디스크램블링 코드는 난수열(seudo random binary sequence) 패턴의 코드로서, 스크램블링 코드와 동일할 수 있다.
시드는 복수의 데이터 라인을 통하여 수신된다. 예컨대, 수신부(321)는 복수의 데이터 라인들을 통하여 M(2이상의 정수)비트 밸런스 코드들 및 시드를 순차적으로 수신하고, 수신된 시드를 디스크램블링 코드 생성기(381)로 제공한다.
밸런스 디코딩 블록(382)은 다수의 밸런스 코드들(Code0~Code7)을 포함하는 총 72비트의 병렬 데이터 그룹(burst data)을 수신하고, 상기 병렬 데이터 그룹의 9비트 스크램블드 밸런스 코드들 각각을 DC 밸런싱 디코딩하여 8세트의 8비트 스크램블드 병렬 데이터를 발생한다. 즉, 밸런스 디코딩 블록(382)의 출력은 64 비트 스크램블드 데이터이다.
본 실시예에서는, 밸런스 디코딩 블록(382)은 DBI DC 디코더로서, DBI 플래그 신호(DBI)에 따라 8비트 스크램블드 병렬 데이터(DQ0~DQ7)을 선택적으로 반전한다. 그러나, 상술한 밸런스 인코딩 블록(373)과 마찬가지로, 밸런스 디코딩 블록(382) 역시 DBI DC 디코더에 한정되는 것은 아니며, 또한, 도 7b에 도시된 바와 같이, 한 비트의 플래그 신호(DBI)를 사용하는 DBI DC 디코더에 한정되는 것도 아니다.
디스크램블러(383)는 상기 디스크램블링 코드(예컨대, 64비트의 난수열)를 이용하여 밸런스 디코딩 블록(382)으로부터 출력된 64비트의 스크램블드 데이터를 디스크램블링하여 디스크램블된 데이터를 발생한다. 디스크램블러(383)는 밸런스 디코딩 블록(382)으로부터 출력된 데이터의 각각의 비트와 디스크램블링 코드의 각각의 비트를 배타적 논리합(exclusive OR)하는 논리 연산기를 포함할 수 있다.
디스크램블러(383)의 출력 데이터는 데이터 저장부(323)에 저장될 수 있다.
도 8은 본 발명의 일 실시예에 따른 메모리 장치(430)의 개략적인 구성도이다. 도 8의 메모리 장치(430)는 상술한 제1 반도체 장치(310, 410) 또는 제2 반도체 장치(320, 420)와 유사한 구성 및 기능을 갖는다. 따라서, 중복을 피하기 위하여 차이점을 위주로 기술한다. 도 8을 참조하면, 메모리 장치(430)는 수신부(321'), 인코더(312"), 데이터 저장부(323), 디코더(322") 및 출력 드라이버(325')를 구비한다.
메모리 장치(430)는 메모리 컨트롤러(미도시)의 제어에 따라 데이터를 저장할 수 있다. 수신부(321')는 메모리 컨트롤러의 기록 명령(write command)에 기초하여, 메모리 컨트롤러부터 복수의 데이터 라인들을 통하여 전송되는 제1병렬 데이터 그룹를 수신한다.
인코더(312")는 스크램블러(374) 및 밸런스 인코딩 블록(373)을 포함한다. 스크램블러(374) 및 밸런스 인코딩 블록(373)의 구성 및 동작은 도 7a를 참조하여 설명한 바와 동일하므로, 이에 대한 상세한 설명은 생략한다. 또한, 인코더(312")는 도 7a에 도시된 바와 같이, 스크램블링 코드 발생기(372)를 더 구비할 수 있다. 또는, 인코더(312")는 도 3a에 도시된 바와 같이, 룩업 테이블을 이용하여 구현될 수 있다.
메모리 저장부(323)는 상기 인코딩 데이터를 내부 버스(bus)를 통하여 수신하여 저장한다.
도 3 및 도 4의 시스템(300, 400)에서는 둘 이상의 장치 사이의 병렬 인터페이스에서 발생하는 스위칭 잡음 및 DC 전류 변화량을 줄이기 위하여 하나의 반도체 장치(310, 410)에서 컴바인드 인코딩을 수행하여 인코딩된 데이터를 다른 반도체 장치(320, 420)로 전송한다. 이에 비해, 도 8의 메모리 장치(430)는 메모리 장치(430)로 수신된 병렬 데이터를 스크램블링 혹은 컴바인드 인코딩을 한 후 내부 데이터 저장부(323)에 저장한다. 메모리 장치의 집적도가 높아지고, 병렬로 인터페이스되는 데이터의 양도 증가함에 따라, 메모리 장치 내부의 데이터 전송시 발생하는 크로스토크(crosstalk) 등의 잡음을 줄이는 것이 중요가 이슈가 되고 있다.
본 발명의 실시예에서는, 외부에서 수신된 병렬 데이터를 스크램블링 혹은 컴바인드 인코딩을 통해 '0'과 '1'을 시/공간적으로 분산하여 내부 버스를 통해 전송함으로써, 메모리 장치 내에서의 데이터 전송시 크로스토크(crosstalk) 등의 잡음을 줄일 수 있으며, 이에 따라 메모리 장치의 성능이 향상된다.
디코더(322")는 데이터 저장부(323)로부터 출력되는 병렬 데이터를 디스크램블링 혹은 컴바인드 디코딩하여 출력한다. 출력 드라이버(325')는 디코더(322")의 출력 데이터를 외부로 출력한다.
디코더(322")는 밸런스 디코딩 블록(382) 및 디스크램블러(383)를 더 포함한다. 밸런스 디코딩 블록(382) 및 디스크램블러(383)의 구성 및 동작은 도 7b를 참조하여 설명한 바와 동일하므로, 이에 대한 상세한 설명은 생략한다. 또한, 디코더(322")는 도 7b에 도시된 바와 같이, 디스크램블링 코드 발생기(381)를 더 구비할 수 있다. 또는, 디코더(322")는 도 3b에 도시된 바와 같이, 룩업 테이블을 이용하여 구현될 수 있다.
도 9 및 도 10 각각은 본 발명의 다른 일 실시예에 따른 병렬 데이터 인터페이스 시스템(1000)을 개략적으로 나타내는 블록도이다.
도 9를 참조하면, 병렬 데이터 인터페이스 시스템(1000)은 메모리 컨트롤러(440) 및 메모리 장치(450)를 구비한다. 메모리 컨트롤러(440)는 메모리 장치(450)로 데이터를 기입하거나 메모리 장치(450)로부터 데이터를 독출하는 등의 일련의 동작을 수행하기 위하여 메모리 장치(450)로 커맨드/어드레스 신호(CA)를 송신한다.
메모리 장치(450)는 메모리 컨트롤러(440)로부터 데이터의 기입 명령(Write) 또는 독출명령(Read)이 인가되었을 때, 클락신호(DQ_CLK)를 이용하여 데이터(DQ)의 입출력을 수행한다.
메모리 컨트롤러(440)와 메모리 장치(450)간의 병렬 데이터 송수신시, 상술한 바와 같이, 본 발명의 일 실시예에 따른 컴바인드 인코딩을 수행한 후 인코딩 데이터를 송수신할 수 있다.
또는 메모리 장치(450)는 메모리 컨트롤러(440)로부터 병렬 데이터를 수신하여 내부적으로 컴바인드 인코딩하여 저장할 수 있다.
도 10을 참조하면, 병렬 데이터 인터페이스 시스템(1000')은 메모리 컨트롤러(530) 및 다수의 메모리 장치(550)를 구비한다. 메모리 컨트롤러(530)는 각 메모리 장치(550)와 컴바인드 인코딩된 데이터를 송수신할 수 있다.
도 11a 내지 도 12d 각각은 본 발명의 일 실시예에 따른 메모리 모듈을 나타내는 블록도이다. 도 11a에 도시된 메모리 모듈(500a)은 UDIMM(unbuffered dual in-line memory module)의 일 예이다.
메모리 모듈(500a)은 메모리 컨트롤러(530)로부터 입력되는 커맨드/어드레스 신호(CA)를 수신하며 클락신호(DQ_CLK)에 응답하여 데이터(DQ)를 입출력할 수 있는 복수 개의 반도체 메모리 장치(550)를 포함한다. 메모리 모듈(500a)은 또한 복수 개의 반도체 메모리 장치 각각에 연결되어 외부와 데이터(DQ)의 입출력 통로가 되는 데이터 배선, 커맨드/어드레스 신호(CA)를 반도체 메모리 장치(550)로 전달하기 위한 커맨드/어드레스 배선, 클락신호(DQ_CLK)를 반도체 메모리 장치(550)에 공급하기 위한 클락 배선을 포함할 수 있다.
클락신호(DQ_CLK), 커맨드/어드레스 신호(CA) 및 데이터(DQ)는 메모리 컨트롤러(530)로부터 별도의 버퍼를 거치지 않고 메모리 모듈(500a)의 각 메모리 장치(550)로 입력된다.
도 11b에 도시된 메모리 모듈(500b)은 RDIMM(registered dual in-line memory module)의 일 예이다. 커맨드/어드레스 신호(CA)는 레지스터 회로(REG, 531)를 거쳐 메모리 모듈(500b)의 각 메모리 장치(550)로 입력되는 한편, 클락신호(DQ_CLK)와 데이터(DQ)는 레지스터/PLL 회로(REG, 531)를 거치지 않고 메모리 모듈(500b)의 각 메모리 장치(550)로 입력된다. 레지스터 회로(531)는 커맨드/어드레스 신호(CA)를 버퍼링하기 위한 레지스터를 포함할 수 있다. 레지스터 회로(531)는 경우에 따라 메모리 모듈(500b)이 아닌 칩 셋 상에 구현될 수 있고, 이 경우 메모리 모듈(500b)에서 삭제될 수 있다.
도 11c에 도시된 메모리 모듈(500c)은 FBDIMM(Fully Buffered DIMM)의 일 예로서, 메모리 모듈상에 버퍼(BUFFER, 532)를 갖는 메모리 모듈의 실시예이다. 도 12c에 보인 것처럼, 버퍼(BUFFER, 532)를 포함한 메모리 모듈(500c)은 하나의 채널(CH)을 이용하여 외부(메모리 컨트롤러(530))와 연결되고, 채널(CH)과 연결된 버퍼(532)를 통해서만 외부와 통신이 가능하다. 즉, 메모리 모듈(500c)상의 모든 반도체 메모리 장치(550)는 채널(CH)과 연결된 버퍼(532)를 통해서만 메모리 컨트롤러(530)로부터 클락신호(DQ_CLK), 커맨드/어드레스 신호(CA)와 데이터(DQ)를 입력받고, 또한 데이터(DQ)를 외부로 출력할 수 있다.
도 12a 내지 도 12d는 각각 도 11a 내지 도 11c에 도시된 메모리 모듈을 이용한 메모리 시스템의 구조를 나타낸다. 도 12a 내지 도 132를 참조하면, 메모리 시스템은 상술한 메모리 모듈(500a, 500b, 또는 500c)를 다수개 포함하여 구현될 수 있다.
도 11a 내지 도 12d에 도시된 실시예에서, 메모리 컨트롤러(530)는 각 메모리 장치(550)와 병렬 데이터 송수신시 상술한 바와 같이, 본 발명의 일 실시예에 따른 컴바인드 인코딩을 수행한 후 인코딩 데이터를 송수신할 수 있다. 또는 각 메모리 장치(550)는 메모리 컨트롤러(540)로부터 병렬 데이터를 수신하여 내부적으로 컴바인드 인코딩하여 저장할 수 있다.
상술한 본 발명의 일 실시예에 따른 병렬 데이터 인터페이스 시스템(1000, 1000') 및 메모리 모듈(500a~500c)에서는 메모리 컨트롤러에서 메모리 장치로 클락신호(DQ_CLK)를 공급하나, 본 발명이 이에 한정되는 것은 아니다. 예컨대, 본 발명의 다른 실시예에서는, 클럭 신호(DQ_CLK) 대신에 데이터 스트로브 신호(DQS)가 사용될 수 있다. 본 발명의 또 다른 실시예에서는, 클럭 신호(DQ_CLK)나 데이터 스트로브 신호(DQS)를 메모리 컨트롤러에서 메모리 장치로 공급하지 않고, 메모리 장치 내에서 CDR(Clock Data Recovery) 방식으로 수신되는 데이터로부터 클럭 신호를 복구하여 사용할 수도 있다. 따라서, 본 발명은 상술한 실시예에 한정되지 않으며, 다양한 변경이 가능하다.본 발명은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 광 데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
병렬 데이터 인터페이스 시스템: 300, 400, 1000, 1000'
반도체 장치: 310, 320, 410, 420, 430
코어 블록: 311
인코더 : 312, 324
출력 드라이버: 314, 325
수신부: 315, 321
디코더: 316, 322
인코딩 룩업 테이블 유닛: 330, 350
선택 유닛: 340, 360

Claims (24)

  1. 선택 신호별로 구분 가능한 다수의 인코딩 룩업 테이블들을 포함하는 인코딩 룩업 테이블 유닛; 및
    N(2이상의 정수) 비트 병렬 데이터를 수신하고, 상기 인코딩 룩업 테이블 유닛으로부터 상기 선택 신호에 상응하고 상기 N 비트 병렬 데이터에 매핑되는 인코딩 데이터를 추출하여 출력하는 선택 유닛을 구비하며,
    상기 다수의 인코딩 룩업 테이블들 각각은
    상기 N 비트 병렬 데이터의 패턴에 일대일로 매핑되며, 시간 및 공간적으로 랜덤 패턴을 가지는 다수의 인코딩 데이터를 저장하는 반도체 장치.
  2. 제1항에 있어서, 상기 선택 신호는
    어드레스 신호, 버스트 길이 신호, 및 커맨드 신호 중 적어도 일부를 포함하는 반도체 장치.
  3. 제1항에 있어서, 상기 반도체 장치는
    상기 인코딩 데이터를 복수의 데이터 라인들을 통하여 출력하는 출력 드라이버를 더 구비하는 반도체 장치.
  4. 제1항에 있어서, 상기 선택 유닛은
    상기 다수의 인코딩 룩업 테이블들 각각으로부터 출력되는 인코딩 데이터 중에서 상기 선택 신호에 상응하는 인코딩 데이터를 선택하여 출력하는 선택기를 포함하는 반도체 장치.
  5. 제1항에 있어서, 상기 인코딩 데이터는
    상기 N 비트 병렬 데이터를 스크램블링 및 DC 밸런스 인코딩한 데이터에 해당하는 반도체 장치.
  6. 선택 신호별로 구분 가능한 다수의 디코딩 룩업 테이블들을 포함하는 디코딩 룩업 테이블 유닛; 및
    인코딩 데이터를 수신하고, 상기 디코딩 룩업 테이블 유닛으로부터 상기 선택 신호에 상응하고 상기 인코딩 데이터에 매핑되는 N(2이상의 정수) 비트 병렬 데이터를 추출하여 출력하는 선택 유닛을 구비하며,
    상기 다수의 디코딩 룩업 테이블들 각각은
    시간 및 공간적으로 랜덤 패턴을 가지는 다수의 인코딩 데이터 패턴 각각에일대일로 매핑되는 다수의 N 비트 병렬 데이터를 저장하는 반도체 장치.
  7. 제6항에 있어서, 상기 선택 신호는
    어드레스 신호, 버스트 길이 신호, 및 커맨드 신호 중 적어도 일부를 포함하는 반도체 장치.
  8. 제6항에 있어서, 상기 반도체 장치는
    상기 인코딩 데이터를 복수의 데이터 라인들을 통하여 수신하는 데이터 수신부를 더 구비하는 반도체 장치.
  9. 제6항에 있어서, 상기 선택 유닛은
    상기 다수의 디코딩 룩업 테이블들 각각으로부터 출력되는 N 비트 병렬 데이터 중에서 상기 선택 신호에 상응하는 병렬 데이터를 선택하여 출력하는 선택기를 포함하는 반도체 장치.
  10. 제6항에 있어서, 상기 N 비트 병렬 데이터는
    상기 인코딩 데이터를 DC 밸런스 디코딩 및 디스크램블링한 데이터에 해당하는 반도체 장치.
  11. 시드(seed)를 이용하여 스크램블링 코드를 생성하는 스크램블링 코드 생성기;
    상기 스크램블링 코드를 이용하여 제1 병렬데이터 그룹-제1 병렬데이터 그룹은 N(2이상의 정수) 비트 병렬 데이터를 둘 이상 포함함-을 스크램블링하여 제2병렬데이터 그룹-상기 제2 병렬 데이터 그룹은N비트 스크램블드(scrambled) 병렬 데이터를 둘 이상 포함함-을 발생하는 스크램블러;
    상기 제2 병렬 데이터 그룹을 수신하고, 상기 제2 병렬 데이터 그룹의 N비트 스크램블드 병렬 데이터 각각을 DC 밸런싱 인코딩하여 M(>N, 정수) 비트 밸런스 코드들을 발생하는 밸런스 인코딩 블록; 및
    상기 밸런스 코드들 및 상기 시드를 순차적으로 복수의 데이터 라인들을 통하여 출력하는 출력 드라이버를 구비하는 반도체 장치.
  12. 제11항에 있어서, 상기 밸런스 인코딩 블록은
    상기 N 비트 스트램블드 병렬 데이터에 포함된 제1로직 레벨의 비트 수 또는 제2 로직 레벨의 비트 수에 따라 선택적으로 상기 N비트 스크램블드 병렬 데이터를 반전하고 상기 선택적으로 반전된 상기 N비트 스크램블드 병렬 데이터에 반전 여부를 나타내는 플래그 신호를 추가하는 반도체 장치.
  13. 제11항에 있어서, 상기 스크램블러는
    상기 제1병렬 데이터 그룹의 각각의 비트와 상기 스크램블링 코드의 각각의 비트를 배타적 논리합(exclusive OR)하는 논리 연산기를 포함하는 반도체 장치.
  14. 제11항에 있어서, 상기 출력 드라이버는
    상기 밸런스 코드들을 코드 단위로 순차적으로 상기 복수의 데이터 라인들을 통하여 출력하고 뒤이어 상기 시드를 상기 복수의 데이터 라인들을 통하여 출력하는 반도체 장치.
  15. 복수의 데이터 라인들을 통하여 M(2이상의 정수)비트 밸런스코드들 및 시드를 수신하는 데이터 수신부-상기 M 비트 밸런스 코드들 각각은 N(<M, 정수) 비트 병렬데이터를 둘 이상 포함하는 제1 병렬 데이터 그룹을 스크램블링하여 생성된 제2병렬데이터 그룹의 N 비트 스크램블드 병렬 데이터 각각을DC 밸런스 인코딩함으로써 생성됨-;
    상기 시드를 이용하여 디스크램블링 코드를 생성하는 디스크램블링 코드 생성기;
    상기 밸런스 코드들을 각각 DC 밸런스 디코딩하여 상기 N 비트 스크램블드 병렬 데이터를 둘 이상 포함하는 상기 제2 병렬 데이터 그룹을 추출하는 밸런스 디코딩 블록; 및
    상기 밸런스 디코딩 블록에 의해 추출된 상기 제2 병렬 데이터 그룹을 상기 디스크램블링 코드를 이용하여 디스크램블링하여 상기 제1 병렬 데이터 그룹을 추출하는 디스크램블러를 구비하는 반도체 장치.
  16. 제15항에 있어서, 상기 밸런스 디코딩 블록은
    상기 밸런스 코드에 포함된 소정의 플래그 신호에 따라 해당 밸런스 코드를 선택적으로 반전하는 반도체 장치.
  17. 제15항에 있어서, 상기 디스크램블러는
    상기 제2병렬 데이터 그룹의 각각의 비트와 상기 디스크램블링 코드의 각각의 비트를 배타적 논리합(exclusive OR)하는 논리 연산기를 포함하는 반도체 장치.
  18. 제15항에 있어서, 상기 데이터 수신부는
    상기 밸런스 코드들을 코드 단위로 순차적으로 상기 복수의 데이터 라인들을 통하여 수신하고 뒤이어 상기 시드를 상기 복수의 데이터 라인들을 통하여 수신하는 반도체 장치.
  19. 메모리 컨트롤러의 제어에 따라 데이터를 저장하는 메모리 장치에 있어서,
    상기 메모리 컨트롤러의 기록 명령(write command)에 기초하여, 상기 메모리 컨트롤러부터 복수의 데이터 라인들을 통하여 제1병렬 데이터를 수신하는 데이터 수신부;
    상기 제1 병렬 데이터를 인코딩하여 인코딩 데이터를 출력하는 인코더; 및
    상기 인코딩 데이터를 상기 메모리 장치의 내부 버스(bus)를 통하여 수신하여 저장하는 데이터 저장부를 구비하는 메모리 장치.
  20. 제 19 항에 있어서, 상기 메모리 장치는
    상기 데이터 저장부에서 출력되는 데이터를 디코딩하는 디코더; 및
    상기 디코더의 출력 데이터를 상기 메모리 컨트롤러로 전송하는 출력 드라이버를 더 구비하는 반도체 장치.
  21. 제 20 항에 있어서, 상기 인코더는
    선택 신호별로 구분 가능한 다수의 인코딩 룩업 테이블들을 포함하는 인코딩 룩업 테이블 유닛; 및
    N(2이상의 정수) 비트 병렬 데이터를 수신하고, 상기 인코딩 룩업 테이블 유닛으로부터 상기 선택 신호에 상응하고 상기 N 비트 병렬 데이터에 매핑되는 인코딩 데이터를 추출하여 출력하는 선택 유닛을 구비하며,
    상기 다수의 인코딩 룩업 테이블들 각각은
    상기 N 비트 병렬 데이터의 패턴에 일대일로 매핑되며, 시간 및 공간적으로 랜덤 패턴을 가지는 다수의 인코딩 데이터를 저장하는 반도체 장치.
  22. 제21항에 있어서, 상기 선택 신호는
    어드레스 신호, 버스트 길이 신호, 및 커맨드 신호 중 적어도 일부를 포함하는 메모리 장치.
  23. 제20항에 있어서, 상기 인코더는
    시드(seed)를 이용하여 스크램블링 코드를 생성하는 스크램블링 코드 생성기; 및
    상기 스크램블링 코드를 이용하여 제1 병렬데이터 그룹-제1 병렬데이터 그룹은 N(2이상의 정수) 비트 병렬 데이터를 둘 이상 포함함-을 스크램블링하여 제2병렬데이터 그룹-상기 제2 병렬 데이터 그룹은N비트 스크램블드(scrambled) 병렬 데이터를 둘 이상 포함함-을 발생하는 스크램블러를 포함하는 메모리 장치.
  24. 제23항에 있어서, 상기 인코더는
    상기 제2 병렬 데이터 그룹을 수신하고, 상기 제2 병렬 데이터 그룹의 N비트 스크램블드 병렬 데이터 각각을 DC 밸런싱 인코딩하여 M(>N, 정수) 비트 밸런스 코드들을 발생하는 밸런스 인코딩 블록을 더 포함하는 메모리 장치.
KR1020100020143A 2006-05-27 2010-03-05 컴바인드 코딩을 이용한 병렬데이터 인터페이스 방법, 기록매체 및 그 장치 KR20110101012A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020100020143A KR20110101012A (ko) 2010-03-05 2010-03-05 컴바인드 코딩을 이용한 병렬데이터 인터페이스 방법, 기록매체 및 그 장치
JP2011047461A JP2011187153A (ja) 2010-03-05 2011-03-04 半導体装置およびメモリ装置
TW100107353A TW201201520A (en) 2010-03-05 2011-03-04 Method and apparatus for parallel data interfacing using combined coding and recording medium therefor
US13/040,606 US8552891B2 (en) 2006-05-27 2011-03-04 Method and apparatus for parallel data interfacing using combined coding and recording medium therefor
US14/047,377 US9048855B2 (en) 2006-05-27 2013-10-07 Method and apparatus for parallel data interfacing using combined coding and recording medium therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100020143A KR20110101012A (ko) 2010-03-05 2010-03-05 컴바인드 코딩을 이용한 병렬데이터 인터페이스 방법, 기록매체 및 그 장치

Publications (1)

Publication Number Publication Date
KR20110101012A true KR20110101012A (ko) 2011-09-15

Family

ID=44793237

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100020143A KR20110101012A (ko) 2006-05-27 2010-03-05 컴바인드 코딩을 이용한 병렬데이터 인터페이스 방법, 기록매체 및 그 장치

Country Status (3)

Country Link
JP (1) JP2011187153A (ko)
KR (1) KR20110101012A (ko)
TW (1) TW201201520A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150064473A (ko) * 2013-12-03 2015-06-11 에스케이하이닉스 주식회사 데이터 처리 장치 및 데이터 처리 방법
US9424916B2 (en) 2012-12-26 2016-08-23 Research & Business Foundation Sungkyunkwan University Semiconductor memory device and method for reading the same using a memory cell array including resistive memory cells to perform a single read command
US9659609B2 (en) 2014-04-03 2017-05-23 SK Hynix Inc. Semiconductor memory apparatus and system using the same

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8260992B2 (en) * 2010-04-12 2012-09-04 Advanced Micro Devices, Inc. Reducing simultaneous switching outputs using data bus inversion signaling
US9983925B2 (en) 2014-04-11 2018-05-29 Micron Technology, Inc. Apparatuses and methods for fixing a logic level of an internal signal line
DE102018128980A1 (de) 2018-11-19 2020-05-20 Technische Universität München Verfahren und vorrichtung zum betreiben einer speicheranordnung

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9424916B2 (en) 2012-12-26 2016-08-23 Research & Business Foundation Sungkyunkwan University Semiconductor memory device and method for reading the same using a memory cell array including resistive memory cells to perform a single read command
KR20150064473A (ko) * 2013-12-03 2015-06-11 에스케이하이닉스 주식회사 데이터 처리 장치 및 데이터 처리 방법
US9659609B2 (en) 2014-04-03 2017-05-23 SK Hynix Inc. Semiconductor memory apparatus and system using the same

Also Published As

Publication number Publication date
JP2011187153A (ja) 2011-09-22
TW201201520A (en) 2012-01-01

Similar Documents

Publication Publication Date Title
KR100782327B1 (ko) 반도체 장치 사이의 단일형 병렬데이터 인터페이스 방법,기록매체 및 반도체 장치
US9048855B2 (en) Method and apparatus for parallel data interfacing using combined coding and recording medium therefor
ES2777777T3 (es) Codificación de datos mediante la combinación de máscara de datos y la inversión del bus de datos
US20220066973A1 (en) Semiconductor device and memory system
KR100877680B1 (ko) 반도체 장치 사이의 단일형 병렬데이터 인터페이스 방법,기록매체 및 반도체 장치
US8581755B2 (en) Multiple word data bus inversion
US8223042B2 (en) Encoding data with minimum hamming weight variation
US7961121B2 (en) Transmitting/receiving methods and systems with simultaneous switching noise reducing preambles
KR20110101012A (ko) 컴바인드 코딩을 이용한 병렬데이터 인터페이스 방법, 기록매체 및 그 장치
US8964879B2 (en) Crosstalk reduction coding schemes
CN107003963A (zh) 具有改进的信号完整性的低功率加扰
US8199035B2 (en) Method, device, and system for data communication with preamble for reduced switching noise
CN115080475A (zh) 用于编码和解码的装置和方法
KR101825301B1 (ko) 신호 전송 장치 및 방법과, 신호 수신 장치

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination