KR100675898B1 - 데이터 트레이닝회로 - Google Patents

데이터 트레이닝회로 Download PDF

Info

Publication number
KR100675898B1
KR100675898B1 KR20060016968A KR20060016968A KR100675898B1 KR 100675898 B1 KR100675898 B1 KR 100675898B1 KR 20060016968 A KR20060016968 A KR 20060016968A KR 20060016968 A KR20060016968 A KR 20060016968A KR 100675898 B1 KR100675898 B1 KR 100675898B1
Authority
KR
Grant status
Grant
Patent type
Prior art keywords
data
signal
delay
flip
plurality
Prior art date
Application number
KR20060016968A
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
Grant date

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1063Control signal output circuits, e.g. status or busy flags, feedback command signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders

Abstract

본 발명은 데이터를 수신하는 제 1 수신부와; 소정 어드레스신호를 입력받아 이를 디코딩하여, 소정 제 1 주기로 레벨천이되는 주기신호와, 데이터를 선택하기 위한 데이터 선택신호를 출력하는 디코더와; 상기 데이터 선택신호에 응답하여 인에이블되며, 상기 주기신호에 응답하여 상기 데이터의 지연구간을 제어하는 지연제어신호와, 복수의 위상혼합제어신호를 출력하는 제어부와; 상기 제 1 수신부로부터 출력되는 데이터를 제 1 지연구간만큼 지연시켜 제 1 지연데이터를 출력하는 제 1 지연부와; 상기 제 1 수신부로부터 출력되는 데이터를 제 2 지연구간만큼 지연시켜 제 2 지연데이터를 출력하는 제 2 지연부와; 상기 지연제어신호의 입력에 응답하여, 상기 제 1 지연부에 의한 제 1 지연구간과 상기 제 2 지연부에 의한 제 2 지연구간을 조절하는 지연제어부와; 상기 제 1 지연데이터와 제 2 지연데이터를 입력받고, 상기 복수의 위상혼합제어신호의 조합에 의해 결정되는 혼합비에 따라 상기 제 1 지연데이터와 제 2 지연데이터의 위상을 혼합하는 위상혼합기를 포함하여 구성되는 데이터 트레이닝회로에 관한 것이다.

Description

데이터 트레이닝회로{Data Training Circuit}

도 1은 종래 기술에 의한 데이터 트레이닝 회로의 구성을 도시한 것이다.

도 2는 본 발명에 의한 일 실시예에 따른 데이터 트레이닝 회로의 구성을 도시한 것이다.

도 3은 본 실시예에 따른 데이터 트레이닝회로에 포함된 제어부의 구성을 도시한 것이다.

도 4는 본 실시예에 따른 데이터 트레이닝 회로에 포함된 지연제어부의 구성을 도시한 것이다.

도 5는 본 실시예에 따른 데이터 트레이닝 회로에 포함된 위상혼합기의 구성을 도시한 것이다.

도 6a와 도 6b는 본 실시예에 따른 데이터 트레이닝회로에 포함된 위상혼합기의 동작을 설명하기 위한 타이밍도이다.

도 7은 본 실시예에 따른 데이터 트레이닝 회로에서 각 지연스텝에 대하여 데이터가 지연되는 양을 시뮬레이션한 결과이다.

본 발명은 데이터 트레이닝회로에 관한 것으로, 더욱 구체적으로는 반도체 장치에서 칩셋과 메모리 장치 간의 데이터 채널, 메모리 장치 내부의 신호 루트 등의 요인에 의해 발생되는 데이터 스큐(skew)에도 불구하고 클럭(데이터 스트로브신호)에 대한 데이터의 셋업타임과 홀드타임을 최적화하여 조절 및 제어할 수 있는 데이터 트레이닝회로에 관한 것이다.

반도체 장치는 소정 입력 데이터를 인가받아 그 셋업/홀드 타임을 조정하기 위한 데이터 트레이닝회로를 포함하고 있다. 이러한 데이터 트레이닝회로는 입력되는 각각의 데이터마다 별도로 구비되어 있어 클럭에 대한 각 데이터의 셋업 타임과 홀드타임이 적정 범위에 위치하도록 제어하는 기능을 수행한다. 여기서, 데이터 트레이닝이라 함은 데이터와 클럭(데이터 스트로브 신호) 간의 셋업타임과 홀드타임을 조절 및 제어하는 작업을 말한다.

이를 위하여 종래의 데이터 트레이닝회로는 도 1에 도시된 바와 같이, 입력 데이터(Din)를 소정 기준전압(vref)과 비교하여 CMOS 레벨로 버퍼링하는 데이터 수신부(10)와, 데이터 수신부(10)로부터 출력되는 데이터를 소정 지연구간만큼 지연시켜 출력하는 지연부(15)와, 데이터 스트로브신호(DQS)를 소정 기준전압(vref)과 비교하여 CMOS 레벨로 버퍼링하는 스트로브 수신부(20)와, 스트로브 수신부(20)로부터 출력되는 스트로브신호를 소정 지연구간만큼 지연시켜 출력하는 지연부(25) 와, 지연부(25)로부터 출력되는 지연스트로브 신호에 동기하여 상기 지연부(15)로부터 출력되는 데이터를 래치하는 래치부(30)를 포함하여 구성된다. 종래 반도체 장치에서는 상기 지연부(15)와 지연부(25)의 지연구간을 적절히 조절하여 데이터의 셋업 타임과 홀드 타임을 조절하였다.

그런데, 상기와 같은 종래의 데이터 트레이닝회로에서는 데이터 핀으로부터 입력되는 각 데이터에 대하여 셋업타임/홀드타임을 아무리 정확하게 맞추어 놓았다고 하더라도, 반도체 장치가 고속동작을 하게 되거나 각 데이터 채널에 스큐(skew)가 발생하게 되는 경우에는 데이터의 셋업타임/홀드타임이 적정 범위를 벗어나는 오류가 발생하는 문제점이 있었다. 즉, 반도체 장치에서는 칩셋과 메모리 장치 간의 데이터 채널, 메모리 장치 내부의 신호 루트 및 와이어 본딩 등에 의해 데이터 스큐가 발생하기 쉬우며, 이 경우 클럭(또는 데이터 스트로브신호)과 데이터 간의 타이밍 마진에 변화가 발생할 수 있다. 또한, 반도체 장치가 고속화됨에 따라 칩셋에서 요구되는 데이터의 셋업타임/홀드타임은 그 만큼 감소하게 되므로, 반도체 장치의 고속화가 심화되면 심화될수록 데이터의 셋업타임과 홀드타임을 맞추기가 점점 더 어려워진다. 그런데, 도 1에 도시된 바와 같은 종래의 데이터 트레이닝회로는 상기와 같은 요인에 대처하여 데이터의 타이밍을 적절히 능동적으로 조절 및 제어하지 못하였기 때문에, 처음에 아무리 데이터의 셋업/홀드 타임을 적정범위로 설정하였다 하더라도 상기 언급한 요인에 의한 데이터와 클럭 간 타이밍 틀어짐에 적절히 대처하지 못하여 데이터의 셋업/홀드 타임과 관련된 오류가 발생하는 문제점이 있었다.

따라서, 본 발명이 이루고자 하는 기술적 과제는 반도체 장치에서 칩셋과 메모리 장치 간의 데이터 채널, 메모리 장치 내부의 신호 루트 및 와이어 본딩 등의 요인에 의해 발생되는 데이터 스큐에도 불구하고 클럭에 대한 데이터의 셋업타임과 홀드타임을 최적화하여 조절 및 제어할 수 있는 데이터 트레이닝회로를 제공하는 데 있다.

상기 기술적 과제를 달성하기 위하여, 본 발명은 데이터를 수신하는 제 1 수신부와; 소정 어드레스신호를 입력받아 이를 디코딩하여, 소정 제 1 주기로 레벨천이되는 주기신호와, 데이터를 선택하기 위한 데이터 선택신호를 출력하는 디코더와; 상기 데이터 선택신호에 응답하여 인에이블되며, 상기 주기신호에 응답하여 상기 데이터의 지연구간을 제어하는 지연제어신호와, 복수의 위상혼합제어신호를 출력하는 제어부와; 상기 제 1 수신부로부터 출력되는 데이터를 제 1 지연구간만큼 지연시켜 제 1 지연데이터를 출력하는 제 1 지연부와; 상기 제 1 수신부로부터 출력되는 데이터를 제 2 지연구간만큼 지연시켜 제 2 지연데이터를 출력하는 제 2 지연부와; 상기 지연제어신호의 입력에 응답하여, 상기 제 1 지연부에 의한 제 1 지연구간과 상기 제 2 지연부에 의한 제 2 지연구간을 조절하는 지연제어부와; 상기 제 1 지연데이터와 제 2 지연데이터를 입력받고, 상기 복수의 위상혼합제어신호의 조합에 의해 결정되는 혼합비에 따라 상기 제 1 지연데이터와 제 2 지연데이터의 위상을 혼합하는 위상혼합기를 포함하여 구성되는 데이터 트레이닝회로를 제공한다.

본 발명에서, 데이터 트레이닝회로는 상기 데이터를 스트로브하기 위한 데이터 스트로브신호를 수신하는 제 2 수신부와; 상기 제 2 수신부로부터 출력되는 데이터 스트로브신호를 소정 구간만큼 지연시켜 지연 스트로브신호를 출력하는 제 3 지연부와; 상기 제 3 지연부로부터 출력되는 지연 스트로브신호에 동기하여 상기 위상혼합기의 출력신호를 래치하는 래치부를 더 포함하는 것이 바람직하다.

본 발명에서, 상기 제어부는 제 1 리셋신호에 응답하여 초기화되는 것이 바람직하다.

본 발명에서, 상기 제어부는 상기 주기신호에 응답하여, 상기 제 1 주기의 정수배인 제 2 주기로 레벨천이되는 상기 지연제어신호를 생성하는 제 1 신호생성부와; 상기 주기신호에 응답하여 상기 복수의 위상혼합제어신호를 생성하는 제 2 신호생성부와; 상기 제 1 리셋신호와 상기 데이터 선택신호를 논리연산하여 제 2 리셋신호를 생성하는 논리부를 포함하여 구성되는 것이 바람직하다.

본 발명에서, 상기 제 1 신호생성부는 직렬로 연결된 복수의 플립플롭을 포함하여 구성되며; 상기 각각의 플립플롭은 상기 제 2 리셋신호에 응답하여 초기화되고, 상기 주기신호의 디스에이블에 응답하여 신호를 입력받아 상기 주기신호의 인에이블에 응답하여 상기 입력받은 신호를 출력하는 것이 바람직하다.

본 발명에서, 상기 복수의 플립플롭은 각 플립플롭이 직렬로 연결된 제 1군 의 플립플롭과, 각 플립플롭이 직렬로 연결된 제 2군의 플립플롭을 포함하되, 상기 제 1군의 직렬로 연결된 플립플롭 중 첫 플립플롭은 상기 제 1 군의 마지막 플립플롭의 출력신호의 반전신호를 피드백하여 입력받는 것을 특징으로 한다.

본 발명에서, 상기 제 2 신호생성부는 직렬로 연결된 복수의 플립플롭을 포함하여 구성되며; 상기 각각의 플립플롭은, 상기 제 2 리셋신호에 응답하여 초기화되며, 상기 주기신호의 디스에이블에 응답하여 신호를 입력받아 상기 주기신호의 인에이블에 응답하여 상기 입력받은 신호를 출력하는 것이 바람직하다.

본 발명에서, 상기 제 2 신호생성부의 직렬로 연결된 복수의 플립플롭 중 첫 플립플롭은 마지막 플립플롭의 출력신호를 피드백하여 입력받는 것을 특징으로 한다.

본 발명에서, 상기 논리부는 상기 제 1 리셋신호와 상기 데이터 선택신호를 논리곱연산하여 상기 제 2 리셋신호를 생성하는 것이 바람직하다.

본 발명에서, 상기 지연제어부는 소정 비트의 신호를 출력하되, 상기 지연제어신호의 매 주기마다 상기 소정 비트의 신호의 모든 비트를 한 자리씩 이동시키는 쉬프트 레지스터를 포함하는 것이 바람직하다.

본 발명에서, 상기 쉬프트 레지스터는 소정 리셋신호에 응답하여 초기화되며, 상기 초기화시 상기 소정 비트의 신호의 최하위의 두 비트가 '1'로 초기화되고 그외 나머지 비트는 '0'으로 초기화되는 것이 바람직하다.

본 발명에서, 상기 쉬프트 레지스터는 소정 리셋신호에 응답하여 초기화되며, 상기 초기화시 상기 소정 비트의 신호의 최하위의 두 비트가 '0'으로 초기화되 고 그외 나머지 비트는 '1'로 초기화되는 것이 바람직하다.

본 발명에서, 상기 쉬프트 레지스터는 직렬로 연결된 복수의 플립플롭을 포함하여 구성되며; 상기 각각의 플립플롭은 소정 리셋신호에 응답하여 초기화되며, 상기 주기신호의 디스에이블에 응답하여 신호를 입력받아 상기 주기신호의 인에이블에 응답하여 상기 입력받은 신호를 출력하는 것이 바람직하다.

본 발명에서, 상기 플립플롭은 D-플립플롭인 것이 바람직하다.

본 발명에서, 상기 제 1 지연부는 상기 지연제어부로부터 출력되는 소정 비트의 신호 중 일부 비트를 입력받고, 상기 제 2 지연부는 상기 일부를 제외한 나머지 비트를 입력받는 것이 바람직하다.

본 발명에서, 상기 제 1 지연부는 상기 지연제어부로부터의 각 신호에 응답하여 상기 제 1 수신부로부터의 데이터를 전달하는 복수의 전달소자와; 상기 복수의 전달소자로부터 입력되는 데이터를 각각 지연시키는 복수의 지연소자를 포함하되, 상기 복수의 지연소자는 서로 직렬로 연결된 것이 바람직하다.

본 발명에서, 상기 제 2 지연부는 상기 지연제어부로부터의 각 신호에 응답하여 상기 제 1 수신부로부터의 데이터를 전달하는 복수의 전달소자와; 상기 복수의 전달소자로부터 입력되는 데이터를 각각 지연시키는 복수의 지연소자를 포함하되, 상기 복수의 지연소자는 서로 직렬로 연결된 것이 바람직하다.

본 발명에서, 상기 위상혼합기는 상기 각각의 위상혼합제어신호의 인에이블에 응답하여 상기 제 1 지연데이터를 버퍼링하는 제 1 군의 복수의 버퍼와; 상기 각각의 위상혼합제어신호의 디스에이블에 응답하여 상기 제 2 지연데이터를 버퍼링 하는 제 2 군의 복수의 버퍼를 포함하는 것이 바람직하다.

본 발명에서, 상기 제 1 군의 복수의 버퍼는 서로 병렬로 접속되고, 상기 제 2군의 복수의 버퍼도 서로 병렬로 접속되는 것이 바람직하다.

본 발명에서, 상기 제 1군 및 제 2 군의 복수의 버퍼는 트리스테이트 버퍼(tri-state buffer)인 것이 바람직하다.

본 발명에서, 상기 디코더에 입력되는 상기 어드레스 신호는 EMRS(extended mode register set) 코드 신호이고, 상기 디코더는 EMRS 디코더인 것이 바람직하다.

이하, 실시예를 통하여 본 발명을 더욱 상세히 설명하기로 한다. 이들 실시예는 단지 본 발명을 예시하기 위한 것이며, 본 발명의 권리 보호 범위가 이들 실시예에 의해 제한되는 것은 아니다.

도 2는 본 발명에 의한 일 실시예에 따른 데이터 트레이닝 회로의 구성을 도시한 것으로서, 이를 참조하여 본 발명을 설명하면 다음과 같다.

도 2에 도시된 바와 같이, 본 실시예에 의한 데이터 트레이닝회로는 데이터(Din)를 수신하는 데이터 수신부(110)와; 소정 어드레스신호(address)를 입력받아 이를 디코딩하여, 소정 제 1 주기로 레벨천이되는 주기신호(data_tran)와, 데이터를 선택하기 위한 데이터 선택신호(sel<0>)를 출력하는 EMRS 디코더(120, EMRS decoder)와; 상기 데이터 선택신호(sel<0>)에 응답하여 인에이블되며, 상기 주기신 호(data_tran)에 응답하여 상기 데이터(Din)의 지연구간을 제어하는 지연제어신호(shift_left)와, 복수의 위상혼합제어신호(en<1:6>)를 출력하는 제어부(130)와; 상기 데이터 수신부(110)로부터 출력되는 데이터를 제 1 지연구간만큼 지연시켜 지연데이터(IN1)를 출력하는 지연부(150)와; 데이터 수신부(110)로부터 출력되는 데이터를 제 2 지연구간만큼 지연시켜 지연데이터(IN2)를 출력하는 지연부(160)와; 상기 지연제어신호(shift_left)의 입력에 응답하여, 지연부(150)에 의한 제 1 지연구간과 지연부(160)에 의한 제 2 지연구간을 조절하는 지연제어부(140)와; 상기 지연데이터(IN1)와 지연데이터(IN2)를 입력받고, 상기 복수의 위상혼합제어신호(en<1:6>)의 조합에 의해 결정되는 혼합비에 따라 지연데이터(IN1)와 지연데이터(IN2)의 위상을 혼합하는 위상혼합기(170)와; 데이터를 스트로브하기 위한 데이터 스트로브신호(DQS)를 수신하는 스트로브 수신부(180)와; 스트로브 수신부(180)로부터 출력되는 데이터 스트로브신호(DQS)를 소정 구간만큼 지연시켜 지연 스트로브신호(DQS_d)를 출력하는 지연부(190)와; 지연부(190)로부터 출력되는 지연 스트로브신호(DQS_d)에 동기하여 위상혼합기(170)의 출력신호를 래치하는 래치부(200)를 포함하여 구성된다.

이와 같이 구성된 본 실시예에 따른 데이터 트레이닝회로의 동작을 도 2 내지 도 5를 참조하여 구체적으로 설명한다.

도 2에 도시된 바와 같이, 메모리 장치의 데이터 입력핀을 통하여 입력된 데이터(Din)는 데이터수신부(110)에 입력된다. 데이터 수신부(110)는 입력된 데이터 (Din)를 소정의 기준전압(vref)과 비교하여 CMOS 레벨로 버퍼링하여 출력한다.

그리고, EMRS 디코더(120)는 소정 어드레스신호(address)를 입력받아 이를 디코딩하여, 소정 제 1 주기로 레벨천이되는 주기신호(data_tran)와, 데이터를 선택하기 위한 데이터 선택신호(sel<0>), 및 리셋신호(reset)를 출력한다. 여기서, 어드레스신호(address)로는 EMRS(extended mode register set) 코드 신호를 사용하며, EMRS 디코더(120)로는 종래부터 사용되던 EMRS 디코더를 사용할 수 있다. 리셋신호(reset)는 본 실시예에 따른 데이터 트레이닝회로를 초기화시키기 위한 신호로서 사용된다. 그리고, 주기신호(data_tran)는 소정 주기마다 하이레벨로 인에이블되는 신호이다. 데이터 선택신호(sel<0>)는 데이터를 선택하기 위한 신호로서, 가령 32비트의 데이터가 입력되는 경우 그 중 <0>번 비트 데이터를 선택하기 위한 신호이다. 도 2에 도시된 데이터 트레이닝회로는 입력 데이터의 전체 비트 중 <0>번 비트 데이터의 셋업타임/홀드타임을 제어하는 회로이며, 실제 메모리 장치 내에는 이러한 회로가 입력 데이터의 비트 수만큼 포함되어 있다.

다음으로, 제어부(130)는 EMRS 디코더(120)로부터 출력되는 데이터 선택신호(sel<0>)에 응답하여 인에이블되어 동작하며, 주기신호(data_tran)에 응답하여 데이터(Din)의 지연구간을 제어하는 지연제어신호(shift_left)와 복수의 위상혼합제어신호(en<1:6>)를 출력한다. 도 3을 참조하여 제어부(130)의 동작을 구체적으로 설명한다.

도 3에 도시된 바와 같이, 우선 논리부(131)는 데이터 선택신호(sel<0>)와 리셋신호(reset)를 입력받아 이를 논리곱연산하여 리셋신호(reset1)를 출력한다. 여기서, 리셋신호(reset1)는 데이터 선택신호(sel<0>)와 리셋신호(reset)가 모두 하이레벨로 인에이블되면 하이레벨로 인에이블된다. 따라서, <0>번 비트 데이터의 셋업타임/홀드타임을 조절하기 위한 데이터 선택신호(sel<0>)가 인에이블됨과 동시에 회로의 초기화를 위한 리셋신호(reset)가 인에이블되면 리셋신호(reset1)가 인에이블된다. 리셋신호(reset1)는 이하에서 설명될 지연제어신호(shift_left)를 생성하는 제 1 신호생성부(132)와, 위상혼합제어신호(en<1:6>)를 생성하는 제 2 신호생성부(133) 및 지연제어부(140)를 초기화시키는 신호로서 사용된다.

제 1 신호생성부(132)는 주기신호(data_tran)에 응답하여 지연제어신호(shift_left)를 생성한다. 도 3에 도시된 바와 같이, 제 1 신호생성부(132)는 직렬로 연결된 복수의 플립플롭(D11~D16)을 포함하여 구성된다. 여기서, 플립플롭(D11~16)은 D-플립플롭으로서, 리셋신호(reset1)가 하이레벨로 입력되면 그 출력신호(Q)를 로우레벨로 초기화시키고, 주기신호(data_tran)의 하강에지(falling edge)에서 (D)입력단으로 데이터를 입력받아 이를 유지하고 있다가 주기신호(data_tran)의 상승에지(rising edge)에서 상기 입력받은 데이터를 출력단(Q)으로 출력한다. 도 3에 도시된 바와 같이, 제 1군의 플립플롭(D11~D13)과 제 2군의 플립플롭(D14~D16)은 서로 직렬로 접속되며, 제 1군의 플립플롭(D11~D13) 중 플립플롭(D11)은 플립플롭(D13)의 출력신호(Q)의 반전신호를 피드백하여 입력받는다.

제 1 신호생성부(132)의 동작을 좀 더 구체적으로 살펴 보면, 먼저 리셋신호(reset1)가 하이레벨로 인에이블되면 플립플롭(D11~D16)은 초기화되므로, 각각의 출력신호는 모두 로우레벨로 초기화되고 지연제어신호(shift_left)도 로우레벨로 초기화된다. 이 때, 플립플롭(D11)은 플립플롭(D13)으로부터 하이레벨의 신호를 입력받아 유지하고, 플립플롭(D12~D16)은 각각 이전 플롭플롭으로부터 로우레벨의 신호를 입력받아 유지한다.

다음으로, 주기신호(data_tran)가 로우레벨에서 하이레벨로 첫번째로 인에이블되면, 플립플롭(D11)은 하이레벨을 출력하고 플립플롭(D12~D16)은 로우레벨을 출력한다. 이어서, 주기신호(data_tran)가 하이레벨에서 로우레벨로 천이되면, 플립플롭(D11,D12)은 하이레벨의 신호를 입력받아 유지하고, 플립플롭(D13~D16)은 각각 이전 플롭플롭으로부터 로우레벨의 신호를 입력받아 유지한다. 다음으로, 주기신호(data_tran)가 로우레벨에서 하이레벨로 두번째로 인에이블되면, 플립플롭(D11, D12)은 하이레벨을 출력하고 플립플롭(D13~D16)은 로우레벨을 출력한다.

이와 같이 하여, 주기신호(data_tran)의 여섯번째 상승에지에 이르면, 플립플롭(D11~D13)은 로우레벨을 출력하고 플립플롭(D14~D16)은 하이레벨을 출력하므로, 지연제어신호(shift_left)는 하이레벨로 인에이블된다. 마찬가지로, 주기신호(data_tran)의 아홉번째 상승에지에 이르면, 플립플롭(D11~D13)은 하이레벨을 출력하고 플립플롭(D14~D16)은 로우레벨을 출력하므로, 지연제어신호(shift_left)는 로우레벨로 천이된다. 그리고, 주기신호(data_tran)의 12번째 상승에지에 이르면, 플립플롭(D11~D13)은 로우레벨을 출력하고 플립플롭(D14~D16)은 하이레벨을 출력하므로, 지연제어신호(shift_left)는 하이레벨로 다시 인에이블된다. 그 이후에는 상기와 같은 동작이 계속 반복된다. 결국, 지연제어신호(shift_left)는 주기신호(data_tran)의 여섯 주기마다 한번씩 하이레벨로 인에이블되고 로우레벨로 디스에 이블되는 신호가 된다.

다음으로, 도 2에서 지연제어부(140)는 지연제어신호(shift_left)의 입력에 응답하여, 지연부(150)에 의한 제 1 지연구간과 지연부(160)에 의한 제 2 지연구간을 조절한다. 도 4에 도시된 바와 같이, 지연제어부(140)는 직렬로 연결된 복수의 플립플롭(D31~D36)을 포함하여 구성된다. 여기서, 플립플롭(D31~D36)은 D-플립플롭으로서 상술한 플립플롭(D11~D16)와 그 기본동작은 동일하다. 다만, 플립플롭(D31, D32)는 리셋신호(reset1)가 하이레벨로 입력되면 그 출력신호(Q)를 하이레벨로 초기화시킨다는 점에서, 다른 플립플롭들과 차이가 있다. 도 4에 도시된 바와 같이, 플립플롭(D31~D36)은 서로 직렬로 접속되며, 플립플롭(D31)은 플립플롭(D36)의 출력신호(Q)를 피드백하여 입력받는다.

지연제어부(140)의 동작을 좀 더 구체적으로 살펴보면, 먼저 리셋신호(reset1)가 하이레벨로 인에이블되면 플립플롭(D17~D22)은 초기화되므로, 신호(D<1:2>)는 하이레벨로 초기화되고 신호(D<3:6>)는 로우레벨로 초기화된다. 이 때, 플립플롭(D31, D34~D36)은 로우레벨의 신호를 입력받아 유지하고, 플립플롭(D32~D33)은 하이레벨의 신호를 입력받아 유지한다.

다음으로, 지연제어신호(shift_left)가 로우레벨에서 하이레벨로 첫번째로 인에이블되면, 플립플롭(D31, D34~D36)의 출력(D<1>, D<4:6>)은 로우레벨이 되고 플립플롭(D32~D33)의 출력(D<2:3>)는 하이레벨이 된다. 이어서, 지연제어신호(shift_left)가 로우레벨에서 하이레벨로 두번째로 인에이블되면, 플립플롭(D31, D32, D35~D36)의 출력(D<1:2>, D<5:6>)은 로우레벨이 되고 플립플롭(D33~D34)의 출 력(D<3:4>)는 하이레벨이 된다. 이와 같이, 6비트의 신호(D<1:6>)를 D<1>을 최하위비트로하고 D<6>를 최상위비트로 하여 순차적으로 나타낼 때, 상기 지연제어부(140)는 지연제어신호(shift_left)의 매 주기마다 비트신호(D<1:6>)의 모든 비트를 한 자리씩 이동시키는 쉬프트 레지스터의 동작을 수행하게 된다.

결과적으로, 도 2에서 초기동작시에는 신호(D<1>)와 신호(D<2>)가 하이레벨로 인에이블되고, 이후 지연제어신호(shift_left)의 첫번째 상승에지에서는 신호(D<2>)와 신호(D<3>)가 하이레벨로 인에이블되고, 지연제어신호(shift_left)의 두번째 상승에지에서는 신호(D<3>)와 신호(D<4>)가 하이레벨로 인에이블된다. 그리고, 지연제어신호(shift_left)의 세번째 상승에지에서는 신호(D<4>)와 신호(D<5>)가 하이레벨로 인에이블되고, 지연제어신호(shift_left)의 4번째 상승에지에서는 신호(D<5>)와 신호(D<6>)가 하이레벨로 인에이블되며, 이후 리셋신호(reset1)가 입력되면 다시 초기상태로 리셋된다. 표 1은 지연제어신호(shift_left)의 레벨천이에 따른 신호(D<1:6>)의 출력값을 나타낸 것이다.

shift_left D<6> D<5> D<4> D<3> D<2> D<1>
초기 0 0 0 0 1 1
1st 0 0 0 1 1 0
2nd 0 0 1 1 0 0
3rd 0 1 1 0 0 0
4th 1 1 0 0 0 0

한편, 도 2에서 지연제어부(140)의 제어를 받는 지연부(150)는 데이터 수신부(110)로부터 출력되는 데이터를 제 1 지연구간만큼 지연시켜 지연데이터(IN1)를 출력하되, 상기 제 1 지연구간은 지연제어부(140)로부터 출력되는 신호(D<1>, D<3>, D<5>) 중 인에이블된 어느 하나의 신호에 의하여 결정된다. 마찬가지로, 지연제어부(140)의 제어를 받는 지연부(160)는 데이터 수신부(110)로부터 출력되는 데이터를 제 2 지연구간만큼 지연시켜 지연데이터(IN2)를 출력하되, 상기 제 2 지연구간은 지연제어부(140)로부터 출력되는 신호(D<2>, D<4>, D<6>) 중 인에이블된 어느 하나의 신호에 의하여 결정된다.

여기서, 지연부(150)는 지연제어부(140)로부터의 각 신호(D<1>, D<3>, D<5>)와 데이터 수신부(110)로부터의 데이터를 부정논리곱연산하여 그 결과를 출력하는 낸드게이트(ND11~ND13)와, 상기 낸드게이트(ND11~ND13)로부터 각각 입력되는 데이터를 각각 지연시키되 서로 직렬로 연결된 복수의 지연소자(151~153)를 포함한다. 그리고, 상기 각각의 지연소자(151~153)는 직렬로 연결된 타지연소자의 출력신호(또는 소정 전압신호)와 낸드게이트(ND11~ND13)의 출력신호를 부정논리곱연산하여 그 결과를 출력하는 낸드게이트(ND21)와, 낸드게이트(ND21)의 출력신호와 소정 전압신호(VDD)를 부정논리곱연산하는 낸드게이트(ND22)를 포함한다. 마찬가지로, 지연부(160)는 지연제어부(140)로부터의 각 신호(D<2>, D<4>, D<6>)와 데이터 수신부(110)로부터의 데이터를 부정논리곱연산하여 그 결과를 출력하는 낸드게이트(ND14~ND16)과, 상기 낸드게이트(ND14~ND16)로부터 각각 입력되는 데이터를 각각 지연시키되 서로 직렬로 연결된 복수의 지연소자(161~163)를 포함한다. 그리고, 상기 각각의 지연소자(161~163)는 직렬로 연결된 타지연소자의 출력신호와 낸드게이트(ND14~ND16)의 출력신호를 부정논리곱연산하여 그 결과를 출력하는 낸드게이트(ND31)와, 낸드게이트(ND31)의 출력신호와 소정 전압신호(VDD)를 부정논리곱연산하는 낸드게이트(ND32)를 포함한다.

상술한 바와 같이, 초기동작시에는 신호(D<1>)와 신호(D<2>)만 하이레벨이 되므로, 낸드게이트(ND13)에 입력된 데이터는 지연소자(153)에 의해 결정되는 지연구간만큼 지연되어 지연데이터(IN1)로서 출력되고, 낸드게이트(ND16)에 입력된 데이터는 지연소자(163) 및 지연소자(164)에 의해 결정되는 지연구간만큼 지연되어 지연데이터(IN2)로서 출력된다. 따라서, 이 때에는 지연데이터(IN2)가 지연데이터(IN1)보다 지연소자(164)에 의한 지연구간만큼 더 지연되어 출력된다. 이어서, 지연제어신호(shift_left)가 첫번째로 인에이블되면 신호(D<2>)와 신호(D<3>)만 하이레벨이 된다. 따라서, 이 때에는 지연데이터(IN1)은 지연소자(152)로부터 지연소자(153)에까지 걸쳐있는 지연성분에 의한 지연구간만큼 지연된 데이터가 되므로, 지연데이터(IN1)가 지연데이터(IN2)보다 소정 지연구간만큼 더 지연되어 출력된다. 이와 같이, 비트신호(D<1:6>)의 모든 비트가 지연제어신호(shifte_left)의 매 주기마다 한 자리씩 이동됨에 따라, 지연부(150)와 지연부(160)의 지연구간이 순차적으로 증가하게 된다.

상기 실시예에서는 지연제어부(140)의 출력신호(D<1:2>)가 하이레벨로 초기화되고 출력신호(D<3:6>)는 로우레벨로 초기화되도록 구성하였으나, 실시예에 따라서는 출력신호(D<1:2>)가 로우레벨로 초기화되고 출력신호(D<3:6>)는 하이레벨로 초기화되도록 구성할 수도 있다.

한편, 도 3의 제어부(130)에서, 제 2 신호생성부(133)는 주기신호(data_tran)에 응답하여 복수의 위상혼합제어신호(en<1:6>)를 생성한다. 도 3에 도시된 바와 같이, 제 2 신호생성부(133)는 직렬로 연결된 복수의 플립플롭(D17~D22)을 포함하여 구성된다. 여기서, 플립플롭(D17~22)도 D-플립플롭으로서, 리셋신호(reset1)가 하이레벨로 입력되면 그 출력신호(Q)를 로우레벨로 초기화시키고, 주기신호(data_tran)의 하강에지에서 (D)입력단으로 데이터를 입력받아 이를 유지하고 있다가 주기신호(data_tran)의 상승에지에서 상기 입력받은 데이터를 출력단(Q)으로 출력한다. 도 3에 도시된 바와 같이, 플립플롭(D17~D22)은 서로 직렬로 접속되며, 플립플롭(D17)은 플립플롭(D22)의 출력신호(Q)의 반전신호를 입력받는다.

제 2 신호생성부(133)의 동작을 좀 더 구체적으로 살펴보면, 먼저 리셋신호(reset1)가 하이레벨로 인에이블되면 플립플롭(D17~D22)은 초기화되므로, 각각의 출력신호는 모두 로우레벨로 초기화되고, 그 반전신호인 위상혼합제어신호(en<1:6>)는 모두 하이레벨로 초기화된다. 이 때, 플립플롭(D17)은 플립플롭(D22)으로부터 하이레벨의 신호를 입력받아 유지하고, 플립플롭(D18~D22)은 각각 이전 플롭플롭으로부터 로우레벨의 신호를 입력받아 유지한다.

다음으로, 주기신호(data_tran)가 로우레벨에서 하이레벨로 첫번째로 인에이블되면, 플립플롭(D17)은 하이레벨을 출력하고 플립플롭(D18~D22)은 로우레벨을 출력하므로, 위상혼합제어신호(en<1>)는 로우레벨로 천이되고 위상혼합제어신호(en<2:6>)는 계속 하이레벨을 유지한다. 이어서, 주기신호(data_tran)가 하이레벨에서 로우레벨로 천이되면, 플립플롭(D17,D18)은 하이레벨의 신호를 입력받아 유지하고, 플립플롭(D19~D22)은 각각 이전 플롭플롭으로부터 로우레벨의 신호를 입력받아 유지한다.

