KR20220141938A - 송신기, 그것을 갖는 데이터 통신 장치, 및 그것의 데이터 전송 방법 - Google Patents

송신기, 그것을 갖는 데이터 통신 장치, 및 그것의 데이터 전송 방법 Download PDF

Info

Publication number
KR20220141938A
KR20220141938A KR1020210047664A KR20210047664A KR20220141938A KR 20220141938 A KR20220141938 A KR 20220141938A KR 1020210047664 A KR1020210047664 A KR 1020210047664A KR 20210047664 A KR20210047664 A KR 20210047664A KR 20220141938 A KR20220141938 A KR 20220141938A
Authority
KR
South Korea
Prior art keywords
data
data line
lines
transition
data pattern
Prior art date
Application number
KR1020210047664A
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 KR1020210047664A priority Critical patent/KR20220141938A/ko
Priority to US17/473,057 priority patent/US11671143B2/en
Priority to CN202210344200.3A priority patent/CN115208719A/zh
Publication of KR20220141938A publication Critical patent/KR20220141938A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/32Reducing cross-talk, e.g. by compensating
    • 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/0264Arrangements for coupling to transmission lines
    • H04L25/028Arrangements specific to the transmitter end
    • H04L25/0286Provision of wave shaping within the driver
    • H04L25/0288Provision of wave shaping within the driver the shape being matched to the transmission line
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/02Transmitters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/06Receivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/46Monitoring; Testing
    • H04B3/462Testing group delay or phase shift, e.g. timing jitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • H04L1/0058Block-coded modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0059Convolutional codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • H04L1/0063Single parity check
    • 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/03878Line equalisers; line build-out devices
    • H04L25/03885Line equalisers; line build-out devices adaptive
    • 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/08Modifications for reducing interference; Modifications for reducing effects due to line faults ; Receiver end arrangements for detecting or overcoming line faults
    • H04L25/085Arrangements for reducing interference in line transmission systems, e.g. by differential transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • H04L7/0033Correction by delay
    • H04L7/0037Delay of clock signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • H04L7/0033Correction by delay
    • H04L7/0041Delay of data signal

Abstract

본 발명에 따른 송신기는, 복수의 데이터 라인들의 각각에 대응하는 출력 드라이버들, 데이터 패턴 정보에 따라 상기 출력 드라이버들을 제어하는 드라이버 제어 로직, 및 사전에 결정된 시간 동안에 상기 복수의 데이터 라인들 중에서 적어도 2개의 라인들에 대응하는 데이터 패턴을 검출하고, 상기 검출된 데이터 패턴에 따른 상기 데이터 패턴 정보를 출력하는 데이터 패턴 검출기를 포함할 수 있다.

Description

송신기, 그것을 갖는 데이터 통신 장치, 및 그것의 데이터 전송 방법{TRANSMITTER, DATA COMMUNICATION DEVICE HAVING THE SAME, AND DATA TRANSMISSION METHOD THEREOF}
본 발명은 송신기, 그것을 갖는 데이터 통신 장치, 및 그것의 데이터 전송 방법에 관한 것이다.
일반적으로, 크로스토크(crosstalk; 누화 잡음)는 병렬로 이웃한 전송 라인의 커플링에 의해 타이밍 지터(timing jitter)를 야기한다. 인쇄회로기판 위에 마이크로 스트립 라인(strip line)의 경우 인덕티브 커플링이 커패시티브 커플링보다 크기 때문에 어느 한 전송 라인의 데이터가 양의 방향으로 천이할 경우, 이웃한 다른 전송 라인의 수신 단에 음의 크로스토크가 야기된다. 반대로, 어느 한 전송 라인의 데이터가 음의 방향으로 천이할 경우, 이웃한 다른 전송 라인의 수신단은 양의 크로스토크가 야기된다.
본 발명의 목적은 크로스토크를 줄이는 송신기, 그것을 갖는 데이터 통신 장치, 및 그것의 데이터 전송 방법을 제공하는데 있다.
본 발명의 실시 예에 따른 송신기는, 복수의 데이터 라인들의 각각에 대응하는 출력 드라이버들; 데이터 패턴 정보에 따라 상기 출력 드라이버들을 제어하는 드라이버 제어 로직; 및 사전에 결정된 시간 동안에 상기 복수의 데이터 라인들 중에서 적어도 2개의 라인들에 대응하는 데이터 패턴을 검출하고, 상기 검출된 데이터 패턴에 따른 상기 데이터 패턴 정보를 출력하는 데이터 패턴 검출기를 포함할 수 있다.
본 발명의 실시 예에 따른 송신기의 데이터 전송 방법은, 수신기에 복수의 데이터 라인들의 데이터 패턴들에 따른 트레이닝 동작을 요청하는 단계; 상기 수신기로부터 상기 트레이닝 동작에 따른 지연 정보를 수신하는 단계; 상기 지연 정보를 이용하여 상기 복수의 데이터 라인들의 각각에 대응하는 레지스터들을 설정하는 단계; 상기 복수의 데이터 라인들로 전송될 데이터 패턴을 판별하는 단계; 상기 데이터 패턴에 대응하는 상기 레지스터들의 설정값에 따라 출력 드라이버들에 대응하는 타이밍을 제어하는 단계; 및 상기 출력 드라이버들을 이용하여 데이터를 상기 수신기로 전송하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따른 데이터 통신 장치는, 복수의 데이터 라인들에 연결된 송신기; 및 상기 복수의 데이터 라인들의 각각에 연결된 수신 드라이버들을 포함하는 수신기를 포함하고, 상기 송신기는, 상기 복수의 데이터 라인들의 각각에 연결된 복수의 출력 드라이버들; 상기 복수의 데이터 라인들의 데이터 패턴을 검출하고, 상기 검출된 데이터패턴에 대응하는 데이터 패턴 정보를 출력하는 데이터 패턴 검출기; 및 상기 데이터 패턴 정보에 따라 상기 출력 드라이버들을 제어하는 드라이버 제어 로직을 포함할 수 있다.
본 발명의 실시 예에 따른 송신기, 그것을 갖는 데이터 통신 장치, 및 그것의 데이터 전송 방법은, 송신기에서 전송할 데이터 패턴에 따라 타이밍 제어를 수행함으로써 수신기에서 크로스토크로 인한 지터를 줄일 수 있다.
이하에 첨부되는 도면들은 본 실시 예에 관한 이해를 돕기 위한 것으로, 상세한 설명과 함께 실시 예들을 제공한다.
도 1은 일반적인 전송 라인의 크로스토크(crosstalk)에 따른 데이터 모드를 설명하는 도면이다.
도 2는 본 발명의 실시 예에 따른 데이터 통신 장치(10)를 예시적으로 보여주는 도면이다.
도 3a 및 도 3b는 본 발명의 실시 예에 따른 데이터 패턴에 따라 드라이버 제어 로직(120)의 지연 제어의 동작을 예시적으로 설명하는 도면들이다.
도 4a, 도 4b, 및 도 4c는 본 발명의 실시 예에 따른 데이터 패턴에 따라 드라이버 제어 로직(120)의 슬루 제어의 동작을 예시적으로 설명하는 도면들이다.
도 5a, 및 도 5b는 본 발명의 실시 예에 따른 데이터 패턴에 따라 드라이버 제어 로직(120)의 드라이빙 강도 제어를 예시적으로 설명하는 도면들이다.
도 6은 본 발명의 실시 예에 따른 데이터 통신 장치(10)의 동작 방법을 예시적으로 보여주는 래더다이어그램이다.
도 7은 데이터 패턴 정보(DQPI)에 응답하여 선택적으로 출력 드라이버를 활성화하는 것을 예시적으로 보여주는 도면들이다.
도 8은 본 발명의 실시 예에 따른 데이터 패턴 검출기(140)를 예시적으로 보여주는 도면이다.
도 9a 및 도 9b는 본 발명의 실시 예에 따른 패턴 비교 유닛의 데이터 패턴 정보(DQPI)에 따른 제어 테이블을 예시적으로 보여주는 도면들이다.
도 10은 본 발명의 실시 예에 따른 데이터 패턴 정보(DQPI)에 대응하는 모드에 따른 클록 지연을 예시적으로 보여주는 도면이다.
도 11a, 도 11b, 및 도 11c는 데이터 패턴 정보(DQPI)에 대응하는 모드에 따른 데이터 지연을 예시적으로 보여주는 도면들이다.
도 12는 본 발명의 실시 예에 따른 데이터 패턴 정보(DQPI)에 대응하는 모드에 따른 슬루 제어를 예시적으로 보여주는 도면들이다.
도 13은 본 발명의 실시 예에 따른 데이터 패턴 정보(DQPI)에 대응하는 모드에 따른 드라이빙 강도 제어를 예시적으로 보여주는 도면이다.
도 14는 본 발명의 실시 예에 따른 메모리 시스템(700)을 예시적으로 보여주는 도면이다.
도 15은 본 발명의 실시 예에 따른 컴퓨팅 시스템(1000)을 예시적으로 보여주는 도면이다.
도 16은 본 발명의 실시 예에 따른 저장 장치(20)를 예시적으로 보여주는 도면이다.
도 17은 본 발명의 실시 예에 따른 전송 라인들의 신호 파형을 예시적으로 보여주는 도면이다.
도 18a 및 도 18b은 종래와 본 발명의 크로스토크 영향을 비교하는 도면들이다.
아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시 할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.
도 1은 일반적인 전송 라인의 크로스토크(crosstalk)에 따른 데이터 모드를 설명하는 도면이다.
도 1을 참조하면, 전송 라인들(TL1, TL2)의 각각에 서로 독립적인 신호들(V1, V2)를 인가할 때, 신호들(V1, V2)이 시간에 대하여 서로 같은 방향으로 변하는 경우를 이븐 모드(even mode)라 부르고, 신호들(V1, V2)이 시간에 대하여 서로 반대 방향으로 변하는 경우를 오드 모드(odd mode)라고 부르며, 그 외의 경우는 스태틱 모드(static Mode)로 부른다. 이븐 모드에서 수신단의 크로스토크는 시간에 대한 신호의 변화가 지연되고, 오드 모드에서 수신단의 크로스토크는 시간에 대한 신호 의 변화가 빠르다. 즉, 이븐 모드의 경우 신호 전송 시간이 약간 길어지고, 오드 모드의 경우에 신호 전송 시간이 약간 짧아 진다(crosstalk-induced jitter).
도 2는 본 발명의 실시 예에 따른 데이터 통신 장치(10)를 예시적으로 보여주는 도면이다. 도 2를 참조하면, 데이터 통신 장치(10)는 송신기(TX, 100) 및 수신기(200, RX)를 포함할 수 있다. 송신기(100)는 복수의 전송 라인들(TL1, TL2, TL3)에 의해 수신기(200)로 데이터를 전송할 수 있다. 한편, 도 2에 도시된 출력 드라이버들, 전송 라인들, 및 수신 드라이버들의 각각의 개수가 3개이지만 본 발명이 여기에 제한되지 않는다고 이해되어야 할 것이다.
송신기(100)는 복수의 출력 드라이버들(TD1, TD2, TD3), 드라이버 제어 로직(120), 및 데이터 패턴 검출기(140)를 포함할 수 있다.
복수의 출력 드라이버들(TD1, TD2, TD3)은 대응하는 전송 라인들(TL1, TL2, TL3)으로 데이터를 출력하도록 구현될 수 있다.
드라이버 제어 로직(120)은 출력 드라이버들(TD1, TD2, TD3)의 각각을 제어하도록 구현될 수 있다. 특히, 드라이버 제어 로직(120)은 데이터 패턴에 따라 출력 드라이버들(TD1, TD2, TD3)의 클록 지연, 데이터 지연, 슬루(slew rate), 혹은 드라이빙 강도(driving strength)를 제어할 수 있다.
데이터 패턴 검출기(140)는 출력 드라이버들(TD1, TD2, TD3)에 입력하는 데이터를 감지함으로써, 데이터 패턴을 검출하도록 구현될 수 있다. 여기서 데이터 패턴은 도 1에서 설명된 데이터 모드에 연관된 패턴일 수 있다. 예를 들어, 데이터 패턴은 이븐 모드 패턴, 오드 모드 패턴, 및 스태틱 모드 패턴 중에서 어느 하나일 수 있다. 실시 예에 있어서, 데이터 패턴 검출기(140)는 하드웨어적으로 구현되거나, 소프트웨어적으로 구현되거나, 펌웨어적으로 구현될 수 있다.
수신기(200)는 복수의 전송 라인들(TL1, TL2, TL3)에 대응하는 수신 드라이버들(RD1, RD2, RD3)를 포함할 수 있다.
본 발명의 실시 예에 따른 데이터 통신 장치(10)는 데이터 패턴에 따라 출력 드라이버들(TD1, TD2, TD3)을 제어하는 송신기(100)를 구비함으로써, 전송 라인들의 크로스토크의 영향에 따른 지터를 최소화 시킬 수 있다.
도 3a 및 도 3b는 본 발명의 실시 예에 따른 데이터 패턴에 따라 드라이버 제어 로직(120)의 지연 제어의 동작을 예시적으로 설명하는 도면들이다.
도 3a에 도시된 바와 같이, 드라이버 제어 로직(120, 도 2 참조)은 데이터 패턴 정보(DQPI)를 수신하고, 클록/데이터를 지연하는 지연 제어 로직(121)을 포함할 수 있다. 도 3b에 도시된 바와 같이, 지연 제어 로직(121)은 데이터 패턴 정보(DQPI)에 따라 서로 다른 지연 클록을 출력 할 수 있다. 예를 들어, 지연 제어 로직(121)은 데이터 패턴 정보(DQPI)에 대응하는 이븐 모드 클록, 스태틱 모드 클록, 및 오드 모드 클록 중에서 어느 하나를 출력할 수 있다. 실시 예에 있어서, 이븐 모드 클록은 스태틱 모드 클록보다 빠를 수 있다. 실시 예에 있어서, 스태틱 모드 클록은 오드 모드 클록보다 빠를 수 있다. 출력 드라이버(TD)는 지연 제어 로직(121)로부터 출력된 클록에 응답하여 데이터(DQ)를 출력할 수 있다.
실시 예에 있어서, 데이터 패턴 정보(DQPI)가 이븐 모드를 지시할 때, 지연 제어 로직(121)은 수신기(200)에서 신호 지연을 고려하여 좀 더 빠르게 데이터(DQ)를 출력하도록 이븐 모드 클록을 출력할 수 있다.
실시 예에 있어서, 데이터 패턴 정보(DQPI)가 오드 모드를 지시할 때, 지연 제어 로직(121)은 수신기(200)에서 빠른 신호 응답을 고려하여 좀 더 느리게 데이터(DQ)를 출력하도록 오드 모드 클록을 출력할 수 있다.
도 4a, 도 4b, 및 도 4c는 본 발명의 실시 예에 따른 데이터 패턴에 따라 드라이버 제어 로직(120)의 슬루 제어의 동작을 예시적으로 설명하는 도면들이다.
도 4a에 도시된 바와 같이, 드라이버 제어 로직(120, 도 2 참조)은 데이터 패턴 정보(DQPI)를 수신하고, 슬루를 제어하는 슬루 제어 로직(122)을 포함할 수 있다. 도 4b 및 도 4c에 도시된 바와 같이, 슬루 제어 로직(122)은 데이터 패턴 정보(DQPI)에 따라 서로 다른 슬루들(이븐 모드 슬루, 오드 모드 슬루)을 가질 수 있다. 실시 예에 있어서, 이븐 모드 슬루(기울기)가 오드 모드 슬루보다 클 수 있다.
실시 예에 있어서, 데이터 패턴 정보(DQPI)가 이븐 모드를 지시할 때, 슬루 제어 로직(122)은 수신기(200)에서 신호 지연을 고려하여 이븐 모드 슬루를 갖는 데이터(DQ)를 출력할 수 있다.
실시 예에 있어서, 데이터 패턴 정보(DQPI)가 오드 모드를 지시할 때, 슬루 제어 로직(122)은 수신기(200)에서 빠른 신호 응답을 고려하여 오드 모드 슬루를 갖는 데이터(DQ)를 출력할 수 있다.
도 5a, 및 도 5b는 본 발명의 실시 예에 따른 데이터 패턴에 따라 드라이버 제어 로직(120)의 드라이빙 강도 제어를 예시적으로 설명하는 도면들이다.
도 5a에 도시된 바와 같이, 드라이버 제어 로직(120, 도 2 참조)은 데이터 패턴 정보(DQPI)를 수신하고, 드라이빙 강도를 제어하는 드라이빙 강도 제어 로직(123)을 포함할 수 있다. 도 5b에 도시된 바와 같이, 드라이빙 강도 제어 로직(123)은 데이터 패턴 정보(DQPI)에 따라 풀업 코드/풀다운 코드(PUCD/PDCD)를 출력할 수 있다. 실시 예에 있어서, 데이터 패턴 정보(DQPI)가 이븐 모드를 지시할 때, 드라이빙 강도 제어 로직(123)은 수신기(200)에서 신호 지연을 고려하여 이븐 모드 풀업 코드(PUCD_Even) 혹은 이븐 모드 풀다운 코드(PDCD_Even)를 출력할 수 있다. 실시 예에 있어서, 데이터 패턴 정보(DQPI)가 오드 모드를 지시할 때, 드라이빙 강도 제어 로직(123)은 수신기(200)에서 빠른 신호 응답을 고려하여 오드 모드 풀업 코드(PUCD_Odd) 혹은 오드 모드 풀다운 코드(PDCD_Odd)를 출력할 수 있다.
도 6은 본 발명의 실시 예에 따른 데이터 통신 장치(10)의 동작 방법을 예시적으로 보여주는 래더다이어그램이다. 도 2 내지 도 6을 참조하면, 데이터 통신 장치(10)는 다음과 같이 동작할 수 있다.
송신기(100, TX)는 데이터 패턴을 위한 트레이닝을 수신기(200, RX)에 요청할 수 있다(S11). 수신기(200)는 트레이닝 요청을 수신하고, 트레이닝 요청에 응답하여 데이터 패턴에 대한 트레이닝 동작을 수행할 수 있다(S12). 여기서 트레이닝 동작은 전송 라인들의 각각에 대하여 특정 데이터 패턴에 대한 타이밍 지연을 검출하는 동작을 포함할 수 있다. 이러한 트레이닝 동작의 결과로써 지연 정보가 생성될 수 있다.
수신기(200)는 트레이닝 요청에 대한 지연 정보를 송신기(100)로 전송할 수 있다(S13). 송신기(100)는 지연 정보를 수신하고, 지연 정보에 따라 드라이버 제어 로직(120)을 설정할 수 있다. 예를 들어, 송신기(100)는 데이터 패턴에 따라 클록/데이터 지연 제어, 슬루 제어, 혹은 드라이빙 강도 제어에 대응하는 적어도 하나의 레지스터를 설정할 수 있다(S14).
데이터 전송 시, 송신기(100)는 데이터 패턴을 판별할 수 있다(S15). 송신기(100)는 데이터 패턴을 이용하여 데이터 출력 관련한 타이밍을 제어할 수 있다(S16). 여기서 타이밍 제어는 데이터 패턴에 따라 클록/데이터 지연 제어, 슬루 제어, 혹은 드라이빙 강도 제어를 포함할 수 있다.
송신기(100)는 제어된 타이밍에 의거하여 데이터를 대응하는 전송 라인을 통하여 수신기(200)로 전송할 수 있다(S17).
실시 예에 있어서, 사전에 결정된 시간 동안 복수의 데이터 라인들 중에서 제 1 데이터 라인으로 전송할 제 1 데이터, 상기 사전에 결정된 시간 동안에 상기 복수의 데이터 라인들 중에서 제 2 데이터 라인으로 전송할 제 2 데이터, 및 사전에 결정된 시간 동안에 복수의 데이터 라인들 중에서 제 3 데이터 라인으로 전송할 제 3 데이터가 수신되고, 제 1 데이터, 상기 제 2 데이터, 및 제 3 데이터를 이용하여 제 2 데이터 라인에 대응하는 데이터 패턴 정보가 출력될 수 있다.
실시 예에 있어서, 데이터 패턴 정보에 따라 클록 혹은 데이터를 지연하거나, 대응하는 출력 드라이버의 슬루를 제어하거나, 출력 드라이버의 드라이빙 강도를 제어함으로 타이밍 제어가 수행될 수 있다.
실시 예에 있어서, 데이터 패턴 정보가 이븐 모드를 지시할 때, 수신기에서 스태틱 모드에서 출력하는 데이터보다 빠르게 데이터를 송신하도록 대응하는 출력 드라이버가 제어될 수 있다. 여기서 이븐 모드는 복수의 데이터 라인들 중에서 이웃한 2개의 데이터 라인들에서 전송하는 데이터의 전이 방향들이 동일한 것을 지시하고, 스태틱 모드는 상기 이웃한 2개의 데이터 라인들에서 어느 하나는 전이하지 않는 것을 지시할 수 있다.
실시 예에 있어서, 데이터 패턴 정보가 오드 모드를 지시할 때, 수신기에서 스태틱 모드에서 출력하는 데이터보다 느리게 데이터를 송신하도록 대응하는 출력 드라이버가 제어될 수 있다. 여기서 오드 모드는 복수의 데이터 라인들 중에서 이웃한 2개의 데이터 라인들에서 전송하는 데이터의 전이 방향들이 서로 다른 것을 지시할 수 있다.
본 발명의 실시 예에 따른 데이터 통신 장치(10)는 트레이닝 동작을 통하여 데이터 패턴에 따른 타이밍 보상을 판별하고, 데이터 전송 시 검출된 데이터 패턴에 따라 타이밍 보상을 수행함으로써, 크로스토크에 따른 지터를 최소화할 수 있다.
한편, 도 2 내지 도 6에서 데이터 패턴에 따라 송신기의 드라이버의 타이밍을 제어하고 있다. 하지만, 본 발명이 여기에 제한되지 않을 것이다. 본 발명은 데이터 패턴에 따라 최적의 드라이버를 선택적으로 활성화 시킬 수도 있다.
도 7은 데이터 패턴 정보(DQPI)에 응답하여 선택적으로 출력 드라이버를 활성화하는 것을 예시적으로 보여주는 도면들이다.
도 7을 참조하면, 데이터 패턴 정보(DQPI)에 따라 스태틱 출력 드라이버(TD_Static), 이븐 출력 드라이버(TD_Even), 및 오드 출력 드라이버(TD_Odd) 중에서 어느 하나가 활성화 될 수 있다. 데이터(DQ)는 활성화된 출력 드라이버에 의해 수신기(200)로부터 출력될 수 있다.
도 8은 본 발명의 실시 예에 따른 데이터 패턴 검출기(140)를 예시적으로 보여주는 도면이다. 도 8를 참조하면, 데이터 패턴 검출기(140)는 전송 라인들에 대응하는 패턴 비교 유닛들(141, 142, 143)을 포함할 수 있다.
제 1 패턴 비교 유닛(141)은 제 1 전송 라인을 통하여 전송하는 제 1 데이터(DQ1)과 제 2 전송 라인을 통하여 전송하는 제 2 데이터(DQ2)에 대한 제 1 데이터 패턴 정보(DQPI_1)를 출력할 수 있다.
제 2 패턴 비교 유닛(142)은 제 1 전송 라인을 통하여 전송하는 제 1 데이터(DQ1), 제 2 전송 라인을 통하여 전송하는 제 2 데이터(DQ2), 및 제 3 전송 라인을 통하여 전송하는 제 3 데이터(DQ3)에 대한 제 2 데이터 패턴 정보(DQPI_2)를 출력할 수 있다.
제 3 패턴 비교 유닛(143)은 제 3 전송 라인을 통하여 전송하는 제 2 데이터(DQ2), 제 3 전송 라인을 통하여 전송하는 제 3 데이터(DQ3), 및 제 4 전송 라인을 통하여 전송하는 제 4 데이터(DQ4)에 대한 제 3 데이터 패턴 정보(DQPI_3)를 출력할 수 있다.
도 9a 및 도 9b는 본 발명의 실시 예에 따른 패턴 비교 유닛의 데이터 패턴 정보(DQPI)에 따른 제어 테이블을 예시적으로 보여주는 도면들이다.
도 9a를 참조하면, 데이터 패턴 정보(DQPI)는 5 가지의 모드들(A, B, C, D, E)로 구분될 수 있다. 제 1 모드(A)는 이븐 모드고, 제 2 모드(B)는 하프-이븐 모드이고, 제 3 모드(C)는 스태틱 모드이고, 제 4 모드(D)는 하프-오드 모드이고, 제 5 모드(E)는 오드 모드이다.
실시 예에 있어서, 이븐 모드는 제 2 데이터 라인(DQ_N)의 데이터 패턴 정보를 출력하는 상황에서, 제 1 내지 제 3 데이터 라인들(DQ_N-1, DQ_N, DQ_N+1)의 전이 방향들이 동일한 것을 지시한다.
실시 예에 있어서, 하프 이븐 모드는 제 2 데이터 라인(DQ_N)의 데이터 패턴 정보를 출력하는 상황에서, 제 1 데이터 라인(DQ_N-1)의 전이 방향 및 제 3 데이터 라인(DQ_N+1)의 전이 방향 중에서 어느 하나는 제 2 데이터 라인(DQ_N)의 전이 방향과 동일하고, 제 1 데이터 라인(DQ_N-1) 및 제 3 데이터 라인(DQ_N+1) 중에서 나머지 하나는 전이하지 않는다.
실시 예에 있어서, 스태틱 모드는 제 2 데이터 라인(DQ_N)의 데이터 패턴 정보를 출력하는 상황에서, 제 1 데이터 라인(DQ_N-1) 및 제 3 데이터 라인(DQ_N+1) 중에서 어느 하나의 전이 방향은 제 2 데이터 라인(DQ_N)의 전이 방향과 다르고, 제 1 데이터 라인(DQ_N-1) 및 제 3 데이터 라인(DQ_N+1) 중에서 나머지 하나의 전이 방향은 제 2 데이터 라인(DQ_N)의 전이 방향과 동일하거나, 제 1 데이터 라인(DQ_N-1) 및 제 3 데이터 라인(DQ_N+1)이 전이하지 않거나, 제 2 데이터 라인(DQ_N)이 전이하지 않는 것을 지시한다.
실시 예에 있어서, 하프 오드 모드는 제 2 데이터 라인(DQ_N1)의 데이터 패턴 정보를 출력하는 상황에서, 제 1 데이터 라인(DQ_N-1) 및 제 3 데이터 라인(DQ_N+1) 중에서 어느 하나의 전이 방향은 제 2 데이터 라인(DQ_N)의 전이 방향과 다르고, 제 1 데이터 라인(DQ_N-1) 및 제 3 데이터 라인(DQ_N+1) 중에서 나머지 하나는 전이하지 않는 것을 지시한다.
실시 예에 있어서, 오드 모드는 제 2 데이터 라인(DQ_N)의 데이터 패턴 정보를 출력하는 상황에서, 제 1 데이터 라인(DQ_N-1) 및 제 3 데이터 라인(DQ_N+1)의 전이 방향들이 제 2 데이터 라인(DQ_N)의 전이 방향과 다른 것을 지시한다.
실시 예에 있어서, 제 1 모드(A)는 3개의 라인들의 전이 방향들이 동일한 것을 지시할 수 있다. 실시 예에 있어서, 제 2 모드(B)는 3개의 라인들 중에서 2개의 전이 방향들이 동일한 것을 지시할 수 있다. 실시 예에 있어서, 제 3 모드(C)는 3개의 라인들 중에서 2개는 전이하는 않는 것을 지시할 수 있다. 실시 예에 있어서, 제 4 모드(D)는 3개의 라인들 중에서 2개의 전이 방향들이 서로 다른 것을 지시할 수 있다. 실시 예에 있어서, 제 5 모드(E)는 3개의 라인들의 전이 방향들이 서로 다른 것을 지시할 수 있다.
도 9b를 참조하면, 패턴 비교 유닛에서 사전에 결정된 시간(t0t1, 예를 들어 2 클록) 동안에 데이터 입력들(DQ_N-1, DQ_N, DQ_N-1, 여기서 N은 양의 정수)에 따라 데이터 패턴 정보(DQPI; DQ_N_Control)가 예시적으로 도시되고 있다.
예를 들어, 도 9b에 도시된 바와 같이, 제 N-1 번째 데이터(DQ_N-1)가 '00'이고, 제 N 번째 데이터(DQ_N)가 '01'이고, 제 N+1 번째 데이터(DQ_N+1)가 '00'이 수신될 때, 대응하는 패턴 비교 유닛은 제 3 모드(C)에 대응하는 데이터 패턴 정보(DQPI)를 출력할 수 있다.
한편, 도 9a 및 도 9b에서 데이터 패턴 정보(DQPI)는 5가지 모드들(A, B, C, D, E)로 구분되지만, 본 발명의 모드의 개수가 여기에 제한되지 않는다고 이해되어야 할 것이다.
도 10은 본 발명의 실시 예에 따른 데이터 패턴 정보(DQPI)에 대응하는 모드에 따른 클록 지연을 예시적으로 보여주는 도면이다. 도 10를 참조하면, 데이터 패턴에 따른 모드(A, B, C, D, E)에 대응하는 클록이 출력될 수 있다. 실시 예에 있어서, 패턴 비교 유닛에서 출력된 데이터 패턴 정보(DQPI)가 제 1 모드(A)일 때, 가장 빠른 클록이 출력 될 수 있다. 다른 실시 예에 있어서, 패턴 비교 유닛에서 출력된 데이터 패턴 정보(DQPI)가 제 5 모드(E)일 때, 가장 느린 클록이 출력 될 수 있다.
도 11a, 도 11b, 및 도 11c는 데이터 패턴 정보(DQPI)에 대응하는 모드에 따른 데이터 지연을 예시적으로 보여주는 도면들이다.
도 11a을 참조하면, 입력 데이터(DQ_In)는 복수의 지연 소자들을 통하여 출력 데이터(DQ_Out)로 출력될 수 있다. 제 1 모드(A)의 경우 가장 적은 데이터 지연량에 대응하는 지연 소자가 선택되고, 제 5 모드(F)의 경우 가장 많은 데이터 지연량에 대응하는 지연 소자가 선택될 수 있다.
도 11b를 참조하면, 모드(A, B, C, D, E)에 따라 전송 라인의 커패시턴스 값이 가변 될 수 있다. 커패시턴스 값에 따라 데이터 지연의 차이가 발생하기 때문에 제 1 모드(A)의 경우 가장 적은 데이터 지연량에 대응하는 커패시턴스 값이 선택되고, 제 5 모드(F)의 경우 가장 많은 데이터 지연량에 대응하는 커패시턴스 값이 선택될 수 있다.
도 11c를 참조하면, 출력 드라이버의 출력을 모드에 대응하는 만큼 지연시키는 지연 제어 블록(111)에 의거하여 지연시킴으로써 데이터(DQ_Out)가 출력될 수 있다.
도 12는 본 발명의 실시 예에 따른 데이터 패턴 정보(DQPI)에 대응하는 모드에 따른 슬루 제어를 예시적으로 보여주는 도면들이다. 도 12를 참조하면, 모드에 따라 슬루가 조종되고, 조정된 슬루에 의거하여 데이터(DQ_In)가 출력 드라이버(TD)에 수신될 수 있다.
도 13은 본 발명의 실시 예에 따른 데이터 패턴 정보(DQPI)에 대응하는 모드에 따른 드라이빙 강도 제어를 예시적으로 보여주는 도면이다. 도 13을 참조하면, 데이터 패턴 정보(DQPI)에 대응하는 모드(A, B, C, D, E)에 따라 드라이버 강도(D/S)가 가변 될 수 있다. 출력 드라이버(TD)는 입력 데이터(DQ_In)을 수신하고, 모드에 따른 최적의 드라이버 강도(D/S)로 데이터(DQ_Out)를 출력할 수 있다.
한편, 본 발명의 실시 예에 따른 통신 장치는 다양한 제품에 구현 가능하다.
도 14는 본 발명의 실시 예에 따른 메모리 시스템(700)을 예시적으로 보여주는 도면이다. 도 14를 참조하면, 메모리 시스템(700)은 메모리 제어기(750) 및 복수의 메모리 모듈들을 포함할 수 있다.
메모리 제어기(750) 및 복수의 메모리 모듈들(701 ~ 704)의 각각은 도 2 내지 도 13에서 설명된 바와 같이, 데이터 전송 시 데이터 패턴에 따라 전송 라인의 클록/데이터 지연, 슬루, 혹은 드라이빙 강도를 제어하도록 구현될 수 있다.
제 1 내지 제 4 메모리 모듈들(701 ~ 704)의 각각은 SIMM(single in-line memory module) 혹은 DIMM(dual inline memory module) 형태로 구현될 수 있다.
또한, 메모리 제어기(750)와 제 1 내지 제 4 메모리 모듈들(701 ~ 704)은 시스템 보드에 장착되고, 시스템 보드 상의 배선을 통해 데이터(DATA) 및 커맨드/어드레스(CMD/ADD)를 송수신할 수 있다.
메모리 시스템(700)에 구비되는 메모리 장치들은 다수의 랭크(RANK)들을 구성할 수 있다. 일 예로, 서로 다른 메모리 모듈에 장착되는 메모리 장치는 서로 다른 랭크(RANK)에 포함되는 것으로 정의될 수 있다. 또는, 동일한 메모리 모듈에 장착되는 메모리 장치들 중, 모듈 보드의 일 면에 장착되는 메모리 장치와 다른 일 면에 장착되는 메모리 장치는 서로 다른 랭크(RANK)에 포함되는 것으로 정의될 수도 있다. 시스템 보드에서 제 1 내지 제 4 메모리 모듈들(701 ~ 704)이 장착되는 위치는 상이하고, 이에 따라 서로 다른 랭크(RANK)의 메모리 장치들은 서로 다른 물리적 거리를 통해 메모리 제어기(750)와 데이터(DATA)를 송수신할 수 있다.
제 1 내지 제 4 메모리 모듈들(701 ~ 704)과 메모리 제어기(750) 사이의 데이터(DATA) 전송 경로의 저항은 서로 상이할 수 있다. 실시 예에 있어서, 제 1 메모리 모듈(701)과 메모리 제어기(750) 사이의 물리적 거리는 상대적으로 짧은 반면에, 제 4 메모리 모듈(704)과 메모리 제어기(750) 사이의 물리적 거리는 상대적으로 길 수 있다. 이에 따라, 메모리 모듈 별로 데이터 패턴에 따른 트레이닝 동작이 수행되고, 수행 결과에 따라 최적의 타이밍 제어가 데이터 전송 전에 수행될 수 있다.
한편, 본 발명은 듀얼-모드 트랜시버(Dual-Mode Transceiver)에 적용 가능하다. 도 15은 본 발명의 실시 예에 따른 컴퓨팅 시스템(1000)을 예시적으로 보여주는 도면이다. 도 15을 참조하면, 컴퓨팅 시스템(1000)은 제어기(1800)와 메모리 장치(1900)를 포함할 수 있다. 제어기(1800)는 클록 발생기(1801), 커맨드/어드레스(CA) 발생기(1802), 커맨드/어드레스 레퍼런스 발생기(1803), 레지스터(1804), 비교기(1806), 위상/타이밍 제어기(1808), 및 데이터 입출력기(1810, 1812)를 포함할 수 있다. 제어기(1800)는 클록 발생기(1801)에서 생성되는 클록 신호(CK)를 클록 신호 라인을 통해 메모리 장치(1900)로 제공할 수 있다.
실시 예에 있어서, 컴퓨팅 시스템(1000)은 인터페이스에 별도로 커맨드/어드레스의 레퍼런스 신호(CA_Ref) 라인을 포함하고 있다. 커맨드/어드레스의 레퍼런스 신호(CA_Ref) 라인은 캘리브레이션 모드에서 커맨드/어드레스의 기준값인 커맨드/어드레스의 레퍼런스 신호(CA_Ref)를 송수신 하는 역할을 수행할 수 있다.
이러한 커맨드/어드레스의 기준값을 이용한 캘리브레이션 결과값을 위상/타이밍 제어기(1808)에 제공해서 커맨드/어드레스 신호(CA)의 위상/타이밍을 조정할 수 있다. 별도의 커맨드/어드레스의 레퍼런스 신호(CA_Ref) 라인이 있으므로 커맨드/어드레스(CA) 신호를 전송하는 동작을 하면서 동시에 커맨드/어드레스(CA) 신호의 위상/타이밍을 조정할 수 있는 캘리브레이션 동작을 수행할 수 있는 장점이 있다. CA 발생기(1802)는 위상/타이밍 제어기(1808)의 제어 신호(CTR)에 응답하여 위상 혹은 타이밍을 조정된 커맨드/어드레스 신호(CA)를 발생하고, CA 버스를 통해 메모리 장치(1900)로 전송할 수 있다.
커맨드/어드레스 레퍼런스 발생기(1803)는 커맨드/어드레스 발생기(1802)와 동일하게 구성되며, 커맨드/어드레스 발생기(1802)에서 발생되는 커맨드/어드레스 신호(CA)와 동일한 제 1 커맨드/어드레스 레퍼런스 신호(CA_Ref1)를 발생할 수 있다. 제 1 커맨드/어드레스 레퍼런스 신호(CA_Ref1)는 레지스터(1804)로 제공된다. 또한, 제 1 커맨드/어드레스 레퍼런스 신호(CA_Ref1)는 데이터 출력기(1812)를 통해 CA 레퍼런스 버스로 전송되고, CA 레퍼런스 버스(16)를 통해 메모리 장치(1900)로 제공된다.
레지스터(1804)는 제 1 커맨드/어드레스 레퍼런스 신호(CA_Ref1)를 저장할 수 있다. 비교기(1806)는 레지스터(1804)에 저장된 제 1 커맨드/어드레스 레퍼런스 신호(CA_Ref1)와 데이터 입력기(1810)로부터 출력되는 제3 커맨드/어드레스 레퍼런스 신호(CA_Ref3)를 비교할 수 있다. 비교기(1804)는 제 1 커맨드/어드레스 레퍼런스 신호(CA_Ref1)와 제3 커맨드/어드레스 레퍼런스 신호(CA_Ref3)의 데이터를 비교하여 패스 혹은 페일 신호(P/F)를 발생할 수 있다.
위상/타이밍 제어기(1808)는 비교기(1806)의 패스 혹은 페일 신호(P/F)에 따라 커맨드/어드레스 신호(CA)의 위상 변이(shift)를 지시하는 제어 신호(CTR)를 발생할 수 있다. 제어 신호(CTR)는 커맨드/어드레스 신호(CA)의 위상 혹은 타이밍을 조정하여, 위상 조정된 커맨드/어드레스 신호(CA)를 발생시킬 수 있다.
데이터 입력기(1810)는, 메모리 장치(1900)로부터 CA 레퍼런스 버스를 통해 전달되는 제 2 커맨드/어드레스 레퍼런스 신호(CA_Ref2)를 수신하여 제 3 커맨드/어드레스 레퍼런스 신호(CA_Ref3)로서 비교기(1806)로 전달할 수 있다. 데이터 출력기(1812)는 커맨드/어드레스 레퍼런스 발생기(1803)에서 발생된 제 1 커맨드/어드레스 레퍼런스 신호(CA_Ref1)를 수신하여 CA 레퍼런스 버스(12)로 전송할 수 있다.
메모리 장치(1900)는 클록 버퍼(1902), 커맨드/어드레스(CA) 수신기(1904), 커맨드/어드레스 레퍼런스 수신기(1906), 및 데이터 입출력기(1908, 910)를 포함할 수 있다. 클록 버퍼(1902)는 클록 신호 라인을 통해 전달되는 클록 신호(CK)를 수신하여 내부 클록 신호(ICK)를 발생할 수 있다. CA 수신기(1904)는 내부 클록 신호(ICK)에 응답하여 칩 선택 신호(/CS), 클록 인에이블 신호(CKE) 및 CA 버스를 통해 전달되는 커맨드/어드레스 신호(CA)를 수신할 수 있다.
클록 인에이블 신호(CKE)는 CA 버스를 통해 전달되는 커맨드/어드레스 신호(CA)의 리드 커맨드로 작용하는 의사 커맨드(pseudo command)로 사용될 수 있다. CA 수신기(1904)는 클록 인에이블 신호(CKE)가 활성화일 때에 커맨드/어드레스 신호(CA)를 수신할 수 있다.
데이터 입력기(1908)는 제어기(1800)로부터 CA 레퍼런스 버스를 통해 전달되는 제 1 커맨드/어드레스 레퍼런스 신호(CA_Ref1)를 수신하여 커맨드/어드레스 레퍼런스 수신기(1906)로 전달할 수 있다. 커맨드/어드레스 레퍼런스 수신기(1906)는 CA 수신기(1904)와 동일하게 구성될 수 있다. 커맨드/어드레스 레퍼런스 수신기(1906)는 내부 클록 신호(ICK)에 응답하여 칩 선택 신호(/CS), 클록 인에이블 신호(CKE) 및 CA 레퍼런스 버스를 통해 전달되는 제 1 커맨드/어드레스 레퍼런스 신호(CA_Ref1)를 수신하여 제 2 커맨드/어드레스 레퍼런스 신호(CA_Ref2)를 발생할 수 있다.
제 2 커맨드/어드레스 레퍼런스 신호(CA_Ref2)는, CA 수신기(1904)에서 내부 클록 신호(ICK)에 응답하여 칩 선택 신호(/CS), 클록 인에이블 신호(CKE) 및 CA 버스를 통해 전달되는 커맨드/어드레스 신호(CA)를 수신하여 출력하는 신호와 동일할 수 있다. 제 2 커맨드/어드레스 레퍼런스 신호(CA_Ref2)는 데이터 출력기(1910)를 통해 CA 레퍼런스 버스로 전달될 수 있다.
컴퓨팅 시스템(1000)에서 이루어지는 CA 캘리브레이션은 다음과 같다. 제어기(1800)의 CA 발생기(1802)는 위상/타이밍 제어기(1808)의 제어 신호(CTR)에 응답하여 커맨드/어드레스 신호(CA)의 위상 혹은 타이밍을 조정하여 커맨드/어드레스 신호(CA)를 CA 버스로 전송할 수 있다. 커맨드/어드레스 레퍼런스 발생기(1803)는 커맨드/어드레스 신호(CA)와 동일한 제 1 커맨드/어드레스 레퍼런스 신호(CA_Ref1)를 발생하여 CA 레퍼런스 버스로 전달할 수 있다.
메모리 장치(1900)의 CA 레퍼런스 수신기(1906)는 내부 클록 신호(ICK)와 클록 인에이블 신호(CKE)에 따라 제 1 커맨드/어드레스 레퍼런스 신호(CA_Ref1)를 수신하여 제 2 커맨드/어드레스 레퍼런스 신호(CA_Ref2)를 발생할 수 있다. 메모리 장치(1900)의 제 2 커맨드/어드레스 레퍼런스 신호(CA_Ref2)는 CA 레퍼런스 버스로 전송될 수 있다.
제어기(1800)는 CA 레퍼런스 버스를 통해 전송되는 제 2 커맨드/어드레스 레퍼런스 신호(CA_Ref2)를 제 2 커맨드/어드레스 레퍼런스 신호(CA_Ref2)로써 비교기(1806)로 전송할 수 있다. 비교기(1806)는 제 1 커맨드/어드레스 레퍼런스 신호(CA_Ref1)와 제 2 커맨드/어드레스 레퍼런스 신호(CA_Ref2)의 데이터를 비교하여 패스 혹은 페일 신호(P/F)를 발생할 수 있다. 위상/타이밍 제어기(1808)는 비교기(1806)의 패스 혹은 페일 신호(P/F)에 따라 커맨드/어드레스 신호(CA)의 위상 변이(shift)를 지시하는 제어 신호(CTR)를 발생할 수 있다. CA 발생기(1802)는 제어 신호(CTR)에 따라 위상 조정된 커맨드/어드레스 신호(CA)를 발생시킬 수 있다.
이러한 CA 캘리브레이션 동작의 반복으로, 제어기(1800)의 위상/타이밍 제어기(1808)는 패스(P)된 위치들의 중간을 커맨드/어드레스 신호(CA) 윈도우의 중간으로 판별하고, 클록 신호(CK)의 엣지에 커맨드/어드레스 신호(CA) 윈도우의 중간이 오도록 커맨드/어드레스 신호(CA)를 발생하여 메모리 장치(1900)로 제공할 수 있다. 이에 따라, 메모리 장치(1900)는 클록 신호(CK)의 상승/하강 엣지에서 클록 신호 쌍(CK, CKB)의 상승/하강 엣지에 유효 윈도우의 중간이 위치하는 커맨드/어드레스 신호(CA)를 수신할 수 있다.
본 발명의 실시 예에 따른 컴퓨팅 시스템(1000)은 제어기(1800) 및 메모리 장치(1900)의 각각에 듀얼-모드 트랜시버(1820, 1920)을 포함할 수 있다.
듀얼-모드 트랜시버(1820, 1920)의 각각은 NRZ(Non-Return to Zero) 전송 모드 혹은 PAM-4(Pulse Amplitude Modulation Level 4) 전송 모드 중 어느 하나로 동작할 수 있다. 실시 예에 있어서, 듀얼-모드 트랜시버들(1820, 1920)의 각각은, 데이터 전송 시 데이터 패턴에 따라 최적의 모드로 출력 드라이버(TX)를 최적화시켜 데이터를 출력하도록 구현될 수 있다. 특히, 트랜시버들(1820, 1920)는 도 1 내지 도 13에서 설명된 바와 같이, 데이터 패턴 정보에 대응하는 모드에 따라 클록/데이터 지연 제어, 슬루 제어, 혹은 드라이빙 강도 제어를 수행함으로써, 전송 라인들 사이의 크로스토크 현상을 최소화 시킬 수 있다.
도 16은 본 발명의 실시 예에 따른 저장 장치(20)를 예시적으로 보여주는 도면이다. 도 16을 참조하면, 저장 장치(20)는 적어도 하나의 비휘발성 메모리 장치(100a) 및 그것을 제어하는 제어기(200a)를 포함할 수 있다.
적어도 하나의 비휘발성 메모리 장치(100a)는 데이터를 저장하도록 구현될 수 있다. 비휘발성 메모리 장치(100a)는 낸드 플래시 메모리(NAND flash memory), 수직형 낸드 플래시 메모리, 노아 플래시 메모리(NOR flash memory), 저항성 램(resistive random access memory; RRAM), 상변화 메모리(phase-change memory; PRAM), 자기저항 메모리(magnetoresistive random access memory; MRAM), 강유전체 메모리(ferroelectric random access memory; FRAM), 스핀주입 자화반전 메모리(spin transfer torque random access memory; STT-RAM) 등이 될 수 있다. 또한, 비휘발성 메모리 장치(100a)는 3차원 어레이 구조(three-dimensional array structure)로 구현될 수 있다.
또한, 비휘발성 메모리 장치(100a)는, 트랜시버(101), 및 복수의 메모리 블록들(BLK1 ~ BLKz, z는 2 이상의 정수)을 포함하도록 구현될 수 있다. 복수의 메모리 블록들(BLK1 ~ BLKz)의 각각은 복수의 페이지들(Page 1 ~ Page m, m은 2 이상의 정수)를 포함할 수 있다. 복수의 페이지들(Page 1 ~ Page m)의 각각은, 복수의 메모리 셀들을 포함할 수 있다. 복수의 메모리 셀들의 각각은 적어도 하나의 비트를 저장할 수 있다.
제어기(CNTL; 200a)는 제어 신호들(CLE, ALE, CE(s), WE, RE, 등)을 전송하는 복수의 제어 핀들을 통하여 적어도 하나의 비휘발성 메모리 장치(100)에 연결될 수 있다. 또한, 제어 신호들(CLE, ALE, CE(s), WE, RE)을 이용하여 비휘발성 메모리 장치(100)를 제어하도록 구현될 수 있다. 예를 들어, 비휘발성 메모리 장치(100)는 CLE(command latch enable) 신호 및 ALE(address latch enable) 신호에 따라 WE(write enable) 신호의 엣지에서 커맨드 혹은 어드레스를 래치 함으로써, 프로그램 동작/리드 동작/소거 동작을 수행할 수 있다.
제어기(200a)는 저장 장치(20)의 전반적인 동작을 제어하도록 구현될 수 있다. 제어기(200a)는 캐시/버퍼 관리, 펌웨어 관리, 가비지 컬렉션 관리, 웨어 레벨링 관리, 데이터 중복 제거 관리, 리드 리프레쉬/리클레임 관리, 배드 블록 관리, 멀티-스트림 관리, 호스트 데이터와 비휘발성 메모리의 맵핑 관리, QoS(quality of service) 관리, 시스템 리소스 할당 관리, 비휘발성 메모리 큐(queue) 관리, 리드 전압 레벨 관리, 소거/프로그램 관리, 핫/콜드 데이터 관리, 전력 손실 보호 관리, 동적 열관리, 초기화 관리, RAID(redundant array of inexpensive disk) 관리 등과 같은 다양한 관리 동작들을 수행할 수 있다.
또한, 제어기(200a)는, 트랜시버(201), 적어도 하나의 프로세서(210, CPU), 버퍼 메모리(220), 및 에러 정정 회로(230)를 포함할 수 있다.
적어도 하나의 프로세서(210, CPU)는 저장 장치(20)의 전반적인 동작을 제어하도록 구현될 수 있다.
버퍼 메모리(220)는 휘발성 메모리(예를 들어, SRAM(Static Random Access Memory), DRAM(Dynamic RAM), SDRAM(Synchronous RAM) 등) 혹은 비휘발성 메모리 (플래시 메모리, PRAM(Phase-change RAM), MRAM(Magneto-resistive RAM), ReRAM(Resistive RAM), FRAM(Ferro-electric RAM) 등)로 구현될 수 있다. 버퍼 메모리(220)는 복수의 테이블들(221, 222, 223)을 포함할 수 있다.
ECC 회로(230)는 프로그램 동작시 에러 정정 코드(error correction code)를 생성하고, 리드 동작시 에러 정정 코드를 이용하여 데이터의 복구하도록 구현될 수 있다. 즉, ECC 회로(230)는 비휘발성 메모리 장치(100a)로부터 수신된 데이터의 페일 비트(fail bit) 혹은 에러 비트(error bit)를 정정하기 위한 에러 정정 코드(error correction code; ECC)를 생성할 수 있다. ECC 회로(230)는 비휘발성 메모리 장치(100)로 제공되는 데이터의 에러 정정 인코딩을 수행함으로써, 패리티(parity) 비트가 부가된 데이터를 형성할 수 있다. 패리티 비트는 비휘발성 메모리 장치(100)에 저장될 수 있다. 또한, ECC 회로(230)는 비휘발성 메모리 장치(100)로부터 출력된 데이터에 대하여 에러 정정 디코딩을 수행할 수 있다. ECC 회로(230)는 패리티를 사용하여 에러를 정정할 수 있다. ECC 회로(230)는 LDPC(low density parity check) code, BCH code, turbo code, 리드-솔로몬 코드(Reed-Solomon code), convolution code, RSC(recursive systematic code), TCM(trellis-coded modulation), BCM(block coded modulation) 등의 코디드 모듈레이션(coded modulation)을 사용하여 에러를 정정할 수 있다.
비휘발성 메모리 장치(100a)의 트랜시버(101, XCVR)과 제어기(200a)의 트랜시버(201, XCVR)는 도 1 내지 도 13에서 설명된 바와 같이 데이터 패턴에 따라 최적으로 전송 라인들의 각각에 대한 클록/데이터 지연 제어, 슬루 제어, 혹은 드라이빙 강도 제어를 수행할 수 있다.
도 17은 본 발명의 실시 예에 따른 전송 라인들의 신호 파형을 예시적으로 보여주는 도면이다. 도 17를 참조하면, DQS에 동기하여 데이터(DQ0, DQ1, DQ2)를 전송할 때, 데이터 패턴 검출에 따라 출력 드라이버에서 이븐 모드의 경우 오리지널 파형에서 타이밍을 조금 앞으로 밀고, 오드 모드의 경우 오리지널 파형에서 타이밍을 조금 뒤로 밀도록 출력할 수 있다. 이로써 수신기에서 전송 라인에 따른 지터가 야기되지 않고 오리지널 파형이 수신될 수 있다.
도 18a 및 도 18b은 종래와 본 발명의 크로스토크 영향을 비교하는 도면들이다. 도 18a에 도시된 바와 같이 종래의 통신 장치는 62.8% UI(Unit Interval)을 갖는 아이패턴이 출력되고, 본 발명의 통신 장치는 74.% UI을 갖는 아이패턴이 출력되고 있다. DQ eye margin이 62.8%UI에서 74.8%UI로 12% 개선된다.
본 발명의 데이터 통신 장치는 종래의 그것과 비교하여 아이 패턴을 크게 개선할 수 있다. 본 발명은 PCB(Printed Circuit Board) 채널 환경에서 Even/Odd Pattern이 Channel의 Propagation delay 차이로 나타나는 DQ Setup/Hold time margin 감소를 보상하기 위해, Driver에서부터 Pattern 별로 Delay/Slew/Drive-strength 등을 Control하여 전송하고, Transmitter 내부에 Pattern Dependent Control Logic을 구성할 수 있다.
PCB 채널 환경을 가진 Storage 제품들의(SSD, eStorage, …) 경우, 고용량/고속 성능을 만족하기 위해서 Interface speed 증가가 필수다. 특히 controller와 NAND 플래시 메모리 혹은 DRAM(Dynamic Random Access Memory) 단품과 I/F(Interface) 통신시에 대역폭 증가를 위한 병렬 통신이 필수다. 병렬 통신은 DQ 신호가 많아서 인접한 DQ 신호간 Even/Odd mode에 따라 파형의 propagation speed 차이가 발생한다. 이는 수신단에서 Clock 대비 DQ 신호/패턴간 도달 시간이 달라져, Eye time margin에 감소로 인해 고속 동작에 한계를 갖게 한다. 본 발명은 Even, Odd delay mismatch를 보상하는 방식으로 I/F 한계를 극복하는 Solution을 제시할 수 있다. 본 발명은 Device간 통신 시, Channel에서 발생하는 DQ간 Even/Odd Crosstalk 영향을 보상하기 위해 Driver에서부터 Delay / Slew / Drive-strength 등을 Control 하여 데이터를 전송한다. Transmitter Device 내부에 Even/Odd Pattern을 비교하는 Block 과 Delay/Slew/Drive-strength를 Control 할 수 있는 Block이 존재한다. 이를 통하여 채널에 의한 Signal 열화 현상이 보상되고, Eye Time margin이 개선된다.
한편, 상술된 본 발명의 내용은 발명을 실시하기 위한 구체적인 실시 예들에 불과하다. 본 발명은 구체적이고 실제로 이용할 수 있는 수단 자체뿐 아니라, 장차 기술로 활용 할 수 있는 추상적이고 개념적인 아이디어인 기술적 사상을 포함 할 것이다.
10: 통신 장치
100: 송신기
TD, TD1, TD2, TD3: 출력 드라이버
120: 드라이버 제어 로직
140: 데이터 패턴 검출기
141, 142, 143: 패턴 비교 유닛
TL1, TL2, TL3: 전송 라인
DQPI: 데이터 패턴 정보
A, B, C, D, E: 모드

