KR100865328B1 - 반도체 메모리 장치의 입력 데이터 정렬 회로 및 방법 - Google Patents
반도체 메모리 장치의 입력 데이터 정렬 회로 및 방법 Download PDFInfo
- Publication number
- KR100865328B1 KR100865328B1 KR1020070024269A KR20070024269A KR100865328B1 KR 100865328 B1 KR100865328 B1 KR 100865328B1 KR 1020070024269 A KR1020070024269 A KR 1020070024269A KR 20070024269 A KR20070024269 A KR 20070024269A KR 100865328 B1 KR100865328 B1 KR 100865328B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- signal
- response
- block
- write
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital 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/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4096—Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1093—Input synchronization
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Dram (AREA)
Abstract
Description
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 DDR 동기식 메모리 장치에서 tDQSS의 최소값과 최대값을 나타내는 타이밍도이다.
도 2는 종래의 DDR 동기식 메모리 장치의 4비트 프리패치 구조를 갖는 입력 데이터 얼라인 회로의 블록도이다.
도 3은 도 2에 도시된 입력 데이터 얼라인 회로의 동작에 대한 타이밍도이다.
도 4는 본 발명의 실시 예들에 따른 DDR 동기식 메모리 장치의 4비트 프리패치 구조를 갖는 입력 데이터 얼라인 회로의 블록도이다.
도 5는 도 4에 도시된 입력 데이터 얼라인 회로의 동작을 나타내는 제1 타이밍도이다.
도 6은 도 4에 도시된 입력 데이터 얼라인 회로의 동작을 나타내는 제2 타이밍도이다.
도 7은 본 발명의 다른 실시 예들에 따른 DDR 동기식 메모리 장치의 4비트 프리패치 구조를 갖는 입력 데이터 얼라인 회로의 블록도이다.
도 8은 도 7에 도시된 갭 정보 신호 검출 블록의 일 실시 예를 나타내는 회로도를 나타낸다.
도 9는 도 4에 도시된 제2 지연부의 일 실시 예를 나타내는 회로도이다.
도 10은 도 7에 도시된 갭 정보 신호 검출 블록의 동작 설명을 위한 타이밍 도를 나타낸다.
도 11은 도 7에 도시된 선택 블록의 일 실시 예를 나타내는 회로도이다.
도 12는 도 7에 도시된 입력 데이터 얼라인 회로의 동작을 나타내는 타이밍도이다.
본 발명은 반도체 메모리 장치에 관한 것으로, 보다 상세하게는 동기형 반도체 메모리 장치의 입력 데이터 정렬 회로 및 방법에 관한 것이다.
중앙 처리 장치(CPU)의 데이터 처리 속도가 점차 증가하고, 멀티 미디어(multi-media)를 지원하는 시스템이 늘어나고 있다. 이에 따라 반도체 메모리 장치는 집적도의 증가와 더불어 동기식 메모리 장치의 대역폭(bandwith)을 증대시키기고, 반도체 메모리 장치의 동작 속도를 향상시키기 위한 시도들이 계속되고 있다.
예컨대, DDR(double data rate) 동기식 메모리 장치는 외부에서 입력되는 클 록의 상승 에지 및 하강 에지에 동기되어 한 클록 주기 동안 연속적으로 두 개의 데이터를 처리한다. 따라서 DDR 동기식 메모리 장치는 클록의 주파수를 증가시키지 않더라도 SDR(single data rate) 동기식 메모리 장치에 비하여 두 배 이상의 대역폭을 구현할 수 있어 고속 동작이 가능하다.
상기 DDR 동기식 메모리 장치는 데이터 입출력의 정확한 타이밍을 구현하기 위하여, 즉 목적지(destination)에서의 데이터 설정 시간(set-up time)과 유지 시간(hold time)에 대한 요구 조건을 만족시키기 위하여 데이터를 입력받을 때 데이터 스트로브 신호(data strobe signal, DQS)가 함께 입력된다. 상기 DDR 동기식 메모리 장치의 데이터 쓰기 동작에 사용되는 데이터 스트로브 신호를 쓰기 데이터 스트로브 신호(WDQS)라 한다.
상기 쓰기 데이터 스트로브 신호(WDQS)는 데이터가 입력되기 소정의 클럭 사이클(예컨대, 1클럭 사이클(1tCK)) 전에 미리 로우 레벨 상태를 유지한다. 상기 쓰기 데이터 스트로브신호(WDQS)는 데이터가 입력되는 타이밍에 응답하여 클럭킹(clocking)되고, 데이터가 모두 입력된 후 소정의 클럭 사이클 동안 로우 레벨 상태를 유지하다가 하이 레벨 상태로 천이한다. 여기서 tCK는 클럭 사이클을 나타내는 단위이다.
외부로부터 입력되는 1개의 쓰기 데이터 스트로브신호(WDQS)에 설정 시간(set- up time) 및 유지 시간(hold time)을 맞추어서 입력된 데이터가 DDR 동기식 메모리 장치에 저장된다.
외부로부터 쓰기 명령(Write command)이 입력되는 클럭의 상승 에지(rising edge)부터 첫 번째 데이터가 입력되는 타이밍에 응답하여 클러킹되는 상기 쓰기 스트로브 신호(WDQS)의 최초 상승 에지까지의 시간을 tDQSS라 한다.
상기 DDR 동기식 메모리 장치에서 안전한 쓰기 동작(write operation)을 보장하고, 상기 스트로브 신호(WDQS)가 정확한 타이밍에 인에이블되도록 하기 위하여 상기 tDQSS의 최대값과 최소값의 범위(예컨대, 1 tCK)가 설정된다.
도 1은 DDR 동기식 메모리 장치에서 tDQSS의 최소값(tDQSS(MIN))과 최대값(tDQSS(MAX))을 나타내는 타이밍도이다. 도 1을 참조하면, I/O 환경이 POD(Pseudo Open Drain) 방식이라 할 때, 프리엠블(PREAMBLE) 이전의 스트로브 신호(DQS)와 포스트앰블(POSTAMBLE) 이후의 상기 스트로브 신호(DQS)는 하이 레벨로 유지된다. 도 1에서 상기 프리엠블(PREAMBLE)과 포스트엠블(POSTAMBLE)은 각각 0.5 클럭 사이클(0.5 tCK)이다.
도 1에 도시된 상기 tDQSS의 최소값(tDQSS(MIN))은 0.5 tCK이고 상기 최대값(tDQSS(MAM))은 1.5tCK이므로, tDQSS 마진(margine)은 1 tCK가 된다.
도 2는 종래의 DDR 동기식 메모리 장치의 4비트 프리패치(pre-fetch) 구조를 갖는 입력 데이터 얼라인 회로(200)의 블록도이고, 도 3은 도 2에 도시된 데이터 얼라인 회로의 동작에 대한 타이밍도이다.
도 2 및 도 3을 참조하면, 상기 입력 데이터 얼라인 회로(200)는 데이터 버퍼(203), 데이터 스트로브 버퍼(205), 클럭 버퍼(207), 제1 샘플러(212), 제2 샘플러(214), 내부 쓰기 클럭 발생부(220), 트리 블록(230), 내부 클럭 동기 지연 블록(240), 얼라인 블록(250), 및 결정 블록(260)을 구비한다.
상기 데이터 버퍼(203)는 외부로부터 입력된 데이터(DQ)를 버퍼링한다. 상기 데이터 스트로브 버퍼(205)는 외부로부터 입력된 쓰기 데이터 스트로브 신호(WDQS)를 버퍼링하여 내부 데이터 스트로브 신호(DSS)를 출력한다.
상기 클럭 버퍼(207)는 외부로부터 입력된 클럭 신호(CLK)를 버퍼링하고 버퍼링된 클럭 신호(ICLK, 이하 "내부 클럭 신호"라 한다)를 출력한다.
상기 제1 샘플러(212)는 상기 내부 데이터 스트로브 신호(DSS)의 제1에지(예컨대, 상승 에지)에 응답하여 상기 데이터 버퍼(203)로부터 출력된 데이터(DQ)를 샘플링한다.
상기 제2 샘플러(214)는 상기 내부 데이터 스트로브 신호(DSS)의 제2에지(예컨대, 하강 에지)에 응답하여 상기 데이터 버퍼(203)으로부터 출력된 데이터(DQ)를 샘플링한다.
상기 제1샘플러(212) 및 상기 제2샘플러(214) 각각에 의해 샘플링된 데이터(DF 및 DS)는 도 3에 도시된 바와 같이 1tCK의 윈도우(Window)를 갖는다.
상기 내부 쓰기 클럭 발생부(220)는 상기 내부 클럭 신호(ICLK) 및 외부로부터 입력된 쓰기 명령(WCMD)에 기초하여 내부 쓰기 클럭 신호(PCLK)를 생성한다.
상기 내부 쓰기 클럭 신호(PCLK)는 상기 트리 블록(230)을 통하여 상기 결정 블록(260)으로 공급된다.
상기 트리 블록(230)은 직렬로 연결된 다수의 인버터들(미도시)로 형성되며, 상기 내부 쓰기 클럭 신호(PCLK)를 미리 결정된 제1 지연 시간(PCLK tree delay) 동안 지연시키고, 지연된 내부 쓰기 클럭 신호(PCLKD)를 출력한다.
상기 내부 클럭 동기 지연 블록(240)은 제1동기 지연부(242), 제2동기 지연부(244), 및 제3 동기 지연부(246)를 포함한다.
상기 제1동기 지연부(242)는 상기 제1데이터(DF)를 미리 결정된 제1 지연 시간 동안 지연시키고, 지연된 제1 데이터(DDF)를 출력한다.
상기 제2 동기 지연부(244)는 상기 제2데이터(DS)를 미리 결정된 제1 지연 시간 동안 지연시키고, 지연된 제2 데이터(DDS)를 출력한다.
또한 상기 제3동기 지연부(246)는 상기 내부 데이터 스트로브 신호(DSS)를 상기 미리 결정된 제1 지연 시간 동안 지연시키고, 지연된 내부 데이터 스트로브 신호(DDSS)를 출력한다.
따라서 상기 내부 클럭 동기 지연부(240)는 상기 제1데이터(DF), 상기 제2데이터(DS), 및 상기 내부 데이터 스트로브 신호(DSS)를 상기 트리 블록(230)으로부터 출력된 지연된 내부 쓰기 클럭 신호(PCLKD)에 동기시키는 역할을 한다.
상기 얼라인 블록(250)은 상기 지연된 제1 데이터(DDF) 및 상기 지연된 제2데이터(DDS) 각각을 상기 지연된 내부 데이터 스트로브 신호(DDSS)에 기초하여 도 3에 도시한 바와 같이 4 비트의 병렬데이터(DDF1, DDS1, DDF2, 및 DDS2)로 정렬시킨다.
예컨대, 상기 얼라인 블록(250)은 상기 지연된 제1데이터(DDF) 및 상기 지연된 제2데이터(DDS) 각각을 상기 지연된 내부 데이터 스트로브신호(DDSS)의 하강 에지에 동기시켜 정렬시킬 수 있다. 이 때 상기 지연된 내부 데이터 스트로브 신호(DDSS)의 하강 에지에 동기되어 정렬된 상기 병렬데이터(DDF1, DDS1, DDF2, 및 DDS2)는 DQS 도메인 상태에 있게 된다.
상기 결정 블록(260)은 상기 지연된 내부 데이터 스트로브 신호(DDSS)에 동기되어 정렬된 상기 4비트의 병렬데이터(DDF1, DDS1, DDF2, 및 DDS2)를 상기 지연된 내부 클럭 신호(PCLKD)에 동기시켜 출력한다. 그러므로 상기 결정 블록(260)에서 상기 DQS 도메인 상태의 병렬데이터(DDF1, DDS1, DDF2, 및 DDS2)는 상기 지연된 내부 쓰기 클럭 신호(PCLKD)에 동기되어 정렬된다. 즉 상기 결정 블록(260)에서 상기 DQS 도메인 상태의 병렬데이터(DDF1, DDS1, DDF2, 및 DDS2)는 상기 지연된 내부 쓰기 클럭 신호(PCLKD)의 도메인 상태로 변환된다.
상기 결정 블록(260)은 상기 지연된 내부 클럭(PCLKD)에 기초하여, 상기 병렬 데이터(DDF1, DDS1, DDF2, 및 DDS2)의 각 비트 데이터에 대하여 tDQSS의 최소값 및 최대값, 즉 tDQSS 마진(Margin)을 결정한다.
따라서 종래의 4비트 프리패치 구조를 갖는 입력 데이터 얼라인 회로(200)는 버스트 길이(Burst length)가 4인 데이터 쓰기 동작시, 1개의 데이터(DQ) 핀(pin) 당 상기 4 비트의 병렬데이터(DDF1, DDS1, DDF2, 및 DDS2)의 각 비트 데이터에 대하여 적어도 4개의 tDQSS 최대값 및 최소값 결정 포인트들이 생긴다.
예컨대, 32 데이터 핀(DQ pin)을 구비한 그래픽 반도체 메모리 장치에 대해서는 버스트 길이(Burst length)가 4인 데이터 쓰기 동작시 적어도 총 128개의 tDQSS 최대값/최소값 결정 포인트들이 생길 수 있다.
tDQSS의 최대값/최소값은 상기 지연된 내부 클럭 신호(PCLKD)와 상기 내부 쓰기 클럭 신호의 도메인 상태의 병렬데이터(DDF1, DDS1, DDF2, 및 DDS2) 사이의 마진(margin)을 의미한다고 할 수 있다. 일반적으로 상기 tDQSS의 최대값/최소값은 미리 설정된 값(예컨대, 0.5tCK/0.5tCK)으로 정해질 수 있다.
도 3에 도시된 바와 같이 상기 지연된 내부 클럭 신호(PCLKD)가 1tCK의 윈도우를 가지므로, 상기 병렬 데이터(DDF1, DDS1, DDF2, 및 DDS2) 각 비트 데이터의 tDQSS 최대값/ 최소값은 각각 0.5 tCK, 즉 tDQSS 마진이 1 tCK인 것이 이상적이다.
그러나 데이터 라인 간의 스큐, 파워 노이즈, 다수의 tDQSS 최대값/최소값 결정 포인트들 등으로 인하여 실제로는 상기 tDQSS 마진이 1tCK가 되지 않을 수 있다.
이는 반도체 메모리 장치(예컨대, DDR)에서 사용되는 동작 클럭 신호의 주파수가 높아질수록 상기 미리 설정된 tDQSS의 최대값/최소값은 불충분한 값이 되고, 높은 주파수를 갖는 동작 클럭 신호에 기초하여 상기 반도체 메모리 장치의 쓰기 동작을 제한하는 요인이 될 수 있다.
상술한 바와 같이 종래의 입력 데이터 얼라인 회로(200)는 BL(Burst Length)이 4인 쓰기 동작시, 하나의 데이터 핀당 4개의 tDQSS 최대값/최소값 결정 포인들이 생길 수 있다. 따라서 보다 넓은 tDQSS 마진을 확보하기 위하여 상기 tDQSS 최대값/최소값의 결정 포인들을 줄이는 것이 요구된다.
반도체 메모리 장치의 쓰기 동작을 위하여 상기 반도체 메모리 장치로 입력되는 쓰기 명령들(예컨대, WR1,WR2, 및 WR3) 사이에는 미리 결정된 쓰기 지연 시간(tCCD, Column address strobe Command Delay)이 존재한다. 도 3에 도시된 바와 같이 상기 tCCD= 2tCK일 때, 상기 제3 쓰기 명령(WR3)은 갭이 존재한다.
도 3에 도시된 바와 같이 갭을 갖는 상기 제3 쓰기 명령(WR3)에 의하여 유효하지 않은 쓰기 스트로브 신호(Invalid WDQS)가 생성될 수 있으며, 상기 생성된 유효하지 않은 쓰기 스트로브 신호(Invalid WDQS)에 의하여 유효하지 않은 데이터(예컨대, DIN0, 또는 DIN1)가 발생될 수 있다.
따라서 본 발명이 이루고자 하는 기술적인 과제는 tDQSS의 최대값/최소값 결정 포인트들을 줄임으로써 좀 더 넓은 tDQSS 마진을 확보하고, 입력되는 쓰기 명령들 사이에 갭의 존재 유무에 기초하여 유효한 데이터를 결정할 수 있는 반도체 메모리 장치의 입력 데이터 정렬 회로 및 방법을 제공하기 위함이다.
상기 기술적 과제를 달성하기 위한 본 발명에 따른 반도체 메모리 장치의 입력 데이터 얼라인 회로는 얼라인 블록, 및 데이터 결정 블록을 구비한다.
상기 얼라인 블록은 스트로브 신호에 응답하여 직렬 데이터를 병렬 데이터로 정렬하고, 상기 스트로브 신호로부터 분주된 다수의 분주 신호들 각각에 응답하여 상기 정렬된 병렬 데이터를 병렬데이터 그룹들로 재정렬한다.
상기 데이터 결정 블록은 상기 다수의 분주 신호들 각각과 내부 쓰기 클럭 신호 사이의 동기 정보에 기초하여, 상기 재정렬된 병렬데이터 그룹들 중 어느 하나의 병렬데이터 그룹을 출력한다.
상기 기술적 과제를 달성하기 위한 본 발명에 따른 반도체 장치는 얼라인 블록 및 데이터 결정 블록을 구비한다.
상기 얼라인 블록은 데이터 스트로브 신호에 응답하여 수신된 직렬 데이터를 짝수 번째 데이터와 홀수 번째 데이터로 분리하고, 상기 데이터 스트로브 신호를 N(N>1인 자연수) 분주한 제1 데이터 스트로브 신호의 제1 에지에 응답하여 상기 짝수 번째 데이터를 래치하고, 상기 데이터 스트로브 신호를 N분주한 제2 스트로브 신호의 제1 에지에 응답하여 상기 홀수 번째 데이터를 래치한다.
상기 데이터 결정 블록은 제1 선택 신호에 응답하여 상기 얼라인 블록에 래치된 상기 짝수 번째 데이터를 출력하거나 제2 선택 신호에 응답하여 상기 얼라인 블록에 래치된 상기 홀수 번째 데이터를 출력한다.
상기 제1 선택 신호는 내부 쓰기 클럭 신호에 응답하여 발생하며, 상기 제1데이터 스트로브 신호의 위상과 소정의 위상 차이를 갖는 신호이다. 상기 제2 선택 신호는 상기 내부 쓰기 클럭 신호에 응답하여 발생하며, 상기 제2 데이터 스트로브 신호의 위상과 소정의 위상 차이를 갖는 신호이다.
상기 기술적 과제를 달성하기 위한 본 발명에 따른 반도체 메모리 장치의 입력 데이터 얼라인 방법은 내부 쓰기 클럭 신호를 생성하는 단계, 얼라인 단계 및 출력 단계를 구비한다.
상기 내부 쓰기 클럭 신호를 생성하는 단계는 외부로부터 입력된 클럭 신호 및 쓰기 명령에 기초하여 내부 쓰기 클럭 신호를 생성한다.
상기 얼라인 단계는 데이터 스트로브 신호에 응답하여 직렬 데이터를 병렬 데이터로 정렬(align)하고, 상기 데이터 스트로브 신호로부터 분주된 다수의 분주 신호들 각각에 응답하여 상기 정렬된 병렬 데이터를 병렬데이터 그룹들로 재정 렬(realign)한다.
상기 출력 단계는 상기 다수의 분주 신호들 각각과 내부 쓰기 클럭 신호 사이의 동기 정보에 기초하여, 상기 재정렬된 병렬데이터 그룹들 중 어느 하나의 병렬데이터 그룹을 출력한다.
상기 기술적 과제를 달성하기 위한 본 발명에 따른 반도체 장치는 얼라인 블록, 갭 정보 신호 검출 블록, 데이터 결정 블록을 구비한다.
상기 얼라인 블록은 쓰기 데이터 스트로브 신호에 응답하여 입력된 직렬 데이터를 병렬 데이터로 정렬하고, 상기 쓰기 데이터 스트로브 신호로부터 분주된 다수의 분주 신호들 각각에 응답하여 상기 정렬된 병렬 데이터를 병렬데이터 그룹들로 재정렬한다.
상기 갭 정보 신호 검출 블록은 내부 클럭 신호 및 쓰기 명령들에 기초하여, 상기 쓰기 명령들 사이에 갭(gap)이 존재하는지 여부를 나타내는 갭 정보 신호를 검출한다.
상기 데이터 결정 블록은 상기 검출된 갭 정보 신호에 기초하여, 상기 재정렬된 병렬데이터 그룹들 중 어느 하나의 병렬데이터 그룹을 출력한다.
상기 기술적 과제를 달성하기 위한 본 발명에 따른 반도체 장치는 얼라인 블록, 갭 정보 신호 검출 블록, 및 데이터 결정 블록을 구비한다.
상기 얼라인 블록은 쓰기 데이터 스트로브 신호에 응답하여 수신된 직렬 데이터를 짝수 번째 데이터와 홀수 번째 데이터로 분리하고, 상기 쓰기 데이터 스트로브 신호를 N(N>1인 자연수) 분주한 제1 쓰기 데이터 스트로브 신호의 제1에지에 응답하여 상기 짝수 번째 데이터를 래치하고, 상기 쓰기 데이터 스트로브 신호를 N분주한 제2 쓰기 스트로브 신호의 제1에지에 응답하여 상기 홀수 번째 데이터를 래치한다.
상기 갭 정보 신호 검출 블록은 내부 클럭 신호에 기초하여, 쓰기 명령들 사이에 갭(gap)이 존재하는지 여부를 나타내는 갭 정보 신호를 검출한다.
상기 데이터 결정 블록은 상기 갭 정보 신호 및 상기 내부 클럭 신호에 기초하여 제1 선택 신호 또는 제2 선택 신호를 발생시키고, 상기 제1 선택 신호에 응답하여 상기 얼라인 블록에 래치된 상기 짝수 번째 데이터를 출력하거나 상기 제2 선택 신호에 응답하여 상기 얼라인 블록에 래치된 상기 홀수 번째 데이터를 출력한다.
상기 기술적 과제를 달성하기 위한 본 발명에 따른 반도체 장치는 분주기, 샘플러, 제1 얼라인 블록, 제2 얼라인 블록, 및 데이터 결정 블록을 구비한다.
상기 분주기는 쓰기 데이터 스트로브 신호를 N(N은 자연수) 분주하여 서로 반대 위상을 갖는 제1분주 신호 및 제2분주 신호를 출력한다. 상기 샘플러는 상기 쓰기 데이터 스트로브 신호에 응답하여 입력된 직렬 데이터를 짝수 번째 데이터와 홀수 번째 데이터로 샘플링한다.
상기 제1 얼라인 블록은 상기 쓰기 데이터 스트로브 신호의 제1 에지에 응답하여 상기 짝수 번째 데이터와 상기 홀수 번째 데이터를 래치한다.
상기 제2 얼라인 블록은 상기 제1 분주 신호의 제1 에지에 응답하여 상기 제1 얼라인 블록에 래치된 상기 짝수 번째 데이터와 상기 홀수 번째 데이터를 제1 얼 라인 데이터로 정렬하고, 상기 제2분주 신호의 제1 에지에 응답하여 상기 제1 얼라인 블록에 래치된 상기 짝수 번째 데이터와 상기 홀수 번째 데이터를 제2 얼라인 데이터로 정렬한다.
상기 데이터 결정 블록은 내부 클럭 신호 및 쓰기 명령들에 기초하여 검출된 상기 쓰기 명령들 사이에 갭(gap)이 존재하는지 여부를 나타내는 갭 정보 신호에 기초하여, 상기 제1 얼라인 데이터 또는 상기 제2 얼라인 데이터를 출력한다.
상기 기술적 과제를 달성하기 위한 본 발명에 따른 반도체 장치의 입력 데이터를 얼라인하는 방법은 얼라인 단계 및 데이터 결정 단계를 구비한다.
상기 얼라인 단계는 쓰기 데이터 스트로브 신호에 응답하여 입력된 직렬 데이터를 병렬 데이터로 정렬하고, 상기 쓰기 데이터 스트로브 신호로부터 분주된 다수의 분주 신호들 각각에 응답하여 상기 정렬된 병렬 데이터를 병렬데이터 그룹들로 재정렬한다.
상기 데이터 결정 단계는 입력된 쓰기 명령들 사이에 갭(gap)이 존재하는지 여부에 기초하여, 상기 재정렬된 병렬데이터 그룹들 중 어느 하나의 병렬데이터 그룹을 출력한다.
상기 기술적 과제를 달성하기 위한 본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다. 이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 4는 본 발명의 실시 예들에 따른 DDR 동기식 메모리 장치의 4비트 프리패치 구조를 갖는 입력 데이터 얼라인 회로(400)의 블록도이다. 도 4를 참조하면, 상기 얼라인 회로(400)는 데이터 버퍼(203), 데이터 스트로브 버퍼(205), 클럭 버퍼(207), 제1 샘플러(212), 제2 샘플러(214), 내부 쓰기 클럭 발생부(220), 트리 블록(405), 제1 얼라인 블록(410), 분주기(420), 동기 지연부(430), 제2 얼라인 블록(440), 동기 정보 검출부(450), 및 결정 블록(460)를 구비한다.
상기 데이터 버퍼(203), 상기 데이터 스트로브 버퍼(205), 상기 클럭 버퍼(207), 상기 제1 샘플러(212), 상기 제2 샘플러(214), 및 상기 내부 클럭 발생부(220)는 도 2에서 설명한 바와 동일한 동작을 하므로 이하 설명의 편의를 위하여 그 설명을 생략한다. 상기 제1 샘플러(212)와 상기 제2 샘플러(214) 각각은 적어도 하나의 플립플롭으로 구현될 수 있다.
상기 클럭 버퍼(207)의 출력 신호(ICLK, 이하 "내부 클럭 신호"라 함) 및 쓰기 명령에 기초하여 생성된 상기 내부 쓰기 클럭 신호(PCLK)는 상기 트리 블록(405)을 통하여 상기 동기 정보 검출부(450)로 공급된다.
상기 트리 블록(405)은 상기 내부 클럭 신호(PCLK)를 상기 동기 정보 검출부(450)로 공급하기 위하여 직렬로 연결된 다수의 인버터들(예컨대, Inverter chain, 미도시)로 구현될 수 있다. 따라서 상기 트리 블록(405)은 소정의 지연 시간 동안 지연된 내부 쓰기 클럭 신호(PCLKD)를 출력한다.
도 4에 도시된 상기 트리 블록(405)의 인버터 체인의 길이(예컨대, 인버터들 의 수)는 도 2에 도시된 트리 블록(230)의 인버터 체인의 길이보다 짧다.
그러므로 도 4에 도시된 상기 트리 블록(405)에서의 상기 내부 쓰기 클럭 신호(PCLK)의 시간 지연(예컨대, PCLK tree delay)도 도 2에 도시된 상기 트리 블록(230)에서의 시간 지연보다 짧아진다.
따라서 상기 트리 지연(PCLK tree delay)에 기인한 상기 내부 스트로브 신호(DSS)의 지연 변화(delay variation)가 감소하므로 tDQSS 마진이 증대되고, 레이 아웃(layout)의 부담을 줄일 수 있으며, 전력 소모를 줄일 수 있는 효과가 있다.
상기 제1 얼라인 블록(410)은 도 2에 도시된 상기 얼라인 블록(250)과 입력 및 출력만 다를 뿐 동일한 구조이다. 상기 제1 얼라인 블록(410)은 적어도 하나의 플립플롭(미도시)으로 구현될 수 있다.
도 2에 도시된 상기 얼라인 블록(250)은 상기 제3 동기 지연부(246)에 의해 지연된 내부 데이터 스트로브 신호(DDSS)의 제1에지(예컨대 ,상승 에지)에 응답하여, 상기 제1 동기 지연부(242) 및 상기 제2동기 지연부(244) 각각에 의해 지연된 샘플링된 데이터(DF 및 DS)를 병렬데이터(DDF1,DDF2,DDS1,및 DDS2)로 정렬시킨다.
반면에 도 4에 도시된 상기 제1 얼라인 블록(410)은 상기 내부 데이터 스트로브 신호(DSS)의 제1에지(예컨대, 상승 에지)에 응답하여, 상기 제1 샘플러(212) 및 상기 제2 샘플러(214) 각각에 의해 샘플링된 데이터(DF 및 DS)를 병렬데이터(DF1, DF2, DS1,및 DS2)로 정렬시킨다.
상기 분주기(420)는 상기 내부 데이터 스트로브 신호(DSS)에 기초하여 N(N은 자연수, 예컨대, N=2) 분주된 제1분주 신호(DSS_E) 및 상기 제1 분주 신호(DSS_E)와 180도 위상 차를 갖는 제2 분주 신호(DSS_O)를 출력한다.
예컨대, 상기 제1분주 신호(DSS_E)는 상기 내부 데이터 스트로브 신호(DSS)의 위상과 동일한 위상을 갖는 신호이고, 상기 제2 분주 신호(DSS_O)는 상기 제1분주 신호(DSS_E)와 180도 위상 차를 갖는 신호일 수 있다.
상기 동기 지연부(430)는 상기 제1 분주 신호(DSS_E) 및 상기 제2 분주 신호(DSS_O)를 상기 트리 블록(405)으로부터 출력된 상기 지연된 내부 쓰기 클럭 신호(PCLKD)와 동기시키기 위하여 상기 제1 분주 신호(DSS_E) 및 상기 제2 분주 신호(DSS_O) 각각을 소정의 지연 시간(예컨대, PCLK tree delay) 동안 지연시키고, 지연된 제1 지연 분주 신호(DDSS_E) 및 지연된 제2 지연 분주 신호(DDSS_O)를 출력한다.
상기 제2 얼라인 블록(440)은 제1 얼라인부(442) 및 제2 얼라인부(444)를 구비한다. 상기 제1 얼라인부(442)는 상기 제1 분주 신호(DSS_E)에 응답하여 상기 제1 얼라인 블록(410)으로부터 출력된 상기 병렬데이터(DF1,DF2,DS1, 및 DS2)를 재정렬시키고, 재정렬된 짝수 병렬데이터(DF1_E, DF2_E,DS1_E, 및 DS2_E, 이하 EVEN이라 함)를 출력한다.
상기 제2 얼라인부(444)는 상기 제2 분주 신호(DSS_O)에 응답하여 상기 제1얼라인 블록(410)으로부터 출력된 상기 병렬데이터(DF1,DF2,DS1, 및 DS2)를 재정렬시키고, 재정렬된 홀수 병렬데이터(DF1_O, DF2_O,DS1_O, 및 DS2_O, 이하 ODD라 함)를 출력한다.
상기 동기 정보 검출부(450)는 상기 지연된 내부 클럭 신호(PCLKD)에 대한 상기 제1 지연 분주 신호(DDSS_E)의 동기 정보(PCLKD_E) 및 상기 지연된 내부 클럭 신호(PCLKD)에 대한 상기 제2 지연 분주 신호(DDSS_O)의 동기 정보(PCLKD_O)를 검출한다.
상기 동기 정보 검출부(450)는 상기 동기 정보들(PCLKD_E 및 PCLKD_O)을 검출하기 위하여 제1플립플롭(452), 및 제2플립플롭(454)을 포함할 수 있다.
상기 제1플립플롭(452)은 상기 지연된 내부 쓰기 클럭 신호(PCLKD)에 응답하여 상기 제1 지연 분주 신호(DDSS_E)를 래치하고, 래치된 신호를 제1 동기 정보(PCLKD_E)로서 출력한다.
상기 제2 플립플롭(454)은 상기 지연된 내부 쓰기 클럭 신호(PCLKD)에 응답하여 상기 제2 지연 분주 신호(DDSS_O)를 래치하고, 래치된 신호를 제2 동기 정보(PCLKD_O)로서 출력한다.
상기 결정 블록(460)는 상기 제1 동기 정보(PCLKD_E) 및 상기 제2 동기 정보PCLKD_O)에 기초하여, 상기 재정렬된 짝수 병렬데이터(EVEN) 또는 상기 재정렬된 홀수 병렬데이터(ODD)를 출력한다. 이 때 상기 재정렬된 짝수 병렬데이터(EVEN) 및 상기 홀수 병렬데이터(ODD)는 상기 내부 데이터 스트로브 신호(DSS)를 분주한 제1 분주 신호(DSS_E) 및 제2분주 신호(DSS_O)에 기초하여 정렬되므로 상기 데이터 스트로브 신호의 도메인 상태(DQS 도메인 상태)에 있다고 한다.
상기 동기 정보 검출부(450)는 상기 지연된 내부 쓰기 클럭 신호(PCLKD)에 응답하여 상기 제1 지연 분주 신호(DDSS_E)를 상기 제1 동기 정보(PCLKD_E)로 래치 하고, 상기 지연된 내부 쓰기 클럭 신호(PCLKD)에 응답하여 상기 제2 지연 분주 신호(DDSS_O)를 상기 제2 동기 정보(PCLKD_O)로 래치한다.
상기 결정 블록(460)은 래치된 상기 동기 정보들(PCLKD_E 및 PCLKD_O)에 기초하여 상기 DQS 도메인 상태의 상기 짝수 병렬 데이터(EVEN) 또는 상기 홀수 병렬 데이터(ODD)를 출력한다.
따라서 상기 동기 정보 검출부(450)는 상기 DQS 도메인 상태의 상기 짝수 병렬 데이터(EVEN) 및 상기 홀수 병렬 데이터(ODD)의 tDQSS의 최소값/최대값, 즉 tDQSS 마진(Margin)을 결정할 수 있다.
버스트 길이가 4인 데이터(DQ)의 쓰기 동작시 상기 동기 정보 검출부(450)에서 결정되는 상기 tDQSS의 최소값/최대값, 즉 tDQSS 마진(Margin)의 결정포인트들은 2포인트가 된다.
즉 상기 지연된 내부 클럭 신호(PCLKD), 상기 제1 지연 분주 신호(DDSS_E) 및 상기 제2 지연 분주 신호(DDSS_D)에 의하여 상기 tDQSS 최소값/최대값이 결정된다.
도 4에 도시된 반도체 메모리 장치의 입력 데이터 얼라인 회로는 본 발명의 실시 예에 지나지 않으며, 본 발명의 이에 한하지 않는다.
예컨대, 상기 분주기(420)는 상기 내부 데이터 스트로브 신호(DSS)를 N(N>2인 정수)개의 서로 다른 위상을 갖는 분주 신호들로 분주할 수 있다. 이 때 상기 제2 얼라인 블록(440)은 N개의 얼라인부들을 구비하며, 상기 N개의 얼라인부들 각각은 상기 분주 신호들 중 대응하는 분주 신호에 응답하여 상기 제1 얼라인 블 록(410)으로부터 정렬된 병렬데이터(DF1,DF2,DS1, 및 DS2)를 재정렬한다.
상기 동기 지연부(430)는 상기 N개의 분주 신호들 각각을 소정의 지연 시간(예컨대, PCLK tree delay) 동안 지연시킨다.
또한 상기 동기 정보 검출부(450)는 N개의 플립플롭들(미도시)로 구현될 수 있으며, 상기 N개의 플립플롭들 각각은 상기 지연된 내부 쓰기 클럭 신호(PCLKD)에 응답하여, 상기 동기 지연부(430)로부터 출력된 상기 N개의 분주 신호들 중 대응하는 분주 신호를 래치한다.
상기 결정 블록(460)은 상기 N개의 플립플롭들 각각에 래치된 상기 분주 신호들에 기초하여 상기 N개의 얼라인부들에 의해 재정렬된 병렬데이터 그룹들 중 어느 하나의 병렬데이터 그룹을 출력할 수 있다.
도 4에 도시된 반도체 메모리 장치는 DDR(double data rate) SDRAM(Synchronous DRAM)과 같은 데이터 스트로브 신호를 사용하는 동기형 반도체 메모리 장치가 될 수 있다.
도 5는 도 4에 도시된 입력 데이터 얼라인 회로(400)의 동작을 나타내는 제1 타이밍도이다. 도 5는 POD(Pseudo Open drain) 방식의 인터페이스를 사용하는 I/O(input/output) 환경에서 갭을 갖고 입력된 쓰기 명령(예컨대, WR3)에 의하여 유효하지 않은 쓰기 데이터 스트로브 신호(WDQS)가 발생되는 경우에 대한 상기 얼라인 회로(400)의 동작을 나타내는 타이밍도이다.
상기 쓰기 명령들(WCMD)은 쓰기 동작의 데이터 버스트 길이(Burst Length)에 따라 미리 결정된 쓰기 명령 간격 시간(tCCD, Column address strobe Command Delay)을 갖고 연속하여 상기 얼라인 회로(400)로 입력될 수 있다.
예컨대, 상기 데이터 버스트 길이가 4이고, 상기 미리 결정된 쓰기 명령 간격 시간(tCCD)이 2tCK일 때, 제1 쓰기 명령(WR1)이 입력된 때부터 2tCK가 지난 후에 제2 쓰기 명령(WR2)이 입력될 수 있다. 여기서 tCK는 클럭 사이클을 나타내는 단위이다.
따라서 상기 제2 쓰기 명령(WR2)에 대해서는 갭이 존재하지 않는다. 반면에 상기 제2 쓰기 명령(WR2)이 입력된 때부터 3tCK가 지난 후에 제3 명령이 입력될 때, 상기 제3 쓰기 명령에 대해서는 1tCK의 갭이 존재한다.
도 4 및 도 5를 참조하면, 버스트 길이가 4이고, 연속적인 쓰기 명령의 경우 쓰기 명령들 사이에는 2tCK의 시간 간격을 갖는다. 그러나 도 5에 도시된 바와 같이 세 번째 쓰기 명령(WR3)은 두 번째 쓰기 명령(WR2)과 3tCK의 시간 간격을 가지므로 1 tCK의 갭(gap)을 갖는다.
쓰기 명령들(WR1, WR2, 및 WR3) 각각이 입력된 후 상기 쓰기 데이터 스트로브 신호(WDQS)의 상승 에지 및 하강 에지 각각에 응답하여 입력된 직렬 데이터(DQ, Bit length=4)가 샘플링된다.
도 5에 따르면 1tCK의 갭을 갖는 세 번째 쓰기 명령(WR3)으로 인하여 발생된 유효하지 않은 쓰기 스트로브 신호(Invalid WDQD)에 응답하여 유효하지 않은 데이터(IN1 및 IN2)가 샘플링된다.
상기 샘플링된 직렬데이터(DF 및 DS)는 상기 제1 얼라인 블록(410)에 의해 병렬로 정렬된다. 이 때 병렬로 정렬된 데이터를 제1 병렬데이터(DF1, DF2, DS1, 및 DS2)라 한다.
상기 제1 병렬데이터(DF1, DF2, DS1, 및 DS2)는 상기 제2 얼라인 블록(440)에 의해 도 5에 도시된 바와 같이 재정렬된다. 이 때 상기 제1분주 신호(DSS_E)에 의해 재정렬된 짝수 병렬 데이터(EVEN)와 상기 제2분주 신호(DSS_O)에 의해 재정렬된 홀수 병렬 데이터(ODD)의 윈도우는 2tCK가 된다.
따라서 상기 홀수 병렬 데이터(ODD) 및 상기 짝수 병렬데이터(EVEN)에 대한 tDQSS의 마진(2tCK)은 도 3에 도시된 병렬데이터(DDF1, DDF2, DDS1, 및 DDS2)의 tDQSS 마진(1tCK) 보다 2배가 되는 효과가 있다.
상기 결정 블록(460)은 상기 동기 정보 검출부(450)에 의해 검출된 동기 정보들(PCLKD_E 및 PLCKD_O)에 기초하여, 상기 제2 얼라인 블록(440)에 의해 재정렬된 상기 짝수 정렬 데이터(EVEN)와 상기 홀수 병렬 데이터(ODD) 중 어느 하나의 병렬데이터가 유효한 정렬 데이터(DF1_V, DF2V, DS1_V, 및 DS2_V)가 결정된다.
예컨대, 도 5에 도시된 바와 같이 상기 지연된 내부 쓰기 클럭 신호(PCLKD)의 상승 에지에서 상기 제1 지연 분주 신호(DDSS_E)는 하이 레벨 상태이고 상기 제2 지연 분주 신호(DDSS_O)는 로우 레벨 상태이다.
상기 지연된 내부 쓰기 클럭 신호(PCLKD)의 상승 에지마다 하이 레벨 상태를 갖는 지연 분주 신호(DDSS_E 또는 DDSS_O)에 의해 정렬된 병렬 데이터가 상기 유효한 정렬 데이터(DF1_V, DF2V, DS1_V, 및 DS_V)로 결정된다.
상기 동기 정보 검출부(450) 및 상기 결정 블록(460)에서 tDQSS의 최대값/ 최소값이 결정된다. 즉 도 5에 도시된 바와 같이 상기 제1 지연 분주 신호(DDSS_E) 와 상기 제2 지연 분주 신호(DDSS_O) 각각과 상기 지연된 내부 쓰기 클럭 신호(PCLKD)에 대한 상기 tDQSS의 최대값/최소값은 0.5/0.5 tCK로 결정된다. 이 때 상기 tDQSS 최대값/최소값의 결정 포인트들은 2포인트가 된다.
상술한 바와 같이 상기 재정렬된 홀수 병렬데이터(ODD) 및 짝수 병렬 데이터(EVEN)는 2tCK의 원도우를 가지므로, 상기 결정 블록(460)에서 상기 tDQSS의 최대값/최소값 각각이 1tCK로 증가되는 효과가 있다.
도 6은 도 4에 도시된 입력 데이터 얼라인 회로(400)의 동작을 나타내는 제2 타이밍도이다. 도 6은 두 번째 쓰기 명령(WR2)에 대하여 1 tCK의 갭을 갖는 세 번째 쓰기 명령(WR3)에도 불구하고, 유효하지 않은 쓰기 데이터 스트로브 신호(Invalid WDQS)가 발생되지 않은 경우에 대한 상기 얼라인 회로(400)의 동작을 나타내는 타이밍도이다.
상기 유효하지 않은 쓰기 데이터 스트로브 신호(Invalid WDQS)가 발생되지 않으므로, 상기 내부 스트로브 신호(DSS)와 동일한 위상 값을 갖는 상기 제1 지연 분주 신호(DSS_E)에 대한 상기 동기 정보(PCKED_E)는 상기 지연된 내부 쓰기 클럭 신호(PCLKD)의 상승 에지마다 하이 레벨 상태를 계속 유지한다.
따라서 상기 짝수 정렬 데이터(EVEN)가 상기 유효한 정렬데이터(DF1_V, DF2_V, DS1_V, DS2_V)로 결정된다.
도 7은 본 발명의 실시 예들에 따른 DDR 동기식 메모리 장치의 4비트 프리패치 구조를 갖는 입력 데이터 얼라인 회로(700)의 블록도이다. 도 7을 참조하면, 상기 얼라인 회로(700)는 데이터 버퍼(203), 데이터 스트로브 버퍼(205), 클럭 버 퍼(207), 제1 샘플러(212), 제2 샘플러(214), 내부 쓰기 클럭 발생부(220), 트리 블록(230), 제1 얼라인 블록(410), 분주기(420), 제2 얼라인 블록(440), 갭 정보 신호 검출 블록(gap information signal detection block, 710), 선택 블록(720), 및 결정 블록(730)을 구비한다.
상기 갭 정보 신호 검출 블록(710)는 상기 내부 클럭 신호(ICLK) 및 쓰기 명령들(WCMD, 예컨대 WR1, WR2, 및 WR3)에 기초하여, 상기 쓰기 명령들(WCMD)에 대한 갭 정보 신호(WGAP)를 검출한다.
도 8은 도 7에 도시된 갭 정보 신호 검출 블록(710)의 일 실시 예를 나타내는 회로도를 나타낸다. 도 8을 참조하면, 상기 갭 정보 신호 검출 블록(710)은 커맨드 버퍼(command buffer, 810), 제1 플립플롭(820), 제1 지연부(830), 제1 인버터(840), 제2 플립플롭(850), 논리 연산기(860), 제2 인버터(870), 및 제2 지연부(880)를 구비한다.
상기 커맨드 버퍼(810)는 쓰기 명령(WCMD, 예컨대, WR1, WR2, 또는 WR3)을 수신하고 수신된 쓰기 명령(WCMD, 예컨대, WR1, WR2, 또는 WR3)을 버퍼링한다.
상기 제1 플립플롭(820)은 상기 커맨드 버퍼(810)로부터 출력된 상기 버퍼링된 쓰기 명령(WCMD)을 수신하고, 상기 내부 클럭 신호(ICLK)에 응답하여 동작한다.
예컨대, 상기 제1 플립플롭(820)은 데이터 트랜스퍼 플립플롭(data transfer flip-flop)일 수 있으며, 상기 커맨드 버퍼(810)로부터 출력된 상기 버퍼링된 쓰기 명령(WCMD)을 상기 내부 클럭 신호(ICLK)의 제1 에지(예컨대, 상승 에지(rising edge))에 동기시켜 또는 응답하여 출력할 수 있다.
상기 제1 지연부(830)는 상기 제1 플립플롭(820)의 출력(PWA)을 미리 결정된 제1 지연 시간 동안 지연시켜 출력한다. 상기 제1 인버터(840)는 상기 제1 지연부(830)로부터 출력된 지연된 상기 제1 플립플롭(820)의 출력(PWAD)을 반전시킨다.
예컨대, 상기 제1 지연 시간은 쓰기 동작의 데이터 버스트 길이(data Burst Length)에 따라 미리 결정된 쓰기 명령 간격 시간(tCCD=2tCK)일 수 있다.
상기 제2 플립플롭(850)은 상기 제1 인버터(840)의 출력(PWAD_B)을 수신하고, 상기 제1 플립플롭(820)의 출력(PWA)에 응답하여 동작한다.
예컨대, 상기 제2 플립플롭(850)은 데이터 트랜스퍼 플립플롭(data transfer flip-flop)일 수 있으며, 상기 제1 인버터(840)의 출력(PWAD_B)을 상기 제1 플립플롭(820)의 출력(PWA)의 제1 에지(예컨대, 상승 에지(rising edge))에 동기시켜 또는 응답하여 출력할 수 있다.
상기 논리 연산기(860)는 상기 제2 플립플롭(850)의 출력(F_out)과 상기 제1 플립플롭(820)의 출력(PWA)을 논리 연산하고, 논리 연산된 결과를 출력한다. 상기 논리 연산기(860)는 부정 논리곱 게이트(NAND Gate)일 수 있다. 상기 제2 인버터(870)는 상기 부정 논리곱 게이트(860)의 출력을 반전시킨다.
따라서 상기 제2 플립플롭(850)의 출력(F_out)과 상기 제1 플립플롭(820)의 출력(PWA)이 모두 하이 레벨 값일 때만, 상기 제2 인버터(870)의 출력(WGAP1)은 하이 레벨 값이다.
상기 쓰기 명령에 대한 갭 정보 신호(WGAP)는 상기 제2 인버터(870)의 출력(WGAP1)의 레벨 값에 기초한다. 즉 수신된 쓰기 명령(WCMD)에 응답하여, 상기 제 2 인버터(870)의 출력(WGAP1)이 하이 레벨 값일 때, 상기 수신된 쓰기 명령(WCMD)은 갭이 존재한다.
다만 도 4에 도시된 본 발명의 실시 예에 따르면 최초로 수신된 쓰기 명령(WR1)에 대해서는 상기 제2 인버터(870)의 출력(WGAP1)은 하이 레벨 값을 갖도록 구현되었다.
그러나 최초로 수신된 쓰기 명령(WR1)은 갭이 존재하지 않으므로 상기 최초로 수신된 쓰기 명령(WR1)에 응답한 상기 제2 인버터(870)의 출력(WGAP1)은 갭 정보로서 가치가 없다.
상기 제2 지연부(880)는 상기 제2 인버터(870)의 출력(WGAP1)을 미리 결정된 제2 지연 시간 동안 지연시키고, 지연된 결과를 출력한다. 예컨대, 상기 제2 지연 시간은 반도체 메모리 장치(예컨대, DRAM)의 스펙(Specification)에 따라 미리 결정된 쓰기 지연 시간(Write Latency, tWL)이 될 수 있다.
도 9는 도 4에 도시된 제2 지연부(880)의 일 실시 예를 나타내는 회로도이다. 도 9를 참조하면, 상기 제2 지연부(880)는 다수의 플립플롭들(910 내지 970)을 구비하며, 각각의 플립플롭의 출력이 다음 플립플롭의 입력이 되도록 연결된 쉬프트 레지스터(shift register)일 수 있다. 상기 다수의 플립플롭들(910 내지 970) 각각은 상기 내부 클럭 신호(ICLK)에 응답하여 동작한다.
상기 다수의 플립플롭들(910 내지 970) 각각은 다수의 제어 신호들(P1 내지 P7) 중 대응하는 어느 하나의 제어신호를 수신한다. 상기 다수의 플립플롭들(910 내지 970) 각각은 상기 대응하는 어느 하나의 제어신호에 기초하여 상기 제2 인버 터(870)의 출력(WGAP1)을 수신한다.
예컨대, 상기 다수의 제어신호들(P1 내지 P7) 중 제4 제어신호(P4)의 레벨 이 제1로직 레벨(예컨대, 하이 레벨)이고, 나머지 제어신호들의 레벨이 모두 제2 로직 레벨일 때, 상기 제2 인버터(870)의 출력(WGAP1)은 상기 제6 F/F(flip flop, 940)으로만 입력될 수 있다. 따라서 제9 F/F(970)의 출력(WGAP)은 상기 제2 인버터(870)의 출력(WGAP1)보다 3 tCK 더 지연되어 출력될 수 있다.
도 10은 도 7에 도시된 갭 정보 신호 검출 블록(710)의 동작 설명을 위한 타이밍 도를 나타낸다. 여기서 데이터의 버스트 길이(Burst Length)는 4이고, 상기 미리 결정된 쓰기 명령 간격 시간은 2tCK이다.
도 7 및 도 10을 참조하면, 상기 PWA는 상기 내부 클럭 신호(ICLK)의 상승 에지에 응답하여 수신되는 쓰기 명령(WCMD, 예컨대 WR1, WR2, 또는 WR3)이 샘플링된 신호이다. 따라서 상기 쓰기 명령(WCMD, 예컨대 WR1, WR2, 또는 WR3)이 수신되자마자 상기 PWA는 로우 레벨에서 하이 레벨로 천이한다.
상기 PWAD_B는 상기 PWA를 미리 결정된 제1 지연 시간, 예컨대 상기 미리 결정된 쓰기 명령 간격 시간(예컨대, tCCD=2tCK) 동안 지연시켜고, 지연된 신호(PWAD)를 반전시킨 신호이다.
따라서 수신된 쓰기 명령이 갭이 없을 때는 상기 수신된 쓰기 명령(WCMD)에 응답하여, 상기 PWA와 상기 PWAD_B는 서로 반대 레벨 값을 갖는다. 예컨대, 제2 쓰기 명령(WR2)에 응답하여, 상기 PWA는 하이 레벨 값을 갖질 수 있고 상기 PWAD_B는 로우 레벨 값을 가질 수 있다.
반면에, 수신된 쓰기 명령이 갭이 있을 때는 상기 수신된 쓰기 명령(WCMD)에 응답하여, 상기 PWA와 상기 PWAD_B는 서로 동일한 레벨 값을 갖는다. 예컨대, 제3 쓰기 명령(WR3)에 응답하여, 상기 PWA과 상기 PWAD_B는 모두 하이 레벨 값을 가질 수 있다.
F_out은 상기 제2 플립플롭(450)에 의해 상기 PWAD_B를 상기 PWA에 동기시켜 출력한 신호이다. WGAP1은 상기 부정 논리곱 게이트(860)에 의하여 상기 PWA와 상기 PWA에 동기된 PWAD_B를 논리 연산하고, 논리 연산된 결과를 상기 제2 인버터(870)에 의하여 반전시킨 신호이다.
따라서 수신된 쓰기 명령(WCMD)이 갭이 있을 때는 상기 WGAP1은 상기 수신된 쓰기 명령(WCMD)에 응답하여 로우 레벨에서 하이 레벨로 천이한다. 예컨대, 도 10에 따르면 제3 쓰기 명령(WR3)에 응답하여 상기 WGAP1은 로우 레벨에서 하이 레벨로 천이하므로 상기 제3 쓰기 명령(WR3)에 대한 갭이 존재한다.
WGAP는 상기 제2 지연부(880)에 의하여 상기 미리 결정된 쓰기 지연 시간(예컨대, tWL=1) 동안 상기 WGAP1을 지연시킨 신호이다.
상기 선택 블록(720)은 상기 지연된 내부 쓰기 클럭 신호(PCLKD)를 수신한다. 상기 선택 블록(720)은 상기 갭 정보 신호 검출 블록(710)으로부터 출력된 갭 정보 신호(WGAP)에 기초하여 제1 선택 신호(S_E) 또는 제2 선택 신호(S_O)를 출력한다.
즉 상기 선택 블록(710)은 상기 갭 정보 신호(WGAP)에 기초하여, 상기 수신된 지연된 내부 쓰기 클럭 신호(PCLKD)를 상기 제1 선택 신호(S_E) 또는 상기 2 선 택 신호(S_O)로 출력한다.
도 11은 도 7에 도시된 선택 블록(720)의 일 실시 예를 나타내는 회로도이다. 도 7 및 도 11을 참조하면, 상기 선택 블록(720)은 제10 플립플롭(1010), 제3 인버터(1020), 제4 인버터(1025), 및 선택부(1030)를 구비한다.
상기 제10 플립플롭(1010)은 상기 갭 정보 신호(WGAP)에 응답하여, 입력 값이 토글(toggle)되어 출력된다. 상기 제10 플립플롭(1010)은 토글 플립 플롭(toggle flip flop)으로 구현될 수 있다.
상기 제3 인버터(1020)는 상기 제10 플립플롭(1010)의 출력(EVEN_EN)을 반전시킨다. 상기 제3 인버터(1020)에 의해 반전된 상기 제10 플립플롭(1010)의 출력(EVEN_EN)은 상기 제10 플립플롭(1010)으로 피드백되어 입력된다.
따라서 상기 제10 플립플롭(1010)으로 피드백되어 입력된 상기 제3 인버터(1020)의 출력은 상기 갭 정보 신호(WGAP)의 트리거링(triggering)에 의해 토글되어 출력된다. 예컨대, 상기 갭 정보 신호(WGAP)가 로우 레벨에서 하이 레벨로 천이할 때마다, 즉 수신되는 쓰기 명령에 대하여 갭이 존재할 때마다 상기 제10 플립플롭(1010)의 출력(EVEN_EN)은 토글되어 출력된다.
상기 제4 인버터(1025)는 상기 제10 플립플롭(1010)의 출력(EVEN_EN)을 반전시킨다. 따라서 상기 제10 플립플롭(1010)의 출력(EVEN_EN)과 상기 제4 인버터(1025)의 출력(ODD_EN)은 서로 상반된 로직 레벨 값을 갖는다. 예컨대, 상기 제10 플립플롭(1010)의 출력(EVEN_EN)이 하이 레벨일 때, 상기 제4 인버터(1025)의 출력(ODD_EN)은 로우 레벨이 된다.
상기 선택부(1030)는 상기 지연된 내부 쓰기 클럭 신호(PCLKD)를 수신한다. 상기 선택부(1030)는 상기 제10 플립플롭(1010)의 출력(EVEN_EN) 및 상기 제4 인버터(1025)의 출력(ODD_EN)에 응답하여, 상기 수신된 지연된 내부 쓰기 클럭 신호(PCLKD)를 상기 제1 선택 신호(S_E) 또는 상기 제2 선택 신호(S_O)로 출력할 수 있다.
예컨대, 상기 제10 플립플롭(1010)의 출력(EVEN_EN)이 하이 레벨이고, 상기 제4 인버터(1025)의 출력(ODD_EN)이 로우 레벨일 때, 상기 선택부(1030)는 상기 지연된 내부 쓰기 클럭 신호(PCLKD)를 상기 제1 선택 신호(S_E)로 출력할 수 있다.
상기 결정 블록(730)은 상기 제1 선택 신호(S_E)에 응답하여 상기 재정렬된 짝수 병렬데이터(EVEN)를 출력하거나, 상기 제2 선택 신호(S_O)에 응답하여 상기 재정렬된 홀수 병렬데이터(ODD)를 출력한다.
결국 수신된 쓰기 명령(WCMD)에 대한 갭의 존재 유무에 따라, 상기 재정렬된 짝수 병렬데이터(EVEN) 및 상기 홀수 병렬데이터(ODD) 중 어느 하나가 유효한 정렬데이터로 출력된다.
도 12는 도 7에 도시된 입력 데이터 얼라인 회로(700)의 동작을 나타내는 타이밍도이다. 도 12에 따르면 갭이 존재하는 쓰기 명령(예컨대, WR3)에 의하여 유효하지 않은 쓰기 데이터 스트로브 신호(Invalid WDQS)가 발생될 수 있다.
도 7 및 도 12를 참조하면, 1tCK의 갭을 갖는 제3 쓰기 명령(WR3)에 기인한 유효하지 않은 쓰기 데이터 스트로브 신호(Invalid WDQD)에 응답하여, 유효하지 않은 데이터(IN1 및 IN2)가 샘플링될 수 있다.
상기 샘플링된 유효하지 않은 데이터(IN1 및 IN2)는 상기 제1 얼라인 블록(410)에 의해 정렬된 병렬 데이터에 포함될 수 있고, 상기 제2 얼라인 블록(440)에 의해 상기 재정렬된 짝수 병렬데이터(EVEN) 및 상기 재정렬된 홀수 병렬데이터(ODD)에 포함될 수 있다.
상기 제2 얼라인 블록(440)에 의해 재정렬된 상기 짝수 정렬 데이터(EVEN)와 상기 홀수 병렬 데이터(ODD) 중 유효한 정렬 데이터(DF1_V, DF2V, DS1_V, 및 DS2_V)는 상기 선택 블록(720)으로부터 출력된 상기 제1 선택 신호(S_E) 또는 상기 제2 선택 신호(S_O)에 의하여 결정된다.
구체적으로 상기 갭 정보 신호(WGAP)의 트리거(예컨대, 상승 트리거)에 의하여 상기 제10 플립플롭(710)의 출력(EVEN_EN) 및 상기 제4 인버터(725)의 출력(ODD_EN)이 각각 토글된다. 상기 EVEN_EN 및 상기 ODD_EN이 토글됨에 따라 상기 선택 블록(720)도 상기 제1 선택 신호(S_E) 또는 상기 제2 선택 신호(S_O)를 번갈아가며 출력한다.
예컨대, 도 12에 도시된 바와 같이 제1 쓰기 명령(WR1) 및 갭이 없는 제2 쓰기 명령(WR2)에 대해서는 상기 선택 블록(720)은 상기 제1 선택 신호(S_E)를 출력하고 상기 결정 블록(730)은 상기 제1 선택 신호(S_E)에 응답하여 상기 재정렬된 짝수 병렬 데이터(EVEN)를 유효한 정렬 데이터(DF1_V, DF2_V, DS1_V, 및 SD2_V)로 출력한다.
반면에, 갭이 존재하는 제3 쓰기 명령(WR3)에 대해서는 상기 선택 블록(720)은 상기 제2 선택 신호(S_E)를 출력하고 상기 결정 블록(730)은 상기 제2 선택 신 호(S_O)에 응답하여 상기 재정렬된 홀수 병렬 데이터(ODD)를 유효한 정렬 데이터로 출력한다.
따라서 상기 결정 블록(730)은 갭이 존재하는 쓰기 명령(예컨대, WR3)에 의한 유효하지 않은 쓰기 데이터 스트로브 신호(Invalid WDQS)가 발생될 때마다 상기 재정렬된 짝수 병렬 데이터(EVEN)와 상기 재정렬된 홀수 병렬 데이터(ODD)를 번갈아가며 유효한 정렬 데이터(예컨대, DF1_V, DF2_V, DS1_V, 및 DS2_V)로 출력한다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 반도체 메모리 장치의 입력 데이터 얼라인 회로 및 방법은 tDQSS의 최대값과 최소값을 결정하는 포인트의 수를 감소시켜 상기 tDQSS 마진을 좀 더 증대시킬 수 있는 효과가 있다.
또한 내부 클럭 신호의 트리 블록에서의 지연 시간이 기존 보다 짧아지므로, 쓰기 스트로브 신호의 트리 지연(tree delay)에서의 지연 변화(delay variation)가 감소하므로 상기 tDQSS 마진이 증대되고, 레이 아웃(layout)의 부담을 줄일 수 있으며, 전력 소모를 줄일 수 있는 효과가 있다.
또한 본 발명에 따른 반도체 메모리 장치의 입력 데이터 얼라인 회로 및 방 법은 입력되는 쓰기 명령들 사이에 갭이 존재 유무에 따라 유효한 정렬 데이터를 결정하여 출력할 수 있는 효과가 있다.
Claims (18)
- 데이터 스트로브 신호에 응답하여 직렬 데이터를 병렬 데이터로 정렬(align)하고, 상기 데이터 스트로브 신호로부터 분주된 다수의 분주 신호들 각각에 응답하여 상기 정렬된 병렬 데이터를 병렬데이터 그룹들로 재정렬(realign)하는 얼라인 블록; 및상기 다수의 분주 신호들 각각과 내부 쓰기 클럭 신호 사이의 동기 정보에 기초하여, 상기 재정렬된 병렬데이터 그룹들 중 어느 하나의 병렬데이터 그룹을 출력하는 데이터 결정 블록을 구비하는 반도체 장치의 입력 데이터 얼라인 회로.
- 제1항에 있어서, 상기 얼라인 블록은,상기 데이터 스트로브 신호의 제1 에지 및 제2 에지 각각에 응답하여 상기 직렬 데이터를 샘플링하는 샘플링부;샘플링된 상기 직렬 데이터 각각을 상기 스트로브 신호의 상기 제1에지에 응답하여 상기 병렬데이터로 정렬하는 제1얼라인부; 및상기 다수의 분주 신호들 중 대응하는 어느 하나의 분주 신호에 응답하여, 상기 정렬된 병렬데이터를 재정렬하는 제2 얼라인부를 구비하는 반도체 장치의 입력 데이터 얼라인 회로.
- 제2항에 있어서, 상기 데이터 결정 블록은,상기 데이터 스트로브 신호를 N(N>1인 자연수)분주하여 각각이 서로 다른 위상을 갖는 상기 다수의 분주 신호들을 출력하는 분주기;상기 내부 쓰기 클럭 신호와 동기시키기 위하여 상기 다수의 분주 신호들 각각을 지연시키는 동기 지연부;상기 내부 쓰기 클럭 신호와 상기 동기 지연부로부터 출력된 지연된 분주 신호들 각각의 동기 정보를 검출하는 동기 정보 검출부; 및검출된 각각의 동기 정보에 기초하여 상기 재정렬된 병렬 데이터들 중에서 어느 하나의 병렬데이터를 출력하는 결정 블록을 구비하는 반도체 장치의 입력 데이터 얼라인 회로.
- 데이터 스트로브 신호에 응답하여 수신된 직렬 데이터를 짝수 번째 데이터와 홀수 번째 데이터로 분리하고, 상기 데이터 스트로브 신호를 N(N>1인 자연수) 분주한 제1 데이터 스트로브 신호의 제1에지에 응답하여 상기 짝수 번째 데이터를 래치하고, 상기 데이터 스트로브 신호를 N분주한 제2 스트로브 신호의 제1에지에 응답하여 상기 홀수 번째 데이터를 래치하는 얼라인 블록; 및제1 선택 신호에 응답하여 상기 얼라인 블록에 래치된 상기 짝수 번째 데이터를 출력하거나 제2 선택 신호에 응답하여 상기 얼라인 블록에 래치된 상기 홀수 번째 데이터를 출력하는 데이터 결정블록을 구비하는 반도체 장치.
- 제4항에 있어서,상기 제1 선택 신호는 내부 쓰기 클럭 신호에 응답하여 발생하며, 상기 제1데이터 스트로브 신호의 위상과 소정의 위상 차이를 갖는 신호이고, 상기 제2 선택 신호는 상기 내부 쓰기 클럭 신호에 응답하여 발생하며, 상기 제2 데이터 스트로브 신호의 위상과 소정의 위상 차이를 갖는 신호인 반도체 장치.
- 제5항에 있어서, 상기 얼라인 블록은,상기 데이터 스트로브 신호에 응답하여 상기 수신된 직렬 데이터 중에서 상기 짝수 번째 데이터와 상기 홀수 번째 데이터를 각각 래치하기 위한 제1래치 블록;상기 데이터 스트로브 신호의 상기 제1에지에 응답하여, 상기 제1래치 블록으로부터 출력된 상기 짝수 번째 데이터와 상기 홀수 번째 데이터를 각각 래치하기 위한 제2래치 블록; 및상기 제1데이터 스트로브 신호의 제1에지에 응답하여 상기 제2래치 블록으로부터 출력된 상기 짝수 번째 데이터를 래치하고, 상기 제2데이터 스트로브 신호의 제1에지에 응답하여 상기 제2래치 블록으로 출력된 홀수 번째 데이터를 래치하는 제3래치 블록을 구비하는 반도체 장치.
- 제5항에 있어서, 상기 데이터 결정 블록은,수신된 상기 데이터 스트로브 신호를 분주하여 상기 제1 데이터 스트로브 신호와 상기 제2 데이터 스트로브 신호를 발생하는 분주기;외부로부터 입력된 클럭 신호와 쓰기 명령에 기초하여 상기 내부 쓰기 클럭 신호를 발생시키는 내부 쓰기 클럭 신호 발생부;상기 내부 쓰기 클럭 신호를 미리 결정된 지연 시간 동안 지연시키고 지연된 내부 쓰기 클럭 신호를 출력하는 트리 블록;상기 제1 데이터 스트로브 신호와 상기 제2 데이터 스트로브 신호를 수신하고, 상기 지연된 내부 쓰기 클럭 신호와 동기시키기 위하여 지연된 제1 데이터 스트로브 신호 및 지연된 제2 데이터 스트로브 신호를 발생하는 동기 지연부; 및상기 지연된 내부 쓰기 클럭 신호에 응답하여, 상기 지연된 제1 데이터 스트로브 신호를 상기 제1선택 신호로서 출력하고 상기 지연된 제2 데이터 스트로브 신호를 상기 제2 선택 신호로서 출력하는 선택부를 구비하는 반도체 장치.
- 데이터 스트로브 신호에 응답하여 직렬 데이터를 병렬 데이터로 정렬(align)하고, 상기 데이터 스트로브 신호로부터 분주된 다수의 분주 신호들 각각에 응답하여 상기 정렬된 병렬 데이터를 병렬데이터 그룹들로 재정렬(realign)하는 얼라인 단계; 및상기 다수의 분주 신호들 각각과 내부 쓰기 클럭 신호 사이의 동기 정보에 기초하여, 상기 재정렬된 병렬데이터 그룹들 중 어느 하나의 병렬데이터 그룹을 출력하는 출력 단계를 구비하는 반도체 장치의 입력 데이터를 얼라인하는 방법.
- 제8항에 있어서, 상기 반도체 메모리 장치의 입력 데이터를 얼라인하는 방법 은,외부로부터 입력된 클럭 신호 및 쓰기 명령(Write Command)에 기초하여 상기 내부 쓰기 클럭 신호를 생성하는 단계를 더 구비하는 반도체 장치의 입력 데이터를 얼라인하는 방법.
- 제8항에 있어서, 상기 얼라인 단계는,상기 데이터 스트로브 신호의 제1 에지 및 제2 에지 각각에 응답하여 상기 직렬 데이터를 샘플링하는 단계;샘플링된 직렬 데이터 각각을 상기 데이터 스트로브 신호의 상기 제1 에지에 응답하여 상기 병렬데이터로 정렬하는 단계; 및상기 데이터 스트로브 신호로부터 분주된 다수의 분주 신호들 각각에 응답하여 상기 정렬된 병렬데이터를 병렬데이터 그룹들로 재정렬하는 단계를 구비하는 반도체 장치의 입력 데이터를 얼라인하는 방법.
- 제8항에 있어서, 상기 출력 단계는,상기 내부 쓰기 클럭 신호를 미리 결정된 지연 시간 동안 지연시키고 지연된 내부 쓰기 클럭 신호를 출력하는 단계;상기 다수의 분주 신호들을 수신하고, 상기 지연된 내부 쓰기 클럭 신호와 동기시키기 위하여 지연된 다수의 분주 신호들을 발생시키는 단계;상기 지연된 내부 쓰기 클럭 신호에 응답하여, 상기 지연된 다수의 분주 신호들 중에서 제1 분주 신호를 제1선택 신호로서 출력하고, 상기 지연된 다수의 분주 신호들 중에서 제2 분주 신호를 제2 선택 신호로서 출력하는 단계; 및상기 제1 선택 신호 및 상기 제2 선택 신호에 기초하여, 상기 재정렬된 병렬데이터 그룹들 중에서 제1 얼라인 데이터 또는 제2 얼라인 데이터를 출력하는 단계를 구비하는 반도체 장치의 입력 데이터를 얼라인하는 방법.
- 쓰기 데이터 스트로브 신호에 응답하여 입력된 직렬 데이터를 병렬 데이터로 정렬(align)하고, 상기 쓰기 데이터 스트로브 신호로부터 분주된 다수의 분주 신호들 각각에 응답하여 상기 정렬된 병렬 데이터를 병렬데이터 그룹들로 재정렬(realign)하는 얼라인 블록;내부 클럭 신호 및 쓰기 명령들에 기초하여, 상기 쓰기 명령들 사이에 갭(gap)이 존재하는지 여부를 나타내는 갭 정보 신호를 검출하는 갭 정보 신호 검출 블록; 및상기 검출된 갭 정보 신호에 기초하여, 상기 재정렬된 병렬데이터 그룹들 중 어느 하나의 병렬데이터 그룹을 출력하는 데이터 결정 블록을 구비하는 반도체 장치의 입력 데이터 얼라인 회로.
- 제12항에 있어서, 상기 얼라인 블록은,상기 쓰기 데이터 스트로브 신호의 제1 에지 및 제2 에지 각각에 응답하여 상기 직렬 데이터를 샘플링하는 샘플링부;샘플링된 상기 직렬 데이터 각각을 상기 쓰기 데이터 스트로브 신호의 상기 제1에지에 응답하여 상기 병렬데이터로 정렬하는 제1 얼라인 블록;상기 쓰기 데이터 스트로브 신호를 N(N>1인 자연수)분주하여 각각이 서로 다른 위상을 갖는 상기 다수의 분주 신호들을 출력하는 분주기; 및상기 다수의 분주 신호들 중 대응하는 어느 하나의 분주 신호에 응답하여, 정렬된 상기 병렬데이터를 재정렬하는 제2 얼라인 블록을 구비하는 반도체 장치의 입력 데이터 얼라인 회로.
- 제13항에 있어서, 상기 갭 정보 신호 검출 블록은,상기 쓰기 명령을 수신하고, 상기 내부 클럭 신호의 제1 에지에 응답하여 상기 수신된 쓰기 명령을 출력하는 제1 플립플롭;상기 제1 플롭플롭의 출력 신호를 미리 결정된 지연 시간 동안 지연시켜 출력하는 제1 지연부;상기 제1 지연부의 출력 신호를 반전시키는 제1 인버터; 및상기 제1 플립플롭의 출력 신호 및 상기 제1 인버터의 출력 신호를 논리 연산하고 논리 연산된 결과를 상기 갭 정보 신호로 출력하는 논리 연산부를 구비하는 반도체 장치의 입력 데이터 얼라인 회로.
- 제13항에 있어서, 상기 데이터 결정 블록은,상기 쓰기 명령 신호에 응답하여 수신된 내부 클럭 신호를 미리 결정된 제2 지연 시간 동안 지연시키고, 지연된 신호를 출력하는 지연 블록;상기 갭 정보 신호에 기초하여, 상기 지연 블록의 출력 신호를 제1 선택 신호 또는 제2 선택 신호로 출력하는 선택 블록; 및상기 제1 선택 신호 또는 상기 제2 선택 신호에 응답하여, 상기 재정렬된 병렬데이터 그룹들 중 어느 하나의 병렬데이터 그룹을 출력하는 결정 블록을 구비하는 반도체 장치의 입력 데이터 얼라인 회로.
- 쓰기 데이터 스트로브 신호에 응답하여 수신된 직렬 데이터를 짝수 번째 데이터와 홀수 번째 데이터로 분리하고, 상기 쓰기 데이터 스트로브 신호를 N(N>1인 자연수) 분주한 제1 쓰기 데이터 스트로브 신호의 제1에지에 응답하여 상기 짝수 번째 데이터를 래치하고, 상기 쓰기 데이터 스트로브 신호를 N분주한 제2 쓰기 스트로브 신호의 제1에지에 응답하여 상기 홀수 번째 데이터를 래치하는 얼라인 블록;내부 클럭 신호에 기초하여, 쓰기 명령들 사이에 갭(gap)이 존재하는지 여부를 나타내는 갭 정보 신호를 검출하는 갭 정보 신호 검출 블록; 및상기 갭 정보 신호 및 상기 내부 클럭 신호에 기초하여 제1 선택 신호 또는 제2 선택 신호를 발생시키고, 상기 제1 선택 신호에 응답하여 상기 얼라인 블록에 래치된 상기 짝수 번째 데이터를 출력하거나 상기 제2 선택 신호에 응답하여 상기 얼라인 블록에 래치된 상기 홀수 번째 데이터를 출력하는 데이터 결정블록을 구비하는 반도체 장치.
- 쓰기 데이터 스트로브 신호를 N(N은 자연수) 분주하여 서로 반대 위상을 갖는 제1분주 신호 및 제2분주 신호를 출력하는 분주기;상기 쓰기 데이터 스트로브 신호에 응답하여 입력된 직렬 데이터를 짝수 번째 데이터와 홀수 번째 데이터로 샘플링하는 샘플러;상기 쓰기 데이터 스트로브 신호의 제1에지에 응답하여 상기 짝수 번째 데이터와 상기 홀수 번째 데이터를 래치하는 제1 얼라인 블록;상기 제1 분주 신호의 제1 에지에 응답하여 상기 제1 얼라인 블록에 래치된 상기 짝수 번째 데이터와 상기 홀수 번째 데이터를 제1 얼라인 데이터로 정렬하고, 상기 제2분주 신호의 제1 에지에 응답하여 상기 제1 얼라인 블록에 래치된 상기 짝수 번째 데이터와 상기 홀수 번째 데이터를 제2 얼라인 데이터로 정렬하는 제2 얼라인 블록; 및내부 클럭 신호 및 쓰기 명령들에 기초하여 검출된 상기 쓰기 명령들 사이에 갭(gap)이 존재하는지 여부를 나타내는 갭 정보 신호에 기초하여, 상기 제1 얼라인 데이터 또는 상기 제2 얼라인 데이터를 출력하는 데이터 결정 블록을 구비하는 반도체 장치.
- 쓰기 데이터 스트로브 신호에 응답하여 입력된 직렬 데이터를 병렬 데이터로 정렬(align)하고, 상기 쓰기 데이터 스트로브 신호로부터 분주된 다수의 분주 신호들 각각에 응답하여 상기 정렬된 병렬 데이터를 병렬데이터 그룹들로 재정 렬(realign)하는 얼라인 단계; 및입력된 쓰기 명령들 사이에 갭(gap)이 존재하는지 여부에 기초하여, 상기 재정렬된 병렬데이터 그룹들 중 어느 하나의 병렬데이터 그룹을 출력하는 데이터 결정 단계를 구비하는 반도체 장치의 입력 데이터를 얼라인하는 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/986,917 US7975162B2 (en) | 2006-11-28 | 2007-11-27 | Apparatus for aligning input data in semiconductor memory device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060118017 | 2006-11-28 | ||
KR20060118017 | 2006-11-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080048378A KR20080048378A (ko) | 2008-06-02 |
KR100865328B1 true KR100865328B1 (ko) | 2008-10-27 |
Family
ID=39804605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070024269A KR100865328B1 (ko) | 2006-11-28 | 2007-03-13 | 반도체 메모리 장치의 입력 데이터 정렬 회로 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100865328B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150097076A (ko) * | 2014-02-18 | 2015-08-26 | 에스케이하이닉스 주식회사 | 반도체장치 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102087437B1 (ko) | 2013-06-17 | 2020-03-10 | 에스케이하이닉스 주식회사 | 수신장치를 포함하는 반도체시스템 |
KR102167598B1 (ko) | 2014-01-28 | 2020-10-19 | 에스케이하이닉스 주식회사 | 반도체 장치 |
KR20160077300A (ko) | 2014-12-22 | 2016-07-04 | 에스케이하이닉스 주식회사 | 스트로브 신호 생성 회로 및 이를 이용한 반도체 장치 |
KR102666132B1 (ko) * | 2016-12-21 | 2024-05-14 | 삼성전자주식회사 | 반도체 메모리 장치의 데이터 정렬 회로, 반도체 메모리 장치 및 반도체 메모리 장치의 데이터 정렬 방법 |
US10522206B2 (en) | 2017-04-06 | 2019-12-31 | SK Hynix Inc. | Semiconductor device and system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040095916A (ko) * | 2003-04-29 | 2004-11-16 | 주식회사 하이닉스반도체 | 반도체 기억 소자에서 쓰기 데이터 정렬을 위한 회로 |
-
2007
- 2007-03-13 KR KR1020070024269A patent/KR100865328B1/ko not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040095916A (ko) * | 2003-04-29 | 2004-11-16 | 주식회사 하이닉스반도체 | 반도체 기억 소자에서 쓰기 데이터 정렬을 위한 회로 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150097076A (ko) * | 2014-02-18 | 2015-08-26 | 에스케이하이닉스 주식회사 | 반도체장치 |
KR102143654B1 (ko) * | 2014-02-18 | 2020-08-11 | 에스케이하이닉스 주식회사 | 반도체장치 |
Also Published As
Publication number | Publication date |
---|---|
KR20080048378A (ko) | 2008-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7975162B2 (en) | Apparatus for aligning input data in semiconductor memory device | |
JP4284527B2 (ja) | メモリインターフェイス制御回路 | |
US7292500B2 (en) | Reducing read data strobe latency in a memory system | |
US6862250B2 (en) | Circuit and method for generating output control signal in synchronous semiconductor memory device | |
KR100865328B1 (ko) | 반도체 메모리 장치의 입력 데이터 정렬 회로 및 방법 | |
KR19980073726A (ko) | 동기형 반도체 메모리 장치의 데이터 입력 회로 및 데이터 입력 방법 | |
JP2006511899A (ja) | スレーブqdrii準拠コプロセッサ | |
US6909643B2 (en) | Semiconductor memory device having advanced data strobe circuit | |
US7173866B2 (en) | Circuit for generating data strobe signal in DDR memory device, and method therefor | |
KR100745402B1 (ko) | 반도체 메모리 장치의 입력회로 및 그 제어 방법 | |
JP2006505866A (ja) | データ取得の方法と装置 | |
KR20090070125A (ko) | 반도체 메모리 소자 | |
US7287143B2 (en) | Synchronous memory device having advanced data align circuit | |
US7242737B2 (en) | System and method for data phase realignment | |
KR20050061123A (ko) | Ddr sdram 콘트롤러의 데이터 제어회로 | |
US7117381B2 (en) | Control signal generation circuit and data transmission circuit having the same | |
JP2002150796A (ja) | モノリシックな集積回路装置の常に可能化されたテストのための方法および集積回路装置 | |
KR102685395B1 (ko) | 반도체 장치, 반도체 시스템 및 반도체 장치의 동작 방법 | |
KR100408406B1 (ko) | 복수개의 제어 신호들에 동기되어 입력된 데이터를출력하는 데이터 래치 회로를 갖는 동기식 디램 반도체 장치 | |
US6972998B1 (en) | Double data rate memory devices including clock domain alignment circuits and methods of operation thereof | |
KR100929832B1 (ko) | 고속의 데이터 입출력을 위한 반도체 메모리 장치 | |
KR100976406B1 (ko) | 플립플롭 및 그를 포함하는 반도체 메모리 장치 | |
KR20110078107A (ko) | 반도체 메모리 장치 | |
KR20030046132A (ko) | 기입 시간 손실을 감소시키는 데이터 입력버퍼 및 그 방법 | |
KR19990086389A (ko) | 디디알 싱크로너스 디램의 데이터 입력 버퍼 |
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: 20120925 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20130930 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |