KR100438736B1 - 어드레스 라인을 이용해 데이터 쓰기를 수행하는 메모리제어 장치 - Google Patents

어드레스 라인을 이용해 데이터 쓰기를 수행하는 메모리제어 장치 Download PDF

Info

Publication number
KR100438736B1
KR100438736B1 KR10-2002-0060523A KR20020060523A KR100438736B1 KR 100438736 B1 KR100438736 B1 KR 100438736B1 KR 20020060523 A KR20020060523 A KR 20020060523A KR 100438736 B1 KR100438736 B1 KR 100438736B1
Authority
KR
South Korea
Prior art keywords
data
address
memory module
memory
read
Prior art date
Application number
KR10-2002-0060523A
Other languages
English (en)
Other versions
KR20040031155A (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 KR10-2002-0060523A priority Critical patent/KR100438736B1/ko
Priority to US10/676,262 priority patent/US7117307B2/en
Priority to JP2003346844A priority patent/JP2004127305A/ja
Publication of KR20040031155A publication Critical patent/KR20040031155A/ko
Application granted granted Critical
Publication of KR100438736B1 publication Critical patent/KR100438736B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • 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

Abstract

본 발명은 메모리 제어 장치에 관한 것으로서, 시스템의 상위 모듈로부터 메모리 모듈의 데이터를 판독하거나 메모리 모듈에 데이터를 기록하라는 명령을 입력받아 메모리 모듈 억세스를 제어하는 장치는, 판독 또는 기록할 데이터의 어드레스 및, 기록할 데이터를 어드레스 라인을 통해 메모리 모듈로 전송하는 제1전송부; 및 메모리 모듈로부터 판독한 데이터를 데이터 전송 라인을 통해 시스템의 상위 모듈로 전송하는 제2전송부를 포함함을 특징으로 한다.
본 발명에 의하면, 기록과 판독 데이터의 전송 라인을 달리하여 메모리로부터 데이터 억세스시 병목현상이 해소됨으로써 빠른 전송률과 안정적 전송을 가능하게 한다.

Description

어드레스 라인을 이용해 데이터 쓰기를 수행하는 메모리 제어 장치{Memory control apparatus of performing data writing on address line}
본 발명은 반도체 메모리 억세스 제어에 관한 것으로서, 보다 상세하게는 메모리 쓰기 접근시 동일한 전송 방향을 가지는 어드레스 라인을 통해 데이터 쓰기 전송을 수행하는 메모리 제어 장치에 관한 것이다.
최근 디램 개발 분야에서 특히 차세대 디램으로서 각광 받고 있는 것이 디디알 에스디램(double data rate SDRAM), 램버스 디램(RANBUS DRAM)과 같은 동기식 디램(SDRAM, synchronous DRAM)이다. 이들은 일반 디램에 비해 고속 데이터 억세스 동작이 가능하여 향후 램 시장을 주도할 것으로 기대되고 있다.
도 1은 일반적인 DDR SDRAM의 판독 및 쓰기시의 메모리 억세스 제어 방식을 보이기 위해, 메모리 제어기와 메모리 모듈을 간략히 도시한 것이다.
메모리 제어기(100)는 어드레스 래치(AL, Address bus latch buffer)(101), 메모리 어드레스 대기열(MAQ, Memory address queue)(102), 데이터 래치(DL, Data bus latch buffer)(103), 판독 데이터 대기열(RDQ, Read data queue)(104) 및 쓰기 데이터 대기열(WDQ, Write data queue)(105)을 포함한다.
어드레스 래치(101)는 시스템에서 메모리 제어기(100)로 입력되는 어드레스 데이터를 래치한다.
MAQ(102)는 어드레스 래치(101)로부터 전송된 어드레스 데이터를 순차적으로 저장해 출력 대기시키는 버퍼이다. 어드레스 데이터는 컬럼(column) 어드레스 데이터와 로우(row) 어드레스 데이터를 포함하고, 각 컬럼 어드레스 데이터와 로우 어드레스 데이터는 각각 12비트의 어드레스 전송 라인을 통해 출력된다.
데이터 래치(103)는 시스템으로부터 메모리 제어기(100)로 입력되거나(쓰기 데이터) 시스템으로 나가는 데이터(판독 데이터)를 래치한다.
RDQ(104)는 메모리 모듈(110)에서 읽어 들인 판독 데이터를 차례로 저장한 후 데이터 래치(103)로 출력 대기시키는 버퍼이다.
WDQ(105)는 데이터 래치(103)로부터 전송된, 메모리 모듈(110)에 저장할 쓰기 데이터를 차례로 저장한 후 메모리 모듈(110)로 출력 대기시키는 버퍼이다.
메모리 모듈(110)은 메모리 제어기(100)로부터 제공된 컬럼 어드레스 데이터를 해석하는 레지스터(CA)(111), 로우 어드레스 데이터를 해석하는 로우 어드레스를 해석하는 레지스터(RA)(112), CA와 RA로부터 해석된 어드레스 행열로 이뤄진 메모리 셀(113), 메모리 셀(113)에서 판독한 데이터를 임시 저장하는 판독 데이터 버퍼(Rd, Read data buffer)(114) 및 메모리 셀(113)에 기록될 데이터를 임시 저장하는 버퍼(Wr, Write data buffer)(115)를 포함한다.
도 1과 같은 일반적인 메모리 장치에서 메모리 제어기(100)가 메모리 모듈에 접근하는 동작은 다음과 같다.
먼저, 인터페이스부나 CPU(미도시)와 같은 시스템의 소정 부분으로부터 시스템 버스(미도시)를 통해 들어 오는 어드레스 데이터나 데이터를 각각 어드레스 래치(AL)(101)와 데이터 래치(DL)(103)가 순차적으로 래치한다. 래치된 어드레스 데이터는 컬럼 어드레스와 로우 어드레스로 분류되어 인코딩된 후 어드레스 큐, MAQ(102)에 순차적으로 저장된다. 메모리 모듈 접근 프로토콜에 따라 판독 또는 쓰기 상태로의 천이를 수행한다.
판독 또는 쓰기 상태에 따라 데이터 전송이 달라진다. 메모리 판독 상태로 천이되었을 때, 데이터 라인을 통해 메모리 모듈(110)에서 메모리 제어기(100)로풀-바이트(full-byte, 8 byte 또는 16 byte)의 데이터가 전송된다. 전송된 데이터는 메모리 제어기의 판독 데이터 큐, RDQ(113)에 순차적으로 저장된다. 데이터 래치를 통해 이 데이터를 시스템 버스로 출력시키면 메모리로부터의 데이터 판독이 완료된다. 데이터 판독 후 다음 상태 천이를 위해 상태는 아이들(idle) 상태로 돌아간다.
메모리 쓰기로 상태 천이가 이뤄질 때, 데이터의 바이트 수에 따라 쓰기 종류는 부분 쓰기(partial-write)와 전체 쓰기(full-write)로 구분되는데, 직접 메모리 억세스(DMA) 전송과 같은 방식을 제외하고는 대부분 부분 쓰기 방식이 사용된다. 전체 쓰기 방식은 전체 데이터 바이트를 한꺼번에 쓰는 방식이고 부분 방식은 전체 데이터 중 바이트 별로 데이터 쓰기를 할 수 있는 방식이다.
부분 쓰기 전송시, 1 바이트를 수정하기 위해 먼저, 해당 어드레스의 8 바이트 또는 16 바이트의 메모리 모듈로부터 데이터 라인을 통해 데이터를 읽어 온다. 수정해야 할 바이트 영역을 메모리 제어기(100)에서 수정한 후, 수정된 8 바이트(16 바이트)를 다시 데이터 라인을 거쳐 메모리 모듈로 전송한다. 메모리 쓰기 상태를 완료하면 메모리 제어기(100)는 아이들 상태로 복귀한다.
도 2는 도 1과 같은 종래의 메모리 판독 및 쓰기 접근 제어시 가능한 신호 흐름의 예를 도시한 타이밍도이다.
시스템 클록 신호(CK)에 동기해, 어드레스 라인을 통해 소정 프로토콜에 따라 판독시의 로우 어드레스 및 컬럼 어드레스와 쓰기시의 로우 어드레스 및 컬럼 어드레스 데이터가 전송된다. 이때 컬럼 어드레스와 로우 어드레스 데이터는 각각카스(CAS, Column address strobe) 신호와 라스(RAS, Row address strobe) 신호에 동기하여 전송된다. CAS나 RAS 신호 및 클럭 신호들은 모두 시스템의 상위 모듈에서 발생되어 하위 모듈의 메모리 장치로 입력되고, 이들의 타이밍에 맞춰 소정 프로토콜에 따라 어드레스가 전송된다.
도 2의 타이밍도에서 판독 어드레스와 쓰기 어드레스가 매우 가까운 시간 간격을 두고 발생할 때, 메모리 모듈(110)에서 판독되어 데이터 라인을 통해 메모리 제어기(100)로 오는 판독 데이터(read data)와, 쓰기(기록)시 메모리 제어기(100)에서 메모리 모듈(110)로 전송되어 나가는 쓰기 데이터(write data)가 동일한 데이터 라인에서 병목되는 현상이 발생할 수 있다. 이를 피하려면 판독과 쓰기 사이에 메모리 억세스의 시간 갭(gap)을 충분히 마련해야 한다. 즉, 한 상태에서의 전송이 완료될 때까지 충분히 기다린 후, 다음 상태로의 상태 천이가 이뤄져야 한다. 그러나 이러한 판독(읽기) 및 쓰기 상태들 사이의 천이 지연은 데이터 처리 지연을 가져와 시스템의 전체적인 성능 저하를 유발할 수 있다. 또한, 부분 쓰기(partial-write) 전송시 해당 부분의 데이터를 수정하기 위해 먼저 전체 읽기(full-read) 사이클로 메모리 모듈(110)로부터 수정될 데이터를 읽어 와야 하는데 이로 인한 판독-쓰기 사이클 방식의 번거로움이 발생한다. 이 역시 판독되는 사이클 만큼의 처리 속도 지연이 발생되어, 다른 전송의 처리 대기 시간을 연장시키는 문제점을 가진다.
본 발명이 이루고자 하는 기술적 과제는, 메모리의 판독 및 쓰기시 발생 가능한 데이터 병목 현상을 제거하고 데이터 처리 속도를 높이기 위한 메모리 제어 장치를 제공하는데 있다.
도 1은 일반적인 DDR SDRAM의 판독 및 쓰기시의 메모리 억세스 제어 방식을 보이기 위해, 메모리 제어기와 메모리 모듈을 간략히 도시한 것이다.
도 2는 도 1과 같은 종래의 메모리 판독 및 쓰기 접근 제어시 가능한 신호 흐름의 예를 도시한 타이밍도이다.
도 3은 본 발명의 메모리 제어 장치를 간략하게 도시한 것이다.
도 4는 본 발명의 메모리 제어 장치의 일실시예를 도시한 것이다.
도 5는 도 4의 메모리 제어 장치에서의 데이터 판독 및 기록 관련 타이밍도의 일실시예이다.
도 6은 본 발명의 메모리 제어 장치의 제2실시예를 도시한 것이다.
도 7은 본 발명의 메모리 제어 장치에서 메모리 기록시의 제어 방법을 설명하기 위한 예시도이다.
상기 과제를 해결하기 위한, 시스템의 상위 모듈로부터 메모리 모듈의 데이터를 판독하거나 메모리 모듈에 데이터를 기록하라는 명령을 입력받아 메모리 모듈 억세스를 제어하는 장치는, 판독 또는 기록할 데이터의 어드레스 및, 기록할 데이터를 어드레스 라인을 통해 메모리 모듈로 전송하는 제1전송부; 및 메모리 모듈로부터 판독한 데이터를 데이터 전송 라인을 통해 시스템의 상위 모듈로 전송하는 제2전송부를 포함함을 특징으로 한다.
제1전송부는 시스템의 상위 모듈로부터 입력된, 판독 또는 기록할 데이터의 어드레스와 기록할 데이터를 차례로 저장해 메모리 모듈로 전송 대기하는 어드레스 큐(queue)를 포함함이 바람직하다.
상기 제1전송부를 이용한 데이터 기록시, 기록할 위치 어드레스는 제1전송부의 어드레스 큐에 먼저 저장되고, 기록할 데이터가 다음에 저장되어, 먼저 저장된 순서대로 어드레스 라인을 통해 메모리 모듈로 전송됨이 바람직하다.
제2전송부는 메모리 모듈로부터 판독한 데이터를 데이터 전송 라인을 통해 차례로 수신 및 저장해, 시스템의 상위 모듈로 전송 대기하는 데이터 큐를 포함함이 바람직하다.
제1전송부는 시스템의 상위 모듈로부터 입력된 어드레스를 차례로 저장해 어드레스 전송 라인을 통해 메모리 모듈로 전송하는 어드레스 큐를 포함하고, 제2전송부는 상위 모듈에서 입력된 기록할 데이터를 차례로 저장해 어드레스 라인을 통해 메모리 모듈로 전송하는 기록 데이터 큐 및, 메모리 모듈로부터 데이터 라인을 통해 수신한 판독 데이터를 차례로 저장해 상위 모듈로 전송하는 판독 데이터 큐를 포함함이 바람직하다.
상기 제1, 제2전송부를 이용한 데이터 기록시 어드레스 큐에 저장된 어드레스가 어드레스 라인을 통해 메모리 모듈로 먼저 전송되고, 소정 타이밍 후에 기록 데이터 큐에 저장된 데이터가 상기 어드레스 라인을 통해 메모리 모듈로 전송됨이 바람직하다.
상기 과제를 해결하기 위한, 시스템의 상위 모듈로부터 메모리 모듈의 데이터를 판독하거나 메모리 모듈에 데이터를 기록하라는 명령을 입력받아 메모리 모듈 억세스를 제어하는 장치는, 어드레스 데이터를 래치하는 어드레스 래치; 판독했거나 기록할 데이터를 래치하는 데이터 래치; 어드레스 래치로부터 수신된 어드레스와, 데이터 래치로부터 수신된 기록할 데이터를 차례로 저장해, 어드레스 라인을 통해 메모리 모듈로 차례로 전송하는 어드레스 및 기록 데이터 큐; 및 메모리 모듈로부터 데이터 라인을 통해 수신한 판독 데이터를 차례로 저장해 상위 모듈로 전송하는 데이터 큐를 포함함을 특징으로 한다.
상기 과제를 해결하기 위한, 시스템의 상위 모듈로부터 메모리 모듈의 데이터를 판독하거나 메모리 모듈에 데이터를 기록하라는 명령을 입력받아 메모리 모듈 억세스를 제어하는 장치는, 어드레스 데이터를 래치하는 어드레스 래치; 판독했거나 기록할 데이터를 래치하는 데이터 래치; 어드레스 래치로부터 수신된 어드레스를 차례로 저장해, 어드레스 라인을 통해 메모리 모듈로 차례로 전송하는 어드레스 큐; 데이터 래치로부터 수신된 기록할 데이터를 차례로 저장해, 어드레스 라인을 통해 메모리 모듈로 차례로 전송하는 기록 데이터 큐; 및 메모리 모듈로부터 데이터 라인을 통해 수신한 판독 데이터를 차례로 저장해 상위 모듈로 전송하는 판독 데이터 큐를 포함함을 특징으로 한다.
상기 과제를 해결하기 위한, 시스템의 상위 모듈로부터 발생한 메모리 판독 또는 기록 명령을 수행하는 메모리 제어 장치는, 어드레스와 기록할 데이터를 어드레스 라인을 통해 전송하고, 판독한 데이터는 데이터 라인을 통해 수신하는 메모리 제어기; 및 어드레스와 기록 데이터를 분리해 각각 메모리 버퍼와 기록 데이터 버퍼로 보낸 후 메모리셀에 기록을 수행하고, 메모리에서 읽은 판독 데이터는 데이터 라인을 통해 메모리 제어기로 전송하는 메모리 모듈을 포함함을 특징으로 한다.
상기 메모리 제어기는, 어드레스 데이터를 래치하는 어드레스 래치; 판독했거나 기록할 데이터를 래치하는 데이터 래치; 어드레스 래치로부터 수신된 어드레스와, 데이터 래치로부터 수신된 기록할 데이터를 차례로 저장해, 어드레스 라인을 통해 메모리 모듈로 차례로 전송하는 어드레스 및 기록 데이터 큐; 및 메모리 모듈로부터 데이터 라인을 통해 수신한 판독 데이터를 차례로 저장해 상위 모듈로 전송하는 데이터 큐를 포함함이 바람직하다.
상기 메모리 제어기는, 어드레스 데이터를 래치하는 어드레스 래치; 판독했거나 기록할 데이터를 래치하는 데이터 래치; 어드레스 래치로부터 수신된 어드레스를 차례로 저장해, 어드레스 라인을 통해 메모리 모듈로 차례로 전송하는 어드레스 큐; 데이터 래치로부터 수신된 기록할 데이터를 차례로 저장해, 어드레스 라인을 통해 메모리 모듈로 차례로 전송하는 기록 데이터 큐; 및 메모리 모듈로부터 데이터 라인을 통해 수신한 판독 데이터를 차례로 저장해 상위 모듈로 전송하는 판독 데이터 큐를 포함함이 바람직하다.
상기 메모리 모듈은, 어드레스 라인을 통해 수신한 어드레스 데이터 중 컬럼(column) 어드레스를 저장하는 컬럼 어드레스 버퍼(CA); 상기 어드레스 데이터 중 로우(row) 어드레스를 저장하는 로우 어드레스 버퍼(RA); 어드레스 라인을 통해 수신한 데이터를 저장하는 기록 데이터 버퍼; 기록시 CA와 RA로부터 해당 어드레스 위치에 상기 기록 데이터 버퍼에 저장된 데이터를 저장시키고, 판독시 해당 어드레스 위치에 있는 데이터를 유출하는 메모리 셀; 및 판독시 상기 메모리 셀로부터 유출된 데이터를 저장해 데이터 라인을 통해 메모리 제어기로 전송되도록 하는 판독 데이터 버퍼를 포함함이 바람직하다.
이하에서 첨부된 도면을 참조하여 본 발명을 상세히 설명한다.
도 3은 본 발명의 메모리 제어 장치를 간략하게 도시한 것이다.
도 3을 참조하면, 메모리 제어 장치는 메모리 제어기(300)를 포함해, 시스템의 상위 모듈(미도시)로부터의 지시에 따라 메모리 모듈(310)을 억세스하고 데이터를 판독 또는 기록한다.
메모리 제어기(300)는 제1전송부(301)와 제2전송부(302)를 구비한다.
제1전송부(301)는 판독해야 하거나 기록할 데이터의 어드레스 및, 그와 전송 방향이 동일한 기록할 데이터를 어드레스 라인을 통해 메모리 모듈(310)로 전송한다. 제1전송부(301)로 입력되는 어드레스 (데이터) 및 기록할 데이터는 시스템의 상위 모듈로부터 메모리 제어기(300)로 입력되는 것이다.
제2전송부(302)는 메모리 모듈(310)로부터 판독한 데이터를 데이터 전송 라인을 통해 입력 받아 시스템의 상위 모듈로 보낸다.
도 3의 메모리 제어 장치는 신호의 전송 방향에 따라 신호 전송 처리를 수행하는 것으로, 메모리 모듈(310)에 기록할 데이터와 메모리의 어드레스가 어드레스 전송 라인을 통해 메모리 모듈(310)로 전송한다. 메모리 모듈(310)에서 판독한 데이터는 데이터 전송 라인을 통해 전송되므로, 판독 및 기록 명령의 시간적인 갭(gap)이 짧더라도, 판독한 데이터와 기록할 데이터가 동일한 전송 라인에서 병목하는 현상이 발생하지 않게 된다.
도 4는 본 발명의 메모리 제어 장치의 일실시예를 도시한 것이다.
도 4를 참조하면 메모리 제어 장치의 메모리 제어기(400)는 어드레스 래치(AL)(401), 데이터 래치(DL)(402), 어드레스 및 기록 데이터 큐(MWAQ)(403) 및 판독 데이터 큐(RDQ)(404)를 포함한다.
어드레스 래치(401)는 시스템의 상위 모듈(미도시)에서 메모리 제어기(400)로 입력되는 어드레스 데이터를 래치한다.
데이터 래치(402)는 시스템의 상위 모듈로부터 입력되어 메모리 모듈(410)에 기록할 데이터나, 메모리 모듈(410)로부터 시스템의 상위 모듈로 나갈 판독 데이터를 래치한다.
어드레스 및 기록 데이터 큐(403)는 어드레스 래치(401)로부터 래치된 어드레스 데이터와, 데이터 래치(402)로부터 래치된 기록할 데이터를 차례로 저장해 전송 대기시키는 버퍼이다. 어드레스 및 기록 데이터 큐(403)로부터 대기중인 어드레스 및 기록 데이터가, 시스템에서 주어진 메모리 억세스 프로토콜에 따라 메모리 제어기(400)와 메모리 모듈(410) 사이의 어드레스 전송 라인(405)을 통해 메모리 모듈(410)로 전송된다.
판독 데이터 큐(404)는 메모리 제어기(400)와 메모리 모듈(410) 사이의 데이터 전송 라인(406)을 통해 메모리 모듈(410)로부터 받은 판독 데이터를 차례로 저장해 데이터 래치(402)를 통해 시스템의 상위 모듈로 전송하는 버퍼이다.
데이터 기록시, 기록할 위치 어드레스는 어드레스 및 기록 데이터 큐(403)에 먼저 저장되고, 기록할 데이터가 다음에 저장되어, 먼저 저장된 순서대로 어드레스 라인(405)을 통해 메모리 모듈(410)로 전송되어, 메모리 모듈(410)에서 기록이 수행될 것이다.
메모리 모듈(410)의 구성은 도 1에 도시된 것과 같은 일반적인 구성 요소들을 포함해 유사한 기능을 수행한다. 즉, 메모리 제어기(400)로부터 제공된 컬럼 어드레스 데이터를 해석하는 레지스터(CA)(411), 로우 어드레스 데이터를 해석하는 로우 어드레스를 해석하는 레지스터(RA)(412), CA와 RA로부터 해석된 어드레스 행열로 이뤄진 메모리 셀(413), 메모리 셀(413)에서 판독한 데이터를 임시 저장하는 판독 데이터 버퍼(Rd, Read data buffer)(414) 및 메모리 셀(413)에 기록될 데이터를 임시 저장하는 버퍼(Wr, Write data buffer)(415)를 포함한다. 그러나, 본 발명의 적용시, 판독 데이터와 기록 데이터의 전송 경로를 달리한 메모리제어기(400)의 구성에 맞춰, 메모리 모듈(410)은 어드레스 데이터 라인(405)으로부터 들어 오는 기록 데이터를 기록 데이터 버퍼(415)로 보내는 추가 신호 라인(416)을 포함하는 등, 본 발명의 메모리 제어 방식에 따라 어드레스 데이터와 기록 데이터를 구분해 기록 데이터를 메모리의 셀(413)에 저장하는 여러 가지 다양한 방식으로 구현될 수 있다.
도 5는 도 4의 메모리 제어 장치에서의 데이터 판독 및 기록 관련 타이밍도의 일실시예이다.
(a)는 시스템에서 발생한 클록 신호로서, 메모리 억세스시 클록 신호에 맞춰 소정 메모리 억세스 프로토콜이 수행될 것이다.
(b)는 소정 메모리 억세스 프로토콜에 따른 소정 간격으로 어드레스 라인을 통해 전송되는 어드레스 및 데어터이다. (b)에서는 시스템 상위 모듈에서 메모리 판독 명령에 바로 뒤이어 메모리 기록 명령이 수행된 경우의 신호 타이밍의 예를 보이고 있다. 즉, 판독할 어드레스의 로우(row) 어드레스 - 기록할 어드레스의 로우 어드레스 - 판독할 어드레스의 컬럼(column) 어드레스 - 기록할 어드레스의 컬럼 어드레스 - 기록할 데이터의 순서인 신호 흐름이 보여진다. 어드레스 전송 이후 해당 데이터의 전송 간격 등은 상술한 소정 메모리 억세스 프로토콜에 의해 결정될 것이다.
(c)는 로우 어드레스 전송의 동기를 위한 스트로브 신호(RAS)이다.
(d)는 컬럼 어드레스 전송의 동기를 위한 스트로브 신호(CAS)이다.
(e)는 메모리 모듈로부터 판독해, 데이터 라인을 통해 전송되는 판독 데이터를 보인다.
도 5로부터, 메모리 판독 명령과 기록 명령이 거의 동시에 발생될 때에도 전송 라인을 달리한 데이터 전송에 따라, 판독 데이터와 기록 데이터가 하나의 데이터 라인에서 충돌하거나 병목하는 현상이 일어나지 않음을 알 수 있다.
도 6은 본 발명의 메모리 제어 장치의 제2실시예를 도시한 것이다.
도 6을 참조하면 메모리 제어 장치의 메모리 제어기(600)는 어드레스 래치(AL)(601), 데이터 래치(DL)(602), 어드레스 큐(603), 판독 데이터 큐(604) 및 기록 데이터 큐(605)를 포함한다.
어드레스 래치(601)는 시스템의 상위 모듈(미도시)에서 메모리 제어기(600)로 입력되는 어드레스 데이터를 래치한다.
데이터 래치(602)는 시스템의 상위 모듈로부터 입력되어 메모리 모듈(610)에 기록할 데이터나, 메모리 모듈(610)로부터 시스템의 상위 모듈로 나갈 판독 데이터를 래치한다.
어드레스 큐(603)는 어드레스 래치(601)로부터 래치된 어드레스 데이터를 차례로 저장해 전송 대기시킨 후 소정 타이밍에 어드레스 라인(606)을 통해 어드레스 데이터를 메모리 모듈(610)로 전송시킨다.
판독 데이터 큐(604)는 메모리 제어기(600)와 메모리 모듈(610) 사이의 데이터 전송 라인(607)을 통해 메모리 모듈(610)로부터 받은 판독 데이터를 차례로 저장해 데이터 래치(602)를 통해 시스템의 상위 모듈로 전송하는 버퍼이다.
기록 데이터 큐(605)는 데이터 래치(602)로부터 래치된 기록할 데이터를 차례로 저장해 전송 대기시키는 버퍼이다. 기록 데이터 큐(605)로부터 대기중인 기록 데이터는 시스템에서 주어진 메모리 억세스 프로토콜에 따라 메모리 제어기(600)와 메모리 모듈(610) 사이의 어드레스 전송 라인(606)을 통해 메모리 모듈(610)로 전송된다.
데이터 기록시 어드레스 큐(603)에 저장된 어드레스가 어드레스 라인(606)을 통해 메모리 모듈(610)로 먼저 전송되고, 소정 타이밍 후에 기록 데이터 큐(605)에 저장된 데이터가 상기 어드레스 라인(606)을 통해 메모리 모듈(610)로 전송되어, 메모리 모듈(610)에서 데이터 기록이 수행될 것이다
메모리 모듈(610)의 구성은 도 4에서 도시되어 설명된 것과 동일할 것이다.
도 6의 실시예 역시 도 5에 도시된 타이밍도를 그 예로 들 수 있다.
도 7은 본 발명의 메모리 제어 장치에서 메모리 기록시의 제어 방법을 설명하기 위한 예시도이다.
도 7 및 도 4를 참조하면, 메모리 모듈로의 데이터 기록(쓰기)시, 데이터 크기에 비해 어드레스 전송 라인의 수용 능력이 모자라기 때문에, 수 차례에 걸쳐 데이터를 쪼개어 어드레스 모듈의 한 어드레스 안에 기록함을 알 수 있다.
어드레스 및 기록 데이터 큐(403)는 차례로, R-C-0-1, R-C-2-3, R-C-4-5, R-C-6-7의 단위로 저장한 후 단위별로 차례로 메모리 모듈(410)로 전송한다. 여기서 R, C는 네 경우의 스트림 모두 동일한 어드레스 로우 및 컬럼이 사용된다. 0, 1, 2, 3, 4, 5, 6, 7은 각각 한 바이트 씩의 데이터로서, 기록할 전체 데이터를 바이트 단위로 차례로 분리되어, 두 바이트 씩 어드레스 및 기록 데이터 큐(403)로부터전송되어 나간다. 이것은 메모리 기록 방식이 전체 기록(full-write) 방식인 경우에 해당한다.
메모리 기록 방식이 부분 기록(partial-write) 방식이면, 시스템의 상위 모듈로부터 가져 온 일부 바이트의 데이터는 어드레스 및 기록 데이터 큐(403) 중 해당하는 바이트를 저장할 부분에 저장되어 전송된다.
본 발명의 메모리 제어 방식에 의한 판독 및 기록 데이터의 전송 라인 분리는, DDR SRAM과 같이 클록 신호의 업 및 다운 에지(edge) 모두에서 데이터를 전송하는 메모리에서 보다 효율적으로 작용할 수 있다. 즉, 판독 명령과 기록 명령이 거의 동시에 이루어 지고 그에 따라 전송 방향이 서로 다른 판독 데이터와 기록 데이터가 전송될 때 발생가능한 병목현상이, 전송 방향에 따른 전송 라인을 서로 달리 함으로써 해결될 수 있게 된다.
상술한 기술을 특히 DDR SDRAM에 적용할 때, DDR SDRAM의 장점인 빠른 데이터 전송률을 담보하면서 Ranbus Dram의 안정적 전송 성능을 취할 수 있게 된다. 또한 기존의 SDRAM 코어(core)를 그대로 사용하기 때문에 제품 생산시 가격에 대한 부담이 더 발생되지 않는다.
본 발명에 의하면, 기록과 판독 데이터의 전송 라인을 달리하여 메모리로부터 데이터 억세스시 병목현상이 해소됨으로써 빠른 전송률과 안정적 전송을 가능하게 한다.

Claims (20)

  1. 시스템의 상위 모듈로부터 메모리 모듈의 데이터를 판독하거나 메모리 모듈에 데이터를 기록하라는 명령을 입력받아 메모리 모듈 억세스를 제어하는 장치에 있어서,
    판독 또는 기록할 데이터의 어드레스 및, 기록할 데이터를 어드레스 라인을 통해 메모리 모듈로 전송하는 제1전송부; 및
    메모리 모듈로부터 판독한 데이터를 데이터 전송 라인을 통해 시스템의 상위 모듈로 전송하는 제2전송부를 포함함을 특징으로 하는 메모리 제어 장치.
  2. 제1항에 있어서, 제1전송부는
    시스템의 상위 모듈로부터 입력된, 판독 또는 기록할 데이터의 어드레스와 기록할 데이터를 차례로 저장해 메모리 모듈로 전송 대기하는 어드레스 큐(queue)를 포함함을 특징으로 하는 메모리 제어 장치.
  3. 제2항에 있어서, 데이터 기록시
    기록할 위치 어드레스는 제1전송부의 어드레스 큐에 먼저 저장되고, 기록할 데이터가 다음에 저장되어, 먼저 저장된 순서대로 어드레스 라인을 통해 메모리 모듈로 전송됨을 특징으로 하는 메모리 제어 장치.
  4. 제3항에 있어서,
    전체 기록(full-write) 방식의 데이터 기록시, 기록할 전체 데이터를 바이트 단위로 차례로 분리하여, 소정 개수의 바이트씩을 동일한 어드레스와 함께 묶어 어드레스 큐로부터 메모리 모듈로 차례로 전송함을 특징으로 하는 메모리 제어 장치.
  5. 제3항에 있어서,
    부분 기록(partial-write) 방식의 데이터 기록시, 시스템의 상위 모듈로부터 가져 온 특정 바이트 위치의 데이터만이 어드레스 큐에 저장되어 어드레스와 함께 어드레스 큐로부터 메모리 모듈로 전송됨을 특징으로 하는 메모리 제어 장치.
  6. 제1항에 있어서, 제2전송부는
    메모리 모듈로부터 판독한 데이터를 데이터 전송 라인을 통해 차례로 수신 및 저장해, 시스템의 상위 모듈로 전송 대기하는 데이터 큐를 포함함을 특징으로 하는 메모리 제어 장치.
  7. 제1항에 있어서,
    제1전송부는 시스템의 상위 모듈로부터 입력된 어드레스를 차례로 저장해 어드레스 전송 라인을 통해 메모리 모듈로 전송하는 어드레스 큐를 포함하고,
    제2전송부는 상위 모듈에서 입력된 기록할 데이터를 차례로 저장해 어드레스 라인을 통해 메모리 모듈로 전송하는 기록 데이터 큐 및, 메모리 모듈로부터 데이터 라인을 통해 수신한 판독 데이터를 차례로 저장해 상위 모듈로 전송하는 판독데이터 큐를 포함함을 특징으로 하는 메모리 제어 장치.
  8. 제7항에 있어서, 데이터 기록시
    어드레스 큐에 저장된 어드레스가 어드레스 라인을 통해 메모리 모듈로 먼저 전송되고, 소정 타이밍 후에 기록 데이터 큐에 저장된 데이터가 상기 어드레스 라인을 통해 메모리 모듈로 전송됨을 특징으로 하는 메모리 제어 장치.
  9. 제8항에 있어서,
    전체 기록(full-write) 방식의 데이터 기록시, 기록할 전체 데이터를 바이트 단위로 차례로 분리하여, 소정 개수의 바이트씩을 동일한 어드레스와 함께 묶어 어드레스 큐 및 데이터 기록 큐로부터 메모리 모듈로 차례로 전송함을 특징으로 하는 메모리 제어 장치.
  10. 제8항에 있어서,
    부분 기록(partial-write) 방식의 데이터 기록시, 시스템의 상위 모듈로부터 가져 온 특정 바이트 위치의 데이터만이 데이터 큐에 저장되어 어드레스 큐로부터의 어드레스와 함께 메모리 모듈로 전송됨을 특징으로 하는 메모리 제어 장치.
  11. 시스템의 상위 모듈로부터 메모리 모듈의 데이터를 판독하거나 메모리 모듈에 데이터를 기록하라는 명령을 입력받아 메모리 모듈 억세스를 제어하는 장치에있어서,
    어드레스 데이터를 래치하는 어드레스 래치;
    판독했거나 기록할 데이터를 래치하는 데이터 래치;
    어드레스 래치로부터 수신된 어드레스와, 데이터 래치로부터 수신된 기록할 데이터를 차례로 저장해, 어드레스 라인을 통해 메모리 모듈로 차례로 전송하는 어드레스 및 기록 데이터 큐; 및
    메모리 모듈로부터 데이터 라인을 통해 수신한 판독 데이터를 차례로 저장해 상위 모듈로 전송하는 데이터 큐를 포함함을 특징으로 하는 메모리 제어 장치.
  12. 시스템의 상위 모듈로부터 메모리 모듈의 데이터를 판독하거나 메모리 모듈에 데이터를 기록하라는 명령을 입력받아 메모리 모듈 억세스를 제어하는 장치에 있어서,
    어드레스 데이터를 래치하는 어드레스 래치;
    판독했거나 기록할 데이터를 래치하는 데이터 래치;
    어드레스 래치로부터 수신된 어드레스를 차례로 저장해, 어드레스 라인을 통해 메모리 모듈로 차례로 전송하는 어드레스 큐;
    데이터 래치로부터 수신된 기록할 데이터를 차례로 저장해, 어드레스 라인을 통해 메모리 모듈로 차례로 전송하는 기록 데이터 큐; 및
    메모리 모듈로부터 데이터 라인을 통해 수신한 판독 데이터를 차례로 저장해 상위 모듈로 전송하는 판독 데이터 큐를 포함함을 특징으로 하는 메모리 제어 장치.
  13. 시스템의 상위 모듈로부터 발생한 메모리 판독 또는 기록 명령을 수행하는 메모리 제어 장치에 있어서,
    어드레스와 기록할 데이터를 어드레스 라인을 통해 전송하고, 판독한 데이터는 데이터 라인을 통해 수신하는 메모리 제어기; 및
    어드레스와 기록 데이터를 분리해 각각 메모리 버퍼와 기록 데이터 버퍼로 보낸 후 메모리셀에 기록을 수행하고, 메모리에서 읽은 판독 데이터는 데이터 라인을 통해 메모리 제어기로 전송하는 메모리 모듈을 포함함을 특징으로 하는 메모리 제어 장치.
  14. 제13항에 있어서, 메모리 제어기는,
    어드레스 데이터를 래치하는 어드레스 래치;
    판독했거나 기록할 데이터를 래치하는 데이터 래치;
    어드레스 래치로부터 수신된 어드레스와, 데이터 래치로부터 수신된 기록할 데이터를 차례로 저장해, 어드레스 라인을 통해 메모리 모듈로 차례로 전송하는 어드레스 및 기록 데이터 큐; 및
    메모리 모듈로부터 데이터 라인을 통해 수신한 판독 데이터를 차례로 저장해 상위 모듈로 전송하는 데이터 큐를 포함함을 특징으로 하는 메모리 제어 장치.
  15. 제14항에 있어서,
    전체 기록(full-write) 방식의 데이터 기록시, 기록할 전체 데이터를 바이트 단위로 차례로 분리하여, 소정 개수의 바이트씩을 동일한 어드레스와 함께 묶어 어드레스 및 데이터 기록 큐로부터 메모리 모듈로 차례로 전송함을 특징으로 하는 메모리 제어 장치.
  16. 제14항에 있어서,
    부분 기록(partial-write) 방식의 데이터 기록시, 시스템의 상위 모듈로부터 가져 온 특정 바이트 위치의 데이터만이 어드레스 및 데이터 기록 큐에 저장되어 어드레스와 함께 메모리 모듈로 전송됨을 특징으로 하는 메모리 제어 장치.
  17. 제13항에 있어서, 메모리 제어기는
    어드레스 데이터를 래치하는 어드레스 래치;
    판독했거나 기록할 데이터를 래치하는 데이터 래치;
    어드레스 래치로부터 수신된 어드레스를 차례로 저장해, 어드레스 라인을 통해 메모리 모듈로 차례로 전송하는 어드레스 큐;
    데이터 래치로부터 수신된 기록할 데이터를 차례로 저장해, 어드레스 라인을 통해 메모리 모듈로 차례로 전송하는 기록 데이터 큐; 및
    메모리 모듈로부터 데이터 라인을 통해 수신한 판독 데이터를 차례로 저장해 상위 모듈로 전송하는 판독 데이터 큐를 포함함을 특징으로 하는 메모리 제어 장치.
  18. 제17항에 있어서,
    전체 기록(full-write) 방식의 데이터 기록시, 기록할 전체 데이터를 바이트 단위로 차례로 분리하여, 소정 개수의 바이트씩을 동일한 어드레스와 함께 묶어 어드레스 큐 및 데이터 기록 큐로부터 메모리 모듈로 차례로 전송함을 특징으로 하는 메모리 제어 장치.
  19. 제17항에 있어서,
    부분 기록(partial-write) 방식의 데이터 기록시, 시스템의 상위 모듈로부터 가져 온 특정 바이트 위치의 데이터만이 데이터 큐에 저장되어 어드레스 큐로부터의 어드레스와 함께 메모리 모듈로 전송됨을 특징으로 하는 메모리 제어 장치.
  20. 제13항에 있어서, 상기 메모리 모듈은
    어드레스 라인을 통해 수신한 어드레스 데이터 중 컬럼(column) 어드레스를 저장하는 컬럼 어드레스 버퍼(CA);
    상기 어드레스 데이터 중 로우(row) 어드레스를 저장하는 로우 어드레스 버퍼(RA);
    어드레스 라인을 통해 수신한 데이터를 저장하는 기록 데이터 버퍼;
    기록시 CA와 RA로부터 해당 어드레스 위치에 상기 기록 데이터 버퍼에 저장된 데이터를 저장시키고, 판독시 해당 어드레스 위치에 있는 데이터를 유출하는 메모리 셀; 및
    판독시 상기 메모리 셀로부터 유출된 데이터를 저장해 데이터 라인을 통해 메모리 제어기로 전송되도록 하는 판독 데이터 버퍼를 포함함을 특징으로 하는 메모리 제어 장치.
KR10-2002-0060523A 2002-10-04 2002-10-04 어드레스 라인을 이용해 데이터 쓰기를 수행하는 메모리제어 장치 KR100438736B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR10-2002-0060523A KR100438736B1 (ko) 2002-10-04 2002-10-04 어드레스 라인을 이용해 데이터 쓰기를 수행하는 메모리제어 장치
US10/676,262 US7117307B2 (en) 2002-10-04 2003-10-02 Memory controlling apparatus performing the writing of data using address line
JP2003346844A JP2004127305A (ja) 2002-10-04 2003-10-06 メモリ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0060523A KR100438736B1 (ko) 2002-10-04 2002-10-04 어드레스 라인을 이용해 데이터 쓰기를 수행하는 메모리제어 장치

Publications (2)

Publication Number Publication Date
KR20040031155A KR20040031155A (ko) 2004-04-13
KR100438736B1 true KR100438736B1 (ko) 2004-07-05

Family

ID=32291690

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0060523A KR100438736B1 (ko) 2002-10-04 2002-10-04 어드레스 라인을 이용해 데이터 쓰기를 수행하는 메모리제어 장치

Country Status (3)

Country Link
US (1) US7117307B2 (ko)
JP (1) JP2004127305A (ko)
KR (1) KR100438736B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7234099B2 (en) * 2003-04-14 2007-06-19 International Business Machines Corporation High reliability memory module with a fault tolerant address and command bus
WO2007116485A1 (ja) * 2006-03-31 2007-10-18 Fujitsu Limited メモリ装置、そのインタフェース回路、メモリ・システム、メモリ・カード、回路基板及び電子機器
WO2007116484A1 (ja) * 2006-03-31 2007-10-18 Fujitsu Limited メモリ装置、そのインタフェース回路、その制御方法、その制御プログラム、メモリ・カード、回路基板及び電子機器
US8207976B2 (en) * 2007-03-15 2012-06-26 Qimonda Ag Circuit
KR100855575B1 (ko) * 2007-04-19 2008-09-01 삼성전자주식회사 디먹스 회로를 가지는 반도체 메모리 장치 및 그의 테스트방법
KR20130119170A (ko) * 2012-04-23 2013-10-31 에스케이하이닉스 주식회사 파이프 레지스터 회로 및 이를 포함하는 반도체 메모리 장치
US11094372B1 (en) * 2020-05-07 2021-08-17 Powerchip Semiconductor Manufacturing Corporation Partial writing method of dram memoryl device to reduce power consumption associated with large voltage swing of internal input/output lines

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4851991A (en) * 1987-02-24 1989-07-25 Digital Equipment Corporation Central processor unit for digital data processing system including write buffer management mechanism
US5091845A (en) * 1987-02-24 1992-02-25 Digital Equipment Corporation System for controlling the storage of information in a cache memory
US5237670A (en) * 1989-01-30 1993-08-17 Alantec, Inc. Method and apparatus for data transfer between source and destination modules
GB2285524B (en) * 1994-01-11 1998-02-04 Advanced Risc Mach Ltd Data memory and processor bus
US5818789A (en) * 1995-10-10 1998-10-06 Holtek Microelectronics, Inc. Device and method for memory access
JP2000047977A (ja) * 1998-07-27 2000-02-18 Hitachi Ltd 双方向バス制御方式
US6748505B1 (en) * 2000-07-11 2004-06-08 Intel Corporation Efficient system bus architecture for memory and register transfers

Also Published As

Publication number Publication date
US20040123061A1 (en) 2004-06-24
JP2004127305A (ja) 2004-04-22
KR20040031155A (ko) 2004-04-13
US7117307B2 (en) 2006-10-03

Similar Documents

Publication Publication Date Title
US6795899B2 (en) Memory system with burst length shorter than prefetch length
KR100908760B1 (ko) 다중 내부 데이터 버스 및 메모리 뱅크 인터리빙을 갖는방법 및 메모리 장치
JP5261803B2 (ja) 不揮発性メモリ用の高速ファンアウトシステムアーキテクチャおよび入出力回路
TWI409815B (zh) 控制接收讀取資料時序之記憶體系統和方法
US20050210185A1 (en) System and method for organizing data transfers with memory hub memory modules
US7555625B2 (en) Multi-memory chip and data transfer method capable of directly transferring data between internal memory devices
EP3640944B1 (en) Non-sequential page continuous read
KR100295046B1 (ko) 개선된싱크로너스디램과로직이하나의칩에병합된반도체장치
JPH11176164A (ja) 半導体メモリ装置のデータマスキング方法とその回路、及び該回路を有する半導体メモリ装置
US7403445B2 (en) Configuration of memory device
JP4704345B2 (ja) 暗示dramプレチャージ用の方法及びデバイス
JP2012522311A (ja) マージドメモリコマンドプロトコルをサポートするメモリシステム、コントローラ、およびデバイス
KR100438736B1 (ko) 어드레스 라인을 이용해 데이터 쓰기를 수행하는 메모리제어 장치
JP4827399B2 (ja) 半導体記憶装置
JP2001067871A (ja) 半導体メモリ装置及びライトデータマスキング方法
JP4707351B2 (ja) マルチバンクメモリのスケジューリング方法
JP7199493B2 (ja) 非順次的ページ連続リード
US6493775B2 (en) Control for timed access of devices to a system bus
CN102522113A (zh) 一种sdram桥接电路
JPH11282749A (ja) 高速メモリ制御装置

Legal Events

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

Payment date: 20130530

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140529

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150528

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee