KR100895072B1 - 읽기 데이터의 안정성을 보장할 수 있는 메모리 시스템 및그것의 데이터 읽기 방법 - Google Patents

읽기 데이터의 안정성을 보장할 수 있는 메모리 시스템 및그것의 데이터 읽기 방법 Download PDF

Info

Publication number
KR100895072B1
KR100895072B1 KR1020070023104A KR20070023104A KR100895072B1 KR 100895072 B1 KR100895072 B1 KR 100895072B1 KR 1020070023104 A KR1020070023104 A KR 1020070023104A KR 20070023104 A KR20070023104 A KR 20070023104A KR 100895072 B1 KR100895072 B1 KR 100895072B1
Authority
KR
South Korea
Prior art keywords
data
strobe signal
synchronization
data strobe
output
Prior art date
Application number
KR1020070023104A
Other languages
English (en)
Other versions
KR20080082346A (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 KR1020070023104A priority Critical patent/KR100895072B1/ko
Priority to US12/044,174 priority patent/US7791964B2/en
Publication of KR20080082346A publication Critical patent/KR20080082346A/ko
Application granted granted Critical
Publication of KR100895072B1 publication Critical patent/KR100895072B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)

Abstract

여기에 개시된 메모리 시스템은 (n/2)+1 클록 사이클로 구성된 데이터 스트로브 신호를 생성하고, 상기 생성된 데이터 스트로브 신호를 출력하며, 상기 데이터 스트로브 신호에 동기되어 n 개의 데이터를 출력하는 메모리, 및 상기 메모리로부터 상기 데이터 스트로브 신호 및 상기 데이터를 제공받는 메모리 컨트롤러를 포함하고, 상기 메모리 컨트롤러는 상기 제공받은 데이터 스트로브 신호에 소정의 딜레이를 주고, 상기 소정의 딜레이를 갖는 데이터 스트로브 신호에 동기되어 상기 제공받은 데이터를 각각 샘플링하고, 외부로부터 제공되고 데이터 출력 시점을 나타내는 클록 신호 주기에 상관없이 상기 소정의 딜레이를 갖는 데이터 스트로브 신호에 동기되어 상기 샘플링된 데이터를 각각 외부로 출력한다.

Description

