KR100626506B1 - 고속 메모리 시스템에서의 리드 타이밍 동기화 방법 - Google Patents

고속 메모리 시스템에서의 리드 타이밍 동기화 방법 Download PDF

Info

Publication number
KR100626506B1
KR100626506B1 KR1020037011014A KR20037011014A KR100626506B1 KR 100626506 B1 KR100626506 B1 KR 100626506B1 KR 1020037011014 A KR1020037011014 A KR 1020037011014A KR 20037011014 A KR20037011014 A KR 20037011014A KR 100626506 B1 KR100626506 B1 KR 100626506B1
Authority
KR
South Korea
Prior art keywords
memory
command
flag
read clock
flag signal
Prior art date
Application number
KR1020037011014A
Other languages
English (en)
Other versions
KR20040005877A (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 마이크론 테크놀로지, 인크
Publication of KR20040005877A publication Critical patent/KR20040005877A/ko
Application granted granted Critical
Publication of KR100626506B1 publication Critical patent/KR100626506B1/ko

Links

Images

Classifications

    • 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
    • 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
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4072Circuits for initialization, powering up or down, clearing memory or presetting
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] 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/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/107Serial-parallel conversion of data or prefetch
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2281Timing of a read operation

Abstract

고속 동기 메모리 서브시스템에서의 복수 개의 메모리 소자들의 리드 대기 시간은 하나 이상의 플래그 신호를 사용함으로써 일치된다. 상기 플래그 신호는 동등한 신호 전파 특성 리드 클락 신호를 가지고, 그럼으로써 자동적으로 신호 전파의 영향을 보상한다. 플래그 신호를 감지한 후에, 메모리 소자는 소정 개수의 클락 사이클에서 이전에 수신된 리드 명령과 연관된 데이터를 출력하기 시작한다. 각각의 플래그 신호에 대해, 시스템 리드 대기 시간을 일치시키기 위해, 메모리 제어기는, 시스템 초기화 시에 리드 명령을 보내는 것과 플래그 신호를 보내는 것 사이의 요구되는 지연을 결정한다. 지연(들)은 메모리 시스템의 통상의 동작 중에 리드 작업에 적용된다.
메모리 소자, 플래그 신호, 시스템 대기 시간, 리드 시간

Description