Claims (10)

  1. 복수의 데이터 라인들의 각각에 대응하는 출력 드라이버들;
    데이터 패턴 정보에 따라 상기 출력 드라이버들을 제어하는 드라이버 제어 로직; 및
    사전에 결정된 시간 동안에 상기 복수의 데이터 라인들 중에서 적어도 2개의 라인들에 대응하는 데이터 패턴을 검출하고, 상기 검출된 데이터 패턴에 따른 상기 데이터 패턴 정보를 출력하는 데이터 패턴 검출기를 포함하는 송신기.
  2. 제 1 항에 있어서,
    상기 데이터 패턴 정보는,
    상기 적어도 2개의 라인들의 전이 방향들이 동일한 이븐 모드 정보;
    상기 적어도 2개의 라인들의 전이 방향들이 서로 다른 오드 모드 정보; 및
    상기 적어도 2개의 라인들 중에서 하나가 전이하지 않는 스태틱 모드 정보를 포함하는 송신기.
  3. 제 1 항에 있어서,
    상기 적어도 2개의 라인들은 이웃한 제 1 데이터 라인, 제 2 데이터 라인, 및 제 3 데이터 라인을 포함하고,
    상기 제 2 데이터 라인에 대응하는 상기 데이터 패턴 정보는,
    상기 제 1 내지 제 3 데이터 라인들의 전이 방향들이 동일한 이븐 모드 정보;
    상기 제 1 데이터 라인 및 상기 제 3 데이터 라인의 전이 방향들이 상기 제 2 데이터 라인의 전이 방향과 다른 오드 모드 정보;
    상기 제 1 데이터 라인 및 상기 제 3 데이터 라인 중에서 어느 하나의 전이 방향은 상기 제 2 데이터 라인의 전이 방향과 동일하고, 상기 제 1 데이터 라인 및 상기 제 3 데이터 라인 중에서 나머지 하나는 전이하지 않는 하프 이븐 모드 정보;
    상기 제 1 데이터 라인 및 상기 제 3 데이터 라인 중에서 어느 하나의 전이 방향은 상기 제 2 데이터 라인의 전이 방향과 다르고, 상기 제 1 데이터 라인 및 상기 제 3 데이터 라인 중에서 나머지 하나는 전이하지 않는 다른 하프 오드 모드 정보; 및
    상기 제 1 데이터 라인 및 상기 제 3 데이터 라인 중에서 어느 하나의 전이 방향은 상기 제 2 데이터 라인의 전이 방향과 다르고 상기 제 1 데이터 라인 및 상기 제 3 데이터 라인 중에서 나머지 하나의 전이 방향은 상기 제 2 데이터 라인의 전이 방향과 동일하거나, 상기 1 데이터 라인 및 상기 제 3 데이터 라인이 전이하지 않거나, 상기 제 2 데이터 라인이 전이하지 않는 스태틱 모드 정보를 포함하는 송신기.
  4. 제 1 항에 있어서,
    상기 데이터 패턴 검출기는 하드웨어적으로 구현되거나, 소프트웨어적으로 구현되거나, 펌웨어적으로 구현되는 것을 특징으로 하는 송신기.
  5. 제 1 항에 있어서,
    상기 데이터 패턴 검출기는, 상기 데이터 패턴 정보에 따라 상기 복수의 출력 드라이버들에 관련된 클록 혹은 데이터를 지연하는 지연 제어 유닛을 포함하는 것으로 특징으로 하는 송신기.
  6. 제 1 항에 있어서,
    상기 데이터 패턴 검출기는, 상기 데이터 패턴 정보에 따라 상기 출력 드라이버들에 관련된 슬루(slew)을 제어하는 슬루 제어 유닛을 포함하는 것으로 특징으로 하는 송신기.
  7. 제 1 항에 있어서,
    상기 데이터 패턴 검출기는, 상기 데이터 패턴 정보에 따라 상기 출력 드라이버들에 관련된 드라이빙 강도를 제어하는 드라이빙 강도 제어 유닛을 포함하는 것으로 특징으로 하는 송신기.
  8. 제 1 항에 있어서,
    상기 출력 드라이버들의 각각은, 상기 데이터 패턴 정보에 따라 활성화 되는 출력 드라이버; 및 상기 데이터 패턴 정보에 따라 비활성화 되는 적어도 하나의 출력 드라이버를 포함하는 송신기.
  9. 제 1 항에 있어서,
    상기 데이터 패턴 검출기는 상기 복수의 데이터 라인들의 각각에 대응하는 패턴 비교 유닛을 포함하고,
    상기 패턴 비교 유닛은,
    사전에 결정된 시간 동안에 상기 복수의 데이터 라인들 중에서 제 1 데이터 라인의 제 1 데이터를 수신하고,
    상기 사전에 결정된 시간 동안에 상기 복수의 데이터 라인들 중에서 제 2 데이터 라인의 제 2 데이터를 수신하고,
    상기 사전에 결정된 시간 동안에 상기 복수의 데이터 라인들 중에서 제 3 데이터 라인의 제 3 데이터를 수신하고,
    상기 제 1 데이터, 상기 제 2 데이터, 혹은 상기 제 3 데이터를 이용하여 상기 대응하는 데이터 라인의 데이터 패턴 정보를 출력하는 것을 특징으로 하는 송신기.
  10. 송신기의 데이터 전송 방법에 있어서,
    수신기에 복수의 데이터 라인들의 데이터 패턴들에 따른 트레이닝 동작을 요청하는 단계;
    상기 수신기로부터 상기 트레이닝 동작에 따른 지연 정보를 수신하는 단계;
    상기 지연 정보를 이용하여 상기 복수의 데이터 라인들의 각각에 대응하는 레지스터들을 설정하는 단계;
    상기 복수의 데이터 라인들로 전송될 데이터 패턴을 판별하는 단계;
    상기 데이터 패턴에 대응하는 상기 레지스터들의 설정값에 따라 출력 드라이버들에 대응하는 타이밍을 제어하는 단계; 및
    상기 출력 드라이버들을 이용하여 데이터를 상기 수신기로 전송하는 단계를 포함하는 방법.