읽기 데이터의 안정성을 보장할 수 있는 메모리 시스템 및 그것의 데이터 읽기 방법{MEMORY SYSTEM CAPABLE OF GUARANTEEING STABILITY OF READ DATA AND DATA READ METHOD THEREOF}
도 1 내지 도 3은 일반적인 에스 디렘의 읽기 타이밍도;
도 4는 본 발명의 실시 예에 따른 메모리 시스템의 블록도;
도 5는 도 4에 도시된 메모리 컨트롤러의 데이터 흐름을 보여주기 위한 블록도;
도 6 및 도 7은 본 발명의 실시예에 따른 메모리 시스템의 읽기 타이밍도이다.
<도면의 주요 부분에 대한 부호 설명>
100: 메모리 시스템 110: 메모리 컨트롤러
120: 에스디렘 111: 입출력 패드
112: 라이징 엣지 샘플링 레지스터 113,114: 폴링 엣지 샘플링 레지스터
115: 동기화 레지스터, FIFO 1111: 딜레이 회로, DLL 회로
본 발명은 메모리 시스템에 관한 것으로, 좀더 구체적으로는 읽기 동작시 읽기 데이터의 안정성을 보장할 수 있는 메모리 시스템 및 그 방법에 관한 것이다.
일반적인 동기식 디렘(SDRAM(Synchronous Dynamic Random Access Memory))(이하, 에스디렘이라 칭함)은 중앙 처리 장치(CPU)에서 사용되는 클록신호에 동기되어 동작한다. 따라서, 중앙 처리 장치는 에스 디렘에 접근하기 위한 대기 시간이 필요 없으므로, 고속으로 에스디렘에 접근할 수 있다.
에스 디렘은 싱글 데이터 비율 에스 디렘(SDR SDRAM(Single Data Rate SDRAM))(이하, SDR에스디렘 이라 칭함)과 더블 데이터 비율 에스 디렘(DDR SDRAM(Double Data Rate SDRAM))(이하, DDR에스디렘 이라 칭함)으로 구분된다. DDR에스디렘은 SDR에스디렘에 비해 데이터 전송 대역이 두 배로 넓은 램이다. 예를 들어, SDR에스디렘이 133MHz로 동작하면, DDR에스디렘은 266MHz 로 동작한다.
일반적으로, SDR에스디렘 및 DDR에스디렘은 읽기 동작시, 읽기 명령을 입력받은 후 소정의 출력 딜레이 후에 데이터를 출력한다. 이때, 출력 딜레이는 유효 출력 딜레이(tSAC: CLK to valid output delay)를 포함한다. 유효 출력 딜레이(tSAC)는 PVT(pressure, volume, temperature) 및 주파수와 같은 요인에 의해 생성되며, CPU에서 제공되는 클록 신호의 1 클록 주기보다 짧거나 길 수 있다.
DDR에스디렘은 딜레이 잠금 루프(DLL(Delay Locked Loop))(이하, DLL회로라 칭함)를 포함하고, DLL 회로를 통해 유효 출력 딜레이(tSAC)를 1 클록 주기로 만든다. 일반적인 DLL 회로는 전력 소비가 높다. 휴대폰이나 PDA와 같은 모바일용 장치(Mobile device)는 저전력을 지향한다. 따라서, 모바일용 장치에 사용되는 DDR에 스디렘은 DLL회로를 포함하지 않는다. DDL회로를 포함하지 않는 DDR에스디렘은 유효 출력 딜레이(tSAC)를 1클록 주기에 맞추지 못하므로, 유효 출력 딜레이(tSAC)는 PVT 및 고주파수와 같은 요인에 의해 1 클록 주기보다 길어질 수 있다.
도 1 내지 도 3은 일반적인 에스 디렘의 읽기 타이밍도이다.
일반적인 메모리 시스템은 메모리 컨트롤러 및 메모리를 포함하고, 읽기 동작 수행시 메모리 컨트롤러는 메모리에 저장된 데이터를 읽어온다. 메모리는 DDR에스 디렘이고, 메모리 컨트롤러는 DDR에스디렘 컨트롤러이다.
도 1 내지 도 3을 참조하면, 메모리 시스템의 읽기 동작시, 메모리는 메모리 컨트롤러로부터 읽기 명령(RD)을 제공받는다. 메모리는 스트로브 신호 발생기를 포함하고, 읽기 명령(RD)을 입력받은 후 소정의 출력 딜레이 후에 스트로브 신호 발생기를 통해 데이터 스트로브 신호(DQS)를 생성한다. 출력 딜레이는 유효 출력 딜레이(tSAC)를 포함하고, CL(CAS latency) - 1 클록 주기(1clk) + tSAC로 표현된다. 유저에 의해 칼럼 어드레스 스트로브 지연 신호(CAS latency)(이하, CL 이라 칭함)는 클록 신호(CK)의 2 클록 주기(2clk) 또는 3 클록 주기(3clk)로 미리 정해진다. 도 1 내지 도 3은 CL을 2 클록 주기(2clk)로 정한 경우이다.
메모리가 데이터를 출력하지 않을 경우, 스트로브 신호 발생기는 전력소모를 줄이기 위해 플로팅 상태를 유지한다. 메모리가 읽기 명령을 수행할 경우, 스트로브 신호 발생기는 프리 엠블(Pre-amble) 후에 라이징 엣지(rising edge)를 시작하고, 폴링 엣지(falling edge)를 만들기 위한 포스트 엠블(Post-amble) 후에 다시 플로팅 상태가 된다. 일반적으로 메모리에서 고주파수의 클록 신호를 사용할 경우, 내부의 캡(CAP) 성분으로 인해, 스트로브 신호 발생기에서 생성되는 스트로브 신호의 진폭이 불안정해질 수 있다. 스트로브 신호의 진폭이 불안정하면, 라이징 엣지 및 폴링 엣지는 원하는 시점과 다르게 생성될 수 있다. 스트로브 신호 발생기는 프리 엠블(Pre-amble) 및 포스트 엠블(Post-amble)을 통해 스트로브 신호의 진폭을 크게 해줌으로써, 라이징 엣지 및 폴링 엣지의 시점을 안정적으로 보장한다.
메모리는 데이터 스트로브 신호(DQS)의 라이징 엣지 및 폴링 엣지에 동기되어 데이터(DQ)를 메모리 컨트롤러로 출력한다. 또한, 메모리는 데이터 스트로브 신호(DQS)를 메모리 컨트롤러로 출력한다.
메모리 컨트롤러는 입력받은 데이터의 샘플링을 원활히 수행하도록 하기 위해 내부의 딜레이 회로를 통해 메모리로부터 제공받은 데이터 스트로브 신호(DQS)에 대해 소정의 딜레이를 준다. 일반적으로, 딜레이 회로는 메모리로부터 제공받은 데이터 스트로브 신호(DQS)를 90도 시프트(shift) 시킨다. 데이터 스트로브 신호(DQS)를 딜레이 시켜 90도 시프트 시키는 것은 일 실시예에 불과하며, 딜레이 회로는 딜레이를 다르게 설정하도록 구성될 수 있다.
메모리 컨트롤러는 90도 시프트된 데이터 스트로브 신호(DQSin)에 동기 되어 메모리로부터 제공받은 데이터를 샘플링한다. 메모리 컨트롤러는 샘플링된 데이터(Sampled DQin)를 클록 신호 주기(CL+1~CL+3) 후 두 번의 클록 신호(CK)의 각 라이징 엣지(r.e1,r.e2)에 동기되어 외부로 출력한다. 출력되는 데이터(Synchronized DQin)는 데이터를 요청한 마스터블록들(예를들어, CPU, DSP, H/W engine 등)에게 제공된다. 이때, 메모리 컨트롤러의 데이터 출력 시점을 정하는 클록 신호 주 기(CL+1~CL+3)는 미리 유저들에 의해 결정된다.
도 1은 유효 출력 딜레이(tSAC)가 1 클록 주기와 같을 경우이다. 이러한 경우, 앞서 설명한 읽기 동작을 참조하면, 메모리 컨트롤러는 샘플링된 데이터(Sampled DQin)를 클록 신호 주기(CL+1) 후 두 번의 클록 신호(CK)의 라이징 엣지(r.e1,r.e2)에 동기되어 출력한다. 도 1에 도시되지 않았으나, 유효 출력 딜레이(tSAC)가 1 클록 주기(1clk)보다 짧을 경우에도, 메모리 컨트롤러는 샘플링된 데이터(Sampled DQin)를 클록 신호 주기(CL+1) 후 두 번의 클록 신호(CK)의 라이징 엣지(r.e1,r.e2)에 동기되어 출력한다.
도 2는 유효 출력 딜레이(tSAC)가 1 클록 주기보다 길고 2 클록 주기보다 짧거나 같을 경우이다. 이러한 경우, 메모리 컨트롤러는 샘플링된 데이터(Sampled DQin)를 클록 신호 주기(CL+2) 후 두 번의 클록 신호(CK)의 라이징 엣지(r.e1,r.e2)에 동기되어 출력한다. 도 3은 유효 출력 딜레이(tSAC)가 2 클록 주기보다 길고 3 클록 주기보다 짧거나 같은 경우이다. 이러한 경우, 메모리 컨트롤러는 샘플링된 데이터(Sampled DQin)를 클록 신호 주기(CL+3) 후 두 번의 클록 신호(CK)의 라이징 엣지(r.e1,r.e2)에 동기되어 출력한다.
메모리 컨트롤러의 샘플링된 데이터(Sampled DQin)의 출력 시점이 클록 신호 주기(CL+1)로 미리 정해질 경우, 도 1을 참조하면, 유효 출력 딜레이(tSAC)가 1 클록 주기보다 짧거나 같으면 메모리 컨트롤러는 미리 정해진 클록 신호 주기(CL+1) 에 맞게 샘플링된 데이터(Sampled DQin)를 출력한다. 그러나 도 2 및 도 3에 도시된 바와 같이 유효 출력 딜레이(tSAC)가 1 클록 주기보다 길 경우, 샘플링된 데이 터(Sampled DQin)의 실제 출력 시점은 클록 신호 주기(CL+2, CL+3)로 출력 시점을 정할 경우와 같다. 따라서, 메모리 컨트롤러의 미리 정해진 출력 시점과 실제 데이터 출력 시점은 다르게 된다. 이러한 경우, 메모리 컨트롤러는 샘플링된 데이터(Sampled DQin)를 출력하지 않거나, 일부만 출력하게 된다. 따라서, 마스터 블록들은 메모리 컨트롤러로부터 데이터를 정상적으로 받지 못한다.
메모리 컨트롤러의 샘플링된 데이터(Sampled DQin)의 출력 시점이 클록 신호 주기(CL+2)로 정해질 경우, 유효 출력 딜레이(tSAC)가 2 클록 주기보다 길게 되면, 앞서 설명한 문제점이 생긴다.
이러한 문제점을 해결하기 위해, 유저는 메모리 컨트롤러의 샘플링된 데이터(Sampled DQin)의 출력 시점을 클록 신호 주기(CL+3)로 정하여, 메모리 컨트롤러의 데이터 출력시점을 충분히 확보한다. 그러나, 이러한 경우, 메모리 컨트롤러의 데이터의 출력 시점이 늦어지므로, 마스터 블록들은 데이터를 늦게 제공받게 된다.
모바일 장치가 아닌 일반적인 개인용 컴퓨터의 경우 메모리는 DLL회로를 포함한다. 메모리는 DLL 회로를 통해 유효 출력 딜레이(tSAC)를 1 클록 주기로 맞춤으로써 메모리의 출력 딜레이를 2클록 주기(2clk)로 맞출 수 있다. 이러한 경우, 데이터 스트로브 신호의 생성시점은 클록 신호의 라이징 엣지에 맞춰진다. 이러한 조건하에 메모리 시스템의 읽기 동작에 따른 타이밍도는 도 1과 같다. 도 1을 참조하면, 데이터 스트로브 신호의 라이징 엣지(R.e)는 클록 신호(CK)의 라이징 엣지(r.e)에 맞출 수 있으므로, 메모리 컨트롤러의 데이터 출력 시점은 클록 신호 주기(CL+1)로 정해질 수 있다.
그러나, 실질적으로 PVT 및 주파수와 같은 요인에 의해 데이터 스트로브 신호의 라이징 엣지(R.e)는 클록 신호(CK)의 라이징 엣지(r.e)보다 늦어질 수 있다. 이러한 데이터 스트로브 신호의 딜레이는, 저주파수에서는 문제되지 않으나, 고주파수에서는 클록 신호(CK)의 주기가 짧아지므로 상대적으로 길어지게 된다. 고주파수에서 클록 신호(CK)의 주기는 짧아지고, 스트로브 신호의 딜레이는 길어지므로, 도 2 및 도 3에 도시된 것처럼, 유효 출력 딜레이(tSAC)가 1 클록 주기(1clk)보다 길어진 경우와 같은 문제점이 생긴다.
따라서, 본 발명의 목적은 상술한 제반 문제점을 해결하기 위해 제안된 것으로, 읽기 동작시 읽기 데이터의 안정성을 보장할 수 있는 메모리 시스템 및 그것의 읽기 방법을 제공하는데 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 특징에 의하면, 메모리 시스템은: (n/2)+1 클록 사이클로 구성된 데이터 스트로브 신호를 생성하고, 상기 생성된 데이터 스트로브 신호를 출력하며, 상기 데이터 스트로브 신호에 동기되어 n 개의 데이터를 출력하는 메모리; 및 상기 메모리로부터 상기 데이터 스트로브 신호 및 상기 데이터를 제공받는 메모리 컨트롤러를 포함하고, 상기 메모리 컨트롤러는 상기 제공받은 데이터 스트로브 신호에 소정의 딜레이를 주고, 상기 소정의 딜레이를 갖는 데이터 스트로브 신호에 동기되어 상기 제공받은 데이터를 각각 샘플링하고, 외부로부터 제공되고 데이터 출력 시점을 나타내는 클록 신호 주기에 상관없이 상기 소정의 딜레이를 갖는 데이터 스트로브 신호에 동기되어 상기 샘플링된 데이터를 각각 외부로 출력한다.
이 실시예에 있어서, 상기 메모리는 상기 데이터 스트로브 신호의 라이징 엣지 및 폴링 엣지에 각각 동기되어 상기 n개의 데이터를 각각 출력한다.
이 실시예에 있어서, 상기 메모리 컨트롤러는 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 라이징 엣지에 각각 동기되어 상기 샘플링된 데이터를 2n개 단위로 각각 출력한다.
이 실시예에 있어서, 상기 메모리는 더블 데이터 비율 에스디렘이고, 상기 메모리 컨트롤러는 더블 데이터 비율 에스디렘 컨트롤러이다.
이 실시예에 있어서, 상기 메모리 컨트롤러는 상기 데이터 및 상기 데이터 스트로브 신호를 입력받고, 상기 데이터 스트로브 신호에 상기 소정의 딜레이를 주는 입출력 패드; 상기 입출력 패드로부터 제공받은 상기 데이터를 상기 입출력 패드로부터 제공받은 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 각 라이징 엣지에 동기되어 각각 샘플링하는 라이징 엣지 샘플링 레지스터; 상기 입출력 패드로부터 제공받은 상기 데이터를 상기 입출력 패드로부터 제공받은 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 각 폴링 엣지에 동기되어 각각 샘플링하는 제 1 폴링 엣지 샘플링 레지스터; 상기 라이징 엣지 샘플링 레지스터로부터 제공된 상기 샘플링된 데이터를 상기 입출력 패드로부터 제공받은 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 각 폴링 엣지에 동기되어 각각 샘플링하는 제 2 폴링 엣지 샘플링 레지스터; 및 상기 제 1 및 상기 제 2 폴링 엣지 샘플링 레지스터로부터 제공된 샘플링된 데이터를 상기 입출력 패드로부터 제공받은 상기 소정의 딜레 이를 갖는 데이터 스트로브 신호의 각 라이징 엣지에 동기되어 각각 외부로 출력하는 동기화 레지스터를 포함한다.
이 실시예에 있어서, 상기 동기화 레지스터는 상기 제 1 및 상기 제 2 폴링 샘플링 레지스터로부터 제공된 샘플링된 데이터를 2n개 단위로 각각 출력한다.
이 실시예에 있어서, 상기 제 1 폴링 샘플링 레지스터에서 샘플링된 각 데이터는 상기 2n개 단위로 출력되는 데이터의 상위 비트를 구성한다.
이 실시예에 있어서, 상기 제 2 폴링 샘플링 레지스터에서 샘플링된 각 데이터는 상기 2n개 단위로 출력되는 데이터의 하위 비트를 구성한다.
이 실시예에 있어서, 상기 입출력 패드는 딜레이 회로를 포함하고, 상기 딜레이 회로는 상기 데이터 스트로브 신호에 상기 소정의 딜레이를 준다.
이 실시예에 있어서, 상기 딜레이 회로는 딜레이 잠금 루프로 구성된다.
이 실시예에 있어서, 상기 동기화 레지스터는 선입 선출 회로로 구성된다.
본 발명의 다른 특징에 따른 메모리 시스템은: (n/2)+1 클록 사이클로 구성된 데이터 스트로브 신호를 생성하고, 상기 생성된 데이터 스트로브 신호를 출력하며, 상기 데이터 스트로브 신호에 동기되어 n 개의 데이터를 출력하는 메모리; 및 상기 메모리로부터 상기 데이터 스트로브 신호 및 상기 데이터를 제공받는 메모리 컨트롤러를 포함하고, 상기 메모리는 딜레이 잠금 루프를 포함하고, 상기 딜레이 잠금 루프는 상기 데이터 스트로브 신호의 생성시점을 외부로부터 제공된 클록 신호의 라이징 엣지에 맞추며, 상기 메모리 컨트롤러는 상기 제공받은 데이터 스트로브 신호에 소정의 딜레이를 주고, 상기 소정의 딜레이를 갖는 데이터 스트로브 신호에 동기되어 상기 제공받은 데이터를 각각 샘플링하고, 상기 클록 신호의 주기에 상관없이 상기 소정의 딜레이를 갖는 데이터 스트로브 신호에 동기되어 상기 샘플링된 데이터를 각각 외부로 출력한다.
이 실시예에 있어서, 상기 메모리는 상기 데이터 스트로브 신호의 라이징 엣지 및 폴링 엣지에 각각 동기되어 상기 n개의 데이터를 각각 출력한다.
이 실시예에 있어서, 상기 메모리 컨트롤러는 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 라이징 엣지에 각각 동기되어 상기 샘플링된 데이터를 2n개 단위로 각각 출력한다.
이 실시예에 있어서, 상기 메모리는 더블 데이터 비율 에스디렘이고, 상기 메모리 컨트롤러는 더블 데이터 비율 에스디렘 컨트롤러이다.
이 실시예에 있어서, 상기 메모리 컨트롤러는 상기 데이터 및 상기 데이터 스트로브 신호를 입력받고, 상기 데이터 스트로브 신호에 상기 소정의 딜레이를 주는 입출력 패드; 상기 입출력 패드로부터 제공받은 상기 데이터를 상기 입출력 패드로부터 제공받은 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 각 라이징 엣지에 동기되어 각각 샘플링하는 라이징 엣지 샘플링 레지스터; 상기 입출력 패드로부터 제공받은 상기 데이터를 상기 입출력 패드로부터 제공받은 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 각 폴링 엣지에 동기되어 각각 샘플링하는 제 1 폴링 엣지 샘플링 레지스터; 상기 라이징 엣지 샘플링 레지스터로부터 제공된 상기 샘플링된 데이터를 상기 입출력 패드로부터 제공받은 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 각 폴링 엣지에 동기되어 각각 샘플링하는 제 2 폴링 엣지 샘플링 레지스터; 및 상기 제 1 및 상기 제 2 폴링 엣지 샘플링 레지스터로부터 제공된 샘플링된 데이터를 상기 입출력 패드로부터 제공받은 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 각 라이징 엣지에 동기되어 각각 외부로 출력하는 동기화 레지스터를 포함한다.
이 실시예에 있어서, 상기 동기화 레지스터는 상기 제 1 및 상기 제 2 폴링 샘플링 레지스터로부터 제공된 샘플링된 데이터를 2n개 단위로 각각 출력한다.
이 실시예에 있어서, 상기 제 1 폴링 샘플링 레지스터에서 샘플링된 각 데이터는 상기 2n개 단위로 출력되는 데이터의 상위 비트를 구성한다.
이 실시예에 있어서, 상기 제 2 폴링 샘플링 레지스터에서 샘플링된 각 데이터는 상기 2n개 단위로 출력되는 데이터의 하위 비트를 구성한다.
이 실시예에 있어서, 상기 입출력 패드는 딜레이 회로를 포함하고, 상기 딜레이 회로는 상기 데이터 스트로브 신호에 소정의 딜레이를 준다.
이 실시예에 있어서, 상기 딜레이 회로는 딜레이 잠금 루프로 구성된다.
이 실시예에 있어서, 상기 동기화 레지스터는 선입 선출 회로로 구성된다.
본 발명의 다른 특징에 따른 외부로 출력될 데이터가 저장된 메모리를 포함하는 메모리 시스템의 데이터 읽기 방법에 있어서 데이터 읽기 방법은: (a) (n/2)+1 클록 사이클로 구성된 데이터 스트로브 신호를 생성하는 단계; (b) 상기 데이터 스트로브 신호 및 메모리에 저장된 n 개의 데이터를 제공받는 단계; (c) 상기 제공받은 데이터 스트로브 신호에 소정의 딜레이를 주는 단계; (d) 상기 소정의 딜레이를 갖는 데이터 스트로브 신호에 동기되어 상기 제공받은 데이터를 각각 샘플링하는 단계; 및 (e) 외부로부터 제공되고 데이터 출력 시점을 나타내는 클록 신호 주기에 상관없이 상기 소정의 딜레이를 갖는 데이터 스트로브 신호에 동기되어 상기 샘플링된 데이터를 각각 외부로 출력하는 단계를 포함하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 (b) 단계는 상기 메모리에 저장된 데이터를 상기 데이터 스트로브 신호의 각 라이징 엣지 및 폴링 엣지에 동기되어 상기 n개의 데이터를 각각 제공받는 것을 특징으로 한다.
이 실시예에 있어서, 상기 (d) 단계는 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 각 라이징 엣지에 동기되어 상기 샘플링된 데이터를 2n개 단위로 각각 출력하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 메모리는 더블 데이터 비율 에스디렘인 것을 특징으로 한다.
이 실시예에 있어서, 상기 (d) 단계는 상기 데이터를 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 각 라이징 엣지에 동기되어 각각 샘플링하는 단계; 상기 데이터를 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 각 폴링 엣지에 동기되어 각각 샘플링하는 제 1 폴링 샘플링 단계; 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 라이징 엣지에 동기되어 샘플링된 데이터를 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 각 폴링 엣지에 동기되어 각각 샘플링하는 제 2 폴링 샘플링 단계; 및 상기 제 1 및 상기 제 2 폴링 샘플링 단계에서 샘플링된 데이터를 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 각 라이징 엣지에 동기되어 각각 외부로 출력하는 단계를 포함하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 샘플링된 데이터를 외부로 출력하는 단계는 상기 제 1 및 상기 제 2 폴링 샘플링 단계로부터 제공된 상기 샘플링된 데이터를 2n개 단위로 각각 출력하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 제 1 폴링 샘플링 단계에서 상기 샘플링된 각 데이터는 상기 2n개 단위로 출력되는 데이터의 상위 비트를 구성하는 것을 특징으로 한다.
이 실시예에 있어서, 상기 제 2 폴링 샘플링 단계에서 상기 샘플링된 각 데이터는 상기 2n개 단위로 출력되는 데이터의 하위 비트를 구성하는 것을 특징으로 한다.
(실시예)
이하, 첨부된 도면을 참조하여 본 발명의 실시 예에 대하여 상세히 설명한다.
도 4는 본 발명의 실시 예에 따른 메모리 시스템의 블록도이다.
도 4를 참조하면, 본 발명에 따른 메모리 시스템(100)은 메모리 컨트롤러(110) 및 메모리(120)를 포함한다. 메모리 컨트롤러(110)는 DDR에스디렘 컨트롤러이고, 메모리(120)는 DDR에스 디렘이다. 읽기 동작 수행시, 메모리 컨트롤러(110)는 명령(CMD) 및 외부의 중앙처리장치(CPU)로부터 제공받은 클록 신호(CK)를 메모리(120)에 제공한다.
메모리(120)는 입력받은 읽기 명령에 응답하여 데이터 스트로브 신호(DQS)를 생성하고, 생성된 데이터 스트로브 신호(DQS)를 메모리 컨트롤러(110)에 제공한다. 또한, 메모리(120)는 데이터 스트로브 신호(DQS)에 동기되어 저장된 데이터(DQ)를 메모리 컨트롤러(110)에 제공한다.
메모리 컨트롤러(110)는 내부의 딜레이 회로(도 5 참조)를 통해 메모리(120)로부터 제공받은 데이터 스트로브 신호(DQS)에 대해 소정의 딜레이를 준다. 이하, 메모리 컨트롤러(110)는 데이터 스트로브 신호(DQS)를 딜레이 시켜 90도 시프트 시키는 것을 예로 하여 설명한다. 그러나 앞서 종래 기술에서 설명한 바와 같이, 딜레이는 다르게 설정될 수 있다.
메모리 컨트롤러(110)는 입력받은 데이터 스트로브 신호(DQS)를 90도 시프트(shift)하고, 90도 시프트된 데이터 스트로브 신호(DQS)에 동기되어 입력받은 데이터(DQ)를 샘플링한다. 또한, 메모리 컨트롤러(110)는 90도 시프트된 데이터 스트로브 신호(DQS)에 동기되어 샘플링된 데이터(DQ)를 출력한다.
메모리 컨트롤러(120)에서 출력된 데이터는 외부의 마스트블록들(예를들어, CPU, DSP, H/W engine 등)에게 제공된다.
도 5는 도 4에 도시된 메모리 컨트롤러의 데이터 흐름을 보여주기 위한 블록도이다.
도 5를 참조하면, 본 발명의 실시 예에 따른 메모리 컨트롤러는 입출력 패트(I/O PAD)(111), 라이징 엣지 샘플링 레지스터(rising edge sampling register)(112), 두 개의 폴링 엣지 샘플링 레지스터들(falling edge sampling register)(113,114), 그리고 동기화 레지스터(Synchronizing register)(115)를 포함한다.
동기화 레지스터(115)는 선입 선출 회로(FIFO(First-In First-Out))로 구성될 수 있다. 폴링 엣지 샘플링 레지스터(113)는 제 1 폴링 엣지 샘플링 레지스터(113), 그리고 폴링 엣지 샘플링 레지스터(114)는 제 2 폴링 엣지 샘플링 레지스터(114)와 같은 의미이다.
입출력 패드(111)는 딜레이 회로(delay logic)(1111)를 포함한다. 딜레이 회로(1111)는 딜레이 잠금 루프(DLL(Delay Locked Loop))로 구성될 수 있다.
입출력 패드(111)는 메모리(120)로부터 데이터(DQ) 및 데이터 스트로브 신호(DQS)를 입력받는다.
입출력 패드(111)의 딜레이 회로(1111)는 메모리(120)로부터 제공받은 데이터 스트로브 신호(DQS)에 대해 소정의 딜레이를 준다. 딜레이 회로(1111)는 메모리로부터 제공받은 데이터 스트로브 신호(DQS)를 90도 시프트(shift) 시킨다. 앞서 종래 기술에서 설명한 바와 같이, 데이터 스트로브 신호(DQS)를 딜레이 시켜 90도 시프트 시키는 것은 일 실시예에 불과하며, 딜레이 회로(1111)는 딜레이를 다르게 설정하도록 구성될 수 있다.
라이징 엣지 샘플링 레지스터(112) 및 폴링 엣지 샘플링 레지스터들(113,114)은 90도 시프트된 데이터 스트로브 신호(DQS)에 동기되어 입출력 패드(111)를 통해 입력받은 데이터(DQ)를 샘플링한다.
동기화 레지스터(115)는 90도 시프트된 데이터 스트로브 신호(DQS)에 동기되어 라이징 엣지 샘플링 레지스터(112) 및 폴링 엣지 샘플링 레지스터들(113,114)에의해 샘플링된 데이터를 외부로 출력한다.
도 6 및 도 7은 본 발명의 실시예에 따른 메모리 시스템의 읽기 타이밍도이다.
도 4 내지 도 7을 참조하여, 본 발명에 따른 메모리 시스템의 읽기 동작을 설명하면 다음과 같다.
메모리 시스템(100)의 읽기 동작시, 메모리(120)는 메모리 컨트롤러(110)로부터 명령(CMD) 및 클록 신호(CK)를 입력받는다. 명령(CMD)은 읽기 명령(RD)를 포함한다.
도 6 및 도 7에 도시된 바와 같이, 메모리(120)는 읽기 명령(RD)을 입력받은 후 소정의 출력 딜레이 후에 데이터 스트로브 신호(DQS)를 생성한다. 실질적으로, 메모리(120)는 스트로브 신호 발생기(미 도시됨)를 포함하고, 스트로브 신호 발생기를 통해 데이터 스트로브 신호(DQS)를 생성한다. 도 6을 참조하면, 메모리에서 n 개의 32비트 데이터를 출력할 경우, 메모리에서 생성된 데이터 스트로브 신호(DQS)는 2/n 클록 사이클로 구성된다.(이하, 상세히 설명함) 도 7을 참조하면, 메모리에서 생성된 데이터 스트로브 신호(DQS)는 (2/n)+1 클록 사이클(이하, 클록 신호라 칭함)로 구성된다.(이하, 상세히 설명함) 스트로브 신호 발생기의 데이터 스트로브 신호(DQS) 생성과정은 앞서 종래기술에서 설명하였으므로 생략한다.
도 6 및 도 7에 도시된 바와 같이, 출력 딜레이는 유효 출력 딜레이(tSAC)를 포함하고, 칼럼 어드레스 스트로브 지연 신호(CL(CAS latency)) - 1 클록 주기(1clk) + 유효 출력 딜레이(tSAC)로 표현된다. 유저에 의해 칼럼 어드레스 스트로브 지연 신호(CAS latency)(이하, CL 이라 칭함)는 클록 신호(CK)의 2 클록 주 기(2clk) 또는 3 클록 주기(3clk)로 미리 정해진다. 도 6 및 도 7은 CL을 2 클록 주기(2clk)로 정한 경우이다. 도 6 및 도 7에 도시된 출력 딜레이를 참조하면, 유효 출력 딜레이(tSAC)는 1 클록 주기(1clk)보다 길다.
메모리(120)는 데이터 스트로브 신호(DQS)의 라이징 엣지(rising edge) 및 폴링 엣지(falling edge)에 동기되어 데이터(DQ)를 메모리 컨트롤러(110)로 출력한다. 또한, 메모리(120)는 데이터 스트로브 신호(DQS)를 메모리 컨트롤러(110)로 출력한다.
도 6 및 도 7의 데이터(DQ)의 타이밍도를 참조하면, 메모리(120)는 데이터 스트로브 신호(DQS)의 라이징 엣지(rising edge) 및 폴링 엣지(falling edge)에 동기되어 4개의 데이터(Q0, Q1, Q2, Q3)를 출력한다. 이때, 각 데이터(Q0, Q1, Q2, Q3)는 32비트이다.
메모리(120)는 행들(rows) 및 열들(columns)로 구성된 복수의 메모리 셀들을 포함하고, 각 메모리 셀들에 저장된 데이터는 행 단위로 출력된다. 또한, 각 행의 메모리 셀들에 저장된 데이터는 32비트 단위로 출력된다. 메모리(120)의 각 행들이 128 비트일 경우, 메모리(120)는 각 행들의 메모리 셀들에 저장된 데이터를 32 비트 단위로 출력한다. 따라서, 메모리(120)의 각 행들의 메모리 셀들에 저장된 데이터는 4개의 32비트 데이터로 출력된다. 이때, 출력될 데이터(Q0, Q1, Q2, Q3)가 저장된 행은 외부로부터 제공된 어드레스에 의해 지정되며, 이러한 메모리(120)의 동작은 이 분야의 통상의 지식을 가진 이들에게 자명하다.
메모리(120)는 4개의 32비트 데이터를 출력할 때, 데이터 스트로브 신 호(DQS)의 라이징 엣지(rising edge) 및 폴링 엣지(falling edge)에 동기되어 출력한다. 따라서, 도 6에 도시된 바와 같이, 4개의 32비트 데이터를 출력하기 위해서 데이터 스트로브 신호(DQS)는 2개의 클록 신호로 구성되어야한다. 그러나 메모리(120)의 각 행들의 사이즈가 128 비트보다 클 경우, 출력되는 32비트의 데이터 개수는 더 많아 진다. 이러한 경우, 데이터 스트로브 신호(DQS)는 더 많은 클록 신호로 구성되어야 한다. 예를 들어, 메모리(120)의 각 행들이 256 비트 데이터를 저장할 경우, 메모리(120)는 8개의 32비트 데이터를 출력한다. 또한, 메모리(120)는 8개의 32비트 데이터를 출력하기 위해 4개의 클록 신호로 구성된 데이터 스트로브 신호(DQS)를 생성한다. 따라서, 메모리(120)에서 출력되는 32 비트 데이터의 개수를 n이라 할 경우, 메모리(120)에서 생성되는 데이터 스트로브 신호(DQS)는 n/2 개의 클록 신호로 구성된다.
메모리 컨트롤러(110)의 입출력 패드(111)는 메모리(120)로부터 데이터(DQ)를 입력받고, 입력받은 데이터(DQ)를 라이징 엣지 샘플링 레지스터(112) 및 폴링 엣지 샘플링 레지스터(113)에 제공한다. 또한, 입출력 패드(111)의 딜레이 회로(1111)는 입력받은 데이터 스트로브 신호(DQS)를 90도 시프트(shift) 시킨다. 딜레이 회로(1111)는 90도 시프트(shift)된 데이터 스트로브 신호(DQSin)를 라이징 엣지 샘플링 레지스터(112), 폴링 엣지 샘플링 레지스터들(113,114), 및 동기화 레지스터(115)에 제공한다. 도 6 및 도 7에 도시된 바와 같이, 데이터 스트로브 신호(DQSin)는 데이터 스트로브 신호(DQS)보다 90도 시프트 되어 있다.
라이징 엣지 샘플링 레지스터(112)는 데이터 스트로브 신호(DQSin)의 라이징 엣지(R.e1, R.e3)에 각각 동기 되어 입력받은 데이터(DQ) 중 데이터(Q0,Q2)를 각각 샘플링한다. 라이징 엣지 샘플링 레지스터(112)는 데이터 스트로브 신호(DQSin)의 폴링 엣지(R.e2, R.e4)에서는 데이터(DQ)를 샘플링하지 않는다. 따라서, 데이터(Q1,Q3)는 라이징 엣지 샘플링 레지스터(112)에서 샘플링되지 않는다. 라이징 엣지 샘플링 레지스터(112)에서 샘플링된 데이터(Q0,Q2)는 폴링 엣지 샘플링 레지스터(114)에 제공된다.
폴링 엣지 샘플링 레지스터(113)는 데이터 스트로브 신호(DQSin)의 폴링 엣지(R.e2, R.e4)에 각각 동기 되어 입력받은 데이터(DQ) 중 데이터(Q1,Q3)를 각각 샘플링한다. 폴링 엣지 샘플링 레지스터(113)는 데이터 스트로브 신호(DQSin)의 라이징 엣지(R.e1, R.e3)에서는 데이터(DQ)를 샘플링하지 않는다. 따라서, 데이터(Q0,Q2)는 폴링 엣지 샘플링 레지스터(113)에서 샘플링되지 않는다. 폴링 엣지 샘플링 레지스터(113)에서 샘플링된 데이터(Q1,Q3)는 동기화 레지스터(115)에 제공된다.
폴링 엣지 샘플링 레지스터(114)는 라이징 엣지 샘플링 레지스터(112)에서 샘플링된 데이터(Q0,Q2)를 입력받는다. 폴링 엣지 샘플링 레지스터(114)는 데이터 스트로브 신호(DQSin)의 폴링 엣지(R.e2, R.e4)에 각각 동기 되어 입력받은 데이터(Q0,Q2)를 샘플링한다. 폴링 엣지 샘플링 레지스터(114)에서 샘플링된 데이터(Q0,Q2)는 동기화 레지스터(115)에 제공된다.
메모리(120)는 DDR에스디렘이므로 데이터(Q0, Q1, Q2, Q3)를 데이터 스트로브 신호(DQS)의 라이징 엣지 및 폴링 엣지에 동기되어 출력한다. 그러나 메모리 컨 트롤러(110)의 라이징 엣지 샘플링 레지스터(112) 및 폴링 엣지 샘플링 레지스터ㄷ드들(113,114)은 데이터 스트로브 신호(DQSin)의 라이징 엣지 또는 폴링 엣지 중 어느 하나에서 데이터(Q0, Q1, Q2, Q3)를 샘플링한다.
32비트 데이터로 제공받은 데이터(Q0, Q1, Q2, Q3)는 라이징 엣지 샘플링 레지스터(112) 및 폴링 엣지 샘플링 레지스터(113,114)를 통해 64비트로 샘플링되어 출력되야 한다. 따라서, 폴링 엣지 샘플링 레지스터(113)에서 출력되는 샘플링된 데이터(Q1, Q3) 및 폴링 엣지 샘플링 레지스터(114)에서 출력되는 샘플링된 데이터(Q0, Q2)는 64비트 버스에 합쳐져서 동기화 레지스터(115)에 제공된다.
폴링 엣지 샘플링 레지스터(113)에서 출력되는 샘플링된 데이터(Q1, Q3)는 64비트 중 상위 32비트를 구성하고, 폴링 엣지 샘플링 레지스터(114)에서 출력되는 샘플링된 데이터(Q0, Q4)는 64비트 중 하위 32비트를 구성한다. 결과적으로, 도 6 및 도 7에 도시된 바와 같이, 데이터(Q0, Q1, Q2, Q3)는 데이터 스트로브 신호(DQSin)의 폴링 엣지(R.e2, R.e4)에서 샘플링되어 두 개의 64 비트 데이터((Q1, Q0)(Q3, Q2))로서 동기화 레지스터(115)에 제공된다.
동기화 레지스터(115)는 데이터 스트로브 신호(DQSin)의 라이징 엣지에 동기되어 두 개의 64 비트 데이터((Q1, Q0)(Q3, Q2))를 출력한다. 도 6에 도시된 바와 같이, 데이터 스트로브 신호(DQS) 및 데이터 스트로브 신호(DQSin)가 각각 두 개의 클록 신호로 구성되어 있을 경우, 동기화 레지스터(115)는 데이터 스트로브 신호(DQSin)의 라이징 엣지(R.e3)에 동기 되어 64비트 데이터(Q1, Q0)를 출력할 수 있다. 그러나, 동기화 레지스터(115)는 64 비트 데이터(Q3, Q2)를 동기화시켜서 출 력할수 있는 데이터 스트로브 신호(DQSin)가 없다.
이러한 경우, 데이터 스트로브 신호(DQSin)는 64 비트 데이터(Q3, Q2)를 동기화시켜서 출력할 수 있는 한 개의 클록 신호가 더 추가되어야 한다. 데이터 스트로브 신호(DQSin)는 데이터 스트로브 신호(DQS)를 90도 시프트 시킨 신호이다. 따라서, 도 7에 도시된 바와 같이, 메모리(120)는 데이터 스트로브 신호(DQS)를 세 개의 클록으로 구성되도록 생성한다.
앞서 설명한 바와 같이, 메모리(120)에서 생성되는 데이터 스트로브 신호(DQS)는 n/2로 구성된다. 그러나, 데이터 스트로브 신호(DQS)는 도 7에 도시된 바와 같이, 64 비트 데이터(Q3, Q2)를 동기화시켜서 출력할 수 있는 한 개의 클록 신호가 더 필요하다. 따라서, 메모리(120)에서 생성되는 데이터 스트로브 신호(DQS)는 (n/2)+1 개의 클록 신호로 구성되어야 한다. 도 7에 도시된 바와 같이, 메모리(120)에서 4개의 32비트 데이터를 출력할 경우, 본 발명에 따른 메모리(120)는 3개의 클록 신호로 구성된 데이터 스트로브 신호(DQS)를 생성한다.
데이터 스트로브 신호(DQS)가 세 개의 클록으로 구성되므로, 데이터 스트로브 신호(DQSin)는 세 개의 클록으로 구성된다. 결과적으로, 도 7을 참조하면, 메모리 컨트롤러(110)는 데이터 스트로브 신호(DQSin)의 라이징 엣지(R.e3, R.e5)에 동기 되어 두 개의 64 비트 데이터((Q1, Q0)(Q3, Q2))를 출력할 수 있다.
동기화 레지스터(115)는 외부의 CPU로부터 제공된 클록 신호에 동기 되지 않는다. 앞서 종래 기술에서 설명한 바와 같이, 메모리 컨트롤러의 데이터 출력 시점이 클록 신호 주기(CL+1~CL+3) 중 어느 하나로 결정되어 있더라도, 메모리 컨트롤 러(110)는 클록 신호에 동기 되지 않고, 내부에서 생성된 데이터 스트로브 신호(DQSin)에 동기되어 데이터를 출력한다.
구체적으로, 메모리 컨트롤러(110)의 데이터 출력 시점은 빠른 동작을 위해 유저에 의해 클록 신호 주기(CL+1)로 결정되었다. 이때, 유효 출력 딜레이(tSAC)가 도 2 및 도 3에 도시된 바와 같이 PVT 및 고주파수와 같은 요인에 의해 1클록 주기보다 길고, 메모리 컨트롤러가 클록 신호에 동기 되어 동작할 경우, 앞서 종래 기술에서 설명한 바와 같이, 메모리 컨트롤러는 데이터를 정상적으로 출력하지 못한다. 그러나 본 발명에 따른 메모리 컨트롤러(110)는 유효 출력 딜레이(tSAC)가 1클록 주기보다 길더라도, 정해진 클록 신호 주기(CL+1)에 상관없이 데이터 스트로브 신호(DQSin)에 동기되어 샘플링된 데이터(sampled DQin)를 출력한다. 따라서, 메모리 컨트롤러(110)는 정상적으로 유효한 데이터를 출력한다.
따라서, 읽기 동작시, 메모리 컨트롤러(110)는 읽기 데이터를 안정적으로 출력할 수 있다. 또한, 앞서 종래기술에서 설명한 바와 같이 메모리(120)가 DLL회로를 포함할 경우, 본 발명에 따른 메모리 컨트롤러(110)는 클록 신호에 동기 되어 동작하지 않고, 데이터 스트로브 신호(DQSin)에 동기 되어 동작하므로 읽기 데이터를 안정적으로 출력할 수 있다.
결과적으로, 본 발명에 따른 메모리 시스템(100)은 읽기 동작시, 유효 출력 딜레이가 변화하더라도 읽기 데이터를 안정적으로 출력할 수 있다.
이상에서와 같이 도면과 명세서에서 최적의 실시 예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용 된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
이상과 같은 본 발명에 의하면, 메모리 시스템은 읽기 동작시, 읽기 데이터의 안정성을 보장할 수 있다.

