본 발명은 버퍼 인에이블 신호에 응답하여 시스템 클럭을 버퍼링하여 출력하기 위한 DLL 클럭버퍼; 상기 버퍼링된 시스템클럭을 이용하여 지연고정동작을 수행하여 지연고정클럭을 생성하기 위한 지연고정루프 회로; 및 상기 지연고정동작의 수행 여부에 대한 정보가 있는 코드신호와 클럭 인에이블 신호에 응답하여, 상기 버퍼 인에이블 신호를 생성하는 DLL 클럭버퍼 제어부를 구비하는 반도체 메모리 장치를 제공한다.
또한, 본 발명은 버퍼 인에이블 신호에 응답하여 시스템 클럭을 버퍼링하여 출력하는 단계; 상기 지연고정동작의 수행 여부에 대한 정보가 있는 코드신호와 클럭 인에이블 신호를 이용하여 상기 버퍼 인에이블 신호를 생성하는 단계; 및 상기 버퍼링된 시스템클럭을 이용하여 지연고정동작을 수행하여 지연고정클럭을 생성하는 단계를 포함하는 반도체 메모리 장치의 구동방법을 제공한다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부된 도면을 참조하여 설명하기로 한다.
도1은 반도체 메모리 장치의 지연고정루프 회로를 나타내는 블럭구성도이다.
도1을 참조하여 살펴보면, 반도체 메모리 장치는 DLL 클럭생성부(10), DLL 클럭버퍼 제어부(20), DLL 클럭버퍼(30), 딜레이라인(40), 데이터 출력버퍼(50), 위상비교기(60), 딜레이라인(70) 및 레플리카 모델(80)를 구비한다.
DLL 클럭생성부(10)는 외부에서 제공되는 시스템클럭(ECLK)을 입력받아 업데이트 클럭(UPDATA)을 생성한다. 업데이트 클럭(UPDATA)의 주기는 시스템클럭(ECLK)의 주기의 1/2배로 하고, 시스템클럭(ECLK)의 11주기마다 한번씩 클러킹되는 것을 특징으로 한다. DLL 클럭버퍼 제어부(20)는 클럭인에이블 신호(CKEb)를 입력받아 업데이트클럭(UPDATA)에 동기된 인에이블 신호(CKEb_DD)를 생성한다. 리셋신호(RST)는 DLL 클럭버퍼 제어부(20)를 리셋시키기 위한 신호이다. DLL 클럭버퍼(30)는 외부에서 입력되는 시스템클럭(ECLK)을 입력받아 기준클럭(RCLK)을 생성한다.
딜레이 라인(40)은 기준클럭(RCLK)를 딜레이라인 제어부(70)에서 출력되는 제어신호에 응답하는 지연시간만큼 지연시켜 출력한다. 데이터 출력버퍼(50)는 메모리 코어영역에서 제공되는 데이터(DATA)를 딜레이라인(40)에서 출력되는 지연고정된 클럭에 동기되어 외부로 출력한다. 위상비교기(60)는 기준클럭(RCLK)과 피드백클럭(FCLK)의 위상을 비교하고, 그 결과값을 출력한다. 딜레이라인 제어부(70)는 위상비교기(60)의 비교결과에 대응하는 제어신호를 출력한다. 레플리카 모델(80)은 딜레이라인(40)의 출력을 모델링된 지연값만큼 지연시킨 피드백클럭(FCLK)을 출력한다. 여기서 모델링된 값은 클럭신호가 반도체 메모리 장치에 입력되어 데이터 출 력버퍼에 전달되기까지의 경로에 대응하는 지연값을 말한다.
위상비교기(60)는 DLL 클럭버퍼(30)에서 출력되는 기준클럭(RCLK)과. 딜레이라인(40) 및 레플리카 모델(80)에서 어떤 예정된 값으로 일정하게 지연된 피드백클럭(FCLK)의 위상을 비교한다. 위상비교기(60)에서의 비교결과에 따라 딜레이라인 제어부(70)는 딜레이라인(40)이 기준클럭(RCLK)의 클럭을 지연시키는 값을 제어하게 된다. 이 과정은 위상비교기(60)에 입력되는 기준클럭(RCLK)과 피드백클럭(FCLK)의 위상이 같을 때까지 진행된다. 위상비교기(60)에 입력되는 두 클럭(RCLK, FCLK)의 위상이 같아지면, 딜레이라인 제어부(70)에서 딜레이 라인(40)에서 지연시키는 지연값이 고정되도록 제어한다. 이 때의 상태를 지연고정상태라 하고, 이 때 딜레이라인(40)에서 출력되는 클럭이 지연고정된 클럭이다. 데이터 출력버퍼(50)는 지연고정된 클럭에 동기시켜 데이터(DATA)를 외부로 출력하게 된다.
DLL 클럭 생성부(10)는 업데이트 클럭(UPDATA)을 생성하여 DLL 클럭버퍼(20)로 공급한다. 업데이트 클럭(UPDATA)은 지연고정루프 회로의 업데이트 동작에 사용되는 클럭이다. 특히 파워다운모드에 진입하였을 때에 바로 지연고정루프 회로의 동작상태를 업데이트하기 위해 사용된다. 파워다운모드시에 DLL 클럭버퍼 제어부(20)는 클럭인에이블 신호(CKEb)를 입력받아 업데이트 클럭(UPDATA)에 동기시켜 인에이블 신호(CKEb_DD)를 비활성화시켜 DLL 클럭버퍼(30)을 비활성화시킨다. 클럭인에이블 신호(CKEb)는 반도체 메모리 장치가 파워다운모드로 진입하게 되면 하이레벨로 비활성화되는 신호이다.
도2는 도1에 도시된 DLL 클럭버퍼 제어부를 나타내는 회로도이다.
도2를 참조하여 살펴보면, DLL 클럭버퍼 제어부(20)는 클럭동기부(20A), 인에이블 신호 생성부(20B), 리셋 제어부(20c)를 포함한다. 클럭동기부(20A)는 클럭인에이블 신호를 업데이트 클럭(UPDATA)에 동기시켜 입력받는 제1 플립플롭(21)과 제1 플립플롭(21)의 출력을 입력받아 업데이트 클럭(UPDATA)에 동기시켜 클럭동기된 인에이블신호(CKEb_D)를 출력하는 제2 플림플롭(22)를 구비한다. 인에이블 신호 생성부(20B)는 클럭동기된 인에이블신호(CKEb_D)와, 클럭인에이블신호(CKEb)를 입력받는 낸드게이트(ND1)와, 낸드게이트(ND1)의 출력을 반전하여 출력하는 인버터(I1)를 구비한다. 리셋 제어부(20C)는 클럭인에이블 신호(CKEb)의 천이시점에 대응하는 펄스를 생성하기 위한 인버터(I2~I5) 및 낸드게이트(ND2)와, 리셋신호(RST)를 반전하기 위한 인버터(I6)와, 낸드게이트(ND2)의 출력과 인버터(I6)의 출력을 입력받아 리셋펄스를 출력하기 위한 낸드게이트(ND3)를 구비한다.
리셋 제어부(20C)는 클럭동기부(20A)에 구비된 플립플롭(21,22)의 리셋신호인 리셋펄스(RSTD)를 생성하기 위한 것이다. 클럭동기부(20A)는 클럭인에이블 신호(CKEb)를 업데이트클럭(UPDATA)의 천이에 응답하여 클럭동기된 인에이블신호(CKEb_D)로 출력하기 위한 것이다. 업데이트클럭(UPDATA)은 시스템클럭(ECLK)보다 2배의 주기를 가지고 시스템 클럭(ECLK)의 11주기마다 생성되는 신호이기 때문에, 결국, 클럭동기된 인에이블신호(CKEb_D)는 클럭인에이블 신호가 활성화된 이후에 시스템클럭(ECLK)이 22번 ~ 44번의 클럭킹이후에 활성화되는 클럭이 된다. 인에이블 신호 생성부(20B)는 클럭인에이블 신호(CKEb)와, 클럭동기된 인에이블신호(CKEb_D)의 논리곱을 하여 인에이블 신호(CKE_DD)를 로우레벨로 활성화시켜 출력 한다. 인에이블 신호(CKE_DD)가 로우레벨로 활성화되면 DLL 클럭버퍼(30)가 비활성화상태가 되어 더 이상 시스템클럭(ECLK)을 입력받지 않는다. 따라서 파워다운모드에서는 지연고정루프 회로의 지연고정동작이 중단되어 전류소모가 생기지 않는다.
클럭인에이블 신호(CKE)가 비활성화되어 입력되면, 바로 DLL 클럭버퍼(30)를 비활성화시키지 않는 것은 파워다운모드에 진입할 때에 바로 지연고정동작을 중단시키지 않고 그 상태의 값을 저장하여, 파워다운모드가 탈출될 때에 다시 지연고정동작을 수행할 때에 이전에 수행했던 정보를 사용하기 위해서이다.
도3은 도1에 도시된 지연고정루프 회로의 동작을 나타내는 파형도이다. 특히 클럭인에이블 신호(CKEb)가 시스템클럭의 80주기동안 비활성화되는 경우와 시스템클럭의 20주기동안 비활성화되는 것을 나타낸 것이다. 클럭인에이블 신호(CKEb)가 시스템클럭의 80주기동안 비활성화되는 경우를 살펴보면, 파워다운 모드에 진입(PWDN Entry)하게 되어 클럭인에이블 신호(CKEb)가 하이레벨로 비활성화된 이후 업데이트 클럭(UPDATA)이 2번째 클럭킹되는 타이밍에 인에이블신호(CKE_DD)가 하이레벨로 활성화된다. 이후에 파워다운모드를 탈출하게 되면(PWDN Exit) 클럭인에이블 신호(CKEb)가 로우레벨로 비활성화된다.
클럭인에이블 신호(CKEb)가 시스템클럭의 20주기동안 비활성화되는 경우를 살펴보면, 클럭인에이블 신호(CKEb)가 하이레벨로 비활성화된 이후 업데이트 클럭(UPDATA)이 2번째 클럭킹되는 타이밍에는 이미 클럭인에이블 신호(CKEb)가 활성화상태로 돌아가기 때문에 인에이블신호(CKE_DD)가 하이레벨로 활성화되지 않는다. 이는 파워다운모드에 진입하더라도, 시스템 클럭이 일정한 클럭수 이하의 범위에서 파워다운모드가 탈출되는 경우에는 지연고정동작을 중단시키기 않는다. 이는 상대적으로 짧은 구간동안 파워다운 모드를 수행할 때에는 지연고정동작을 중단시켰다 다시 시작하는 것이 동작에 덜 효과적이기 때문이다.
한편, 지연고정루프 회로는 항상 동작하는 것이 아니고 동작하지 않을 때도 있다. 예를 들어 반도체 메모리 장치에 입력되는 시스템 클럭의 주파수가 상대적으로 높아서 지연고정된 클럭을 사용하지 않고 시스템 클럭에 바로 데이터를 동기시켜 출력할 수 있다. 또한 테스트시에 지연고정동작을 하지 않고 바로 데이터를 입출력시킬 수도 있다. 이런 경우에는 데이터가 지나가는 경로에 대응하는 DLL 클럭버퍼(30), 딜레이라인(40), 데이터 출력버퍼(50)는 동작을 시키고, 위상비교기(60), 딜레이라인 제어부(70), 레플리카 모델(80)은 동작을 시키지 않는다. 또한 DLL 클럭 생성부(10)도 업데이터 클럭(UPDATA)을 생성하지 않는다. 따라서 DLL 클럭버퍼 제어부(20)의 클럭동기된 인에이블신호(CKEb_D)가 생성되지 않는다. 그러므로 DLL 클럭버퍼 제어부(20)에서는 인에이블 신호(CKEb_DD)가 하이레벨로 활성화하여 출력하지 않는다. 이 경우에는 파워다운모드에 진입하여도 DLL 클럭버퍼(30)이 비활성화되는 경우는 발생하지 않는다. 따라서 파워다운모드에서 진입하는 경우에도 DLL 클럭버퍼(30)의 동작으로 많은 전류가 소모되는 문제가 생긴다. 이는 결국 지연고정루프 동작을 하지 않기 때문에, 업데이트 클럭(UPDATA)이생기지 않아서 인에이블신호(CKEb_DD)가 활성화되지 않는 것이 문제인 것이다.
도4는 본 발명의 바람직한 실시예에 따른 반도체 메모리 장치의 지연고정루프를 나타내는 블럭도이다.
도4를 참조하여 살펴보면, 본 실시예에 따른 반도체 메모리 장치는 DLL 클럭생성부(100), DLL 클럭버퍼 제어부(200), DLL 클럭버퍼(300), 딜레이라인(400), 데이터 출력버퍼(500), 위상비교기(600), 딜레이라인(700) 및 레플리카 모델(800)을 구비한다. DLL 클럭버퍼(200)이외의 나머지 블럭들은 모두 도1에 도시된 블럭과 같은 구성과 같은 동작을 수행한다. DLL 클럭버퍼(200)는 EMRS1 레지스터(900)로 부터 제공되며, 지연고정동작의 수행여부에 관한 정보를 가지고 있는 코드신호(DISDLL)를 입력받는다. 반도체 메모리 장치가 동작하는 주파수에 따라서 지연고정루프 회로의 지연고정동작이 필요하지 않는 경우가 있다. 이를 경우에는 코드신호(DISDLL)가 비활성화상태를 유지하게 된다. 물론 지연고정루프 회로가 지연고정동작을 수행할 필요가 있는 경우에는 코드신호(DISDLL)가 활성화상태를 유지하게 된다. 코드신호(DISDLL)가 저장되어 있는 EMRS1 레지스터는 반도체 메모리 장치의 동작모드에 관한 정보가 저장되어 있는 레지스터이다.
지연고정루프 회로의 지연고정동작을 수행하지 않을 경우에도 시스템클럭을 데이터 출력버퍼(500)까지 전달시키기 위해서 DLL 클럭버퍼(300)와, 딜레이라인(400)은 동작을 하게 된다. 지연고정동작을 수행하지 않는 경우에는 DLL 클럭 생성부(100)는 비활성화상태를 유지하기 때문에 업데이트 클럭(UPDATA)은 생성되지 않는다. 지연고정동작을 수행하지 않는 상태에서 파워다운모드에 진입이 되면, 클럭인에이블 신호(CKEb)가 활성화상태로 입력이 된다. 전술한 바와 같이, 도1에 도시된 반도체 메모리장치의 경우에는 파워다운모드에 진입이 되면, 클럭인에이블 신호(CKEb)가 활성화상태로 입력이 되더라도, DLL클럭버퍼 제어부(200)는 버퍼 인에 이블 신호(CKEb_DD)를 계속해서 생성하는 문제가 있었다.
그러나, 본 실시예에 따른 반도체 메모리 장치의 DLL 클럭버퍼 제어부(200)는 지연고정동작의 수행 여부에 대한 정보가 있는 코드신호(DISDLL)와 클럭 인에이블 신호(CKEb)를 이용하여 버퍼 인에이블 신호(CKEb_DD)를 생성하기 때문에, 지연고정동작이 수행되지 않는 상태에서도 파워다운모드에 진입하게 되면, 버퍼 인에이블 신호(CKEb_DD)를 비활성화시켜 출력할 수 있다. 구체적으로 DLL 클럭버퍼 제어부(200)는 지연고정동작이 수행되는 동안에는 업데이트클럭(UPDATA)에 동기된 버퍼인에이블 신호(CKEb_DD)를 비활성화시켜고, 지연고정동작이 수행되지 않는 동안에는 코드신호(DISDLL)에 응답하여 버퍼인에이블 신호(CKEb_DD)를 비활성화시킨다.
도5는 도4에 도시된 DLL 클럭버퍼 제어부를 나타내는 회로도이다.
도5를 참조하여 살펴보면, DLL 클럭버퍼 제어부(200)는 클럭인에이블 신호(CKEb)를 업데이트 클럭(UPDATA)에 동기된 내부 클럭인에이블 신호(CKEB_D)를 생성하는 클럭동기부(200A)와, 내부 클럭인에이블 신호(CKEB_D)와 코드 신호(DISDLL)의 논리합을 출력하기 위한 논리합부(200B)와, 논리합부(200B)의 출력과 클럭인에이블 신호(CKEb)를 논리곱하여 버퍼 인에이블 신호(CKEb_DD)를 출력하기 위한 논리곱부(200C)를 구비한다. 또한, DLL 클럭버퍼 제어부(200)는 클럭인에이블 신호(CKEb)와 리셋신호(RST)를 조합하여 클럭동기부(200A)를 리셋시키기 위한 리셋신호(RSTD)를 생성하는 리셋신호 생성부(200D)를 더 구비한다
클럭동기부(200A)는 업데이트 신호(UPDATA)를 클럭입력신호로 입력받고, 클럭인에이블 신호(CKEb)를 데이터입력신호(D)로 입력받는 제1 플립플롭(210)과, 제1 플립플롭(210)의 출력을 데이터입력신호로 입력받고, 업데이트 클럭(D)을 클럭입력신호로 입력받아 내부 클럭인에이블 신호(CKEb_D)를 출력하기 위한 제2 플롭플롭(220)을 구비한다.
클럭동기부(200A)는 클럭인에이블신호(CKEb)를 업데이트 클럭(UPDATA)에 동기된 내부 클럭인에이블 신호(CKEb_D)를 생성한다. 논리합부(200B)는 내부 클럭인에이블 신호(CKEb_D)의 하이레벨 또는 코드신호(DISDLL)의 하이레벨에 응답하여 출력신호를 하이레벨로 출력한다. 논리곱부(200C)는 논리합부(200B)의 출력신호와 클럭인에이블 신호가 하이레벨로 입력되면, 내부 클럭 인에이블 신호(CKEb_D)를 로직 하이레벨로 출력한다. 내부 클럭 인에이블 신호(CKEb_D)가 하이레벨로 출력되면 DLL 클럭버퍼(300)는 비활성화상태가 유지된다.
따라서, 본 실시예에 따른 반도체 메모리 장치는 지연고정동작이 수행중인 상태에서 클럭인에이블 신호(CKEb)가 하이레벨로 비활성화되면, 내부 클럭 인에이블 신호(CKEb_D)가 생성되어 논리합(200B)의 출력을 하이레벨로 출력시키고, 지연고정동작이 수행되지 않는 상태에서는 코드신호(DISDLL)에 의해서 논리합(200B)의 출력을 하이레벨로 출력된다. 따라서 지연고정동작이 수행되는 동안이나 수행되지 않는 동안이나 파워다운모드에 진입하게 되면, 버퍼 인에이블 신호(CKEb_DD)가 비화성화되어 출력될 수 있다. 따라서 반도체 메모리 장치가 지연고정동작이 수행되는 동안이나 수행되지 않는 동안이나 파워다운모드에 진입한 이후에는 DLL 클럭버퍼가 동작하지 않게 되므로 불필요한 전류소모를 줄일 수 있다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속한 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.