KR102083005B1 - 종단 저항을 보정하는 반도체 메모리 장치 및 그것의 종단 저항 보정 방법 - Google Patents

종단 저항을 보정하는 반도체 메모리 장치 및 그것의 종단 저항 보정 방법 Download PDF

Info

Publication number
KR102083005B1
KR102083005B1 KR1020130131334A KR20130131334A KR102083005B1 KR 102083005 B1 KR102083005 B1 KR 102083005B1 KR 1020130131334 A KR1020130131334 A KR 1020130131334A KR 20130131334 A KR20130131334 A KR 20130131334A KR 102083005 B1 KR102083005 B1 KR 102083005B1
Authority
KR
South Korea
Prior art keywords
correction
value
correction code
bit
logic
Prior art date
Application number
KR1020130131334A
Other languages
English (en)
Other versions
KR20150050021A (ko
Inventor
이훈
박진희
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020130131334A priority Critical patent/KR102083005B1/ko
Priority to US14/466,509 priority patent/US9118313B2/en
Publication of KR20150050021A publication Critical patent/KR20150050021A/ko
Application granted granted Critical
Publication of KR102083005B1 publication Critical patent/KR102083005B1/ko

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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0005Modifications of input or output impedance
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • 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/1057Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/12Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration
    • 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/1048Data bus control circuits, e.g. precharging, presetting, equalising

Abstract

본 발명은 종단 저항을 보정하는 반도체 메모리 장치에 있어서, 보정 개시 신호에 응답하여 보정 코드 중 소정의 상위 비트열의 값이 상단 임계값 이상인지 또는 하단 임계값 이하인지 판단한 결과에 기초하여 데이터 출력 드라이버의 종단 저항 값을 조정하기 위한 조정 신호를 생성하는 자가 조정 로직, 및 자가 조정 로직으로 상위 비트열을 제공하고, 기준 전압과 비교 대상 노드의 전압의 크기 비교 결과에 기초하여 생성된 비교 신호와 보정 코드에 기초하여 보정 연산을 수행하여 갱신된 보정 코드를 생성하는 저항 보정 로직을 포함하되, 갱신된 보정 코드는 조정 신호에 의해 값이 조정된 데이터 출력 드라이버의 종단 저항을 보정하는 반도체 메모리 장치 및 종단 저항 보정 방법을 제공한다. 본 발명에 의해 종단 저항 값은 자동으로 조정되고, 짧은 시간 안에 종단 저항이 보정된다. 또한, 종단 저항 보정의 신뢰도가 향상된다.

Description

종단 저항을 보정하는 반도체 메모리 장치 및 그것의 종단 저항 보정 방법{SEMICONDUCTOR MEMORY DEVICE CALIBRATING TERMINATION RESISTANCE AND TERMINATION RESISTANCE CALIBRATION METHOD THEREOF}
본 발명은 반도체 메모리 시스템에 관한 것으로, 좀 더 구체적으로는 종단 저항(Termination Resistance)을 포함하는 반도체 메모리 장치의 종단 저항 보정 방법에 관한 것이다.
메모리 시스템의 전송 선로를 따라 전송되는 데이터 신호는 전송 선로의 종단에서 반사될 수 있다. 반사된 데이터 신호는 노이즈(Noise)가 되어 원래의 데이터 신호에 영향을 주고 데이터 신호의 품질을 떨어뜨린다. 데이터 신호의 반사를 방지하기 위해 전송 선로의 종단에 종단 저항(Termination Resistance)이 연결된다. 종단 저항은 메모리 시스템의 내부와 외부의 임피던스를 매칭(Matching)하여 데이터 신호의 반사를 줄이고 데이터 신호의 품질 저하를 방지하기 위한 구성 요소이다. 종단 저항은 빠른 작동 속도를 갖는 DRAM(Dynamic Random Access Memory)에서 주로 사용된다. 근래에는 DRAM 사이의 신호 간섭을 막기 위해 DRAM의 내부에 종단 저항을 연결하는 ODT(On Die Termination) 기술이 사용된다.
DRAM이 DDR3 SDRAM(Double Data Rate 3 Synchronous DRAM) 규격에서 1000MHz 이상의 매우 빠른 작동 속도를 가지게 되면서, 더 높은 신호 품질과 안정성이 요구된다. 종단 저항 값이 제조 공정, 전원 전압, 및 작동 온도의 변화에 따라 변동되어 임피던스 매칭이 이루어지지 않으면, 데이터 신호의 빠른 전송이 어려워지고 데이터가 왜곡된다. DDR3 SDRAM은 높은 신호 품질과 안정성의 확보를 위해 ZQ 캘리브레이션(ZQ Calibration) 로직을 이용한다. ZQ 캘리브레이션 로직이 생성한 보정 코드에 따라 종단 저항이 보정됨으로써 메모리 시스템의 내부와 외부의 임피던스가 매칭될 수 있다.
그런데, 종단 저항의 보정이 이루어지는 시간은 한정되어 있다. 종래의 ZQ 캘리브레이션 로직에 따르면, 시간 제약 때문에 풀업 저항과 풀다운 저항 각각의 보정 구간이 일부 중첩되는 등, 보정의 신뢰도가 떨어질 수 있다. 시간 제약을 극복하기 위해 보정 코드의 비트 수가 줄어드는 경우, 인코딩 정확도가 감소하여 데이터 출력 드라이버의 특성이 나쁜 영향을 받게 된다. 뿐만 아니라, 제조 공정, 전원 전압, 그리고 작동 온도의 변화(PVT Variation)에 따라 종단 저항의 값이 크게 변동되면 정확한 임피던스 매칭이 불가능해질 수 있다.
종래 기술에 따르면, 퓨즈(Fuse)를 이용하여 수동으로 종단 저항의 값을 조정함으로써 적절한 임피던스 매칭이 이루어진다. 그러나 이 방식에 따르면, 임피던스 매칭을 위한 보정 시간이 늘어나고 자동 보정이 불가능한 한계가 있다.
종단 저항의 값을 자동으로 조정할 수 있는 반도체 메모리 장치 및 종단 저항 보정 방법이 제공된다. 또한, 짧은 시간 안에 종단 저항을 보정할 수 있는 반도체 메모리 장치 및 종단 저항 보정 방법이 제공된다. 즉, 본 발명의 실시 예에 따르면 종단 저항의 값이 자동으로 조정되어 짧은 시간 안에 높은 신뢰도를 갖는 종단 저항 보정이 수행될 수 있다.
본 발명의 일 실시 예에 따라 종단 저항을 보정하는 반도체 메모리 장치는 보정 개시 신호에 응답하여 보정 코드 중 소정의 상위 비트열의 값이 상단 임계값 이상인지 또는 하단 임계값 이하인지 판단하고, 판단 결과에 기초하여 데이터 출력 드라이버의 종단 저항 값을 조정하기 위한 조정 신호를 생성하는 자가 조정 로직; 및 자가 조정 로직으로 상위 비트열을 제공하고, 기준 전압과 비교 대상 노드의 전압의 크기 비교 결과에 기초하여 생성된 비교 신호, 그리고 보정 코드에 기초하여 보정 연산을 수행하여 갱신된 보정 코드를 생성하는 저항 보정 로직을 포함하되, 갱신된 보정 코드는 조정 신호에 의해 값이 조정된 데이터 출력 드라이버의 종단 저항을 보정할 수 있다.
본 발명의 일 실시 예에서, 조정 신호에 의해 데이터 출력 드라이버의 종단 저항 값이 증가하는 방향 또는 감소하는 방향으로 조정되되, 상위 비트열의 값이 상단 임계값 이상인 경우와 하단 임계값 이하인 경우에 각각 서로 다른 방향으로 조정될 수 있다.
본 발명의 일 실시 예에서, 자가 조정 로직은 보정 코드 중 보정 연산이 시작되는 비트의 위치 정보를 포함하는 비트 위치 신호를 더 생성하고, 보정 연산은 비교 신호, 보정 코드, 그리고 비트 위치 신호에 기초하여 수행될 수 있다.
본 발명의 일 실시 예에서, 비트 위치 신호는 상위 비트열의 값이 상단 임계값 이상 또는 하단 임계값 이하인 경우 상위 비트열에 포함되는 비트 중 어느 하나의 비트의 위치 정보를 포함하고, 상위 비트열의 값이 상단 임계값보다 작고 하단 임계값보다 큰 경우 보정 코드에서 상위 비트열을 제외한 나머지 비트 중 어느 하나의 비트의 위치 정보를 포함할 수 있다.
본 발명의 일 실시 예에서, 저항 보정 로직은 어느 하나의 비트만 논리 1 또는 논리 0의 값을 갖는 연산 비트열을 보정 코드에 가산하거나 보정 코드에서 감산하여 보정 연산을 수행하되, 비교 신호에 기초하여 가산 및 감산 중 어느 하나가 수행되고, 연산 비트열 중 논리 1 또는 논리 0의 값을 갖는 어느 하나의 비트의 위치는 가산 또는 감산이 수행될 때마다 비트 위치 신호에 대응되는 비트의 위치에서부터 하위 비트 방향으로 소정의 비트씩 변경되고, 가산 또는 감산은 연산 비트열 중 최하위 비트가 논리 1 또는 논리 0의 값을 갖는 어느 하나의 비트가 된 때까지 반복적으로 수행될 수 있다. 이 실시 예에서, 갱신된 보정 코드는 가산 또는 감산의 수행이 종료된 때의 보정 코드에 대응될 수 있다.
본 발명의 다른 실시 예에 따라 반도체 메모리 장치의 종단 저항을 보정하는 방법은 보정 개시 신호에 응답하여 보정 코드를 로딩하는 단계; 보정 코드 중 소정의 상위 비트열의 값이 상단 임계값 이상인지 또는 하단 임계값 이하인지 판단하는 단계; 상위 비트열의 값이 상단 임계값 이상 또는 하단 임계값 이하인 경우 데이터 출력 드라이버의 종단 저항 값을 조정하는 단계; 기준 전압과 비교 대상 노드의 전압의 크기 비교 결과에 기초하여 생성된 비교 신호, 그리고 보정 코드에 기초하여 보정 연산을 수행하여 갱신된 보정 코드를 생성하는 단계; 및 조정된 값을 갖는 데이터 출력 드라이버의 종단 저항을 갱신된 보정 코드에 기초하여 보정하는 단계를 포함할 수 있다.
본 발명의 다른 실시 예에서, 데이터 출력 드라이버의 종단 저항 값은 증가하는 방향 또는 감소하는 방향으로 조정되되, 데이터 출력 드라이버의 종단 저항 값은 상위 비트열의 값이 상단 임계값 이상인 경우와 하단 임계값 이하인 경우에 각각 서로 다른 방향으로 조정될 수 있다.
본 발명의 다른 실시 예는 보정 코드 중 보정 연산이 시작되는 비트의 위치 정보를 포함하는 비트 위치 신호를 생성하는 단계를 더 포함할 수 있다. 이 실시 예에서, 보정 연산은 비교 신호, 보정 코드, 및 비트 위치 신호에 기초하여 수행될 수 있다.
본 발명의 다른 실시 예에서, 비트 위치 신호는 상위 비트열의 값이 상단 임계값 이상 또는 하단 임계값 이하인 경우 상위 비트열에 포함되는 비트 중 어느 하나의 비트의 위치 정보를 포함하고, 상위 비트열의 값이 상단 임계값보다 작고 하단 임계값보다 큰 경우 보정 코드에서 상위 비트열을 제외한 나머지 비트 중 어느 하나의 비트의 위치 정보를 포함할 수 있다.
본 발명의 다른 실시 예에서, 보정 연산은 어느 하나의 비트만 논리 1 또는 논리 0의 값을 갖는 연산 비트열을 보정 코드에 가산하거나 보정 코드에서 감산하여 수행되되, 비교 신호에 기초하여 가산 및 감산 중 어느 하나가 수행되고, 연산 비트열 중 논리 1 또는 논리 0의 값을 갖는 어느 하나의 비트의 위치는 가산 또는 감산이 수행될 때마다 비트 위치 신호에 대응되는 비트의 위치에서부터 하위 비트 방향으로 소정의 비트씩 변경되고, 가산 또는 감산은 연산 비트열 중 최하위 비트가 논리 1 또는 논리 0의 값을 갖는 어느 하나의 비트가 된 때까지 반복적으로 수행될 수 있다. 이 실시 예에서, 갱신된 보정 코드는 가산 또는 감산의 수행이 종료된 때의 보정 코드에 대응될 수 있다.
본 발명의 또 다른 실시 예에 따라 종단 저항을 보정하는 반도체 메모리 장치는 제 1 보정 개시 신호에 응답하여 제 1 보정 코드 중 소정의 제 1 상위 비트열의 값이 제 1 상단 임계값 이상인지 또는 제 1 하단 임계값 이하인지 여부에 관한 제 1 판단을 수행하고, 제 1 판단의 결과에 기초하여 데이터 출력 드라이버의 제 1 종단 저항 값을 조정하기 위한 제 1 조정 신호를 생성하고, 기준 전압과 제 1 저항 유닛의 출력 전압의 크기 비교 결과에 기초하여 생성된 제 1 비교 신호, 그리고 제 1 보정 코드에 기초하여 제 1 보정 연산을 수행하여 갱신된 제 1 보정 코드 및 제 2 보정 개시 신호를 생성하는 제 1 보정 로직 유닛; 및 제 2 보정 개시 신호에 응답하여 제 2 보정 코드 중 소정의 제 2 상위 비트열의 값이 제 2 상단 임계값 이상인지 또는 제 2 하단 임계값 이하인지 여부에 관한 제 2 판단을 수행하고, 제 2 판단의 결과에 기초하여 데이터 출력 드라이버의 제 2 종단 저항 값을 조정하기 위한 제 2 조정 신호를 생성하고, 기준 전압과 제 2 저항 유닛의 출력 전압의 크기 비교 결과에 기초하여 생성된 제 2 비교 신호, 그리고 제 2 보정 코드에 기초하여 제 2 보정 연산을 수행하여 갱신된 제 2 보정 코드를 생성하는 제 2 보정 로직 유닛을 포함하되, 갱신된 제 1 보정 코드는 제 1 조정 신호에 의해 값이 조정된 데이터 출력 드라이버의 제 1 종단 저항을 보정하고, 갱신된 제 2 보정 코드는 제 2 조정 신호에 의해 값이 조정된 데이터 출력 드라이버의 제 2 종단 저항을 보정할 수 있다.
본 발명의 또 다른 실시 예에서, 제 1 보정 로직 유닛은 제 1 보정 개시 신호에 응답하여 제 1 판단을 수행하고, 제 1 판단의 결과에 기초하여 제 1 조정 신호를 생성하는 자가 조정 로직; 및 자가 조정 로직으로 제 1 상위 비트열을 제공하고, 제 1 비교 신호와 제 1 보정 코드에 기초하여 제 1 보정 연산을 수행하여 갱신된 제 1 보정 코드 및 제 2 보정 개시 신호를 생성하는 저항 보정 로직을 포함할 수 있다.
본 발명의 또 다른 실시 예에서, 제 2 보정 로직 유닛은 제 2 보정 개시 신호에 응답하여 제 2 판단을 수행하고, 제 2 판단의 결과에 기초하여 제 2 조정 신호를 생성하는 자가 조정 로직; 및 자가 조정 로직으로 제 2 상위 비트열을 제공하고, 제 2 비교 신호와 제 2 보정 코드에 기초하여 제 2 보정 연산을 수행하여 갱신된 제 2 보정 코드를 생성하는 저항 보정 로직을 포함할 수 있다.
본 발명의 실시 예에 따르면, 종단 저항의 값은 퓨즈를 이용한 수동 제어 없이 자동으로 조정될 수 있다. 또한 본 발명의 실시 예에 따르면, 짧은 시간 안에 종단 저항이 보정될 수 있다. 특히, 데이터 출력 드라이버의 특성에 대한 영향 없이 시간 제약이 극복될 수 있다. 따라서, 시간 여유가 확보되어 풀업 저항과 풀다운 저항 각각의 보정 구간이 중첩되지 않을 수 있다. 즉, 본 발명의 실시 예에 따르면 종단 저항 보정의 신뢰도가 향상될 수 있다.
도 1은 본 발명의 일 실시 예에 따른 종단 저항 보정 회로가 가질 수 있는 구성을 나타낸 블록도이다.
도 2는 본 발명의 일 실시 예의 조정 신호와 갱신된 보정 코드에 의해 가변 저항 유닛의 저항 값을 변경하는 과정을 설명하기 위한 블록도이다.
도 3 내지 도 7은 본 발명의 실시 예의 조정 신호의 기능을 설명하기 위한 개념도이다.
도 8은 본 발명의 일 실시 예의 조정 신호와 갱신된 보정 코드에 의해 데이터 출력 드라이버의 종단 저항 값을 변경하는 과정을 설명하기 위한 블록도이다.
도 9는 본 발명의 실시 예의 보정 연산의 예시를 설명하기 위한 개념도이다.
도 10 내지 도 12는 본 발명의 실시 예의 비트 위치 신호에 포함되는 위치 정보를 설명하기 위한 개념도이다.
도 13은 본 발명의 일 실시 예에 따른 종단 저항 보정 회로가 가질 수 있는 다른 구성을 나타낸 블록도이다.
도 14는 본 발명의 다른 실시 예에 따른 종단 저항 보정 방법을 설명하는 흐름도이다.
도 15는 본 발명의 다른 실시 예에 따른 종단 저항 보정 방법을 설명하는 다른 흐름도이다.
도 16은 본 발명의 또 다른 실시 예에 따른 종단 저항 보정 회로가 가질 수 있는 구성을 나타낸 블록도이다.
도 17은 본 발명의 또 다른 실시 예의 제 1 및 제 2 조정 신호와 갱신된 제 1 및 제 2 보정 코드에 의해 데이터 출력 드라이버의 제 1 및 제 2 종단 저항 값을 변경하는 과정을 설명하기 위한 블록도이다.
도 18은 본 발명의 실시 예에 따른 종단 저항 보정 회로를 포함하는 메모리 시스템이 가질 수 있는 구성을 나타낸 블록도이다.
도 19는 본 발명의 실시 예를 이용하는 컴퓨팅 시스템이 가질 수 있는 구성을 나타낸 블록도이다.
전술한 특성 및 이하 상세한 설명은 모두 본 발명의 설명 및 이해를 돕기 위한 예시적인 사항이다. 즉, 본 발명은 이와 같은 실시 예에 한정되지 않고 다른 형태로 구체화될 수 있다. 다음 실시 형태들은 단지 본 발명을 완전히 개시하기 위한 예시이며, 본 발명이 속하는 기술 분야의 통상의 기술자들에게 본 발명을 전달하기 위한 설명이다. 따라서 본 발명의 구성 요소들을 구현하기 위한 방법이 여럿 있는 경우에는, 이들 방법 중 특정한 것 또는 이와 동일성 있는 것 가운데 어떠한 것으로든 본 발명의 구현이 가능함을 분명히 할 필요가 있다.
본 명세서에서 어떤 구성이 특정 요소들을 포함한다는 언급이 있는 경우, 또는 어떤 과정이 특정 단계들을 포함한다는 언급이 있는 경우는, 그 외 다른 요소 또는 다른 단계들이 더 포함될 수 있음을 의미한다. 즉, 본 명세서에서 사용되는 용어들은 특정 실시 형태를 설명하기 위한 것일 뿐이고, 본 발명의 개념을 한정하기 위한 것이 아니다. 나아가, 발명의 이해를 돕기 위해 설명한 예시들은 그것의 상보적인 실시 예도 포함한다.
본 명세서에서 사용되는 용어들은 본 발명이 속하는 기술 분야의 통상의 기술자들이 일반적으로 이해하는 의미를 갖는다. 보편적으로 사용되는 용어들은 본 명세서의 맥락에 따라 일관적인 의미로 해석되어야 한다. 또한 본 명세서에서 사용되는 용어들은, 그 의미가 명확히 정의된 경우가 아니라면, 지나치게 이상적이거나 형식적인 의미로 해석되지 않아야 한다.
이하의 설명에서, 반도체 메모리 장치로서 DRAM(Dynamic Random Access Memory)이 사용되는 것으로 가정된다. 그러나, 본 발명의 기술 사상은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해, 빠른 작동 속도를 가지고 종단 저항(Termination Impedance)을 포함하는 다른 반도체 메모리 장치에 적용될 수 있다. 즉, 이하의 설명은 본 발명의 기술 사상을 개시하고 기술 사상의 이해를 돕기 위한 것이고 본 발명의 내용을 제한하기 위한 것이 아니다. 이하 첨부된 도면을 통하여 본 발명의 실시 예가 설명된다.
도 1은 본 발명의 일 실시 예에 따른 종단 저항 보정 회로가 가질 수 있는 구성을 나타낸 블록도이다. 본 발명의 일 실시 예에 따른 종단 저항 보정 회로(100a)는 반도체 메모리 장치의 종단 저항을 보정하기 위한 회로이다. 종단 저항 보정 회로(100a)는 자가 조정 로직(120a) 및 저항 보정 로직(140a)을 포함할 수 있다. 종단 저항 보정 회로(100a)는 반도체 메모리 장치에 포함될 수 있다.
자가 조정 로직(120a)은 보정 개시 신호(CAL_ST)를 제공받을 수 있다. 예로서, 보정 개시 신호(CAL_ST)는 메모리 시스템에 포함되는 커맨드 디코더(미도시)에 의해 생성될 수 있다. 자가 조정 로직(120a)은 보정 개시 신호(CAL_ST)에 응답하여 작동을 시작할 수 있다.
자가 조정 로직(120a)은 복수 비트의 보정 코드 중 상위의 소정의 개수의 비트에 대응되는 상위 비트열(P[N-1:N-k])을 참조할 수 있다. 보정 코드는 종단 저항을 보정하기 위한 코드이다. 보정 코드를 이용한 종단 저항의 보정에 관한 설명은 뒤에서 언급된다. 보정 코드는 N개의 비트로 형성된 코드이다. 보정 코드를 형성하는 N개 비트 중 상위의 k개 비트가 추출될 수 있고, 추출된 k개 비트는 상위 비트열(P[N-1:N-k])을 형성할 수 있다. 예로서, 보정 코드에 대응되는 데이터는 저항 보정 로직(140a)에 포함되는 레지스터(미도시)에 저장되어 있을 수 있다. 저항 보정 로직(140a)은 보정 코드 중 상위 비트열(P[N-1:N-k])에 대응하는 신호를 자가 조정 로직(120a)으로 제공할 수 있다.
이하에서, 보정 코드는 6비트 코드(즉, N=6)이고, 보정 코드 중 상위의 3비트를 추출(즉, k=3)하여 상위 비트열(P[5:3])이 형성되는 것으로 가정된다. 그러나, 보정 코드 및 상위 비트열은 다른 수의 비트로 형성될 수 있음이 명백하다. 즉, 위 가정은 설명의 편의 및 본 발명의 이해를 위한 것이고 본 발명의 기술 사상의 범위를 제한하기 위한 것이 아니다.
자가 조정 로직(120a)은 제공받은 상위 비트열(P[5:3])의 값이 상단 임계값 이상인지 또는 하단 임계값 이하인지 판단할 수 있다. 하단 임계값은 상단 임계값 이하인 값일 수 있다. 상단 임계값과 하단 임계값은 필요에 따라 임의로 설정될 수 있다. 예로서, 상단 임계값은 '111'일 수 있고 하단 임계값은 '000'일 수 있다. 이 예에 따르면, 자가 조정 로직(120a)은 3비트의 상위 비트열(P[5:3])이 '111' 이상인지 또는 '000' 이하인지 판단할 수 있다. 다만, 상단 임계값 또는 하단 임계값은 '111' 또는 '000'으로 제한되지 않는다. 나아가 회로 설계에 따라, 상단 임계값이 '000'으로 될 수 있고 하단 임계값이 '111'로 될 수도 있다. 즉, 본 발명의 실시 형태는 본 발명이 속하는 기술 분야의 통상의 지식을 가진 자에 의해 다양한 형태로 변형될 수 있다.
자가 조정 로직(120a)은 판단의 결과에 기초하여 조정 신호(ADJ)를 생성할 수 있다. 조정 신호(ADJ)는 데이터 출력 드라이버의 종단 저항 값의 조정을 위한 신호이다. 예로서, 3비트의 상위 비트열(P[5:3])이 상단 임계값인 '111' 이상이거나 하단 임계값인 '000' 이하인 경우 조정 신호(ADJ)가 생성될 수 있다. 조정 신호(ADJ)의 기능에 관한 설명은 도 2 내지 도 8에 대한 설명에서 언급된다.
저항 보정 로직(140a)은 비교 신호(CMPR)를 제공받을 수 있다. 비교 신호(CMPR)는 기준 전압과 비교 대상 노드의 전압의 크기 비교 결과에 기초하여 생성된 신호이다. 즉, 비교 신호(CMPR)는 기준 전압과 비교 대상 노드의 전압의 대소 관계에 따라 다른 값을 가질 수 있다. 예로서, 비교 대상 노드는 풀업(Pull-up) 저항의 출력단 또는 풀다운(Pull-down) 저항의 입력단일 수 있다. 비교 신호(CMPR)는 비교기(미도시)에 의해 생성될 수 있다. 비교 신호(CMPR)는 자가 조정 로직(120a)을 통해서 또는 직접 저항 보정 로직(140a)으로 제공될 수 있다.
저항 보정 로직(140a)은 제공받은 비교 신호(CMPR) 및 레지스터에 저장되어 있는 보정 코드에 기초하여 보정 연산을 수행할 수 있다. 보정 연산은 비교 신호(CMPR)의 값에 따라 보정 코드의 값을 증가 또는 감소시키는 연산이다. 보정 코드는 종단 저항의 보정을 위한 코드, 즉, 종단 저항과 외부 저항(미도시)의 임피던스 매칭을 위한 코드이다. 기준 전압보다 비교 대상 노드의 전압이 높은 경우, 저항 보정 로직(140a)은 보정 코드의 값을 증가(또는 감소)시켜 종단 저항을 보정함으로써 비교 대상 노드의 전압을 낮출 수 있다. 이와 반대로, 기준 전압보다 비교 대상 노드의 전압이 낮은 경우, 저항 보정 로직(140a)은 보정 코드의 값을 감소(또는 증가)시켜 종단 저항을 보정함으로써 비교 대상 노드의 전압을 높일 수 있다.
저항 보정 로직(140a)은 비교 대상 노드의 전압이 기준 전압과 같아질 때까지 보정 코드의 값을 증가 또는 감소시킬 수 있다. 비교 대상 노드의 전압이 기준 전압과 같아질 때, 종단 저항과 외부 저항이 매칭될 수 있다. 종단 저항과 외부 저항이 매칭되는 때의 보정 코드는 갱신된 보정 코드(P[5:0])로서 저항 보정 로직(140a)의 레지스터에 저장될 수 있다. 갱신된 보정 코드(P[5:0])는 저항 보정 로직(140a)으로부터 출력될 수 있다.
특히, 데이터 출력 드라이버의 종단 저항 값은 먼저 조정 신호(ADJ)에 의해 조정될 수 있다. 그 다음으로, 조정 신호(ADJ)에 의해 조정된 값을 갖는 종단 저항은 갱신된 보정 코드(P[5:0])에 의해 보정될 수 있다. 즉, 데이터 출력 드라이버의 종단 저항은 조정 신호(ADJ)에 의한 값 조정 단계와 갱신된 보정 코드(P[5:0])에 의한 보정 단계를 거쳐 외부 저항과 매칭될 수 있다.
도 2는 본 발명의 일 실시 예의 조정 신호와 갱신된 보정 코드에 의해 가변 저항 유닛의 저항 값을 변경하는 과정을 설명하기 위한 블록도이다. 가변 저항 유닛(160)의 등가 회로는 복수의 트랜지스터(162)와 거기에 연결된 복수의 저항(164)로 표현될 수 있다.
복수의 트랜지스터(162)에 포함되는 각각의 트랜지스터는 갱신된 보정 코드(P[N-1:0]) 또는 조정 신호(ADJ)에 의해 턴 온 또는 턴 오프될 수 있다. 구체적으로, 복수 비트의 갱신된 보정 코드(P[N-1:0]) 또는 복수 비트의 조정 신호(ADJ)의 각 비트의 값에 기초하여, 복수의 트랜지스터(162)에 포함되는 각각의 트랜지스터가 턴 온 또는 턴 오프될 수 있다. 예로서, 6비트의 갱신된 보정 코드(P[5:0])가 사용되는 경우 복수의 트랜지스터(162)는 6개의 트랜지스터를 포함할 수 있다. 6개의 트랜지스터 각각은 갱신된 보정 코드(P[5:0])의 각 비트의 값에 의해 턴 온 또는 턴 오프될 수 있다. 조정 신호(ADJ) 역시 갱신된 보정 코드(P[N-1:0])와 같이 복수의 트랜지스터(162)에 포함되는 각각의 트랜지스터를 턴 온 또는 턴 오프할 수 있다. 다만, 갱신된 보정 코드(P[N-1:0]) 또는 조정 신호(ADJ)를 형성하는 비트의 수와 복수의 트랜지스터(162)에 포함되는 트랜지스터의 수는 필요에 따라 변경될 수 있다.
복수의 트랜지스터(162)에 포함되는 각각의 트랜지스터의 턴 온 또는 턴 오프에 따라, 복수의 저항(164)에 포함되는 각각의 저항에 전류가 흐르거나 흐르지 않을 수 있다. 따라서, 가변 저항 유닛(160)의 등가 저항 값이 변경될 수 있다. 즉, 갱신된 보정 코드(P[N-1:0]) 또는 조정 신호(ADJ)에 의해 가변 저항 유닛(160)의 등가 저항 값이 변경될 수 있다.
도 3 내지 도 7은 본 발명의 실시 예의 조정 신호의 기능을 설명하기 위한 개념도이다. 도 2에 대한 설명에서 언급된 바와 같이, 조정 신호(ADJ, 도 2 참조)에 의해 가변 저항 유닛(160, 도 2 참조)의 등가 저항 값이 변경될 수 있다. 특히, 조정 신호(ADJ)는 종단 저항의 보정에 앞서 종단 저항 값을 조정하기 위한 신호이다.
발명의 이해를 돕기 위해, 6비트의 보정 코드가 사용되는 것으로 가정된다. 그리고, 종단 저항은 도 2의 가변 저항 유닛(160)의 등가 회로와 같은 구조를 갖는 것으로 가정된다. 나아가, 보정 코드 '111111'에 의해 종단 저항의 최대 값(Rmax)이 인코딩되고, 보정 코드 '000000'에 의해 종단 저항의 최소 값(Rmin)이 인코딩되는 것으로 가정된다. 위 가정들은 설명의 편의를 위한 것이고 발명의 범위를 제한하기 위한 것은 아니다. 이하, 조정 신호(ADJ)의 기능이 설명된다.
도 3은 종단 저항이 가장 이상적인 상태에 있는 경우를 나타낸다. 도 3에서, 종단 저항이 가질 수 있는 저항 값의 최대 값(Rmax)과 최소 값(Rmin) 사이에 목표 값(Rtarget)이 위치한다. 종단 저항의 목표 값(Rtarget)은 종단 저항과 외부 저항이 매칭된 경우에 대응하는 종단 저항 값이다. 즉, 갱신된 보정 코드(P[5:0], 도 2 참조)에 의해 종단 저항의 목표 값(Rtarget)이 인코딩될 수 있다. 도 3에서, 보정 연산에 의해 보정 코드의 값이 증가 또는 감소하면 종단 저항의 목표 값(Rtarget)이 인코딩될 수 있다.
그런데, 종단 저항의 값이 제조 공정, 전원 전압, 및 작동 온도의 변화에 의해 많이 감소(도 4의 경우)하거나 많이 증가(도 5의 경우)하면, 보정 코드가 '111111'까지 증가하거나 '000000'까지 감소하더라도 종단 저항의 목표 값(Rtarget)이 인코딩될 수 없다. 즉, 종단 저항의 목표 값(Rtarget)이 최대 값(Rmax)과 최소 값(Rmin) 사이의 범위를 벗어나 위치하면, 보정 연산이 수행되더라도 종단 저항과 외부 저항이 매칭될 수 없다. 따라서, 도 4와 같이 종단 저항의 값이 많이 감소한 경우 도 6과 같이 종단 저항의 값을 증가시킬 필요가 있다. 또한, 도 5와 같이 종단 저항의 값이 많이 증가한 경우 도 7과 같이 종단 저항의 값을 감소시킬 필요가 있다.
도 4와 같이 많이 감소한 종단 저항의 값은 조정 신호(ADJ)에 의해 도 6과 같이 증가할 수 있다. 또한, 도 5와 같이 많이 증가한 종단 저항의 값은 조정 신호(ADJ)에 의해 도 7과 같이 감소할 수 있다. 즉, 조정 신호(ADJ)에 의해 종단 저항의 값이 조정될 수 있다. 조정 신호(ADJ)에 의해 종단 저항의 값이 조정되면, 종단 저항의 목표 값(Rtarget)이 최대 값(Rmax)과 최소 값(Rmin) 사이에 위치할 수 있다. 따라서, 보정 연산에 의해 종단 저항의 목표 값(Rtarget)을 인코딩하는 보정 코드(즉, 갱신된 보정 코드(P[5:0]))가 생성될 수 있게 된다.
도 8은 본 발명의 일 실시 예의 조정 신호와 갱신된 보정 코드에 의해 데이터 출력 드라이버의 종단 저항 값을 변경하는 과정을 설명하기 위한 블록도이다. 도 8에는 DQ 패드(DQ)를 통해 데이터를 출력하기 위한 데이터 출력 드라이버(180)의 일부가 도시되어 있다. 데이터 출력 드라이버(180)에는 메인 드라이버(182)와 서브 드라이버(184)가 포함될 수 있다.
메인 드라이버(182)에는 메인 드라이버 저항(Rm)이 포함될 수 있다. 그리고, 서브 드라이버(184)에는 서브 드라이버 저항(Rs)이 포함될 수 있다. 데이터 출력 드라이버(180)의 종단 저항은 메인 드라이버 저항(Rm)과 서브 드라이버 저항(Rs)으로 형성될 수 있다. 즉, 메인 드라이버 저항(Rm)의 값과 서브 드라이버 저항(Rs)의 값이 데이터 출력 드라이버(180)의 종단 저항 값을 결정할 수 있다.
자가 조정 로직(120a, 도 1 참조)이 생성한 조정 신호(ADJ)에 의해 메인 드라이버 저항(Rm)이 제어될 수 있다. 예로서, 메인 드라이버(182)는 도 2의 가변 저항 유닛(160, 도 2 참조)과 같은 구조를 가질 수 있다. 즉, 복수 비트의 조정 신호(ADJ)의 각 비트의 값에 기초하여 메인 드라이버(182)에 포함되는 각각의 트랜지스터가 턴 온 또는 턴 오프될 수 있다. 각각의 트랜지스터의 턴 온 또는 턴 오프에 따라, 각각의 트랜지스터에 연결된 각각의 저항에 전류가 흐르거나 흐르지 않을 수 있다. 따라서, 메인 드라이버 저항(Rm)의 값이 변경될 수 있다. 즉, 조정 신호(ADJ)에 의해 메인 드라이버 저항(Rm)의 값이 변경될 수 있다.
예컨대, 데이터 출력 드라이버(180)의 종단 저항의 값이 제조 공정, 전원 전압, 및 작동 온도의 변화에 의해 많이 감소하거나 증가하면, 종단 저항과 외부 저항이 매칭될 수 없다. 따라서, 데이터 출력 드라이버(180)의 종단 저항의 값이 많이 감소하거나 많이 증가한 경우 종단 저항의 값을 조정할 필요가 있다.
데이터 출력 드라이버(180)의 종단 저항의 값은 조정 신호(ADJ)에 의해 증가하는 방향 또는 감소하는 방향으로 조정될 수 있다. 예컨대, 종단 저항의 값이 도 4와 같이 많이 감소한 경우, 종단 저항의 값은 조정 신호(ADJ)에 의해 도 6과 같이 증가하는 방향으로 조정될 수 있다. 또는, 종단 저항의 값이 도 5와 같이 많이 증가한 경우, 종단 저항의 값은 조정 신호(ADJ)에 의해 도 7과 같이 감소하는 방향으로 조정될 수 있다. 특히, 조정 신호(ADJ)에 의해 메인 드라이버 저항(Rm)의 값을 조정함으로써 종단 저항의 값이 조정될 수 있다. 조정 신호(ADJ)에 의해 종단 저항의 값이 조정되면 종단 저항과 외부 저항의 임피던스 매칭이 가능해진다.
여기서, 실시 예로서, 조정 신호(ADJ)에 의해 종단 저항의 값을 조정하는 방향을 결정하는 기준이 설명된다. 설명의 편의를 위해, 6비트의 보정 코드 중 상위의 3비트가 상위 비트열(P[5:3])을 형성하는 것으로 가정된다. 앞서 언급된 바와 같이, 이 가정은 발명의 범위를 제한하기 위한 것이 아니다. 예로서, 상단 임계값이 '111'이고 하단 임계값이 '000'인 경우가 설명된다. 다만, 이 예시는 발명의 개념을 설명하기 위한 것이다. 앞서 설명된 바와 같이, 상단 임계값 또는 하단 임계값은 '111' 또는 '000'으로 제한되지 않는다. 나아가, 회로 설계에 따라 상단 임계값이 '000'으로 될 수 있고 하단 임계값이 '111'로 될 수도 있다.
이 예시에서, 상위 비트열(P[5:3])이 '111'의 값을 갖는 경우, 종단 저항의 값이 제조 공정, 전원 전압, 및 작동 온도의 변화에 의해 감소한 상태일 수 있다. 상위 비트열(P[5:3])이 '111'의 값을 갖는다는 것은 보정 코드의 값을 많이 증가시킴으로써 종단 저항과 외부 저항이 매칭되었음을 의미하기 때문이다. 이 상태에서 종단 저항의 값이 더 감소하여 도 4와 같은 경우가 발생하면, 보정 연산이 수행되더라도 종단 저항과 외부 저항이 매칭되지 않을 수 있다. 이때, 종단 저항의 값은 조정 신호(ADJ)에 의해 증가하는 방향으로 조정될 수 있다. 종단 저항의 값이 증가하면 종단 저항과 외부 저항이 매칭될 수 있게 된다.
반면, 상위 비트열(P[5:3])이 '000'의 값을 갖는 경우, 종단 저항의 값이 제조 공정, 전원 전압, 및 작동 온도의 변화에 의해 증가한 상태일 수 있다. 상위 비트열(P[5:3])이 '000'의 값을 갖는다는 것은 보정 코드의 값을 많이 감소시킴으로써 종단 저항과 외부 저항이 매칭되었음을 의미하기 때문이다. 이 상태에서 종단 저항의 값이 더 증가하여 도 5와 같은 경우가 발생하면, 보정 연산이 수행되더라도 종단 저항과 외부 저항이 매칭되지 않을 수 있다. 이때, 조정 신호(ADJ)는 종단 저항의 값을 감소하는 방향으로 조정할 수 있다. 종단 저항의 값이 감소하면 종단 저항과 외부 저항이 매칭될 수 있게 된다.
상위 비트열(P[5:3])이 상단 임계값인 '111' 또는 하단 임계값인 '000'의 값을 가지면, 제조 공정, 전원 전압, 및 작동 온도의 변화에 의해 종단 저항과 외부 저항이 매칭되지 못할 가능성이 매우 커진다. 따라서, 상위 비트열(P[5:3])이 상단 임계값인 '111'의 값을 갖는 것으로 판단되면 조정 신호(ADJ)에 의해 미리 종단 저항의 값이 증가하는 방향으로 조정될 필요가 있다. 또한, 상위 비트열(P[5:3])이 하단 임계값인 '000'의 값을 갖는 것으로 판단되면 조정 신호(ADJ)에 의해 미리 종단 저항의 값이 감소하는 방향으로 조정될 필요가 있다.
즉, 상위 비트열(P[N-1:N-k])의 값이 상단 임계값 이상인 경우 조정 신호(ADJ)에 의해 미리 종단 저항의 값이 증가하는 방향으로 조정될 수 있다. 그리고, 상위 비트열(P[N-1:N-k])의 값이 하단 임계값 이하인 경우 조정 신호(ADJ)에 의해 미리 종단 저항의 값이 감소하는 방향으로 조정될 수 있다. 자가 조정 로직(120a)은 상위 비트열(P[N-1:N-k])의 값에 기초하여 조정 신호(ADJ)를 생성할 수 있다. 이로써, 종단 저항과 외부 저항이 매칭되지 않을 가능성이 줄어들 수 있다. 실시 예로서, 만일 상위 비트열(P[N-1:N-k])이 상단 임계값보다 작고 하단 임계값보다 크다면, 조정 신호(ADJ)가 생성되지 않을 수 있다. 또는, 종단 저항의 값을 조정할 필요가 없음을 나타내는 조정 신호(ADJ)가 생성될 수 있다.
다만, 상단 임계값이 '000'이고 하단 임계값이 '111'인 경우, 또는 보정 코드 '000000'이 종단 저항의 최대 값(Rmax)을 인코딩하고 보정 코드 '111111'이 종단 저항의 최소 값(Rmin)을 인코딩하는 경우 등에는, 조정 신호(ADJ)에 의한 종단 저항 값의 조정 방향이 바뀔 수 있다. 예컨대, 상위 비트열(P[5:3])의 값이 상단 임계값 이상인 경우 종단 저항의 값은 조정 신호(ADJ)에 의해 감소하는 방향으로 조정될 수 있다. 또한, 상위 비트열(P[5:3])의 값이 하단 임계값 이하인 경우 종단 저항의 값은 조정 신호(ADJ)에 의해 증가하는 방향으로 조정될 수 있다. 즉, 종단 저항 값은 상위 비트열(P[N-1:N-k])의 값이 상단 임계값 이상인 경우와 하단 임계값 이하인 경우에 각각 서로 다른 방향으로 조정 신호(ADJ)에 의해 조정될 수 있다.
갱신된 보정 코드(P[N-1:0])는 데이터 출력 드라이버(180)의 종단 저항을 보정할 수 있다. 특히, 갱신된 보정 코드(P[N-1:0])는 서브 드라이버 저항(Rs)의 값을 변경함으로써 종단 저항을 보정할 수 있다. 예로서, 서브 드라이버(184)는 도 2의 가변 저항 유닛(160)과 같은 구조를 가질 수 있다. 즉, 갱신된 보정 코드(P[N-1:0])의 각 비트의 값에 기초하여 서브 드라이버(184)에 포함되는 각각의 트랜지스터가 턴 온 또는 턴 오프될 수 있다. 각각의 트랜지스터의 턴 온 또는 턴 오프에 따라, 각각의 트랜지스터에 연결된 각각의 저항에 전류가 흐르거나 흐르지 않을 수 있다. 따라서, 서브 드라이버 저항(Rs)의 값이 변경될 수 있다.
갱신된 보정 코드(P[N-1:0])에 의해 종단 저항이 보정되면 종단 저항과 외부 저항이 매칭될 수 있다. 특히, 갱신된 보정 코드(P[N-1:0])는 조정 신호(ADJ)에 의해 값이 조정된 종단 저항을 보정할 수 있다. 갱신된 보정 코드(P[N-1:0])에 의해 종단 저항을 보정하기 전, 조정 신호(ADJ)에 의해 종단 저항의 값이 조정되어야 한다. 조정 신호(ADJ)에 의해 종단 저항의 값이 조정되지 않으면, 종단 저항과 외부 저항이 매칭되지 않을 가능성이 있기 때문이다.
저항 보정 로직(140a, 도 1 참조)은 갱신된 보정 코드(P[N-1:0])를 생성할 수 있다. 실시 예로서, 저항 보정 로직(140a)에 포함되는 레지스터(미도시)는 업/다운 카운터일 수 있다. 기준 전압과 비교 대상 노드의 전압의 크기 비교 결과에 따라, 업/다운 카운터에 저장된 보정 코드의 값이 1씩 증가 또는 감소할 수 있다. 증가 또는 감소한 값을 갖는 보정 코드에 기초하여 종단 저항의 값이 변경될 수 있다. 종단 저항의 값이 변경된 후 기준 전압과 비교 대상 노드의 전압의 크기가 다시 비교될 수 있다. 비교 결과에 따라 보정 코드의 값이 다시 증가 또는 감소할 수 있다.
위 과정이 반복하여 수행되면 기준 전압과 비교 대상 노드의 전압의 크기가 같아질 수 있다. 예로서, 기준 전압과 비교 대상 노드의 전압의 크기가 같아지는 경우, 종단 저항과 외부 저항이 매칭될 수 있다. 즉, 저항 보정 로직(140a)은 기준 전압과 비교 대상 노드의 전압의 크기가 같을 때의 보정 코드를 갱신된 보정 코드(P[N-1:0])로서 출력할 수 있다.
본 발명의 실시 예에 따르면, 제조 공정, 전원 전압, 및 작동 온도의 변화에 의해 종단 저항의 값이 많이 변동된 경우에도 종단 저항의 보정이 이루어질 수 있다. 또한, 본 발명의 실시 예에 따르면, 종단 저항의 값이 퓨즈를 이용한 수동 제어 없이 자동으로 조정될 수 있다. 따라서, 본 발명의 실시 예에 따르면 종단 저항 보정의 신뢰도가 향상될 수 있다.
조정 신호(ADJ)는 데이터 출력 드라이버(180)의 메인 드라이버 저항(Rm)의 값을 조정하여 종단 저항과 외부 저항이 매칭될 수 있는 상태를 만들 수 있다. 이를 위해, 상위 비트열(P[N-1:N-k])의 값이 상단 임계값 이상인지 또는 하단 임계값 이하인지 여부가 판단될 수 있다. 메인 드라이버 저항(Rm)의 값이 조정되어 종단 저항의 값이 조정된 후, 갱신된 보정 코드(P[N-1:0])는 서브 드라이버 저항(Rs)의 값을 변경하여 종단 저항을 세부적으로 보정할 수 있다. 이를 위해, 보정 코드의 값을 1씩 증가 또는 감소시키는 업/다운 카운터가 사용되어 보정 연산이 수행될 수 있다. 갱신된 보정 코드(P[N-1:0])에 의해 종단 저항이 보정되면 종단 저항과 외부 저항이 매칭될 수 있다.
그런데, 업/다운 카운터가 이용되면 최악의 경우 (2N-1)번의 연산이 필요할 수 있다. 즉, 업/다운 카운터가 이용되는 경우 비교적 많은 횟수의 연산이 필요할 수 있다. 따라서, 보정 연산에 소요되는 시간이 증가하고 보정 연산의 효율성이 낮아질 수 있다. 보정 연산에 소요되는 시간을 줄이기 위한 실시 예로서, 이진 탐색(Binary Search) 알고리즘을 활용한 보정 연산에 관한 설명이 도 9에 대한 설명과 함께 언급된다.
도 9는 본 발명의 실시 예의 보정 연산의 예시를 설명하기 위한 개념도이다. 특히, 도 9에 대한 설명과 함께 언급되는 보정 연산은 이진 탐색 알고리즘을 활용한다.
이진 탐색 알고리즘을 활용한 보정 연산에서, 어느 하나의 비트만 논리 1 또는 논리 0의 값을 갖는 연산 비트열이 사용될 수 있다. 연산 비트열은 보정 코드에 가산되거나 보정 코드에서 감산될 수 있다. 즉, 이진 탐색 알고리즘을 활용한 보정 연산은 연산 비트열과 보정 코드 사이의 덧셈 또는 뺄셈에 의해 수행될 수 있다. 연산 비트열과 보정 코드의 덧셈 및 뺄셈 중 수행될 연산은 기준 전압과 비교 대상 노드의 전압의 크기 비교 결과에 기초하여 생성된 비교 신호에 따라 결정될 수 있다.
특히, 연산 비트열 중 논리 1 또는 논리 0의 값을 갖는 어느 하나의 비트의 위치는 연산 비트열과 보정 코드의 덧셈 또는 뺄셈이 수행될 때마다 하위 비트 방향으로 소정의 비트씩 변경될 수 있다. 본 발명의 실시 예의 보정 연산은 이진 탐색 알고리즘을 활용할 수 있다. 즉, 연산 비트열 중 논리 1 또는 논리 0의 값을 갖는 어느 하나의 비트의 위치가 하위 비트 방향으로 소정의 비트씩 변경됨으로써, 연산 비트열의 값이 2의 승수만큼씩 감소할 수 있다. 연산 비트열 중 논리 1 또는 논리 0의 값을 갖는 어느 하나의 비트의 위치가 변경될 때마다 연산 비트열과 보정 코드의 덧셈 또는 뺄셈이 수행될 수 있다. 보정 연산은 연산 비트열 중 최하위 비트가 논리 1 또는 논리 0의 값을 갖는 어느 하나의 비트가 된 때까지 수행될 수 있다.
이상에서 언급된 보정 연산을 설명하기 위해, 도 9의 예에서 종단 저항과 외부 저항이 매칭되는 경우에 대응되는 목표 보정 코드(즉, 종단 저항의 목표 값(Rtarget, 도 3 내지 도 7 참조)을 인코딩하는 보정 코드)가 '100010'인 것으로 가정한다. 그리고, 저항 보정 로직(140a, 도 1 참조)의 레지스터(미도시)에 최초로 저장되어 있는 보정 코드가 '011111'인 것으로 가정한다. 나아가, 연산 비트열은 어느 하나의 비트만 논리 1의 값을 갖는 것으로 가정한다. 또한, 연산 비트열 중 논리 1의 값을 갖는 어느 하나의 비트의 위치는 하위 비트 방향으로 1비트씩 변경되는 것으로 가정한다. 다만, 위 가정은 본 발명의 이해를 돕기 위한 예시임이 명백하다. 덧붙여, 정확하게는 비교 신호에 따라 연산 비트열과 보정 코드의 덧셈 및 뺄셈 중 어느 하나가 수행되지만, 발명의 이해를 돕기 위해 목표 보정 코드와 레지스터에 저장된 보정 코드의 크기가 비교되는 것으로 설명된다.
보정 연산의 1단계에서, 목표 보정 코드 '100010'과 저장된 보정 코드 '011111'의 크기가 비교된다. 두 코드 중 목표 보정 코드의 크기가 더 크기 때문에, 저장된 보정 코드의 크기를 증가시키기 위해 저장된 보정 코드에 연산 비트열이 가산된다. 정확하게는, 예컨대, 비교 대상 노드의 전압이 기준 전압보다 높음을 나타내는 비교 신호가 생성될 수 있고, 생성된 비교 신호에 기초하여 저장된 보정 코드에 연산 비트열이 가산될 수 있다. 보정 연산의 1단계에서, 연산 비트열 중 최상위 비트가 논리 1의 값을 갖는 어느 하나의 비트일 수 있다. 저장된 보정 코드 '011111'에 연산 비트열 '100000'이 가산되어, 보정 코드 '111111'이 저장된다.
보정 연산의 2단계에서, 목표 보정 코드 '100010'과 저장된 보정 코드 '111111'의 크기가 비교된다. 두 코드 중 저장된 보정 코드의 크기가 더 크기 때문에, 저장된 보정 코드의 크기를 감소시키기 위해 저장된 보정 코드에서 연산 비트열이 감산된다. 보정 연산의 2단계에서, 연산 비트열 중 2번째 상위 비트가 논리 1의 값을 갖는 어느 하나의 비트일 수 있다. 저장된 보정 코드 '111111'에서 연산 비트열 '010000'이 감산되어, 보정 코드 '101111'이 저장된다.
보정 연산의 3단계에서, 목표 보정 코드 '100010'과 저장된 보정 코드 '101111'의 크기가 비교된다. 두 코드 중 저장된 보정 코드의 크기가 더 크기 때문에, 저장된 보정 코드의 크기를 감소시키기 위해 저장된 보정 코드에서 연산 비트열이 감산된다. 보정 연산의 3단계에서, 연산 비트열 중 3번째 상위 비트가 논리 1의 값을 갖는 어느 하나의 비트일 수 있다. 저장된 보정 코드 '101111'에서 연산 비트열 '001000'이 감산되어, 보정 코드 '100111'이 저장된다.
이상과 같은 방식으로 보정 연산의 4단계 내지 6단계가 수행된다. 보정 연산은 연산 비트열 중 최하위 비트가 논리 1의 값을 갖는 어느 하나의 비트가 된 6단계까지 수행된다. 보정 연산의 6단계에서, 저장된 보정 코드 '100001'에 연산 비트열 '000001'이 가산되어 보정 코드 '100010'이 저장된다. 보정 연산의 6단계가 종료되면 목표 보정 코드와 저장된 보정 코드가 '100010'으로 같아진다. 저항 보정 로직(140a)은 '100010'을 갱신된 보정 코드(P[5:0])로서 출력할 수 있다.
이진 탐색 알고리즘을 활용한 보정 연산이 수행되는 경우, 갱신된 보정 코드(P[N-1:0])를 생성하기 위해 N번의 연산이 필요할 수 있다. 이진 탐색 알고리즘을 활용한 보정 연산의 수행에 필요한 연산의 수는 업/다운 카운터가 이용되는 경우에 필요한 연산의 수보다 상대적으로 적을 수 있다. 따라서, 이진 탐색 알고리즘을 활용한 보정 연산이 수행되는 경우 보정 연산에 소요되는 시간이 감소하고 보정 연산의 효율성이 높아질 수 있다. 다만, 도 10 내지 도 12에 대한 설명에서 보정 연산의 수행 시간을 더 줄이기 위한 방법이 설명된다.
도 10 내지 도 12는 본 발명의 실시 예의 비트 위치 신호에 포함되는 위치 정보를 설명하기 위한 개념도이다. 본 발명의 실시 예에 따른 비트 위치 신호는 보정 연산이 시작되는 비트의 위치 정보를 포함하는 신호이다. 보정 연산이 시작되는 비트의 위치는 비트 위치 신호에 따라 달라질 수 있다. 도 10 내지 도 12의 실시 예에서, 상단 임계값과 하단 임계값은 각각 '111'과 '000'인 것으로 가정한다. 이 가정은 본 발명의 이해를 돕기 위한 예시이다.
도 10의 예에서, 종단 저항과 외부 저항이 매칭되는 경우에 대응되는 목표 보정 코드는 '100010'이다. 그리고, 저항 보정 로직(140a, 도 1 참조)의 레지스터(미도시)에 최초로 저장되어 있는 보정 코드는 '011111'이다. 저장된 보정 코드 중 상위 비트열(P[5:3])은 '011'이다. 상위 비트열(P[5:3]) '011'은 상단 임계값 '111'보다 작고 하단 임계값 '000'보다 크다. 이것은 이전 보정 연산에서 종단 저항과 외부 저항의 임피던스 매칭을 위해 보정 코드의 값이 많이 증가 또는 감소될 필요가 없었음을 의미한다. 이러한 경우, 저장된 보정 코드가 목표 보정 코드와 같은 값을 갖도록 하기 위해 필요한 보정 연산의 수가 많지 않을 수 있다. 예컨대, 도 10의 예에서 3회의 연산만으로 갱신된 보정 코드(P[5:0])가 생성될 수 있다. 도 10의 예에서, 연산 비트열 중 최상위부터 3번째 상위까지의 위치의 비트는 논리 1의 값을 갖는 어느 하나의 비트로 될 필요가 없다. 단지, 연산 비트열 중 3번째 하위부터 최하위까지의 위치의 비트가 논리 1의 값을 갖는 어느 하나의 비트로 되면 충분하다.
도 11 및 도 12의 예에서, 종단 저항과 외부 저항이 매칭되는 경우에 대응되는 목표 보정 코드는 '100010'이다. 그리고, 저항 보정 로직(140a)의 레지스터에 최초로 저장되어 있는 보정 코드는 '111000'이다. 저장된 보정 코드 중 상위 비트열(P[5:3])은 '111'이다. 상위 비트열(P[5:3])은 상단 임계값과 같다. 이것은 이전 보정 연산에서 종단 저항과 외부 저항의 임피던스 매칭을 위해 보정 코드의 값이 많이 증가되었음을 의미한다. 이러한 경우, 저장된 보정 코드가 목표 보정 코드와 같은 값을 갖도록 하기 위해 필요한 보정 연산의 수가 많을 수 있다. 예컨대, 도 11의 예에서 도 10의 예와 같이 3회의 연산만 수행되는 경우 저장된 보정 코드는 목표 보정 코드와 같은 값을 가질 수 없다. 즉, 갱신된 보정 코드(P[5:0])가 적절히 생성되지 않는다.
도 12에서 볼 수 있듯이, 저장된 보정 코드가 목표 보정 코드와 같은 값을 갖도록 하기 위해 5회의 연산이 필요하다. 즉, 연산 비트열 중 2번째 상위부터 최하위까지의 위치의 비트가 논리 1의 값을 갖는 어느 하나의 비트로 되도록 함으로써, 적절한 갱신된 보정 코드(P[5:0])가 생성될 수 있다.
이상의 설명에 따르면, 갱신된 보정 코드(P[N-1:0])를 생성하기 위해 필요한 보정 연산의 수는 상위 비트열(P[N-1:N-k])의 값에 따라 다를 수 있다. 상위 비트열(P[N-1:N-k])의 값이 상단 임계값 이상 또는 하단 임계값 이하인 경우 필요한 보정 연산의 수가 상대적으로 많을 수 있다. 반면, 상위 비트열(P[N-1:N-k])의 값이 상단 임계값보다 작고 하단 임계값보다 큰 경우 필요한 보정 연산의 수가 상대적으로 적을 수 있다. 따라서, 상위 비트열(P[N-1:N-k])의 값에 따라 보정 연산이 시작되는 비트의 위치를 달리함으로써, 보정 연산의 수행 시간이 최소화될 수 있다. 보정 연산의 효율성을 높이기 위해, 보정 연산이 시작되는 비트의 위치 정보를 포함하는 비트 위치 신호가 활용될 수 있다.
도 13은 본 발명의 일 실시 예에 따른 종단 저항 보정 회로가 가질 수 있는 다른 구성을 나타낸 블록도이다. 본 발명의 일 실시 예에 따른 종단 저항 보정 회로(100b)는 자가 조정 로직(120b) 및 저항 보정 로직(140b)을 포함할 수 있다. 종단 저항 보정 회로(100b)는 반도체 메모리 장치에 포함될 수 있다. 종단 저항 보정 회로(100b)의 자가 조정 로직(120b) 및 저항 보정 로직(140b)의 구성과 기능에는 도 1의 종단 저항 보정 회로(100a)의 자가 조정 로직(120a) 및 저항 보정 로직(140a)의 구성과 기능이 각각 포함될 수 있다. 자가 조정 로직(120b) 및 저항 보정 로직(140b)에 관한 자세한 설명은 도 1에 대한 설명과 중복되는 범위에서 생략된다.
자가 조정 로직(120b)은 보정 개시 신호(CAL_ST)에 응답하여 작동을 시작할 수 있다. 자가 조정 로직(120b)은 상위 비트열(P[N-1:N-k])을 참조할 수 있다. 자가 조정 로직(120b)은 상위 비트열(P[N-1:N-k])의 값이 상단 임계값 이상인지 또는 하단 임계값 이하인지 판단할 수 있다. 자가 조정 로직(120b)은 판단의 결과에 기초하여 조정 신호(ADJ)를 생성할 수 있다.
나아가, 자가 조정 로직(120b)은 판단의 결과에 기초하여 비트 위치 신호(BIT_POS)를 더 생성할 수 있다. 앞에서 언급된 바와 같이, 비트 위치 신호(BIT_POS)는 보정 코드 중 보정 연산이 시작되는 비트의 위치 정보를 포함한다. 보정 연산이 시작되는 비트의 위치는 상위 비트열(P[N-1:N-k])의 값에 따라 달라질 수 있다. 즉, 비트 위치 신호(BIT_POS)에 포함되는 정보는 상위 비트열(P[N-1:N-k])의 값이 상단 임계값 이상 또는 하단 임계값 이하인 경우와 상위 비트열(P[N-1:N-k])의 값이 상단 임계값보다 작고 하단 임계값보다 큰 경우에 각각 다를 수 있다.
상위 비트열(P[N-1:N-k])의 값이 상단 임계값보다 작고 하단 임계값보다 큰 경우, 갱신된 보정 코드(P[N-1:0])를 생성하기 위해 필요한 보정 연산의 수가 많지 않을 수 있다. 이전 보정 연산에서 종단 저항과 외부 저항의 임피던스 매칭을 위해 보정 코드의 값이 많이 증가 또는 감소될 필요가 없었기 때문이다. 따라서, 이 경우 보정 연산은 보정 코드 중 상위 비트열(P[N-1:N-k])을 제외한 나머지 비트들 중 어느 하나의 비트의 위치에서부터 수행될 수 있다. 예컨대, 도 10의 예와 같이 3번째 하위 비트에서부터 보정 연산이 수행될 수 있다.
반면, 상위 비트열(P[N-1:N-k])의 값이 상단 임계값 이상 또는 하단 임계값 이하인 경우, 갱신된 보정 코드(P[N-1:0])를 생성하기 위해 필요한 보정 연산의 수가 많을 수 있다. 이전 보정 연산에서 종단 저항과 외부 저항의 임피던스 매칭을 위해 보정 코드의 값이 많이 증가 또는 감소했기 때문이다. 따라서, 이 경우 보정 연산은 보정 코드 중 상위 비트열(P[N-1:N-k])에 포함되는 비트들 중 어느 하나의 비트의 위치에서부터 수행될 수 있다. 예컨대, 도 12의 예와 같이 2번째 상위 비트에서부터 보정 연산이 수행될 수 있다.
저항 보정 로직(140b)은 비교 신호(CMPR)를 제공받을 수 있다. 나아가, 저항 보정 로직(140b)은 비트 위치 신호(BIT_POS)를 제공받을 수 있다. 저항 보정 로직(140b)은 제공받은 비교 신호(CMPR), 제공받은 비트 위치 신호(BIT_POS), 및 레지스터에 저장되어 있는 보정 코드에 기초하여 보정 연산을 수행할 수 있다. 보정 연산의 수행 과정은 도 8 내지 도 12에 대한 설명에서 구체적으로 언급되었다. 특히, 실시 예로서, 저항 보정 로직(140b)은 비트 위치 신호(BIT_POS)가 가리키는 비트의 위치에서부터 보정 연산을 수행할 수 있다. 이때, 보정 연산은 이진 탐색 알고리즘을 활용한 연산일 수 있다.
보정 연산이 종료되면 저항 보정 로직(140b)은 갱신된 보정 코드(P[N-1:0])를 생성할 수 있다. 즉, 갱신된 보정 코드(P[N-1:0])는 보정 연산이 종료된 때 저항 보정 로직(140b)의 레지스터에 저장되어 있는 보정 코드에 대응될 수 있다. 데이터 출력 드라이버의 종단 저항 값은 먼저 조정 신호(ADJ)에 의해 조정될 수 있다. 그 다음으로, 조정 신호(ADJ)에 의해 조정된 값을 갖는 종단 저항은 갱신된 보정 코드(P[N-1:0])에 의해 보정될 수 있다. 즉, 데이터 출력 드라이버의 종단 저항은 조정 신호(ADJ)에 의한 값 조정 단계와 갱신된 보정 코드(P[N-1:0])에 의한 보정 단계를 거쳐 외부 저항과 매칭될 수 있다.
본 발명의 실시 예에 따르면 짧은 시간 안에 종단 저항이 보정될 수 있다. 특히, 데이터 출력 드라이버의 특성에 대한 영향 없이 시간 제약이 극복될 수 있다. 따라서, 시간 여유가 확보되어 풀업 저항과 풀다운 저항 각각의 보정 구간이 중첩되지 않을 수 있다. 즉, 본 발명의 실시 예에 따르면 종단 저항 보정의 신뢰도가 향상될 수 있다.
도 14는 본 발명의 다른 실시 예에 따른 종단 저항 보정 방법을 설명하는 흐름도이다. 본 발명의 다른 실시 예에 따른 종단 저항 보정 방법에 따르면 종단 저항을 포함하는 반도체 메모리 장치의 종단 저항이 보정될 수 있다.
S110 단계에서, 메모리 시스템에 저장되어 있는 보정 코드가 로딩될 수 있다. 보정 코드는 복수 비트로 형성된다. 보정 코드의 로딩은 보정 개시 신호에 응답하여 수행될 수 있다.
S120 단계에서, 상위 비트열의 값이 상단 임계값 이상인지 또는 하단 임계값 이하인지 여부가 판단될 수 있다. 하단 임계값은 상단 임계값 이하인 값일 수 있다. 상위 비트열의 값이 상단 임계값 이상 또는 하단 임계값 이하인 경우 S130 단계가 수행된다. 반면, 상위 비트열의 값이 상단 임계값보다 작고 하단 임계값보다 큰 경우 S130 단계가 수행되지 않는다.
S130 단계에서, 데이터 출력 드라이버의 종단 저항 값이 조정될 수 있다. S130 단계는 상위 비트열의 값이 상단 임계값 이상 또는 하단 임계값 이하인 경우에 수행될 수 있다. 종단 저항 값의 조정에 관한 자세한 설명은 도 3 내지 도 8에 대한 설명과 함께 언급되었다. 특히 S130 단계에서, 종단 저항 값은 증가하는 방향 또는 감소하는 방향으로 조정될 수 있다. 다만, 종단 저항 값이 조정되는 방향은 상위 비트열의 값이 상단 임계값 이상인 경우와 하단 임계값 이하인 경우에 각각 서로 다를 수 있다.
S140 단계에서, 종단 저항을 보정하기 위한 갱신된 보정 코드가 생성될 수 있다. 갱신된 보정 코드를 생성하기 위해 보정 연산이 수행될 수 있다. 보정 연산은 비교 신호 및 보정 코드에 기초하여 수행될 수 있다. 보정 연산의 수행 방법에 관한 설명은 도 8 내지 도 12에 대한 설명과 함께 언급되었다.
S150 단계에서, 데이터 출력 드라이버의 종단 저항이 보정될 수 있다. 종단 저항은 S140 단계에서 생성된 갱신된 보정 코드에 기초하여 보정될 수 있다. 특히, 갱신된 보정 코드는 S130 단계에서 조정된 값을 갖는 종단 저항을 보정할 수 있다.
도 15는 본 발명의 다른 실시 예에 따른 종단 저항 보정 방법을 설명하는 다른 흐름도이다. S210 단계, S220 단계, 및 S230 단계에서 수행되는 처리에는 도 14의 S110 단계, S120 단계, 및 S130 단계에서 수행되는 처리의 내용이 각각 포함될 수 있다. S210 단계, S220 단계, 및 S230 단계에 관한 자세한 설명은 도 14에 대한 설명과 중복되는 범위에서 생략된다.
S240 단계에서, S250 단계의 보정 연산이 시작되는 비트의 위치 정보를 포함하는 비트 위치 신호가 생성될 수 있다. 비트 위치 신호는 S220 단계의 판단 결과에 기초하여 생성될 수 있다. 앞에서 언급된 바와 같이, S220 단계에서 상위 비트열의 값이 상단 임계값 이상 또는 하단 임계값 이하인 경우 비트 위치 신호는 상위 비트열에 포함되는 비트들 중 어느 하나의 비트의 위치 정보를 포함할 수 있다. 반면, S220 단계에서 상위 비트열의 값이 상단 임계값보다 작고 하단 임계값보다 큰 경우 비트 위치 신호는 보정 코드에서 상위 비트열을 제외한 나머지 비트들 중 어느 하나의 비트의 위치 정보를 포함할 수 있다.
다만, S230 단계와 S240 단계의 수행 순서는 서로 바뀔 수 있다. 즉, S240 단계가 S230 단계보다 먼저 수행될 수 있다. S230 단계와 S240 단계는 모두 S220 단계의 판단 결과에 기초하여 수행되기 때문이다. 도 15의 흐름도에 도시된 순서는 발명의 이해를 돕기 위한 것이고, 발명의 내용을 한정하기 위한 것은 아니다.
S250 단계에서, 종단 저항을 보정하기 위한 갱신된 보정 코드가 생성될 수 있다. 갱신된 보정 코드를 생성하기 위해 보정 연산이 수행될 수 있다. 보정 연산은 비교 신호, S240 단계에서 생성된 비트 위치 신호, 및 보정 코드에 기초하여 수행될 수 있다. 보정 연산의 수행 방법에 관한 설명은 도 8 내지 도 12에 대한 설명과 함께 언급되었다. 특히, 도 9에 대한 설명에서 언급된 바와 같이, 보정 연산은 이진 탐색 알고리즘을 활용한 연산일 수 있다. 나아가, 도 10 내지 도 12에 대한 설명에서 언급된 바와 같이, 보정 연산은 S240 단계에서 생성된 비트 위치 신호가 가리키는 비트의 위치에서부터 수행될 수 있다. 갱신된 보정 코드는 보정 연산이 종료된 때 최종적으로 얻어진 보정 코드에 대응될 수 있다.
S260 단계에서, 데이터 출력 드라이버의 종단 저항이 보정될 수 있다. 종단 저항은 S250 단계에서 생성된 갱신된 보정 코드에 기초하여 보정될 수 있다. 특히, 갱신된 보정 코드는 S230 단계에서 조정된 값을 갖는 종단 저항을 보정할 수 있다.
도 16은 본 발명의 또 다른 실시 예에 따른 종단 저항 보정 회로가 가질 수 있는 구성을 나타낸 블록도이다. 종단 저항 보정 회로(200)는 ZQ 패드(ZQ)를 통해 외부 저항(Rext)와 종단 저항을 매칭할 수 있다. 종단 저항 보정 회로(200)는 제 1 비교기(210), 제 2 비교기(220), 제 1 보정 로직 유닛(100_1), 제 2 보정 로직 유닛(100_2), 제 1 저항 유닛(230), 제 2 저항 유닛(240), 및 더미 저항 유닛(250)을 포함할 수 있다. 종단 저항 보정 회로(200)는 반도체 메모리 장치에 포함될 수 있다.
제 1 비교기(210)는 제 1 비교 신호(CMPR_1)를 생성할 수 있다. 제 1 비교 신호(CMPR_1)는 기준 전압(Vref)과 제 1 비교 대상 노드(CTN_1)의 전압의 크기 비교 결과에 기초하여 생성될 수 있다. 제 1 비교 신호(CMPR_1)는 기준 전압(Vref)과 제 1 비교 대상 노드(CTN_1)의 전압의 대소 관계에 따라 다른 값을 가질 수 있다. 제 1 비교 대상 노드(CTN_1)는 제 1 저항 유닛(230)의 출력단일 수 있다.
제 1 보정 로직 유닛(100_1)은 제 1 보정 개시 신호(CAL_ST_1)를 제공받을 수 있다. 예로서, 제 1 보정 개시 신호(CAL_ST_1)는 메모리 시스템에 포함되는 커맨드 디코더(미도시)에 의해 생성될 수 있다. 제 1 보정 로직 유닛(100_1)은 제 1 보정 개시 신호(CAL_ST_1)에 응답하여 작동을 시작할 수 있다.
제 1 보정 로직 유닛(100_1)은 복수 비트의 제 1 보정 코드 중 상위의 소정의 개수의 비트에 대응되는 제 1 상위 비트열을 참조할 수 있다. 제 1 보정 코드는 제 1 종단 저항을 보정하기 위한 코드이다. 제 1 보정 코드에 대응되는 데이터는 제 1 보정 로직 유닛(100_1)에 포함되는 레지스터(미도시)에 저장되어 있을 수 있다. 제 1 보정 로직 유닛(100_1)은 제 1 상위 비트열의 값이 제 1 상단 임계값 이상인지 또는 제 1 하단 임계값 이하인지 여부에 관한 제 1 판단을 수행할 수 있다. 제 1 하단 임계값은 제 1 상단 임계값과 다른 값일 수 있다. 제 1 상단 임계값과 제 1 하단 임계값은 필요에 따라 임의로 설정될 수 있다. 제 1 보정 로직 유닛(100_1)은 제 1 판단의 결과에 기초하여 제 1 조정 신호(ADJ_1)를 생성할 수 있다. 제 1 조정 신호(ADJ_1)는 제 1 종단 저항 값을 조정하기 위한 신호이다. 제 1 조정 신호(ADJ_1)는 데이터 출력 드라이버로 제공될 수 있다.
제 1 보정 로직 유닛(100_1)은 제 1 비교 신호(CMPR_1) 및 레지스터에 저장되어 있는 제 1 보정 코드에 기초하여 제 1 보정 연산을 수행할 수 있다. 제 1 보정 연산은 도 8 내지 도 12에 대한 설명에서 언급된 보정 연산과 같은 방법으로 수행될 수 있다. 예컨대, 기준 전압(Vref)보다 제 1 비교 대상 노드(CTN_1)의 전압이 높은 경우, 제 1 보정 로직 유닛(100_1)은 제 1 보정 코드의 값을 증가(또는 감소)시켜 제 1 저항 유닛(230)의 저항을 보정함으로써 제 1 비교 대상 노드(CTN_1)의 전압을 낮출 수 있다. 이와 반대로, 기준 전압(Vref)보다 제 1 비교 대상 노드(CTN_1)의 전압이 낮은 경우, 제 1 보정 로직 유닛(100_1)은 제 1 보정 코드의 값을 감소(또는 증가)시켜 제 1 저항 유닛(230)의 저항을 보정함으로써 제 1 비교 대상 노드(CTN_1)의 전압을 높일 수 있다.
제 1 보정 연산이 완료되면 제 1 저항 유닛(230)의 저항과 외부 저항(Rext)이 매칭될 수 있다. 제 1 저항 유닛(230)의 저항과 외부 저항(Rext)이 매칭되는 때의 제 1 보정 코드가 갱신된 제 1 보정 코드(P1[N-1:0])이다. 갱신된 제 1 보정 코드(P1[N-1:0])는 제 1 저항 유닛(230) 및 더미 저항 유닛(250)의 저항을 보정할 수 있다.
제 1 저항 유닛(230) 및 더미 저항 유닛(250)은 도 2의 가변 저항 유닛(160, 도 2 참조)과 같은 구조로 구현될 수 있다. 제 1 저항 유닛(230)에 포함되는 각각의 트랜지스터는 제 1 보정 코드 또는 갱신된 제 1 보정 코드(P1[N-1:0])에 의해 턴 온 또는 턴 오프될 수 있다. 따라서, 제 1 저항 유닛(230)의 저항은 제 1 보정 코드 또는 갱신된 제 1 보정 코드(P1[N-1:0])에 의해 보정될 수 있다. 제 1 저항 유닛(230)의 저항은 갱신된 제 1 보정 코드(P1[N-1:0])에 의해 외부 저항(Rext)과 매칭될 수 있다. 제 1 저항 유닛(230)의 저항과 외부 저항(Rext)을 매칭한 갱신된 제 1 보정 코드(P1[N-1:0])는 데이터 출력 드라이버로 제공될 수 있다.
특히, 데이터 출력 드라이버의 제 1 종단 저항 값은 먼저 제 1 조정 신호(ADJ_1)에 의해 조정될 수 있다. 그 다음으로, 제 1 조정 신호(ADJ_1)에 의해 조정된 값을 갖는 제 1 종단 저항은 갱신된 제 1 보정 코드(P1[N-1:0])에 의해 보정될 수 있다. 즉, 제 1 종단 저항은 조정 신호(ADJ_1)에 의한 값 조정 단계와 갱신된 제 1 보정 코드(P1[N-1:0])에 의한 보정 단계를 거쳐 외부 저항(Rext)과 매칭될 수 있다. 제 1 보정 연산이 종료되면 제 1 보정 로직 유닛(100_1)은 제 2 보정 개시 신호(CAL_ST_2)를 생성할 수 있다.
제 1 보정 로직 유닛(100_1)은 도 1의 종단 저항 보정 회로(100a, 도 1 참조) 또는 도 9의 종단 저항 보정 회로(100b, 도 9 참조)와 같은 구조로 구현될 수 있다. 제 1 보정 로직 유닛(100_1)은 자가 조정 로직(미도시) 및 저항 보정 로직(미도시)을 포함할 수 있다. 자가 조정 로직은 제 1 보정 개시 신호(CAL_ST_1)에 응답하여 제 1 판단을 수행할 수 있다. 자가 조정 로직은 제 1 판단의 결과에 기초하여 제 1 조정 신호(ADJ_1)를 생성할 수 있다. 저항 보정 로직은 자가 조정 로직으로 제 1 상위 비트열을 제공할 수 있다. 저항 보정 로직은 제 1 비교 신호(CMPR_1)와 제 1 보정 코드에 기초하여 제 1 보정 연산을 수행할 수 있다. 제 1 보정 연산이 종료되면 저항 보정 로직은 갱신된 제 1 보정 코드(P1[N-1:0]) 및 제 2 보정 개시 신호(CAL_ST_2)를 생성할 수 있다.
제 2 비교기(220)는 제 2 비교 신호(CMPR_2)를 생성할 수 있다. 제 2 비교 신호(CMPR_2)는 기준 전압(Vref)과 제 2 비교 대상 노드(CTN_2)의 전압의 크기 비교 결과에 기초하여 생성될 수 있다. 제 2 비교 신호(CMPR_2)는 기준 전압(Vref)과 제 2 비교 대상 노드(CTN_2)의 전압의 대소 관계에 따라 다른 값을 가질 수 있다. 제 2 비교 대상 노드(CTN_2)는 더미 저항 유닛(250)의 출력단일 수 있다.
제 2 보정 로직 유닛(100_2)은 제 2 보정 개시 신호(CAL_ST_2)를 제공받을 수 있다. 제 2 보정 개시 신호(CAL_ST_2)는 제 1 보정 로직 유닛(100_1)에 의해 생성될 수 있다. 제 2 보정 로직 유닛(100_2)은 제 2 보정 개시 신호(CAL_ST_2)에 응답하여 작동을 시작할 수 있다.
제 2 보정 로직 유닛(100_2)은 복수 비트의 제 2 보정 코드 중 상위의 소정의 개수의 비트에 대응되는 제 2 상위 비트열을 참조할 수 있다. 제 2 보정 코드는 제 2 종단 저항을 보정하기 위한 코드이다. 제 2 보정 코드의 비트 수 및 제 2 상위 비트열의 비트 수는 각각 제 1 보정 코드의 비트 수 및 제 1 상위 비트열의 비트 수와 같을 수 있다. 그러나, 반드시 같을 필요는 없다. 제 2 보정 코드에 대응되는 데이터는 제 2 보정 로직 유닛(100_2)에 포함되는 레지스터(미도시)에 저장되어 있을 수 있다.
제 2 보정 로직 유닛(100_2)은 제 2 상위 비트열의 값이 제 2 상단 임계값 이상인지 또는 제 2 하단 임계값 이하인지 여부에 관한 제 2 판단을 수행할 수 있다. 제 2 하단 임계값은 제 2 상단 임계값과 다른 값일 수 있다. 제 2 상단 임계값 및 제 2 하단 임계값은 각각 제 1 상단 임계값 및 제 1 하단 임계값과 같을 수 있다. 그러나, 반드시 같을 필요는 없다. 제 2 상단 임계값과 제 2 하단 임계값은 필요에 따라 임의로 설정될 수 있다. 제 2 보정 로직 유닛(100_2)은 제 2 판단의 결과에 기초하여 제 2 조정 신호(ADJ_2)를 생성할 수 있다. 제 2 조정 신호(ADJ_2)는 제 2 종단 저항 값을 조정하기 위한 신호이다. 제 2 조정 신호(ADJ_2)는 데이터 출력 드라이버로 제공될 수 있다.
제 2 보정 로직 유닛(100_2)은 제 2 비교 신호(CMPR_2) 및 레지스터에 저장되어 있는 제 2 보정 코드에 기초하여 제 2 보정 연산을 수행할 수 있다. 제 2 보정 연산은 도 8 내지 도 12에 대한 설명에서 언급된 보정 연산과 같은 방법으로 수행될 수 있다. 예컨대, 기준 전압(Vref)보다 제 2 비교 대상 노드(CTN_2)의 전압이 높은 경우, 제 2 보정 로직 유닛(100_2)은 제 2 보정 코드의 값을 증가(또는 감소)시켜 제 2 저항 유닛(240)의 저항을 보정함으로써 제 2 비교 대상 노드(CTN_2)의 전압을 낮출 수 있다. 이와 반대로, 기준 전압(Vref)보다 제 2 비교 대상 노드(CTN_2)의 전압이 낮은 경우, 제 2 보정 로직 유닛(100_2)은 제 2 보정 코드의 값을 감소(또는 증가)시켜 제 2 저항 유닛(240)의 저항을 보정함으로써 제 2 비교 대상 노드(CTN_2)의 전압을 높일 수 있다.
제 2 보정 연산이 완료되면 제 2 저항 유닛(240)의 저항과 외부 저항(Rext)이 매칭될 수 있다. 제 2 저항 유닛(240)의 저항과 외부 저항(Rext)이 매칭되는 때의 제 2 보정 코드가 갱신된 제 2 보정 코드(P2[N-1:0])이다. 갱신된 제 2 보정 코드(P2[N-1:0])는 제 2 저항 유닛(240)의 저항을 보정할 수 있다.
제 2 저항 유닛(240)은 도 2의 가변 저항 유닛(160)과 같은 구조로 구현될 수 있다. 제 2 저항 유닛(240)에 포함되는 각각의 트랜지스터는 제 2 보정 코드 또는 갱신된 제 2 보정 코드(P2[N-1:0])에 의해 턴 온 또는 턴 오프될 수 있다. 따라서, 제 2 저항 유닛(240)의 저항은 제 2 보정 코드 또는 갱신된 제 2 보정 코드(P2[N-1:0])에 의해 보정될 수 있다. 제 2 저항 유닛(240)의 저항은 갱신된 제 2 보정 코드(P2[N-1:0])에 의해 외부 저항(Rext)과 매칭될 수 있다. 제 2 저항 유닛(240)의 저항과 외부 저항(Rext)을 매칭한 갱신된 제 2 보정 코드(P2[N-1:0])는 데이터 출력 드라이버로 제공될 수 있다.
특히, 데이터 출력 드라이버의 제 2 종단 저항 값은 먼저 제 2 조정 신호(ADJ_2)에 의해 조정될 수 있다. 그 다음으로, 제 2 조정 신호(ADJ_2)에 의해 조정된 값을 갖는 제 2 종단 저항은 갱신된 제 2 보정 코드(P2[N-1:0])에 의해 보정될 수 있다. 즉, 제 2 종단 저항은 조정 신호(ADJ_2)에 의한 값 조정 단계와 갱신된 제 2 보정 코드(P2[N-1:0])에 의한 보정 단계를 거쳐 외부 저항(Rext)과 매칭될 수 있다.
제 2 보정 로직 유닛(100_2)은 도 1의 종단 저항 보정 회로(100a) 또는 도 9의 종단 저항 보정 회로(100b)와 같은 구조로 구현될 수 있다. 제 2 보정 로직 유닛(100_2)은 자가 조정 로직(미도시) 및 저항 보정 로직(미도시)을 포함할 수 있다. 자가 조정 로직은 제 2 보정 개시 신호(CAL_ST_2)에 응답하여 제 2 판단을 수행할 수 있다. 자가 조정 로직은 제 2 판단의 결과에 기초하여 제 2 조정 신호(ADJ_2)를 생성할 수 있다. 저항 보정 로직은 자가 조정 로직으로 제 2 상위 비트열을 제공할 수 있다. 저항 보정 로직은 제 2 비교 신호(CMPR_2)와 제 2 보정 코드에 기초하여 제 2 보정 연산을 수행할 수 있다. 제 2 보정 연산이 종료되면 저항 보정 로직은 갱신된 제 2 보정 코드(P2[N-1:0])를 생성할 수 있다.
도 17은 본 발명의 또 다른 실시 예의 제 1 및 제 2 조정 신호와 갱신된 제 1 및 제 2 보정 코드에 의해 데이터 출력 드라이버의 제 1 및 제 2 종단 저항 값을 변경하는 과정을 설명하기 위한 블록도이다. 도 17에는 DQ 패드(DQ)를 통해 데이터를 출력하기 위한 데이터 출력 드라이버(300)가 도시되어 있다. 데이터 출력 드라이버(300)는 제 1 출력 드라이버(310)와 제 2 출력 드라이버(320)를 포함할 수 있다.
제 1 출력 드라이버(310)는 제 1 메인 드라이버(312)와 제 1 서브 드라이버(314)를 포함할 수 있다. 제 1 출력 드라이버(310)는 풀업(Pull-up) 드라이버일 수 있다. 제 1 메인 드라이버(312)에는 제 1 메인 드라이버 저항(Rm1)이 포함될 수 있다. 그리고, 제 1 서브 드라이버(314)에는 제 1 서브 드라이버 저항(Rs1)이 포함될 수 있다. 제 1 출력 드라이버(310)의 제 1 종단 저항은 제 1 메인 드라이버 저항(Rm1)과 제 1 서브 드라이버 저항(Rs1)으로 형성될 수 있다.
도 16의 종단 저항 보정 회로(200, 도 16 참조)에서 생성된 제 1 조정 신호(ADJ_1)에 의해 제 1 메인 드라이버 저항(Rm1)의 값이 변경됨으로써 제 1 출력 드라이버(310)의 제 1 종단 저항 값이 조정될 수 있다. 제 1 종단 저항과 외부 저항이 매칭될 수 있도록 하기 위해, 제 1 종단 저항 값이 제 1 조정 신호(ADJ_1)에 의해 미리 조정될 수 있다.
도 16의 종단 저항 보정 회로(200)에서 생성된 갱신된 제 1 보정 코드(P1[N-1:0])는 제 1 서브 드라이버 저항(Rs1)의 값을 변경함으로써 제 1 종단 저항을 보정할 수 있다. 특히, 갱신된 제 1 보정 코드(P1[N-1:0])는 제 1 조정 신호(ADJ_1)에 의해 값이 조정된 제 1 종단 저항을 보정할 수 있다. 갱신된 제 1 보정 코드(P1[N-1:0])에 의해 제 1 종단 저항이 보정되면, 제 1 종단 저항과 외부 저항이 매칭된다.
제 2 출력 드라이버(320)는 제 2 메인 드라이버(322)와 제 2 서브 드라이버(324)를 포함할 수 있다. 제 2 출력 드라이버(320)는 풀다운(Pull-down) 드라이버일 수 있다. 제 2 메인 드라이버(322)에는 제 2 메인 드라이버 저항(Rm2)이 포함될 수 있다. 그리고, 제 2 서브 드라이버(324)에는 제 2 서브 드라이버 저항(Rs2)이 포함될 수 있다. 제 2 출력 드라이버(320)의 제 2 종단 저항은 제 2 메인 드라이버 저항(Rm2)과 제 2 서브 드라이버 저항(Rs2)으로 형성될 수 있다.
도 16의 종단 저항 보정 회로(200)에서 생성된 제 2 조정 신호(ADJ_2)에 의해 제 2 메인 드라이버 저항(Rm2)의 값이 변경됨으로써 제 2 출력 드라이버(320)의 제 2 종단 저항 값이 조정될 수 있다. 제 2 종단 저항과 외부 저항이 매칭될 수 있도록 하기 위해, 제 2 종단 저항 값이 제 2 조정 신호(ADJ_2)에 의해 미리 조정될 수 있다.
도 16의 종단 저항 보정 회로(200)에서 생성된 갱신된 제 2 보정 코드(P2[N-1:0])는 제 2 서브 드라이버 저항(Rs2)의 값을 변경함으로써 제 2 종단 저항을 보정할 수 있다. 특히, 갱신된 제 2 보정 코드(P2[N-1:0])는 제 2 조정 신호(ADJ_2)에 의해 값이 조정된 제 2 종단 저항을 보정할 수 있다. 갱신된 제 2 보정 코드(P2[N-1:0])에 의해 제 2 종단 저항이 보정되면, 제 2 종단 저항과 외부 저항이 매칭된다.
이상의 실시 예에 따르면, 종단 저항의 값이 퓨즈를 이용한 수동 제어 없이 자동으로 조정될 수 있다. 또한 본 발명의 실시 예에 따르면, 짧은 시간 안에 종단 저항이 보정될 수 있다. 따라서, 시간 여유가 확보되어 데이터 출력 드라이버의 풀업 저항과 풀다운 저항 각각의 보정 구간이 중첩되지 않을 수 있다.
도 18은 본 발명의 실시 예에 따른 종단 저항 보정 회로를 포함하는 메모리 시스템이 가질 수 있는 구성을 나타낸 블록도이다. 메모리 시스템(1000)은 종단 저항 보정 회로(1100), 데이터 출력 드라이버(1200), 메모리 셀 어레이(1300), 센스 앰프(1310), 로우 디코더(1320), 칼럼 디코더(1330), 어드레스 래치(1400), 데이터 입력 드라이버(1500), 커맨드 디코더(1600), 및 내부 클록 신호 생성기(1700)를 포함할 수 있다.
종단 저항 보정 회로(1100)는 종단 저항과 외부 저항(Rext)의 임피던스 매칭을 위한 보정 연산을 수행할 수 있다. 본 발명의 실시 예에 따른 종단 저항 보정 회로(1100)는 풀업 보정 코드(PU[N-1:0]), 풀업 조정 신호(ADJ_U), 풀다운 조정 신호(ADJ_D), 및 풀다운 보정 코드(PD[N-1:0])를 생성할 수 있다. 생성된 풀업 보정 코드(PU[N-1:0]), 풀업 조정 신호(ADJ_U), 풀다운 조정 신호(ADJ_D), 및 풀다운 보정 코드(PD[N-1:0])에 의해 종단 저항이 외부 저항(Rext)과 매칭될 수 있다.
데이터 출력 드라이버(1200)는 DQ 패드(DQ)를 통해 메모리 셀 어레이(1300)에 저장된 데이터를 메모리 시스템(1000) 외부로 출력할 수 있다. 메모리 셀 어레이(1300)에 저장된 데이터는 센스 앰프(1310)를 통해 데이터 출력 드라이버(1200)로 제공될 수 있다. 이때, 로우 디코더(1320)와 칼럼 디코더(1330)는 출력될 데이터가 저장된 메모리 셀의 어드레스(ADDR)를 메모리 셀 어레이(1300)로 제공할 수 있다. 메모리 셀의 어드레스(ADDR)는 어드레스 래치(1400)를 통해 로우 디코더(1320)와 칼럼 디코더(1330)로 제공될 수 있다.
메모리 시스템(1000) 외부의 데이터는 DQ 패드(DQ)를 통해 데이터 입력 드라이버(1500)로 제공될 수 있다. 데이터 입력 드라이버(1500)로 제공된 데이터는 센스 앰프(1310)를 통해 메모리 셀 어레이(1300)에 저장될 수 있다. 메모리 시스템(1000) 외부의 데이터가 저장될 메모리 셀의 어드레스(ADDR)는 어드레스 래치(1400), 로우 디코더(1320), 및 칼럼 디코더(1330)를 통해 메모리 셀 어레이(1300)로 제공될 수 있다.
커맨드 디코더(1600)는 커맨드 패드(CMD)를 통해 다양한 명령을 제공받는다. 커맨드 디코더(1600)는 로우 디코더(1320), 칼럼 디코더(1330) 등의 구성 요소로 명령을 제공한다. 특히, 커맨드 디코더(1600)는 보정 개시 신호(CAL_ST)를 종단 저항 보정 회로(1100)로 제공할 수 있다. 보정 개시 신호(CAL_ST)는 ZQCL(ZQ Calibration Long) 명령 또는 ZQCS(ZQ Calibration Short) 명령일 수 있다.
내부 클록 신호 생성기(1700)는 외부 클록 신호(CLK, /CLK)에 기초하여 내부 클록 신호를 생성할 수 있다. 특히, 종단 저항 보정 회로(1100)는 내부 클록 신호 생성기(1700)에 의해 생성된 내부 클록 신호에 동기하여 보정 연산을 수행할 수 있다.
도 19는 본 발명의 실시 예를 이용하는 컴퓨팅 시스템이 가질 수 있는 구성을 나타낸 블록도이다. 컴퓨팅 시스템(2000)은 프로세서(2100), 메모리(2200), 스토리지(2300), 통신부(2400), 및 유저 인터페이스(2500)를 포함할 수 있다.
프로세서(2100)는 컴퓨팅 시스템(2000)의 동작을 제어할 수 있다. 프로세서(2100)는 각종 연산을 수행할 수 있다. 예로서, 프로세서(2100)는 시스템 온 칩(System on Chip, SoC)으로 구성될 수 있다. 프로세서(2100)는 범용 프로세서 또는 어플리케이션 프로세서일 수 있다.
메모리(2200)는 프로세서(2100)와 데이터를 교환할 수 있다. 메모리(2200)는 프로세서(2100) 또는 컴퓨팅 시스템(2000)의 메인 메모리일 수 있다. 메모리(2200)는 SRAM, DRAM, SDRAM 등의 휘발성 메모리, 또는 플래시 메모리, PRAM , MRAM, RRAM, FRAM 등의 불휘발성 메모리를 포함할 수 있다. 특히, 메모리(2200)가 빠른 작동 속도를 가지고 종단 저항을 포함하는 경우, 본 발명의 실시 예에 따른 종단 저항 보정 회로를 포함할 수 있다. 메모리(2200)는 적어도 하나의 메모리 모듈 또는 적어도 하나의 메모리 패키지를 포함할 수 있다.
스토리지(2300)는 장기적으로 저장하고자 하는 데이터를 저장할 수 있다. 스토리지(2300)는 하드 디스크 드라이브, SSD 등의 플래시 메모리, PRAM , MRAM, RRAM, FRAM 등의 불휘발성 메모리를 포함할 수 있다. 예로서, 메모리(2200)와 스토리지(2300)는 같은 종류의 불휘발성 메모리일 수 있다. 이 경우, 메모리(2200)와 스토리지(2300)는 하나의 반도체 집적 회로로 구현될 수 있다.
통신부(2400)는 프로세서(2100)의 제어에 따라 컴퓨팅 시스템(2000) 외부와 통신할 수 있다. 통신부(2400)는 유선 또는 무선 통신 규약을 이용하여 통신할 수 있다. 예로서, 통신부(2400)는 LTE(Long Term Evolution), 와이맥스(WiMax), GSM(Global System for Mobile communication), CDMA(Code Division Multiple Access), 블루투스(Bluetooth), NFC(Near Field Communication), 와이파이(WiFi), RFID(Radio Frequency IDentification) 등의 다양한 무선 통신 규약, 또는 USB(Universal Serial Bus), SATA(Serial AT Attachment), SCSI(Small Computer Small Interface), 파이어와이어(Firewire), PCI(Peripheral Component Interconnection) 등의 다양한 유선 통신 규약 중 적어도 하나를 이용하여 통신할 수 있다.
유저 인터페이스(2500)는 프로세서(2100)의 제어에 따라 사용자와 컴퓨팅 시스템(2000) 사이의 통신을 중계할 수 있다. 예로서, 유저 인터페이스(2500)는 키보드, 키패드, 버튼, 터치 패널, 터치 스크린, 터치 패드, 터치 볼, 카메라, 마이크, 자이로스코프 센서, 진동 센서 등의 입력 인터페이스를 포함할 수 있다. 나아가, 유저 인터페이스(2500)는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diode) 표시 장치, AMOLED(Active Matrix OLED) 표시 장치, LED, 스피커, 모터 등의 출력 인터페이스를 포함할 수 있다.
각각의 블록도에 도시된 장치 구성은 발명의 이해를 돕기 위한 것이다. 각각의 블록은 기능에 따라 더 작은 단위의 블록들로 형성될 수 있다. 또는, 복수의 블록들은 기능에 따라 더 큰 단위의 블록을 형성할 수 있다. 즉, 본 발명의 개념은 블록도에 도시된 구성에 의해 한정되지 않는다.
이상에서 본 발명에 대한 실시 예를 중심으로 본 발명이 설명되었다. 다만 본 발명이 속하는 기술 분야의 특성상, 본 발명이 이루고자 하는 목적은 본 발명의 요지를 포함하면서도 위 실시 예들과 다른 형태로 달성될 수 있다. 따라서 위 실시 예들은 한정적인 것이 아니라 설명적인 측면에서 이해되어야 한다. 즉, 본 발명의 요지를 포함하면서 본 발명과 같은 목적을 달성할 수 있는 기술 사상은 본 발명의 기술 사상에 포함되는 것으로 해석되어야 한다.
따라서 본 발명의 본질적인 특성을 벗어나지 않는 범위 내에서 수정 또는 변형된 기술 사상은 본 발명이 청구하는 보호 범위에 포함되는 것이다. 또한 본 발명의 보호 범위는 위 실시 예들로 한정되는 것이 아니다.
100a, 100b : 종단 저항 보정 회로
120a, 120b : 자가 조정 로직 140a, 140b : 저항 보정 로직
160 : 가변 저항 유닛 162 : 복수의 트랜지스터
164 : 복수의 저항 180 : 데이터 출력 드라이버
182 : 메인 드라이버 184 : 서브 드라이버
200 : 종단 저항 보정 회로
100_1 : 제 1 보정 로직 유닛 100_2 : 제 2 보정 로직 유닛
210 : 제 1 비교기 220 : 제 2 비교기
230 : 제 1 저항 유닛 240 : 제 2 저항 유닛
250 : 더미 저항 유닛
300 : 데이터 출력 드라이버 310 : 제 1 출력 드라이버
312 : 제 1 메인 드라이버 314 : 제 1 서브 드라이버
320 : 제 2 출력 드라이버 322 : 제 2 메인 드라이버
324 : 제 2 서브 드라이버
1000 : 메모리 시스템 1100 : 종단 저항 보정 회로
1200 : 데이터 출력 드라이버 1300 : 메모리 셀 어레이
1310 : 센스 앰프 1320 : 로우 디코더
1330 : 칼럼 디코더 1400 : 어드레스 래치
1500 : 데이터 입력 드라이버 1600 : 커맨드 디코더
1700 : 내부 클록 신호 생성기
2000 : 컴퓨팅 시스템 2100 : 프로세서
2200 : 메모리 2300 : 스토리지
2400 : 통신부 2500 : 유저 인터페이스

Claims (10)

  1. 종단 저항을 보정하는 반도체 메모리 장치에 있어서,
    보정 개시 신호에 응답하여 보정 코드 중 소정의 상위 비트열의 값이 상단 임계값 이상인지 또는 상기 상단 임계값 이하인 하단 임계값 이하인지 판단하고, 상기 판단의 결과에 기초하여 데이터 출력 드라이버의 종단 저항 값을 조정하기 위한 조정 신호를 생성하는 자가 조정 로직; 및
    상기 자가 조정 로직으로 상기 상위 비트열을 제공하고, 기준 전압과 비교 대상 노드의 전압의 크기 비교 결과에 기초하여 생성된 비교 신호, 그리고 상기 보정 코드에 기초하여 보정 연산을 수행하여 갱신된 보정 코드를 생성하는 저항 보정 로직을 포함하되,
    상기 갱신된 보정 코드는 상기 조정 신호에 의해 값이 조정된 상기 데이터 출력 드라이버의 종단 저항을 보정하는 반도체 메모리 장치.
  2. 제 1 항에 있어서,
    상기 데이터 출력 드라이버의 종단 저항 값은 상기 조정 신호에 의해 증가하는 방향 또는 감소하는 방향으로 조정되되,
    상기 데이터 출력 드라이버의 종단 저항 값은 상기 상위 비트열의 값이 상기 상단 임계값 이상인 경우와 상기 상위 비트열의 값이 상기 하단 임계값 이하인 경우에 각각 서로 다른 방향으로 조정되는 반도체 메모리 장치.
  3. 제 1 항에 있어서,
    상기 자가 조정 로직은 상기 판단의 결과에 기초하여 상기 보정 코드 중 상기 보정 연산이 시작되는 비트의 위치 정보를 포함하는 비트 위치 신호를 더 생성하고,
    상기 보정 연산은 상기 비교 신호, 상기 보정 코드, 그리고 상기 비트 위치 신호에 기초하여 수행되는 반도체 메모리 장치.
  4. 제 3 항에 있어서,
    상기 비트 위치 신호는:
    상기 상위 비트열의 값이 상기 상단 임계값 이상 또는 상기 하단 임계값 이하인 경우 상기 상위 비트열에 포함되는 비트 중 어느 하나의 비트의 위치 정보를 포함하고,
    상기 상위 비트열의 값이 상기 상단 임계값보다 작고 상기 하단 임계값보다 큰 경우 상기 보정 코드에서 상기 상위 비트열을 제외한 나머지 비트 중 어느 하나의 비트의 위치 정보를 포함하는 반도체 메모리 장치.
  5. 제 3 항에 있어서,
    상기 저항 보정 로직은 어느 하나의 비트만 논리 1 또는 논리 0의 값을 갖는 연산 비트열을 상기 보정 코드에 가산하거나 상기 보정 코드에서 감산하여 상기 보정 연산을 수행하되,
    상기 비교 신호에 기초하여 상기 가산 및 상기 감산 중 어느 하나가 수행되고,
    상기 연산 비트열 중 논리 1 또는 논리 0의 값을 갖는 어느 하나의 비트의 위치는 상기 가산 또는 상기 감산이 수행될 때마다 상기 비트 위치 신호에 대응되는 비트의 위치에서부터 하위 비트 방향으로 소정의 비트씩 변경되고,
    상기 가산 또는 상기 감산은 상기 연산 비트열 중 최하위 비트가 논리 1 또는 논리 0의 값을 갖는 어느 하나의 비트가 된 때까지 반복적으로 수행되는 반도체 메모리 장치.
  6. 제 5 항에 있어서,
    상기 갱신된 보정 코드는 상기 가산 또는 상기 감산의 수행이 종료된 때의 상기 보정 코드에 대응되는 반도체 메모리 장치.
  7. 반도체 메모리 장치의 종단 저항을 보정하는 방법에 있어서,
    보정 개시 신호에 응답하여 보정 코드를 로딩하는 단계;
    상기 보정 코드 중 소정의 상위 비트열의 값이 상단 임계값 이상인지 또는 상기 상단 임계값 이하인 하단 임계값 이하인지 판단하는 단계;
    상기 상위 비트열의 값이 상기 상단 임계값 이상 또는 상기 하단 임계값 이하인 경우 데이터 출력 드라이버의 종단 저항 값을 조정하는 단계;
    기준 전압과 비교 대상 노드의 전압의 크기 비교 결과에 기초하여 생성된 비교 신호, 그리고 상기 보정 코드에 기초하여 보정 연산을 수행하여 갱신된 보정 코드를 생성하는 단계; 및
    조정된 값을 갖는 상기 데이터 출력 드라이버의 종단 저항을 상기 갱신된 보정 코드에 기초하여 보정하는 단계를 포함하는 반도체 메모리 장치의 종단 저항 보정 방법.
  8. 제 7 항에 있어서,
    상기 판단의 결과에 기초하여 상기 보정 코드 중 상기 보정 연산이 시작되는 비트의 위치 정보를 포함하는 비트 위치 신호를 생성하는 단계를 더 포함하고,
    상기 보정 연산은 상기 비교 신호, 상기 보정 코드, 및 상기 비트 위치 신호에 기초하여 수행되는 반도체 메모리 장치의 종단 저항 보정 방법.
  9. 제 8 항에 있어서,
    상기 비트 위치 신호는:
    상기 상위 비트열의 값이 상기 상단 임계값 이상 또는 상기 하단 임계값 이하인 경우 상기 상위 비트열에 포함되는 비트 중 어느 하나의 비트의 위치 정보를 포함하고,
    상기 상위 비트열의 값이 상기 상단 임계값보다 작고 상기 하단 임계값보다 큰 경우 상기 보정 코드에서 상기 상위 비트열을 제외한 나머지 비트 중 어느 하나의 비트의 위치 정보를 포함하는 반도체 메모리 장치의 종단 저항 보정 방법.
  10. 제 8 항에 있어서,
    상기 보정 연산은 어느 하나의 비트만 논리 1 또는 논리 0의 값을 갖는 연산 비트열을 상기 보정 코드에 가산하거나 상기 보정 코드에서 감산하여 수행되되,
    상기 비교 신호에 기초하여 상기 가산 및 상기 감산 중 어느 하나가 수행되고,
    상기 연산 비트열 중 논리 1 또는 논리 0의 값을 갖는 어느 하나의 비트의 위치는 상기 가산 또는 상기 감산이 수행될 때마다 상기 비트 위치 신호에 대응되는 비트의 위치에서부터 하위 비트 방향으로 소정의 비트씩 변경되고,
    상기 가산 또는 상기 감산은 상기 연산 비트열 중 최하위 비트가 논리 1 또는 논리 0의 값을 갖는 어느 하나의 비트가 된 때까지 반복적으로 수행되는 반도체 메모리 장치의 종단 저항 보정 방법.
KR1020130131334A 2013-10-31 2013-10-31 종단 저항을 보정하는 반도체 메모리 장치 및 그것의 종단 저항 보정 방법 KR102083005B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130131334A KR102083005B1 (ko) 2013-10-31 2013-10-31 종단 저항을 보정하는 반도체 메모리 장치 및 그것의 종단 저항 보정 방법
US14/466,509 US9118313B2 (en) 2013-10-31 2014-08-22 Semiconductor memory device calibrating termination resistance and termination resistance calibration method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130131334A KR102083005B1 (ko) 2013-10-31 2013-10-31 종단 저항을 보정하는 반도체 메모리 장치 및 그것의 종단 저항 보정 방법

Publications (2)

Publication Number Publication Date
KR20150050021A KR20150050021A (ko) 2015-05-08
KR102083005B1 true KR102083005B1 (ko) 2020-02-28

Family

ID=52995284

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130131334A KR102083005B1 (ko) 2013-10-31 2013-10-31 종단 저항을 보정하는 반도체 메모리 장치 및 그것의 종단 저항 보정 방법

Country Status (2)

Country Link
US (1) US9118313B2 (ko)
KR (1) KR102083005B1 (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9336873B2 (en) * 2013-12-02 2016-05-10 Intel Corporation Apparatus for time domain offset cancellation to improve sensing margin resistive memories
KR102515924B1 (ko) 2016-04-19 2023-03-30 에스케이하이닉스 주식회사 미디어 컨트롤러 및 이를 포함한 데이터 저장 장치
US11755255B2 (en) 2014-10-28 2023-09-12 SK Hynix Inc. Memory device comprising a plurality of memories sharing a resistance for impedance matching
KR102260369B1 (ko) 2014-10-28 2021-06-03 에스케이하이닉스 주식회사 보정 회로 및 이를 포함하는 보정 장치
US10067903B2 (en) 2015-07-30 2018-09-04 SK Hynix Inc. Semiconductor device
KR102358177B1 (ko) 2015-12-24 2022-02-07 에스케이하이닉스 주식회사 제어회로 및 제어회로를 포함하는 메모리 장치
US11082043B2 (en) 2014-10-28 2021-08-03 SK Hynix Inc. Memory device
KR102378520B1 (ko) * 2015-08-26 2022-03-25 에스케이하이닉스 주식회사 반도체 장치 및 시스템
US9608632B1 (en) 2015-09-14 2017-03-28 Novatek Microelectronics Corp. Resistance calibration method and related calibration system
KR102529968B1 (ko) 2016-05-11 2023-05-08 삼성전자주식회사 반도체 메모리 장치의 임피던스 조정 회로, 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법
KR102584637B1 (ko) 2016-08-22 2023-10-05 삼성전자주식회사 반도체 메모리 장치 및 반도체 장치
JP2018045743A (ja) * 2016-09-13 2018-03-22 東芝メモリ株式会社 半導体装置及びメモリシステム
KR101870840B1 (ko) * 2016-11-02 2018-06-26 삼성전자주식회사 출력 버퍼 회로 및 그것을 포함하는 메모리 장치
US10348270B2 (en) 2016-12-09 2019-07-09 Micron Technology, Inc. Apparatuses and methods for calibrating adjustable impedances of a semiconductor device
US10193711B2 (en) 2017-06-22 2019-01-29 Micron Technology, Inc. Timing based arbitration methods and apparatuses for calibrating impedances of a semiconductor device
US10447512B2 (en) 2017-08-07 2019-10-15 Micron Technology, Inc. Channel equalization for multi-level signaling
US10530617B2 (en) 2017-08-07 2020-01-07 Micron Technology, Inc. Programmable channel equalization for multi-level signaling
US10425260B2 (en) 2017-08-07 2019-09-24 Micron Technology, Inc. Multi-level signaling in memory with wide system interface
US10615798B2 (en) 2017-10-30 2020-04-07 Micron Technology, Inc. Apparatuses and methods for identifying memory devices of a semiconductor device sharing an external resistance
US10720191B2 (en) 2017-12-21 2020-07-21 Samsung Electronics Co., Ltd. Storage device including calibration device
US10205451B1 (en) * 2018-01-29 2019-02-12 Micron Technology, Inc. Methods and apparatuses for dynamic step size for impedance calibration of a semiconductor device
KR102517713B1 (ko) * 2018-04-17 2023-04-05 에스케이하이닉스 주식회사 터미네이션 회로, 반도체 장치 및 그의 동작 방법
KR20200088701A (ko) * 2019-01-15 2020-07-23 에스케이하이닉스 주식회사 커맨드 생성 방법 및 이를 이용한 반도체장치
US10897239B1 (en) 2019-09-06 2021-01-19 International Business Machines Corporation Granular variable impedance tuning
KR20210036582A (ko) 2019-09-26 2021-04-05 에스케이하이닉스 주식회사 캘리브레이션 동작을 수행하는 반도체 장치 및 이를 이용하는 반도체 시스템
US10747245B1 (en) 2019-11-19 2020-08-18 Micron Technology, Inc. Apparatuses and methods for ZQ calibration
KR102359599B1 (ko) * 2020-06-17 2022-02-07 윈본드 일렉트로닉스 코포레이션 코드 시프트 산출 회로 및 코드 시프트값의 산출 방법
KR20220066620A (ko) * 2020-11-16 2022-05-24 에스케이하이닉스 주식회사 온 다이 터미네이션 회로, 그의 동작 방법, 및 반도체 시스템
KR20220114135A (ko) 2021-02-08 2022-08-17 에스케이하이닉스 주식회사 캘리브레이션 동작을 수행하는 반도체 장치 및 이를 이용하는 반도체 시스템
CN117316201A (zh) * 2022-06-22 2023-12-29 长鑫存储技术有限公司 一种阻抗校准电路、阻抗校准方法和存储器
CN116758965B (zh) * 2023-08-18 2023-11-03 浙江力积存储科技有限公司 Zq校准方法、校准电路

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110267900A1 (en) 2010-04-30 2011-11-03 Je-Yoon Kim Semiconductor memory device

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7432731B2 (en) 2005-06-30 2008-10-07 Intel Corporation Method and apparatus to calibrate DRAM on resistance (Ron) and on-die termination (ODT) values over process, voltage and temperature (PVT) variations
US7459930B2 (en) 2006-11-14 2008-12-02 Micron Technology, Inc. Digital calibration circuits, devices and systems including same, and methods of operation
KR100862316B1 (ko) 2007-03-08 2008-10-13 주식회사 하이닉스반도체 반도체 메모리장치, 반도체 메모리장치의 zq캘리브래이션동작 제어회로 및 반도체 메모리장치의 zq캘리브래이션방법
KR100879783B1 (ko) * 2007-06-26 2009-01-22 주식회사 하이닉스반도체 온 다이 터미네이션 장치 및 이를 포함하는 반도체메모리장치
KR20100003602A (ko) 2008-07-01 2010-01-11 주식회사 하이닉스반도체 임피던스 교정 회로
KR100976414B1 (ko) 2008-07-10 2010-08-17 주식회사 하이닉스반도체 캘리브래이션 회로, 온 다이 터미네이션 장치 및 반도체 메모리 장치
KR100937951B1 (ko) 2008-09-05 2010-01-21 주식회사 하이닉스반도체 캘리브래이션 회로, 온 다이 터미네이션 장치 및 반도체 메모리 장치
JP5642935B2 (ja) 2009-02-19 2014-12-17 ピーエスフォー ルクスコ エスエイアールエルPS4 Luxco S.a.r.l. インピーダンス調整回路及びこれを備える半導体装置
JP2011040983A (ja) 2009-08-11 2011-02-24 Renesas Electronics Corp 半導体集積回路、半導体記憶装置、及びインピーダンス調整方法
JP2011081893A (ja) 2009-09-11 2011-04-21 Elpida Memory Inc 半導体装置及びこれを備えるデータ処理システム
JP2011182378A (ja) 2010-02-05 2011-09-15 Elpida Memory Inc 半導体装置及びこれを搭載する回路基板
KR20110096845A (ko) 2010-02-23 2011-08-31 삼성전자주식회사 캘리브레이션 회로
KR20120004145A (ko) 2010-07-06 2012-01-12 주식회사 하이닉스반도체 임피던스 미스매칭을 줄이는 임피던스 매칭회로
KR20120007840A (ko) 2010-07-15 2012-01-25 삼성전자주식회사 두 개의 패키지 기판 사이에 배치된 스페이서를 가진 pop 반도체 패키지
KR101204672B1 (ko) 2010-12-10 2012-11-26 에스케이하이닉스 주식회사 임피던스조절회로 및 임피던스조절방법
KR20140008745A (ko) * 2012-07-11 2014-01-22 삼성전자주식회사 자기 메모리 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110267900A1 (en) 2010-04-30 2011-11-03 Je-Yoon Kim Semiconductor memory device

Also Published As

Publication number Publication date
US20150117122A1 (en) 2015-04-30
KR20150050021A (ko) 2015-05-08
US9118313B2 (en) 2015-08-25

Similar Documents

Publication Publication Date Title
KR102083005B1 (ko) 종단 저항을 보정하는 반도체 메모리 장치 및 그것의 종단 저항 보정 방법
US10491215B2 (en) Calibration circuit and calibration apparatus including the same
US7961001B1 (en) Impedance adjusting device
US9077332B2 (en) Impedance control circuit and semiconductor device including the same
US9324410B2 (en) Semiconductor memory device having an output buffer controller
US7439762B2 (en) On-die termination circuit
KR102185284B1 (ko) 온 다이 터미네이션 저항들의 부정합을 보상하는 버퍼 회로, 반도체 장치 반도체 장치의 동작방법
US9197209B2 (en) Semiconductor device
US8519738B2 (en) Impedance calibration circuit and semiconductor apparatus using the same
US9910484B2 (en) Voltage regulator training
US8319519B2 (en) Impedance code generation circuit and integrated circuit including the same
US10529393B2 (en) Semiconductor device and method of operating and controlling a semiconductor device
US10720191B2 (en) Storage device including calibration device
KR20160138627A (ko) 반도체 메모리 장치, 이를 위한 임피던스 조절 회로 및 방법
JP6432699B2 (ja) メモリコントローラ
EP3203475B1 (en) Memory interface circuit capable of controlling driving ability and associated control method
US9240228B1 (en) Static memory apparatus and data reading method thereof
US11783869B2 (en) Adjusting parameters of channel drivers based on temperature
US9747984B2 (en) Semiconductor device and semiconductor system
KR20160083669A (ko) 기준 전압 트레이닝 장치 및 방법
US9659608B2 (en) Semiconductor memory apparatus, and method for training reference voltage
CN110047526B (zh) 包括校准设备的存储设备
US9449662B1 (en) Semiconductor memory apparatus
US9336840B2 (en) Semiconductor apparatus capable of compensating for data output time and method for controlling the same
WO2022141798A1 (zh) 读写窗口校准电路及方法、存储器、fpga芯片

Legal Events

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