Claims (32)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. (n/2)+1 클록 사이클로 구성된 데이터 스트로브 신호를 생성하고, 상기 생성된 데이터 스트로브 신호를 출력하며, 상기 데이터 스트로브 신호에 동기되어 n 개의 데이터를 출력하는 메모리; 및
    상기 메모리로부터 상기 데이터 스트로브 신호 및 상기 데이터를 제공받는 메모리 컨트롤러를 포함하고,
    상기 메모리 컨트롤러는 상기 제공받은 데이터 스트로브 신호에 소정의 딜레이를 주고, 상기 소정의 딜레이를 갖는 데이터 스트로브 신호에 동기되어 상기 제공받은 데이터를 각각 샘플링하고, 외부로부터 제공되고 데이터 출력 시점을 나타내는 클록 신호 주기에 상관없이 상기 소정의 딜레이를 갖는 데이터 스트로브 신호에 동기되어 상기 샘플링된 데이터를 각각 외부로 출력하고,
    상기 메모리 컨트롤러는
    상기 데이터 및 상기 데이터 스트로브 신호를 입력받고, 상기 데이터 스트로브 신호에 상기 소정의 딜레이를 주는 입출력 패드;
    상기 입출력 패드로부터 제공받은 상기 데이터를 상기 입출력 패드로부터 제공받은 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 각 라이징 엣지에 동기되어 각각 샘플링하는 라이징 엣지 샘플링 레지스터;
    상기 입출력 패드로부터 제공받은 상기 데이터를 상기 입출력 패드로부터 제공받은 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 각 폴링 엣지에 동기되어 각각 샘플링하는 제 1 폴링 엣지 샘플링 레지스터;
    상기 라이징 엣지 샘플링 레지스터로부터 제공된 상기 샘플링된 데이터를 상기 입출력 패드로부터 제공받은 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 각 폴링 엣지에 동기되어 각각 샘플링하는 제 2 폴링 엣지 샘플링 레지스터; 및
    상기 제 1 및 상기 제 2 폴링 엣지 샘플링 레지스터로부터 제공된 샘플링된 데이터를 상기 입출력 패드로부터 제공받은 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 각 라이징 엣지에 동기되어 각각 외부로 출력하는 동기화 레지스터를 포함하는 메모리 시스템.
  7. 제 6 항에 있어서,
    상기 동기화 레지스터는 상기 제 1 및 상기 제 2 폴링 샘플링 레지스터로부터 제공된 샘플링된 데이터를 2n개 단위로 각각 출력하는 메모리 시스템.
  8. 제 7 항에 있어서,
    상기 제 1 폴링 샘플링 레지스터에서 샘플링된 각 데이터는 상기 2n개 단위로 출력되는 데이터의 상위 비트를 구성하는 메모리 시스템.
  9. 제 7 항에 있어서,
    상기 제 2 폴링 샘플링 레지스터에서 샘플링된 각 데이터는 상기 2n개 단위로 출력되는 데이터의 하위 비트를 구성하는 메모리 시스템.
  10. 제 6 항에 있어서,
    상기 입출력 패드는 딜레이 회로를 포함하고, 상기 딜레이 회로는 상기 데이터 스트로브 신호에 상기 소정의 딜레이를 주는 메모리 시스템.
  11. 제 10 항에 있어서,
    상기 딜레이 회로는 딜레이 잠금 루프로 구성되는 메모리 시스템.
  12. 제 6 항에 있어서,
    상기 동기화 레지스터는 선입 선출 회로로 구성되는 메모리 시스템.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. (n/2)+1 클록 사이클로 구성된 데이터 스트로브 신호를 생성하고, 상기 생성된 데이터 스트로브 신호를 출력하며, 상기 데이터 스트로브 신호에 동기되어 n 개의 데이터를 출력하는 메모리; 및
    상기 메모리로부터 상기 데이터 스트로브 신호 및 상기 데이터를 제공받는 메모리 컨트롤러를 포함하고,
    상기 메모리는 딜레이 잠금 루프를 포함하고, 상기 딜레이 잠금 루프는 상기 데이터 스트로브 신호의 생성시점을 외부로부터 제공된 클록 신호의 라이징 엣지에 맞추며,
    상기 메모리 컨트롤러는 상기 제공받은 데이터 스트로브 신호에 소정의 딜레이를 주고, 상기 소정의 딜레이를 갖는 데이터 스트로브 신호에 동기되어 상기 제공받은 데이터를 각각 샘플링하고, 상기 클록 신호의 주기에 상관없이 상기 소정의 딜레이를 갖는 데이터 스트로브 신호에 동기되어 상기 샘플링된 데이터를 각각 외부로 출력하고,
    상기 메모리 컨트롤러는
    상기 데이터 및 상기 데이터 스트로브 신호를 입력받고, 상기 데이터 스트로브 신호에 상기 소정의 딜레이를 주는 입출력 패드;
    상기 입출력 패드로부터 제공받은 상기 데이터를 상기 입출력 패드로부터 제공받은 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 각 라이징 엣지에 동기되어 각각 샘플링하는 라이징 엣지 샘플링 레지스터;
    상기 입출력 패드로부터 제공받은 상기 데이터를 상기 입출력 패드로부터 제공받은 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 각 폴링 엣지에 동기되어 각각 샘플링하는 제 1 폴링 엣지 샘플링 레지스터;
    상기 라이징 엣지 샘플링 레지스터로부터 제공된 상기 샘플링된 데이터를 상기 입출력 패드로부터 제공받은 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 각 폴링 엣지에 동기되어 각각 샘플링하는 제 2 폴링 엣지 샘플링 레지스터; 및
    상기 제 1 및 상기 제 2 폴링 엣지 샘플링 레지스터로부터 제공된 샘플링된 데이터를 상기 입출력 패드로부터 제공받은 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 각 라이징 엣지에 동기되어 각각 외부로 출력하는 동기화 레지스터를 포함하는 메모리 시스템.
  19. 제 18 항에 있어서,
    상기 동기화 레지스터는 상기 제 1 및 상기 제 2 폴링 샘플링 레지스터로부터 제공된 샘플링된 데이터를 2n개 단위로 각각 출력하는 메모리 시스템.
  20. 제 19 항에 있어서,
    상기 제 1 폴링 샘플링 레지스터에서 샘플링된 각 데이터는 상기 2n개 단위로 출력되는 데이터의 상위 비트를 구성하는 메모리 시스템.
  21. 제 19 항에 있어서,
    상기 제 2 폴링 샘플링 레지스터에서 샘플링된 각 데이터는 상기 2n개 단위로 출력되는 데이터의 하위 비트를 구성하는 메모리 시스템.
  22. 제 18 항에 있어서,
    상기 입출력 패드는 딜레이 회로를 포함하고, 상기 딜레이 회로는 상기 데이터 스트로브 신호에 소정의 딜레이를 주는 메모리 시스템.
  23. 제 22 항에 있어서,
    상기 딜레이 회로는 딜레이 잠금 루프로 구성되는 메모리 시스템.
  24. 제 18 항에 있어서,
    상기 동기화 레지스터는 선입 선출 회로로 구성되는 메모리 시스템.
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 외부로 출력될 데이터가 저장된 메모리를 포함하는 메모리 시스템의 데이터 읽기 방법에 있어서:
    (a) (n/2)+1 클록 사이클로 구성된 데이터 스트로브 신호를 생성하는 단계;
    (b) 상기 데이터 스트로브 신호 및 메모리에 저장된 n 개의 데이터를 제공받는 단계;
    (c) 상기 제공받은 데이터 스트로브 신호에 소정의 딜레이를 주는 단계;
    (d) 상기 소정의 딜레이를 갖는 데이터 스트로브 신호에 동기되어 상기 제공받은 데이터를 각각 샘플링하는 단계; 및
    (e) 외부로부터 제공되고 데이터 출력 시점을 나타내는 클록 신호 주기에 상관없이 상기 소정의 딜레이를 갖는 데이터 스트로브 신호에 동기되어 상기 샘플링된 데이터를 각각 외부로 출력하는 단계를 포함하고,
    상기 (d) 단계는
    상기 데이터를 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 각 라이징 엣지에 동기되어 각각 샘플링하는 단계;
    상기 데이터를 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 각 폴링 엣지에 동기되어 각각 샘플링하는 제 1 폴링 샘플링 단계;
    상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 라이징 엣지에 동기되어 샘플링된 데이터를 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 각 폴링 엣지에 동기되어 각각 샘플링하는 제 2 폴링 샘플링 단계; 및
    상기 제 1 및 상기 제 2 폴링 샘플링 단계에서 샘플링된 데이터를 상기 소정의 딜레이를 갖는 데이터 스트로브 신호의 각 라이징 엣지에 동기되어 각각 외부로 출력하는 단계를 포함하는 것을 특징으로 하는 데이터 읽기 방법.
  30. 제 29 항에 있어서,
    상기 샘플링된 데이터를 외부로 출력하는 단계는 상기 제 1 및 상기 제 2 폴 링 샘플링 단계로부터 제공된 상기 샘플링된 데이터를 2n개 단위로 각각 출력하는 것을 특징으로 하는 데이터 읽기 방법.
  31. 제 30 항에 있어서,
    상기 제 1 폴링 샘플링 단계에서 상기 샘플링된 각 데이터는 상기 2n개 단위로 출력되는 데이터의 상위 비트를 구성하는 것을 특징으로 하는 데이터 읽기 방법.
  32. 제 30 항에 있어서,
    상기 제 2 폴링 샘플링 단계에서 상기 샘플링된 각 데이터는 상기 2n개 단위로 출력되는 데이터의 하위 비트를 구성하는 것을 특징으로 하는 데이터 읽기 방법.
