상술한 목적을 달성하기 위하여, 본 발명의 바람직한 일 실시예에 따른, N 비트 프리페치 방식을 갖는 반도체 메모리 장치는, 메모리 셀들의 어레이; 상기 어레이로부터 상기 N 비트 프리페치 방식으로 프리페치되는 N개의 데이터 그룹들을 병렬로 수신하여 외부로 전송하는 복수개의 데이터 버스들; 및 미리 결정된 상기 N개의 데이터 그룹의 입출력 순서 정보를 이용해서 상기 N개의 데이터 그룹들 중 가장 먼저 외부로 출력되어야 하는 적어도 하나의 데이터 그룹을 수신하는 소정의 데이터 버스들을 프리챠지시켜 놓는 데이터 버스 제어부를 포함하고, 상기 소정의 데이터 버스들이 프리챠지된 후에 상기 가장 먼저 외부로 출력되어야 하는 상기 적어도 하나의 데이터 그룹을 나머지 데이터 그룹보다 소정시간 빠르게 외부로 전송한다.
상술한 목적을 달성하기 위하여, 본 발명의 바람직한 일 실시예에 따른, N 비트 프리페치 방식을 갖는 반도체 메모리 장치는 메모리 셀들의 어레이; 상기 어 레이로부터 상기 N 비트로 프리페치 방식으로 프리페치되는 N개의 데이터 그룹들을 수신하여 증폭시키는 증폭부; 상기 증폭부로부터 상기 N개의 데이터 그룹을 병렬로 수신하는 복수개의 데이터 버스들; 상기 복수개의 데이터 버스들로부터 상기 N개의 데이터 그룹을 수신하여 래치시키는 래치부; 및 미리 결정된 상기 N개의 데이터 그룹의 입출력순서 정보를 이용해서 상기 N개의 데이터 그룹들 중 가장 먼저 외부로 출력되어야 하는 적어도 한 개의 데이터 그룹을 수신하는 소정의 데이터 버스들을 프리챠지시켜 놓는 데이터 버스 제어부를 포함하고, 상기 소정의 데이터 버스들이 프리챠지된 후에 상기 증폭기로부터 상기 가장 먼저 외부로 출력되어야 하는 상기 적어도 한 개의 데이터 그룹을 수신해서 나머지 데이터 그룹보다 소정시간 빠르게 상기 래치부로 전송한다.
상술한 목적을 달성하기 위하여, 본 발명의 바람직한 일 실시예에 따른, 메모리 셀들의 어레이를 포함하는 반도체 메모리 장치의 데이터 전송 방법은 상기 어레이로부터 N 비트 프리페치 방식으로 프리페치되는 N개의 데이터 그룹을 외부로 전송하는 복수개의 데이터 버스들 중에서, 미리 결정된 상기 N개의 데이터 그룹의 입출력순서 정보를 이용해서 상기 N개의 데이터 그룹 중 가장 먼저 외부로 출력되어야 하는 적어도 하나의 데이터 그룹을 외부로 전송하는 소정의 데이터 버스들을 프리챠지시키는 단계; 및 상기 소정의 데이터 버스들이 프리챠지된 후에, 상기 가장 먼저 외부로 출력되어야 하는 상기 적어도 하나의 데이터 그룹을 나머지 데이터 그룹보다 빠르게 외부로 전송하는 단계를 포함한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명하기로 한다. 그러나, 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예는 본 발명의 개시가 완전하도록 하며 통상의 지식을 가진자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
도 2는 4비트 프리페치 방식으로 프리페치된 데이터 그룹의 출력속도를 향상시키기 위한 본 발명의 바람직한 실시예에 따른 반도체 메모리 장치를 나타낸다.
도 2를 참조하면, 반도체 메모리 장치는 데이터 증폭부(210), 및 리드 래치부(220), 및 글로벌 입출력 버스 제어부(230)를 포함하고, 글로벌 입출력 버스 제어부(230)는 프리챠지 신호 발생부(240)와 프리챠지부(250)를 포함한다.
본 발명은 종래와 다르게 프리챠지 신호 발생부(240)와 프리챠지부(250)를 포함하는 글로벌 입출력 버스 제어부(230)를 포함하고 있는데, 그 이유는 4비트 프리페치 방식으로 프리페치된 데이터 그룹 중 가장 먼저 출력되어야 하는 적어도 하나의 데이터 그룹의 출력속도를 향상시키기 위함이다.
도 2는 데이터 폭이 X16이고 4비트 프리페치 방식을 갖는 DDR2 SDRAM을 나타낸 것이다. 따라서, 전체 데이터 폭은 16X4=64비트이다. 그러나, 4비트 프리페치 방식이므로 메모리 셀들(미도시)로부터 출력되는 데이터들은 16비트씩 4개의 데이터 그룹으로 출력된다.
도 2를 참조하면, 글로벌 입출력 버스 제어부(230)는 프리챠지 신호 발생부(240)와 프리챠지부(250)를 포함하는데, 프리챠지 신호 발생기(240)는 일정한 펄스 폭을 갖는 프리챠지 신호(PCG)와 컬럼 어드레스(CA<0>, CA<1>)를 이용해서 글로벌 입출력 버스 프리챠지 신호(GIO_PCG0, GIO_PCG1, GIO_PCG2, GIO_PCG3)를 발생시킨다. 여기서, 컬럼 어드레스(CA<0>, CA<1>)는 4비트 프리페치 방식으로 프리페치된 데이터 그룹의 출력순서를 결정하는데 이용된다.
프리챠지부(250)는 도 2에 도시한 바와 같이 4개의 단위 프리챠지부(251-254)를 포함하는데, 4개의 단위 프리챠지부(251-254) 각각은 16개의 단위 프리챠지부(GIO_PG<0:15>)를 포함한다. 여기서, 4개의 단위 프리챠지부(251~254)는 글로벌 입출력 버스 프리챠지 신호(GIO_PCG0, GIO_PCG1, GIO_PCG2, GIO_PCG3)에 각각 응답하여 글로벌 입출력 버스(GIO_Q0<0:15>, GIO_Q1<0:15>, GIO_Q2<0:15>, GIO_Q2<0:15>) 중 가장 먼저 출력되어야 하는 적어도 하나의 데이터 그룹을 송수신하는 글로벌 입출력 버스만 1/2전원전압(VDD)으로 프리챠지시킨다.
글로벌 입출력 버스(GIO_Q0<0:15>, GIO_Q1<0:15>, GIO_Q2<0:15>, GIO_Q2<0:15>)는 도 2에 도시된 바와 같이 4비트 프리페치 방식이므로 4개가 제공되는데, 글로벌 입출력 버스(GIO_Q0<0:15>, GIO_Q1<0:15>, GIO_Q2<0:15>, GIO_Q2<0:15>) 각각은 16개의 글로벌 입출력 라인으로 이루어져 있다.
데이터 증폭부(210)는 4개의 리드 증폭기(211-214)를 포함하는데, 리드 증폭기(211-214) 각각은 16개의 리드 증폭기(RD_AMP<0:15>)를 포함한다. 이 리드 증폭기(211-214)는 판독 동작시에 메모리 셀들로부터 독출된 4개의 데이터 그룹(Q0,Q1,Q2,Q3)를 증폭하여 글로벌 입출력 버스(GIO_Q0<0:15>, GIO_Q1<0:15>, GIO_Q2<0:15>, GIO_Q2<0:15>)를 통해서 리드 래치부(221-224)로 전송한다.
리드 래치부(220)는 4개의 리드 래치회로(221-224)를 포함하는데, 리드 래치회로(221-224) 각각은 16개의 리드 래치회로(RD_LT<0:15>)로 구성된다. 이 리드 래치회로(221-224)는 글로벌 입출력 버스(GIO_Q0<0:15>, GIO_Q1<0:15>, GIO_Q2<0:15>, GIO_Q2<0:15>)에 각각 실린 데이터 그룹(Q0,Q1,Q2,Q3)을 입력받아 래치시켰다가 출력한다.
도 3a는 도 2의 프리챠지 신호 발생부(240)의 회로를 나타낸다.
이 프리챠지 신호 발생부(240)는 4개의 앤드 게이트(241-244)를 포함한다. 앤드 게이트(241)는 일정한 펄스폭을 갖는 프리챠지 신호(PCG)와 컬럼 어드레스(CA<0:1>)의 반전신호들을 논리 곱하여 글로벌 입출력 버스 프리챠지 신호(GIO_PCG0)를 발생시킨다. 앤드 게이트(242)는 일정한 펄스 폭을 갖는 프리챠지 신호(PCG), 컬럼 어드레스(CA<0>), 및 컬럼 어드레스(CA<1>)의 반전신호를 논리 곱하여 글로벌 입출력 버스 프리챠지 신호(GIO_PCG1)를 발생시킨다. 앤드 게이트(243)는 프리챠지 신호(PCG)와 컬럼 어드레스(CA<0>)의 반전신호, 및 컬럼 어드레스(CA<1>)를 논리 곱하여 글로벌 입출력 버스 프리챠지 신호(GIO_PCG2)를 발생시킨다. 앤드 게이트(244)는 프리챠지 신호(PCG)와 컬럼 어드레스(CA<0:1>)를 논리 곱하여 글로벌 입출력 버스 프리챠지 신호(GIO_PCG3)를 발생시킨다. 여기서, 글로벌 입출력 버스 프리챠지 신호(GIO_PCG0~GIO_PCG3)는 컬럼 어드레스(CA<0:1>)의 논리 값, 즉 00, 10, 01, 11에 의해 발생된다. 즉, 컬럼 어드레스(CA<0:1>)가 00이면 GIO_PCG0가 발생되고, 컬럼 어드레스(CA<0:1>)가 10이면 GIO_PCG1이 발생되며, 컬럼 어드레스(CA<0:1>)가 01이면, GIO_PCG2가 발생되고, 컬럼 어드레스(CA<0:1>)가 11이면, GIO_PCG3이 발생된다.
도 3a는 도 2의 각각의 단위 프리챠지부(251~254) 내에 포함된 단위 프리챠지부(GIO_PG<0:15>) 중 하나를 나타낸다.
이 1개의 단위 프리챠지부(GIO_PG<i>)는 인버터(225), PMOS 트랜지스터(226), 및 NMOS 트랜지스터(227)를 포함한다. 인버터(225)는 글로벌 입출력 버스 프리챠지 신호(GIO_PCGi)를 반전시켜서 PMOS 트랜지스터(256)로 출력한다. PMOS 트랜지스터(256)와 NMOS 트랜지스터(257)는 전원전압(VDD)와 접지전압(VSS) 사이에 접속되고 각 게이트로 글로벌 입출력 버스 프리챠지 신호(GIO_PCGi)를 입력받는다. 이 PMOS 트랜지스터(256)와 NMOS 트랜지스터(257)는 글로벌 입출력 버스 프리챠지 신호(GIO_PCGi)가 하이펄스로 입력되면 동시에 턴-온되어, 글로벌 입출력 버스(GIO_Q0<0:15>, GIO_Q1<0:15>, GIO_Q2<0:15>, GIO_Q2<0:15>) 중 가장 먼저 출력되어야 하는 적어도 하나의 데이터 그룹을 송수신하는 소정의 글로벌 입출력 버스(GIO_Qi0<0:15>)만 1/2VDD로 프리챠지시킨다.
이하, 도 3a 및 도 3b를 참조하여 글로벌 입출력 버스를 프리챠지시키는 방법을 보다 상세히 설명하기로 한다.
먼저, 컬럼 어드레스(CA<0:1>)가 00이면, 글로벌 입출력 버스 프리챠지 신호(GIO_PCG0)가 하이펄스로 발생되어 글로벌 입출력 버스(GIO_Q0<0:15>)가 1/2전원전압(VDD)로 프리챠지된다. 컬럼 어드레스(CA<0:1>)가 10이면, 글로벌 입출력 버스 프리챠지 신호(GIO_PCG1)가 하이펄스로 발생되어 글로벌 입출력 버스(GIO_Q1<0:15>)가 1/2전원전압(VDD)로 프리챠지된다. 컬럼 어드레스(CA<0:1>)가 01 이면, 글로벌 입출력 버스 프리챠지 신호(GIO_PCG2)가 하이펄스로 발생되어 글로벌 입출력 버스(GIO_Q2<0:15>)가 1/2전원전압(VDD)으로 프리챠지된다. 컬럼 어드레스(CA<0:1>)가 11이면, 글로벌 입출력 버스 프리챠지 신호(GIO_PCG3)가 하이펄스로 발생되어 글로벌 입출력 버스(GIO_Q3<0:15>)가 1/2전원전압(VDD)으로 프리챠지된다.
도 4는 도 2의 각각의 데이터 증폭기(211~214)에 포함된 데이터 증폭기(RD_AMP<0:15>) 중 하나를 나타낸다.
이 데이터 증폭기(RD_AMP<i>)는 낸드 게이트(215), 노어 게이트(216), PMOS 트랜지스터(217), 및 NMOS 트랜지스터(218)를 포함한다. 낸드 게이트(215)는 리드 데이터(RDT)와 드라이버 인에이블 신호(DRV_EN)를 반전 논리 곱하여 PMOS 트랜지스터(217)의 게이트로 출력한다. 노어 게이트(216)는 리드 데이터(RDT)와 드라이버 인에이블 신호(DRV_EN)의 반전신호를 반전 논리 합하여 NMOS 트랜지스터(218)의 게이트로 출력한다. PMOS 트랜지스터(217)와 NMOS 트랜지스터(218)는 전원전압(VDD)와 접지전압(VSS) 사이에 접속되고, 각각의 게이트로 낸드 게이트(215)의 출력신호와 노어 게이트(216)의 출력신호를 각각 입력받아 턴-온/오프된다.
예컨대, 리드 데이터(RDT)가 로직 하이, 드라이버 인에이블 신호(DRV_EN)가 로직 하이이면, PMOS 트랜지스터(217)가 턴-온되고, NMOS 트랜지스터(218)가 턴-오프되어 글로벌 입출력 버스(GIO_Q0<0:15>, GIO_Q1<0:15>, GIO_Q2<0:15>, GIO_Q2<0:15>)로 로직 하이의 데이터가 출력된다. 리드 데이터(RDT)가 로직 로우, 드라이버 인에이블 신호(DRV_EN)가 로직 하이이면, PMOS 트랜지스터(217)가 턴-오 프되고, NMOS 트랜지스터(218)가 턴-온되어 글로벌 입출력 버스(GIO_Q0<0:15>, GIO_Q1<0:15>, GIO_Q2<0:15>, GIO_Q2<0:15>)으로 로직 로우의 데이터가 출력된다.
이렇게 데이터 증폭기(211)가 16비트(로직 로우 또는 로직 하이로 이루어진 16비트)의 데이터 그룹(Q0)을 글로벌 입출력 버스(GIO_Q0<0:15>)로 출력전송하고, 데이터 증폭기(212)가 16비트의 데이터 그룹(Q1)을 글로벌 입출력 버스(GIO_Q1<0:15>)로 전송하며, 데이터 증폭기(213)가 16비트의 데이터 그룹(Q2)을 글로벌 입출력 버스(GIO_Q2<0:15>)로 전송하고, 데이터 증폭기(214)가 16비트의 데이터 그룹(Q3)을 글로벌 입출력 버스(GIO_Q3<0:15>)로 전송한다..
이때, 글로벌 입출력 버스(GIO_Q0<0:15>, GIO_Q1<0:15>, GIO_Q2<0:15>, GIO_Q2<0:15>) 중 가장 먼저 출력되어야 하는 적어도 하나의 데이터 그룹이 실리는 글로벌 입출력 버스, 예컨대, 글로벌 입출력 버스(GIO_Q0<0:15>)가 1/2전원전압(VDD)로 프리챠지되어 있으면, 데이터 그룹(Q0)이 다른 데이터 그룹(Q1,Q2,Q3)보다 빨리 리드 래치회로(221~224)로 전송된다.
그 다음에, 리드 래치회로(221~224)가 이들 데이터 그룹(Q0,Q1,Q2,Q3)을 글로벌 입출력 버스(GIO_Q0<0:15>, GIO_Q1<0:15>, GIO_Q2<0:15>, GIO_Q3<0:15>)를 통해서 입력받아 래치시켰다가 리드 멀티플렉서들(미도시)로 출력하면, 리드 멀티플렉서들은 하위 2비트 컬럼 어드레스(CA<0>, CA<1>)를 이용해서 4개의 데이터 그룹(Q0, Q1, Q2, Q2)를 도 5에 도시한 JEDEC에 규정된 DDR2 SDRAM의 입출력 순서대로 DQ 패드를 통해서 외부로 시리얼하게 출력한다.
즉, 도 5에 도시한 바와 같이 버스트 길이가 4이고, 순차적 방식(Sequential addressing)인 경우에 컬럼 어드레스(CA<0:1>)가 00이면, 데이터가 Q0, Q1, Q2, Q2의 순으로 출력되고, 컬럼 어드레스(CA<0:1>)가 01이면 데이터가 Q1, Q2, Q3, Q0의 순으로 출력되며, 컬럼 어드레스(CA<0:1>)가 10이면, 데이터가 Q2, Q3, Q0, Q1의 순으로 출력되고, 컬럼 어드레스(CA<0:1>)가 11이면 데이터가 Q3 Q0, Q1, Q2의 순으로 출력된다.
도 5에는 버스트 길이가 8인 경우와 인터리브 방식에 대해서도 예시되어 있으나, 이에 대한 상세한 설명은 도 5의 도표를 참조하면 쉽게 이해될 수 있을 것이다.
도 6은 리드 동작시에 글로벌 입출력 버스(GIO_Q0<0:15>, GIO_Q1<0:15>, GIO_Q2<0:15>, GIO_Q3<0:15>)에 실린 데이터 그룹(Q0,Q1,Q2,Q3)과 DQ 패드로 출력되는 데이터 그룹(Q0,Q1,Q2,Q3)을 나타낸다.
도 6을 참조하면, 글로벌 입출 버스 프리챠지 신호(GIO_PCG0)에 의해서 글로벌 입출력 버스(GIO_Q0<0:15>)만이 1/2전원전압(VDD)으로 프리챠지된 것으로 봐서, 컬럼 어드레스(CA<0:1>)는 00이고 가장 먼저 출력되어야 하는 데이터 그룹은 Q0라는 것을 알 수 있다.
여기서, 가장 먼저 출력되어야 하는 데이터 그룹이 실린 글로벌 입출력 버스(GIO_Q0<0:15>)를 1/2VDD로 프리챠지시키는 이유는 글로벌 입출력 버스(GIO_Q0<0:15>)가 VDD로 프리챠지되어 있으면 데이터 그룹이 로직 하이와 로직 로우로 되는 시간이 1/2VDD로 프리챠지된 경우보다 더 걸리기 때문에 1/2VDD로 프리챠지시킨 것이다.
도 6에서는 가장 먼저 출력되어야 하는 데이터 그룹이 실린 글로벌 입출력 버스가 GIO_Q0<0:15>였지만, GIO_Q1<0:15>, GIO_Q2<0:15>, 또는 GIO_Q3<0:15>일 수도 있다. 따라서, 가장 먼저 출력되어야 하는 데이터 그룹이 실리는 소정의 글로벌 입출력 버스(GIO_Qi<0:15>)를 1/2VDD로 프리챠지시켜 놓으면, 도 7에 도시한 바와 같이 소정의 글로벌 입출력 버스(GIO_Qi<0:15>)가 종래보다 0.8ns 먼저 로직 하이와 로직 로우로 됨을 알 수 있다. 이때, 소정의 글로벌 입출력 버스가 GIO_Q0<0:15>이면, 첫 번째 데이터 그룹(Q0)이 다른 데이터 그룹(Q1,Q2,Q3)보다 빨리 리드 래치부(220)로 전송되게 되는 것이다.
상술한 바와 같이, 반도체 메모리 장치의 글로벌 입출력 버스에서 N비트 프리페치 방식으로 프리페치된 데이터 그룹 중 가장 먼저 외부로 출력되어야 하는 적어도 하나의 데이터 그룹의 출력속도를 나머지 데이터 그룹보다 빠르게 하면, 데이터 출력 시간인 tAA(Column command to data out)의 속도가 개선된다. 이 tAA의 속도(speed)가 개선되면 DDR2 혹은 DDR3 SDRAM는 클록주기(tCK)를 작게 해도 동작된다. 예컨대, CL(CAS Latency)가 5일 때 tAA가 15ns이면, tCK는 3ns이므로 DDR2 혹은 DDR3 SDRAM은 333MHz으로 동작하고, CL(CAS Latency)가 5일 때 tAA가 12.5ns이면, tCK는 2.5ns이므로 DDR2 혹은 DDR3 SDRAM은 400MHz으로 동작한다. 따라서, 고주파(high frequency) 동작을 위해서는 tAA의 속도를 향상시키는 것이 반드시 필요함을 알 수 있다.
본 발명에서는 4비트 프리페치 방식에 대해서 설명했지만, 이에 한정되는 것이 아니고, 8비트 프리페치 방식에도 적용할 수 있다.