KR1020210047664A 2021-04-13 2021-04-13 송신기, 그것을 갖는 데이터 통신 장치, 및 그것의 데이터 전송 방법 KR20220141938A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210047664A KR20220141938A (ko) 2021-04-13 2021-04-13 송신기, 그것을 갖는 데이터 통신 장치, 및 그것의 데이터 전송 방법
US17/473,057 US11671143B2 (en) 2021-04-13 2021-09-13 Transmitter, data communication device including same, and data transmission method
CN202210344200.3A CN115208719A (zh) 2021-04-13 2022-04-02 发送器、包括发送器的数据通信装置和数据传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210047664A KR20220141938A (ko) 2021-04-13 2021-04-13 송신기, 그것을 갖는 데이터 통신 장치, 및 그것의 데이터 전송 방법

Publications (1)

Publication Number Publication Date
KR20220141938A true KR20220141938A (ko) 2022-10-21

Family

ID=83509869

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210047664A KR20220141938A (ko) 2021-04-13 2021-04-13 송신기, 그것을 갖는 데이터 통신 장치, 및 그것의 데이터 전송 방법

Country Status (3)

Country Link
US (1) US11671143B2 (ko)
KR (1) KR20220141938A (ko)
CN (1) CN115208719A (ko)

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930006228B1 (ko) 1990-07-20 1993-07-09 삼성전자 주식회사 신호지연회로
KR930008655B1 (ko) 1991-07-02 1993-09-11 삼성전자 주식회사 누화방지 스위치회로
KR20020003649A (ko) 2000-06-22 2002-01-15 박종섭 이동통신 시스템에서의 홈-죤 부가 서비스가 가능한호처리 방법
JP2005244479A (ja) * 2004-02-25 2005-09-08 Fujitsu Ltd 伝送装置
KR100772716B1 (ko) 2006-08-31 2007-11-02 주식회사 하이닉스반도체 반도체 메모리 장치 및 그 구동방법
KR101003119B1 (ko) 2008-11-18 2010-12-21 주식회사 하이닉스반도체 반도체 집적회로의 데이터 라이트 장치
KR20120000192A (ko) 2010-06-25 2012-01-02 포항공과대학교 산학협력단 누화잡음의 영향을 보상하여 병렬데이터를 전송하는 송신 시스템
KR101187640B1 (ko) 2010-08-27 2012-10-05 에스케이하이닉스 주식회사 동기식 반도체 메모리 장치
US8913443B2 (en) 2011-09-19 2014-12-16 Conversant Intellectual Property Management Inc. Voltage regulation for 3D packages and method of manufacturing same
US8599595B1 (en) 2011-12-13 2013-12-03 Michael C. Stephens, Jr. Memory devices with serially connected signals for stacked arrangements
KR101828504B1 (ko) 2011-12-21 2018-02-12 에스케이하이닉스 주식회사 반도체 장치 및 반도체 장치의 동작방법
US10236042B2 (en) 2016-10-28 2019-03-19 Integrated Silicon Solution, Inc. Clocked commands timing adjustments method in synchronous semiconductor integrated circuits