KR1020070023104A 2007-03-08 2007-03-08 읽기 데이터의 안정성을 보장할 수 있는 메모리 시스템 및그것의 데이터 읽기 방법 KR100895072B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070023104A KR100895072B1 (ko) 2007-03-08 2007-03-08 읽기 데이터의 안정성을 보장할 수 있는 메모리 시스템 및그것의 데이터 읽기 방법
US12/044,174 US7791964B2 (en) 2007-03-08 2008-03-07 Memory system and method ensuring read data stability

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070023104A KR100895072B1 (ko) 2007-03-08 2007-03-08 읽기 데이터의 안정성을 보장할 수 있는 메모리 시스템 및그것의 데이터 읽기 방법

Publications (2)

Publication Number Publication Date
KR20080082346A KR20080082346A (ko) 2008-09-11
KR100895072B1 true KR100895072B1 (ko) 2009-04-27

Family

ID=39741453

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070023104A KR100895072B1 (ko) 2007-03-08 2007-03-08 읽기 데이터의 안정성을 보장할 수 있는 메모리 시스템 및그것의 데이터 읽기 방법

Country Status (2)

Country Link
US (1) US7791964B2 (ko)
KR (1) KR100895072B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101188264B1 (ko) * 2010-12-01 2012-10-05 에스케이하이닉스 주식회사 반도체 시스템, 반도체 메모리 장치 및 이를 이용한 데이터 출력 방법
US8385144B2 (en) * 2011-02-25 2013-02-26 Lsi Corporation Utilizing two algorithms to determine a delay value for training DDR3 memory

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10126595A (ja) * 1996-10-17 1998-05-15 Mita Ind Co Ltd 画像データ処理装置
KR20060001497A (ko) * 2004-06-30 2006-01-06 삼성에스디아이 주식회사 데이터 처리 방법, 장치 및 그를 갖는 플라즈마 표시 장치
KR20060087988A (ko) * 2005-01-31 2006-08-03 후지쯔 가부시끼가이샤 데이터 전송 동기 회로, 컴퓨터 시스템 및 메모리 시스템

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5666321A (en) 1995-09-01 1997-09-09 Micron Technology, Inc. Synchronous DRAM memory with asynchronous column decode
US5956748A (en) 1997-01-30 1999-09-21 Xilinx, Inc. Asynchronous, dual-port, RAM-based FIFO with bi-directional address synchronization
EP1068619B1 (en) 1998-04-01 2005-02-16 Mosaid Technologies Incorporated Semiconductor memory asynchronous pipeline
US6466491B2 (en) * 2000-05-19 2002-10-15 Fujitsu Limited Memory system and memory controller with reliable data latch operation
US6646929B1 (en) * 2001-12-05 2003-11-11 Lsi Logic Corporation Methods and structure for read data synchronization with minimal latency
JP4785465B2 (ja) * 2005-08-24 2011-10-05 ルネサスエレクトロニクス株式会社 インタフェース回路及び半導体装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10126595A (ja) * 1996-10-17 1998-05-15 Mita Ind Co Ltd 画像データ処理装置
KR20060001497A (ko) * 2004-06-30 2006-01-06 삼성에스디아이 주식회사 데이터 처리 방법, 장치 및 그를 갖는 플라즈마 표시 장치
KR20060087988A (ko) * 2005-01-31 2006-08-03 후지쯔 가부시끼가이샤 데이터 전송 동기 회로, 컴퓨터 시스템 및 메모리 시스템