다음으로, 주기신호(data_tran)가 로우레벨에서 하이레벨로 두번째로 인에이블되면, 플립플롭(D17, D18)은 하이레벨을 출력하고 플립플롭(D19~D22)은 로우레벨을 출력하므로, 위상혼합제어신호(en<1:2>)는 로우레벨이 되고 위상혼합제어신호(en<3:6>)는 하이레벨이 된다.

이와 같이 하여, 주기신호(data_tran)가 하이레벨로 인에이블될 때마다 위상혼합제어신호(en<3>), 위상혼합제어신호(en<4>), 위상혼합제어신호(en<5>), 위상혼합제어신호(en<6>)가 순차적으로 로우레벨로 천이되며, 주기신호(data_tran)의 6번째 상승에지에 이르면 위상혼합제어신호(en<1:6>)는 모두 로우레벨이 된다.

그리고, 주기신호(data_tran)의 7번째 상승에지에서는 위상혼합제어신호(en<1>)가 하이레벨로 천이되며, 이후 주기신호(data_tran)가 하이레벨로 인에이블될 때마다 위상혼합제어신호(en<2>), 위상혼합제어신호(en<3>), 위상혼합제어신호(en<4>), 위상혼합제어신호(en<5>), 위상혼합제어신호(en<6>)가 순차적으로 하이레벨로 천이되며, 주기신호(data_tran)의 12번째 상승에지에 이르면 위상혼합제어신호(en<1:6>)는 모두 하이레벨이 된다. 결국, 위상혼합제어신호(en<1:6>)는 주기신호(data_tran)의 12주기마다 상기에서 언급한 바와 같은 레벨 천이를 반복한다. 표 2는 주기신호(data_tran)의 각 상승에지에서의 위상혼합제어신호(en<1:6>)의 출력값을 나타낸 것이다.

data_tran en<1> en<2> en<3> en<4> en<5> en<6>
초기 H H H H H H
1st L H H H H H
2nd L L H H H H
3rd L L L H H H
4th L L L L H H
5th L L L L L H
6th L L L L L L
7th H L L L L L
8th H H L L L L
9th H H H L L L
10th H H H H L L
11th H H H H H L
12th H H H H H H

다음으로, 도 2에서 위상혼합기(170, phase mixer)는 복수의 위상혼합제어신호(en<1:6>)의 조합에 의해 결정되는 혼합비에 따라 지연데이터(IN1)와 지연데이터(IN2)의 위상을 혼합하는데, 구체적인 동작은 도 5를 참조하여 설명한다.

도 5에 도시된 바와 같이, 위상혼합기(170)는 각각의 위상혼합제어신호(en<1:6>)의 인에이블에 응답하여 지연데이터(IN1)를 버퍼링하는 제 1 군의 복수의 트리스테이트 버퍼(TSI1~TSI6)와; 각각의 위상혼합제어신호(en<1:6>)의 디스에이블에 응답하여 지연데이터(IN2)를 버퍼링하는 제 2 군의 복수의 트리스테이트 버퍼(TSI7~TSI12)를 포함한다.

위상혼합기(170)는 위상혼합제어신호(en<1:6>)에 의하여 턴온되는 트리스테이트 버퍼의 개수에 의하여 지연데이터(IN1)와 지연데이터(IN2)의 위상을 혼합하여 출력신호(OUT)를 내보낸다. 즉, 출력신호(OUT)는 제 1 군과 제 2군에서 턴온되는 트리스테이트 버퍼의 개수에 따라 그 위상이 혼합됨으로써, 도 6a에 도시된 신호(OUT1) 내지 신호(OUT6) 중 어느 하나 또는 도 6b에 도시된 신호(OUT11) 내지 신호(OUT16) 중 어느 하나가 된다. 위상혼합기(170)의 동작을 초기동작시부터 순차적으로 설명하면 다음과 같다.

먼저, 상술한 바와 같이 리셋신호(reset1)가 하이레벨로 입력되는 초기동작시에는 지연제어부(140)의 출력신호 중 신호(D<1>)와 신호(D<2>)만 하이레벨이 되므로, 지연부(150)는 데이터 수신부(110)로부터 공급된 데이터를 지연소자(153)에 의한 지연성분만큼만 지연시켜 지연데이터(IN1)로서 출력하며, 지연부(160)는 데이터 수신부(110)로부터 공급된 데이터를 지연소자(163)와 지연소자(164)에 의한 지연성분만큼 지연시켜 지연데이터(IN2)로서 출력한다(도 6a 참조). 그리고, 이 때 위상제어신호(en<1:6>)는 모두 하이레벨이 되어 트리스테이트 버퍼(TSI1~TSI6)만 턴온되므로 출력신호(OUT)는 도 6a에 도시된 바와 같이 지연데이터(IN1)와 그 위상이 동일한 신호(OUT1)와 같이 된다.

이어서, 주기신호(data_tran)의 첫번째 상승에지에서는 위상제어신호(en<1>)는 로우레벨이 되고 위상제어신호(en<2:6>)는 모두 하이레벨이 되며, 이에 따라 트리스테이트 버퍼(TSI2~TSI6)와 트리스테이트 버퍼(TSI17)만 턴온되기 때문에 지연데이터(IN1)와 지연데이터(IN2)의 위상이 혼합되어 출력신호(OUT)는 도 6a에 도시된 바와 같이 신호(OUT2)와 같이 된다. 그리고, 이후 주기신호(data_tran)가 주기적으로 인에이블됨에 따라 출력신호(OUT)는 도 6a에 도시된 바와 같이 순차적으로 그 위상이 증가하게 된다.

이어서, 주기신호(data_tran)의 6번째 상승에지에 이르면 상술한 바와 같이 지연제어신호(shift_left)가 첫번째로 하이레벨로 인에이블된다. 이에 따라, 지연제어부(140)의 출력신호 중 신호(D<2>)와 신호(D<3>)만 하이레벨이 되므로, 지연부(150)는 데이터 수신부(110)로부터 공급된 데이터를 지연소자(152)로부터 지연소자(153)에까지 걸쳐있는 지연성분만큼 지연시켜 지연데이터(IN1)로서 출력하며, 지연부(160)는 데이터 수신부(110)로부터 공급된 데이터를 여전히 지연소자(163)와 지연소자(164)에 의한 지연성분만큼 지연시켜 지연데이터(IN2)로서 출력한다. 따라서, 이 때부터는 도 6b에 도시된 바와 같이 지연데이터(IN1)가 지연데이터(IN2)보다 더 많이 지연된 데이터가 된다. 그리고, 이 때 위상제어신호(en<1:6>)는 모두 로우레벨이 되어 트리스테이트 버퍼(TSI7~TSI12)만 턴온되므로 출력신호(OUT)는 도 6b에 도시된 바와 같이 지연데이터(IN2)와 그 위상이 동일한 신호(OUT11)가 된다.

이어서, 주기신호(data_tran)의 7번째 상승에지에서는 위상제어신호(en<1>)는 하이레벨이 되고 위상제어신호(en<2:6>)는 모두 로우레벨이 되며, 이에 따라 트리스테이트 버퍼(TSI8~TSI12)와 트리스테이트 버퍼(TSI1)만 턴온되기 때문에 지연데이터(IN1)와 지연데이터(IN2)의 위상이 혼합되어 출력신호(OUT)는 신호(OUT12)와 같이 된다. 그리고, 이후 주기신호(data_tran)가 주기적으로 인에이블됨에 따라 출력신호(OUT)는 도 6b에 도시된 바와 같이 순차적으로 그 위상이 증가하게 된다.

이어서, 주기신호(data_tran)의 12번째 상승에지에 이르면 상술한 바와 같이 지연제어신호(shift_left)가 두번째로 하이레벨로 인에이블된다. 이에 따라, 지연제어부(140)의 출력신호 중 신호(D<3>)와 신호(D<4>)만 하이레벨이 되므로, 지연부(150)는 데이터 수신부(110)로부터 공급된 데이터를 지연소자(152)로부터 지연소자(153)에까지 걸쳐있는 지연성분만큼 지연시켜 지연데이터(IN1)로서 출력하며, 지연부(160)는 데이터 수신부(110)로부터 공급된 데이터를 지연소자(162)로부터 지연소자(164)에까지 걸쳐있는 지연성분만큼 지연시켜 지연데이터(IN2)로서 출력한다. 따라서, 이 때부터는 다시 도 6a에 도시된 바와 같이 지연데이터(IN2)가 지연데이터(IN1)보다 더 많이 지연된 데이터가 된다. 그리고, 이 때 위상제어신호(en<1:6>)는 다시 모두 하이레벨이 되어 트리스테이트 버퍼(TSI1~TSI6)만 턴온되므로 출력신호(OUT)는 도 6a에 도시된 바와 같이 지연데이터(IN1)와 그 위상이 동일한 신호(OUT1)가 된다. 그리고, 이후에는 주기신호(data_tran)가 주기적으로 인에이블됨에 따라 상기에서 언급한 바와 마찬가지로 출력신호(OUT)는 도 6a에 도시된 바와 같이 순차적으로 그 위상이 증가하게 된다.

주기신호(data_tran)의 18번째 상승에지에 이르면 상술한 바와 같이 지연제어신호(shift_left)가 세번째로 하이레벨로 인에이블된다. 이에 따라, 지연제어부(140)의 출력신호 중 신호(D<4>)와 신호(D<5>)만 하이레벨이 되므로, 지연부(150)는 데이터 수신부(110)로부터 공급된 데이터를 지연소자(151)로부터 지연소자(153)에까지 걸쳐있는 지연성분만큼 지연시켜 지연데이터(IN1)로서 출력하며, 지연부(160)는 데이터 수신부(110)로부터 공급된 데이터를 지연소자(162)로부터 지연소자(164)에까지 걸쳐있는 지연성분만큼 지연시켜 지연데이터(IN2)로서 출력한다. 따라서, 이 때부터는 다시 도 6b에 도시된 바와 같이 지연데이터(IN1)가 지연데이터(IN2)보다 더 많이 지연된 데이터가 된다. 그리고, 주기신호(data_tran)가 주기적으로 인에이블됨에 따라 상기에서 언급한 바와 마찬가지로 출력신호(OUT)는 도 6b에 도시된 바와 같이 순차적으로 그 위상이 증가하게 된다.

마지막으로, 주기신호(data_tran)의 24번째 상승에지에 이르면 상술한 바와 같이 지연제어신호(shift_left)가 네번째로 하이레벨로 인에이블된다. 이에 따라, 지연제어부(140)의 출력신호 중 신호(D<5>)와 신호(D<6>)만 하이레벨이 되므로, 지연부(150)는 데이터 수신부(110)로부터 공급된 데이터를 지연소자(151)로부터 지연소자(153)에까지 걸쳐있는 지연성분만큼 지연시켜 지연데이터(IN1)로서 출력하며, 지연부(160)는 데이터 수신부(110)로부터 공급된 데이터를 지연소자(161)로부터 지연소자(164)에까지 걸쳐있는 지연성분만큼 지연시켜 지연데이터(IN2)로서 출력한다. 따라서, 이 때부터는 다시 도 6a에 도시된 바와 같이 지연데이터(IN2)가 지연데이터(IN1)보다 더 많이 지연된 데이터가 된다. 그리고, 주기신호(data_tran)가 주기적으로 인에이블됨에 따라 상기에서 언급한 바와 마찬가지로 출력신호(OUT)는 도 6a에 도시된 바와 같이 순차적으로 그 위상이 증가하게 된다.

이와 같이, 위상혼합기(170)로부터 출력되는 데이터(OUT)는 주기신호(data_tran)가 주기적으로 인에이블됨에 따라 그 위상이 순차적으로 미세하게 증가한다. 그리고, 상기와 같은 과정을 완료한 후에는 다시 리셋신호(reset)가 EMRS 디코더(120)로부터 입력되어 제어부(130)와 지연제어부(140)는 모두 다시 초기화된다.

한편, 도 2에서 스트로브수신부(110)는 메모리 장치에 입력된 데이터스트로브 신호(DQS)를 소정의 기준전압(vref)과 비교하여 CMOS 레벨로 버퍼링하여 출력한다. 그리고, 이렇게 버퍼링된 데이터 스트로브 신호는 지연부(190)에 의하여 소정 지연구간만큼 지연된 후 지연 스트로브신호(DQS_d)로서 래치부(200)로 입력된다. 그리고, 래치부(200)는 상기 지연 스트로브신호(DQS_d)에 동기하여 위상혼합기(170)로부터 출력되는 데이터(OUT)를 래치하여 출력한다.

반도체 장치에서는 상기에서 설명한 과정을 통해 생성된 지연데이터(OUT) 중에서 데이터 셋업타임과 홀드타임이 가장 적절한 것을 검출하여, 그 때의 지연값을 데이터에 대한 최적화된 지연구간으로 설정한다. 그리고, 이렇게 최적화된 지연구간에 대응하는 파라미터들을 제어부(130)와 지연제어부(140)에 저장한다. 즉, 최적화된 상기 지연구간에 의거하여 상기 지연제어부(140)의 출력신호의 조합을 설정하여 저장함으로써, 지연부(150)와 지연부(160)에 의한 지연구간이 최적화되게 한다. 이와 함께, 혼합제어신호(en<1:6>)의 조합도 상기 최적화된 지연구간에 대응하는 것으로 설정하여 제어부(130)에 저장된다.

이와 같이, 본 실시예에 따른 데이터 트레이닝회로는 데이터의 지연구간을 미세하게 순차적으로 증가시켜 그 중에서 가장 적합한 조건을 선택하여 설정할 수 있도록 함으로써, 반도체 장치에서 칩셋과 메모리 장치 간의 데이터 채널, 메모리 장치 내부의 신호 루트 및 와이어 본딩(wire bonding) 등에 의해 발생되는 데이터 스큐(skew)에도 불구하고 클럭에 대한 데이터의 셋업타임과 홀드타임을 최적화하여 조절 및 제어할 수 있다. 도 7은 본 실시예에 따른 데이터 트레이닝 회로에서 각 지연스텝에 대하여 데이터가 지연되는 양을 시뮬레이션한 결과로서, 도시된 바와 같이 본 실시예에 따르면 데이터의 지연구간을 미세하게 순차적으로 증가시켜 최적의 지연구간을 선택하도록 함으로써 데이터의 셋업타임과 홀드타임을 최적화할 수 있다.

한편, 상기의 데이터 트레이닝회로는 입력되는 데이터의 갯수만큼 메모리 장치 내에 설치되며, 입력되는 데이터 모두에 대하여 각각의 데이터 셋업타임과 홀드타임이 최적화되면 데이터 트레이닝동작이 완료된다.

이상 설명한 바와 같이, 본 발명에 따른 데이터 트레이닝회로는 반도체 장치에서 칩셋과 메모리 장치 간의 데이터 채널, 메모리 장치 내부의 신호 루트 및 와이어 본딩(wire bonding) 등에 의해 발생되는 데이터 스큐(skew)에도 불구하고 클럭에 대한 데이터의 셋업타임과 홀드타임을 최적화하여 조절 및 제어할 수 있는 효과가 있다.

