KR100883458B1 - 데이터 인터페이스 교정 방법 및 장치 - Google Patents

데이터 인터페이스 교정 방법 및 장치 Download PDF

Info

Publication number
KR100883458B1
KR100883458B1 KR1020070031439A KR20070031439A KR100883458B1 KR 100883458 B1 KR100883458 B1 KR 100883458B1 KR 1020070031439 A KR1020070031439 A KR 1020070031439A KR 20070031439 A KR20070031439 A KR 20070031439A KR 100883458 B1 KR100883458 B1 KR 100883458B1
Authority
KR
South Korea
Prior art keywords
data
data signals
timing
test value
receiving device
Prior art date
Application number
KR1020070031439A
Other languages
English (en)
Other versions
KR20070098713A (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 엔비디아 코포레이션
Publication of KR20070098713A publication Critical patent/KR20070098713A/ko
Application granted granted Critical
Publication of KR100883458B1 publication Critical patent/KR100883458B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • 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
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0004Initialisation of the receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0091Transmitter details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Abstract

본 발명은 컴퓨팅 플랫폼 환경에서 데이터 스트로브와 관련하여 병렬 인터페이스 상의 데이터 전달 타이밍을 조정하는 방법 및 장치에 관한 것으로서, 하나 이상의 데이터 신호의 타이밍을 설정 가능한 타이밍 양만큼 변경하고, 상기 하나 이상의 데이터 신호를 사용하여 수신장치에 교정 테스트 데이터를 기록하고, 상기 수신장치로부터 테스트 값을 판독하고, 상기 수신장치로부터 반환된 테스트 데이터 값의 적어도 일부분에 따라 클록 신호와 관련하여 상기 하나 이상의 데이터 신호의 타이밍을 조정하는 것을 특징으로 하며, 본 발명에 의하면 고속 데이터 인터페이스 에서 데이터 전달을 효과적으로 달성할 수 있다..
인터페이스, 교정, 클록 신호, 기록데이터, 판독데이터

Description

데이터 인터페이스 교정 방법 및 장치{DATA INTERFACE CALIBRATION}
본 발명에 대한 핵심은 본 명세서의 결론 부분에서 구체적으로 지적되고 명확히 주장된다. 그러나 본 발명의 목적, 특징, 및 장점들과 함께 조작의 구성 및 방법 모두에 대해서는 본 명세서에 첨부된 도면을 참조하여 그 상세한 설명으로부터 가장 잘 이해될 수 있을 것이다.
도 1은 데이터 전달 인터페이스를 통해 메모리에 접속된 그래픽 처리 유닛(GPU)의 예시적인 실시 형태의 구성도,
도 2는 메모리 장치로부터 판독 데이터(read data)를 수신하고 상기 메모리 장치에 기록 데이터(write data)와 클록 신호를 전송하도록 구성된 그래픽 처리 유닛의 예시적인 실시 형태의 구성도,
도 3은 교정 제어유닛과 기록 데이터 지연유닛을 포함하는 데이터 전송장치의 예시적인 실시 형태의 구성도,
도 4는 기록 데이터와 기록 데이터 스트로브 신호에 대한 기록 데이터의 대략적인 관계를 도시하는 예시적인 타이밍도,
도 5는 지연된 기록 데이터와 기록 데이터 스트로브 신호에 대한 상기 지연된 기록 데이터의 관계를 도시하는 예시적인 타이밍도,
도 6은 교정 테스트 데이터와 기록 데이터 스트로브를 도시하는 예시적인 타이밍도,
도 7은 교정 테스트 데이터와 기록 데이터 스트로브를 도시하는 예시적인 타이밍도,
도 8은 교정 테스트 데이터 등록기를 포함하는 수신장치의 예시적인 실시 형태의 개략도,
도 9는 데이터 인터페이스 교정을 위한 방법의 예시적인 실시 형태의 흐름도,
도 10은 데이터 인터페이스 교정 방법을 위한 방법의 예시적인 실시 형태의 흐름도, 및
도 11은 그래픽 메모리에 접속된 그래픽 처리 유닛을 포함하는 예시적인 컴퓨팅 플랫폼의 구성도이다.
< 도면의 주요 부분에 대한 부호의 설명 >
910: 변경 단계 920: 기록 단계
930: 판독 단계 940: 조정 단계
1010: 지연 단계 1020: 출력 단계
1030: 판독 단계 1040: 판정 단계
1050: 진행단계
본 발명은 컴퓨팅 플랫폼에서 데이터 스트로브(strobe) 신호에 관련하여 병렬 인터페이스의 데이터 전달 타이밍을 조정하는 것에 관한 것이다.
컴퓨팅 플랫폼의 소자 사이의 인터페이스 및/또는 집적회로 내의 유닛 사이의 인터페이스가 전송 속도 및/또는 버스 폭의 증가에 따라, 노이즈와 신호 무결성 문제의 중요성이 증가한다. 일부 컴퓨팅 플랫폼에서, 데이터 전달 인터페이스는 클록신호나, 전송장치에 의해서 생성되거나 클록 신호를 분할함으로써 수신장치 내에서 생성된 데이터 스트로브 신호의 상승 및/또는 하강 에지에 대응하여 상기 수신장치 또는 유닛에서 래치되는(latch) 데이터를 포함할 수 있다. 증가된 데이터 전달 속도에 대응하여, 상기 데이터 신호와 하나 이상의 데이터 스트로브 또는 클록 신호들 사이의 타이밍 차이를 보상하기 위해 몇 개의 시스템에 의해 교정 조작이 수행될 수 있다. 타이밍 차이는 전압 및/또는 온도의 변화의 결과로 시간에 따라 변할 수 있다.
아래의 상세한 설명에서, 주장된 발명을 충분히 이해할 수 있도록 많은 구체적인 사항들이 제공된다. 그러나, 당해 기술분야의 통상의 지식을 가진 자라면 이들 구체적인 설명 없이도 주장된 발명들이 실시될 수 있음을 이해할 것이다. 다른 경우에서, 잘 알려진 방법, 절차, 소자들 및/또는 회로들은 주장된 발명들을 모호하게 하지 않도록 하기 위해 상세하게 설명되지 않았다.
본 명세서에서 "일 실시 형태" 또는 "실시 형태"는 상기 실시 형태와 관련되어 설명된 구체적인 특징, 구조, 또는 특성이 주장된 발명의 적어도 하나의 실시 형태에 포함되는 것을 의미한다. 따라서, 본 명세서의 여러 부분에서 "일 실시 형태에서" 및/또는 "실시 형태"라는 말의 등장은 모두가 반드시 동일한 실시 형태를 가리키는 것은 아니다. 또한, 상기 구체적인 특징, 구조, 및/또는 특성은 하나 이상의 실시 형태에 결부될 수 있다.
본 명세서에서 "로직(logic)"은 하나 이상의 로직 동작을 수행하는 구조에 관련된다. 예를 들면, 로직은 적어도 부분적으로 하나 이상의 입력 신호에 기초하여 하나 이상의 출력 신호를 제공하는 회로를 포함할 수 있다. 이와 같은 회로는 디지털 신호를 수신하고 디지털 출력 신호를 제공하는 유한 상태 기계를 포함하거나, 또는 하나 이상의 아날로그 입력신호에 응답하여 하나 이상의 아날로그 출력신호를 제공하는 회로를 포함할 수 있다. 이와 같은 회로는 예컨대 ASIC(application specific integrated circuit) 및/또는 FPGA(field programmable gate array)에 제공될 수 있다. 또한, 로직은 프로세서나 다른 프로세싱 회로와 조화를 이루어 기계-판독 가능한 명령들을 실행하는 저장매체에 저장된 상기 기계-판독 가능한 명령들을 포함할 수 있다. 그러나, 이것들은 로직을 제공할 수 있는 구조들의 예에 불과한 것이며 본 발명은 이것들에 한정되지 않는다.
달리 구체적으로 명시되지 않으면, 아래의 설명으로부터 명백한 바와 같이, 본 명세서에서 "처리(processing)", "컴퓨팅", "계산(calculating)", "선택(selecting)", "구성(forming)", "인에이블링(enabling)", "금지(inhibiting)", "식별(identifying)", "개시(initiating)", "쿼리(querying)", "획득(obtaining)", "호스팅(hosting)", "유지(maintaining)", "표시"representing)", "수정(modifying)", "수신(receiving)", "전송(transmitting)", "저장(storing)", "판정(determining)" 등은 컴퓨팅 플랫폼의 프로세서, 메모리, 레지스터 및/또는 다른 정보 저장소, 전송, 수신 및/또는 디스플레이 장치 내에서 물리적, 전자적, 자기적 량 및/또는 다른 물리적 양으로 표시된 데이터를 조작하고 및/또는 변환하는, 컴퓨터 또는 유사한 전자적 컴퓨팅 장치와 같은 컴퓨팅 플랫폼에 의해 수행되는 동작 및/또는 프로세스들를 가리킨다. 따라서, 컴퓨팅 플랫폼은 상기 신호의 형태로 데이터를 처리하고 및/또는 저장하는 능력을 갖는 시스템 또는 장치를 가리킨다. 따라서 이러한 환경에서 컴퓨팅 플랫폼은 하드웨어, 소프트웨어, 펌웨어 및/또는 상기의 임의의 조합을 포함할 수 있다. 또한, 달리 구체적으로 설명되지 않으면, 흐름도나 다른 도면들을 참조하여 여기서 설명된 프로세스는 컴퓨팅 플랫폼에 의해 전체 또는 부분적으로 실행되고 및/또는 제어될 수 있다.
본 명세서에 사용된 용어 "클록 신호(clock signal)"는 컴퓨팅 플랫폼과 같은 전자적 장치에서 임의의 장치, 소자, 유닛, 또는 회로에서 타이밍을 제어하는데 사용된 임의의 주기적인 신호를 포함하는 것으로 본다. 또한, 용어 "클록 신호"는 데이터를 래치시키는데 사용된 데이터 스트로브 신호를 포함하는 것으로 본다. 몇몇 실시 형태에서, 이들 데이터 스트로브 신호는 적어도 부분적으로 수신된 클록 신호에 기초하여 장치 내에서 생성될 수 있다. 예를 들면, 데이터 스트로브는 PLL(phase locked loop)을 사용하여 클록 신호를 분할함으로써 생성될 수 있다.
교정 조작은 하나 이상의 데이터 스트로브 또는 클록 신호에 관련하여 하나 이상의 데이터 라인의 타이밍을 조정하기 위한 노력으로 수행될 수 있다.
신뢰성 있고 신속한 데이터 전달을 보장하는 위치로 클록의 상승 및/또는 하강 에지 또는 데이터 스트로브 신호를 이동시키기 위한 노력으로 다른 조작들이 수행된다. 여기서 설명된 실시 형태들의 교정 조작들은 시스템 파워 온 상태에서 수행되고 및/또는 시스템 동작 중에 수행될 수 있다. 교정 조작은 특수 교정 모드에 진입하는 단계와 특수 교정 조작을 수행하는 단계를 포함할 수 있다. 하나의 예시적인 실시 형태를 위한 교정 조작은 GPU와 RAM 장치 사이에서 일어날 수 있다. GPU 또는 다른 데이터 전송 장치는 하나 이상의 클록 신호와 관련하여 하나 이상의 데이터 신호들의 타이밍을 조정하는 회로를 포함할 수 있다. 또 다른 실시 형태에서, 메모리 장치는 수신하는 데이터를 래치하는데 사용된 데이터 스트로브 또는 클록 신호의 타이밍을 조정하는 회로를 포함할 수 있지만, 본 발명의 범위는 이러한 것에 한정되지 않는다. 다른 메모리 장치들은 데이터 스트로브 또는 클록 신호의 타이밍을 조정하는 회로를 포함하지 않을 수 있다. 한 가지 예시적인 실시 형태에서, 메모리 장치는 또한 교정 테스트 데이터를 저장하기 위해 레지스터 또는 다른 저장 회로를 포함할 수 있다. 여기서 설명된 실시 형태들은 메모리 장치와 GPU를 논의했지만, 여기서 설명된 교정 회로와 기술들이 광범위한 장치들 중 임의의 것에 포함되는 다른 실시 형태들이 있을 수 있다. 본 명세서에서 설명된 교정 조작들은 또한 교정된 클록 데이터 복구(CDR: Clock Data Recovery)로 지칭될 수 있다.
교정 조작은 GPU에서 메모리 장치로 발생되는 명령어에 의해 시작될 수 있지만, 어떤 실시 형태에서는 명령어가 발생되지 않을 수 있다. 상기 GPU는 판독 트랜잭션이 후속되는 하나 이상의 기록 트랜잭션을 상기 메모리 장치에 수행한다. 상기 기록 트랜잭션에 있어서 상기 GPU는 상기 메모리 장치 내의 데이터 샘플러가 위상 샘플링 회로로서 동작하도록 하기 위해 상기 기록 데이터를 1/2 비트-시간(bit-time) 시프트한다. 또 다른 실시 형태에서, 상기 GPU는 데이터 스트로브 또는 클록 신호를 1/2 비트-시간만큼 시프트시켜 DRAM의 데이터 샘플러 회로가 위상 샘플링 회로로서 동작하도록 허용한다. 여기서 설명된 실시 형태들이 데이터 라인 및/또는 데이터 스트로브 및/또는 클록 신호를 1/2 비트-시간만큼 시프트시키는 것을 언급하지만, 다른 실시 형태들은 1/2 비트-시간과 다른 양만큼 시프트시킬 수 있다. 데이터 라인 타이밍에서 변화량은 설정 가능하다.
전술한 바와 같이, 교정 조작은 GPU가 데이터를 상기 메모리 장치에 기록하고 판독하는 것을 포함한다. 상기 GPU는 상기 기록 데이터가 1/2 비트-시간 시프트되는 기록 조작을 수행할 수 있다. 상기 데이터의 시프팅은 메모리가 비트-시간의 대략 중간에서보다는 데이터 스트로브 신호의 대략 에지에서 상기 기록 데이터를 샘플링하도록 한다. 상기 샘플링된 데이터는 상기 GPU에 의해서 다시 읽혀지고 클록신호와 관련하여 상기 데이터 신호의 타이밍에 대해 조정이 이루어져야 하는지를 판정하기 위해 검사될 것이다. 넓은 병렬 버스들은 아마도 바이트 레인(byte lane)으로 지칭되는 다수의 하위부분들을 포함할 수 있다. 교정 조작은 바이트-레 인 단위로 일어나거나, 또는 전체 버스에 대해서 이루어지거나, 또는 상기 버스의 더 작은 하위부분 또는 한 바이트 레인의 더 작은 부분들에 대해서 이루어질 수 있다. 예를 들면, 몇몇 실시 형태에서, 각각의 개별 데이터 라인은 독립적으로 조정될 수 있다.
이전에 쓰여진 교정 데이터를 다시 읽을 때 몇 개의 옵션들 중 어느 것이나 사용될 수 있다. 상기 데이터는 GPU가 즉시 다시 읽을 수 있도록 상기 메모리 장치의 입력 패드 근처에 저장될 수 있다. 일 실시 형태에서, 2개의 버스트 데이터( two burst lengths of data)를 저장하기 위해 저장 회로가 상기 메모리에 제공될 수 있다. 다른 실시 형태들은 다른 양의 데이터를 저장할 수 있다. 또 다른 실시 형태에서, 상기 기록 데이터는 상기 메모리 코어에 저장되고 통상의 방식으로 GPU에 의해 읽혀질 수 있다. 또 다른 실시 형태에서, 기록 데이터는 바이트 레인의 서브세트 또는 병렬 버스의 다른 하위부분들을 통해 상기 메모리에 전달될 수 있고 상기 판독 데이터는 상기 바이트 레인의 나머지 레인 서브세트에 즉시 제공될 수 있다. 예를 들면, 바이트 레인의 처음 4개 비트는 교정 데이터를 전송하는데 사용되고 바이트 레인의 다른 4개의 비트들은 상기 교정 기록 조작의 결과를 판독하는데 사용될 수 있다. 다른 가능한 것들은 홀수 비트에 대해서 상기 메모리 장치에 쓰기와 짝수 비트에 대해서 다시 읽기를 포함할 수 있다. 여전히 다른 실시 형태들이 있을 수 있다.
본 명세서에 개시된, 데이터 인터페이스를 위한 교정 조작을 수행하는 실시 형태들은 일정한 장점들을 제공할 것이다. 예를 들면, 몇몇 실시 형태에서 동일한 데이터 패턴이 각각의 교정 조작을 위해 사용될 수 있다. 또한, 여기서 설명된 실 시 형태들에서 빈번한 타이밍 조정을 허용하는 모든 비교 결과에 대해 피드백이 제공될 수 있다. 조정 판정은 단일 교정 테스트 데이터 기록/판독 사이클에 기초하거나 또는 다수의 교정 테스트 기록/판독 사이클에 기초할 수 있다. 몇몇 실시 형태에서, 빈번한 타이밍 조정은 데이터 전달 인터페이스의 데이터에 종속하는 지터를 개선하는 노력으로 이루어질 수 있다. 또한, 일부 실시 형태에서, 교정 조작의 빈번함은 시스템 요구사항에 종속하는 교정 조작을 위해 이용된 대역폭의 양을 변경시키기 위해 조정될 수 있다. 또한, 하나 이상의 실시 형태에서, 교정 조작을 가능하게 하는 어떤 추가적인 회로도 메모리 장치나 다른 수신 장치에 포함되지 않을 수 있다.
도 1은 데이터 전달 인터페이스를 통해 메로리 장치(120)에 연결된 GPU의 예시적인 실시 형태의 블록도이다. 이 예시적인 실시 형태에서, 상기 데이터 전달 인터페이스는 하나 이상의 데이터 라인(111), 하나 이상의 제어 라인(113), 및 하나 이상의 어드레스 라인(115)를 포함할 수 있지만, 본 발명의 범위는 이러한 점에 한정되지 않는다. GPU(110)와 메모리(120)는 데이터 전달 인터페이스를 통해 연결될 수 있는 소자 및/또는 장치 및/또는 유닛 형태의 예시일 뿐이며, 본 발명의 범위는 이러한 점에 한정되지 않는다.
도 2는 병렬 데이터 상호접속기(210)를 통해 연결된 메모리 장치(120)와 GPU(110)를 도시한다. 이 예시적인 실시 형태에서, 판독/기록 데이터(215)는 복수의 병렬 데이터 라인을 통해 전달될 것이다. 이 예시적인 실시 형태에서, 데이터 라인(215)은 판독 데이터와 기록 데이터 모두를 전달하는데 사용될 수 있지만, 본 발명의 범위는 이러한 점에 한정되지 않는다. 판독 데이터와 기록 데이터가 동일한 라인을 공유하지 않는 다른 실시 형태들이 있을 수 있다. 이러한 예시적인 실시 형태에서, 메모리 장치(120)는 메모리 장치(120) 내에서 생성된 기록 데이터 스트로브의 변화에 응답하여 데이터 라인(215)에 기록 데이터를 래치할 것이다. 상기 기록 데이터 스트로브는 클록 신호를 분할함으로써 생성될 수 있지만, 본 발명의 범위는 이러한 점에 한정되지 않는다. 다른 실시 형태에 대해서, 메모리 장치(120)는 클록 신호(217)의 상승 및/또는 하강 에지에 대응해서 데이터를 래치할 것이다. 즉, 클록 신호(217)는 데이터 스트로브 신호로서 작용할 것이다. 클록 신호(217)는 이 예시적인 실시 형태에서 GPU(110)에 의해 메모리 장치(120)에 전달될 것이다. GPU(110)는 전송장치, 소자, 및/또는 유닛의 예시일 뿐, 본 발명의 범위는 이러한 것에 한정되지 않는다. 또한, 메모리 장치(120)는 수신장치, 소자, 및/또는 유닛의 예시일 뿐 본 발명의 범위는 이러한 것에 한정되지 않는다.
도 3은 교정 제어회로(330)를 포함하고 추가로 기록 데이터 출력회로(340)에 접속된 기록 데이터 지연유닛(310)을 포함하는 데이터 전송장치의 예시적인 실시 형태의 블록도이다. 이 예시적인 실시 형태는 전송장치의 가능한 하나의 예시일 뿐이며, 본 발명의 범위는 이러한 것에 한정되지 않는다. 이 예에서, 상기 데이터 전송장치는 GPU(110)를 포함하지만, 역시 본 발명의 범위는 이것에 한정되지 않는다. 기록 데이터 지연유닛(310)은 하나 이상의 데이터 라인의 타이밍을 조정할 수 있는 임의의 회로를 포함할 수 있다. 일 실시 형태에서, 지연유닛(310)은 DLL(delay locked loop)회로를 포함할 수 있지만, 본 발명의 범위는 이에 한정되지 않는다. 이 예에서, 기록 데이터 출력회로(340)는 코어 로직 유닛으로부터 기록 데이터(301)를 수신할 수 있다. 상기 교정 제어회로(330)에 의해 통신된 정보에 따라서, 기록 데이터 지연 유닛(310)은 하나 이상의 기록 데이터 라인(215)의 타이밍을 조정할 수 있다. GPU(110)는 이 예에서 또한 클록 생성유닛(320)을 포함할 수 있지만, 본 발명의 범위는 이에 한정되지 않는다. 일부 실시 형태에서, 상기 클록신호는 상기 전송장치 및/또는 상기 수신장치의 외부에서 생성될 수 있다.
교정 제어회로(330)는 또한 교정 조작 동안에 판독 데이터(215)를 수신할 수 있다. 교정 조작 동안에 하나 이상의 데이터 라인(215)을 통해 수신된 데이터에 따라서, 교정 제어회로(330)는 데이터 지연 유닛(310)에 의해 기록 데이터(215)의 타이밍을 조정할 것인지 여부를 판정한다. 본 예시적인 실시 형태의 다양한 측면들은 나머지 도면들과 관련한 이하의 설명으로부터 더욱 잘 이해될 수 있을 것이다.
도 4는 하나 이상의 기록 데이터 라인(215)과 기록 데이터 스트로브 신호(817) 사이의 예시적인 타이밍 관계를 도시하는 타이밍도이다. 이 예와 후속적인 예들에 있어서, 데이터 스트로브 신호(817)는 수신장치 내에서, 이 경우 메모리 장치 내에서 생성될 수 있다. 데이터 스트로브(817)는 수신장치로부터 수신된 클록신호(이 예에서 클록신호와 같은)를 분할함으로써 생성될 수 있지만, 본 발명의 범위는 이에 한정되지 않는다. 이 도면은 비-교정 조작을 도시한다. 이 예에서, GPU(110)는 상기 기록 데이터 신호에 대한 전이를 생성하며 이때 상기 기록 데이터 스트로브(817)의 상승 에지가 비트-시간의 대략 중간에서, 예컨대 도 4에 도시된 바와 같은 시간(410)에 일어난다. 도 4에 도시된 바와 같이, 새로운 기록 데이터 값은 데이터 스트로브 신호(817)의 각각의 하강 에지에서 데이터 라인(215)에 제공되지만, 상기 전송장치는 이 예에서는 상기 스트로브 신호의 하강 에지에 대응하여 데이터를 제공하지 않으며, 이는 이 예에서 상기 전송장치는 상기 수신장치에 의해 생성된 데이터 스트로브 신호를 알지 못하기 때문이다. 그러나, 이것은 단지 하나 이상의 데이터 라인과 스트로브 신호 사이의 예시적인 관계일뿐이며, 본 발명의 범위는 이에 한정되지 아니한다.
여기서 사용된 용어 "비트-시간"은 데이터 신호 또는 데이터 전달 상호접속에서 하나의 데이터 펄스(1 비트)의 대략적인 시간을 가리킨다. 예를 들면, 데이터 라인당 100Mbps의 비트 레이트를 갖는 데이터 전달 상호접속은 10ns의 비트-시간을 가질 것이다. 즉, 이 예에서, 한 비트의 데이터가 10ns 마다 상기 데이터 전달 상호접속의 1개의 라인을 통해서 전달될 것이다. 이것은 단지 비트-시간의 예시일 뿐이며, 본 발명의 범위는 이에 한정되지 않는다. 또한, 여기서 사용된 바와 같이, 신호와 관련된 용어 "전이(transition)"는 제 1 로직 전압 레벨로부터 제 2 로직 전압 레벨로의 상태의 변화를 표시하는 것이다.
전술한 바와 같이, 데이터 전달 인터페이스에서 데이터 전달 속도가 증가하면서, 다양한 신호들 사이의 노이즈와 타이밍 스큐(skew)와 같은 문제들이 상기 데이터 전달 인터페이스의 잠재적 성능을 제한하는데 있어서 점차 중요한 역할을 한다. 도 1-4와 관련하여 전술한 예시적인 인터페이스와 같은 인터페이스에서, 잠재적인 성능을 제한할 수 있는 한 가지 이슈는 클록 신호와 관련된 데이터 라인 사이 의 타이밍 스큐이다. 이 시간 스큐는 다수의 요인들 중 어떤 것에 기인할 수 있는데, 예를 들면 인쇄회로기판에서 다양한 신호들에 대한 상이한 전기적 추적 길이, 상기 전송장치와 수신장치를 연결하는 전기적 접속의 전기적 특성의 변화, 상기 다양한 신호에 대한 상기 전송장치에서의 구동 세기의 변화 등이다. 하나 이상의 데이터 라인과 클록 신호 사이의 타이밍 스큐는 언제 상기 수신장치가 상기 데이터를 샘플링할지에 영향을 미칠 수 있다. 이상적으로, 수신장치는 최적의 셋업 및 홀드(hold) 시간을 제공하는 시점에서 상기 데이터 라인을 샘플링할 것이다. 상기 데이터 라인과 상기 클록 신호 사이의 타이밍 스큐로 인해서 상기 수신장치는 대략 최적의 시점에서 상기 데이터 라인을 샘플링하지 못한다.
여기서 설명된 예시적인 실시 형태들에서, 수신장치는 스트로브 신호의 상승 에지에 대응하여 데이터를 래치하지만, 본 발명의 범위는 이에 한정되지 않는다. 다른 실시 형태에 있어서, 데이터는 스트로브 신호의 상승 및 하강 에지 모두에 대응하여 래치될 수 있다. 일 실시 형태에서, GPU(110)와 메모리장치(120) 사이의 인터페이스는 DDR(Double Data Rate) 메모리 인터페이스를 포함할 수 있다. 이와 같은 실시 형태에서, 스트로브 신호의 매 주기 동안, 2개의 데이터 전이가 일어난다. 스트로브 신호의 상승 및 하강 에지 모두에 대응해서 데이터가 래치되는 DDR과 다른 인터페이스에서, 상기 스트로브 신호의 듀티 사이클에서의 변화 때문에 추가적인 타이밍 문제들이 일어날 수 있다.
도 5는 하나 이상의 기록 데이터 라인(215)과 기록 데이터 스트로브 신호(817) 사이의 예시적인 타이밍 관계를 도시하는 타이밍도이다. 전술한 바와 같 이, 기록 데이터 스트로브(817)는 클록신호를 분할함으로써 적어도 부분적으로 상기 수신장치 내에서 생성될 수 있지만, 본 발명의 범위는 이에 한정되지 않는다. 이 도면은 예시적인 교정 조작을 도시한다. 이 예에서, GPU(110)는 상기 기록 데이터 신호(215)를 대략 1/2 비트-시간만큼 지연시킬 것이다. 그 결과, 메모리장치(120)는 상기 데이터 스트로브의 상승 에지가 일어나는 대략 동일한 시간, 예컨대 도 5에 도시된 시간(510)에 상기 기록 데이터 신호에 대한 전이를 수신할 것이다. 그러나, 이것은 단지 하나 이상의 데이터 라인과 스트로브 신호 사이의 예시적인 관계일 뿐이며, 본 발명의 범위는 이에 한정되지 않는다.
도 6은 하나 이상의 기록 데이터 라인(215)과, 메모리 장치(120)와 같은 수신장치에서 수신되거나 또는 수신장치에 의해 생성된 기록 데이터 스트로브 신호(817) 사이의 예시적인 타이밍 관계를 도시하는 타이밍도이다. 이 도면은 예시적인 교정 조작을 도시한다. 이 예에서, GPU(110)는 대략 1/2 비트-시간만큼 기록 데이터 신호(215)를 지연시킬 수 있다. 이 예에 있어서, 메모리 장치(120)와 같은 수신장치는 상기 데이터 스트로브의 상승 에지에 맞추어 데이터를 래치시킬 수 있다. 또한 이 예에서, GPU(110)는 2개의 연속적인 비트-시간 동안 2개의 교정 테스트 값을 출력할 수 있다. 이 예에서 상기 테스트 값은 "A"와 "B"로 표시된다. 이 예시적인 타이밍도에서, 시간(610)에, 기록 데이터 스트로브(817)는 논리 로우 레벨에서 논리 하이 레벨로(상승 에지) 전이한다. 그 결과, 이 예에서, 시간(610)에 라인(215)에 있는 테스트 값은 B이다. 테스트 값 B는 GPU(110)에 반환될 것이고, 데이터 스트로브(817)의 상승 에지에서 샘플된 테스트 값에 대응하여 데이터 라 인(215)의 타이밍에 대해 조정이 이루어질 것이다. 이 예에서, 상기 2개의 테스트 값 중에서 두 번째가 메모리 장치(120)에 의해 샘플되었기 때문에, GPU(110)는 데이터 라인(215)의 타이밍을 진행시키며 그리하여 정상적 동작(상기 데이터 라인이 1/2 비트-시간만큼 지연되지 않는 경우) 동안 데이터 스트로브(817)의 상승 에지는 상기 비트-시간의 중간에 더욱 가깝게 일어나게 되며, 따라서 데이터 라인(215)에 대해 최적의 셋업 및 홀드 시간을 보장하는 것을 도와준다.
도 7은 하나 이상의 기록 데이터 라인(215)과, 메모리 장치(120)와 같은 수신장치에서 수신되거나 또는 수신장치에 의해 생성된 기록 데이터 스트로브 신호(817) 사이의 예시적인 타이밍 관계를 도시하는 타이밍도이다. 이 도면은 예시적인 교정 조작을 도시한다. 이 예에서, GPU(110)는 대략 1/2 비트-시간만큼 기록 데이터 신호(215)를 지연시킬 수 있다. 이 예에 있어서, 메모리 장치(120)와 같은 수신장치는 상기 데이터 스트로브의 상승 에지에 맞추어 데이터를 래치시킬 수 있다. 또한 이 예에서, GPU(110)는 2개의 연속적인 비트-시간 동안 2개의 교정 테스트 값을 출력할 수 있다. 이 예에서 상기 테스트 값은 "A"와 "B"로 표시된다. 이 예시적인 타이밍도에서, 시간(710)에, 기록 데이터 스트로브(817)는 논리 로우(low) 레벨에서 논리 하이(high) 레벨(상승 에지)로 변화한다. 그 결과, 라인(215)상의 교정 테스트 값은 메모리 장치(120)에 의해 샘플된다. 이 예에서, 시간(710)에 라인(215)에 있는 테스트 값은 A이다. 테스트 값 A는 GPU(110)에 반환될 것이고, 데이터 스트로브(817)의 상승 에지에서 샘플된 테스트 값에 대응하여 데이터 라인(215)의 타이밍에 대해 조정이 이루어질 것이다. 이 예에서, 상기 2개 의 테스트 값 중에서 첫 번째가 메모리 장치(120)에 의해 샘플되었기 때문에, GPU(110)는 데이터 라인(215)의 타이밍을 지연시키며 그리하여 정상적 동작(상기 데이터 라인이 1/2 비트-시간만큼 지연되지 않는 경우) 동안 데이터 스트로브(817)의 상승 에지는 상기 비트-시간의 중간에 더욱 가깝게 일어나게 되며, 따라서 데이터 라인(215)에 대해 최적의 셋업 및 홀드 시간을 보장하는 것을 도와준다.
도 8은 교정 테스트 데이터 레지스터(820)를 포함하는 회로(800)의 예시적인 실시 형태의 개략도이다. 상기 회로(800)의 예시적인 실시 형태는, 하나의 실시 형태인 메모리 장치(120)와 같이, 데이터 전달 인터페이스에 접속된 수신장치 및/또는 유닛에 포함될 수 있다.
회로(800)는 기록 데이터 신호(215)와 기준 전압 신호(801)를 수신할 수 있는 비교기(810)를 포함할 수 있다. 만일 기록 데이터(215)의 전압 레벨이 VRef(801)를 초과하면, 비교기(810)는 그 출력을 논리 하이 전압 레벨로 구동한다. 만일 기록 데이터(215)의 전압 레벨이 VRef(801)보다 낮으면 비교기(810)은 그 출력을 논리 로우 전압 레벨로 구동한다. 비교기(810)의 출력은 플립-플롭(850)에 연결된다. 이 예시적인 실시 형태는 싱글-엔드형(single-ended) 시그널링을 생각하지만, 본 발명의 범위는 이에 한정되지 않는다. 예를 들면, 차동 시그널링(differential signaling)을 사용하는 다른 실시 형태들이 있을 수 있다. 일부 실시 형태에서는, 차동 시그널링이 상기 데이터 라인 및/또는 클록 신호에 대해서 사용될 수 있다.
또한 기록 데이터 스트로브 생성 유닛(830)도 예시적인 회로(800)에 포함된 다. 클록 신호(217)는 회로(800)에서 수신된다. 기록 데이터 스트로브 생성회로(830)는 한 예시적인 실시 형태에서 클록 신호(217)를 분할하여 기록 데이터 스트로브(817)를 생성하는 PLL 회로를 포함할 수 있다. 일 실시 형태에서, 클록 신호(217)는 500MHz의 주파수를 가질 수 있으며 기록 데이터 스트로브(817)는 4GHz의 주파수를 가질 수 있다.
플립-플롭(850)은 이 예시적인 실시 형태에서 기록 데이터 스트로브(817)의 상승 에지에 대응해서 그 입력에서 데이터를 래치한다. 플립-플롭(850)의 출력은수신장치 내의 다른 회로 예를 들어 코어 로직 유닛에 접속되지만, 본 발명의 범위는 이에 한정되지 않는다. 일 실시 형태에서, 플립-플롭(850)의 출력은 교정 기록 데이터 레지스터(820)에 접속되지만, 역시 본 발명의 범위는 이에 한정되지 않는다.
교정 기록 데이터 레지스터(820)는 교정 기록 데이터를 저장하여, 상기 데이터가 GPU(110)에 이용 가능하도록 한다. 다른 실시 형태에서, 플립-플롭(850)의 출력은 레지스터나 다른 저장 회로에 그것을 먼저 저장하지 않고 즉시 GPU(110)에 전송된다.
도 8은 단일의 데이터 라인(215)을 수신하는 회로(800)를 도시하고 있지만, 데이터 스트로브 신호 및/또는 클록 신호가 복수의 데이터 라인에 관련된 경우의 다른 실시 형태들이 있을 수 있다. 일 실시 형태에서, 하나의 데이터 스트로브 신호는 8개의 데이터 라인과 관련된다. 다른 실시 형태에서, 하나의 데이터 스트로브 신호는 9개의 데이터 라인과 관련될 수 있다. 물론, 이것들은 단지 데이터 스 트로브 신호와 관련될 수 있는 데이터 라인의 수의 단지 예시일 뿐이며, 본 발명의 범위는 이에 한정되지 않는다.
회로(800)는 구체적인 회로의 구성에 의해 도시되었지만, 소자, 및/또는 유닛들, 다른 배치 및/또는 구성들이 있을 수 있다. 본 발명의 범위는 예시적인 회로(800)와 관련하여 설명된 구체적인 실시 형태에 한정되지 않는다.
도 9는 데이터 인터페이스 교정을 위한 방법의 예시적인 실시 형태의 흐름도이다. 블록(910)에서, 하나 이상의 데이터 신호의 타이밍이 한 비트-시간의 대략 절반만큼 바뀐다. 이 예에서, 타이밍을 바꾸는 것은 상기 하나 이상의 데이터 신호를 지연시키는 것을 포함할 수 있다. 다른 실시 형태에서, 상기 하나 이상의 데이터 신호는 상기 타이밍을 바꾸기 위해서 진행될 수 있다. 블록(920)에서, 교정 테스트 데이터는 상기 하나 이상의 데이터 신호를 사용하여 수신장치에 쓰여진다. 블록(930)에서, 테스트 값이 상기 수신장치로부터 판독된다. 블록(940)에서, 상기 하나 이상의 데이터 신호의 타이밍은 적어도 부분적으로 상기 수신장치로부터 반환된 판독된 데이터의 값에 따라서 클록신호와 관련하여 조정된다. 본 발명에 따른 실시 형태는 블록(910-940)의 전부, 그 이상 또는 그 이하를 포함할 수 있다. 또한, 블록(910-940)의 크기는 단지 하나의 예이며, 본 발명의 범위는 이에 한정되지 않는다.
도 10은 데이터 인터페이스 교정을 위한 방법의 예시적인 실시형태의 흐름도이다. 블록(1010)에서, 하나 이상의 데이터 신호가 한 비트-시간의 대략 1/2만큼 지연된다. 블록(1020)에서, 제 1 테스트 값이 제 1 비트-시간 동안에 수신장치에 출력되고 제 2 테스트 값이 제 2 비트-시간 동안에 출력된다. 블록(1030)에서, 테스트 값이 수신장치로부터 판독된다. 블록(1040)에서, 상기 수신장치로부터 반환된 테스트 값이 상기 제 1 테스트 값과 일치하는지 여부에 대한 판정이 이루어진다. 만일 상기 수신장치로부터 반환된 테스트 값이 상기 제 1 테스트 값과 일치하면, 상기 하나 이상의 데이터 신호의 타이밍은 블록(1050)에서 진행된다. 만일 상기 수신장치로부터 반환된 테스트 값이 상기 제 1 테스트 값과 일치하지 않으면, 상기 하나 이상의 데이터 신호의 타이밍은 블록(1060)에서 지연된다. 본 발명에 따른 실시 형태는 블록(1010-1060)의 모두, 그 이상 또는 그 이하의 블록을 포함할 수 있다.
도 11은 컴퓨팅 플랫폼(1100)의 예시적인 실시 형태의 블록도이다. 컴퓨팅 플랫폼(1100)은 CPU(1110)와 이와 연결된 메모리 제어기 허브(1120)를 포함한다. 메모리 제어기 허브(1120)는 시스템 메모리(1130), GPU(1150), 입출력 허브(1140)에 추가로 연결된다. GPU(1150)는 디스플레이 장치(1160)에 추가로 연결되고, 디스플레이 장치(1160)는 CRT 디스플레이, 평판 LCD 디스플레이, 또는 다른 유형의 디스플레이 장치를 포함할 수 있다. 이 예시적인 실시 형태에서, 그래픽 메모리(1170)는 병렬 데이터 인터페이스를 통해 GPU(1150)에 연결될 수 있다. GPU(1150)는 도 3과 관련해서 전술한 것과 유사한 회로를 포함할 수 있다.
예시적인 플랫폼(1100)이 그래픽 메모리(1170)와 GPU(1150) 사이의 병렬 데이터 인터페이스에 의해 설명되었지만, 다른 실시 형태들도 상기 플랫폼 내의 다른 소자들 사이에 병렬 데이터 인터페이스를 포함할 수 있다. 또한, 전술한 교정 실 시 형태들은 어떤 광범위한 범위의 컴퓨팅 플랫폼 소자 및/또는 장치들에 포함될 수 있다. 즉, 어떤 컴퓨팅 플랫폼(1100) 소자라도 여기서 설명된 예시적인 전송 및 수신장치를 포함할 수 있다. 또한, 여기서 설명된 데이터 전달 인터페이스는 컴퓨팅 플랫폼에서 다양한 소자들을 연결하는데 사용되지만, 다른 실시 형태들은 칩 내의 데이터 전달에 사용되는 데이터 전달 인터페이스를 포함할 수 있고, 더 나아가 패키지를 공유하는 상이한 집적회로 다이스(dice) 사이에 데이터 전달을 포함하는 다른 실시 형태가 있을 수 있다.
구체적인 구성의 소자를 갖는 예시적인 시스템(1100)이 도시되었지만, 어떤 광범위한 구성이라도 사용하는 다른 실시 형태들이 있을 수 있다. 또한, 여기서 설명된 예시적인 실시 형태들은 컴퓨팅 플랫폼, 게임 콘솔 및 장치, 셀룰러 폰, PDA, 뮤직 플레이어, 통신 네트워크 소자 등을 포함하는 광범위한 전자장치들 중 어느 것에서도 사용될 수 있지만, 상기 열거한 것에 한정되지는 않는다.
이상과 같이 본 발명의 다양한 측면들이 설명되었다. 설명을 위해서, 시스템들과 구성들은 본 발명의 완전한 이해를 제공하도록 개시되었다. 그러나, 구체적인 사항들 없이도 본 명세서의 개시를 통해 당해 기술분야의 숙련자가 본 발명을 실시할 수 있음은 명백하다. 다른 경우에, 본 발명을 모호하게 하지 않도록 하기 위해서 잘 알려진 특징들은 생략되고 및/또는 간략화되었다. 특정 특징들이 본 명세서에서 설명되고 및/또는 예시되었지만, 다수의 변형, 대체, 변경 및/또는 등가물이 당해 기술분야의 숙련자에게 도출될 수 있을 것이다. 따라서, 첨부된 청구항들은 본 발명의 사상에 포함되는 이와 같은 변경 및/또는 변형들을 포함하는 것으 로 보아야 할 것이다.
본 발명에 의하면, 컴퓨팅 플랫폼의 소자 사이의 인터페이스 및/또는 집적회로 내의 유닛 사이의 인터페이스와 같은 고속 전송속도 및/또는 버스 폭이 증가된 환경에서 효과적으로 데이터 전달을 수행할 수 있다.

Claims (25)

  1. 수신장치가 대략적으로 제1 비트-시간대(bit time period)와 제2 비트-시간대(bit time period) 간의 전이(transition)시에 교정 테스트 데이터(calibration test data)를 래치(latch)하기 위해 클록 신호와 관련하여 하나 이상의 데이터 신호의 타이밍을 설정 가능한 타이밍 양만큼 변경하는 단계;
    상기 하나 이상의 데이터 신호를 사용하여 상기 교정 테스트 데이터를 상기 수신장치에 기록하는(write) 단계;
    상기 수신장치로부터 테스트 값을 판독하는(read) 단계; 및
    상기 수신장치로부터 반환된 상기 테스트 값의 적어도 일부분에 따라 상기 클록 신호와 관련하여 상기 하나 이상의 데이터 신호의 타이밍을 조정하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 클록 신호와 관련하여 상기 하나 이상의 데이터 신호의 타이밍을 설정 가능한 타이밍 양만큼 변경하는 단계는 상기 하나 이상의 데이터 신호를 약 1/2 비트-시간(bit time)만큼 지연시키는 단계를 포함하는, 방법.
  3. 제1항에 있어서,
    상기 클록 신호와 관련하여 상기 하나 이상의 데이터 신호의 타이밍을 설정 가능한 타이밍 양만큼 변경하는 단계는 상기 하나 이상의 데이터 신호를 약 1/2 비트-시간만큼 진행시키는(advance) 단계를 포함하는, 방법.
  4. 제1항에 있어서,
    상기 교정 테스트 데이터를 상기 수신장치에 기록하는 단계는 상기 제1 비트-시간대 동안 제1 테스트 값을 기록하고 상기 제2 비트-시간대 동안 제2 테스트 값을 기록하는 단계를 포함하는, 방법.
  5. 제4항에 있어서,
    상기 클록 신호와 관련하여 상기 하나 이상의 데이터 신호의 타이밍을 조정하는 단계는 상기 수신장치로부터 반환된 상기 테스트 값이 상기 제1 테스트 값과 일치하는 경우 상기 하나 이상의 데이터 신호를 진행시키는 단계를 포함하는, 방법.
  6. 제4항에 있어서,
    상기 클록 신호와 관련하여 상기 하나 이상의 데이터 신호의 타이밍을 조정하는 단계는 상기 수신장치로부터 반환된 상기 테스트 값이 상기 제2 테스트 값과 일치하는 경우 상기 하나 이상의 데이터 신호를 지연시키는 단계를 포함하는, 방법.
  7. 제1항에 있어서,
    상기 수신장치로부터 상기 테스트 값을 판독하는 단계는 상기 수신장치 내의 교정 테스트 값 버퍼(calibration test value buffer)로부터 상기 테스트 값을 판독하는 단계를 포함하는, 방법.
  8. 제1항에 있어서,
    상기 수신장치로부터 상기 테스트 값을 판독하는 단계는 상기 수신장치 내의 코어 로직 유닛(core logic unit)으로부터 상기 테스트 값을 판독하는 단계를 포함하는, 방법.
  9. 수신장치가 대략적으로 제1 비트-시간대와 제2 비트-시간대 간의 전이시에 교정 테스트 데이터를 래치하기 위해 클록 신호와 관련하여 하나 이상의 데이터 신호의 타이밍을 설정 가능한 타이밍 양만큼 변경하는 데이터 신호 지연 유닛(data signal delay unit); 및
    상기 하나 이상의 데이터 신호를 사용하여 상기 교정 테스트 데이터를 상기 수신장치에 기록하고, 또한 상기 수신장치로부터 반환된 테스트 값의 적어도 일부분에 따라 상기 클록 신호와 관련하여 상기 하나 이상의 데이터 신호의 타이밍을 조정하는 교정 제어 유닛(calibration control unit)
    을 포함하는 장치.
  10. 제9항에 있어서,
    상기 데이터 신호 지연 유닛은 상기 하나 이상의 데이터 신호를 약 1/2 비트-시간만큼 지연시킴으로써 상기 하나 이상의 데이터 신호의 타이밍을 설정 가능한 타이밍 양만큼 변경하는, 장치.
  11. 제9항에 있어서,
    상기 데이터 신호 지연 유닛은 상기 하나 이상의 데이터 신호를 약 1/2 비트-시간만큼 진행시킴으로써 상기 하나 이상의 데이터 신호의 타이밍을 설정 가능한 타이밍 양만큼 변경하는, 장치.
  12. 제9항에 있어서,
    상기 교정 제어 유닛은 상기 제1 비트-시간대 동안 제1 테스트 값을 기록하고 상기 제2 비트-시간대 동안 제2 테스트 값을 기록함으로써 상기 교정 테스트 데이터를 상기 수신장치에 기록하는, 장치.
  13. 제12항에 있어서,
    상기 교정 제어 유닛은 상기 수신장치로부터 반환된 상기 테스트 값이 상기 제1 테스트 값과 일치하는 경우 상기 하나 이상의 데이터 신호를 진행시킴으로써 상기 클록 신호와 관련하여 상기 하나 이상의 데이터 신호의 타이밍을 조정하는, 장치.
  14. 제12항에 있어서,
    상기 교정 제어 유닛은 상기 수신장치로부터 반환된 상기 테스트 값이 상기 제2 테스트 값과 일치하는 경우 상기 하나 이상의 데이터 신호를 지연시킴으로써 상기 클록 신호와 관련하여 상기 하나 이상의 데이터 신호의 타이밍을 조정하는, 장치.
  15. 수신장치가 대략적으로 제1 비트-시간대와 제2 비트-시간대 간의 전이시에 교정 테스트 데이터를 래치하기 위해 클록 신호와 관련하여 하나 이상의 데이터 신호의 타이밍을 설정 가능한 타이밍 양만큼 변경하는 수단;
    상기 하나 이상의 데이터 신호를 사용하여 상기 교정 테스트 데이터를 상기 수신장치에 기록하는 수단;
    상기 수신장치로부터 테스트 값을 판독하는 수단; 및
    상기 수신장치로부터 반환된 상기 테스트 값의 적어도 일부분에 따라 상기 클록 신호와 관련하여 상기 하나 이상의 데이터 신호의 타이밍을 조정하는 수단
    을 포함하는 장치.
  16. 제15항에 있어서,
    상기 클록 신호와 관련하여 상기 하나 이상의 데이터 신호의 타이밍을 설정 가능한 타이밍 양만큼 변경하는 수단은 상기 하나 이상의 데이터 신호를 약 1/2 비트-시간만큼 지연시키는 수단을 포함하는, 장치.
  17. 제15항에 있어서,
    상기 클록 신호와 관련하여 상기 하나 이상의 데이터 신호의 타이밍을 설정 가능한 타이밍 양만큼 변경하는 수단은 상기 하나 이상의 데이터 신호를 약 1/2 비트-시간만큼 진행시키는 수단을 포함하는, 장치.
  18. 제15항에 있어서,
    상기 교정 테스트 데이터를 상기 수신장치에 기록하는 수단은 상기 제1 비트-시간대 동안 제1 테스트 값을 기록하는 수단 및 상기 제2 비트-시간대 동안 제2 테스트 값을 기록하는 수단을 포함하는, 장치.
  19. 제18항에 있어서,
    상기 클록 신호와 관련하여 상기 하나 이상의 데이터 신호의 타이밍을 조정하는 수단은 상기 수신장치로부터 반환된 상기 테스트 값이 상기 제1 테스트 값과 일치하는 경우 상기 하나 이상의 데이터 신호를 진행시키는 수단을 포함하는, 장치.
  20. 제18항에 있어서,
    상기 클록 신호와 관련하여 상기 하나 이상의 데이터 신호의 타이밍을 조정하는 수단은 상기 수신장치로부터 반환된 상기 테스트 값이 상기 제2 테스트 값과 일치하는 경우 상기 하나 이상의 데이터 신호를 지연시키는 수단을 포함하는, 장치.
  21. 클록 신호와 관련하여 하나 이상의 데이터 신호의 타이밍을 설정 가능한 타이밍 양만큼 변경하는 데이터 신호 지연 유닛, 및 상기 하나 이상의 데이터 신호를 사용하여 교정 테스트 데이터를 기록하는 교정 제어 유닛을 포함하는 전송장치; 및
    상기 전송장치에 연결된 수신장치
    를 포함하며,
    상기 수신장치는 상기 전송장치에 의해 전송된 상기 교정 테스트 데이터를 수신하고, 상기 전송장치는 대략적으로 상기 수신장치가 제1 비트-시간대와 제2 비트-시간대 간의 전이시에 상기 교정 테스트 데이터를 래치하게 하며, 상기 수신장치는 테스트 값을 상기 전송장치로 반환하고, 상기 교정 제어 유닛은 상기 수신장치로부터 반환된 상기 테스트 값의 적어도 일부분에 따라 상기 클록 신호와 관련하여 상기 하나 이상의 데이터 신호의 타이밍을 조정하는, 시스템.
  22. 제21항에 있어서,
    상기 데이터 신호 지연 유닛은 상기 하나 이상의 데이터 신호를 약 1/2 비트-시간만큼 조정함으로써 상기 하나 이상의 데이터 신호의 타이밍을 설정 가능한 타이밍 양만큼 변경하는, 시스템.
  23. 제21항에 있어서,
    상기 교정 제어 유닛은 상기 제1 비트-시간대 동안 제1 테스트 값을 기록하고 상기 제2 비트-시간대 동안 제2 테스트 값을 기록함으로써 상기 교정 테스트 데이터를 상기 수신 장치에 기록하는, 시스템.
  24. 제23항에 있어서,
    상기 교정 제어 유닛은 상기 수신장치로부터 반환된 상기 테스트 값이 상기 제1 테스트 값과 일치하는 경우 상기 하나 이상의 데이터 신호를 진행시킴으로써 상기 클록 신호와 관련하여 상기 하나 이상의 데이터 신호의 타이밍을 조정하는, 시스템.
  25. 제23항에 있어서,
    상기 교정 제어 유닛은 상기 수신장치로부터 반환된 상기 테스트 값이 상기 제2 테스트 값과 일치하는 경우 상기 하나 이상의 데이터 신호를 지연시킴으로써 상기 클록 신호와 관련하여 상기 하나 이상의 데이터 신호의 타이밍을 조정하는, 시스템.