Also Published As

Publication number Publication date
CN115208719A (zh) 2022-10-18
US11671143B2 (en) 2023-06-06
US20220329283A1 (en) 2022-10-13

Similar Documents

Publication Publication Date Title
US11513955B2 (en) Memory module with local synchronization and method of operation
US9997221B2 (en) Delay locked loop circuit including an additive delay in a command path
US9792173B2 (en) Interface control circuit, memory system, and method of controlling an interface control circuit
US10360959B2 (en) Adjusting instruction delays to the latch path in DDR5 DRAM
US10699757B2 (en) DQS-offset and read-RTT-disable edge control
US10606512B2 (en) On-die termination architecture
US11782618B2 (en) Memory device, method of calibrating signal level thereof, and memory system having the same
US11449274B2 (en) Memory device, data outputting method thereof, and memory system having the same
CN114078554A (zh) 生成多电平信号的方法和基于多电平信号发送数据的方法
US10541897B2 (en) Mismatch compensation at differential signal receiver
KR102142589B1 (ko) 패리티 체크를 수행하는 반도체 메모리 장치, 메모리 시스템 및 반도체 메모리 장치의 동작방법
EP3958133B1 (en) Memory device, controller controlling the same, memory system including the same, and operating method thereof
KR20220128126A (ko) 데이터 저장 장치 및 이를 위한 인터페이스 회로
WO2019022804A1 (en) DYNAMIC TERMINATION EDGE CONTROL
KR20220085237A (ko) 스토리지 컨트롤러, 스토리지 장치 및 스토리지 장치의 동작 방법
US11671143B2 (en) Transmitter, data communication device including same, and data transmission method
US8009485B2 (en) Semiconductor memory device
US10033524B1 (en) Differential signal mismatch compensation
US11211112B2 (en) Semiconductor devices controlling column operation of banks
US20240012443A1 (en) Register clock driver, operating method of register clock driver, and memory module including register clock driver and plurality of memory devices
KR20240019004A (ko) 랭크간 타이밍을 조정하는 메모리 모듈, 메모리 시스템, 그리고 그것의 트레이닝 방법
KR20220057820A (ko) 메모리 장치 및 시스템

Legal Events

Date Code Title Description
A201 Request for examination