고속 메모리 시스템에서의 리드 타이밍 동기화 방법 {A METHOD OF SYNCHRONIZING READ TIMING IN A HIGH SPEED MEMORY SYSTEM}
본 발명은 일반적으로 고속 동기 메모리 시스템에 관한 것으로, 더욱 구체적으로는 어느 메모리 소자로부터 읽어들인 데이터가 동시에 메모리 제어기에 도달하도록 메모리 소자의 리드 대기 시간(read latency)을 제어하는 것에 관한 것이다.
도 1에는 전형적인 컴퓨터 시스템이 도시되어 있다. 상기 컴퓨터 시스템은 프로세서(500), 메모리 서브시스템(subsystem)(100p) 및 확장 버스 제어기(expansion bus controller)(510)를 포함하여 구성된다. 상기 메모리 서브시스템(100p) 및 상기 확장 버스 제어기(510)는 로컬 버스(520)를 통하여 상기 프로세서(500)에 연결된다. 또한, 상기 확장 버스 제어기(510)는 하나 이상의 확장 버스(530)에 연결되고, 상기 확장버스(530)에는 대용량의 저장장치, 키보드, 마우스, 그래픽 어댑터 및 멀티미디어 어댑터와 같은 다양한 주변 장치들(540 내지 542)이 연결된다.
상기 메모리 서브시스템(100p)은 메모리 제어기(400p) 및 복수 개의 메모리 모듈(301p 및 302p)들을 포함하여 구성되고, 상기 각각의 메모리 모듈들은 예를 들어 모듈(302p)을 위한 DRAM-1(101p) 및 DRAM-2(102p)와 같은 복수 개의 메모리 소 자를 포함하여 구성된다. 각각의 메모리 소자(101p 내지 104p)는 고속 동기 메모리 소자이다. 도 1에는 두 개의 메모리 모듈(301p 및 302p)과, 연결된 신호 라인들(401ap, 401bp, 402ap, 402bp, 403p, 406p 및 407p)만이 도시되어 있지만, 어떤 수의 메모리 모듈들이라도 사용될 수 있다. 이와 마찬가지로 도 1에는, 각각의 메모리 모듈이 단지 두 개의 메모리 소자(101p-102p, 103p-104p)를 가지는 것처럼 도시되어 있고 일반적인 경우 각각의 메모리 모듈에는 8 또는 9개의 메모리 소자들이 구비되지만, 상기 메모리 모듈들(301p, 302p)에는 그 이상 또는 그 이하의 메모리 소자들(101p 내지 104p)이 구비될 수 있다. 신호 라인들(401ap, 401bp, 402ap, 402bp, 403p)은 데이터 버스(150p)로 알려져 있고, 반면에 신호 라인들(406p 및 407p)은 명령/어드레스 버스(command/address bus)(151p)로 알려져 있다.
상기 데이터 버스(150p)는, 상기 메모리 제어기(400p) 및 상기 메모리 소자들(101p 내지 104p) 사이에서 데이터(DATA)를 교환하는데 사용되는 복수 개의 데이터 신호 라인들(401ap 및 401bp)을 포함하여 구성된다. 리드 데이터(read data)는 상기 메모리 모듈(301p 및 302p)로부터 출력되고, 상기 리드 클락 신호 라인(read clock signal line)(402ap 및 403bp) 상에서 자유 러닝 리드 클락 신호(free running read clock signal)(RCLK)로 직렬로 동기화 된다. 상기 리드 클락 신호(RCLK)는 메모리 제어기(400p)에 의해 발생되고, 나머지 메모리 모듈(들)(301p)을 통하여 상기 메모리 제어기(400p)로 복귀하도록 보내지기 전에 처음에는 상기 메모리 제어기(400p)로부터 가장 먼 메모리 모듈(302p)로 보내진다. 라이트 데이터(write data)는 상기 메모리 제어기(400p)로부터 출력되고, 상기 라이트 클락 신호 라인(403p) 상에서 자유 러닝 라이트 클락 신호(free running write clock signal)(WCLK)로 직렬로 동기화 된다. 상기 라이트 클락 신호는 메모리 제어기(400p)에 의해 발생되고, 나머지 메모리 모듈(들)(302p)을 통하여 보내지기 전에 우선 가장 가까운 상기 메모리 모듈(301p)로 보내진다. 복수 개의 명령 신호 라인들(406)은 상기 메모리 제어기(400p)에 의해 사용되어 명령(CMD)을 상기 메모리 모듈(301p, 302p)로 보낸다. 유사하게, 복수 개의 어드레스 신호 라인들(407p)이 상기 메모리 제어기에 의해 사용되어 어드레스(ADDR)들을 상기 메모리 모듈들(301p, 302p)로 보낸다. 상기 데이터 버스(150p) 또는 상기 명령/어드레스 버스(151p)에는, 예를 들어 칩 선택 라인들과 같이 당해 기술 분야에서 잘 알려진 추가적인 신호 라인들이 구비될 수 있고, 이러한 라인들은 간소하게 표현하기 위해 도시되어 있지는 않다. 또한, 상기 명령(CMD)과 어드레스(ADDR)는, 각각의 모듈의 메모리 소자들(101p 내지 104p)로 분배되기 전에 상기 메모리 모듈들(301p, 302p) 상의 레지스터(미도시)에 의해 버퍼링된다. 복수 개의 라이트 클락 신호 라인들(404p), 복수 개의 데이터 신호 라인들(401a, 401b) 각각, 복수 개의 명령 신호 라인들(406)의 각각, 그리고 복수 개의 어드레스 신호 라인들(407) 각각은 터미네이터(450)에 의해 종결되는데, 상기 터미네이터는 저항으로 이루어 질 수 있다.
메모리 소자(101p 내지 104p)가 리드 명령을 받아들일 때, 소정의 시간이 경과할 때까지, 상기 리드 명령과 연관된 데이터는 상기 데이터 버스(150p) 상으로 출력되지 않는다. 이 시간은 소자 리드 대기 시간이라고 알려져 있다. 각각의 메모 리 소자(101p 내지 104p)는 최소(minimum) 소자 리드 대기 시간을 가지지만, 또한 여러 개의 더 큰 리드 대기 시간에서 작동될 수 있다. 상기 메모리 제어기(400p)가 리드 명령을 보내는 시간과 리드 데이터가 상기 메모리 제어기(400p)에 도달하는 시간 사이에서 경과되는 시간이 시스템 리드 대기 시간으로 알려져 있다. 시스템 리드 대기 시간은메모리 소자(101p 내지 104p)의 소자 리드 대기 시간 및 상기 메모리 소자(101p 내지 104p) 및 상기 메모리 제어기(400p) 사이에서의 신호 전파 시간의 합과 같다. 메모리 모듈(302p)보다 메모리 모듈(301p)이 메모리 제어기(400p)에 더 가깝기 때문에, 메모리 모듈(301p)에 위치하는 상기 메모리 소자(101p 및 102p)는 메모리 모듈(302p)에 위치하는 상기 메모리 소자(103p 및 104p)보다 더 짧은 신호 전파 시간을 가진다. 높은 클락 주파수(예를 들어 300MHz에서 적어도 533MHz까지)에서, 신호 전파 시간에서의 이러한 차이는 중요해진다.
상기 리드 클락 신호 라인들(402ap 및 402bp)을 따르는 상기 리드 클락(RCLK)의 신호 전파 시간에서의 차이는 물론이고 각각의 메모리 소자(101p 내지 104p)의 최소 리드 대기 시간에서의 차이 때문에(예를 들어, DRAM-3(103)이 DRAM-1(101p)보다 상기 메모리 제어기(400p)로부터 더 멀리 떨어져 위치하기 때문에, DRAM-3(103p)으로부터의 데이터 출력은 DRAM-1(101p)로부터의 데이터 출력보다 상기 메모리 제어기(400p)에 도달하는데 더 오래 걸린다), 동일한 리드 클락 신호 라인(예를 들어, DRAM-1(101p) 및 DRAM-3(103p))에 연결된 상기 메모리 소자들은 다른 시스템 리드 대기 시간을 가질 수 있다. 상기 메모리 제어기(400p)가 각각의 메모리 소자(101p 내지 104p)를 위한 다른 시스템 리드 대기 시간으로 리드 작업을 수행하도록 강제하는 것은, 상기 메모리 제어기(400p)를 불필요하게 복잡하게 한다. 따라서 상기 메모리 제어기가 복잡해지는 것을 막기 위해, 상기 메모리 소자들의 시스템 리드 대기 시간을 같게 하는 장치 및 방법이 필요하다.
본 발명은 고속 메모리 서브시스템에서 메모리 소자들의 시스템 리드 대기 시간을 일치시키기 위한 방법 및 장치에 관한 것이다. 본 발명은 각각의 메모리 소자의 소자 리드 대기 시간을 제어하는 복수 개의 플래그 신호를 사용하는 것에 관한 것이다. 상기 플래그 신호는, 리드 클락 신호에 따라 동등한 신호 전파 시간을 가지도록 보내진다. 본 발명에 따른 메모리 소자는 상기 플래그 신호를 수신한 후에 소정 개수의 리드 클락 사이클에서 이전에 받아들여진 리드 명령과 연관된 데이터를 출력하기 시작한다. 상기 플래그 신호의 타이밍은 상기 메모리 소자의 소자 리드 대기 시간을 결정한다. 본 발명에 따른 메모리 제어기는 초기화 중에 보정 루틴을 수행한다. 상기 보정 루틴은, 각각의 메모리 소자가 동일한 리드 클락 신호 라인에 연결되어 신뢰성을 가지면서 리드 데이터를 출력하는 것 즉, 각각의 메모리 소자의 최소 소자 리드 대기 시간을 만족시키는 리드 명령 및 플래그 신호 사이에 요구되는 최소 타이밍 오프셋을 결정하는데 사용된다. 선택적으로, 상기 최소 타이밍 오프셋은 미리 결정되어 메모리(예를 들어, SPD EEPROM)에 저장될 수 있고, 그럼으로써 상기 제어기가 보정을 수행할 필요 없이 타이밍 오프셋을 설정하는 것을 허용한다. 타이밍 오프셋은 통상의 작동 중에 사용되어, 각각의 메모리 소자가 리드 데이터를 언제 출력할 것인지를 제어한다. 유사한 경로 길이와 신호 전파 특성 에 의해 상기 플래그 신호는 리드 클락 경로에 따라 동등한 신호 전파 타이밍을 가지기 때문에, 상기 플래그 신호의 상기 신호 전파 시간은 상기 메모리 소자들 사이에서 신호 전파 시간의 차이를 자동적으로 보상하고, 그럼으로써 상기 메모리 제어기가 상기 플래그 신호에 연결된 각각의 메모리 소자를 위한 동일한 시스템 리드 대기 시간을 감시하는 것을 보장한다. 선택적인 실시예에서는, 상기 플래그 신호는 각각의 메모리 모듈에 한정되고, 상기 메모리 모듈에 또한 위치하는 플래그 발생 로직에 의해 발생된다. 이러한 시스템에서 상기 플래그 신호는 메모리 모듈과 연관되고, 각각의 메모리 모듈의 메모리 소자들의 대기 시간을 일치시킨다.
본 발명의 상술한 그리고 다른 장점 및 특징들은 첨부된 도면과 관련하여 제공되는 이하의 본 발명의 상세한 설명으로부터 보다 명확하게 이해될 것이다.
도 1에는 고속 메모리 서브시스템을 구비한 컴퓨터 시스템의 블록도가 도시되어 있고;
도 2에는 본 발명의 제1 실시예에 따른 고속 메모리 시스템의 블록도가 도시되어 있고;
도 3에는 도 2에 도시된 고속 메모리 시스템의 메모리 소자의 블록도가 도시되어 있고;
도 4에는 메모리 소자가 플래그 신호에 어떻게 반응하는지를 설명하는 순서도가 도시되어 있고,
도 5에는 본 발명의 제2 실시예에 따른 고속 메모리 시스템의 블록도가 도시 되어 있고;
도 6에는 본 발명의 제3 실시예에 따른 고속 메모리 시스템의 블록도가 도시되어 있고;
도 7에는 본 발명의 제5 실시예에 따른 고속 메모리 시스템의 블록도가 도시되어 있고; 그리고
도 8에는 본 발명의 제6 실시예에 따른 고속 메모리 시스템의 블록도가 도시되어 있다.
동일한 참조 번호는 동일한 부재를 지시하고 있는 도면을 참조하면, 도 2에는 본 발명의 제1 실시예에 따른 메모리 서브시스템(100)의 개략도가 도시되어 있다. 상기 메모리 서브시스템(100)은 복수의 신호들을 데이터 버스(150) 및 명령/어드레스 버스(151)를 통하여 전송하는 메모리 제어기(400)를 포함하여 구성된다. 상기 데이터 버스(150)는 대응하는 복수 개의 플래그 신호 라인들(404, 405)을 사용하여 전송되는 복수 개의 플래그 신호(FL1, FL2)를 포함한다. 각각의 플래그 신호 라인은 대응하는 리드 클락 신호 라인에, 그리고 리드 클락 신호 라인에 연결된 상기 메모리 소자에 연결된다. 예를 들어, 플래그 신호(FL1)는 플래그 신호 라인(404)으로 전송되고, 리드 클락 신호 라인(402ap)과 메모리 소자들(DRAM-1(101p) 및 DRAM-3(103p))로 전송되는 리드 클락(RCLK)과 연결된다. 각각의 메모리 모듈(301, 302)은 복수 개의 플래그 신호 라인들(404, 405)을 포함하여 상기 데이터 버스(150)를 통하여 상기 메모리 제어기(400)에 연결된다. (선택적인 실시예가 도시된 도 5 내지 도 8은 물론이고) 도 2에는 명령 신호 라인들(406)과 어드레스 신호 라인들(407)을 위한 특정 경로 구성이 도시되어 있지만, 본 발명의 원리들은 또 다른 경로 배치에 또한 적용 가능하다. 예를 들어, 상기 명령 신호 라인들(406)과 어드레스 신호 라인들(407)은 병렬로 각각의 상기 메모리 소자들(101 내지 104)에 연결되거나, 또는 레지스터(미도시)에 의해 버퍼링될 수 있다.
도 3에는 도 2에 도시된 상기 메모리 모듈들 중의 하나(101)의 더욱 상세한 블록도가 도시되어 있다. 상기 모범적인 실시예에서, 상기 메모리 소자들(101 내지 104)은 어드밴스 디램 테크놀로지(Advance DRAM Technology: ADT)의 소자이다. 그러나, 본 발명의 원리들은 어떤 형태의 동기화 메모리 소자에도 결합될 수 있다. ADT 메모리 소자(101)는, 상기 리드 클락 신호 라인(402a), 상기 라이트 클락 신호 라인(403), 상기 플래그 신호 라인(404), 상기 복수 개의 명령 신호 라인들(406) 및 복수 개의 어드레스 신호 라인들(407)에 연결된 (어드레스 디코더들을 포함하는) 제어 회로(2000)를 포함하여 구성된다. 상기 제어 회로(2000)는 도면을 간략하게 나타내기 위해 도시되지 않은 추가적인 종래의 신호 라인들에 연결될 수 있다. 또한, 상기 ADT 메모리 소자(101)는, 양자 모두 (입력/출력 게이팅 회로(I/O gating circuit)(2006)를 통하여) 상기 데이터 신호 라인(401a) 및 복수 개의 메모리 어레이(memory array)(2001)에 연결되는 라이트 데이터 경로(2002)와 리드 데이터 경로(2004)를 포함하여 구성된다. 상기 리드 데이터 경로(2004)는 상기 리드 클락 신호 라인(402a)에 연결되는데, 상기 리드 데이터 경로(2004)는 복수 개의 메모리 어레이들(2001)로부터 읽은 병렬 데이터를 상기 리드 클락 신호(RCLK)와 동기 시켜 상기 데이터 신호 라인(401a) 상에 출력되는 직렬 데이터로 변환하는 직렬처리기(serializer)(2005)를 포함하여 구성된다. 유사하게, 상기 라이트 데이터 경로(2002)는 상기 라이트 클락 신호 라인(403)에 연결되는데, 상기 라이트 데이터 경로(2002)는 데이터 신호 라인(401)으로부터의 직렬 라이트 데이터를 병렬 데이터로 변환하는 병렬처리기(parallelizer)(2003)를 포함하여 구성된다.
상기 메모리 소자(101)는 상기 플래그 신호(FL1)를 이전에 받아들여진 리드 명령과 연관된 데이터의 출력을 언제 시작할 지에 대한 신호(cue)로써 사용한다. 그럼으로써 상기 메모리 소자는 그 리드 대기 시간이 상기 플래그 신호 라인(404) 상의 상기 플래그 신호(FL1)의 타이밍(timing)에 의해 결정되도록 한다. 특히, 상기 메모리 소자(101)의 제어 회로(2000)는, 상기 플래그(FL1)가 상기 플래그 신호 라인(404) 상에 제시된 후에, 소정 개수의 리드 클락 사이클들에서 이전에 받아들여진 리드 명령에 연관된 데이터를 상기 리드 데이터 경로(2003)가 출력하기 시작하도록 한다.
이러한 과정이 도 3에 도시되어 있는데, 상기 메모리 소자가 복수 개의 명령 신호 라인들(406)을 통하여 전송되는 리드 명령을 받아들일 때 단계(1001)에서 시작한다. 단계(1002)에서는 상기 제어 회로가 상기 플래그 신호(FL1)가 수신될 때까지 기다린다. 상기 플래그 신호가 수신된 후에는 단계(1003 및 1004)에서 상기 메모리 소자가 데이터를 출력하기 전에 소정 개수의 리드 클락 사이클들을 기다린다. 상기한 실시예에서, 상기 메모리 소자(101)는 상기 플래그 신호(FL1)를 수신한 후에 네 개의 리드 클락 사이클에서 리드 데이터를 출력하기 시작한다. 그러나, 각각 의 메모리 소자(101 내지 104)에 대해 그 수가 같고 상기 메모리 소자(101 내지 104)가 요청된 데이터를 출력하는데 충분한 시간을 가지기만 한다면, 경과된 리드 클락 사이클의 수는 다르게 사용될 수 있다.
상기 플래그 신호들(FL1, FL2)을 통하여 놓여지는 메모리 소자(101 내지 104)의 소자 리드 대기 시간의 제어 타이밍은 예를 들어 시스템 초기화 시에 상기 메모리 제어기에 의해 수행되는 보정 과정(calibration procedure)에서 결정된다. 이러한 시기에 상기 메모리 제어기(400)는 리드 명령을 내보내는 때와 플래그 신호를 각각의 메모리 소자에 대해 내보내는 시기 사이의 타이밍 오프셋(offset)을 결정한다. 상기 타이밍 오프셋은 동일한 플래그 신호 라인(예를 들어, 플래그 신호 라인(404))에 연결된 상기 메모리 소자들(예를 들어, DRAM-1(101) 및 DRAM-3(103))의 상기 시스템 리드 대기 시간을 같게 만든다. 상기 보정 과정은 플래그 신호 라인 기반으로 수행된다.
상기 메모리 제어기(400)가, 보정되는 상기 플래그 신호 라인(예를 들어, 플래그 신호 라인(404))에 연결된 상기 메모리 소자들의 메모리 제어기(400)로부터 가장 멀리에 위치하는 상기 메모리 소자(예를 들어 DRAM-3(103))로 보정 명령(calibrate command)을 보낼 때, 상기 보정 과정이 시작된다. 상기 보정 명령은 상기 메모리 소자(103)가 참조 보정 패턴(reference calibration pattern)을 출력하도록 하는 특별한 리드 명령이다. 상기 참조 보정 패턴은, 상기 메모리 제어기가 데이터가 상기 메모리 제어기에 처음으로 도달하는 시기를 쉽게 식별할 수 있도록 정형화된다. 상기한 실시예에서 메모리 소자(103)는 리드 명령 당 8비트의 데이 터를 리턴 시킨다. 상기 메모리 소자(103)는, 상기 데이터 신호 라인들(401a)을 가로질러 상기 데이터를 직렬로 상기 메모리 제어기(400)로 보낸다. 바람직한 보정 패턴에 의하면, 최초의 데이터 비트가 상기 메모리 제어기에 도달하는 시기를 상기 메모리 제어기가 쉽게 인식할 수 있게 된다. 모범적인 실시예에서, 바람직한 참조 보정 패턴은, 상기 메모리 제어기에 도달하는 첫 번째 비트가 하나의 상태로 세팅되고 나머지 비트가 다른 상태로 세팅된 한 바이트이다. 즉, 이진수 01111111 또는 이진수 10000000은 좋은 보정 패턴이다. 이러한 두 가지 패턴 사이에서의 선택은 버스 구조에 의해 영향 받을 수 있다. 예를 들어, 실시예에서 상기 메모리 버스(150)는, "1"이라는 자연적인 논리 상태를 가지는 "풀업(pull-up)" 버스이다. 즉, 단지 상기 버스로 보내질 때만이 "0"이 상기 버스에 나타나는 시간이기 때문에, 상기 패턴 이진수 01111111이 이상적이다. 그러나, 상기 데이터 버스(150)가 그 자연적인 논리 상태가 "0"이 되도록 만들어진다면, 바람직한 패턴은 대신에 이진수 10000000이 된다.
상기 메모리 제어기(400)가 보정 명령을 내보낼 때, 그와 동시에 상기 플래그 신호(FL1)를 상기 플래그 신호 라인(404)으로 보낸다. DRAM-3(103)이 상기 플래그 신호를 수신하면, 소정 개수의 리드 클락 사이클이 지나간 후에 보정 패턴을 출력하기 시작한다.
상기 플래그 신호(FL1)가 상기 플래그 신호(FL1)에 연관된 상기 플래그 신호 라인(404)에 연결된 각각의 메모리 소자들(103, 101)을 지나간 후에 상기 메모리 제어기(400)로 리턴 하도록 상기 플래그 신호 라인(404)은 루트가 정해진다. 상기 메모리 제어기(400)가 리터닝 플래그 신호(FL1)를 수신할 때, 소정 개수의 리드 클락 사이클들이 경과한 후에 상기 데이터 신호 라인(401a)으로부터 보정 패턴을 읽는 것이 시도된다. 만약 상기 참조 보정 패턴이 감지되는 경우에는, 상기 소정 개수의 리드 클락 사이클들은 상기 메모리 소자(103)가 적절히 작동하도록 하기 위해 충분한 소자 리드 대기 시간을 부과한다. 만약 상기 참조 보정 패턴이 감지되지 않는 경우에는, 상기 메모리 제어기는, 최소 소자 리드 대기 시간보다 더 빠른 소자 리드 대기 시간으로 상기 메모리 소자(103)를 작동시키려고 시도하면서, 상기 플래그 신호(FL1)가 너무 일찍 보내졌다고 결론짓는다. 이 경우, 상기 메모리 제어기(400)는, 참조 보정 패턴이 적절하게 수신될 때까지, 상기 보정 명령을 보내는 것과 상기 플래그 신호(FL1)를 보내는 것 사이에서 리드 클락 사이클의 수를 증가시키면서 상술한 과정을 반복한다.
상기 메모리 제어기(400)는, 동일한 플래그 신호 라인에 연결된 각각의 나머지 메모리 소자들에 대해 상술한 과정을 반복한다. 상기 메모리 제어기는, 동일한 플래그 신호 라인(예를 들어, 플래그 신호 라인(404))에 연결된 가장 가까운 메모리 소자에 대해 상기 보정 과정이 수행될 때까지, 상기 플래그 신호 라인(404)((예를 들어, DRAM-1(101))에 연결된 그 다음으로 가까운 메모리 소자에 대해 상기 과정을 계속한다. 각각의 반복 수행을 위하여 상기 메모리 제어기(400)는 초기 타이밍 차이로써 이전의 반복 수행에서 사용된 최종 타이밍 오프셋을 채택한다. 가장 가까운 메모리 소자(예를 들어, DRAM-1(101))가 이러한 과정에 의해 보정된 후에, 리드 작업(transaction)을 상기 플래그 신호 라인(예를 들어 플래그 신호 라인(404))에 연결된 메모리 소자에 대해 수행하기 위해, 최종 타이밍 오프셋은 상기 메모리 제어기(400)에 의해 채택된다. 이러한 타이밍 오프셋은, 동일한 플래그 신호 라인(예를 들어, 플래그 신호 라인(404) 및 메모리 소자 DRAM-1(101), DRAM-3(103))에 연결된 각각의 메모리 소자가 메모리 소자들의 세트 중 가장 느린 메모리 소자의 최소 소자 리드 대기 시간으로 작동되도록 한다. 상기 플래그 신호가, 유사한 경로 길이 및 신호 전파 특성 때문에 상기 리드 클락 경로에 따라 동일한 신호 전파 특성을 가지고 전파되기 때문에, 상기 플래그 신호의 신호 전파 지연은 동일한 플래그 신호 라인(예를 들어, 플래그 신호 라인(404))에 연결된 메모리 소자들(예를 들어, DRAM-1(101) 및 DRAM-3(103)) 사이에서의 신호 전파 시간의 차이를 자동적으로 보상한다.
예를 들어, 도 2에 도시된 시스템에서, DRAM-1(101) 및 DRAM-3(103)이 양자 모두 동일한 플래그 신호 라인(즉, 404)에 연결되고, DRAM-3(103)이 상기 메모리 제어기(400)로부터 가장 먼 메모리 소자이기 때문에, 상기 메모리 제어기(400)는 첫 번째로 DRAM-3(103)을 보정한다. 제1 단계에서, 상기 메모리 제어기는 동시에 보정 명령과 플래그 신호(FL1)를 보낸다. 상기 메모리 소자(103)의 제어 회로(2000)는, 상기 플래그 신호를 따르는 소정의 리드 클락 사이클의 수로 상기 메모리 소자가 리드 데이터를 출력하도록 한다. 모범적인 실시예에서, 상기 소정의 리드 클락 사이클의 수는 네 개다. 복귀하는 플래그 신호(FL1)가 상기 메모리 제어기(400)에서 감지된 후에, 만약 상기 보정 패턴이 상기 메모리 제어기(400)의 네 개의 사이클에 의해 적절히 수신되지 않는다면, 이것은 상기 메모리 소자(103)가 특정 시간에 리드 데이터를 출력할 준비가 되지 않았다는 것 즉, 상기 메모리 소자(103)의 최소 소자 리드 대기 시간이 만족되지 않았다는 것을 의미한다. 상기 메모리 제어기(400)는 다른 보정 명령을 보내지만, 하나의 리드 클락 사이클에 의해 리드 명령과 플래그 신호(FL1) 간의 증가하는 지연과 같은 수정된 타이밍을 사용하여 상기 플래그 신호(FL1)를 전송한다. 상기 과정은, 상기 메모리 제어기가 복귀하는 플래그 신호(FL1)를 수신한 후에 상기 메모리 제어기(400)의 네 개의 클락 사이클에서 상기 보정 패턴이 감지될 때까지 반복된다. 이러한 타이밍은 그 최소 소자 리드 대기 시간으로 상기 메모리 소자(103)를 작동시키는 것과 같다.
상기 메모리 제어기(400)는, 상기 플래그 신호 라인(404)에 연결된 나머지 메모리 소자를 보정한다. 상기 보정은 그 다음으로 가까운 메모리 소자에 대해 계속되고, 가장 가까운 메모리 소자가 보정되었을 때 완료된다. 상기 실시예에서, 다음으로 가까운 메모리 소자는 DRAM-1(101)이다. 각각의 나머지 메모리 소자가 보정되면, 리드 명령과 현재의 플래그 신호 사이에서의 초기 지연은 이전에 보정된 메모리 소자를 위해 사용되는 최종 타이밍 오프셋에 세팅된다. 상기 실시예에서, 상기 메모리 제어기(400)는 DRAM-1(101)을 보정함으로써 상기 보정 과정을 계속한다. 상기 메모리 제어기(400)는 DRAM-1(101)로 보정 명령을 보내고, 하나의 리드 클락 타이밍 차이가 이전에 보정된 메모리 소자(즉, DRAM-3(103))를 위해 사용된 최종 타이밍 차이였기 때문에, 상기 플래그 신호(FL1)를 보내기 전에 하나의 리드 클락 사이클을 기다린다. 만약 상기 참조 보정 패턴이 상기 메모리 제어기(400)에 의해 적절히 수신되지 않는다면, 상기 메모리 제어기(400)는 상기 리드 명령과 각각의 보정 명령에 대한 상기 플래그 신호(FL1) 간의 증가하는 리드 클락 사이클 오프셋을 사용하면서, 보정 명령을 DRAM-1(101)로 지속적으로 보낸다. 상기 참조 보정 패턴이 상기 메모리 제어기에서 적절하게 수신되기 전에, 상기 메모리 제어기(400)가 세 개의 보정 명령들을 DRAM-3(103)으로 보냈다고 가정한다. (제1 보정 명령이 그 타이밍을 하나의 리드 클락 사이클 지연과 같은 이전의 메모리 모듈로부터 채택하고, 제2 보정 명령은 하나의 리드 클락 사이클에 의해 상기 타이밍을 두 개의 리드 클락 사이클까지 증가시키며, 최종적으로 제3 보정 명령이 다른 리드 클락 사이클에 의해 상기 타이밍을 세 개의 리드 클락 사이클로 증가시키기 때문에,) 이것은 상기 보정 명령 및 상기 플래그 신호간의 세 개의 리드 클락 사이클의 타이밍 오프셋에 대응한다. DRAM-1(101)이 상기 플래그 신호 라인(404)에 연결된 가장 가까운 메모리 소자이기 때문에, 상기 보정 과정은 이 플래그 신호 라인(404)에 연결된 메모리 소자에 대해 완료되었다. 통상의 동작 중에 상기 메모리 제어기(400)는, 리드 명령을 보낸 후에 상기 플래그 신호(FL1)가 세 개의 리드 클락 사이클이라고 가정하고, 플래그 신호 라인(404)에 연결된 각각의 메모리 소자 DRAM-1(101) 및 DRAM-3(103)에 의해 리턴 되는 데이터는 동일한 시스템 대기 시간을 가진다.
상술한 과정은 각각의 플래그 신호 라인(예를 들어, 플래그 신호 라인(405))에 대해 수행된다. 예를 들어, 도 1의 시스템에서, 플래그 신호(FL2)는 메모리 소자 DRAM-4(104) 및 DRAM-2(102)에 대해 사용된다. 바람직하게는, 상기 메모리 제어기는 각각의 플래그 라인을 동시에 보정한다. 또한, 상기 메모리 제어기는 모든 플래그 라인에 사용하는 공통의 타이밍 오프셋으로써 상기 플래그 라인들을 위한 최 종 타이밍 오프셋의 최대값을 채택할 수 있고, 그럼으로써 상기 메모리 제어기가 전체 메모리 시스템을 동일한 시스템 대기 시간으로 작동시키도록 허용한다.
본 발명의 한 가지 측면은, 복수 개의 플래그 신호들(FL1, FL2)이 복수 개의 리드 클락들(RCLK)처럼 동등한 신호 전파 시간을 가진다는 것이다. 상기 플래그 신호들(FL1, FL2)이, 상기 메모리 소자들(101 내지 104)로부터 출력되는 데이터를 동기화하기 위해 사용되는 상기 리드 클락 신호들(RCLK)처럼 동등한 전파 시간을 가지기 때문에, 상기 플래그 신호들(FL1, FL2)은 상기 메모리 서브 시스템의 메모리 모듈들(301, 302) 간의 신호 전파 시간의 차이를 자동적으로 보상한다. 도 1에 도시된 실시예에서, 복수 개의 플래그 신호 라인들(404, 405)은 상기 리드 클락 신호 라인들(402a, 402b)에 병렬로 보내져서, 복수 개의 플래그 신호 라인들(404, 405) 및 리드 클락 신호 라인들(402a, 402b)이 동등한 전파 시간을 가지도록 보장한다.
도 5에는 본 발명의 메모리 서브시스템(100')의 제2 실시예가 도시되어 있다. 상기 메모리 서브시스템(100')은 단일 송출 리드 클락 신호(RCLK')를 송출 리드 클락 신호 라인(402')을 따라 상기 메모리 제어기(400)로부터 클락 버퍼(clock buffer)(401)로 보낸다. 상기 클락 버퍼(401)는 복수 개의 리드 클락 신호 라인들(402a, 402b) 상에서 상기 단일 송출 리드 클락 신호(RCLK')와 실질적으로 동일한 위상으로 복수 개의 리드 클락 신호(RCLK)를 발생시키는 저(低) 지연 장치이다. 복수 개의 플래그 신호 라인들(404, 405)은 초기에는 상기 메모리 제어기(400)로부터 상기 클락 버퍼(401)에 인접한 영역으로 상기 단일 송출 리드 클락 신호 라인(402')에 병렬로 라우팅 된다. 그 다음, 복수 개의 플래그 신호 라 인들(404, 405)은 복수 개의 리드 클락 신호 라인들(402a, 402b)에 병렬로 라우팅 된다. 이러한 배치는, 상기 플래그 신호(FL1, FL2) 및 상기 리드 클락 신호들(RCLK', RCLK) 사이에서 동등한 전파 시간을 유지시킨다.
도 6에는 본 발명에 따른 제3 실시예가 도시되어 있다. 본 발명에 따른 제3 실시예의 메모리 서브시스템(100")은 플래그 리피터(flag repeater)(401')와 함께 클락 버퍼를 사용한다. 복수 개의 송출 플래그 신호들(FL1', FL2')은 물론이고 상기 송출 리드 클락 신호(RCLK')는 초기에 서로 병렬로 상기 메모리 제어기(400)로부터 플래그 리피터(401')가 구비된 상기 클락 버퍼로 전송된다. 플래그 리피터(401')가 구비된 상기 클락 버퍼는 이러한 신호들을 복수 개의 리드 클락 신호들(RCLK) 및 복수 개의 플래그 신호들(FL1, FL2)로써 재전송한다. 플래그 리피터가 구비된 상기 클락 버퍼는 상기 리드 클락 신호들과 상기 플래그 신호들 사이의 동등한 신호 전파 타이밍 관계를 보전한다.
도 7에는 상기 플래그 신호들(FL1, FL2)이 상기 메모리 제어기(400) 대신에 상기 메모리 모듈 상의 내부 로직(internal logic)(410)에 의해 발생되는 본 발명의 실시예에 따른 메모리 서브시스템(100''')이 도시되어 있다. 각각의 메모리 모듈(예를 들어, 메모리 모듈(301)) 상에 있는 상기 플래그 신호 라인들(404, 405)은 다른 메모리 모듈(예를 들어, 메모리 모듈(302)) 상에 있는 대응하는 플래그 신호들로부터 독립적이고, 다른 메모리 모듈들의 플래그 신호 라인들(404, 405)에 연결되지 않는다. 도 7에 도시된 상기 메모리 서브시스템(100''')은 일반적으로 더 작은 메모리 시스템에 있게 된다. 더 작은 메모리 시스템은 더 작은 타이밍 스큐(skew)를 가지기 때문에, 클락 신호 라인(402") 상에 있는 단일 클락(CLK")을 사용하는 것이 가능하다. 그러나, 본 실시예는 작은 메모리 시스템에 한정되지는 않는다. 더 큰 메모리 시스템에서 상기 클락 신호 라인(402") 상의 단일 클락 신호(CLK")는 독립적인 리드 및 라이트 클락들에 의해 대체될 수 있다.
각각의 메모리 모듈의 내부 로직(410)의 기능은, 메모리 모듈(예를 들어, 메모리 모듈(301)) 내의 상기 메모리 소자들(예를 들어, DRAM-1(101) 및 DRAM-2(102)의 소자 리드 대기 시간을 같게 하는데 사용될 수 있는 내부 플래그 신호들(FL1, FL2)을 발생시키는 것이다. 상기 보정 과정은 동일한 메모리 모듈 내의 상기 메모리 소자들 사이를 움직이도록 수정될 수 있다. 예를 들어, 메모리 모듈(301) 내에서, 상기 보정 과정은 "상단" 메모리 소자(예를 들어, DRAM-1(101))에 대해 시작되고, 상기 "하단" 메모리 소자(예를 들어, DRAM-2(102))가 보정될 때까지 지속된다. 이러한 과정은 메모리 모듈(예를 들어, 메모리 모듈(301))의 각각의 메모리 소자(예를 들어, DRAM-1(101) 및 DRAM-2(102))가 동일한 소자 리드 대기 시간으로 작동되는 것을 보장한다. 보정 후에는, 메모리 제어기(400)는 동일한 시스템 리드 대기 시간으로 상기 동일한 메모리 모듈로부터 어떤 메모리 소자라도 읽을 수 있게 된다.
만약 상기 메모리 시스템(100''')이, 독립적인 리드 및 라이트 클락으로 신호 라인(402") 상의 단일 클락(CLK")을 대체하는 것에 더하여 증가된 내부 모듈간 타이밍 스큐를 가지는 더 큰 메모리 시스템에 적용된다면, 다른 실시예의 상기 내부 모듈간 보정 기술 또한 채택될 수 있다. 다른 실시예들의 보정 과정은 본 실시 예의 큰 메모리 시스템에 적용할 수 있다. 그러나, 상기 메모리 제어기(400)로부터 각각의 메모리 모듈(301, 302)을 통하여 실행되는 플래그 신호 라인이 없기 때문에, 상기 메모리 제어기는 단지 상기 보정 패턴이 적절하게 수신되었는지 여부를 결정하고, 그렇지 않다면 상기 메모리 모듈의 내부 로직(410)이 (각각의 내부 모듈(within-module) 플래그들(FL1, FL2)에 대한) 그 플래그 신호 타이밍 오프셋을 증가시키기 위해 보정되도록 인도한다. 상기 메모리 제어기(400)는, 메모리 모듈(예를 들어, 메모리 모듈(302))의 상기 내부 로직(410)이 예를 들어, 특별한 명령을 복수 개의 명령 라인들(406)에, 또는 전용 신호 라인(미도시)을 통하여 보내는 것을 포함하는 다양한 메커니즘에 의해 그 플래그 타이밍을 증가시키도록 인도할 수 있다.
도 8에는 본 발명의 다른 실시예에 따른 메모리 서브시스템(100"")이 도시되어 있다. 상기 메모리 서브시스템(100"")은 도 2의 메모리 시스템(100)과 유사하다. 그러나, 메모리 시스템(100"")의 메모리 모듈(301, 302)은 각각 구성 메모리(configuration memory)(105, 106) 및 하나 이상의 연관된 신호 라인(410)을 포함하여 구성된다. 상기 구성 메모리들(105, 106)은, 메모리 모듈(301, 302) 상의 메모리 소자들(DRAM-1(101) 내지 DRAM-4(104))에 관한 소정의 구성 정보를 저장하는 메모리이다. 예를 들어, 상기 구성 메모리들(105, 106)은 SPD(Serial Presence Detect) EEPROMs일 수 있다.
상기 소정의 구성 데이터(SPDDC)는 하나 이상의 신호 라인(410)을 사용하면서 상기 메모리 제어기(400)에 의해 읽어질 수 있다. 상기 구성 데이터(SPDDC)는 각각의 플래그 신호 라인을 위한 소정의 플래그 타이밍 지연을 포함한다. 상기 소정의 플래그 타이밍 지연은 각각의 플래그 신호 라인(예를 들어, 메모리 제어기가 사용하여야 하는 실제의 지연)을 위한 일련의 단일 값들로써 명확하게 될 수 있거나, 또는 함께 취해지는 경우 상기 메모리 제어기가 각각의 플래그 신호 라인을 위해 요구되는 지연 값을 계산하도록 허용하는 값들의 조합일 수 있다. 예를 들어, 상기 구성 메모리는 각각의 메모리 소자를 위한 최소 소자 리드 대기 시간은 물론이고, 메모리 모듈 상의 모든 메모리 소자들에 공통된 시스템 대기 시간을 나타내는 단일 값을 저장할 수 있다. 상기 메모리 제어기는 적절한 최소 소자 리드 대기 시간을 가지는 시스템 대기 시간을 합하여, 메모리 소자와 연관된 플래그를 위해 가정된(suggested) 플래그 타이밍 지연을 계산한다. 그리하여, 상기 메모리 제어기(400)는 시스템을 초기화하는 동안 보정 루틴을 수행할 필요가 없다. 대신에, 요구되는 플래그 타이밍 지연은 상기 구성 메모리(105, 106)에 저장된 데이터로부터 읽히거나 계산될 수 있다. 만약 상기 구성 메모리(105, 106)가 동일한 플래그 신호에 대한 다른 플래그 타이밍 지연을 명확히 한다면, 상기 메모리 제어기(400)는 플래그를 위한 플래그 타이밍 지연 중에서 가장 큰 것을 채택한다. 이것은 상기 메모리 제어기가, 각각의 메모리 모듈의 타이밍 요구조건을 수용하는 타이밍에서 상기 메모리 모듈(301, 302)을 작동시키도록 허용한다.
또한, 본 실시예의 원리는 상술한 다른 실시예들에 적용 가능하다. 예를 들어, 도 5 내지 도 7에 도시된 메모리 시스템(100', 100", 100''')은 또한 보정의 필요성을 피하기 위해 구성 메모리들과 그와 연관된 신호 라인(들)을 포함하도록 유사하게 수정될 수 있다.
본 발명은 상기 메모리 소자들이, 상기 플래그 신호의 도달을 뒤따르는 소정 개수의 리드 클락 사이클에서 이전에 수용된 리드 명령과 연관된 데이터를 출력하도록 하는 하나 또는 그 이상의 플래그 신호들을 이용한다. 시스템을 초기화하는 동안, 보정 루틴이 리드 명령의 가정과 플래그 신호(들)의 가정 사이에서의 타이밍 지연을 유도하기 위해 수행된다. 선택적으로, 상기 타이밍 지연은 미리 결정되고 상기 메모리 모듈 상의 구성 메모리에 저장된다. 상기 타이밍 지연은 결과적으로 통상의 작동에서 상기 플래그 신호(들)를 가정하는데 사용된다. 상기 플래그 신호는 메모리 소자들의 시스템 리드 대기 시간을 일치시키는데 사용된다. 상기 플래그 신호들이 외부의 상기 메모리 모듈(예를 들어, 메모리 제어기에 의해)로 발생될 때에는, 상기 플래그 신호 라인에 연결된 메모리 소자들의 시스템 리드 대기 시간을 일치시키는데 사용될 수 있다. 선택적으로, 상기 플래그 신호들은 또한 온-모듈 로직(on-module logic)에 의해 각각의 메모리 모듈 내에서 발생될 수 있다. 만약 온-모듈 플래그 신호들이 상기 메모리 모듈을 떠나지 않는 경우에는, 다른 메모리 모듈들의 메모리 소자들의 시스템 리드 대기 시간을 일치시키는데 사용될 수 없다. 그러나, 상기 메모리 모듈의 메모리 소자들의 시스템 리드 대기 시간을 일치시키는데 사용될 수 있다.
위에서는 본 발명의 일정한 실시예가 설명되었지만, 본 발명의 사상과 범위를 벗어나지 않으면서 다양한 수정, 변화 및 동등한 부재로의 대체가 가능한 만큼, 본 발명은 이러한 특정 실시예들에 한정되지 않는다. 따라서, 본 발명의 범위는 상 술한 특정 구조의 상세 특성들에 의해 제한되는 것으로 간주되지는 않고, 다만 첨부된 특허청구범위의 범위에 의해 제한된다.

Claims (62)

  1. 메모리 어레이(2001);
    상기 메모리 어레이(2001)에 연결된 하나 이상의 데이터 신호 라인(401a);
    제어 회로(2000);
    리드 클락 신호(RCLK)를 수신하기 위해 상기 제어 회로(2000)에 연결된 리드 클락 신호 라인(402);
    플래그 신호(FL)를 수신하기 위해 상기 제어 회로(2000)에 연결되는 플래그 신호 라인(404); 및
    명령(CMD)을 수신하기 위해 상기 제어 회로(2000)에 연결되는 하나 이상의 명령 신호 라인(406)을 포함하고;
    상기 제어 회로(2000)는, 상기 제어 회로(2000)가 상기 플래그 신호(FL)를 수신한 후에, 소정 개수의 리드 클락 사이클에서 시작하면서, 메모리 소자(101)가 상기 하나 이상의 데이터 신호 라인(401a) 상의 이전에 받아들여진 명령과 연관된 상기 어레이(2001)로부터 데이터를 출력하도록 하는 것을 특징으로 하는 메모리 소자(101).
  2. 제1항에 있어서, 상기 이전에 받아들여진 명령은 리드 명령인 것을 특징으로 하는 메모리 소자(101).
  3. 제1항에 있어서, 상기 이전에 받아들여진 명령은 보정 명령인 것을 특징으로 하는 메모리 소자(101).
  4. 제3항에 있어서, 상기 출력 데이터는 보정 패턴인 것을 특징으로 하는 메모리 소자(101).
  5. 제4항에 있어서, 상기 보정 패턴은 다른 로직 상태를 가지는 두 개 이상의 연속적인 비트들을 포함하여 구성되는 것을 특징으로 하는 메모리 소자(101).
  6. 제5항에 있어서, 상기 보정 패턴은 그 첫 번째 비트가 이진수 0으로, 이후의 모든 비트가 이진수 1로 세팅된 것을 특징으로 하는 메모리 소자(101).
  7. 제5항에 있어서, 상기 보정 패턴은 그 첫 번째 비트가 이진수 1로, 이후의 모든 비트가 이진수 0으로 세팅된 것을 특징으로 하는 메모리 소자(101).
  8. 제1항에 있어서, 상기 메모리 소자(101)는 하나 이상의 다른 메모리 소자(102)와 함께 배치되고, 상기 메모리 소자(101) 및 각각의 하나 이상의 다른 메모리 소자(102)는 연결된 플래그 신호 라인들(404, 405)과 연결된 명령 신호 라인들(406)을 구비하며,
    각각의 메모리 소자(101)는, 상기 랭크의 각각의 메모리 소자(101)가 리드 명령을 수신한 후에 동일한 수의 리드 클락 사이클에서 그 각각의 플래그 신호 라인들(404, 405)을 따라서 상기 플래그 신호(FL)를 수신하는 것을 특징으로 하는 메모리 소자(101).
  9. 제1항에 있어서, 상기 메모리 소자(101)는 메모리 모듈(301) 상의 하나 이상의 다른 메모리 소자(102)와 함께 배치되고, 상기 메모리 모듈(301)과 각각의 하나 이상의 다른 메모리 소자(102)에는 상기 메모리 모듈(301) 상에 위치하는 플래그 발생 로직(410)에 연결된 그 플래그 신호 라인(404, 405)이 구비되는 것을 특징으로 하는 메모리 소자(101).
  10. 복수 개의 메모리 소자들(101)로 구성되고,
    상기 메모리 소자들(101)의 각각은,
    메모리 어레이(2001);
    상기 메모리 어레이(2001)에 연결된 하나 이상의 데이터 신호 라인(401a);
    제어 회로(2000);
    리드 클락 신호(RCLK)를 수신하기 위해 상기 제어 회로(2000)에 연결된 리드 클락 신호 라인(402);
    플래그 신호(FL)를 수신하기 위해 상기 제어 회로(2000)에 연결되는 플래그 신호 라인(404); 및
    리드 명령을 수신하기 위해 상기 제어 회로(2000)에 연결되는 하나 이상의 명령 신호 라인(406)으로 구성되며,
    상기 제어 회로(2000)는, 상기 제어 회로(2000)가 상기 플래그 신호(FL)를 수신한 후에, 소정 개수의 리드 클락 사이클에서 시작하면서, 상기 메모리 소자(101)가 상기 하나 이상의 데이터 신호 라인(401a) 상의 이전에 받아들여진 명령과 연관된 상기 어레이(2001)로부터 데이터를 출력하도록 하는 것을 특징으로 하는 메모리 모듈(301).
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 프로세서(500);
    상기 프로세서(500)에 연결된 메모리 제어기(400); 및
    제1 복수개의 메모리 소자들(101)을 갖는 제1 메모리 모듈(301)을 포함하고,
    상기 제1 복수개 메모리 소자들(101)은,
    리드 클락 신호(RCLK)를 수신하고, 제2 메모리 모듈(302)에 있는 제2 복수개 메모리 소자들(103)의 제2 리드 클락 신호 라인(402a)에 연결되는 제1 리드 클락 신호 라인(402a);
    명령(CMD)을 수신하기 위한 명령 신호 라인(406); 및
    상기 메모리 제어기로부터 플래그 신호(FL)를 수신하고, 상기 제1 및 제2 복수개 메모리 소자들(101, 103)에 연결되는 플래그 신호 라인(404)을 포함하며,
    상기 플래그 신호(FL)는, 상기 제1 및 제2 복수개 메모리 소자들(101, 103)이 상기 메모리 제어기에 의하여 상기 플래그 신호(FL)를 수신한 후에, 소정 개수의 리드 클락 사이클에서 시작하면서, 상기 명령 신호 라인(406) 상에서 수신된 이전에 받아들여진 명령에 대응하는 데이터를 출력하도록 하는 것을 특징으로 하는 컴퓨터 시스템.
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 메모리 제어기(400)로부터 명령을 수신하는 단계;
    플래그 신호 소스로부터 플래그 신호(FL)를 수신하는 단계;
    리드 클락 신호 소스로부터 리드 클락 신호(RCLK)를 수신하는 단계;
    상기 리드 클락 신호(RCLK)와 동기화 된 명령에 연관된 데이터를 출력하고, 상기 플래그 신호(FL)를 수신한 후에 소정 개수의 리드 클락 사이클로 시작하는 단계로 구성되는 것을 특징으로 하는 메모리 제어기(400), 리드 클락 신호 소스 및 플래그 신호 소스에 연결된 메모리 소자(101)를 동작시키는 방법.
  33. 제32항에 있어서, 상기 명령은 리드 명령인 것을 특징으로 하는 메모리 제어기(400), 리드 클락 신호 소스 및 플래그 신호 소스에 연결된 메모리 소자(101)를 동작시키는 방법.
  34. 제32항에 있어서, 상기 명령은 보정 명령인 것을 특징으로 하는 메모리 제어기(400), 리드 클락 신호 소스 및 플래그 신호 소스에 연결된 메모리 소자(101)를 동작시키는 방법.
  35. 제34항에 있어서, 상기 데이터는 보정 패턴인 것을 특징으로 하는 메모리 제어기(400), 리드 클락 신호 소스 및 플래그 신호 소스에 연결된 메모리 소자(101)를 동작시키는 방법.
  36. 제35항에 있어서, 상기 보정 패턴은 다른 로직 상태를 가지는 두 개 이상의 연속적인 비트들을 포함하여 구성되는 것을 특징으로 하는 메모리 제어기(400), 리드 클락 신호 소스 및 플래그 신호 소스에 연결된 메모리 소자(101)를 동작시키는 방법.
  37. 제36항에 있어서, 상기 보정 패턴은 그 첫 번째 비트가 이진수 0으로, 이후의 모든 비트가 이진수 1로 세팅된 것을 특징으로 하는 메모리 제어기(400), 리드 클락 신호 소스 및 플래그 신호 소스에 연결된 메모리 소자(101)를 동작시키는 방법.
  38. 제36항에 있어서, 상기 보정 패턴은 그 첫 번째 비트가 이진수 1로, 이후의 모든 비트가 이진수 0으로 세팅된 것을 특징으로 하는 메모리 제어기(400), 리드 클락 신호 소스 및 플래그 신호 소스에 연결된 메모리 소자(101)를 동작시키는 방법.
  39. 제32항에 있어서, 상기 리드 클락 소스는 메모리 제어기(400)이고, 상기 플래그 신호 소스도 메모리 제어기(400)인 것을 특징으로 하는 메모리 제어기(400), 리드 클락 신호 소스 및 플래그 신호 소스에 연결된 메모리 소자(101)를 동작시키는 방법.
  40. 제32항에 있어서, 상기 메모리 소자(101)는 메모리 모듈(301) 상에 위치하고, 상기 플래그 신호 소스는 상기 메모리 모듈(301) 상에 위치하는 플래그 발생 로직(410)인 것을 특징으로 하는 메모리 제어기(400), 리드 클락 신호 소스 및 플래그 신호 소스에 연결된 메모리 소자(101)를 동작시키는 방법.
  41. 삭제
  42. 삭제
  43. 하나 이상의 메모리 소자(101)를 구비하고 상기 하나 이상의 메모리 소자(101) 각각은, 하나 이상의 리드 클락 라인(402a), 하나 이상의 명령 라인(406), 하나 이상의 플래그 라인(404) 및 하나 이상의 데이터 라인(401a)을 통하여 메모리 제어기(400), 플래그 소스, 및 리드 클락 소스에 연결되는 메모리 시스템을 보정하는 방법으로서,
    제로 리드 클락 사이클로 타이밍 오프셋을 설정하는 단계(a);
    상기 메모리 제어기(400)로부터 하나 이상의 메모리 소자(101)에서 선택된 메모리 소자로 하나 이상의 명령 라인(406)을 통하여 보정 명령을 보내는 단계(b);
    플래그 신호(FL)를 하나 이상의 플래그 라인(404) 상으로 상기 메모리 제어기(400)로부터 보내되, 상기 플래그 신호(FL)가 상기 보정 명령이 보내진 때와 관련된 리드 클락 사이클들에서의 타이밍 오프셋과 동일한 지연 후에 보내지는 단계(c);
    상기 선택된 메모리 소자에서 플래그 신호(FL)가 언제 수신되었는지와 관련하여 소정 개수의 리드 클락 사이클들이 경과한 후에, 상기 플래그 신호(FL)를 선택된 메모리 소자에서 수신하고 참조 보정 패턴을 출력하는 단계(d);
    상기 플래그 신호(FL)가 상기 메모리 제어기(400)에서 수신된 시간으로부터 소정 개수의 리드 클락 사이클이 경과한 후에 시작하면서, 상기 메모리 제어기(400)에서 상기 플래그 라인(404) 상의 플래그 신호(FL)를 수신하고 상기 데이터 라인(401a)으로부터 데이터를 읽는 단계(e);
    상기 데이터가 상기 참조 보정 패턴에 대응하는 경우, 상기 타이밍 오프셋이 충분하다고 결론 내리는 단계(f);
    상기 데이터가 상기 참조 보정 패턴에 대응하지 않는 경우, 상기 타이밍 오프셋이 불충분하다고 결론 내리는 단계(g); 및
    상기 타이밍 오프셋을 하나의 리드 클락 사이클만큼 증가시키고, 상기 타이밍 오프셋이 불충분한 경우 상기 단계(b), (c), (d), (e), (f) 및 (g)를 반복하는 단계(h)로 구성되는 것을 특징으로 하는 메모리 시스템을 보정하는 방법.
  44. 제43항에 있어서, 상기 선택된 메모리 소자는 상기 메모리 제어기(400)로부터 가장 멀리 떨어져서 위치하는 것을 특징으로 하는 메모리 시스템을 보정하는 방법.
  45. 제44항에 있어서, 상기 메모리 시스템에는, 상기 메모리 제어기(400)로부터 가장 멀리 떨어진 것으로부터 가장 가까이 위치하는 메모리 소자까지 정렬된 복수 개의 메모리 소자들이 구비되고,
    각각의 나머지 메모리 소자에 대해 차례로 상기 단계(b), (c), (d), (e), (f), (g) 및 (h)를 반복하는 단계(i)를 더 포함하는 것을 특징으로 하는 메모리 시스템을 보정하는 방법.
  46. 복수 개의 메모리 소자들(101)에 차례로 리드 클락 신호를 제공하는 단계;
    리드 명령을 상기 메모리 소자들(101) 중의 하나에 보내는 단계;
    상기 리드 명령이 보내진 후, 첫 번째 소정 개수의 리드 클락 기간에 상기 하나의 메모리 소자로 플래그 신호(FL)를 보내는 단계; 및
    상기 플래그 신호가 상기 메모리 소자에서 수신된 후에, 두 번째 소정 개수의 리드 클락 기간에 상기 리드 명령과 연관된 데이터를 상기 메모리 소자(101)에 의해 출력하는 단계를 포함하는 것을 특징으로 하는 복수개의 메모리 소자들(101)에 대한 리드 대기 시간을 제어하는 방법.
  47. 제46항에 있어서, 상기 첫 번째 소정 개수의 리드 클락 기간과 상기 두 번째 소정 개수의 리드 클락 기간을 합하면 복수 개의 메모리 소자(101)에 대응하는 최소 소자 리드 대기 시간의 최대값보다 크거나 같은 것을 특징으로 하는 복수개의 메모리 소자들에 대한 리드 대기 시간을 제어하는 방법.
  48. 제46항에 있어서, 상기 두 번째 소정 개수의 리드 클락 사이클 기간은 4인 것을 특징으로 하는 복수개의 메모리 소자들에 대한 리드 대기 시간을 제어하는 방법.
  49. 복수 개의 메모리 소자들(101)을 포함하고,
    상기 메모리 소자들(101)의 각각은,
    메모리 어레이(2001);
    상기 메모리 어레이(2001)에 연결된 하나 이상의 데이터 신호 라인;
    제어 회로(2000);
    리드 클락 신호(RCLK)를 수신하기 위해 상기 제어 회로(2000)에 연결된 리드 클락 신호 라인(402);
    플래그 신호(FL)를 수신하기 위해 상기 제어 회로(2000)에 연결되는 플래그 신호 라인;
    리드 명령을 수신하기 위해 상기 제어 회로(2000)에 연결되는 하나 이상의 명령 신호 라인(406); 및,
    리드 명령과 플래그 신호(FL) 사이에서 외부의 메모리 제어기(400)가 대기하여야 하는 가정된 지연을 저장하는 구성 메모리(105)를 더 포함하며,
    여기에서 상기 제어 회로(2000)는, 상기 제어 회로(2000)가 상기 플래그 신호(FL)를 수신한 후에, 소정 개수의 리드 클락 사이클에서 시작하면서, 상기 메모리 소자(101)가 상기 하나 이상의 데이터 신호 라인 상의 이전에 받아들여진 명령과 연관된 상기 어레이(2001)로부터 데이터를 출력하도록 하는 것을 특징으로 하는 메모리 모듈(301).
  50. 제49항에 있어서, 상기 가정된 지연은 소자 최소 리드 대기 시간과 시스템 대기 시간으로 구성되는 것을 특징으로 하는 메모리 모듈(301).
  51. 프로세서(500);
    상기 프로세서(500)에 연결된 메모리 제어기(400); 및
    상기 메모리 제어기(400)에 연결되고 각각에 복수 개의 메모리 소자들(101)이 구비되며, 하나 이상의 세트로 조직된 하나 이상의 메모리 모듈(301)을 포함하고,
    상기 복수 개의 메모리 소자들(101)의 각각은,
    리드 클락 신호(RCLK)를 수신하고, 하나 이상의 메모리 모듈(301) 중에서 다른 메모리 모듈들(302)에 있는 대응하는 메모리 소자들(101)의 리드 클락 신호 라인들(402a)에 연결되는 리드 클락 신호 라인(402a);
    명령(CMD)을 수신하기 위한 하나 이상의 명령 신호 라인(406); 및
    플래그 신호(FL)를 수신하고, 하나 이상의 메모리 모듈(301) 중에서 다른 메모리 모듈들(302)에 있는 대응하는 메모리 소자들(101)의 플래그 신호 라인들(404)에 연결되는 플래그 신호 라인(404)을 포함하며,
    상기 플래그 신호(FL)는, 상기 메모리 소자(101)가 상기 플래그 신호(FL)를 수신한 후에, 소정 개수의 리드 클락 사이클에서 시작하면서, 상기 명령 신호 라인 상에서 수신된 이전에 받아들여진 명령에 대응하는 데이터를 출력하도록 하고,
    상기 하나 이상의 메모리 모듈(301) 각각은, 리드 명령과 플래그(FL) 신호 사이에서 메모리 제어기(400)가 대기하여야 하는 가정된 지연을 저장하는 구성 메모리(105)를 더 포함하여 구성되는 것을 특징으로 하는 컴퓨터 시스템.
  52. 제51항에 있어서, 상기 가정된 지연은 소자 최소 리드 대기 시간과 시스템 대기 시간으로 구성되는 것을 특징으로 하는 컴퓨터 시스템.
  53. 프로세서(500);
    상기 프로세서(500)에 연결된 메모리 제어기(400); 및
    상기 메모리 제어기(400)에 연결되고, 각각에 하나 이상의 메모리 소자(101) 세트가 구비되는 하나 이상의 메모리 모듈(301)로 구성되고,
    상기 하나 이상의 메모리 소자(101) 세트는,
    플래그 발생 로직(410); 및
    복수 개의 메모리 소자들(101)을 더 포함하여 구성되며,
    상기 메모리 소자들(101) 각각은,
    리드 클락 신호(RCLK)를 수신하고, 하나 이상의 메모리 모듈(301) 중에서 다른 메모리 모듈들(302)에 있는 대응하는 다른 메모리 소자들(103)의 리드 클락 신호 라인들(402a)에 연결되는 리드 클락 신호 라인(402a);
    명령(CMD)을 수신하기 위한 하나 이상의 명령 신호 라인(406);
    상기 메모리 어레이(2001)에 연결되는 하나 이상의 데이터 신호 라인(401a); 및
    플래그 신호(FL)를 수신하기 위해 플래그 발생 로직(410)에 연결된 플래그 신호 라인(404)을 포함하며,
    여기에서, 상기 플래그 신호(FL)는, 상기 메모리 소자(101)가 상기 플래그 신호(FL)를 수신한 후에, 소정 개수의 리드 클락 사이클에서 시작하면서, 상기 명령 신호 라인(406) 상에서 수신된 이전에 받아들여진 명령에 대응하는 상기 데이터 신호 라인(401a) 상의 데이터를 출력하도록 하고,
    상기 하나 이상의 메모리 모듈(301) 각각은, 복수 개의 플래그 신호들(FL)을 발생시키는 시기를 결정하기 위해 상기 플래그 발생 로직(410)에 의해 사용되는 가정된 지연을 저장하는 구성 메모리(105)를 더 포함하여 구성되는 것을 특징으로 하는 컴퓨터 시스템.
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 메모리 어레이(2001);
    제어 회로(2000);
    리드 클락 신호(RCLK)를 수신하기 위해 제1 단말에서 상기 제어 회로(2000)에 연결되고, 상기 리드 클락 신호(RCLK)를 상기 제어 회로(2000)로 리턴시키기 위하여 제2 단말에서 상기 제어 회로(2000)와 연결되는 리드 클락 신호 라인(402a);
    플래그 신호(FL)를 수신하기 위해 제3 단말에서 상기 제어 회로(2000)에 연결되고, 상기 플래그 신호(FL)를 상기 제어 회로(2000)로 리턴시키기 위하여 제4 단말에서 상기 제어 회로(2000)와 연결되는 플래그 신호 라인(404)을 포함하되,
    상기 플래그 신호 라인(404)과 상기 리드 클락 신호 라인(402a)은 동등한 신호 전파 시간을 갖도록 라우팅되는 것을 특징으로 하는 메모리 소자(101).
  59. 제 58 항에 있어서, 상기 제어 회로(2000)는 상기 제4 단말에서 상기 플래그 신호(FL)를 수신한 후에, 상기 메모리 어레이(2001)로부터 유한한 대기 시간에서 보정 신호를 수신하도록 적응되어 있는 것을 특징으로 하는 메모리 소자(101).
  60. 메모리 소자(101)의 제어 입력에서 리드 명령을 수신하는 단계;
    메모리 제어기(400)의 플래그 출력으로부터 특정한 전기적 거리를 가로지르는 플래그 신호(FL)를 수신하는 단계;
    상기 플래그 신호(FL)를 수신한 후에 출력 시간까지 소정 시간을 기다리는 단계; 및
    상기 출력 시간에 상기 메모리 소자(101)로부터의 데이타 값을 출력하는 단계를 포함하는 것을 특징으로 하는 메모리 소자(101) 구동 방법.
  61. 제 60 항에 있어서, 상기 소정 시간을 기다리는 단계는,
    상기 메모리 소자(101)에서 수신되는 자유 러닝 클락 신호의 클락 사이클을 소정 갯수 계수하는 단계; 및
    상기 소정 갯수의 클락 사이클 후에 상기 메모리 소자(101)의 쓰기 데이타 경로를 활성화시키는 단계를 포함하는 것을 특징으로 하는 메모리 소자(101) 구동 방법.
  62. 제 60 항에 있어서, 상기 소정 시간은 보정 과정에 의하여 결정되며, 상기 보정 과정은
    상기 메모리 소자(101)의 상기 제어 입력에서 보정 명령을 수신하는 단계;
    저장된 기준 계수 값이 제로 클락 사이클과 일치하도록 세팅하는 단계;
    상기 메모리 소자(101)에서 상기 메모리 제어기(400)로부터 상기 플래그 신호(FL)를 수신하는 단계;
    상기 메모리 소자(101)로부터 보정 데이터 값을 즉시 출력하는 단계;
    상기 메모리 소자(101)에서 부여된 소자 대기 시간에 대응하는 지연 값을 상기 메모리 제어기(400)로부터 수신하는 단계; 및
    상기 기준값을 상기 지연 값과 일치하도록 세팅하는 단계를 포함하는 것을 특징으로 하는 메모리 소자(101) 구동 방법.
KR1020037011014A 2001-02-23 2002-02-01 고속 메모리 시스템에서의 리드 타이밍 동기화 방법 KR100626506B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/790,538 US6445624B1 (en) 2001-02-23 2001-02-23 Method of synchronizing read timing in a high speed memory system
US09/790,538 2001-02-23
PCT/US2002/002764 WO2002069341A2 (en) 2001-02-23 2002-02-01 A method of synchronizing read timing in a high speed memory system

Publications (2)

Publication Number Publication Date
KR20040005877A KR20040005877A (ko) 2004-01-16
KR100626506B1 true KR100626506B1 (ko) 2006-09-20

Family

ID=25150999

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037011014A KR100626506B1 (ko) 2001-02-23 2002-02-01 고속 메모리 시스템에서의 리드 타이밍 동기화 방법

Country Status (8)

Country Link
US (3) US6445624B1 (ko)
EP (1) EP1374244B1 (ko)
JP (2) JP4030875B2 (ko)
KR (1) KR100626506B1 (ko)
CN (1) CN100385570C (ko)
AT (1) ATE303649T1 (ko)
DE (1) DE60205877T2 (ko)
WO (1) WO2002069341A2 (ko)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6445624B1 (en) * 2001-02-23 2002-09-03 Micron Technology, Inc. Method of synchronizing read timing in a high speed memory system
US6901471B2 (en) * 2001-03-01 2005-05-31 Synopsys, Inc. Transceiver macrocell architecture allowing upstream and downstream operation
US6658523B2 (en) * 2001-03-13 2003-12-02 Micron Technology, Inc. System latency levelization for read data
US8391039B2 (en) * 2001-04-24 2013-03-05 Rambus Inc. Memory module with termination component
US6675272B2 (en) 2001-04-24 2004-01-06 Rambus Inc. Method and apparatus for coordinating memory operations among diversely-located memory components
DE10123769C1 (de) * 2001-05-16 2002-12-12 Infineon Technologies Ag Verfahren zur Anpassung unterschiedlicher Signallaufzeiten zwischen einer Steuerung und wenigstens zweier Verarbeitungseinheiten sowie Rechnersystem
US6697926B2 (en) * 2001-06-06 2004-02-24 Micron Technology, Inc. Method and apparatus for determining actual write latency and accurately aligning the start of data capture with the arrival of data at a memory device
DE10149031A1 (de) * 2001-10-05 2003-04-24 Infineon Technologies Ag Speichervorrichtung
US6941433B1 (en) * 2002-05-22 2005-09-06 Juniper Networks, Inc. Systems and methods for memory read response latency detection
JP3866618B2 (ja) * 2002-06-13 2007-01-10 エルピーダメモリ株式会社 メモリシステム及びその制御方法
JP4159415B2 (ja) * 2002-08-23 2008-10-01 エルピーダメモリ株式会社 メモリモジュール及びメモリシステム
US6851032B2 (en) 2002-08-16 2005-02-01 Micron Technology, Inc. Latency reduction using negative clock edge and read flags
US20040078615A1 (en) * 2002-10-17 2004-04-22 Intel Corporation (A Delaware Corporation) Multi-module system, distribution circuit and their methods of operation
US7142461B2 (en) * 2002-11-20 2006-11-28 Micron Technology, Inc. Active termination control though on module register
US7149841B2 (en) * 2003-03-31 2006-12-12 Micron Technology, Inc. Memory devices with buffered command address bus
US6947349B1 (en) 2003-09-03 2005-09-20 T-Ram, Inc. Apparatus and method for producing an output clock pulse and output clock generator using same
US7089439B1 (en) 2003-09-03 2006-08-08 T-Ram, Inc. Architecture and method for output clock generation on a high speed memory device
US6891774B1 (en) 2003-09-03 2005-05-10 T-Ram, Inc. Delay line and output clock generator using same
US7464282B1 (en) 2003-09-03 2008-12-09 T-Ram Semiconductor, Inc. Apparatus and method for producing dummy data and output clock generator using same
US7299329B2 (en) 2004-01-29 2007-11-20 Micron Technology, Inc. Dual edge command in DRAM
DE102004015868A1 (de) * 2004-03-31 2005-10-27 Micron Technology, Inc. Rekonstruktion der Signalzeitgebung in integrierten Schaltungen
KR100840441B1 (ko) * 2004-03-31 2008-06-20 마이크론 테크놀로지, 인크. 집적 회로들에서의 신호 타이밍의 재구성
US7296129B2 (en) 2004-07-30 2007-11-13 International Business Machines Corporation System, method and storage medium for providing a serialized memory interface with a bus repeater
US7519877B2 (en) * 2004-08-10 2009-04-14 Micron Technology, Inc. Memory with test mode output
US7301831B2 (en) 2004-09-15 2007-11-27 Rambus Inc. Memory systems with variable delays for write data signals
US7542322B2 (en) * 2004-09-30 2009-06-02 Intel Corporation Buffered continuous multi-drop clock ring
US7331010B2 (en) 2004-10-29 2008-02-12 International Business Machines Corporation System, method and storage medium for providing fault detection and correction in a memory subsystem
US7305574B2 (en) * 2004-10-29 2007-12-04 International Business Machines Corporation System, method and storage medium for bus calibration in a memory subsystem
US7512762B2 (en) 2004-10-29 2009-03-31 International Business Machines Corporation System, method and storage medium for a memory subsystem with positional read data latency
US7299313B2 (en) 2004-10-29 2007-11-20 International Business Machines Corporation System, method and storage medium for a memory subsystem command interface
US7966439B1 (en) * 2004-11-24 2011-06-21 Nvidia Corporation Apparatus, system, and method for a fast data return memory controller
KR100588599B1 (ko) * 2005-05-03 2006-06-14 삼성전자주식회사 메모리 모듈 및 메모리 시스템
US7187599B2 (en) 2005-05-25 2007-03-06 Infineon Technologies North America Corp. Integrated circuit chip having a first delay circuit trimmed via a second delay circuit
KR100717113B1 (ko) * 2005-09-12 2007-05-10 삼성전자주식회사 반도체 메모리 모듈 및 반도체 메모리 시스템
US7397684B2 (en) * 2005-09-15 2008-07-08 Infineon Technologies, Ag Semiconductor memory array with serial control/address bus
US7478259B2 (en) 2005-10-31 2009-01-13 International Business Machines Corporation System, method and storage medium for deriving clocks in a memory system
US7685392B2 (en) 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
US7669086B2 (en) 2006-08-02 2010-02-23 International Business Machines Corporation Systems and methods for providing collision detection in a memory system
US7539842B2 (en) * 2006-08-15 2009-05-26 International Business Machines Corporation Computer memory system for selecting memory buses according to physical memory organization information stored in virtual address translation tables
US7870459B2 (en) 2006-10-23 2011-01-11 International Business Machines Corporation High density high reliability memory module with power gating and a fault tolerant address and command bus
US7721140B2 (en) 2007-01-02 2010-05-18 International Business Machines Corporation Systems and methods for improving serviceability of a memory system
EP2158544B1 (en) * 2007-06-12 2012-08-08 Rambus Inc. In-dram cycle-based levelization
US8098539B2 (en) * 2009-08-26 2012-01-17 Qualcomm Incorporated Hybrid single and dual channel DDR interface scheme by interleaving address/control signals during dual channel operation
US8312193B2 (en) * 2010-01-08 2012-11-13 International Business Machines Corporation Eager protocol on a cache pipeline dataflow
KR101132797B1 (ko) * 2010-03-30 2012-04-02 주식회사 하이닉스반도체 모듈제어회로를 포함하는 반도체모듈 및 반도체모듈의 제어방법
US9021181B1 (en) * 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US9025364B2 (en) 2013-03-14 2015-05-05 Micron Technology, Inc. Selective self-reference read
JP2015056129A (ja) * 2013-09-13 2015-03-23 キヤノン株式会社 メモリコントローラ及び印刷装置
CN105677320B (zh) * 2015-12-28 2019-06-21 小米科技有限责任公司 一种设置等待时长的方法和装置
US10558388B2 (en) * 2016-03-03 2020-02-11 Samsung Electronics Co., Ltd. Memory system and method of controlling the same
US10592114B2 (en) 2016-03-03 2020-03-17 Samsung Electronics Co., Ltd. Coordinated in-module RAS features for synchronous DDR compatible memory
KR102601143B1 (ko) * 2018-10-29 2023-11-13 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US11609868B1 (en) 2020-12-31 2023-03-21 Waymo Llc Control calibration timing to avoid memory write blackout period
KR20220101502A (ko) 2021-01-11 2022-07-19 에스케이하이닉스 주식회사 메모리 장치, 이를 포함하는 메모리 시스템 및 그것의 동작 방법
CN116206648B (zh) * 2022-01-27 2024-02-20 北京超弦存储器研究院 动态存储器及其读写方法、存储装置
CN115080469A (zh) * 2022-05-13 2022-09-20 珠海全志科技股份有限公司 一种存储器传输时延校准方法及装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4519034A (en) 1982-06-30 1985-05-21 Elxsi I/O Bus clock
JPH05250280A (ja) * 1992-03-09 1993-09-28 Fujitsu Ltd データ転送方法
US5748914A (en) 1995-10-19 1998-05-05 Rambus, Inc. Protocol for communication with dynamic memory
US5917760A (en) * 1996-09-20 1999-06-29 Sldram, Inc. De-skewing data signals in a memory system
JPH1166851A (ja) * 1997-08-21 1999-03-09 Mitsubishi Electric Corp クロックシフト回路装置、クロックシフト回路およびこれを用いた同期型半導体記憶装置
JP3832947B2 (ja) * 1997-11-14 2006-10-11 富士通株式会社 データ転送メモリ装置
JP2000011681A (ja) * 1998-06-22 2000-01-14 Mitsubishi Electric Corp 同期型半導体記憶装置
JP2000076122A (ja) * 1998-08-31 2000-03-14 Hitachi Ltd データ処理装置
JP2000163965A (ja) * 1998-11-27 2000-06-16 Mitsubishi Electric Corp 同期型半導体記憶装置
JP3706772B2 (ja) * 1999-07-12 2005-10-19 富士通株式会社 半導体集積回路
DE60019081D1 (de) * 2000-01-31 2005-05-04 St Microelectronics Srl Verschachtelter Burst-Speicher mit Burst-Zugriff bei synchronen Lesezyklen, wobei die beiden untergeordneten Speicherfelder unabhängig lesbar sind mit wahlfreiem Zugriff während asynchroner Lesezyklen
US6445624B1 (en) * 2001-02-23 2002-09-03 Micron Technology, Inc. Method of synchronizing read timing in a high speed memory system

Also Published As

Publication number Publication date
WO2002069341A3 (en) 2002-11-28
DE60205877D1 (de) 2005-10-06
US20020118578A1 (en) 2002-08-29
WO2002069341A2 (en) 2002-09-06
JP5415677B2 (ja) 2014-02-12
US20030002355A1 (en) 2003-01-02
US6445624B1 (en) 2002-09-03
JP2004525453A (ja) 2004-08-19
JP4030875B2 (ja) 2008-01-09
US6847583B2 (en) 2005-01-25
JP2007299522A (ja) 2007-11-15
CN100385570C (zh) 2008-04-30
ATE303649T1 (de) 2005-09-15
KR20040005877A (ko) 2004-01-16
US6724666B2 (en) 2004-04-20
EP1374244A2 (en) 2004-01-02
EP1374244B1 (en) 2005-08-31
DE60205877T2 (de) 2006-06-29
US20040160832A1 (en) 2004-08-19
CN1503974A (zh) 2004-06-09

Similar Documents

Publication Publication Date Title
KR100626506B1 (ko) 고속 메모리 시스템에서의 리드 타이밍 동기화 방법
KR100607740B1 (ko) 읽기 데이터를 위한 시스템 레이턴시 평준화 방법 및장치
KR100450672B1 (ko) 포인트 대 포인트 버스 구성을 갖는 메모리 시스템
US8751754B2 (en) Memory systems and methods for controlling the timing of receiving read data
US6697926B2 (en) Method and apparatus for determining actual write latency and accurately aligning the start of data capture with the arrival of data at a memory device
US6680866B2 (en) Clock synchronous semiconductor memory device
KR100623801B1 (ko) 반도체 메모리 비동기식 파이프라인
JP2007012270A (ja) ダイナミック・ランダム・アクセス・メモリ・システム
JPH11213666A (ja) 出力回路および同期型半導体記憶装置
JPH1021684A (ja) 同期型半導体記憶装置
KR100567609B1 (ko) 데이터 기록 방법 및 그 방법을 이용하는 메모리 시스템
JPH10340596A (ja) データ記憶装置および半導体記憶装置
JPS6349808B2 (ko)

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090910

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee