KR102624808B1 - 멀티 랭크로 구성된 메모리와 인터페이싱을 수행하는 인터페이스 회로 - Google Patents

멀티 랭크로 구성된 메모리와 인터페이싱을 수행하는 인터페이스 회로 Download PDF

Info

Publication number
KR102624808B1
KR102624808B1 KR1020160088684A KR20160088684A KR102624808B1 KR 102624808 B1 KR102624808 B1 KR 102624808B1 KR 1020160088684 A KR1020160088684 A KR 1020160088684A KR 20160088684 A KR20160088684 A KR 20160088684A KR 102624808 B1 KR102624808 B1 KR 102624808B1
Authority
KR
South Korea
Prior art keywords
signal
data
circuit
response
edge
Prior art date
Application number
KR1020160088684A
Other languages
English (en)
Other versions
KR20180007728A (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 KR1020160088684A priority Critical patent/KR102624808B1/ko
Priority to CN201710112702.2A priority patent/CN107622778B/zh
Priority to US15/584,356 priority patent/US9857973B1/en
Priority to US15/842,295 priority patent/US10073619B2/en
Publication of KR20180007728A publication Critical patent/KR20180007728A/ko
Application granted granted Critical
Publication of KR102624808B1 publication Critical patent/KR102624808B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4072Drivers or receivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • 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/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • 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/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1678Details of memory controller using bus width
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

본 발명은 멀티-랭크로 구성된 메모리와 인터페이싱을 수행하는 인터페이스 회로에 관한 것이다. 본 발명의 인터페이스 회로는 제 1 FIFO 회로 및 제 2 FIFO 회로를 포함할 수 있다. 제 1 FIFO 회로는 제 1 샘플링 신호 및 제 2 샘플링 신호에 기초하여 제 1 출력 데이터를 생성할 수 있다. 제 2 FIFO 회로는 제 3 샘플링 신호 및 제 4 샘플링 신호에 기초하여 제 2 출력 데이터를 생성할 수 있다. 제 1 FIFO 회로와 제 2 FIFO 회로는 서로 크로스-리셋시킬 수 있다. 본 발명에 따르면, 인터페이스 회로의 소모 전력을 감소시킬 수 있다.

Description

멀티 랭크로 구성된 메모리와 인터페이싱을 수행하는 인터페이스 회로{INTERFACE CIRCUIT WHICH INTERFACES MULTI-RANK MEMORY}
본 발명은 인터페이스 회로에 관한 것으로, 좀 더 상세하게는, 멀티-랭크로 구성된 메모리와 인터페이싱을 수행하도록 구성된 인터페이스 회로에 관한 것이다.
반도체 장치는 일반적으로 휘발성 메모리 장치(volatile memory device)와 불휘발성 메모리 장치(non-volatile memory device)로 구분될 수 있다. 휘발성 반도체 메모리 장치는 읽고 쓰는 속도가 빠르지만 전원 공급이 끊기면 저장된 내용이 사라져 버리는 단점이 있다. 반면에, 불휘발성 반도체 메모리 장치는 전원 공급이 중단되더라도 그 내용이 보존된다. 특히, DRAM (dynamic random access memory)과 같은 휘발성 메모리 장치는 빠른 읽기 속도 및 쓰기 속도를 갖는다. 따라서, DRAM 또는 DRAM 모듈은 SSD (Solid State Drive)와 같은 데이터 저장 장치 또는 컴퓨팅 시스템의 메인 메모리로 사용될 수 있다.
한편, 고용량의 메모리에 대한 요구가 증가함에 따라, 멀티-랭크로 구성된 메모리 장치의 사용이 증가하고 있다. 그러나, 멀티-랭크로 구성된 메모리에 있어서, 랭크마다 서로 다른 다이에 배치되기 때문에, 메모리로부터 읽혀진 데이터의 스큐를 조정하기 어려운 문제가 있다. 설사, 메모리로부터 읽혀진 스큐를 조정한다 하더라도, 읽기 데이터의 유효 윈도우의 크기가 감소하는 문제가 있다. 이는 읽기 페일(fail)과 같은 심각한 문제를 야기한다. 뿐만 아니라, 메모리의 고용량화로 인하여, 메모리와 인터페이싱을 수행하는 인터페이스 회로의 처리 용량도 증가한다. 이는 인터페이스 회로의 소모 전력을 증가시키는 요인이다.
따라서, 멀티-랭크로 구성된 메모리에 있어서, 메모리로부터 데이터를 효과적으로 읽어내고, 인터페이스 회로의 소비 전력을 감소시키는 것이 중요한 문제로 부각되고 있다.
본 발명의 기술적 사상은 멀티-랭크로 구성된 메모리와 인터페이싱을 수행하는 인터페이스 회로를 제공한다.
본 발명의 실시 예에 따른 인터페이스 회로는, 제 1 기준 신호의 제 1 에지에 응답하여 제 1 샘플링 신호로부터 제 1 병렬 데이터를 생성하고, 상기 제 1 기준 신호의 제 2 에지에 응답하여 제 2 샘플링 신호로부터 제 2 병렬 데이터를 생성하고, 상기 제 1 기준 신호로부터 분주된 제 1 분주 신호에 기초하여 생성된 제 1 선택 신호에 응답하여 상기 제 1 병렬 데이터들 및 상기 제 2 병렬 데이터들로부터 제 1 출력 데이터를 생성하는 제 1 FIFO 회로, 그리고 제 2 기준 신호의 제 1 에지에 응답하여 제 3 샘플링 신호로부터 제 3 병렬 데이터를 생성하고, 상기 제 2 기준 신호의 제 2 에지에 응답하여 제 4 샘플링 신호로부터 제 4 병렬 데이터를 생성하고, 상기 제 2 기준 신호로부터 분주된 제 2 분주 신호에 기초하여 생성된 제 2 선택 신호에 응답하여 상기 제 3 병렬 데이터들 및 상기 제 4 병렬 데이터들로부터 제 2 출력 데이터를 생성하는 제 2 FIFO 회로를 포함하되, 상기 제 1 FIFO 회로로부터 상기 제 1 출력 데이터가 출력되기에 앞서 상기 제 2 FIFO 회로는 상기 제 1 분주 신호에 의해 리셋되고, 상기 제 2 FIFO 회로로부터 상기 제 2 출력 데이터가 출력되기에 앞서 상기 제 1 FIFO 회로는 상기 제 2 분주 신호에 의해 리셋될 수 있다.
본 발명의 실시 예에 따른 인터페이스 회로는, 데이터 스트로브 신호의 제 1 에지 및 제 2 에지에 응답하여, 데이터 신호의 논리 상태를 샘플링하고 제 1 샘플링 결과 및 제 2 샘플링 결과를 각각 생성하는 샘플링 회로, 상기 데이터 스트로브 신호를 지연시키는 지연 회로, 그리고 상기 지연된 데이터 스트로브 신호의 제 1 에지에 응답하여 상기 제 1 샘플링 결과로부터 제 1 병렬 데이터들을 생성하고, 상기 지연된 데이터 스트로브 신호의 제 2 에지에 응답하여 상기 제 2 샘플링 결과로부터 제 2 병렬 데이터들을 생성하는 FIFO 회로를 포함하되, 상기 FIFO 회로는 상기 데이터 스트로브 신호에 기초하여 생성된 선택 신호에 응답하여 상기 제 1 병렬 데이터들 및 상기 제 2 병렬 데이터들로부터 출력 데이터를 생성하고, 상기 선택 신호의 주파수는 상기 데이터 스트로브 신호의 주파수보다 낮을 수 있다.
본 발명의 실시 예에 따른 인터페이스 회로는, 제 1 기준 신호를 이용하여 제 1 입력 데이터들을 선입-선출 방식으로 처리하고, 상기 제 1 기준 신호를 분주하여 제 1 분주 신호를 생성하는 제 1 FIFO 회로, 그리고 제 2 기준 신호를 이용하여 제 2 입력 데이터들을 선입-선출 방식으로 처리하고, 상기 제 2 기준 신호를 분주하여 제 2 분주 신호를 생성하는 제 2 FIFO 회로를 포함하되, 상기 제 1 FIFO 회로로부터 제 1 출력 데이터가 출력되기에 앞서, 상기 제 2 FIFO 회로는 상기 제 1 분주 신호에 의해 리셋 되고, 상기 제 2 FIFO 회로로부터 제 2 출력 데이터가 출력되기에 앞서, 상기 제 1 FIFO 회로는 상기 제 2 분주 신호에 의해 리셋 될 수 있다.
본 발명에 따르면, 인터페이스 회로는 멀티-스테이지의 FIFO 회로들로 구성될 수 있다. 멀티-스테이지의 FIFO 회로들 중 후단에 배치되는 FIFO 회로들이 낮은 동작 주파수에서 동작하도록 구성함으로써, 인터페이스 회로의 소모 전력을 감소시킬 수 있다.
도 1은 본 발명의 실시 예에 따른 메모리 장치를 보여주는 블록도이다.
도 2는 도 1에 도시된 인터페이스 회로를 좀 더 상세하게 보여주는 블록도이다.
도 3은 도 2에 도시된 샘플링 회로의 예시적인 구성을 보여주는 블록도이다.
도 4는 도 3에 도시된 샘플링 회로에서의 동작을 보여주는 타이밍도이다.
도 5는 도 2에 도시된 제 1 FIFO 회로의 예시적인 구성을 보여주는 블록도이다.
도 6은 도 5에 도시된 제 1 레지스터에서의 동작을 보여주는 타이밍도이다.
도 7은 도 5에 도시된 제 2 레지스터에서의 동작을 보여주는 타이밍도이다.
도 8은 도 5에 도시된 멀티플렉서들에서의 동작을 보여주는 타이밍도이다.
도 9는 도 1에 도시된 인터페이스 회로를 좀 더 상세하게 보여주는 블록도이다.
도 10은 본 발명의 실시 예에 따른 메모리 장치를 예시적으로 보여주는 블록도이다.
도 11은 도 10에 도시된 인터페이스 회로의 동작을 보여주는 타이밍도이다.
도 12는 본 발명의 실시 예에 따른 인터페이스 회로를 보여주는 블록도이다.
도 13은 도 12에 도시된 제 1 FIFO 회로 및 제 2 FIFO 회로의 예시적인 구성을 보여주는 블록도이다.
도 14는 도 12에 도시된 인터페이스 회로의 동작을 보여주는 타이밍도이다.
도 15는 본 발명의 실시 예에 따른 인터페이스 회로를 보여주는 블록도이다.
아래에서는, 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로, 본 발명의 실시 예들이 명확하고 상세하게 기재될 것이다.
도 1은 본 발명의 실시 예에 따른 메모리 장치(100)를 보여주는 블록도이다. 메모리 장치(100)는 메모리 컨트롤러(110) 및 메모리(120)를 포함할 수 있다.
메모리 컨트롤러(100)는 메모리(120)와의 인터페이싱을 수행하기 위한 인터페이스 회로(112)를 포함할 수 있다. 호스트(미도시)로부터의 읽기 명령(CMD)이 메모리 컨트롤러(110)로 수신되면, 읽기 명령(CMD)은 메모리(120)로 전달될 수 있다. 읽기 명령(CMD)에 응답하여 메모리(120)로부터 읽혀진 데이터 신호(DQ) 및 데이터 스트로브 신호(DQS)는 인터페이스 회로(112)로 전달될 수 있다. 예를 들어, 복수의 입출력 라인을 통하여 복수의 데이터 신호들(DQ[k:1])이 수신될 수 있다. 예를 들어, 인터페이스 회로(112)는 메모리(120)로부터 데이터를 읽어내기 위한 읽기 인터페이스 회로일 수 있다.
인터페이스 회로(112)는 데이터 스트로브 신호(DQS)의 주파수와 다르게 동작하는 물리 블록을 포함할 수 있다. 예를 들어, 이를 위해 인터페이스 회로(112)는 멀티-스테이지의 형태로 구현된 FIFO (first in first out) 회로들을 포함할 수 있다. 각각의 FIFO 회로는 서로 다른 동작 주파수를 가지고 동작할 수 있다. 예를 들어, 인터페이스 회로(112)의 전단에 배치되는 FIFO 회로는 상대적으로 높은 주파수로 동작할 수 있으며 용량이 작거나 깊이(depth)가 얕을 수 있다. 반면, 인터페이스 회로(112)의 후단에 배치되는 FIFO 회로는 상대적으로 낮은 주파수로 동작할 수 있으며, 용량이 크거나 깊이가 깊을 수 있다.
이러한 멀티-스테이지 형태로 구현된 인터페이스 회로(112)의 소비 전력은, 인터페이스 회로(112)의 후단에 배치된, 용량이 상대적으로 큰 FIFO 회로의 소비 전력에 영향을 크게 받을 수 있다. 그러나, 본 발명의 실시 예에 따라, 인터페이스 회로(112)를 멀티-스테이지로 구현하되, 인터페이스 회로(112)의 후단에 배치되는 FIFO 회로를 상대적으로 낮은 주파수로 동작하도록 구현함으로써, 인터페이스 회로(112)의 소비 전력을 감소시킬 수 있다.
메모리(120)는 휘발성 메모리일 수 있다. 예를 들어, 메모리(120)는 DRAM 셀들을 포함할 수 있으며 메모리 모듈로써 구현될 수 있다. 이 경우, 메모리 모듈은 DIMM(dual in-line memory module)일 수 있으며, 복수의 랭크들로 구성될 수 있다. 예를 들어, 메모리 모듈은 SIMM(Single in-line memory module), DIMM(Dual in-line memory module), SO-DIMM(Small-outline DIMM), UDIMM(Un-buffered DIMM), FBDIMM(Fully-buffered DIMM), RBDIMM(Rank-buffered DIMM), LRDIMM(Load-reduced DIMM), mini-DIMM 및 micro-DIMM 등으로 구현될 수 있다.
도 2는 도 1에 도시된 인터페이스 회로를 좀 더 상세하게 보여주는 블록도이다. 인터페이스 회로(200)는 샘플링 회로(210), 제 1 FIFO 회로(220) 및 제 2 FIFO 회로(230)를 포함할 수 있다. 그리고, 인터페이스 회로(200)는 데이터 스트로브 신호(DQS)를 지연시키기 위한 제 1 딜레이 체인(215), 및 지연된 데이터 스트로브 신호(DQSd)에 기초하여 생성된 신호(WR)를 지연시키기 위한 제 2 딜레이 체인(225)을 더 포함할 수 있다.
샘플링 회로(210)는 데이터 스트로브 신호(DQS)에 응답하여 메모리(도 1 참조, 120)로부터 읽혀진 데이터 신호(DQ)의 논리 상태(예를 들어, 0 또는 1)를 캡쳐하고, 캡쳐된 논리 상태를 유지(hold)할 수 있다. 이러한 일련의 동작을 래치(latch)라 칭하기로 한다. 예를 들어, 샘플링 회로(210)는 데이터 스트로브 신호(DQS)의 제 1 에지(edge)(예를 들어, 상승 에지)에서 래치된 제 1 읽기 데이터 (또는 제 1 샘플링 결과, DQL)를 생성할 수 있다. 예를 들어, 제 1 읽기 데이터(DQL)는 데이터 신호를 구성하는 데이터들 중 홀수 번째 데이터들을 포함할 수 있다. 유사하게, 샘플링 회로(210)는 데이터 스트로브 신호(DQS)의 제 2 에지(예를 들어, 하강 에지)에서 래치된 제 2 읽기 데이터 (또는 제 2 샘플링 결과, DQH)를 생성할 수 있다. 예를 들어, 제 2 읽기 데이터(DQH)는 데이터 신호를 구성하는 데이터들 중 짝수 번째 데이터들을 포함할 수 있다.
제 1 딜레이 체인(215)은 데이터 스트로브 신호(DQS)를 지연시켜, 지연된 데이터 스트로브 신호(DQSd)를 생성할 수 있다. 데이터 스트로브 신호(DQS)를 지연시키기 위해 다양한 구성이 사용될 수 있다. 그러나, 이러한 구성은 본 발명이 속하는 기술 분야에서 통상의 지식을 지닌 자에게 자명한 사항이므로, 상세한 설명은 생략하기로 한다.
제 1 FIFO 회로(220)는 지연된 데이터 스트로브 신호(DQSd)를 이용하여 제 1 읽기 데이터(DQL) 및 제 2 읽기 데이터(DQH)를 저장할 수 있다. 이때, 지연된 데이터 스트로브 신호(DQSd)와 데이터 스트로브 신호(DQS)의 주파수는 F로써 서로 동일할 수 있다. 예를 들어, 제 1 FIFO 회로(220)는 지연된 데이터 스트로브 신호(DQSd)의 제 1 에지(예를 들어, 상승 에지)에서 제 1 읽기 데이터(DQL)를 래치할 수 있다. 래치 결과, 제 1 읽기 데이터(DQL)로부터 생성된 병렬 데이터들이 제 1 FIFO 회로(220)에 저장될 수 있다. 유사하게, 제 1 FIFO 회로(220)는 지연된 데이터 스트로브 신호(DQSd)의 제 2 에지(예를 들어, 하강 에지)에서 제 2 읽기 데이터(DQH)를 래치할 수 있다. 래치 결과, 제 2 읽기 데이터(DQH)로부터 생성된 병렬 데이터들이 제 1 FIFO 회로(220)에 저장될 수 있다.
제 1 FIFO 회로(220)는 지연된 데이터 스트로브 신호(DQSd)를 분주하여 신호(WR)를 생성할 수 있다. 신호(WR)의 주파수는 데이터 스트로브 신호(DQS) 또는 지연된 데이터 스트로브 신호(DQSd)의 주파수보다 낮을 수 있다. 제 1 FIFO 회로(220)는 제 1 읽기 데이터(DQL) 및 제 2 읽기 데이터(DQH)를 이용하여 병렬화된 출력 데이터(DOUT)를 생성할 수 있다. 예를 들어, 출력 데이터(DOUT)는 2n-bit 단위로 출력되는 병렬 데이터일 수 있다. 여기서, n은 지연된 데이터 스트로브 신호(DQSd)의 주파수를 신호(WR)의 주파수로 나눈 값, 즉, 분주비일 수 있다. 제 1 FIFO 회로(220)에 의해 생성된 출력 데이터(DOUT)와 신호(WR)는 제 2 FIFO 회로(230)로 전달될 수 있다.
제 2 딜레이 체인(225)은 데이터 신호(WR)를 지연시킬 수 있다. 제 2 딜레이 체인(225)의 구성 및 기능은 제 1 딜레이 체인(215)과 유사하므로 중복되는 설명은 생략하기로 한다.
제 2 FIFO 회로(230)는 제 2 딜레이 체인(225)에 의해 지연된 신호(WR)를 이용하여 출력 데이터(DOUT)를 저장할 수 있다. 예를 들어, 제 2 FIFO 회로(230)는 지연된 신호(WR)의 제 1 에지(예를 들어, 상승 에지) 또는 제 2 에지(예를 들어, 하강 에지)에서 출력 데이터(DOUT)를 래치할 수 있다. 예를 들어, 제 2 FIFO 회로(230)는 제 1 FIFO 회로(220)보다 용량이 크거나 깊이가 깊을 수 있다.
예를 들어, 제 2 FIFO 회로(230)는 인터페이스 회로(200)의 후단에 배치되어 읽기 데이터(Read DATA)를 출력하기 때문에, 그 용량은 제 1 FIFO 회로(220)보다 클 수 있으며, 그 깊이도 제 1 FIFO 회로(220)보다 깊을 수 있다. 이는, 인터페이스 회로(200)의 소비 전력의 상당 부분은 제 2 FIFO 회로(230)에 의해 크게 영향을 받을 수 있다는 의미이다. 이와 같이, 인터페이스 회로(200)를 멀티-스테이지의 FIFO 회로들로 구현하되, 인터페이스 회로(200)의 후단에 배치되는 FIFO 회로가 낮은 동작 주파수에서 동작하도록 구현함으로써, 인터페이스 회로(200)의 전력 소모를 더욱 감소시킬 수 있다.
도 3은 도 2에 도시된 샘플링 회로(210)의 예시적인 구성을 보여주는 블록도이다. 샘플링 회로(210)는 제 1 플립-플롭(FF) 및 제 2 플립-플롭(FFN)을 포함할 수 있다. 그리고, 도 4는 도 3에 도시된 샘플링 회로(210)에서의 동작을 보여주는 타이밍도이다. 설명의 이해를 돕기 위해, 도 3 및 도 4를 함께 참조하여 샘플링 회로(210)의 동작을 설명하기로 한다.
제 1 플립-플롭(FF)은 데이터 스트로브 신호(DQS)의 제 1 에지(예를 들어, 상승 에지)에 응답하여, 제 1 플립-플롭(FF)의 입력 단자(D)로 입력되는 데이터 신호(DQ)의 논리 레벨을 캡쳐하고 유지할 수 있다. 이러한 래치 동작 결과, 제 1 읽기 데이터(DQL)가 생성될 수 있다. 예를 들어, 제 1 읽기 데이터(DQL)는 데이터 신호(DQ)를 구성하는 데이터들 중 홀수 번째 데이터들(D1, D3, D5, D7)을 포함할 수 있다. 예시적으로, 본 도면에서는 제 1 플립-플롭(FF)은 에지-트리거드 D 플립-플롭이 사용된 것으로 도시되었으나, 이에 한정되지 않는다.
제 2 플립-플롭(FFN)은 데이터 스트로브 신호(DQS)의 제 2 에지(예를 들어, 하강 에지)에 응답하여, 제 1 플립-플롭(FF)의 입력 단자(D)로 입력되는 데이터 신호(DQ)의 논리 레벨을 캡쳐하고 유지할 수 있다. 이러한 래치 동작 결과, 제 2 읽기 데이터(DQH)가 생성될 수 있다. 예를 들어, 제 2 읽기 데이터(DQH)는 데이터 신호(DQ)를 구성하는 데이터들 중 짝수 번째 데이터들(D2, D4, D6, D8)을 포함할 수 있다. 예시적으로, 본 도면에서는 제 2 플립-플롭(FFN)은 에지-트리거드 D 플립-플롭이 사용된 것으로 도시되었으나, 이에 한정되지 않는다.
제 1 읽기 데이터(DQL)와 제 2 읽기 데이터(DQH)는 래치된 순서에 따라 제 1 플립-플롭(FF)의 출력 단자(Q) 및 제 2 플립-플롭(FFN)의 출력 단자(Q)로부터 각각 출력될 것이다. 예를 들어, 제 1 읽기 데이터(DQL)와 제 2 읽기 데이터(DQH)는 제 2 FIFO 회로(220)에 의해 선입-선출 방식에 의해 처리됨으로써, 제 2 FIFO 회로(220)로 전달될 수 있다.
도 5는 도 2에 도시된 제 1 FIFO 회로(220)의 예시적인 구성을 보여주는 블록도이다. 도 6은 도 5에 도시된 제 1 레지스터(221)에서의 동작을 보여주는 타이밍도이다. 도 7은 도 5에 도시된 제 2 레지스터(222)에서의 동작을 보여주는 타이밍도이다. 5에 도시된 제 1 FIFO 회로(220)는 제 1 레지스터(221), 제 2 레지스터(222), 디바이더(223), 선택 신호 생성기(224), 제 1 멀티플렉서(MUX1) 및 제 2 멀티플렉서(MUX2)를 포함할 수 있다.
도 5 및 도 6을 참조하여, 제 1 레지스터(221)에서의 동작을 설명하기로 한다. 제 1 레지스터(221)는 지연된 데이터 스트로브 신호(DQSd)에 응답하여 제 1 읽기 데이터(DQL)를 래치할 수 있다. 예를 들어, 제 1 레지스터(221)는 지연된 데이터 스트로브 신호(DQSd)의 제 1 에지(예를 들어, 상승 에지)에서 제 1 읽기 데이터(DQL)를 래치하여 병렬 데이터들(L1 내지 L4)을 생성할 수 있다. 도면에 도시된 바와 같이, 지연된 데이터 스트로브 신호(DQSd)의 첫 번째 펄스의 상승 에지에서 제 1 읽기 데이터(DQL)의 첫 번째 데이터(D1)가 래치되어 병렬 데이터(L1)가 생성될 수 있다. 나머지 병렬 데이터들(L2 내지 L4)도 유사한 방법으로 생성될 수 있다.
제 1 레지스터(221)는 생성된 병렬 데이터들(L1 내지 L4)을 제 1 멀티플렉서(MUX1)로 전달할 수 있다. 이때, 병렬 데이터들(L1 내지 L4)은 그룹핑 되어 제 1 멀티플렉서(MUX1)로 전달될 수 있다. 예를 들어, 각각의 그룹은 디바이더(223)의 분주비(n)와 동일한 개수의 병렬 데이터들을 포함할 수 있다. 이때, 분주비(n)는 지연된 데이터 스트로브 신호(DQSd)의 주파수를 신호(WR)의 주파수로 나눈 값일 수 있다.
예를 들어, 디바이더(223)의 분주비가 2인 경우를 가정해 보자. 이 경우, 병렬 데이터들(L1 내지 L4)은 복수의 그룹들로 그룹핑 되며, 각각의 그룹은 2개의 병렬 데이터들을 포함할 수 있다. 그리고, 각각의 그룹은 순차적으로 제 1 멀티플렉서(MUX1)로 전달될 수 있다. 예를 들어, 병렬 데이터들(L1 내지 L4들) 중 제 1 레지스터(221)로부터 먼저 출력되는 데이터들(L1 및 L2)은 복수의 회선들(a)을 통하여 제 1 멀티플렉서(MUX1)로 전달될 수 있다. 그리고, 병렬 데이터들(L1 내지 L4들) 중 제 1 레지스터(221)로부터 나중에 출력되는 데이터들(L3 및 L4)은 복수의 회선들(b)을 통하여 제 1 멀티플렉서(MUX1)로 전달될 수 있다. 이후, 제 1 멀티플렉서(MUX1)에 의한 선택이 실행된다. 이는 도 8을 통하여 좀 더 상세하게 설명될 것이다.
계속하여, 도 5 및 도 7을 참조하여 제 2 레지스터(222)에서의 동작을 설명하기로 한다. 제 2 레지스터(222)는 지연된 데이터 스트로브 신호(DQSd)에 응답하여 제 2 읽기 데이터(DQH)를 래치할 수 있다. 예를 들어, 제 2 레지스터(222)는 지연된 데이터 스트로브 신호(DQSd)의 제 2 에지(예를 들어, 하강 에지)에서 제 2 읽기 데이터(DQH)를 래치하여 병렬 데이터들(H1 내지 H4)을 생성할 수 있다. 도면에 도시된 바와 같이, 지연된 데이터 스트로브 신호(DQSd)의 첫 번째 펄스의 하강 에지에서 제 2 읽기 데이터(DQH)의 첫 번째 데이터(D1)가 래치되어 병렬 데이터(H1)가 생성될 수 있다. 나머지 병렬 데이터들(H2 내지 H4)도 유사한 방법으로 생성될 수 있다.
제 2 레지스터(222)는 생성된 병렬 데이터들(H1 내지 H4)을 제 2 멀티플렉서(MUX2)로 전달할 수 있다. 이때, 병렬 데이터들(H1 내지 H4)은 그룹핑 되어 제 2 멀티플렉서(MUX2)로 전달될 수 있다. 예를 들어, 각각의 그룹은 디바이더(223)의 분주비(n)와 동일한 개수의 병렬 데이터들을 포함할 수 있다. 유사하게, 디바이더(223)의 분주비가 2인 경우, 각각의 그룹이 2개의 병렬 데이터들을 포함하도록, 병렬 데이터들(H1 내지 H4)은 두 개의 그룹으로 그룹핑 될 수 있다.
병렬 데이터들(H1 내지 H4들) 중 제 2 레지스터(222)로부터 먼저 출력되는 데이터들(H1 및 H2)은 복수의 회선들(c)을 통하여 제 2 멀티플렉서(MUX2)로 전달될 수 있다. 그리고, 병렬 데이터들(H1 내지 H4들) 중 제 2 레지스터(222)로부터 나중에 출력되는 데이터들(H3 및 H4)은 복수의 회선들(d)을 통하여 제 2 멀티플렉서(MUX2)로 전달될 수 있다. 이후, 제 2 멀티플렉서(MUX2)에 의한 선택이 실행된다. 이는 도 8을 통하여 좀 더 상세하게 설명될 것이다.
제 1 레지스터(221) 및 제 2 레지스터(222)에 의한 래치 동작들은 주파수가 F인 지연된 데이터 스트로브 신호(DQSd)를 이용하여 수행된다. 그리고, 제 1 레지스터(221) 및 제 2 레지스터(222)는 리셋 신호(RESET)에 의해 리셋될 수 있다. 리셋 신호(RESET)를 생성하기 위한 별도의 구성(미도시)이 더 구비될 수 있다. 그러나, 이러한 구성은 본 발명이 속하는 기술 분야에서 통상의 지식을 지닌 자에게 자명한 사항이므로 상세한 설명은 생략하기로 한다.
도 8은 도 5에 도시된 멀티플렉서들(MUX1, MUX2)에서의 동작을 보여주는 타이밍도이다. 도 5 및 도 8을 참조하여, 디바이더(223), 선택 신호 생성기(224), 제 1 멀티플렉서(MUX1) 및 제 2 멀티플렉서(MUX2)에서의 동작을 설명하기로 한다.
디바이더(223)는 지연된 데이터 스트로브 신호(DQSd)를 분주하여 신호(WR)를 생성할 수 있다. 예를 들어, 지연된 데이터 스트로브 신호(DQSd)의 주파수를 신호(WR)의 주파수로 나눈 값(즉, 분주비)은 n일 수 있다. 다만, 설명의 이해를 돕기 위해, 분주비(n)는 2인 것으로 가정하기로 한다. 디바이더(223)는 지연된 데이터 스트로브 신호(DQSd)의 위상을 반전시키고, 그 주파수가 지연된 데이터 스트로브 신호(DQSd)의 2배인 신호(WR)를 생성할 수 있다. 이러한 신호(WR)를 생성하기 위해 디바이더(223)는 다양한 논리 소자의 조합으로 구성될 수 있다. 그러나, 그 상세한 구성은 통상의 기술자에게 자명하므로 생략하기로 한다. 디바이더(223)는 리셋 신호(RESET)에 의해 리셋될 수 있다.
선택 신호 생성기(224)는 신호(WR)를 이용하여 선택 신호(SEL)를 생성할 수 있다. 예를 들어, 도면에 도시된 바와 같이, 선택 신호(SEL)는 신호(WR)의 서로 인접한 두 하강 에지들에서 각각 하강 에지와 상승 에지를 갖는 신호일 수 있다. 예시적으로, 디바이더(223)의 분주비는 2인 경우가 설명되었기 때문에, 선택 신호(SEL)의 하강 에지와 상승 에지 사이의 거리는 데이터 스트로브 신호(DQS)의 주기의 2배인 것으로 도시되었다. 이러한 선택 신호(SEL)를 생성하기 위하여 선택 신호 생성기(224)는 다양한 논리 소자의 조합으로 구성될 수 있다. 그러나, 선택 신호를 생성하기 위한 상세한 구성은 통상의 기술자에게 자명하므로 생략하기로 한다. 도면에 도시되지는 않았으나, 선택 신호 생성기(224)도 리셋 신호(RESET)에 의해 리셋될 수 있다.
예시적으로, 도 5에서 선택 신호 생성기(224)는 신호(WR)에 기초하여 선택 신호(SEL)를 생성하는 것으로 도시되었다. 그러나, 선택 신호(SEL)는 신호(WR)가 아닌 다른 신호(예를 들어, DQS, DQSd 등)에 기초하여 생성될 수 있다. 또는 선택 신호(SEL)를 생성하기 위한 별도의 독립된 선택 신호 생성기(미도시)가 구비될 수도 있다.
제 1 멀티플렉서(MUX1)는 선택 신호(SEL)의 제 1 에지(예를 들어, 하강 에지)에 응답하여 제 1 레지스터(221)로부터 수신된 두 그룹의 병렬 데이터들 중 어느 하나를 선택할 수 있다. 앞서 설명된 것과 같이, 첫 번째 그룹은 회선들(a)을 통하여 수신되는 병렬 데이터들(도 6 참조, L1 및 L2)일 것이며, 두 번째 그룹은 회선들(b)을 통하여 수신되는 병렬 데이터들(도 6 참조, L3 및 L4)일 것이다.
이와 동시에, 제 2 멀티플렉서(MUX2)는 선택 신호(SEL)의 제 1 에지(예를 들어, 하강 에지)에 응답하여 제 2 레지스터(222)로부터 수신된 두 그룹의 병렬 데이터들 중 어느 하나를 선택할 수 있다. 앞서 설명된 것과 같이, 첫 번째 그룹은 회선들(c)을 통하여 수신되는 병렬 데이터들(도 7 참조, H1 및 H2)일 것이며, 두 번째 그룹은 회선들(d)을 통하여 수신되는 병렬 데이터들(도 7 참조, H3 및 H4)일 것이다.
결과적으로, 제 1 멀티플렉서(MUX1) 및 제 2 멀티플렉서(MUX2)에 의한 선택 결과, 선택 신호(SEL)의 제 1 에지 내지 제 2 에지 사이의 구간(즉, t1~t2) 동안, 병렬 데이터들(D1, D2, D3, D4)이 출력 데이터(DOUT)로써 출력될 것이다.
이후, 제 1 멀티플렉서(MUX1)는 선택 신호(SEL)의 제 2 에지(예를 들어, 상승 에지)에 응답하여 제 1 레지스터(221)로부터 수신된 두 그룹의 병렬 데이터들 중 나머지 하나를 선택할 수 있다. 앞서 제 1 멀티플렉서(MUX1)에 의해 첫 번째 그룹이 선택되었기 때문에, 선택 신호(SEL)의 제 2 에지에서는 두 번째 그룹이 선택될 것이다. 두 번째 그룹은 회선들(b)을 통하여 수신되는 병렬 데이터들(도 6 참조, L3 및 L4)일 것이다.
이와 동시에, 제 2 멀티플렉서(MUX2)는 선택 신호(SEL)의 제 2 에지(예를 들어, 상승 에지)에 응답하여 제 2 레지스터(222)로부터 수신된 두 그룹의 병렬 데이터들 중 나머지 하나를 선택할 수 있다. 앞서 제 2 멀티플렉서(MUX2)에 의해 첫 번째 그룹이 선택되었기 때문에, 선택 신호(SEL)의 제 2 에지에서는 두 번째 그룹이 선택될 것이다. 두 번째 그룹은 회선들(d)을 통하여 수신되는 병렬 데이터들(도 6 참조, H3 및 H4)일 것이다.
결과적으로, 제 1 멀티플렉서(MUX1) 및 제 2 멀티플렉서(MUX2)에 의한 선택 결과, 선택 신호(SEL)의 제 2 에지 이후의 구간(즉, t2 이후의 구간) 동안, 병렬 데이터들(D5, D6, D7, D8)이 출력 데이터(DOUT)로써 출력될 것이다.
본 실시 예에서, 제 1 레지스터(221) 및 제 2 레지스터(222)로부터 출력된 병렬 데이터들을 선택하기 위해 제 1 멀티플렉서(MUX1) 및 제 2 멀티플렉서(MUX2)가 사용되었다. 그러나, 병렬 데이터들을 선택하기 위한 구성은 이에 한정되지 않으며, 다양한 논리 소자들로 구성된 스위칭 회로 등이 사용될 수도 있다.
상술된 구성에 의하면, 제 1 FIFO 회로(220)로부터의 출력 데이터(DOUT)는, 데이터 스트로브 신호(DQS)의 1/2배 주파수를 갖는 신호(WR)에 의해 제 2 FIFO 회로(230)에 저장된다. 물론 디바이더(223)의 분주비가 2인 것으로 설명되었으나, 디바이더의 분주비가 n인 경우, 제 1 FIFO 회로(220)로부터의 출력 데이터(DOUT)는 데이터 스트로브 신호(DQS)의 1/n배 주파수를 갖는 신호(WR)에 의해 제 2 FIFO 회로(230)에 저장될 것이다. 즉, 인터페이스 회로(도 1 참조, 112)의 상당 부분을 차지하는 제 2 FIFO 회로는 상대적으로 낮은 주파수에 의해 동작하기 때문에, 인터페이스 회로의 소비 전력을 감소시킬 수 있다.
도 9는 도 1에 도시된 인터페이스 회로를 좀 더 상세하게 보여주는 블록도이다. 인터페이스 회로(300)의 기본적인 구성 및 동작은 앞서 설명된 인터페이스 회로(200)와 실질적으로 동일하므로 중복되는 설명은 생략하기로 한다. 그리고, 설명의 이해를 돕기 위해, 도 1 및 도 9를 참조하여 설명하기로 한다.
인터페이스 회로(300)는 샘플링 회로들(310), 제 1 FIFO 회로들(320) 및 제 2 FIFO 회로들(330)을 포함할 수 있다. 그리고, 인터페이스 회로(200)는 데이터 스트로브 신호(DQS)를 지연시키기 위한 제 1 딜레이 체인(315), 및 지연된 데이터 스트로브 신호(DQSd)에 기초하여 생성된 신호(WR)를 지연시키기 위한 제 2 딜레이 체인(325)을 더 포함할 수 있다.
샘플링 회로들(310)은 복수의 데이터 신호들(DQ[k:1])을 수신할 수 있다. 예를 들어, k는 DDR (double data rate) 스펙의 규정에 따라 다양한 값을 가질 수 있다. 각각의 샘플링 회로는 각각의 데이터 신호(DQ)를 래치하여 제 1 읽기 데이터(DQL) 및 제 2 읽기 데이터(DQH)를 생성할 수 있다. 앞서 도 4를 통하여 설명한 바와 같이, 제 1 읽기 데이터(DQL)는 데이터 신호(DQ)를 구성하는 데이터들 중 홀수 번째 데이터(예를 들어, D1, D3, D5, D7)를 포함할 수 있으며, 제 2 읽기 데이터(DQH)는 데이터 신호(DQ)를 구성하는 데이터들 중 짝수 번째 데이터(예를 들어, D2, D4, D6, D8)를 포함할 수 있다. 각각의 읽기 데이터(DQL 또는 DQH)는 k 비트 단위로 제 1 FIFO 회로들로 전달될 수 있다.
제 1 FIFO 회로들(320)은 제 1 읽기 데이터들(DQL) 및 제 2 읽기 데이터들(DQH)을 수신하여 출력 데이터들(DOUT)을 생성할 수 있다. 제 1 FIFO 회로들(320) 각각은 앞서 도 2에서 설명된 제 1 FIFO 회로(220)와 실질적으로 동일한 구성 및 기능을 가질 수 있다. 제 1 FIFO 회로들(320)에서의 동작은 앞서 상세히 설명하였으므로, 중복되는 설명은 생략하기로 한다. 출력 데이터(DOUT)는 k×2n 비트 단위로 출력될 수 있다.
제 2 FIFO 회로들(330)은 딜레이 체인(325)에 의해 지연된 신호(WR)에 응답하여 출력 데이터(DOUT)를 래치할 수 있다. 지연된 데이터 스트로브 신호(DQSd)에 비하여 1/n 배의 주파수를 갖는 신호(WR)를 이용하여 출력 데이터(DOUT)가 제 2 FIFO 회로들(330)에 저장되기 때문에, 인터페이스 회로의 상당 부분을 차지하는 제 2 FIFO 회로들(330)에 의한 소비 전력은 감소한다.
이후, 제 2 FIFO 회로들(330)에 저장된 출력 데이터들(DOUT)은 읽기 데이터(Read DATA)로써 출력될 것이다. 물론, 제 2 FIFO 회로들(330)로부터 읽기 데이터를 읽어내기 위해 지연된 신호(WR)가 사용되지 않을 수 있으며, 별도의 클럭이 사용될 수 있다. 그러나, 이는 본 발명의 범위를 벗어나므로 상세한 설명은 생략하기로 한다.
이상 설명된 바와 같이, 본 발명의 실시 예에 의하면, 인터페이스 회로를 구성하는 FIFO 회로들을 멀티-스테이지로 구현된다. 그리고, 인터페이스 회로의 후단에 배치되는 FIFO 회로(예를 들어, 330)의 동작 주파수는 인터페이스 회로의 전단에 배치되는 FIFO 회로(예를 들어, 320)의 동작 주파수보다 작을 수 있다. 그리고, 인터페이스 회로의 후단에 배치되는 FIFO 회로(예를 들어, 330)의 용량 또는 깊이를 인터페이스 회로의 전단에 배치되는 FIFO 회로(예를 들어, 320)보다 크거나 깊을 수 있다. 결과적으로, 인터페이스 회로의 소비 전력을 감소시킬 수 있다.
도 10은 본 발명의 실시 예에 따른 메모리 장치(400)를 예시적으로 보여주는 블록도이다. 도 11은 도 10에 도시된 인터페이스 회로(420)의 동작을 보여주는 타이밍도이다. 도 10 및 도 11을 참조하여, 인터페이스 회로(420)의 동작을 설명하기로 한다.
메모리 장치(400)는 메모리(410) 및 인터페이스 회로(420)를 포함할 수 있다. 도면에 도시된 바와 같이, 메모리(410)와 인터페이스 회로(420)는 데이터 스트로브 라인(DQS line)과 데이터 라인(DQ line)을 통하여 연결될 수 있다. 예를 들어, 데이터 스트로브 라인(DQS line)을 통하여, 데이터 스트로브 신호(DQS1, DQS2)가 메모리(410)로부터 인터페이스 회로(420)로 전달될 것이다. 그리고, 데이터 라인(DQ line)을 통하여, 데이터 신호(DQ1, DQ2)가 메모리(410)로부터 인터페이스 회로(420)로 전달될 것이다. 비록 하나의 데이터 라인만이 도시되었으나, 데이터 라인의 개수는 DDR 스펙의 규정에 따라 정해질 수 있다.
메모리(410)는 멀티-랭크로 구성될 수 있다. 제 1 랭크(Rank1)로부터의 제 1 데이터 스트로브 신호(DQS1) 및 제 1 데이터 신호(DQ1)는 데이터 스트로브 라인(DQS line) 및 데이터 라인(DQ line)을 통하여 각각 수신될 수 있다. 제 2 랭크(Rank2)로부터의 제 2 데이터 스트로브 신호(DQS2) 및 제 2 데이터 신호(DQ2)는 데이터 스트로브 라인(DQS line) 및 데이터 라인(DQ line)을 통하여 각각 수신될 수 있다. 예시적으로, 메모리(410)는 두 개의 랭크들로 구성된 것으로 도시되었다. 그러나, 이는 설명의 편의를 위한 것이며, 랭크들의 개수는 이에 한정되지 않는다. 메모리(400)를 구성하는 각각의 랭크의 구성은 앞서 도 1에서 설명된 메모리(120)와 실질적으로 동일하므로, 중복되는 설명은 생략하기로 한다.
인터페이스 회로(420)는 제 1 DQS 클린 회로(430), 제 2 DQS 클린 회로(435), 제 1 DQS 딜레이 라인(440), 제 2 DQS 딜레이 라인(445), 제 1 DQ 딜레이 라인(450) 및 제 2 DQ 딜레이 라인(455)을 포함할 수 있다. 메모리(410)로부터 수신되는 데이터 신호 및 데이터 스트로브 신호가 어느 랭크로부터 수신되는 것인지를 식별하기 위한 신호가 각각의 랭크로부터 별도로 수신될 수 있다. 이러한 식별 신호에 따라 인터페이스 회로(420)는 제 1 DQS 클린 회로(430) 또는 제 2 DQS 클린 회로(435) 중 어느 하나를 구동시킬 수 있다. 제 1 DQS 딜레이 라인(440)과 제 2 DQS 딜레이 라인(445), 그리고 제 1 DQ 딜레이 라인(450)과 제 2 DQ 딜레이 라인(455)의 경우도 마찬가지이다.
제 1 DQS 클린 회로(430)는 제 1 랭크(Rank1)로부터 수신되는 제 1 데이터 스트로브 신호(DQS1)를 클린시킬 수 있다. 예를 들어, 제 1 데이터 스트로브 신호(DQS1)가 제 1 랭크(Rank1)로부터 수신될 때, 제 1 데이터 스트로브 신호(DQS1)의 프리앰블(preamble) 구간에 잡음 또는 왜곡이 발생할 수 있다. 제 1 DQS 클린 회로(430)는 잡음 또는 왜곡을 제거하여 깨끗한 제 1 데이터 스트로브 신호(DQS1)를 생성할 수 있다.
제 2 DQS 클린 회로(435)는 제 2 랭크(Rank2)로부터 수신되는 제 2 데이터 스트로브 신호(DQS2)를 클린시킬 수 있다. 제 2 DQS 클린 회로(435)의 구성 및 동작은 제 1 DQS 클린 회로(430)와 실질적으로 동일하므로 상세한 설명은 생략하기로 한다.
제 1 DQS 딜레이 라인(440)은 제 1 데이터 스트로브 신호(DQS1)가 제 1 데이터 신호(DQ1)의 유효 윈도우의 중앙에 배치되도록 제 1 데이터 스트로브 신호(DQS1)를 지연시킬 수 있다. 즉, 제 1 DQS 딜레이 라인(440)은 제 1 데이터 스트로브 신호(DQS1)의 스큐를 조정할 수 있다.
제 2 DQS 딜레이 라인(445)은 제 2 데이터 스트로브 신호(DQS2)가 제 2 데이터 신호(DQ2)의 유효 윈도우의 중앙에 배치되도록 제 2 데이터 스트로브 신호(DQS2)를 지연시킬 수 있다. 즉, 제 2 DQS 딜레이 라인(445)은 제 2 데이터 스트로브 신호(DQS2)의 스큐를 조정할 수 있다.
비록 도 11에는 제 2 데이터 스트로브 신호(DQS2)의 스큐만 조정되는 것으로 도시되었으나, 이는 예시적인 것이다. 즉, 복수의 랭크들로부터 데이터가 읽혀지는 경우, 최적의 유효 윈도우를 제공하기 위해 제 1 데이터 스트로브 신호(DQS1) 및 제 2 데이터 스트로브 신호(DQS2)의 스큐들 모두 조정될 수 있다.
제 1 DQ 딜레이 라인(450)과 제 2 DQ 딜레이 라인(455)은 제 1 데이터 신호(DQ1)와 제 2 데이터 신호(DQ2)의 스큐를 각각 조절할 수 있다. 제 1 데이터 신호(DQ1)와 제 2 데이터 신호(DQ2)는 서로 다른 랭크로부터 읽혀진 데이터이기 때문에, 읽기 경로에 차이가 있을 수 있기 때문이다.
스큐가 조정된 데이터 스트로브 신호들(DQS1, DQS2) 및 데이터 신호들(DQ1, DQ2)은 본 발명의 실시 예에 따라 구현된 샘플러들(미도시) 및 멀티-스테이지로 구성된 FIFO 회로들(미도시)을 거쳐 인터페이스 회로로부터 출력될 것이다. 이에 대해서는 도 12를 통하여 좀 더 상세하게 설명될 것이다.
도 12는 본 발명의 실시 예에 따른 인터페이스 회로(500)를 보여주는 블록도이다. 도 13은 도 12에 도시된 제 1 FIFO 회로(530) 및 제 2 FIFO 회로(540)의 예시적인 구성을 보여주는 블록도이다. 도 14는 도 12에 도시된 인터페이스 회로(500)의 동작을 보여주는 타이밍도이다. 예를 들어, 본 도면들을 통하여 설명될 인터페이스 회로(500)는 도 10을 통하여 설명된, 멀티-랭크로 구성된 메모리로부터 읽혀진 데이터 신호(DQ)들을 처리하는데 사용될 수 있다.
도 12를 참조하면, 인터페이스 회로(500)는 제 1 샘플링 회로(510), 제 2 샘플링 회로(520), 제 1 FIFO 회로(530), 제 2 FIFO 회로(540), 제 1 OR 게이트(550), 제 2 OR 게이트(560), 및 제 3 FIFO 회로(570)를 포함할 수 있다. 그리고, 인터페이스 회로(500)는 제 1 데이터 스트로브 신호(DQS1)를 지연시키기 위한 제 1 딜레이 체인(515), 제 2 데이터 스트로브 신호(DQS2)를 지연시키기 위한 제 2 딜레이 체인(525), 및 제 1 OR 게이트(550)로부터 출력된 신호(WR)를 지연시키기 위한 제 3 딜레이 체인(555)을 더 포함할 수 있다.
도 12 및 도 14를 참조하여, 제 1 샘플링 회로(510)의 동작을 설명하기로 한다. 제 1 샘플링 회로(510)는 제 1 DQS 딜레이 라인(도 10 참조, 440)과 제 1 DQ 딜레이 라인(도 10 참조, 450)으로부터 제 1 데이터 스트로브 신호(DQS1)와 제 1 데이터 신호(DQ1)를 각각 수신할 수 있다. 제 1 샘플링 회로(510)는 제 1 데이터 스트로브 신호(DQS1)에 응답하여 제 1 데이터 신호(DQ1)를 래치할 수 있다. 이러한 동작을 수행하기 위해, 제 1 샘플링 회로(510)는 도 3에 도시된 샘플링 회로(210)와 실질적으로 동일하거나 유사한 구성을 가질 수 있다.
제 1 샘플링 회로(510)는 제 1 데이터 스트로브 신호(DQS1)의 제 1 에지(예를 들어, 상승 에지)에서 제 1 데이터 신호(DQ1)를 래치하여 제 1 읽기 데이터(DQL1)를 생성할 수 있다. 제 1 읽기 데이터(DQL1)는 제 1 데이터 신호(DQ1)를 구성하는 데이터들 중 홀수 번째 데이터들로 구성될 수 있다. 제 1 샘플링 회로(510)는 제 1 데이터 스트로브 신호(DQS1)의 제 2 에지(예를 들어, 하강 에지)에서 제 1 데이터 신호(DQ1)를 래치하여 제 2 읽기 데이터(DQH1)를 생성할 수 있다. 제 2 읽기 데이터(DQH1)는 제 1 데이터 신호(DQ1)를 구성하는 데이터들 중 짝수 번째 데이터들로 구성될 수 있다.
제 2 샘플링 회로(520)는 제 2 DQS 딜레이 라인(도 10 참조, 445)과 제 2 DQ 딜레이 라인(도 10 참조, 455)으로부터 제 2 데이터 스트로브 신호(DQS2)와 제 2 데이터 신호(DQ2)를 각각 수신할 수 있다. 제 2 샘플링 회로(520)는 제 2 데이터 스트로브 신호(DQS2)에 응답하여 제 2 데이터 신호(DQ2)를 래치할 수 있다. 제 2 샘플링 회로(520)의 상세한 구성 및 동작은 도 3에 도시된 샘플링 회로(210) 또는 제 1 샘플링 회로(510)과 실질적으로 동일하거나 유사하므로, 상세한 설명은 생략하기로 한다.
제 1 딜레이 체인(515)은 제 1 데이터 스트로브 신호(DQS1)를 지연시켜 제 1 지연된 데이터 스트로브 신호(DQSd1)를 생성할 수 있다. 그리고, 제 2 딜레이 체인(525)은 제 2 데이터 스트로브 신호(DQS2)를 지연시켜 제 2 지연된 데이터 스트로브 신호(DQSd2)를 생성할 수 있다.
계속하여, 도 12, 도 13 및 도 14를 참조하여, 제 1 FIFO 회로(530) 및 제 2 FIFO 회로(540)의 상세한 동작을 설명하기로 한다.
제 1 FIFO 회로(530)는 제 1 레지스터(531), 제 2 레지스터(532), 제 1 디바이더(533), 제 1 멀티플렉서(MUX1), 및 제 2 멀티플렉서(MUX2)를 포함할 수 있다. 도시의 단순화를 위해 도시되지 않았지만, 제 1 FIFO 회로(530)는 앞서 도 5에 도시된 것과 같은 선택 신호 생성기(224)를 더 포함할 수 있다.
제 1 레지스터(531)는 제 1 지연된 데이터 스트로브 신호(DQS1)를 이용하여 제 1 읽기 데이터(DQL1) 및 제 2 읽기 데이터(DQH1)를 저장할 수 있다. 예를 들어, 제 1 레지스터(531)는 제 1 지연된 데이터 스트로브 신호(DQSd1)의 제 1 에지(예를 들어, 상승 에지)에서 제 1 읽기 데이터(DQL1)를 래치할 수 있다. 결과적으로, 도 6에 도시된 것과 유사한, 병렬 데이터들(D1, D3, D5, D7)이 제 1 레지스터(531)에 저장될 수 있다.
유사하게, 제 2 레지스터(532)는 제 1 지연된 데이터 스트로브 신호(DQSd1)의 제 2 에지(예를 들어, 하강 에지)에서 제 2 읽기 데이터(DQH1)를 래치할 수 있다. 결과적으로, 도 7에 도시된 것과 유사한, 병렬 데이터들(D2, D4, D6, D8)이 제 2 레지스터(532)에 저장될 수 있다.
제 1 레지스터(531)에 저장된 병렬 데이터들(D1, D3, D5, D7)은 각각 n개의 병렬 데이터들을 포함하는 그룹들로 그룹핑 될 수 있다. 여기서, n은 디바이더(533)의 분주비(즉, DQSd1의 주파수를 WR의 주파수로 나눈 값)이다. 예를 들어, n이 2인 경우, 병렬 데이터들(D1, D3)이 먼저 제 1 멀티플렉서(MUX1)로 전달될 수 있으며, 병렬 데이터들(D5, D7)이 나중에 제 1 멀티플렉서(MUX1)로 전달될 수 있다.
유사하게, 제 2 레지스터(532)에 저장된 병렬 데이터들(D2, D4, D6, D8)은 각각 n개의 병렬 데이터들을 포함하는 그룹들로 그룹핑 될 수 있다. 예를 들어, n이 2인 경우, 병렬 데이터들(D2, D4)이 먼저 제 2 멀티플렉서(MUX2)로 전달될 수 있으며, 병렬 데이터들(D6, D8)이 나중에 제 2 멀티플렉서(MUX2)로 전달될 수 있다.
제 1 멀티플렉서(MUX1) 및 제 2 멀티플렉서(MUX2)에 의한 선택에 앞서, 제 2 FIFO 회로(540)가 초기화(즉, 리셋)될 수 있다. 예를 들어, 제 2 FIFO 회로(540)는 제 1 디바이더(533)에 의한 분주 결과 생성된 신호(WR1)에 의해 초기화(즉, 리셋)될 수 있다. 초기화 결과, 제 2 FIFO 회로(540)로부터 출력된 결과는, 적어도 새로운 데이터가 제 2 FIFO 회로(540)로 입력되기 전까지는, 제 1 FIFO 회로(530)에 영향을 미치지 않을 수 있다. 제 2 FIFO 회로(540)가 초기화되기 전에, 데이터(DOUT2)로써 출력되는 데이터 'B'는 기존에 제 2 FIFO 회로(520)에 저장되어 있던 임의의 데이터를 나타낸다.
제 1 멀티플렉서(MUX1)는, 제 1 선택 신호(SEL1)에 응답하여, 수신된 두 그룹의 병렬 데이터들 중 어느 하나를 선택할 수 있다. 그리고, 제 2 멀티플렉서(MUX2)는, 제 1 선택 신호(SEL1)에 응답하여, 수신된 두 그룹의 병렬 데이터들 중 어느 하나를 선택할 수 있다. 도 14에 도시된 바와 같이, 제 1 선택 신호(SEL1)는 제 1 디바이더(533)에 의한 분주 결과 생성된 신호(WR1)에 기초하여 생성될 수 있다. 예시적으로, n이 2인 경우를 가정하여 제 1 선택 신호(SEL1)의 파형이 도시되었으나, 제 1 선택 신호(SEL1)의 상승 에지와 하강 에지 사이의 시간은 n 값에 따라 가변할 수 있다.
제 1 멀티플렉서(MUX1)는 제 1 선택 신호(SEL1)의 하강 에지에 응답하여 병렬 데이터들(D1, D3)을 선택할 수 있다. 그리고, 제 2 멀티플렉서(MUX2)는 제 1 선택 신호(SEL1)의 하강 에지에 응답하여 병렬 데이터들(D2, D4)을 선택할 수 있다. 제 1 멀티플렉서(MUX1) 및 제 2 멀티플렉서(MUX2)에 의해 선택된 병렬 데이터들(D1, D2, D3, D4)은 제 1 출력 데이터(DOUT1)로써 출력될 수 있다. 즉, 출력 데이터(DOUT1)는 2n 비트 단위로 출력된다. 제 1 출력 데이터(DOUT1)가 출력되기 전에 출력되는 데이터 'A'는 기존에 제 1 FIFO 회로(530)에 저장되어 있던 임의의 데이터를 나타낸다.
이후, 제 1 멀티플렉서(MUX1)는 제 1 선택 신호(SEL1)의 상승 에지에 응답하여 병렬 데이터들(D5, D7)을 선택할 수 있다. 그리고, 제 2 멀티플렉서(MUX2)는 제 1 선택 신호(SEL1)의 상승 에지에 응답하여 병렬 데이터들(D6, D8)을 선택할 수 있다. 제 1 멀티플렉서(MUX1) 및 제 2 멀티플렉서(MUX2)에 의해 선택된 병렬 데이터들(D5, D6, D7, D8)은 제 1 출력 데이터(DOUT1)로써 출력될 수 있다. 즉, 출력 데이터(DOUT1)는 2n 비트 단위로 출력된다.
제 1 출력 데이터(DOUT1)가 출력된 후, 제 1 FIFO 회로(530)가 초기화될 수 있다. 예를 들어, 제 1 FIFO 회로(530)는 제 2 디바이더(543)에 의한 분주 결과 생성된 신호(WR2)에 의해 초기화(즉, 리셋)될 수 있다. 초기화 결과, 제 1 FIFO 회로(530)로부터 출력된 결과는, 적어도 새로운 데이터가 제 1 FIFO 회로(530)로 입력되기 전까지는, 제 2 FIFO 회로(540)에 영향을 미치지 않을 수 있다.
제 2 FIFO 회로(540)는 제 3 레지스터(541), 제 4 레지스터(542), 제 2 디바이더(543), 제 3 멀티플렉서(MUX3), 및 제 4 멀티플렉서(MUX4)를 포함할 수 있다. 도시의 단순화를 위해 도시되지 않았지만, 제 2 FIFO 회로(540)는 앞서 도 5에 도시된 것과 같은 선택 신호 생성기(224)를 더 포함할 수 있다.
제 3 레지스터(541), 제 4 레지스터(542), 제 2 디바이더(543), 제 3 멀티플렉서(MUX3), 및 제 4 멀티플렉서(MUX4)에서의 동작도 앞서 설명된 제 1 레지스터(531), 제 2 레지스터(532), 제 1 디바이더(533), 제 1 멀티플렉서(MUX1), 및 제 2 멀티플렉서(MUX2)와 실질적으로 동일하다. 다만, 병렬 데이터들(D9, D10, D11, D12)이 제 2 선택 신호(SEL2)의 하강 에지에서 제 2 출력 데이터(DOUT2)로써 출력되며, 병렬 데이터들(D13, D14, D15, D16)이 제 2 선택 신호(SEL2)의 상승 에지에서 제 2 출력 데이터(DOUT2)로써 출력된다.
제 1 OR 게이트(550)는 신호들(WR1, WR2)에 대해 OR 연산을 수행하여 신호(WR)를 출력할 수 있다. 신호(WR)는 데이터 스트로브 신호(DQS1 또는 DQS2)의 주파수의 1/n 배의 주파수를 가질 수 있다. 신호(WR)는 제 3 딜레이 체인(555)에 의해 지연된 후, 제 3 FIFO 회로(570)로 전달될 수 있다.
제 2 OR 게이트(560)는 제 1 출력 데이터(DOUT1) 및 제 2 출력 데이터(DOUT2)에 대해 OR 연산을 수행할 수 있다. 제 2 OR 게이트(560)에 의한 연산 결과, 출력 데이터(DOUT)가 제 3 FIFO 회로(570)에 전달될 수 있다.
출력 데이터(DOUT)는 신호(WR)에 동기화되어 제 3 FIFO 회로(570)에 저장될 것이다. 즉, 출력 데이터(DOUT)를 제 3 FIFO 회로(570)에 저장하기 위한 동작 주파수는 F/n이다. 물론, 제 3 FIFO 회로(570)로부터 읽기 데이터(Read DATA)를 출력하는 것은 별개의 문제이며, 읽기 데이터(Read DATA)를 출력하기 위해 인터페이스 회로(500)의 사양, 호스트(미도시)의 사양 및 상태 등 다양한 요소를 고려하여 다양한 클럭이 사용될 수 있다.
이상 설명된 제 1 FIFO 회로(530) 및 제 2 FIFO 회로(540)에서의 동작을 종합해 보면, 제 1 FIFO 회로(530)는 메모리(도 10 참조, 410)의 제 1 랭크로부터 읽혀진 데이터를 처리하고 제 1 출력 데이터(DOUT1)로써 출력한다. 그리고, 제 2 FIFO 회로(540)는 메모리(도 10 참조, 410)의 제 2 랭크로부터 읽혀진 데이터를 처리하고 제 2 출력 데이터(DOUT2)로써 출력한다. 다만, 제 1 출력 데이터(DOUT1)가 출력되기에 앞서, 제 1 디바이더(533)의 출력 신호(WR1)는 제 2 FIFO 회로(540)를 리셋 시킬 수 있다. 그리고, 제 2 출력 데이터(DOUT2)가 출력되기에 앞서, 제 2 디바이더(543)의 출력 신호(WR2)는 제 1 FIFO 회로(530)를 리셋 시킬 수 있다.
이러한 크로스-리셋 동작에 의하면, 제 1 FIFO 회로(530)와 제 2 FIFO 회로(540) 각각의 출력은 서로 영향을 미치지 않는다. 즉, 서로 다른 랭크로부터 읽혀진 데이터들은 완전하게 인터페이스 회로로부터 출력될 수 있다. 그리고, FIFO 회로를 멀티-스테이지로 구성하되, 후단의 FIFO 회로가 낮은 동작 주파수에서 동작하게끔 회로를 구성함으로써, 인터페이스 회로의 소비 전력을 감소시킬 수 있다. 뿐만 아니라, 서로 다른 랭크들로부터 읽혀진 읽기 데이터들을 처리함에 있어, FIFO 회로(예를 들어, 제 3 FIFO 회로(570))를 공유하므로, 칩 사이즈를 감소시킬 수 있다.
도 15는 본 발명의 실시 예에 따른 인터페이스 회로(600)를 보여주는 블록도이다. 도 15를 참조하면, 인터페이스 회로(600)는 복수의 샘플링 회로들(SC1 내지 SCk), 복수의 FIFO 회로들(FIFO1 내지 FIFO k)로 구성된 제 1 스테이지, 및 복수의 FIFO 회로들(FIFO1 내지 FIFO m)로 구성된 제 2 스테이지를 포함할 수 있다. 그리고, 인터페이스 회로(600)는 제 1 스테이지에 포함된 FIFO 회로들 중 서로 인접한 두 FIFO 회로들 간에 실행되는 크로스-리셋의 결과를 제 2 스테이지로 전달하기 위해 필요한 OR 게이트들을 포함할 수 있다.
도 15에 도시된 샘플링 회로, FIFO 회로의 기본적인 동작, 제 1 스테이지에 포함된 서로 인접한 두 FIFO 회로들 간에 실행되는 크로스-리셋 동작, 및 OR 게이트에 의한 연산 등은 앞서 도 1 내지 도 14를 통하여 설명된 것들과 실질적으로 동일하다. 따라서, 상세한 설명은 생략하기로 한다. 그리고, 도시의 단순화를 위해, 일부 구성 요소들(예를 들어, 일부 딜레이 체인)은 생략되었다. 그리고, 도면에는 FIFO 회로들이 2개의 스테이지들로 구현되는 것으로 도시되었으나, 실시 예에 따라서, FIFO 회로들은 3개 이상의 스테이지들로 구현될 수도 있다.
본 실시 예에 의하면, 인터페이스 회로(600)는 멀티-스테이지로 구현된 FIFO 회로들을 포함할 수 있다. 그리고, 인터페이스 회로(600)의 전단에 배치되는 FIFO 회로들(즉, 제 1 스테이지)의 동작 주파수는 메모리로부터 수신된 데이터 스트로브 신호들(DQS1 내지 DQS k)의 주파수와 동일할 수 있다. 반면, 인터페이스 회로(600)의 후단에 배치되는 FIFO 회로들(즉, 제 2 스테이지)의 동작 주파수는 제 1 스테이지의 FIFO 회로들의 동작 주파수보다 낮을 수 있다. 그리고, 제 2 스테이지의 FIFO 회로들 각각의 용량은 제 1 스테이지의 FIFO 회로들 각각의 용량보다 클 수 있다. 이같은 구성에 의하여, 인터페이스 회로(600)의 소비 전력의 상당 부분을 차지하는 제 2 스테이지의 소비 전력을 감소시킴으로써, 인터페이스 회로의 소비 전력을 감소시킬 수 있다.
위에서 설명한 내용은 본 발명을 실시하기 위한 구체적인 예들이다. 본 발명에는 위에서 설명한 실시 예들뿐만 아니라, 단순하게 설계 변경하거나 용이하게 변경할 수 있는 실시 예들도 포함될 것이다. 또한, 본 발명에는 위에서 설명한 실시 예들을 이용하여 앞으로 용이하게 변형하여 실시할 수 있는 기술들도 포함될 것이다.
100: 메모리 장치 110: 메모리 컨트롤러
112: 인터페이스 회로 120: 메모리
200: 메모리 장치 210: 샘플링 회로
215: 제 1 딜레이 체인 220: 제 1 FIFO 회로
221: 제 1 레지스터 222: 제 2 레지스터
223: 디바이더 224: 선택 신호 생성기
225: 제 2 딜레이 체인 230: 제 2 FIFO 회로
300: 메모리 장치 310: 샘플링 회로
315: 제 1 딜레이 체인 320: 제 1 FIFO 회로
325: 제 2 딜레이 체인 330: 제 2 FIFO 회로
400: 메모리 장치 410: 메모리
420: 인터페이스 회로 430: 제 1 DQS 클린 회로
435: 제 2 DQS 클린 회로 440: 제 1 DQS 딜레이 라인
445: 제 2 DQS 딜레이 라인 450: 제 1 DQ 딜레이 라인
455: 제 2 DQ 딜레이 라인

Claims (20)

  1. 제 1 기준 신호의 제 1 에지에 응답하여 제 1 샘플링 신호로부터 제 1 병렬 데이터를 생성하고, 상기 제 1 기준 신호의 제 2 에지에 응답하여 제 2 샘플링 신호로부터 제 2 병렬 데이터를 생성하고, 상기 제 1 기준 신호로부터 분주된 제 1 분주 신호에 기초하여 생성된 제 1 선택 신호에 응답하여 상기 제 1 병렬 데이터들 및 상기 제 2 병렬 데이터들로부터 제 1 출력 데이터를 생성하는 제 1 FIFO 회로; 그리고
    제 2 기준 신호의 제 1 에지에 응답하여 제 3 샘플링 신호로부터 제 3 병렬 데이터를 생성하고, 상기 제 2 기준 신호의 제 2 에지에 응답하여 제 4 샘플링 신호로부터 제 4 병렬 데이터를 생성하고, 상기 제 2 기준 신호로부터 분주된 제 2 분주 신호에 기초하여 생성된 제 2 선택 신호에 응답하여 상기 제 3 병렬 데이터들 및 상기 제 4 병렬 데이터들로부터 제 2 출력 데이터를 생성하는 제 2 FIFO 회로를 포함하되,
    상기 제 1 FIFO 회로로부터 상기 제 1 출력 데이터가 출력되기에 앞서 상기 제 2 FIFO 회로는 상기 제 1 분주 신호에 의해 리셋되고, 상기 제 2 FIFO 회로로부터 상기 제 2 출력 데이터가 출력되기에 앞서 상기 제 1 FIFO 회로는 상기 제 2 분주 신호에 의해 리셋되는 인터페이스 회로.
  2. 제 1 항에 있어서,
    상기 제 1 FIFO 회로는 상기 제 1 선택 신호의 상기 제 1 에지에 응답하여 상기 제 1 병렬 데이터들 중 적어도 하나를 선택하고, 상기 제 1 선택 신호의 상기 제 1 에지에 응답하여 상기 제 2 병렬 데이터들 중 적어도 하나를 선택하고,
    상기 제 1 FIFO 회로에 의한 선택 결과는 상기 제 1 출력 데이터로써 출력되는 인터페이스 회로.
  3. 제 2 항에 있어서,
    상기 제 1 FIFO 회로는 상기 제 1 선택 신호의 제 2 에지에 응답하여 상기 제 1 병렬 데이터들 중 상기 적어도 하나를 제외한 나머지를 선택하고, 상기 제 1 선택 신호의 상기 제 2 에지에 응답하여 상기 제 2 병렬 데이터들 중 상기 적어도 하나를 제외한 나머지를 선택하고,
    상기 제 1 FIFO 회로에 의한 선택 결과는 상기 제 1 출력 데이터로써 출력되는 인터페이스 회로.
  4. 제 1 항에 있어서,
    상기 제 1 FIFO 회로는:
    상기 제 1 병렬 데이터들을 생성하는 제 1 레지스터;
    상기 제 2 병렬 데이터들을 생성하는 제 2 레지스터;
    상기 제 1 선택 신호의 제 1 에지에 응답하여 상기 제 1 병렬 데이터들 중 적어도 하나를 선택하고, 상기 제 1 선택 신호의 제 2 에지에 응답하여 상기 제 1 병렬 데이터들 중 상기 적어도 하나를 제외한 나머지를 선택하는 제 1 멀티플렉서; 그리고
    상기 제 1 선택 신호의 상기 제 1 에지에 응답하여 상기 제 2 병렬 데이터들 중 적어도 하나를 선택하고, 상기 제 1 선택 신호의 상기 제 2 에지에 응답하여 상기 제 2 병렬 데이터들 중 상기 적어도 하나를 제외한 나머지를 선택하는 제 2 멀티플렉서를 포함하는 인터페이스 회로.
  5. 제 1 항에 있어서,
    상기 제 2 FIFO 회로는 상기 제 2 선택 신호의 제 1 에지에 응답하여 상기 제 3 병렬 데이터들 중 적어도 하나를 선택하고, 상기 제 2 선택 신호의 상기 제 1 에지에 응답하여 상기 제 4 병렬 데이터들 중 적어도 하나를 선택하고,
    상기 제 2 FIFO 회로에 의한 선택 결과는 상기 제 2 출력 데이터로써 출력되는 인터페이스 회로.
  6. 제 5 항에 있어서,
    상기 제 2 FIFO 회로는 상기 제 2 선택 신호의 제 2 에지에 응답하여 상기 제 3 병렬 데이터들 중 상기 적어도 하나를 제외한 나머지를 선택하고, 상기 제 2 선택 신호의 상기 제 2 에지에 응답하여 상기 제 4 병렬 데이터들 중 상기 적어도 하나를 제외한 나머지를 선택하고,
    상기 제 2 FIFO 회로에 의한 선택 결과는 상기 제 2 출력 데이터로써 출력되는 인터페이스 회로.
  7. 제 1 항에 있어서,
    상기 제 2 FIFO 회로는:
    상기 제 3 병렬 데이터들을 생성하는 제 3 레지스터;
    상기 제 4 병렬 데이터들을 생성하는 제 4 레지스터;
    상기 제 2 선택 신호의 제 1 에지에 응답하여 상기 제 3 병렬 데이터들 중 적어도 하나를 선택하고, 상기 제 2 선택 신호의 제 2 에지에 응답하여 상기 제 3 병렬 데이터들 중 상기 적어도 하나를 제외한 나머지를 선택하는 제 3 멀티플렉서; 그리고
    상기 제 2 선택 신호의 상기 제 1 에지에 응답하여 상기 제 4 병렬 데이터들 중 적어도 하나를 선택하고, 상기 제 2 선택 신호의 상기 제 2 에지에 응답하여 상기 제 4 병렬 데이터들 중 상기 적어도 하나를 제외한 나머지를 선택하는 제 4 멀티플렉서를 포함하는 인터페이스 회로.
  8. 제 1 항에 있어서,
    상기 제 1 출력 데이터 및 상기 제 2 출력 데이터에 대해 제 1 OR 연산을 실행하고, 상기 제 1 분주 신호 및 상기 제 2 분주 신호에 대해 제 2 OR 연산을 실행하는 OR 게이팅 회로; 그리고
    상기 제 2 OR 연산 결과를 이용하여 상기 제 1 OR 연산 결과를 저장하는 제 3 FIFO 회로를 더 포함하는 인터페이스 회로.
  9. 제 1 항에 있어서,
    제 1 데이터 스트로브 신호의 제 1 에지 및 제 2 에지에 응답하여, 제 1 데이터 신호의 논리 상태를 샘플링하고 상기 제 1 샘플링 신호 및 상기 제 2 샘플링 신호를 각각 생성하는 제 1 샘플링 회로; 그리고
    제 2 데이터 스트로브 신호의 제 1 에지 및 제 2 에지에 응답하여, 제 2 데이터 신호의 논리 상태를 샘플링하고 상기 제 3 샘플링 신호 및 상기 제 4 샘플링 신호를 각각 생성하는 제 2 샘플링 회로를 더 포함하는 인터페이스 회로.
  10. 제 9 항에 있어서,
    상기 제 1 데이터 스트로브 신호를 지연시켜 상기 제 1 기준 신호를 생성하는 제 1 딜레이 체인; 그리고
    상기 제 2 데이터 스트로브 신호를 지연시켜 상기 제 2 기준 신호를 생성하는 제 2 딜레이 체인을 더 포함하는 인터페이스 회로.
  11. 제 1 항에 있어서,
    상기 선택 신호의 주파수는 상기 제 1 기준 신호 및 상기 제 2 기준 신호의 주파수보다 낮은 인터페이스 회로.
  12. 데이터 스트로브 신호의 제 1 에지 및 제 2 에지에 응답하여, 데이터 신호의 논리 상태를 샘플링하고 제 1 샘플링 결과 및 제 2 샘플링 결과를 각각 생성하는 샘플링 회로;
    상기 데이터 스트로브 신호를 지연시키는 지연 회로; 그리고
    상기 지연된 데이터 스트로브 신호의 제 1 에지에 응답하여 상기 제 1 샘플링 결과로부터 제 1 병렬 데이터들을 생성하고, 상기 지연된 데이터 스트로브 신호의 제 2 에지에 응답하여 상기 제 2 샘플링 결과로부터 제 2 병렬 데이터들을 생성하는 FIFO 회로를 포함하되,
    상기 FIFO 회로는 상기 데이터 스트로브 신호에 기초하여 생성된 선택 신호에 응답하여 상기 제 1 병렬 데이터들 및 상기 제 2 병렬 데이터들로부터 출력 데이터를 생성하고, 상기 선택 신호의 주파수는 상기 데이터 스트로브 신호의 주파수보다 낮은 인터페이스 회로.
  13. 제 12 항에 있어서,
    상기 선택 신호는, 상기 데이터 스트로브 신호의 주파수보다 낮은 주파수를 갖도록 분주된 신호의 서로 인접한 두 개의 제 1 에지들 또는 서로 인접한 두 개의 제 2 에지들에서 각각 제 1 에지와 제 2 에지를 갖는 인터페이스 회로.
  14. 제 12 항에 있어서,
    상기 샘플링 회로는:
    상기 데이터 스트로브 신호의 상기 제 1 에지에 응답하여 상기 데이터 신호의 상기 논리 상태를 샘플링하고 상기 제 1 샘플링 결과를 생성하는 제 1 플립-플롭; 그리고
    상기 데이터 스트로브 신호의 상기 제 2 에지에 응답하여 상기 데이터 신호의 상기 논리 상태를 샘플링하고 상기 제 2 샘플링 결과를 생성하는 제 2 플립-플롭을 포함하는 인터페이스 회로.
  15. 제 12 항에 있어서,
    상기 FIFO 회로는:
    상기 지연된 데이터 스트로브 신호에 응답하여 상기 제 1 샘플링 결과로부터 상기 제 1 병렬 데이터들을 생성하는 제 1 레지스터;
    상기 제 1 병렬 데이터들 중 적어도 하나를 선택하는 제 1 멀티플렉서;
    상기 지연된 데이터 스트로브 신호에 응답하여 상기 제 2 샘플링 결과로부터 상기 제 2 병렬 데이터들을 생성하는 제 2 레지스터; 그리고
    상기 제 2 병렬 데이터들 중 적어도 하나를 선택하는 제 2 멀티플렉서를 포함하는 인터페이스 회로.
  16. 제 15 항에 있어서,
    상기 FIFO 회로는:
    상기 지연된 데이터 스트로브 신호를 분주하는 분주기; 그리고
    상기 분주기의 출력 신호에 기초하여 상기 선택 신호를 생성하는 선택 신호 생성기를 더 포함하는 인터페이스 회로.
  17. 제 1 기준 신호를 이용하여 제 1 입력 데이터들을 선입-선출 방식으로 처리하고, 상기 제 1 기준 신호를 분주하여 제 1 분주 신호를 생성하는 제 1 FIFO 회로; 그리고
    제 2 기준 신호를 이용하여 제 2 입력 데이터들을 선입-선출 방식으로 처리하고, 상기 제 2 기준 신호를 분주하여 제 2 분주 신호를 생성하는 제 2 FIFO 회로를 포함하되,
    상기 제 1 FIFO 회로로부터 제 1 출력 데이터가 출력되기에 앞서, 상기 제 2 FIFO 회로는 상기 제 1 분주 신호에 의해 리셋 되고, 상기 제 2 FIFO 회로로부터 제 2 출력 데이터가 출력되기에 앞서, 상기 제 1 FIFO 회로는 상기 제 2 분주 신호에 의해 리셋 되는 인터페이스 회로.
  18. 제 17 항에 있어서,
    상기 제 1 출력 데이터 및 상기 제 2 출력 데이터에 대해 제 1 OR 연산을 수행하고, 상기 제 1 분주 신호 및 상기 제 2 분주 신호에 대해 제 2 OR 연산을 수행하는 OR 게이팅 회로; 그리고
    상기 제 2 OR 연산 결과를 이용하여 상기 제 1 OR 연산 결과를 저장하는 제 3 FIFO 회로를 더 포함하는 인터페이스 회로.
  19. 제 17 항에 있어서,
    상기 제 1 출력 데이터는, 상기 제 1 분주 신호에 기초하여 상기 제 1 분주 신호보다 낮은 주파수를 갖는 제 1 선택 신호에 응답하여 생성되고,
    상기 제 2 출력 데이터는, 상기 제 2 분주 신호에 기초하여 상기 제 2 분주 신호보다 낮은 주파수를 갖는 제 2 선택 신호에 응답하여 생성되는 인터페이스 회로.
  20. 제 19 항에 있어서,
    상기 제 1 기준 신호와 상기 제 2 기준 신호는 서로 다른 랭크들로부터 수신되고, 상기 제 1 입력 데이터들과 상기 제 2 입력 데이터들은 서로 다른 랭크들로부터 수신된 데이터들에 각각 기초하는 인터페이스 회로.
KR1020160088684A 2016-07-13 2016-07-13 멀티 랭크로 구성된 메모리와 인터페이싱을 수행하는 인터페이스 회로 KR102624808B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020160088684A KR102624808B1 (ko) 2016-07-13 2016-07-13 멀티 랭크로 구성된 메모리와 인터페이싱을 수행하는 인터페이스 회로
CN201710112702.2A CN107622778B (zh) 2016-07-13 2017-02-28 配置为与多模组存储器接口的接口电路
US15/584,356 US9857973B1 (en) 2016-07-13 2017-05-02 Interface circuits configured to interface with multi-rank memory
US15/842,295 US10073619B2 (en) 2016-07-13 2017-12-14 Interface circuits configured to interface with multi-rank memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160088684A KR102624808B1 (ko) 2016-07-13 2016-07-13 멀티 랭크로 구성된 메모리와 인터페이싱을 수행하는 인터페이스 회로

Publications (2)

Publication Number Publication Date
KR20180007728A KR20180007728A (ko) 2018-01-24
KR102624808B1 true KR102624808B1 (ko) 2024-01-17

Family

ID=60788885

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160088684A KR102624808B1 (ko) 2016-07-13 2016-07-13 멀티 랭크로 구성된 메모리와 인터페이싱을 수행하는 인터페이스 회로

Country Status (3)

Country Link
US (2) US9857973B1 (ko)
KR (1) KR102624808B1 (ko)
CN (1) CN107622778B (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106875966B (zh) * 2017-01-09 2020-02-07 上海兆芯集成电路有限公司 数据选通信号处理系统以及处理方法
US10522206B2 (en) * 2017-04-06 2019-12-31 SK Hynix Inc. Semiconductor device and system
US10339997B1 (en) 2017-12-18 2019-07-02 Micron Technology, Inc. Multi-phase clock division
KR20200084600A (ko) * 2019-01-03 2020-07-13 에스케이하이닉스 주식회사 집적회로 칩
US11823770B1 (en) * 2022-05-03 2023-11-21 Realtek Semiconductor Corporation Memory system and memory access interface device thereof

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269413B1 (en) 1998-10-30 2001-07-31 Hewlett Packard Company System with multiple dynamically-sized logical FIFOs sharing single memory and with read/write pointers independently selectable and simultaneously responsive to respective read/write FIFO selections
US6286076B1 (en) 1999-01-05 2001-09-04 Sun Microsystems, Inc. High speed memory-based buffer and system and method for use thereof
US7039144B2 (en) 2001-05-21 2006-05-02 Silicon Integrated Systems Corporation Large-input-delay variation tolerant (LIDVT) receiver adopting FIFO mechanism
US6987775B1 (en) 2001-08-15 2006-01-17 Internet Machines Corp. Variable size First In First Out (FIFO) memory with head and tail caching
KR100557561B1 (ko) 2003-08-01 2006-03-03 매그나칩 반도체 유한회사 Fifo 저장 장치
US7535985B2 (en) * 2004-04-26 2009-05-19 Panasonic Corporation Resynchronization circuit
JP4716001B2 (ja) 2005-03-08 2011-07-06 日本電気株式会社 Cpu間通信システム
JP2007018266A (ja) 2005-07-07 2007-01-25 Matsushita Electric Ind Co Ltd データ転送装置及びデータ転送方法
KR100818800B1 (ko) * 2006-06-27 2008-04-01 삼성전자주식회사 Fifo 장치를 구비하는 데이터 처리장치와 데이터처리방법
JP5013768B2 (ja) * 2006-08-03 2012-08-29 ルネサスエレクトロニクス株式会社 インターフェイス回路
US20080144405A1 (en) * 2006-12-18 2008-06-19 Intel Corporation Data strobe timing compensation
JP4922442B2 (ja) 2010-07-29 2012-04-25 株式会社東芝 バッファ管理装置、同装置を備えた記憶装置、及びバッファ管理方法
US8654823B1 (en) * 2010-08-10 2014-02-18 Xilinx, Inc. Low latency transmitter path data link interface
KR20140078912A (ko) 2012-12-18 2014-06-26 삼성전자주식회사 메모리 시스템 및 이를 포함하는 시스템 온 칩
US8922264B1 (en) * 2013-04-26 2014-12-30 Altera Corporation Methods and apparatus for clock tree phase alignment
KR102147360B1 (ko) * 2013-08-28 2020-08-25 삼성전자 주식회사 입력 데이터 정렬 회로 및 이를 포함하는 반도체 장치
US9183902B2 (en) * 2013-08-28 2015-11-10 Samsung Electronics Co., Ltd. Input data alignment circuit and semiconductor device including the same
KR102059914B1 (ko) * 2013-08-30 2020-02-11 에스케이하이닉스 주식회사 스트로브 신호 생성 장치 및 이를 이용하는 메모리 장치
TWI680466B (zh) * 2015-05-28 2019-12-21 日商東芝記憶體股份有限公司 半導體裝置
KR102403339B1 (ko) * 2016-02-22 2022-06-02 에스케이하이닉스 주식회사 데이터 정렬 장치

Also Published As

Publication number Publication date
US9857973B1 (en) 2018-01-02
CN107622778B (zh) 2023-04-07
CN107622778A (zh) 2018-01-23
US20180018092A1 (en) 2018-01-18
US20180107387A1 (en) 2018-04-19
US10073619B2 (en) 2018-09-11
KR20180007728A (ko) 2018-01-24

Similar Documents

Publication Publication Date Title
KR102624808B1 (ko) 멀티 랭크로 구성된 메모리와 인터페이싱을 수행하는 인터페이스 회로
US10943627B2 (en) Apparatuses and methods for providing internal clock signals of different clock frequencies in a memory device
US11150686B2 (en) Apparatuses for reducing clock path power consumption in low power dynamic random access memory
US10354704B2 (en) Semiconductor memory device and memory system
US9666255B2 (en) Access methods and circuits for memory devices having multiple banks
KR101290764B1 (ko) 고속동작에 적합한 입력 회로를 갖는 반도체 메모리 장치
US9640232B2 (en) Semiconductor systems and semiconductor devices
US10860469B2 (en) Apparatuses and methods for providing internal memory commands and control signals in semiconductor memories
WO2018038835A1 (en) Apparatuses and methods for adjusting delay of command signal path
US7142470B2 (en) Methods and systems for generating latch clock used in memory reading
CN108038068B (zh) 一种基于ddr读数据同步方法及系统
KR100812600B1 (ko) 주파수가 다른 복수의 클럭을 사용하는 반도체메모리소자
US20090154271A1 (en) Semiconductor memory device and method for testing the same
US8059484B2 (en) Semiconductor storage device and high-speed address-latching method
US11056171B1 (en) Apparatuses and methods for wide clock frequency range command paths
US9236111B2 (en) Semiconductor device
US8947956B2 (en) Delay circuit and latency control circuit of memory, and signal delay method thereof
KR20130102816A (ko) 데이터 액세스 메모리 및 그것의 데이터 손실 방지 방법
KR102147360B1 (ko) 입력 데이터 정렬 회로 및 이를 포함하는 반도체 장치
US10031548B2 (en) Latency control device and semiconductor device including the same
US6504767B1 (en) Double data rate memory device having output data path with different number of latches
WO2020131528A1 (en) Signal skew in source-synchronous system
US20150380070A1 (en) Latch circuit and input/output device including the same

Legal Events

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