KR100782327B1 - 반도체 장치 사이의 단일형 병렬데이터 인터페이스 방법,기록매체 및 반도체 장치 - Google Patents

반도체 장치 사이의 단일형 병렬데이터 인터페이스 방법,기록매체 및 반도체 장치 Download PDF

Info

Publication number
KR100782327B1
KR100782327B1 KR1020060047857A KR20060047857A KR100782327B1 KR 100782327 B1 KR100782327 B1 KR 100782327B1 KR 1020060047857 A KR1020060047857 A KR 1020060047857A KR 20060047857 A KR20060047857 A KR 20060047857A KR 100782327 B1 KR100782327 B1 KR 100782327B1
Authority
KR
South Korea
Prior art keywords
parallel data
bit
bits
data
parallel
Prior art date
Application number
KR1020060047857A
Other languages
English (en)
Other versions
KR20070114235A (ko
Inventor
배승준
장성진
박광일
이우진
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020060047857A priority Critical patent/KR100782327B1/ko
Priority to US11/802,886 priority patent/US7541947B2/en
Priority to TW096118803A priority patent/TW200811873A/zh
Publication of KR20070114235A publication Critical patent/KR20070114235A/ko
Application granted granted Critical
Publication of KR100782327B1 publication Critical patent/KR100782327B1/ko
Priority to US12/453,109 priority patent/US7830280B2/en
Priority to US12/923,858 priority patent/US20110128170A1/en
Priority to US13/040,606 priority patent/US8552891B2/en
Priority to US14/047,377 priority patent/US9048855B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • H03K19/00346Modifications for eliminating interference or parasitic voltages or currents
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03828Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties
    • H04L25/03866Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties using scrambling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/14Channel dividing arrangements, i.e. in which a single bit stream is divided between several baseband channels and reassembled at the receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting 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/4906Transmitting 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 binary codes
    • H04L25/4908Transmitting 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 binary codes using mBnB codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Power Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Dc Digital Transmission (AREA)
  • Error Detection And Correction (AREA)

Abstract

반도체 장치 사이의 단일형 병렬데이터 인터페이스 방법, 기록매체 및 반도체 장치가 개시된다. 상기 인터페이스 방법은 N 비트의 제1 병렬데이터를 스크램블링하여 제2병렬데이터를 발생하고, 제1로직 레벨의 비트 수가 소정 범위에 속하도록 상기 제2병렬데이터를 선택적으로 변환하여 M(>N)비트의 밸런스 코드를 생성하고, 상기 생성된 밸런스 코드를 M개의 데이터 라인들을 통하여 병렬로 전송한다. 상기 반도체 장치는 스크램블러, 밸런스 코딩 블록, 및 출력 드라이버를 구비한다.
단일형 병렬 인터페이스, 스크램블러(Scrambler)

Description

반도체 장치 사이의 단일형 병렬데이터 인터페이스 방법, 기록매체 및 반도체 장치{Method and Computer readable recording media, and apparatus for interfacing between semiconductor devices using single ended parallel interface system}
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 일반적인 단일형 병렬데이터 인터페이스 시스템을 나타내는 개략도이다.
도 2는 종래의 DC 밸런스 코딩을 이용하는 단일형 병렬데이터 인터페이스 시스템의 구성도이다.
도 3은 본 발명의 일 실시 예에 따른 단일형 병렬데이터 인터페이스를 사용하는 시스템을 나타낸다.
도 4는 본 발명의 다른 실시 예에 따른 단일형 병렬데이터 인터페이스를 사용하는 시스템을 나타낸다.
도 5는 도 3에 도시된 스크램블러의 구성도이다.
도 6a는 8/10비트 밸런스 코딩된 병렬데이터를 나타낸다.
도 6b은 도 3에 도시된 스크램블러와 8/10비트 밸런스 코딩을 결합하여 인코 딩된 병렬데이터를 나타낸다.
도 6c는 DBI DC 밸런스 코딩된 병렬데이터를 나타낸다.
도 6d는 도 3에 도시된 스크램블러와 DBI DC 밸런스 코딩을 결합하여 인코딩된 병렬데이터를 나타낸다.
도 7은 본 발명의 일 실시 예에 따른 단일형 병렬데이터 인터페이스의 송신 방법을 나타내는 플로챠트이다.
도 8은 본 발명의 일 실시 예에 따른 단일형 병렬데이터 인터페이스의 수신 방법을 나타내는 플로챠트이다.
도 9는 송신측 코딩 형태에 따른 수신측 입력 병렬데이터의 아이 다이어그램을 나타낸다.
본 발명은 반도체 장치 사이의 단일형 병렬데이터 인터페이스 방법, 기록매체 및 반도체 장치에 관한 것으로, 보다 상세하게는 DC 밸런스코드(balance code)를 사용하는 단일형 병렬데이터 인터페이스 시스템에서 상기 DC 밸런스 코드에 스크램블러를 결합하여 단일형 병렬 인터페이싱(interfacing)에서 발생하는 노이즈(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 밸런스 코딩을 이용하는 방법이 있다.
도 2는 종래의 DC 밸런스 코딩을 이용하는 단일형 병렬데이터 인터페이스 시스템(200)의 구성도이다. 도 2를 참조하면, 상기 인터페이스 시스템(200)은 제1반도체 장치(210) 및 제2반도체 장치(220)를 구비한다. 상기 제1반도체 장치(210)는 코어 블록(211), 밸런스 인코딩 블록(212), 및 출력 드라이버(213)를 구비한다.
상기 코어 블록(211)은 소정의 제1병렬데이터가 저장된다. 상기 밸런스 인코딩 블록(212)은 상기 코어 블록(211)으로부터 상기 제1병렬데이터를 수신하여 인코딩하고 제2병렬데이터를 출력한다. 상기 출력 드라이버(213)는 제2병렬데이터를 수신하여 상기 제2반도체 장치(220)로 출력한다.
상기 제2반도체 장치(220)는 수신부(221), 디코딩 블록(222), 및 데이터 저장부(223)를 구비한다. 상기 수신부(221)는 상기 출력 드라이버(213)로부터의 출력을 수신한다. 상기 디코딩 블록(222)은 상기 수신부(221)로부터 출력된 병렬데이터를 디코딩하여 상기 제1병렬데이터를 복원한다. 상기 데이터 저장부(223)는 상기 복원된 제1병렬데이터를 저장한다.
상기 밸런스 인코딩 블록은 DC 밸런스(balance) 방식에 의하여 인코딩한다.상기 DC 밸런스 인코딩 방식의 예로는 8B/10B code방식 및 데이터 버스 인버전 DC (DBI DC)방식이 있다.
상기 8B/10B code방식은 8비트의 병렬데이터에 2비트의 데이터를 추가하여 항상 0과 1의 개수가 비슷하도록 코딩(coding)한다. 그 결과 DC 밸런스 코드 값은 0과 1의 개수가 최대 2개 차이가 나게 되어 상기 칩 내부 전원 노드(VDDQ, VSSQ)에 발생하는 노이즈가 4분의 1로 감소한다.
상기 데이터 버스 인버전 DC방식은 N비트의 병렬데이터, 예컨대, 8비트의 병렬데이터 중에서 0과 1의 개수를 계산한다. 상기 데이터 버스 인버전 DC방식은 계산된 0(또는 1)의 개수가 소정의 값(k; 예컨대 k ≥4)보다 크거나 같으면 상기 수신된 병렬데이터를 반전시키고 이에 대응하는 제1 상태값(flag; 예컨대, 제1상태값을 하이 레벨로 설정한다)을 설정하여 코딩하는 방식이다.
상기 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)를 사용하는 단일형 병렬데이터 인터페이스 시스템에서 상기 스위칭 노이즈를 감소시킬 필요가 있다.
따라서 본 발명이 이루고자 하는 기술적인 과제는 밸런스코드를 사용하는 단일형 병렬데이터 인터페이스 시스템에서 상기 밸런스 코드와 스크램블러를 결합하여 전송할 병렬데이터를 코딩함으로써 상기 시스템의 기생 인덕턴스에 의한 노이즈 및 스위칭 노이즈를 줄일 수 있는 방법, 이를 기록한 기록매체, 및 반도체 장치를 제공하기 위한 것이다.
상기 기술적 과제를 달성하기 위한 본 발명에 따른 반도체 장치 사이의 단일형(Single ended) 병렬데이터 인터페이스 방법은 병렬데이터 송신 단계 및 수신 단계를 구비한다.
상기 송신 단계는 스크램블링 단계, 밸런스 코딩 단계, 및 병렬 전송 단계를 구비한다. 상기 스크램블링 단계는 N(2이상의 정수) 비트의 제1 병렬데이터를 스크램블링하여 제2병렬데이터를 발생한다. 상기 밸런스 코딩 단계는 제1로직 레벨의 비트 수가 소정 범위에 속하도록 상기 제2병렬데이터를 선택적으로 변환하여 M(>N)비트의 밸런스 코드를 생성한다. 상기 병렬 전송 단계는 상기 밸런스 코드를 M개의 데이터 라인들을 통하여 병렬로 전송한다.
상기 수신 단계는 밸런스 코드 수신 단계, 디코딩 단계, 디스크램블링, 및 저장 단계를 구비한다. 상기 밸런스 코드 수신 단계는 M개의 데이터 라인들을 통하여 상기 M비트의 밸런스 코드를 수신한다. 상기 디코딩 단계는 수신된 밸런스코드를 디코딩하여 상기 제2병렬데이터를 복원한다. 상기 디스크램블링 단계는 상기 복 원된 제2병렬데이터를 디스크램블링하여 상기 제1병렬데이터를 복원한다. 상기 저장 단계는 상기 복원된 제1병렬데이터를 저장한다.
상기 기술적 과제를 달성하기 위한 본 발명에 따른 반도체 장치는 스크램블러, 밸런스 코딩 블록, 및 출력 드라이버를 구비한다.
상기 스크램블러는 N비트의 제1 병렬데이터를 수신하여 난수열 패턴을 가진 제2병렬데이터를 생성한다. 상기 밸런스 코딩 블록은 상기 제2병렬데이터를 수신하여, 제1로직 레벨의 비트 수가 소정 범위에 속하도록 상기 제2병렬데이터를 선택적으로 변환하여 M(>N)비트의 밸런스 코드를 생성한다. 상기 출력 드라이버는 상기 밸런스 코드를 M개의 데이터 라인들을 통하여 병렬로 출력한다.
상기 기술적 과제를 달성하기 위한 본 발명에 따른 단일형 병렬데이터 인터페이스를 사용하는 시스템은 제1반도체 칩 및 제2반도체 칩을 구비한다. 상기 제1반도체 칩은 스크램블러, 밸런스 코딩 블록, 및 출력 드라이버를 구비한다.
상기 스크램블러는 N(2이상의 정수) 비트의 제1 병렬데이터를 수신하여 난수열 패턴을 가진 제2병렬데이터를 생성한다. 상기 밸런스 코딩 블록은 상기 제2병렬데이터를 수신하여, 제1로직 레벨의 비트 수가 소정 범위에 속하도록 상기 제2병렬데이터를 선택적으로 변환하여 M(>N)비트의 밸런스 코드를 생성한다. 상기 출력 드라이버는 상기 밸런스 코드를 M개의 데이터 라인들을 통하여 병렬로 출력한다.
상기 제2반도체 칩은 데이터 수신부, 밸런스 코드 디코딩 블록, 디스크램블러, 및 데이터 저장부를 구비한다.
상기 데이터 수신부는 M개의 데이터 라인들을 통하여 M비트의 밸런스코드를 병렬로 수신한다. 상기 밸런스 코드 디코딩 블록는 상기 수신된 M비트의 밸런스코드를 디코딩하여 N비트의 상기 제2병렬데이터를 복원한다. 상기 디스크램블러는 상기 제2병렬데이터를 디스크램블링(descrambling)하여 상기 제1병렬데이터를 복원한다. 상기 데이터 저장부는 상기 디스크램블러의 출력을 저장한다.
상기 기술적 과제를 달성하기 위한 본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다. 이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 3은 본 발명의 일 실시 예에 따른 단일형 병렬데이터 인터페이스를 사용하는 시스템(300)을 나타낸다. 상기 시스템(300)은 제1반도체 장치(310) 및 제2반도체 장치(320)를 구비한다. 상기 제1 반도체 장치(310)는 메모리 컨트롤러(Memory Controller)가 될 수 있으며, 상기 제2 반도체 장치는 디램(DRAM), SRAM, 플래쉬 메모리 등의 메모리 장치가 될 수 있다. 상기 제1 반도체 장치(310)는 코어 블록(311), 제1스크램블러(312), 제1인코딩부(313), 제1출력 드라이버(314), 제1수신부(315), 제1디코딩부(316), 및 제1디스크램블러(317)를 구비한다.
상기 코어 블록(311)은 마이크로 프로세서(미도시) 및 내부 메모리(미도시)를 구비할 수 있다. 상기 코어 블록(311)은 상기 제2반도체 장치(320, 예컨대, DRAM)에 데이터를 기록하거나 상기 제2반도체 장치(320, 예컨대, DRAM)로부터 데이 터를 독출하기 위하여 필요한 명령어(Command), 어드레스(Address) 등을 발생할 수 있다.
상기 제1스크램블러(312)는 상기 코어 블록(311)으로부터 N(2이상의 정수, 예컨대, 8)비트의 제1 병렬데이터(D1N)를 수신하여 소정의 난수열 패턴을 가진 제2병렬데이터(D2N)로 변환하여 출력한다. 예컨대, 상기 제1스크램블러(312)는 상기 제2반도체 장치(320, 예컨대, DRAM)로부터 데이터를 독출(또는 기록)하기 위하여 상기 제2반도체 장치(320)로 전송해야 하는 어드레스를 시드(seed)로 하여 난수열(seudo random binary sequence)을 발생하고, 상기 난수열을 이용하여 상기 제1병렬데이터(D1N)를 난수열 패턴을 가진 상기 제2병렬데이터(D2N)로 변환할 수 있다.
상기 제1 인코딩부(313)는 상기 제2병렬데이터(D2N)를 수신하고, M비트의 밸런스 코드(D1M)를 생성한다. 여기서 M은 N보다 큰 정수이다.
상기 제1 인코딩부(313)는 제1로직 레벨(예컨대, 0)의 비트 수와 제2 로직 레벨(예컨대, 1)의 비트수의 차이를 줄여 소정 범위에 속하도록 하기 위하여 상기 제2병렬데이터(D2N)를 선택적으로 변환하거나 상기 제2 병렬 데이터(D2N)에 적어도 하나의 비트를 부가하여, M비트의 밸런스코드(D1M)를 출력한다.
예컨대, 상기 제1 인코딩부(313)는 8비트/10비트 코딩 방식 또는 데이터 버스 인버전 DC방식에 의하여 상기 밸런스 코드(D1M)를 생성할 수 있다.
상기 제1 출력 드라이버(314)는 상기 제1 인코딩부(313)의 출력을 수신하여 상기 제2반도체 장치(320, 예컨대, DRAM)로 송신한다.
상기 제2반도체 장치(320)는 제2수신부(321), 제2 디코딩부(322), 데이터 저장 장치(323), 제2 인코딩부(324), 및 제2 출력 드라이버(325)를 구비한다.
상기 제2수신부(321)는 상기 제1 출력 드라이버(314)에서 송신된 병렬데이터를 수신한다. 상기 제2 디코딩부(322)는 상기 제2수신부(321)의 출력을 디코딩하여 상기 제2병렬데이터(D2N)을 복원한다. 상기 데이터 저장부(323)는 상기 복원된 제2병렬데이터(D2N)을 저장한다. 상기 데이터 저장부(323)는 다수의 메모리셀들을 구비하는 메모리셀 어레이가 될 수 있다. 상기 복원된 제2병렬데이터(D2N)는 스크램블링된 데이터이다.
상기 제2 인코딩부(324)는 상기 데이터 저장부(323)는 저장된 상기 제2병렬데이터(D2N)를 수신하고, M비트의 밸런스 코드(D2M)를 생성한다. 상기 제2 인코딩부(324)는 상기 제1 인코딩부(313)의 인코딩 방식과 동일한 방식으로 상기 밸런스 코드(D2M)를 생성하는 것이 바람직하다.
상기 제2출력 드라이버(325)는 상기 밸런스 코드(D2M)를 수신하여 상기 제1 반도체 장치(310, 예컨대, 메모리 컨트롤러)로 송신한다.
상기 제1반도체 장치(310)의 상기 제1수신부(315)는 상기 제2반도체 장치(320)로부터 출력된 병렬데이터를 수신한다. 상기 제1디코딩부(316)는 상기 제1수신부(315)의 출력을 디코딩한다. 상기 제1디스크램블러(Descrambler,317)는 상기 제1디코딩부(316)의 출력(D2N)을 디스크램블링(descrambling)하여 출력하여 상기 코어 블록(313)에 저장한다.
도 4는 본 발명의 다른 실시 예에 따른 단일형 병렬데이터 인터페이스를 사 용하는 시스템(400)을 나타낸다. 도 3 및 도 4를 참조하면, 상기 시스템(400)은 반도체 장치들(410 및 420)을 구비한다. 상기 반도체 장치(410)는 도 3에 도시한 제1 반도체 장치(310)와 동일한 구조로 되어 있는바 중복을 피하기 위하여 설명을 생략한다.
상기 반도체 장치(420)는 도 3에 도시한 제2반도체 장치(320)와 유사한 구성을 가지지만, 도 3에 도시한 제2반도체 장치(320)에 비하여 제2디스크램블러(423) 및 제2스크램블러(425)를 더 구비한다는 점에서 차이가 있다.
상기 반도체 장치(420)의 상기 제2수신부(321)는 상기 반도체 장치(410)의 상기 제1 출력 드라이버(314)에서 송신된 병렬데이터를 수신한다. 상기 제2디코딩부(322)는 상기 제2수신부(321)의 출력을 디코딩하여 상기 제2병렬데이터(D2N)을 복원한다. 상기 제2디스크램블러(421)는 상기 복원된 제2병렬데이터(D2N)를 디스크램블링하여 상기 제1병렬데이터(D1N)를 복원한다. 상기 데이터 저장부(323)는 상기 복원된 제1병렬데이터(D1N)를 저장한다.
상기 제2스크램블러(422)는 상기 데이터 저장부(323)로부터 수신된 제1병렬데이터(D1N)를 수신하여 소정의 난수열 패턴을 가진 제2병렬데이터(D2N)로 변환하여 출력한다. 상기 제2인코딩부(324)는 상기 제2병렬데이터(D2N)를 수신하고, M비트의 밸런스 코드(D3M)를 생성한다. 상기 제2출력 드라이버(325)는 상기 제2 인코딩부(324)의 출력을 수신하여 상기 반도체 장치(410)로 송신한다.
따라서 상기 제1 및 제2 반도체 장치 사이에 N비트의 제1병렬데이터를 전송하는 경우 도 3에 도시된 데이터 저장부(323)에는 스크램블링된 N비트의 제2병렬데 이터가 저장되지만, 도 4에 도시된 데이터 저장부(323)에는 상기 N비트의 제1병렬데이터, 즉 디스크램블링된 데이터가 저장된다.
도 5는 도 3에 도시된 스크램블러(312)의 구성도이다. 도 5를 참조하면, 상기 스크램블러(312)는 난수열 발생기(510) 및 논리 연산 블록(520)을 구비한다. 상기 난수열 발생기(510)는 N비트의 랜덤(random)한 패턴의 난수열을 발생시킨다. 상기 논리 연산 블록(520)은 제1병렬데이터(D11 내지 D1N)와 상기 N비트의 랜덤(random)한 패턴의 난수열(P1 내지 PN)을 수신하여 논리 연산한다.
예컨대, 상기 논리 연산 블록(520)은 상기 제1병렬데이터(D11 내지 D1N)의 각각의 비트와 대응하는 상기 난수열(P1 내지 PN)의 각각의 비트를 수신하여 배타적 논리합(exclusive OR)할 수 있다.
상기 논리 연산 블록(520)은 논리 연산된 결과에 기초하여, 제2병렬데이터(D21 내지 D2N)를 출력한다. 따라서 상기 제2병렬데이터도 N비트의 랜덤(random)한 패턴의 난수열이다.
송신측 반도체 장치에서 스크램블링된 상기 제2병렬데이터를 수신측 반도체 장치에서 디스크램블링하기 위해서는 상기 N비트의 랜덤(random)한 패턴의 난수열(P1 내지 PN)을 발생시키기 위한 정보(예컨대, 시드(seed) 정보)를 상기 수신측 반도체 장치로 전송해야 한다. 예컨대, 송신측 반도체 장치로부터 상기 수신측 반도체 장치로 전송하는 어드레스를 시드(seed)로 하여 상기 난수열(P1 내지 PN)을 발생시키면 별도로 상기 시드 정보를 전송할 필요가 없다.
상기 스크램블러(312)에 스크램블링된 N비트의 병렬데이터를 디스크램블링하 기 위한 디스크램블러(예컨대, 도 4에 도시된 제2디스크램블러(421))는 상기 스크램블러(312)와 동일한 형태로 구현될 수 있다.
도 6a는 8/10비트 밸런스 코딩된 병렬데이터(DQ1 내지 DQ10)를 나타낸다. 도 6a를 참조하면, 8비트의 병렬데이터는 상기 8/10비트 밸런스 코딩에 의하여 10비트의 병렬데이터(DQ1 내지 DQ10)로 변환된다. 한 주기에서 전송되는 상기 10비트의 병렬데이터(DQ1 내지 DQ10)는 0과 1의 개수가 최대 2개 차이가 난다. 그러나 상기 전송되는 10비트의 병렬데이터(DQ1 내지 DQ10)가 점선 안의 경우와 같이 시간적으로 변하게 되는 경우에는 10비트 모두가 변하게 되므로 스위칭 노이즈가 최대가 되며, 데이터 채널들로 전송되는 데이터 신호의 전기적 결합에 의한 영향이 커져 누화(crosstalk)도 최대가 된다.
도 6b는 도 3에 도시된 스크램블러(312)와 8/10비트 밸런스 코딩을 결합하여 인코딩된 병렬데이터(DQ1' 내지 DQ10')를 나타낸다. 도 3 및 도 6b를 참조하면, 상기 스크램블러(312)에 의하여 8비트의 제1병렬데이터(D1N, N은 8)는 0과 1의 위치가 랜덤한 패턴을 갖는 제2병렬데이터(D2N, N은 8)로 변환되고, 상기 제2병렬데이터(D2N, N은 8)는 상기 제1인코딩부(313)에 의한 8/10비트 밸런스 코딩에 의하여 0과 1의 개수가 최대 2개 차이가 나는 밸런스 코드(D1M, 예컨대, M이 10인 경우는 DQ1' 내지 DQ10')로 변환된다. 따라서 상기 밸런스 코드(예컨대, DQ1' 내지 DQ10')는 도 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는 도 3에 도시된 스크램블러(312)와 DBI DC 밸런스 코딩을 결합하여 인코딩된 병렬데이터(DQ1"' 내지 DQ9"')를 나타낸다. 도 3 및 도 6d를 참조하면, 상기 스크램블러(312)에 의하여 8비트의 제1병렬데이터(D1N, N은 8)는 0과 1의 위치가 랜덤한 패턴을 갖는 제2병렬데이터(D2N, N은 8)로 변환되고, 상기 제2병렬데이터(D2N, N은 8)는 상기 제1인코딩부(313)에 의하여 DBI DC 밸런스 코딩된다.
따라서 본 발명의 일 실시 예에 의한 인코딩된 병렬데이터(DQ1"' 내지 DQ9"")는 상기 스크램블러(312)의 스크램블링(scrambling)에 의하여 도 6c의 첫번 째 점선 안의 병렬데이터 패턴 및 두번 째 점선 안의 병렬데이터 패턴이 나올 확률이 거의 없게 된다. 결국 본 발명의 일 실시 예에 따라 병렬데이터를 인코딩하여 전송하는 경우 밸런스 코드를 유지하기 위한 별도의 상태 값(flag)을 사용하지 않고 9비트만을 사용하더라도 밸런스 코드가 유지될 확률이 높고, 스위칭 노이즈가 감소된다.
도 7은 본 발명의 일 실시 예에 따른 단일형 병렬데이터 인터페이스의 송신 방법을 나타내는 플로챠트이다. 도 7을 참조하면, N(2이상의 정수) 비트의 제1병렬데이터를 수신한다(S710). 상기 N비트의 제1병렬데이터를 소정의 난수열 패턴을 가진 제2병렬데이터로 변환한다(S720). 상기 제2병렬데이터는 소정의 패턴의 난수열을 생성시키고, 상기 N비트의 제1병렬 데이터와 상기 생성된 소정의 패턴의 난수열을 로직 연산한 결과에 기초하여 생성될 수 있다.
제1로직 레벨의 비트 수가 소정 범위에 속하도록 상기 제2병렬데이터를 선택적으로 변환하여 M(>N)비트의 밸런스 코드를 생성한다(S730). 상기 M비트의 밸런스 코드는 8비트/10비트 코딩 방식에 의하거나 데이터 버스 인버전 DC방식에 의하여 생성될 수 있다.
상기 M비트의 밸런스 코드를 M개의 데이터 라인들을 통하여 병렬로 전송한다(S740).
도 8은 본 발명의 일 실시 예에 따른 단일형 병렬데이터 인터페이스의 수신 방법을 나타내는 플로챠트이다. 도 8을 참조하면, M개의 데이터 라인들을 통하여 M비트의 밸런스 코드를 수신한다(S810). 상기 수신된 M비트의 밸런스 코드를 디코딩 하여 상기 제2병렬데이터를 복원한다(S820). 상기 복원된 제2병렬데이터를 디스크램블링(descrambling)하여 상기 제1병렬데이터를 복원한다(S830).
도 9는 송신측 코딩 형태에 따른 수신측 입력 병렬데이터의 아이 다이어그램(eye diagram)을 나타낸다. 도 9(a)는 병렬데이터를 어떤 코딩도 하지 않은 경우이고, 도 9(b)는 병렬데이터를 스크램블러에 의해 스크램블링한 경우이고, 도 9(c)는 DBI DC 밸런스 코딩한 경우이며, 도 9(a) 내지 도 9(c)는 종래 기술에 따라 코딩한 경우이다. 도 9(d)는 DBI DC 밸런스 코딩과 스크램블러를 결합하여 코딩한 경우, 즉 본 발명의 일 실시 예에 따라 코딩한 경우이다.
도 9(a) 내지 도 9(d)를 참조하면, 도 9(d)의 경우가 가장 넓은 아이 다이어그램(예컨대, 187 PS)을 나타낸다. 따라서 도 9(d)의 경우가 지터(jitter)가 가장 작고 전압 마진은 가장 크다.
본 발명은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 광 데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 반도체 장치 사이의 단일형 병렬데이터 인터페이스 방법, 이를 기록한 기록매체 및 반도체 장치는 병렬데이터의 스크램블링및 DC 밸런스 코딩을 함으로써, DC 전류 변화에 따른 노이즈 뿐만 아니라, 데이터의 AC 변화에 따른 스위칭 노이즈를 감소시킬 수 있다.
또한 본 발명은 병렬데이터 전체적으로 DC 밸런스 코딩이 되어 있고, 공간적으로도 스클램블링에 의해 0과 1이 분산되어 있으므로 PCB(Printed Circuit Board)로부터 리턴 전류(return current)가 감소하여 노이즈 및 크로스토크(crosstalk) 등을 감소시킬 수 있다.
또한 종래의 경우 밸런스 코딩 방법으로 DBI DC 밸런스 코딩을 사용하면 DC밸런스가 유지되지 않는 병렬데이터의 경우가 나오는 경우가 있다. 그러나 본 발명과 같이 스크램블러와 상기 DBI DC 밸런스 코딩을 결합하여 병렬데이터를 인코딩하면 상기 DC밸런스가 유지되지 않는 경우가 나올 확률이 현저하게 감소하므로 상기 병렬데이터는 거의 밸런스 코딩이 된다. 따라서 밸런스 코드를 위한 별도의 비트를 사용하지 않고, 9비트만 사용하더라도 밸런스 코딩의 효과를 얻을 수 있다.

Claims (19)

  1. N(2이상의 정수) 비트의 제1 병렬데이터를 스크램블링하여 제2병렬데이터를 발생하는 단계;
    제1로직 레벨의 비트 수 및 제2 로직 레벨의 비트 수의 차이가 소정 범위에 속하도록 상기 제2병렬데이터의 적어도 하나의 비트를 선택적으로 변환하거나 상기 제2병렬데이터에 적어도 하나의 비트를 부가하여 M(>N)비트의 밸런스 코드를 생성하는 단계; 및
    상기 밸런스 코드를 M개의 데이터 라인들을 통하여 병렬로 전송하는 단계를 구비하는 것을 특징으로 하는 단일형(Single ended) 병렬데이터 인터페이스 방법.
  2. 제1항에 있어서, 상기 제2병렬데이터를 발생하는 단계는,
    소정의 패턴의 난수열을 생성하는 단계; 및
    상기 N비트의 제1병렬 데이터와 상기 생성된 소정의 패턴의 난수열을 로직 연산하는 단계를 구비하는 것을 특징으로 하는 단일형 병렬데이터 인터페이스 방법.
  3. 제1항에 있어서, 상기 밸런스 코드를 생성하는 단계는,
    8비트/10비트 코딩 방식에 의하여 상기 밸런스 코드를 생성하거나 데이터 버스 인버전 DC방식에 의하여 상기 밸런스 코드를 생성하는 것을 특징으로 하는 단일 형 병렬데이터 인터페이스 방법.
  4. 제1항에 있어서, 상기 단일형 병렬데이터 인터페이스 방법은,
    상기 M개의 데이터 라인들을 통하여 상기 M비트의 밸런스코드를 병렬로 수신하는 단계:
    상기 수신된 밸런스코드를 디코딩하여 상기 제2병렬데이터를 복원하는 단계; 및
    상기 제2병렬데이터를 저장하는 단계를 더 구비하는 것을 특징으로 하는 단일형 병렬데이터 인터페이스 방법.
  5. 제1항에 있어서, 상기 단일형 병렬데이터 인터페이스 방법은,
    상기 M개의 데이터 라인들을 통하여 상기 M비트의 밸런스 코드를 수신하는 단계;
    상기 수신된 밸런스코드를 디코딩하여 상기 제2병렬데이터를 복원하는 단계;
    상기 복원된 제2병렬데이터를 디스크램블링(descrambling)하여 상기 제1병렬데이터를 복원하는 단계; 및
    상기 제1병렬데이터를 저장하는 단계를 더 구비하는 것을 특징으로 하는 단일형 병렬데이터 인터페이스 방법.
  6. 제1항 내지 제5항 중의 어느 한 항에 기재된 방법을 실행하기 위한 프로그램 을 기록한 기록매체.
  7. N비트의 제1 병렬데이터를 수신하여 난수열 패턴을 가진 제2병렬데이터를 생성하는 스크램블러(Scrambler); 및
    제1로직 레벨의 비트 수 및 제2 로직 레벨의 비트 수의 차이가 소정 범위에 속하도록 상기 제2병렬데이터의 적어도 하나의 비트를 선택적으로 변환하거나 상기 제2병렬데이터에 적어도 하나의 비트를 부가하여 M(>N)비트의 밸런스 코드를 생성하는 밸런스 코딩 블록; 및
    상기 밸런스 코드를 M개의 데이터 라인들을 통하여 병렬로 출력하는 출력 드라이버를 구비하는 것을 특징으로 하는 반도체 장치.
  8. 제7항에 있어서, 상기 스크램블러는,
    N비트의 난수열을 생성시키는 난수열 발생기; 및
    상기 N비트의 제1병렬 데이터 및 상기 생성된 N비트 난수열을 논리 연산하는 논리 연산 블록을 구비하는 것을 특징으로 하는 반도체 장치.
  9. 제8항에 있어서, 상기 논리 연산 블록은,
    상기 N비트의 제1병렬 데이터의 각각의 비트와 상기 N비트의 난수열의 각각의 비트를 배타적 논리합(exclusive OR)시킨 결과에 기초하여 상기 제2병렬 데이터를 출력하는 것을 특징으로 하는 반도체 장치.
  10. 제7항에 있어서, 상기 밸런스 코딩 블록은,
    8비트/10비트 코딩 방식에 의하여 상기 밸런스 코드를 생성하거나 데이터 버스 인버전 DC방식에 의하여 상기 밸런스 코드를 생성하는 것을 특징으로 하는 반도체 장치.
  11. M개의 데이터 라인들을 통하여 M비트의 밸런스코드를 병렬로 수신하는 데이터 수신부;
    상기 수신된 밸런스코드를 디코딩하여 N비트의 병렬데이터를 출력하는 밸런스 코드 디코딩 블록;
    상기 N비트의 병렬데이터를 디스크램블링(descrambling)하는 디스크램블러(Descrambler); 및
    상기 디스크램블러의 출력을 저장하는 데이터 저장부를 구비하는 것을 특징으로 하는 반도체 장치.
  12. 제11항에 있어서, 상기 밸런스 코드 디코딩 블록은,
    8비트/10비트 코딩 방식에 의하여 디코딩 또는 데이터 버스 인버전 DC방식에 의하여 디코딩하는 것을 특징으로 하는 반도체 장치.
  13. 제11항에 있어서, 상기 디스크램블러는,
    N비트의 난수열을 생성시키는 난수열 발생기; 및
    상기 N비트의 병렬데이터 및 상기 생성된 N비트의 난수열을 논리 연산하는 논리 연산 블록을 구비하는 것을 특징으로 하는 반도체 장치.
  14. 단일형 병렬데이터 인터페이스를 사용하는 제1반도체 장치 및 제2반도체 장치를 구비하는 시스템에 있어서,
    상기 제1반도체 장치는,
    N(2이상의 정수) 비트의 제1 병렬데이터를 수신하여 난수열 패턴을 가진 제2병렬데이터를 생성하는 스크램블러(Scrambler);
    제1로직 레벨의 비트 수 및 제2 로직 레벨의 비트 수의 차이가 소정 범위에 속하도록 상기 제2병렬데이터의 적어도 하나의 비트를 선택적으로 변환하거나 상기 제2병렬데이터에 적어도 하나의 비트를 부가하여 M(>N)비트의 밸런스 코드를 생성하는 밸런스 코딩 블록; 및
    상기 밸런스 코드를 M개의 데이터 라인들을 통하여 병렬로 출력하는 출력 드라이버를 구비하며,
    상기 제2반도체 장치는,
    M개의 데이터 라인들을 통하여 M비트의 밸런스코드를 병렬로 수신하는 데이터 수신부; 및
    상기 수신된 밸런스코드를 디코딩하여 N비트의 상기 제2병렬데이터를 복원하는 밸런스 코드 디코딩 블록을 구비하는 것을 특징으로 하는 시스템.
  15. 제14항에 있어서, 상기 제2반도체 장치는,
    상기 제2병렬데이터를 디스크램블링(descrambling)하여 상기 제1병렬데이터를 복원하는 디스크램블러(Descrambler); 및
    상기 디스크램블러의 출력을 저장하는 데이터 저장부를 더 구비하는 것을 특징으로 하는 단일형 병렬데이터 인터페이스를 사용하는 시스템.
  16. 제15항에 있어서, 상기 스크램블러는,
    N비트의 난수열을 생성하는 난수열 발생기; 및
    상기 N비트의 제1병렬 데이터 및 상기 생성된 N비트 난수열을 논리 연산하는 논리 연산 블록을 구비하는 것을 특징으로 하는 단일형 병렬데이터 인터페이스를 사용하는 시스템.
  17. 제16항에 있어서, 상기 논리 연산 블록은,
    상기 N비트의 제1병렬데이터의 각각의 비트와 상기 N비트의 난수열의 각각의 비트를 배타적 논리합(exclusive OR)시킨 결과에 기초하여 상기 제2병렬데이터를 출력하는 것을 특징으로 하는 단일형 병렬데이터 인터페이스를 사용하는 시스템.
  18. 제15항에 있어서, 상기 밸런스 코딩 블록은,
    8비트/10비트 코딩 방식에 의하여 상기 밸런스 코드를 생성하거나 데이터 버 스 인버전 DC방식에 의하여 상기 밸런스 코드를 생성하는 것을 특징으로 하는 단일형 병렬데이터 인터페이스를 사용하는 시스템.
  19. 제15항에 있어서,
    상기 제1반도체 장치는 메모리 컨트롤러이고,
    상기 제2반도체 장치는 DRAM,SRAM 또는 플래쉬 메모리 장치인 것을 특징으로 하는 단일형 병렬인터페이스를 사용하는 시스템.
KR1020060047857A 2006-05-27 2006-05-27 반도체 장치 사이의 단일형 병렬데이터 인터페이스 방법,기록매체 및 반도체 장치 KR100782327B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020060047857A KR100782327B1 (ko) 2006-05-27 2006-05-27 반도체 장치 사이의 단일형 병렬데이터 인터페이스 방법,기록매체 및 반도체 장치
US11/802,886 US7541947B2 (en) 2006-05-27 2007-05-25 Semiconductor devices, a system including semiconductor devices and methods thereof
TW096118803A TW200811873A (en) 2006-05-27 2007-05-25 Semiconductor devices, a system including semiconductor devices and methods thereof
US12/453,109 US7830280B2 (en) 2006-05-27 2009-04-29 Semiconductor devices, a system including semiconductor devices and methods thereof
US12/923,858 US20110128170A1 (en) 2006-05-27 2010-10-12 Semiconductor devices, a system including semiconductor devices and methods thereof
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
KR1020060047857A KR100782327B1 (ko) 2006-05-27 2006-05-27 반도체 장치 사이의 단일형 병렬데이터 인터페이스 방법,기록매체 및 반도체 장치

Publications (2)

Publication Number Publication Date
KR20070114235A KR20070114235A (ko) 2007-11-30
KR100782327B1 true KR100782327B1 (ko) 2007-12-06

Family

ID=38861006

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060047857A KR100782327B1 (ko) 2006-05-27 2006-05-27 반도체 장치 사이의 단일형 병렬데이터 인터페이스 방법,기록매체 및 반도체 장치

Country Status (3)

Country Link
US (3) US7541947B2 (ko)
KR (1) KR100782327B1 (ko)
TW (1) TW200811873A (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4902662B2 (ja) * 2005-11-22 2012-03-21 インテル コーポレイション シリアル・リンクの信号遷移特性ベースのコード化
KR100782327B1 (ko) * 2006-05-27 2007-12-06 삼성전자주식회사 반도체 장치 사이의 단일형 병렬데이터 인터페이스 방법,기록매체 및 반도체 장치
US8552891B2 (en) 2006-05-27 2013-10-08 Samsung Electronics Co., Ltd. Method and apparatus for parallel data interfacing using combined coding and recording medium therefor
US7945050B2 (en) * 2007-09-28 2011-05-17 Intel Corporation Suppressing power supply noise using data scrambling in double data rate memory systems
US8503678B2 (en) * 2007-09-28 2013-08-06 Intel Corporation Suppressing power supply noise using data scrambling in double data rate memory systems
US7522073B1 (en) * 2007-11-30 2009-04-21 Qimonda North America Corp. Self-adapted bus inversion
US7952508B2 (en) * 2009-09-02 2011-05-31 Conexant Systems, Inc. Noise-shaped scrambler for reduced out-of-band common-mode interference
JP5657242B2 (ja) 2009-12-09 2015-01-21 株式会社東芝 半導体装置及びメモリシステム
US8984373B2 (en) 2012-02-22 2015-03-17 Silicon Motion, Inc. Method for accessing flash memory and associated flash memory controller
US8964879B2 (en) * 2012-07-18 2015-02-24 Rambus Inc. Crosstalk reduction coding schemes
US10396840B2 (en) * 2013-12-27 2019-08-27 Intel Corporation High speed short reach input/output (I/O)
US9665527B2 (en) 2014-12-09 2017-05-30 Intel Corporation Dynamic bus inversion with programmable termination level to maintain programmable target ratio of ones and zeros in signal lines
US9792246B2 (en) 2014-12-27 2017-10-17 Intel Corporation Lower-power scrambling with improved signal integrity
KR101825301B1 (ko) * 2016-08-22 2018-02-02 한양대학교 산학협력단 신호 전송 장치 및 방법과, 신호 수신 장치
US11341064B2 (en) 2019-12-05 2022-05-24 Realtek Singapore Private Limited Method of protecting sensitive data in integrated circuit and integrated circuit utilizing same
KR20210149543A (ko) * 2020-06-02 2021-12-09 삼성전자주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
KR20220086904A (ko) * 2020-12-17 2022-06-24 삼성전자주식회사 데이터 전송 방법 및 데이터 전송 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10198475A (ja) 1997-01-14 1998-07-31 Hitachi Ltd 同時スイッチングノイズ低減化方法および並列データ送受信方法、並びにバスインタフェース回路
JP2001144620A (ja) 1999-11-11 2001-05-25 Nec Eng Ltd バスシステム
KR20020020981A (ko) * 2000-06-22 2002-03-18 구자홍 일련의 데이터 워드를 변조신호로 변환하는 방법 및 장치

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5841378A (en) * 1996-10-25 1998-11-24 Motorola, Inc. System and apparatus for, and method of, interfacing a demodulator and a forward error correction decoder
US6388590B1 (en) * 1999-09-24 2002-05-14 Oak Technology, Inc. Apparatus and method for transmitting data serially for use with an advanced technology attachment packet interface (atapi)
DE19957301A1 (de) * 1999-11-29 2001-06-07 Siemens Ag Multiplexverfahren für Gigabit Ethernet Signale in der Synchronen Digital Hierarchie
US6650638B1 (en) * 2000-03-06 2003-11-18 Agilent Technologies, Inc. Decoding method and decoder for 64b/66b coded packetized serial data
US6718491B1 (en) * 2000-03-06 2004-04-06 Agilent Technologies, Inc. Coding method and coder for coding packetized serial data with low overhead
DE10196834T1 (de) 2000-11-07 2003-11-13 Intel Corp Verfahren und Einrichtung zum Reduzieren des Gleichzeitiges-Umschalten-Ausgangsrauschen unter Verwendung einer dynamischen Businversion
US6862701B2 (en) * 2001-03-06 2005-03-01 Agilent Technologies, Inc. Data communication system with self-test facility
US6628725B1 (en) * 2001-03-28 2003-09-30 Ciena Corporation Method and system for encoding data for transmission over a serial link
US6986094B2 (en) * 2001-03-29 2006-01-10 Intel Corporation Device and method for selecting opcode values with maximum hamming distance to minimize latency and buffering requirements
US6703949B2 (en) 2001-10-11 2004-03-09 Sun Microsystems, Inc. Method and apparatus for facilitating balanced bundles of electrical signals
EP1351462A1 (en) * 2002-03-29 2003-10-08 MystiCom, Ltd. Error Correcting 8B/10B Transmission System
US6920604B2 (en) * 2002-04-08 2005-07-19 Galazar Networks, Inc. Systems and methods for high speed serial encoding and decoding for data and control interfaces
US7113550B2 (en) * 2002-12-10 2006-09-26 Rambus Inc. Technique for improving the quality of digital signals in a multi-level signaling system
FR2854019B1 (fr) * 2003-04-16 2005-09-16 Medialive Embrouillage, desembrouillage et distribution securisee de sequences audiovisuelles issues de codeurs videos bases sur un traitement par ondelettes
GB2402026B (en) * 2003-05-20 2005-07-13 Micron Technology Inc System and method for balancing capactively coupled signal lines
US6734811B1 (en) 2003-05-21 2004-05-11 Apple Computer, Inc. Single-ended balance-coded interface with embedded-timing
US6812870B1 (en) * 2003-09-11 2004-11-02 Xilinx, Inc. Enhanced 8b/10b encoding/decoding and applications thereof
US7006016B1 (en) * 2003-10-10 2006-02-28 Marvell International Ltd. DC-free line codes
US7634694B2 (en) * 2004-10-15 2009-12-15 Standard Microsystems Corporation Selective scrambler for use in a communication system and method to minimize bit error at the receiver
US20060220926A1 (en) * 2005-03-31 2006-10-05 Fujitsu Limited Encoder and decoder
US7440513B2 (en) * 2005-05-24 2008-10-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Coding and decoding packetized data
US7487426B2 (en) * 2005-10-17 2009-02-03 Enigma Semiconductor, Inc. 64b/66b coding apparatus and method
US7274315B2 (en) * 2005-11-07 2007-09-25 Broadcom Corporation Scrambled block encoder
US20070165698A1 (en) * 2006-01-13 2007-07-19 Honeywell International Inc. Pre-whitened DC free line coding
KR100782327B1 (ko) * 2006-05-27 2007-12-06 삼성전자주식회사 반도체 장치 사이의 단일형 병렬데이터 인터페이스 방법,기록매체 및 반도체 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10198475A (ja) 1997-01-14 1998-07-31 Hitachi Ltd 同時スイッチングノイズ低減化方法および並列データ送受信方法、並びにバスインタフェース回路
JP2001144620A (ja) 1999-11-11 2001-05-25 Nec Eng Ltd バスシステム
KR20020020981A (ko) * 2000-06-22 2002-03-18 구자홍 일련의 데이터 워드를 변조신호로 변환하는 방법 및 장치
US6606038B2 (en) 2000-06-22 2003-08-12 Lg Electronics Inc. Method and apparatus of converting a series of data words into modulated signals

Also Published As

Publication number Publication date
TW200811873A (en) 2008-03-01
US20070290902A1 (en) 2007-12-20
US7830280B2 (en) 2010-11-09
KR20070114235A (ko) 2007-11-30
US20090267813A1 (en) 2009-10-29
US7541947B2 (en) 2009-06-02
US20110128170A1 (en) 2011-06-02

Similar Documents

Publication Publication Date Title
KR100782327B1 (ko) 반도체 장치 사이의 단일형 병렬데이터 인터페이스 방법,기록매체 및 반도체 장치
US8552891B2 (en) Method and apparatus for parallel data interfacing using combined coding and recording medium therefor
US10680858B2 (en) Methods and apparatus for the intelligent scrambling of control symbols
US8510490B2 (en) Encoding data using combined data mask and data bus inversion
US6933862B2 (en) Power consumption stabilization system and method
KR100877680B1 (ko) 반도체 장치 사이의 단일형 병렬데이터 인터페이스 방법,기록매체 및 반도체 장치
US9749159B2 (en) Methods and apparatus for scrambling symbols over multi-lane serial interfaces
US8581755B2 (en) Multiple word data bus inversion
US7358869B1 (en) Power efficient, high bandwidth communication using multi-signal-differential channels
US9077386B1 (en) Methods and systems for selection of unions of vector signaling codes for power and pin efficient chip-to-chip communication
US8223042B2 (en) Encoding data with minimum hamming weight variation
US7248696B2 (en) Dynamic system bus encryption using improved differential transitional encoding
WO2012049815A1 (ja) 送信回路、受信回路、送信方法、受信方法、通信システム及びその通信方法
US8964879B2 (en) Crosstalk reduction coding schemes
CN105531687B (zh) 利用转换最小化差分信令(tmds)编码来编码用于经通信接口传输的保护频带数据
KR20110101012A (ko) 컴바인드 코딩을 이용한 병렬데이터 인터페이스 방법, 기록매체 및 그 장치

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121031

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131031

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141031

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151030

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20181031

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20191031

Year of fee payment: 13