KR1020070031439A 2006-03-31 2007-03-30 데이터 인터페이스 교정 방법 및 장치 KR100883458B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/394,951 US7603246B2 (en) 2006-03-31 2006-03-31 Data interface calibration
US11/394,951 2006-03-31

Publications (2)

Publication Number Publication Date
KR20070098713A KR20070098713A (ko) 2007-10-05
KR100883458B1 true KR100883458B1 (ko) 2009-02-16

Family

ID=38576499

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070031439A KR100883458B1 (ko) 2006-03-31 2007-03-30 데이터 인터페이스 교정 방법 및 장치

Country Status (5)

Country Link
US (1) US7603246B2 (ko)
JP (1) JP4651636B2 (ko)
KR (1) KR100883458B1 (ko)
CN (1) CN101051300B (ko)
TW (1) TWI402680B (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100891326B1 (ko) * 2006-07-31 2009-03-31 삼성전자주식회사 반도체 메모리 장치의 내부 클럭 신호를 데이터 스트로브신호로서 이용하는 반도체 메모리 장치의 테스트 방법 및테스트 시스템
KR100890388B1 (ko) 2007-11-02 2009-03-26 주식회사 하이닉스반도체 클록 데이터 복구 방법, 클록 데이터 복구 회로를 구비한 반도체 메모리 장치 및 그를 구비하는 시스템
JP2010086246A (ja) * 2008-09-30 2010-04-15 Nec Electronics Corp メモリインターフェース及びメモリインターフェースの動作方法
JP5476704B2 (ja) * 2008-11-12 2014-04-23 セイコーエプソン株式会社 電子機器、及び印刷装置
US8898511B2 (en) 2010-06-24 2014-11-25 International Business Machines Corporation Homogeneous recovery in a redundant memory system
US8631271B2 (en) * 2010-06-24 2014-01-14 International Business Machines Corporation Heterogeneous recovery in a redundant memory system
JP2012247319A (ja) * 2011-05-27 2012-12-13 Advantest Corp 試験装置および試験方法
US8588014B1 (en) 2011-05-31 2013-11-19 Altera Corporation Methods for memory interface calibration
US8565033B1 (en) 2011-05-31 2013-10-22 Altera Corporation Methods for calibrating memory interface circuitry
US8897084B2 (en) * 2011-09-08 2014-11-25 Apple Inc. Dynamic data strobe detection
US8565034B1 (en) 2011-09-30 2013-10-22 Altera Corporation Variation compensation circuitry for memory interface
US8898504B2 (en) * 2011-12-14 2014-11-25 International Business Machines Corporation Parallel data communications mechanism having reduced power continuously calibrated lines
US9911470B2 (en) 2011-12-15 2018-03-06 Nvidia Corporation Fast-bypass memory circuit
US9411750B2 (en) 2012-07-30 2016-08-09 International Business Machines Corporation Efficient calibration of a low power parallel data communications channel
CN103632712A (zh) 2012-08-27 2014-03-12 辉达公司 存储单元和存储器
US9685207B2 (en) * 2012-12-04 2017-06-20 Nvidia Corporation Sequential access memory with master-slave latch pairs and method of operating
US9281817B2 (en) 2012-12-31 2016-03-08 Nvidia Corporation Power conservation using gray-coded address sequencing
US9401189B1 (en) 2013-03-15 2016-07-26 Altera Corporation Methods and apparatus for performing runtime data eye monitoring and continuous data strobe calibration
US10141930B2 (en) 2013-06-04 2018-11-27 Nvidia Corporation Three state latch
US9767868B2 (en) * 2014-01-24 2017-09-19 Qualcomm Incorporated Providing memory training of dynamic random access memory (DRAM) systems using port-to-port loopbacks, and related methods, systems, and apparatuses
US9474034B1 (en) 2015-11-30 2016-10-18 International Business Machines Corporation Power reduction in a parallel data communications interface using clock resynchronization
US10649849B2 (en) * 2017-07-14 2020-05-12 Samsung Electronics Co., Ltd. Memory device including detection clock pattern generator for generating detection clock output signal including random data pattern
CN117056269B (zh) * 2023-10-11 2024-02-09 芯耀辉科技有限公司 用于并行接口连接的数据对齐方法、计算机设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6316980B1 (en) 2000-06-30 2001-11-13 Intel Corporation Calibrating data strobe signal using adjustable delays with feedback
KR20040074982A (ko) * 2001-11-08 2004-08-26 주식회사 아도반테스토 시험장치
KR20050076202A (ko) * 2004-01-20 2005-07-26 삼성전자주식회사 지연 신호 발생 회로 및 이를 포함한 메모리 시스템
JP2006085650A (ja) 2004-09-17 2006-03-30 Fujitsu Ltd 情報処理回路および情報処理方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3262033B2 (ja) * 1997-07-31 2002-03-04 日本電気株式会社 半導体記憶装置
JP3807593B2 (ja) * 2000-07-24 2006-08-09 株式会社ルネサステクノロジ クロック生成回路および制御方法並びに半導体記憶装置
US6874097B1 (en) * 2001-06-01 2005-03-29 Maxtor Corporation Timing skew compensation technique for parallel data channels
JP2003152745A (ja) * 2001-11-12 2003-05-23 Advanced Telecommunication Research Institute International データ伝送システム、送信装置及び受信装置
JP2003330881A (ja) * 2002-05-15 2003-11-21 Matsushita Electric Ind Co Ltd データ転送システム及びその信号タイミング補正方法
US6934867B2 (en) * 2002-05-17 2005-08-23 International Business Machines Corporation Digital system having a multiplicity of self-calibrating interfaces
JP4451189B2 (ja) * 2004-04-05 2010-04-14 株式会社アドバンテスト 試験装置、位相調整方法、及びメモリコントローラ
TWI242119B (en) * 2004-05-12 2005-10-21 Mediatek Inc Signal detection apparatus and method thereof
US20060253663A1 (en) * 2005-05-06 2006-11-09 Micron Technology, Inc. Memory device and method having a data bypass path to allow rapid testing and calibration
CN100377124C (zh) * 2005-05-09 2008-03-26 威盛电子股份有限公司 校准芯片间信号驱动参数的方法与相关装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6316980B1 (en) 2000-06-30 2001-11-13 Intel Corporation Calibrating data strobe signal using adjustable delays with feedback
KR20040074982A (ko) * 2001-11-08 2004-08-26 주식회사 아도반테스토 시험장치
KR20050076202A (ko) * 2004-01-20 2005-07-26 삼성전자주식회사 지연 신호 발생 회로 및 이를 포함한 메모리 시스템
JP2006085650A (ja) 2004-09-17 2006-03-30 Fujitsu Ltd 情報処理回路および情報処理方法

Also Published As

Publication number Publication date
CN101051300A (zh) 2007-10-10
TW200817918A (en) 2008-04-16
US7603246B2 (en) 2009-10-13
CN101051300B (zh) 2010-11-03
JP2007305112A (ja) 2007-11-22
JP4651636B2 (ja) 2011-03-16
US20070239379A1 (en) 2007-10-11
TWI402680B (zh) 2013-07-21
KR20070098713A (ko) 2007-10-05

Similar Documents

Publication Publication Date Title
KR100883458B1 (ko) 데이터 인터페이스 교정 방법 및 장치
US8644096B2 (en) Command paths, apparatuses, memories, and methods for providing internal commands to a data path
USRE46819E1 (en) Synchronous memory read data capture
US8207976B2 (en) Circuit
KR101653035B1 (ko) 데이터 블록에 명령을 제공하기 위한 명령 경로, 장치, 및 방법
US7590008B1 (en) PVT compensated auto-calibration scheme for DDR3
US7385861B1 (en) Synchronization circuit for DDR IO interface
US7755402B1 (en) Calibration of separate delay effects for multiple data strobe signals
US8938578B2 (en) Memory device with multi-mode deserializer
US9601170B1 (en) Apparatuses and methods for adjusting a delay of a command signal path
JP2007317016A (ja) インタフェース回路及びメモリ制御装置
US9620196B2 (en) Reception circuit, method for adjusting timing in reception circuit, and semiconductor device
US11146275B2 (en) Signal generation circuit and a semiconductor apparatus using the signal generation circuit
US7178048B2 (en) System and method for signal synchronization based on plural clock signals
KR100929831B1 (ko) 고속의 데이터 입출력을 위한 반도체 메모리 장치
US7185216B1 (en) System for synchronizing first and second sections of data to opposing polarity edges of a clock
Charagulla et al. DesignCon East 2004
BANDWIDTH DDR-SDRAM, high-speed, source-synchronous interfaces create design challenges

Legal Events

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

Payment date: 20130117

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140121

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150116

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160201

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190207

Year of fee payment: 11