Also Published As

Publication number Publication date
KR20080082346A (ko) 2008-09-11
US20080219066A1 (en) 2008-09-11
US7791964B2 (en) 2010-09-07

Similar Documents

Publication Publication Date Title
KR102261670B1 (ko) 메모리 디바이스내 상이한 클럭 주파수들의 내부 클럭 신호들을 제공하기 위한 장치들 및 방법들
US7606089B2 (en) Data strobe signal generator for generating data strobe signal based on adjustable preamble value and semiconductor memory device with the same
US7975162B2 (en) Apparatus for aligning input data in semiconductor memory device
US6333893B1 (en) Method and apparatus for crossing clock domain boundaries
US8115529B2 (en) Device and control method of device
US7499370B2 (en) Synchronous semiconductor memory device
JP2006120311A (ja) ダブルデータレートダイナミックランダムアクセスメモリ用出力回路、及びダブルデータレートダイナミックランダムアクセスメモリ
US9570130B2 (en) Memory system and memory physical layer interface circuit
CN108038068B (zh) 一种基于ddr读数据同步方法及系统
TW201312565A (zh) 雙倍資料率虛擬靜態隨機存取記憶體及其控制器、存取與操作方法、寫入與讀取方法
US20070047374A1 (en) Memory controller and memory system
US20050094443A1 (en) Data output control circuit
US7272054B2 (en) Time domain bridging circuitry for use in determining output enable timing
JP2013041665A (ja) 異なる周波数を有する複数のクロックを用いる半導体メモリ素子
JP2008077813A (ja) マルチポートメモリ装置
US8773928B2 (en) Command latency systems and methods
US8593902B2 (en) Controller and access method for DDR PSRAM and operating method thereof
US7457913B2 (en) Finding a data pattern in a memory
JP2002150796A (ja) モノリシックな集積回路装置の常に可能化されたテストのための方法および集積回路装置
KR100895072B1 (ko) 읽기 데이터의 안정성을 보장할 수 있는 메모리 시스템 및그것의 데이터 읽기 방법
US7791963B2 (en) Semiconductor memory device and operation method thereof
US8072826B2 (en) Memory control circuit and memory control method
US7415569B2 (en) Memory including a write training block
US7454559B2 (en) Filtering bit position in a memory
JP4773738B2 (ja) メモリ制御装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment
FPAY Annual fee payment
LAPS Lapse due to unpaid annual fee