Claims (47)

  1. 데이터를 수신하는 제 1 수신부와;
    소정 어드레스신호를 입력받아 이를 디코딩하여, 소정 제 1 주기로 레벨천이되는 주기신호와, 데이터를 선택하기 위한 데이터 선택신호를 출력하는 디코더와;
    상기 데이터 선택신호에 응답하여 인에이블되며, 상기 주기신호에 응답하여 상기 데이터의 지연구간을 제어하는 지연제어신호와, 복수의 위상혼합제어신호를 출력하는 제어부와;
    상기 제 1 수신부로부터 출력되는 데이터를 제 1 지연구간만큼 지연시켜 제 1 지연데이터를 출력하는 제 1 지연부와;
    상기 제 1 수신부로부터 출력되는 데이터를 제 2 지연구간만큼 지연시켜 제 2 지연데이터를 출력하는 제 2 지연부와;
    상기 지연제어신호의 입력에 응답하여, 상기 제 1 지연부에 의한 제 1 지연구간과 상기 제 2 지연부에 의한 제 2 지연구간을 조절하는 지연제어부와;
    상기 제 1 지연데이터와 제 2 지연데이터를 입력받고, 상기 복수의 위상혼합제어신호의 조합에 의해 결정되는 혼합비에 따라 상기 제 1 지연데이터와 제 2 지연데이터의 위상을 혼합하는 위상혼합기를 포함하여 구성되는 데이터 트레이닝회로.
  2. 제 1항에 있어서,
    상기 데이터를 스트로브하기 위한 데이터 스트로브신호를 수신하는 제 2 수신부와;
    상기 제 2 수신부로부터 출력되는 데이터 스트로브신호를 소정 구간만큼 지연시켜 지연 스트로브신호를 출력하는 제 3 지연부와;
    상기 제 3 지연부로부터 출력되는 지연 스트로브신호에 동기하여 상기 위상혼합기의 출력신호를 래치하는 래치부를 더 포함하는 데이터 트레이닝회로.
  3. 제 1항에 있어서,
    상기 제어부는 제 1 리셋신호에 응답하여 초기화되는 데이터 트레이닝 회로.
  4. 제 3항에 있어서,
    상기 제어부는
    상기 주기신호에 응답하여, 상기 제 1 주기의 정수배인 제 2 주기로 레벨천이되는 상기 지연제어신호를 생성하는 제 1 신호생성부와;
    상기 주기신호에 응답하여 상기 복수의 위상혼합제어신호를 생성하는 제 2 신호생성부와;
    상기 제 1 리셋신호와 상기 데이터 선택신호를 논리연산하여 제 2 리셋신호 를 생성하는 논리부를 포함하여 구성되는 데이터 트레이닝회로.
  5. 제 4항에 있어서,
    상기 제 1 신호생성부는 직렬로 연결된 복수의 플립플롭을 포함하여 구성되는 데이터 트레이닝회로.
  6. 제 5항에 있어서,
    상기 각각의 플립플롭은 상기 제 2 리셋신호에 응답하여 초기화되고, 상기 주기신호의 디스에이블에 응답하여 신호를 입력받아 상기 주기신호의 인에이블에 응답하여 상기 입력받은 신호를 출력하는 데이터 트레이닝회로.
  7. 제 6항에 있어서,
    상기 복수의 플립플롭은 각 플립플롭이 직렬로 연결된 제 1군의 플립플롭과, 각 플립플롭이 직렬로 연결된 제 2군의 플립플롭을 포함하되,
    상기 제 1군의 직렬로 연결된 플립플롭 중 첫 플립플롭은 상기 제 1 군의 마지막 플립플롭의 출력신호의 반전신호를 피드백하여 입력받는 것을 특징으로 하는 데이터 트레이닝회로.
  8. 제 6항에 있어서,
    상기 플립플롭은 D-플립플롭인 데이터 트레이닝회로.
  9. 제 4항에 있어서,
    상기 제 2 신호생성부는 직렬로 연결된 복수의 플립플롭을 포함하여 구성되는 데이터 트레이닝회로.
  10. 제 9항에 있어서,
    상기 각각의 플립플롭은, 상기 제 2 리셋신호에 응답하여 초기화되며, 상기 주기신호의 디스에이블에 응답하여 신호를 입력받아 상기 주기신호의 인에이블에 응답하여 상기 입력받은 신호를 출력하는 데이터 트레이닝회로.
  11. 제 10항에 있어서,
    상기 제 2 신호생성부의 직렬로 연결된 복수의 플립플롭 중 첫 플립플롭은 마지막 플립플롭의 출력신호를 피드백하여 입력받는 것을 특징으로 하는 데이터 트 레이닝회로.
  12. 제 10항에 있어서,
    상기 플립플롭은 D-플립플롭인 데이터 트레이닝회로.
  13. 제 4항에 있어서,
    상기 논리부는 상기 제 1 리셋신호와 상기 데이터 선택신호를 논리곱연산하여 상기 제 2 리셋신호를 생성하는 데이터 트레이닝회로.
  14. 제 1항에 있어서,
    상기 지연제어부는 소정 비트의 신호를 출력하되, 상기 지연제어신호의 매 주기마다 상기 소정 비트의 신호의 모든 비트를 한 자리씩 이동시키는 쉬프트 레지스터를 포함하는 데이터 트레이닝회로.
  15. 제 14항에 있어서,
    상기 쉬프트 레지스터는 소정 리셋신호에 응답하여 초기화되며, 상기 초기화 시 상기 소정 비트의 신호의 최하위의 두 비트가 '1'로 초기화되고 그외 나머지 비트는 '0'으로 초기화되는 데이터 트레이닝회로.
  16. 제 14항에 있어서,
    상기 쉬프트 레지스터는 소정 리셋신호에 응답하여 초기화되며, 상기 초기화시 상기 소정 비트의 신호의 최하위의 두 비트가 '0'으로 초기화되고 그외 나머지 비트는 '1'로 초기화되는 데이터 트레이닝회로.
  17. 제 14항에 있어서,
    상기 쉬프트 레지스터는 직렬로 연결된 복수의 플립플롭을 포함하여 구성되는 데이터 트레이닝회로.
  18. 제 17항에 있어서,
    상기 각각의 플립플롭은 소정 리셋신호에 응답하여 초기화되며, 상기 주기신호의 디스에이블에 응답하여 신호를 입력받아 상기 주기신호의 인에이블에 응답하여 상기 입력받은 신호를 출력하는 데이터 트레이닝회로.
  19. 제 18항에 있어서,
    상기 플립플롭은 D-플립플롭인 데이터 트레이닝회로.
  20. 제 14항에 있어서,
    상기 제 1 지연부는 상기 지연제어부로부터 출력되는 소정 비트의 신호 중 일부 비트를 입력받고, 상기 제 2 지연부는 상기 일부를 제외한 나머지 비트를 입력받는 데이터 트레이닝회로.
  21. 제 20항에 있어서,
    상기 제 1 지연부는 상기 지연제어부로부터의 각 신호에 응답하여 상기 제 1 수신부로부터의 데이터를 전달하는 복수의 전달소자와;
    상기 복수의 전달소자로부터 입력되는 데이터를 각각 지연시키는 복수의 지연소자를 포함하되,
    상기 복수의 지연소자는 서로 직렬로 연결된 데이터 트레이닝회로.
  22. 제 21항에 있어서,
    상기 각각의 전달소자는 상기 지연제어부로부터의 어느 한 신호와 상기 제 1 수신부로부터의 데이터를 논리연산하여 그 결과를 출력하는 제 1 논리소자를 포함하고,
    상기 각각의 지연소자는 직렬로 연결된 타지연소자의 출력신호와 상기 제 1 논리소자의 출력신호를 논리연산하여 그 결과를 출력하는 제 2 논리소자와, 상기 제 2 논리소자의 출력신호와 소정 전압신호를 논리연산하는 제 3 논리소자를 포함하는 데이터 트레이닝회로.
  23. 제 22항에 있어서,
    상기 제 1 내지 제 3 논리소자는 부정논리곱 연산을 수행하는 데이터 트레이닝회로.
  24. 제 20항에 있어서,
    상기 제 2 지연부는 상기 지연제어부로부터의 각 신호에 응답하여 상기 제 1 수신부로부터의 데이터를 전달하는 복수의 전달소자와;
    상기 복수의 전달소자로부터 입력되는 데이터를 각각 지연시키는 복수의 지연소자를 포함하되,
    상기 복수의 지연소자는 서로 직렬로 연결된 데이터 트레이닝회로.
  25. 제 24항에 있어서,
    상기 각각의 전달소자는 상기 지연제어부로부터의 어느 한 신호와 상기 제 1 수신부로부터의 데이터를 논리연산하여 그 결과를 출력하는 제 1 논리소자를 포함하고,
    상기 각각의 지연소자는 직렬로 연결된 타지연소자의 출력신호와 상기 제 1 논리소자의 출력신호를 논리연산하여 그 결과를 출력하는 제 2 논리소자와, 상기 제 2 논리소자의 출력신호와 소정 전압신호를 논리연산하는 제 3 논리소자를 포함하는 데이터 트레이닝회로.
  26. 제 25항에 있어서,
    상기 제 1 내지 제 3 논리소자는 부정논리곱 연산을 수행하는 데이터 트레이닝회로.
  27. 제 1항에 있어서,
    상기 위상혼합기는
    상기 각각의 위상혼합제어신호의 인에이블에 응답하여 상기 제 1 지연데이터 를 버퍼링하는 제 1 군의 복수의 버퍼와;
    상기 각각의 위상혼합제어신호의 디스에이블에 응답하여 상기 제 2 지연데이터를 버퍼링하는 제 2 군의 복수의 버퍼를 포함하는 데이터 트레이닝회로.
  28. 제 27항에 있어서,
    상기 제 1 군의 복수의 버퍼는 서로 병렬로 접속되고, 상기 제 2군의 복수의 버퍼도 서로 병렬로 접속되는 데이터 트레이닝회로.
  29. 제 27항에 있어서,
    상기 제 1군 및 제 2 군의 복수의 버퍼는 트리스테이트 버퍼(tri-state buffer)인 데이터 트레이닝회로.
  30. 제 1항에 있어서,
    상기 디코더에 입력되는 상기 어드레스 신호는 EMRS(extended mode register set) 코드 신호이고, 상기 디코더는 EMRS 디코더인 데이터 트레이닝회로.
  31. 데이터를 수신하는 제 1 수신부와;
    데이터 선택신호에 응답하여 인에이블되며, 소정 주기신호에 응답하여 상기 데이터의 지연구간을 제어하는 지연제어신호와, 복수의 위상혼합제어신호를 출력하는 제어부와;
    상기 제 1 수신부로부터 출력되는 데이터를 제 1 지연구간만큼 지연시켜 제 1 지연데이터를 출력하는 제 1 지연부와;
    상기 제 1 수신부로부터 출력되는 데이터를 제 2 지연구간만큼 지연시켜 제 2 지연데이터를 출력하는 제 2 지연부와;
    상기 지연제어신호의 입력에 응답하여 상기 제 1 지연부와 제 2 지연부의 지연동작을 제어하는 쉬프트 레지스터와;
    상기 제 1 지연데이터와 제 2 지연데이터를 입력받고, 상기 복수의 위상혼합제어신호의 조합에 의해 결정되는 혼합비에 따라 상기 제 1 지연데이터와 제 2 지연데이터의 위상을 혼합하는 위상혼합기를 포함하여 구성되는 데이터 트레이닝회로.
  32. 제 1항에 있어서,
    상기 제어부는
    상기 주기신호에 응답하여, 상기 주기신호의 주기보다 더 큰 주기로 레벨천이되는 상기 지연제어신호를 생성하는 제 1 신호생성부와;
    상기 주기신호에 응답하여 상기 복수의 위상혼합제어신호를 생성하는 제 2 신호생성부를 포함하여 구성되는 데이터 트레이닝회로.
  33. 제 32항에 있어서,
    상기 제 1 신호생성부는 직렬로 연결된 복수의 플립플롭을 포함하여 구성되는 데이터 트레이닝회로.
  34. 제 33항에 있어서,
    상기 각각의 플립플롭은 상기 주기신호의 디스에이블에 응답하여 신호를 입력받아 상기 주기신호의 인에이블에 응답하여 상기 입력받은 신호를 출력하는 데이터 트레이닝회로.
  35. 제 34항에 있어서,
    상기 복수의 플립플롭은 각 플립플롭이 직렬로 연결된 제 1군의 플립플롭과, 각 플립플롭이 직렬로 연결된 제 2군의 플립플롭을 포함하되,
    상기 제 1군의 직렬로 연결된 플립플롭 중 첫 플립플롭은 상기 제 1 군의 마지막 플립플롭의 출력신호의 반전신호를 피드백하여 입력받는 것을 특징으로 하는 데이터 트레이닝회로.
  36. 제 32항에 있어서,
    상기 제 2 신호생성부는 직렬로 연결된 복수의 플립플롭을 포함하여 구성되는 데이터 트레이닝회로.
  37. 제 36항에 있어서,
    상기 각각의 플립플롭은 상기 주기신호의 디스에이블에 응답하여 신호를 입력받아 상기 주기신호의 인에이블에 응답하여 상기 입력받은 신호를 출력하는 데이터 트레이닝회로.
  38. 제 37항에 있어서,
    상기 제 2 신호생성부의 직렬로 연결된 복수의 플립플롭 중 첫 플립플롭은 마지막 플립플롭의 출력신호를 피드백하여 입력받는 것을 특징으로 하는 데이터 트레이닝회로.
  39. 제 31항에 있어서,
    상기 쉬프트 레지스터는 소정 비트의 신호를 출력하되, 상기 지연제어신호의 매 주기마다 상기 소정 비트의 신호의 모든 비트를 한 자리씩 이동시키는 데이터 트레이닝회로.
  40. 제 39항에 있어서,
    상기 쉬프트 레지스터는 소정 리셋신호에 응답하여 초기화되며, 상기 초기화시 상기 소정 비트의 신호의 최하위의 두 비트가 '1'로 초기화되고 그외 나머지 비트는 '0'으로 초기화되는 데이터 트레이닝회로.
  41. 제 39항에 있어서,
    상기 쉬프트 레지스터는 소정 리셋신호에 응답하여 초기화되며, 상기 초기화시 상기 소정 비트의 신호의 최하위의 두 비트가 '0'으로 초기화되고 그외 나머지 비트는 '1'로 초기화되는 데이터 트레이닝회로.
  42. 제 39항에 있어서,
    상기 쉬프트 레지스터는 직렬로 연결된 복수의 플립플롭을 포함하여 구성되 는 데이터 트레이닝회로.
  43. 제 39항에 있어서,
    상기 제 1 지연부는 상기 쉬프트 레지스터로부터 출력되는 소정 비트의 신호 중 일부 비트를 입력받고, 상기 제 2 지연부는 상기 일부를 제외한 나머지 비트를 입력받는 데이터 트레이닝회로.
  44. 제 43항에 있어서,
    상기 제 1 지연부는 상기 쉬프트 레지스터로부터의 각 신호에 응답하여 상기 제 1 수신부로부터의 데이터를 전달하는 복수의 전달소자와;
    상기 복수의 전달소자로부터 입력되는 데이터를 각각 지연시키는 복수의 지연소자를 포함하되,
    상기 복수의 지연소자는 서로 직렬로 연결된 데이터 트레이닝회로.
  45. 제 43항에 있어서,
    상기 제 2 지연부는 상기 쉬프트 레지스터로부터의 각 신호에 응답하여 상기 제 1 수신부로부터의 데이터를 전달하는 복수의 전달소자와;
    상기 복수의 전달소자로부터 입력되는 데이터를 각각 지연시키는 복수의 지연소자를 포함하되,
    상기 복수의 지연소자는 서로 직렬로 연결된 데이터 트레이닝회로.
  46. 제 31항에 있어서,
    상기 위상혼합기는
    상기 각각의 위상혼합제어신호의 인에이블에 응답하여 상기 제 1 지연데이터를 버퍼링하는 제 1 군의 복수의 버퍼와;
    상기 각각의 위상혼합제어신호의 디스에이블에 응답하여 상기 제 2 지연데이터를 버퍼링하는 제 2 군의 복수의 버퍼를 포함하는 데이터 트레이닝회로.
  47. 제 46항에 있어서,
    상기 제 1 군의 복수의 버퍼는 서로 병렬로 접속되고, 상기 제 2군의 복수의 버퍼도 서로 병렬로 접속되는 데이터 트레이닝회로.
KR20060016968A 2006-02-21 2006-02-21 데이터 트레이닝회로 KR100675898B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20060016968A KR100675898B1 (ko) 2006-02-21 2006-02-21 데이터 트레이닝회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20060016968A KR100675898B1 (ko) 2006-02-21 2006-02-21 데이터 트레이닝회로

Publications (1)

Publication Number Publication Date
KR100675898B1 true KR100675898B1 (ko) 2007-01-23

Family

ID=38104872

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20060016968A KR100675898B1 (ko) 2006-02-21 2006-02-21 데이터 트레이닝회로

Country Status (1)

Country Link
KR (1) KR100675898B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100803359B1 (ko) 2006-08-11 2008-02-14 주식회사 하이닉스반도체 반도체 메모리 장치의 데이터 입력 회로 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09153279A (ja) * 1995-11-29 1997-06-10 Nec Corp 半導体記憶装置
JP2002157883A (ja) 2000-11-20 2002-05-31 Fujitsu Ltd 同期型半導体装置及び同期型半導体装置における入力信号のラッチ方法
KR20040055381A (ko) * 2002-12-21 2004-06-26 주식회사 하이닉스반도체 셋업/홀드 타임 제어 장치
KR20050066199A (ko) * 2003-12-26 2005-06-30 주식회사 하이닉스반도체 반도체 메모리 장치의 셋업/홀드타임 제어회로

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09153279A (ja) * 1995-11-29 1997-06-10 Nec Corp 半導体記憶装置
JP2002157883A (ja) 2000-11-20 2002-05-31 Fujitsu Ltd 同期型半導体装置及び同期型半導体装置における入力信号のラッチ方法
KR20040055381A (ko) * 2002-12-21 2004-06-26 주식회사 하이닉스반도체 셋업/홀드 타임 제어 장치
KR20050066199A (ko) * 2003-12-26 2005-06-30 주식회사 하이닉스반도체 반도체 메모리 장치의 셋업/홀드타임 제어회로

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100803359B1 (ko) 2006-08-11 2008-02-14 주식회사 하이닉스반도체 반도체 메모리 장치의 데이터 입력 회로 및 방법

Similar Documents

Publication Publication Date Title
US7124221B1 (en) Low latency multi-level communication interface
US7019555B2 (en) Circuit for performing on-die termination operation in semiconductor memory device and its method
US6317369B1 (en) Semiconductor device allowing higher speed data transmission to and from external unit
US5973507A (en) Exclusive-or gate for use in delay using transmission gate circuitry
US5604775A (en) Digital phase locked loop having coarse and fine stepsize variable delay lines
US6510095B1 (en) Semiconductor memory device for operating in synchronization with edge of clock signal
US5095233A (en) Digital delay line with inverter tap resolution
US5369640A (en) Method and apparatus for clock skew reduction through remote delay regulation
US5298866A (en) Clock distribution circuit with active de-skewing
US6359815B1 (en) Data transmitter
US6987704B2 (en) Synchronous semiconductor memory device with input-data controller advantageous to low power and high frequency
US7368966B2 (en) Clock generator and clock duty cycle correction method
US20030184364A1 (en) Semiconductor integrated circuit with leak current cut-off circuit
US6157229A (en) Skew compensation device
US20080080492A1 (en) Packet based ID generation for serially interconnected devices
US20070002644A1 (en) Semiconductor memory device with increased domain crossing margin
US6608514B1 (en) Clock signal generator circuit and semiconductor integrated circuit with the same circuit
US20040212406A1 (en) Clock divider and clock dividing method for a DLL circuit
US20040124900A1 (en) Digital signal delay device
US6661265B2 (en) Delay locked loop for generating complementary clock signals
US7205803B2 (en) High speed fully scaleable, programmable and linear digital delay circuit
US6255879B1 (en) Digital programmable delay element
US6188640B1 (en) Data output circuits for semiconductor memory devices
US6285229B1 (en) Digital delay line with low insertion delay
US7064989B2 (en) On-die termination control circuit and method of generating on-die termination control signal

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: 20101224

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee