KR20020050092A - 디램 코어를 기반으로 한 다중 포트 메모리 - Google Patents

디램 코어를 기반으로 한 다중 포트 메모리 Download PDF

Info

Publication number
KR20020050092A
KR20020050092A KR1020010066494A KR20010066494A KR20020050092A KR 20020050092 A KR20020050092 A KR 20020050092A KR 1020010066494 A KR1020010066494 A KR 1020010066494A KR 20010066494 A KR20010066494 A KR 20010066494A KR 20020050092 A KR20020050092 A KR 20020050092A
Authority
KR
South Korea
Prior art keywords
command
port
input
memory
signal
Prior art date
Application number
KR1020010066494A
Other languages
English (en)
Other versions
KR100801119B1 (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
Priority claimed from JP2000387891A external-priority patent/JP5070656B2/ja
Priority claimed from JP2000399052A external-priority patent/JP4997663B2/ja
Priority claimed from JP2000398893A external-priority patent/JP4783501B2/ja
Priority claimed from JP2001034361A external-priority patent/JP4824180B2/ja
Priority claimed from JP2001037547A external-priority patent/JP5028710B2/ja
Application filed by 아끼구사 나오유끼, 후지쯔 가부시끼가이샤 filed Critical 아끼구사 나오유끼
Publication of KR20020050092A publication Critical patent/KR20020050092A/ko
Application granted granted Critical
Publication of KR100801119B1 publication Critical patent/KR100801119B1/ko

Links

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
    • 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 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • 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/406Management or control of the refreshing or charge-regeneration cycles
    • 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/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40603Arbitration, priority and concurrent access to memory cells for read/write or refresh operations
    • 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/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40615Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
    • 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/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40618Refresh operations over multiple banks or interleaving
    • 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/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1039Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
    • 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/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
    • 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/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
    • 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

Abstract

반도체 메모리 장치는 각각 명령을 수신하는 N 개의 외부 포트와, 외부 포트들 중 하나의 외부 포트에 입력되는 명령들의 최소 기간 동안에 적어도 N 개의 액세스 동작을 수행하는 내부 회로를 포함한다.

Description

디램 코어를 기반으로 한 다중 포트 메모리{MULTI-PORT MEMORY BASED ON DRAM CORE}
본 발명은 일반적으로 반도체 메모리 장치에 관한 것으로서, 특히 복수 개의 포트를 설치한 반도체 메모리에 관한 것이다.
복수 개의 포트를 설치한 반도체 메모리 장치인 다중 포트 메모리는 여러 가지의 종류로 분류할 수 있다. 이하에서 용어 "다중 포트 메모리"를 사용할 때, 이 메모리는 복수 개의 메모리가 설치되고 그중 어느 하나의 메모리로부터 공통 메모리 어레이로 독립하여 액세스할 수 있는 메모리를 말한다. 이러한 메모리는 A 포트와 B 포트를 가질 수 있어, 판독/기록 동작이 공통 메모리 어레이에 대하여 A 포트에 링크된 CPU와 B 포트에 링크된 CPU로부터 독립해서 수행될 수 있다.
다중 포트에는 중재기라고 하는 중재 회로가 설치되어 있다. 중재기는 복수 개의 포트로부터 수신된 액세스 요구의 우선 순위를 판단하고, 메모리 어레이의 제어 회로는 그 판단된 우선 순위에 따라 하나씩 액세스 동작을 수행한다. 예컨대,어떤 액세스가 어떤 포트에 먼저 도달하면, 액세스하는 우선 순위가 높다.
이러한 경우에, 메모리 어레이는 복수 개의 포트로부터 무작위로 액세스되므로, 판독 액세스 동작이나 기록 액세스 동작이 수행된 후에 곧 바로 메모리 어레이를 리셋할 필요가 있어, 다음의 액세스를 확실하게 준비할 수 있다. 즉, 소정의 포트로부터의 액세스에 응답하여 하나의 워드선이 선택 상태를 유지하고 일반적으로 DRAM에 사용되는 열 액세스 동작으로서 연속해서 연속 데이터를 판독하도록 열 어드레스가 시프트되면, 이 동작 중에 다른 포트는 대기 상태를 유지한다. 따라서, 매번의 판독 동작이나 기록 동작 후에는 곧 바로 메모리 어레이를 리셋할 필요가 있다.
종래, 다중 포트 메모리의 메모리 어레이로서는 통상 SRAM이 사용되었다. 그 이유는, SRAM은 고속 랜덤 액세스가 가능하고 비파괴 판독 동작이 가능하기 때문이다.
두 개의 포트를 갖는 다중 포트 메모리의 경우, 예컨대, 하나의 SRAM 메모리 셀에는 두 세트의 워드선 및 비트선쌍이 설치되어 있다. 그 포트 중 하나는 한 세트의 워드선 미 비트선쌍을 이용하여 판독/기록 동작을 수행하고, 다른 포트는 다른 세트의 워드선 및 비트선쌍을 이용하여 판독/기록 동작을 수행한다. 이와 같이 하여, 판독/기록 동작은 두 개의 다른 포트에 의해 독립하여 실행될 수 있다. 그러나, 두 개의 포트가 동일한 셀에 동시에 데이터를 기록하고자 하는 경우에는 두 개의 기록 동작을 동시에 수행할 수 없기 때문에, 그 중 하나의 포트에는 기록 동작을 수행할 수 있는 우선 순위가 부여되고, 다른 포트에는 BUSY 신호가 부여된다.이를 BUSY 상태라고 한다.
시스템의 성능이 개선되어 감에 따라, 시스템이 취급하는 데이터의 량도 증가한다. 그 결과, 다중 포트 메모리는 큰 용량이 필요하다. 그러나, SRAM형 다중 포트 메모리는 메모리 셀의 크기가 크다는 점에서 단점이 있다.
이를 극복하기 위하여, 다중 포트 메모리에 DRAM 어레이를 채용하는 것을 생각할 수 있다. 회로의 밀도를 다중 포트 메모리보다 훨씬 높게 하기 위해서는, 다중 포트 메모리에 사용하는 한 개의 DRAM 메모리 셀을 통상의 DRAM 셀과 같은 방식으로 단 하나의 워드선 및 하나의 비트선에 접속할 필요가 있다. 이러한 방식을 이용하여 메모리 블록이 구성된다면, 하나의 포트가 소정의 블록에 대하여 기록 동작이나 판독 동작을 실행하는 경우에 다른 포트는 이 블록을 액세스할 수 없다. 그 이유는, DRAM 셀에서는 파괴성 판독 동작만이 가능하기 때문이다. 즉, 정보가 판독될 때, 이 정보가 증폭되어 셀에 재기억되고 워드선 및 비트선이 프리챠지될 때까지 동일 블록의 다른 워드선은 선택되지 못한다.
이 때문에, 다른 포트가 액세스하고 있는 메모리 블록을 소정의 블록이 액세스하면, BUSY 상태가 검출될 것이다. SRAM형 다중 포트 메모리에서는 복수 개의 포트가 동일 메모리 셀에 동시에 기록 요구들을 발송하는 경우에만 BUSY 상태가 발생한다. 반면에, DRAM형 다중 포트 메모리에서는 복수 개의 포트가 동일 메모리 셀에 동시에 어떠한 형태의 액세스 요구들을 발송하는 경우에 BUSY 상태가 발생한다. 따라서, DRAM형 메모리에 BUSY가 발생할 확률은 SRAM형 메모리에 BUSY가 발생할 확률보다 상당히 높다. 더욱이, 일단 BUSY 상태에서는, DRAM형 다중 포트 메모리는 원하는 동작이 수행될 수 없거나 대기 시간 때문에 처리가 늦어지는 문제가 있다.
또한, SRAM형 다중 포트 메모리와는 달리, DRAM형 다중 포트 메모리에서는 기억된 정보를 유지하기 위하여 리프레시 동작이 주기적으로 수행되어야 하므로, 적절한 리프레시 타이밍을 보증하기 위하여 몇 가지 기준을 택해야 한다.
따라서, 본 발명은 DRAM과 특히 관련이 있는 문제를 해소하는 DRAM형 다중 포트 메모리를 제공하는데 그 목적이 있다.
본 발명의 일반적인 목적은 관련 기술의 제한과 단점으로 인한 하나 이상의 문제를 실제로 해소하는 반도체 메모리 장치(다중 포트 메모리)를 제공하는 데 있다.
본 발명의 특징 및 이점은 후술하는 설명에서 기재할 것이고, 부분적으로는 그 설명과 첨부 도면으로 명확해질 것이며, 또는 그 설명에서 제공되는 교시에 따른 본 발명의 실례에 의하여 습득될 수 있다. 본 발명의 목적, 다른 특징 및 이점은 기술 분야의 통상의 지식을 가진자가 본 발명을 실시할 수 있을 정도로 충분하고 명확하며 세밀하고 정확한 용어로 본 명세서에서 특히 지적하는 다중 포트 메모리에 의하여 실현되고 얻어질 것이다.
본 명세서에서 구현되고 폭넓게 설명되는, 이들 및 다른 이점을 달성하기 위하여 그리고 본 발명의 목적에 따라, 본 발명은 명령을 각각 수신하는 복수의 N 개의 단자와, 그 중 하나의 단자에 입력되는 명령들의 최소 기간에 적어도 N 개의 액세스 동작을 수행하는 내부 회로를 포함하는 반도체 메모리 장치를 제공한다.
또한, 내부 회로가 N 개의 개개의 외부 포트에 입력된 복수 개의 명령을 실행하는 명령 실행의 순서를 판단하기 위하여 중재 회로가 설치된다.
전술한 발명에서, 명령이 N 개의 포트에 입력될 때, N 개의 포트에 상응하는 N 개의 명령 모두는 소정의 포트의 최소 명령 주기 이내에 하나씩 실행된다. 이 때문에, 소정의 포트와 관련한 액세스 동작은 상기 장치의 외부가 그 최소 명령 주기 이내에 수행되어야 함을 나타낸다. 이 경우, BUSY 신호는 동일 어드레스가 복수 개의 포트로부터 액세스될 때에만 발생한다. 따라서, SRAM형 다중 포트 메모리의 BUSY 발생 확률만큼 낮은 BUSY 발생 확률을 얻을 수 있다.
더욱이, 본 발명의 반도체 메모리 장치에서, 내부 회로는 다이내믹형 메모리 셀과, 그 메모리 셀을 리프레시하는 타이밍을 설정하는 리프레시 회로로 이루어진 셀 어레이를 포함하고 있다. 제1 모드에서 메모리 셀은 N 개의 외부 포트 중 적어도 하나의 외부 포트에 입력된 리프레시 명령에 응답하여 리프레시되고, 제2 모드에서 메모리 셀은 리프레시 회로에 의하여 지정되는 타이밍으로 리프레시된다.
전술한 본 발명에는 외부 포트의 지시에 응답하여 리프레시 동작이 수행되는 제1 동작 모드와 내부 리프레시 회로에 응답하여 리프레시 동작이 수행되는 제2 동작 모드가 제공된다. 이러한 구성 때문에, 복수 개의 외부 포트 중 하나의 외부 포트는 일정한 기간에 리프레시 명령을 수신하기 위하여 리프레시 관리용 포트로서 동작할 수 있고, 또는 내부 리프레시 회로는 이 리프레시 관리용 포트가 비활성 상태에 있는 경우에 리프레시 동작을 수행한다. 이에 의하여, 시스템 구성에 따라 유연하게 리프레시 동작을 관리할 수 있게 된다.
도 1은 본 발명의 원리를 설명하기 위한 도면(제1 형태).
도 2는 복수의 포트 중 하나의 포트만을 이용하는 경우에 수행되는 리프레시 동작을 도시하는 도면.
도 3a 내지 도 3c는 2 포트, 3 포트 및 N 포트의 경우의 본 발명의 원리를 설명하기 위한 도면.
도 4는 본 발명에 의한 다중 포트 메모리의 제1 실시예를 도시하는 블록도(제1 형태).
도 5는 중재기로의 명령 입력에 관련된 회로의 블록도.
도 6a 및 도 6b는 중재기의 구성을 도시하는 회로도.
도 7은 중재기의 동작을 도시하는 타이밍도.
도 8은 DRAM 코어로의 어드레스 입력에 관련된 회로의 블록도.
도 9는 데이터 출력에 관련된 회로의 블록도.
도 10은 전송 신호 발생 회로의 구성을 도시하는 회로도.
도 11은 데이터 입력에 관련된 회로의 블록도.
도 12는 연속해서 Read 명령이 입력된 경우에 수행되는 동작을 도시하는 타이밍도.
도 13은 연속해서Write 명령이 입력된 경우에 수행되는 동작을 도시하는 타이밍도.
도 14는 A 포트 및 B 포트 양쪽이 최고 클록 주파수로 동작하는 경우를 도시하는 타이밍도.
도 15는 A 포트 및 B 포트 양쪽이 최고 클록 주파수로 동작하는 경우를 도시하는 타이밍도.
도 16은 명령이 Read 명령에서 Write 명령으로 전환하는 경우의 동작을 도시하는 타이밍도.
도 17은 명령이 Read 명령에서 Write 명령으로 전환하는 경우에 리프레시 명령을 입력하는 타이밍을 도시하는 도면.
도 18은 한쪽의 포트를 비활성으로 한 경우에 수행되는 동작을 도시하는 타이밍도.
도 19는 양쪽 포트를 비활성으로 한 경우에 수행되는 동작을 도시하는 타이밍도.
도 20a 및 도 20b는 DRAM 코어의 동작을 도시하는 타이밍도.
도 21은 한쪽 포트만을 동작시키는 경우에 수행되는 배속 동작을 도시하는 타이밍도.
도 22는 클록 주파수를 두 배로 하여 데이터 전송 레이트를 2배로 한 경우의 배속 동작을 도시하는 타이밍도.
도 23은 본 발명의 제2 실시예를 설명하기 위한 도면(제1 형태).
도 24는 본 발명에 의한 다중 포트 메모리의 제2 실시예를 도시하는 블록도
도 25a 및 도 25b는 연속 모드를 설명하기 위한 타이밍도.
도 26은 A 포트의 Read 명령과 B 포트의 Write 명령으로 BUSY 신호가 발생한 경우에 수행되는 동작을 도시하는 타이밍도.
도 27은 A 포트의 Read 명령과 B 포트의 Write 명령으로 BUSY 신호가 발생한 경우에 수행되는 동작을 도시하는 타이밍도.
도 28은 A 포트의 Write 명령과 B 포트의 Write 명령으로 BUSY 신호가 발생한 경우에 수행되는 동작을 도시하는 타이밍도.
도 29는 A 포트의 Write 명령과 B 포트의 Write 명령으로 BUSY 신호가 발생한 경우에 수행되는 동작을 도시하는 타이밍도.
도 30은 제어기에 의해 공급되는 인터럽트를 처리할 수 있는 구성의 동작을 도시하는 타이밍도.
도 31은 본 발명의 제2 실시예에 의한 다중 포트 메모리의 어드레스 비교기, BUSY I/O 시스템 및 인터럽트 시스템의 구성을 도시하는 도면.
도 32는 마스터 장치의 동작을 도시하는 타이밍도.
도 33은 슬레이브 장치의 동작을 도시하는 타이밍도.
도 34는 두 포트의 기록 어드레스가 일치하는 경우에 수행되는 마스터 장치의 동작을 도시하는 타이밍도.
도 35는 두 포트의 기록 어드레스가 일치하는 경우에 수행되는 슬레이브 장치의 동작을 도시하는 타이밍도.
도 36은 두 포트의 기록 어드레스가 서로 일치하여 제어기가 인터럽트 명령을 발송하는 경우에 마스터 장치의 동작을 도시하는 타이밍도.
도 37은 두 포트의 기록 어드레스가 서로 일치하여 제어기가 인터럽트 명령을 발송하는 경우에 슬레이브 장치의 동작을 도시하는 타이밍도.
도 38은 본 발명의 원리(제2 형태)를 설명하는 것으로서, 두 포트에 대하여 판독 동작을 수행하는 경우를 도시하는 도면.
도 39는 본발명의 원리(제2 형태)를 설명하는 것으로서, 버스트 길이가 4인 예를 도시하는 도면.
도 40은 2 포트와 3 포트의 경우에 최소 외부 명령 주기와 내부 동작 주기들간의 관계를 도시하는 도면.
도 41은 n 포트의 경우에 최소 외부 명령 주기와 내부 동작 주기들간의 관계를 도시하는 도면.
도 42는 본 발명의 일 실시예(제2 형태)에 의한 다중 포트 메모리의 구성을 도시하는 도면.
도 43a 내지 도 43c는 본 발명의 일 실시예(제2 형태)에 의한 다중 포트 메모리의 구성을 도시하는 도면.
도 44는 제1 실시예에 의한 명령 처리에 관련된 유닛들의 구성을 도시하는 도면.
도 45는 제1 실시예에 의한 명령 처리에 관련된 유닛들의 구성을 도시하는도면.
도 46은 중재기의 일 실시예.
도 47은 제1 실시예에 의한 어드레스 처리에 관련된 부분의 구성을 도시하는 도면.
도 48은 제1 실시예에 의한 데이터 출력에 관련된 부분의 구성을 도시하는 도면.
도 49는 도 48의 전송 신호 발생 회로를 도시하는 도면.
도 50은 제1 실시예에 의한 데이터 입력에 관련된 부분의 구성을 도시하는 도면.
도 51은 연속해서 Read 명령을 두 포트에 입력하는 경우에 수행되는 동작을 도시하는 도면.
도 52는 연속해서 Read 명령을 두 포트에 입력하는 경우에 수행되는 동작을 도시하는 도면.
도 53은 연속해서 Write 명령을 입력하는 예를 도시하는 도면.
도 54는 A 포트와 B 포트가 Read 명령에 대하여 최고 클록 주파수로 동작하는 경우에 수행되는 동작을 도시하는 도면.
도 55는 A 포트와 B 포트가 Read 명령에 대하여 최고 클록 주파수로 동작하는 경우에 수행되는 동작을 도시하는 도면.
도 56은 A 포트와 B 포트가 Write 명령에 대하여 최고 클록 주파수로 동작하는 경우에 수행되는 동작을 도시하는 도면.
도 57은 양쪽 포트가 최고 주파수로 동작하고, 리프레시 명령이 내부에서 발생하면 Write 명령에서 Read 명령으로 전환하는 경우에 수행되는 동작을 도시하는 타이밍도.
도 58은 양쪽 포트가 최고 주파수로 동작하고, 리프레시 명령이 내부에서 발생하면 Write 명령에서 Read 명령으로 전환하는 경우에 수행되는 동작을 도시하는 타이밍도.
도 59a 및 도 59b는 DRAM 코어의 동작을 도시하는 도면.
도 60는 리프레시 회로의 동작을 도시하는 도면.
도 61은 제2 중재기의 회로 구성을 도시하는 도면.
도 62는 양쪽의 포트 가 Write 명령에서 Read 명령으로 전환하고 REF 전송 금지 기간 중에 리프레시 타이머 동작이 발생하는 경우를 도시하는 도면.
도 63은 양쪽의 포트 가 Write 명령에서 Read 명령으로 전환하고, REF 전송 금지 기간 중에 리프레시 타이머 동작이 발생하는 경우를 도시하는 도면.
도 64는 전술한 경우에서와 같이 양쪽의 포트가 Write 명령에서 Read 명령으로 전환하지만, REF 전송 금지 기간 전에 리프레시 타이머 동작이 발생하는 경우를 도시하는 도면.
도 65는 전술한 경우에서와 같이 양쪽의 포트가 Write 명령에서 Read 명령으로 전환하지만, REF 전송 금지 기간 전에 리프레시 타이머 동작이 발생하는 경우를 도시하는 도면.
도 66은 A 포트만이 Write 명령에서 Read 명령으로 전이하고, REF 전송 금지기간 전에 리프레시 타이머 동작이 발생하는 경우를 도시하는 도면.
도 67은 A 포트만이 Write 명령에서 Read 명령으로 전이하고, REF 전송 금지 기간 전에 리프레시 타이머 동작이 발생하는 경우를 도시하는 도면.
도 68은 Write가 양쪽 포트에서 계속하는 경우를 도시하는 타이밍도.
도 69는 Write가 양쪽 포트에서 계속하는 경우를 도시하는 타이밍도.
도 70은 도 57 및 도 58에 도시한 제1 실시예의 동작에 상응하는 제1 실시예의 동작을 도시하는 타이밍도.
도 71은 도 57 및 도 58에 도시한 제1 실시예의 동작에 상응하는 제1 실시예의 동작을 도시하는 타이밍도.
도 72은 도 56에 도시한 제1 실시예의 동작에 상응하는 제2 실시예의 동작을 도시하는 타이밍도.
도 73은 판독 동작을 양쪽 포트에서 수행하는 경우를 도시하는, 본 발명의 원리(제3 형태)를 설명하기 위한 도면.
도 74는 버스트 길이가 4인 예를 도시하는, 본 발명의 원리(제3 형태)를 설명하기 위한 도면.
도 75는 2 및 3 포트의 경우에 최소 외부 명령 주기와 내부 동작 주기간의 관계를 도시하는 도면.
도 76은 N 포트의 경우에 최소 외부 명령 주기와 내부 동작 주기간의 관계를 도시하는 도면.
도 77은 본 발명의 일 실시예(제3 형태)에 의한 다중 포트 메모리의 구성을도시하는 도면.
도 78a 내지 도 78c는 본 발명의 상기 실시예(제3 형태)에 의한 다중 포트 메모리의 구성을 도시하는 도면.
도 79는 제1 실시예에 의한 명령 처리에 관련된 유닛의 구성을 도시하는 도면.
도 80은 제1 실시예에 의한 명령 처리에 관련된 유닛의 구성을 도시하는 도면.
도 81은 중재기의 일 실시예.
도 82는 명령 레지스터의 구성을 도시하는 도면.
도 83은 명령 레지스터의 구성을 도시하는 도면.
도 84a 및 도 84b는 레지스터 제어 회로의 동작을 도시하는 도면.
도 85는 명령 레지스터의 동작을 도시하는 도면.
도 86은 명령 레지스터의 동작을 도시하는 도면.
도 87은 실시예에 의한 어드레스 처리에 관련된 부분의 구성을 도시하는 도면.
도 88은 실시예에 의한 데이터 출력에 관련된 부분의 구성을 도시하는 도면.
도 89는 도 88의 전송 신호 발생 회로를 도시하는 도면.
도 90은 실시예에 의한 데이터 입력에 관련된 부분의 구성을 도시하는 도면.
도 91은 실시예에 의한 데이터 입력에 관련된 부분의 구성을 도시하는 도면.
도 92는 연속해서 Read 명령을 양쪽 포트에 입력하는 경우에 수행된 동작을도시하는 도면.
도 93은 연속해서 Read 명령을 양쪽 포트에 입력하는 경우에 수행된 동작을 도시하는 도면.
도 94는 연속해서 Write 명령을 입력하는 예를 도시하는 도면.
도 95는 A 포트와 B 포트의 양쪽이 최고 클록 주파수로 Read 동작으로 동작하는 경우에 수행된 동작을 도시하는 도면.
도 96은 A 포트와 B 포트의 양쪽이 최고 클록 주파수로 Read 동작으로 동작하는 경우에 수행된 동작을 도시하는 도면.
도 97은 A 포트와 B 포트의 양쪽이 최고 클록 주파수 로Write 동작으로 동작하는 경우에 수행된 동작을 도시하는 도면.
도 98은 양쪽 포트가 최고 주파수로 동작하고, 리프레시 명령이 내부에서 발생되 면Write 명령에서 Read 명령으로 전환하는 경우에 수행되는 동작을 도시하는 타이밍도.
도 99는 양쪽 포트가 최고 주파수로 동작하고, 리프레시 명령이 내부에서 발생되면 Write 명령에서 Read 명령으로 전환하는 경우에 수행되는 동작을 도시하는 타이밍도.
도 100a 및 도 100b는 DRAM 코어의 동작을 도시하는 도면.
도 101은 본 발명에 의한 다중 포트 메모리의 실시예(제4 형태)를 도시하는 블록도.
도 102는 본 발명에 의한 다중 포트 메모리의 동작의 일 예(제4 형태)를 도시하는 타이밍도.
도 103은 본 발명에 의한 다중 포트 메모리의 동작의 다른 예(제4 형태)를 도시하는 타이밍도.
도 104는 본 발명에 의한 다중 포트 메모리의 동작의 또 다른 예(제4 형태)를 도시하는 타이밍도.
도 105는 명령 복호기 레지스터의 블록도.
도 106은 본 발명의 실시예(제4 형태)에 의한 중재기의 블록도.
도 107은 중재기의 동작을 도시하는 타이밍도.
도 108은 어드레스 버퍼/레지스터 및 어드레스 전환 회로의 블록도.
도 109는 메모리 블록의 블록도.
도 110a 및 도 110b는 메모리 블록의 동작을 도시하는 타이밍도.
도 111은 본 발명에 의한 다중 포트 메모리의 제1 실시예(제5 형태)를 도시하는 도면.
도 112는 다중 포트 메모리의 I/O 회로(5010)와 메모리 블록(MB)의 상세를 도시하는 도면.
도 113은 어드레스 비교 회로의 상세를 도시하는 도면.
도 114는 비교기의 상세를 도시하는 도면.
도 115는 입력 포트(PORT-A)와 출력 포트(PORT-B)에 공급된 행 어드레스 신호들이 서로 일치하는 경우에 수행되는 비교기의 동작을 도시는 도면.
도 116은 행 어드레스 신호(RA)가 입력 포트(PORT-A)와 출력 포트(PORT-B)간에 일치하지 않는 경우의 비교기의 동작을 도시하는 도면.
도 117은 입출력 포트(PORT-A 및 PORT-B)에 공급되는 행 어드레스 신호들(RA)이, 주기가 클록 신호(CLKB)의 주기와 다른 클록 신호(CLKA)의 조건하에서, 일치하는 경우의 비교기의 동작을 도시하는 도면.
도 118은 도 112에 도시한 중재 회로에 설치되는 중재 제어 회로를 도시하는 도면.
도 119는 입출력 포트(PORT-A 및 PORT-B)에 공급되는 행 어드레스 신호들이 일치하는 경우에 수행되는 중재 제어 회로의 동작을 도시하는 도면.
도 120은 입출력 포트(PORT-A 및 PORT-B)에 공급되는 행 어드레스 신호들(RA)이 서로 일치하는 경우에 수행되는 동작을 도시하는 도면.
도 121은 클록 신호(CLKA 와 CLKB)의 주기들이 동일하고 클록 신호(CLKA)가 클록 신호(CLKB)의 위상 보다 반주기 이상 앞서는 경우에 수행되는 동작을 도시하는 도면.
도 122는 입출력 포트(PORT-A 및 PORT-B)에 거의 동시에 공급되는 행 어드레스 신호들(RA)이 서로 다른 경우의 동작을 도시하는 도면.
도 123은 본 발명(제5 형태)에 따른 다중 포트 메모리의 제2 실시예와 다중 포트 메모리의 제어 방법을 도시하는 도면.
도 124는 본 발명(제5 형태)에 따른 다중 포트 메모리의 제3 실시예와 다중 포트 메모리의 제어 방법을 도시하는 도면.
도 125는 중재 제어 회로의 상세를 도시하는 도면.
도 126은 입출력 포트(PORT-A 및 PORT-B)에 공급되는 행 어드레스 신호들이 서로 다른 경우에 수행되는 중재 제어 회로의 동작을 도시하는 도면.
도 127은 입출력 포트(PORT-A 및 PORT-B)가 활성 명령(ACT)과 동일 행 어드레스 신호들(RA)을 수신하는 경우에 수행되는 판독 동작의 방법을 도시하는 도면.
도 128은 활성 명령(ACT) 및 상호 상이한 행 어드레스 신호들(RA)가 입출력 포트(PORT-A 및 PORT-B)에 공급되는 경우에 수행되는 판독 동작의 방법을 도시하는 도면.
도 129는 입출력 포트(PORT-A 및 PORT-B)가 활성 명령(ACT)와 동일의 행 어드레스 신호들(RA)을 수신하는 경우에 수행되는 기록 동작의 방법을 도시하는 도면.
도 130은, 기록 동작과 판독 동작이 입출력 포트(PORT-A)에 대하여 연속해서 수행되고, 입출력 포트(PORT-A)의 기록 동작의 그것과 동일한 행 어드레스 신호들(RA)로 지향하는 기록 동작과 입출력 포트(PORT-A)의 판독 동작의 그것과 동일한 행 어드레스 신호들(RA)로 지향하는 기록 동작이 입출력 포트(PORT-B)에 대하여 연속해서 수행되는 경우를 도시하는 도면.
도 131은, 기록 동작과 판독 동작이 입출력 포트(PORT-A)에 대하여 연속해서 수행되고, 입출력 포트(PORT-A)의 기록 동작의 그것과 동일한 행 어드레스 신호들(RA)로 지향하는 판독 동작과 입출력 포트(PORT-A)의 판독 동작의 그것과 동일한 행 어드레스 신호들(RA)로 지향하는 기록 동작이 입출력 포트(PORT-B)에 대하여 연속해서 수행되는 경우를 도시하는 도면.
도 132는 입출력 포트(PORT-A 및 PORT-B)에 공급되는 행 어드레스 신호들(RA)이, 클록 신호들(CLKA 및 CLKB)이 클록 주기가 서로 다를 때, 서로 일치하는 경우에 수행되는 동작을 도시하는 도면.
도 133은 본 발명(제5 형태)에 따른 다중 포트 메모리의 제4 실시예와 다중 포트 메모리의 제어 방법을 도시하는 도면.
도 134는 입출력 포트(PORT-A 및 PORT-B)가 활성 명령(ACT)와 동일의 행 어드레스 신호들(RA)를 수신하는 경우에 수행되는 판독 동작의 방법을 도시하는 도면.
도 135는 활성 명령(ACT) 및 상이한 행 어드레스 신호들(RA)이 입출력 포트(PORT-A 및 PORT-B)에 공급되는 경우에 수행되는 판독 동작의 방법을 도시하는 도면.
도 136은 활성 명령(ACT) 및 동일의 행 어드레스 신호들(RA)이 입출력 포트(PORT-A 및 PORT-B)에 공급되고 기록 동작이 수행되며, 이어서 활성 명령(ACT) 및 상이한 행 어드레스 신호들(RA)이 공급되고, 그 결과, 기록 동작이 수행되는 경우를 도시하는 도면.
도 137은 활성 명령(ACT) 및 동일의 행 어드레스 신호들(RA)이 입출력 포트(PORT-A 및 PORT-B)에 공급되고 기록 동작이 수행되며, 이어서 활성 명령(ACT) 및 상이한 행 어드레스 신호들(RA)이 공급되고, 그 결과, 판독 동작이 입출력 포트(PORT-A)에서 수행되고 기록 동작이 입출력 포트(PORT-B)에서 수행되는 경우를 도시하는 도면.
도 138은 활성 명령(ACT) 및 동일의 행 어드레스 신호들(RA)이 입출력 포트(PORT-A 및 PORT-B)에 공급되고 기록 동작과 판독 동작이 수행되며, 이어서 활성 명령(ACT) 및 상이한 행 어드레스 신호들(RA)이 공급되고, 그 결과, 기록 동작과 판독 동작이 수행되는 경우를 도시하는 도면.
도 139는 본 발명(제5 형태)에 따른 다중 포트 메모리의 제5 실시예와 다중 포트 메모리의 제어 방법을 도시하는 도면.
다음에 첨부 도면을 참조하여 본 발명의 실시예를 설명한다.
[본 발명의 제1 형태]
본 발명의 원리(제1 형태)를 먼저 설명한다.
도 1은 본 발명의 원리(제1 형태)를 설명하기 위한 도면이다. 도 1은 2 포트인 경우의 원리를 설명하기 위한 도면이지만, 2 이상의 포트(N 개의 포트)가 설치되더라도 동일한 동작을 얻을 수 있다.
2회 주기의 내부 회로(DRAM 코어) 동작과 같은 시간 스팬이 1회 주기의 외부 명령 주기로서 정의된다. 즉, 코어 동작의 주기는 외부 명령 주기의 속도의 두 배가 된다. A 포트와 B 포트에 입력된 명령은 명령이 일찍 도달하면 그 명령을 일찍 처리하는 순서가 되도록 내부 메모리에 의하여 배속으로 처리된다. 이어서, 출력 데이터는 각 포트에 통과된다. 즉, 워드선의 선택, 데이터의 증폭, 열 선의 선택, 판독 또는 기록 동작, 및 프리챠지 동작을 비롯한 이련의 동작은 1회의 코어 동작 주기로 수행되어, 해당 메모리 블록에 대하여 액세스 동작을 완료한다.
예컨대, 어떤 Read 명령은 도 1의 A 포트에 해당하는 외부 명령 주기의 타이밍(C1)으로 A 포트에 입력된다. 또한, 어떤 Read 명령은 B 포트에 해당하는 외부 명령 주기의 타이밍(C1)으로 B 포트에 입력된다. A 포트의 Read 명령의 타이밍은 조금 더 빠르기 때문에, 이 Read 명령은 B 포트에 입력된 Read 명령에 앞서 수행된다. 여기에서, 1회의 외부 명령 주기는 4회의 클록 주기에 상당한다. 도 1에 도시한 바와 같이, 각 Read 주기는 1회의 코어 동작 주기에 상당하는 2회의 클록 주기로 실행되어 완료된다. 따라서, 1회의 외부 명령 주기에 해당하는 4회의 클록 주기의 기간에 A 포트와 B 포트에 입력된 Read 명령에 응답하여, A 포트로부터의 판독 액세스와 B 포트로부터의 판독 액세스가 동일한 블록으로 향하더라도 BUSY 상태를 발생하지 않으면 수행될 수 있다. 이것은 각 액세스를 2회의 클록 주기로 수행하여 완료함으로써 달성된다.
이와 같이 하여, 동일한 메모리 블록이 복수 개의 포트에 의하여 동시에 액세스되더라도, 내부 메모리를 배속으로 연이은 연속 처리를 할 수 있기 때문에 BUSY 상태는 발생되지 않는다.
또한, (예컨대, A 포트의) 장치의 외부로부터 리프레시 명령이 생기는 경우에, 도 1에 도시한 바와 같이, 리프레시 동작은 다른 포트(예컨대, 이 예에서는 B 포트)로부터의 액세스에 영향을 미치지 않는 채 장치의 내부에서 수행될 수 있다. 이 경우에, 복수 개의 포트 중 하나의 포트(즉, 도 1의 예의 A 포트)는 리프레시 관리를 하는 포트로서 선택될 수 있고, 리프레시 명령은 항상 이 포트로부터 입력될 수 있다.
더욱이, 데이터 출력은 복수 개의 열 어드레스의 형태로부터 데이터를 병렬로 판독하고 그 병렬 데이터를 출력시에 직렬 데이터로 변환하여 데이터를 출력하는 버스트 타입의 형태를 취할 수 있다. 이로써, 데이터 전송 속도가 증가하고, 연속 Read 명령에 응답하여 데이터를 연속하여 출력할 수 있게 된다.
도 2는 한 개의 포트만을 사용하고 있는 경우의 리프레시 동작을 도시하는 도면이다.
도 2에 도시한 바와 같이, 두 개의 포트, 예컨대, A 포트와 B 포트가 설치되는 경우에, 양쪽 포트를 동작하게 할 필요가 없다. 장치 내부에 리프레시 타이머를 설치하면, 리프레시 명령을 내부적으로 발생할 수 있게 된다. 도 2에 도시한 바와 같이, 예컨대, 리프레시 명령은 하나의 포트(예컨대, B 포트)가 동작되고 있지 않는 경우에 내부적으로 발생될 수 있어, A 포트에서 행해지는 액세스에 영향을 미치지 않는 채 리프레시 동작을 수행한다.
이제, 리프레시 관리를 하고 있는 동안에 제어기 A는 A 포트를 제어하고 제어기 B는 B 포트를 제어하는 예에 관하여 고려해 본다. 이러한 경우에, 전술한 내부 리프레시의 기능이 존재한다면, A 포트만을 사용하고 있는 동안에 B 포트는 완전히 정지된다. 시스템 동작의 변화를 따라감으로써 전력 소모의 감소하게 된다.
도 3A 내지 도 3C는 2 포트, 3 포트 및 N 포트의 경우에 있어서 본 발명의 원리를 설명하기 위한 도면이다.
전술한 바와 같이, 본 발명은 3 이상의 포트의 다중 포트 메모리에도 적용할 수 있다. 도 3A는 도 1 및 도 2에서 2 포트가 설치되어 있는 경우의 한 쪽 포트의 동작을 도시하고 있다. 도 3B는 3 포트의 경우의 한 쪽 포트의 동작을 도시하고 있고, 도 3C는 N 포트의 경우를 도시하고 있다. 도 3C에 도시한 바와 같이, 내부 동작 주기의 길이는 N 포트 메모리의 경우에 외부 공통 주기만큼 긴 N/1로 적절히 설정될 수 있다.
이어서, 본 발명의 일 실시예에 따른 반도체 메모리 장치에 관하여 설명한다.
도 4는 본 발명에 따른 다중 포트 메모리의 제1 실시예를 도시하는 블록도이다. 이 예에서, 구성은 2 포트, 즉 A 포트와 B 포트가 설치되어 있다.
도 4의 다중 포트 메모리는 A 포트(11), B 포트(12), 자기 리프레시 회로(12), DRAM 코어(14), 중재기(15), 리프레시 명령 레지스터(16), 명령 레지스터 A(17), 명령 레지스터 B(18), 리프레시 어드레스 레지스터(19), 어드레스 레지스터 A(20), 어드레스 레지스터 B(21), 기록 데이터 레지스터 A(22), 기록 데이터 레지스터 B(23), 전송 게이트 A(24) 및 전송 게이트 B(25)를 포함하고 있다.
A 포트(11)는 모드 레지스터(31), CLK 버퍼(32), 데이터 I/O 회로(33), 어드레스 버퍼(34) 및 명령 복호기(35)를 포함하고 있다. 또한, B 포트(12)는 모드 레지스터(41), CLK 버퍼(42), 데이터 I/O 회로(43), 어드레스 버퍼(44) 및 명령 복호기(45)를 포함하고 있다. A 포트(11)와 B 포트(12)에서, 외부 버스와의 액세스는 개개의 클록 신호들(CLKA 및 CLKB)과 동기하여 독립적으로 달성된다. 모드 레지스터(31 및 41)는 개개의 포트에 대하여 데이터 지연과 버스트 길이 등의 모드 설정을 내부에 기억할 수 있다. 이 실시예에서, A 포트(11)와 B 포트(12)에는 개개의 모드 레지스터가 설치되므로, 각 포트는 모드 설정을 행할 수 있다. 그러나, 모드 레지스터는두 포트 중 하나의 포트에만 배치될 수도 있으므로, 예컨대 이 하나의 포트에 대하여 설정을 행함으로써 두 포트에 대한 설정이 행해질 수도 있다.
자기 리프레시 회로(13)는 리프레시 타이머(46)와 리프레시 명령 발생기(47)를 포함하고 있다. 자기 리프레시 회로(13)는 그 장치의 내부에서 리프레시 명령을 발생하고, A 포트(11)와 B 포트(12)로부터 각각 신호(CKEA1 및 CKEB1)를 수신한다.신호(CKEA1 및 CKEB1)는 CLK 버퍼(32 및 42)에 의해 각각 외부 신호(CKEA 및 CKEB)를 각각 버퍼링함으로써 얻은 신호이다. 외부 신호(CKEA 및 CKEB)는 개개의 포트의 클록 버퍼를 중단시키고 개개의 포트를 비활성시키는데 이용된다. A 포트(11)와 B 포트(12) 중 하나가 비활성 상태로 되면, 자기 리프레시 회로(13)는 동작을 개시한다. 두 포트 중 하나의 포트가 리프레시 관리를 담당하도록 모드 레지스터(31 및 41)에서 설정이 행해진 경우에, 자기 리프레시 회로(13)는 리프레시 관리를 담당하는 포트가 활성으로 될 때 활성될 수 있다.
또한, DRAM 코어(14)는 메모리 어레이(51), 복호기(52), 제어 회로(53), WriteAmp(54) 및 센스 버퍼(55)를 포함하고 있다. 메모리 어레이(51)는 기록되어 판독될 데이터를 내부에 기억하고 DRAM 메모리 셀, 셀 게이트 트랜지스터, 워드선, 비트선, 센스 증폭기, 열 선, 열 게이트 등을 포함하고 있다. 복호기(52)는 액세스될 어드레스를 복호화한다. 제어 회로(53)는 DRAM 코어(14)의 동작을 제어한다. WriteAmp(54)는 메모리 어레이(51)에 기록될 데이터를 증폭한다. 센스 버퍼(55)는 메모리 어레이(51)로부터 판독되는 데이터를 증폭한다.
A 포트(11)로의 입력은 어드레스 레지스터 A(20), 리프레시 명령 레지스터(16), 명령 레지스터 A(17) 및 기록-데이터 레지스터 A(22)로 전송된다. 또한, B포트(12)로의 입력은 어드레스 레지스터 B(21), 리프레시 명령 레지스터(16), 명령 레지스터 B(18) 및 기록-데이터 레지스터 B(23)로 전송된다. 중재기(중재 회로)(15)는 A 포트(11)와 B 포트(12)간에 처리할 우선 순위가 어느 명령에 주어져야 하는지를 판단하기 위하여 명령이 입력된 순서를 판단한다. 그 순서에 따라, 중재기(15)가 명령, 어드레스 및 데이터(기록 동작의 경우에)를 개개의 레지스터에서 DRAM 코어(14)로 전송하는 것이 판단된다. DRAM 코어(14)는 수신된 데이터를 기초로 하여 동작한다. Read 명령의 경우에, DRAM 코어(14)로부터 판독된 데이터는 상응하는 명령이 입력된 포트로 전달되고, 이어서 병렬 데이터에서 직렬 데이터로 변환되며, 이어서 이 포트의 클록과 동기하여 출력된다.
도 5는 중재기(15)에 입력된 명령에 관한 회로의 블록도이다.
명령 복호기(35)는 입력 버퍼(61), 명령 복호기(62) 및 (n-1)-클록-지연 회로(63)를 포함하고 있다. 더욱이, 명령 복호기(45)는 입력 버퍼(71), 명령 복호기(72) 및 (n-1)-클록-지연 회로(73)를 포함하고 있다. 명령 레지스터 A(17)는 판독-명령 레지스터(17-1)와 기록-명령 레지스터(17-2)를 포함하고 있다. 또한, 명령 레지스터 B(18)는 판독-명령 레지스터(18-1)와 기록-명령 레지스터(18-2)를 포함하고 있다.
Read 명령의 경우에, 입력 버퍼(61 또는 71)에 입력된 명령 입력은 타이밍 조작 없이 각각 명령 복호기(62 또는 72)를 통하여 판독-명령 레지스터(17-1 또는 18-1)에 전달된다. Write 명령의 경우에, 입력된 명령은 (n-1)-클록-지연 회로(63 또는 73)에 의하여 (n-1)-클록이 지연되고, 이어서 기록될 일련의 버스트 데이터의 n번째 데이터(즉, 최종 데이터)가 입력되는 타이밍에 기록-명령 레지스터(17-2 또는 18-2)에 전송된다.
리프레시 명령의 경우에, A 포트(11), B 포트(12) 또는 리프레시 명령 발생기(47)로부터 공급된 리프레시 명령은 리프레시 명령 레지스터(16)에 전송된다. 리프레시 명령의 발생은 자주 일어나지 않으므로, 복수 개의 리프레시 명령 레지스터를 설치할 필요는 없다. 또한, 리프레시 명령 발생기(47)에 입력되는 자기 리프레시 설정 정보는 모드 레지스터(31 및 41)로부터 공급되고, 두 포트 중 어느 포트가 리프레시 관리를 담당하는 지를 나타낸다.
중재기(!5)는 명령들이 개개의 명령 레지스터에 전송된 순서를 검출하고 그 명령들을 하나씩 이 순서대로 DRAM 제어 회로(53)에 전달한다.
명령을 수신할 때(또는 명령 실행의 종래시에 가까워질 때), DRAM 제어 회로(53)는 RESET1 신호를 발생하여, 중재기(15)가 다음 명령을 준비하게 한다. 이 실시예의 특정 구성에 있어서, DRAM 제어 회로(53)는 RESET1 신호가 종료될 때 다음 명령을 수신한다.
RESET1 신호의 수신시, 중재기(15)는 리셋 신호(ResetRA, ResetWA, ResetRB, ResetWB 및 ResetREF) 중 하나를 명령 레지스터 A(17), 명령 레지스터 B(18) 및 리프레시 명령 레지스터(16) 중 상응하는 것으로 공급한다. 이 동작을 통하여, DRAM 코어(14)에 전송되어 온 명령을 내부에 기억하는 명령 레지스터는 리셋되고, 이 명령 레지스터에서 다음 명령이 준비된다.
도 6a 및 도 6b는 중재기(15)의 구성을 도시하는 회로도이다.
도 6a에 도시한 바와 같이, 중재기(15)는 비교기(80-1 내지 80-10), AND 회로(81-1 내지 81-5), AND 회로(82-1 내지 82-5), AND 회로(83-1 내지 83-5), 인버터(85 내지 87), NAND 회로(88) 및 인버터(89 및 90)를 포함하고 있다. 비교기(80-1 내지 80-10)는 각각 동일한 회로 구성을 가지며, 도 6b에 도시한 바와 같이,NAND 회로(91 및 92)와 인버터(93 및 94)를 포함하고 있다.
명령 레지스터 A(17)로부터의 판독-명령 신호(RA2) 및 기록-명령 신호(WA2)와, 명령 레지스터 B(18)로부터의 판독-명령 신호(RB2) 및 기록-명령 신호(WB2), 및 리프레시 명령 레지스터(16)로부터의 리프레시 명령(REF2)은 중재기(15)로 공급된다. 5 가지의 명령 신호 중 2 가지를 선택하는 10 가지 조합 모두에 대하여, 10 개의 비교기(80-1 내지 80-10)는 명령 도달 타이밍상 어느 것이 다른 것보다 빠른가를 판단한다.
각 비교기는 두 개의 명령의 타이밍을 비교하고, 다른 입력에 앞서 HIGH를 수신한 입력에 상응하는 출력들 중 하나를 HIGH로 설정한다. 예컨대, 비교기(80-1 내지 80-4)의 각각은 어느 것이 A 포트(11)로부터의 판독-명령 신호(RA2) 또는 네 개의 다른 명령 중 상응하는 것 중 보다 빠른지를 판단한다. 만일 판독-명령 신호(RA2)가 네 개의 다른 명령 중 어느 것보다도 빠르다면, AND 회로(81-1)로부터 출력된 판독-명령 신호(RA31)는 HIGH로 설정된다. RESET1 신호가 LOW일 때, 이 판독-명령 신호(RA31)는 판독-명령 신호(RA3)으로서 중재기(15)로부터 DRAM 코어(14)에 공급된다.
DRAM 코어(14)가 명령을 수신할 때, DRAM 코어(14)는 HIGH인 RESET1 신호를 발생한다. 이 RESET1 신호는 인버터(85 내지 87), NAND 회로(88) 및 인버터(89)에 의하여 펄스 신호로 반전되고, AND 회로(83-1 내지 83-5)에 공급된다. Read 명령 신호(RA31)가 HIGH일 때, 예컨대 수신된 명령이 내부에 있는 명령 레지스터를 리셋하는 신호(ResetRA)가 지연 회로(84-1)를 통하여 발생된다.
도 7은 중재기(15)의 동작을 도시하는 타이밍도이다.
도 7에 표기된 명칭을 갖는 신호들은 도 6a의 개개의 위치에 도시되어 있다. 도 7은 Read 명령이 A 포트(11)와 B 포트(12)에 공급되는 경우의 중재기(15)의 동작을 도시하고 있다. 도 7에 도시한 바와 같이, A 포트(11)에 상응하는 Read 명령(RA2)은 우선 순위로서 선택되어(RA)31이 발생되므로, 코어 회로는 판독 동작(READ-A)를 수행한다. 이것에 의하여 발생된 리셋 신호(RESET1)에 응답하여, B 포트(12)에 상응하는 판독-명령(RB2)이 선택되므로, RB31이 발생된다. 리셋 신호(RESET1)가 LOW로 될 때, Read 명령(RB3)은 코어 회로에 공급되므로, 판독 동작(READ-B)가 수행된다.
도 8은 DRAM 코어(14)에 입력된 어드레스에 관한 회로의 블록도이다.
A 포트(11)의 어드레스 버퍼(34)는 어드레스 버퍼(34-1), 전송 게이트(34-2) 및 OR 회로(34-3)를 포함하고 있다. 도 5에 도시한 명령 복호기(62)로부터 출력된 판독-명령 신호(RA1)의 상승 에지에 상응하는 펄스를 갖는 펄스 신호는(RA)1P로서 OR 게이트(34-3)의 입력들 중 하나의 입력에 공급된다. 또한, 도 5에 도시한 명령 복호기(62)로부터 출력된 기록-명령 신호(WA1)의 상승 에지에 상응하는 펄스를 갖는 펄스 신호는 WA1P로서 OR 게이트(34-3)의 입력들 중 다른 하나의 입력에 공급된다. 이하, 신호명 말미에 "P"자를 붙인 신호는 상응하는 시호명의 신호의 상승 에지로부터 행해지는 펄스를 갖는 신호를 나타낸다.
B 포트(12)의 어드레스 버퍼(44)는 입력 버퍼(44-1), 전송 게이트(44-2) 및 OR 회로(44-3)를 포함하고 있다.
어드레스 레지스터 A(20)는 어드레스 래치(101), 전송 게이트(102), 어드레스 래치(103), 전송 게이트(104), 전송 게이트(105), 어드레스 래치(106) 및 전송 게이트(107)를 포함하고 있다. 또한, 어드레스 레지스터 B(21)는 어드레스 래치(111), 전송 게이트(112), 어드레스 래치(113), 전송 게이트(114), 전송 게이트(115), 어드레스 래치(116) 및 전송 게이트(117)를 포함하고 있다.
리프레시 어드레스 레지스터(19)는 리프레시-어드레스-카운터/레지스터(19-1), 인버터(19-2) 및 전송 게이트(19-3)를 포함하고 있다. 리프레시 어드레스는 리프레시-어드레스-카운터/레지스터(19-1)에 의하여 발생되고 유지된다.
전술한 회로 구성의 동작을 통하여, Read 명령 또는 Write 명령이 장치의 외부로부터 입력될 때, 명령과 함께 입력된 어드레스는 어드레스 래치(101 또는 111)에 전달된다. Read 명령의 경우에, 어드레스는 어떠한 타이밍 조작 없이 어드레스 래치(106 또는 116)에 전송된다. Write 명령의 경우에, 어드레스는 일련의 기록 데이터 중 최종 데이터가 획득되는 타이밍에 어드레스 래치(103 또는 113)에 전송된다.
도 8의 회로 구성에 도시한 바와 같이, 어드레스 신호는, 중재기(15)에서 DRAM 코어(14)로 전달되는 개개의 명령 신호(RA3, WA3, RB3, WB3 및 REF3)에 상응하는 펄스 신호(RA3P, WA3P, RB3P, RB3P, WB3P 및 REF3P)에 응답하여 어드레스 래치에서 DRAM 코어(14)로 전달된다.
도 9는 데이터 출력에 관련된 회로의 블록도이다.
데이터 I/O 회로(33)의 데이터 출력에 관련된 부분은 데이터 래치(121), 전송 게이트(122), 데이터 래치(123), 병렬 직렬 변환기(124), 출력 버퍼(125) 및 전송 신호 발생 회로(126)를 포함하고 있다. 더욱이, 데이터 I/O 회로(43)의 데이터 출력에 관련된 부분은 데이터 래치(131), 전송 게이트(132), 데이터 래치(133), 병렬 직렬 변환기(134), 출력 버퍼(135) 및 전송 신호 발생 회로(136)를 포함하고 있다.
메모리 어레이(51)로부터 판독된 데이터는 센스 증폭기(55)에 의하여 증폭되고, 전송 게이트 A(24) 또는 전송 게이트 B(25)를 통하여 각각 데이터 I/O 회로(33) 또는 데이터 I/O 회로(43)에 공급된다. 실행된 명령이 A 포트(11)로부터 판독되고 있는 데이터와 관련이 있다면, 전송 게이트 A(24)가 개방되고, 반면에 실행된 명령이 B 포트(12)로부터 판독되고 있는 데이터와 관련이 있다면, 전송 게이트 B(25)가 개방될 것이다. 이와 같이 공급된 데이터는 데이터 래치(121 또는 131)에 의하여 래치되고 유지된다.
전송 게이트(122 또는 132)는 전송 신호 발생 회로(126 또는 136)로부터 공급된 전송 신호에 응답하여 상응하는 포트에서 Read 명령의 수신 후에 미리 결정된 대기 시간을 개방한다. 이어서, 데이터 래치(121 또는 131)의 데이터는 각각 데이터 래치(123 또는 133)에 전달된다. 그 후, 데이터는 병렬 직렬 변환기(124 또는 134)에 의하여 병렬 데이터에서 직렬 데이터로 변환된다. 이어서, 데이터는 출력 버퍼(125 또는 135)로 전달되고 그로부터 출력된다.
도 10은 전송 신호 발생 회로(126 또는 136)의 구성을 도시하는 회로도이다.
전송 신호 발생 회로(126 또는 136)는 플립플롭(141 내지 144) 및다중화기(145)를 포함하고 있다. 판독-명령 신호(RA1 또는 RB1)는 플립플롭(141)에 공급되고, 계속해서 하나의 플립플롭에서 다음의 플립플롭으로 클록 신호(CLKA1 또는 CLKB1)와 동기하여 전파한다. 대기 시간 정보(A 및 B)는 다중화기(145)에 공급된다. 이 대기 시간 정보는 예컨대 클록 주기수만큼의 대기 시간 길이를 지정한다. 대기 시간 정보를 기초로 하여, 다중화기(145)는 상응하는 플립플롭의 Q 출력을 선택하고 그것을 데이터 전송 신호로서 출력한다.
도 11은 데이터 입력에 관련된 회로의 블록도이다.
데이터 I/O 회로(33)의 데이터 입력에 관한 부분은 데이터 입력 버퍼(151), 직렬 병렬 변환기(152) 및 데이터 전송부(153)를 포함하고 있다. 데이터 I/O 회로(43)의 데이터 입력에 관한 부분은 데이터 입력 버퍼(154), 직렬 병렬 변환기(155) 및 데이터 전송부(156)를 포함하고 있다.
데이터 입력 버퍼(151 또는 154)에 직렬로 입력되는 데이터는 각각 직렬 병령 변환기(152 또는 155)에 의하여 병렬 데이터로 변환된다. 최종 데이터가 입력될 때, 병렬 데이터는 기록-데이터 레지스터 A(22) 또는 기록-데이터 레지스터 B(23)에 전달된다. Write 명령이 중재기(15)로부터 DRAM 코어(14)로 전달될 때, 기록-데이터 레지스터 A(22) 또는 기록-데이터 레지스터 B(23)의 데이터는 Write 명령이 DRAM 코어(14)에 전달되는 것에 상응하는 타이밍을 나타내는 신호(WA3P 또는 WB3P)에 응답하여 DRAM 코어(14)로 전송된다.
도 12는 Read 명령이 연속해서 입력되는 경우에 수행되는 동작을 도시하는 타이밍도이다.
A 포트(11)와 B 포트(12)는 주파수가 다른 클록(CLKA 및 CLKB)에 각각 동기하여 동작한다. 이 예에서, A 포트(11)는 최대 클록 주파수로 동작하고, B 포트(12)는 보다 낮은 클록 주파수로 동작한다.
A 포트(11)는 다음과 같이 설정된다. 즉, 판독-명령 주기=4(CLKA), 데이터 대기 시간=4 및 버스트 길이=4이다. B 포트(12)는 다음과 같이 설정된다. 즉, 판독-명령 주기=2(CLKB), 데이터 대기 시간=2 및 버스트 길이=2이다. 데이터 대기 시간과 버스트 길이는 각 포트의 모드 레지스터에 설정되어 있다.
포트에 의하여 수신된 명령은 개개의 명령 레지스터에 기억된다. 리프레시 명령은 리프레시 명령 레지스터에 기억된다. 중재기는 이들 명령 레지스터를 감시하고, 명령이 수신된 순서대로 그 명령을 DRAM 코어에 전달한다. 다음 명령은 선행 명령의 처리가 완료될 때 전달된다.
DRAM 코어로부터 판독된 데이터는 센스 버퍼로부터 개개의 포트의 데이터 래치(도 9 참조)로 전달된다. 그 후, 데이터는 병렬에서 직렬로 변환되고, 외부 클록과 동기하여 버스트 출력으로서 출력된다.
리프레시 명령은 A 포트로부터 한 번 입력되지만, B 포트의 동작은 도 12에 도시한 바와 같이 영향을 받지 않는다.
도 13은 Write 명령이 연속해서 입력되는 경우에 수행되는 동작을 도시하는 타이밍도이다.
기록 동작의 시간에 장치의 외부로부터 입력된 데이터는 버스트 입력의 형태를 취한다. Write 명령이 기록-명령 레지스터에 기억되는 타이밍은 버스트 입력의최종 데이터가 입력되는 타이밍이다.
도 13에 도시한 바와 같이, A 포트로부터 공급된 리프레시 명령은 B 포트의 동작에 영향을 미치지 않는다.
도 14는 A 포트와 B 포트 모두가 최대 클록 주파수로 동작하는 경우를 도시하는 타이밍도이다.
도 14에 도시한 바와 같이, 이들 포트의 클록 신호들간에는 위상차가 있을 수 있다. 양쪽 포트는 다음과 같이 설정된다. 즉, 판독-명령 주기=4, 데이터 대기 시간=4 및 버스트 길이=4이다. 도면에서 보는 바와 같이, 양쪽 포트가 최대 클록 주파수로 동작하는 경우에도 동작에 관한 문제는 없고, Read 명령은 연속해서 입력된다.
도 15는 A 포트와 B 포트 모두가 최대 클록 주파수로 동작하는 경우를 도시하는 타이밍도이다. 도 15에서, 양쪽 포트는 연속해서 Write 명령을 수신한다.
도 15에 도시한 바와 같이, 이들 포트의 클록 신호들간에는 위상차가 있을 수 있다. 양쪽 포트는 다음과 같이 설정된다. 즉, 기록-명령 주기=4, 데이터 대기 시간=4 및 버스트 길이=4이다. 도면에서 보는 바와 같이, 양쪽 포트가 최대 클록 주파수로 동작하는 경우에도 동작이 적절하게 처리되고, Write 명령은 연속해서 입력된다.
도 16은 명령이 Read 명령에서 Write 명령으로 전환하는 경우의 동작을 도시하는 타이밍도이다.
도 16에 도시한 바와 같이, 명령 전이 "Write->Read"에는 "Write->Write" 또는 "Read->Read"의 명령 기간에 비하여 별도의 명령 기간이 있어야 한다. 그 이유는, Write 명령은 버스트 입력의 최종 데이터가 입력되는 타이밍에 그의 처리를 위하여 전달되기 때문이다. 반대로, Read 명령이 처리를 위하여 전송되는 타이밍은 Read 명령이 입력되는 타이밍으로서 정의되므로, 연속 명령이 "Write->Read"인 경우에 별도의 명령 기간이 있어야 한다. 이러한 요구는 버스트 입력의 형태를 취하는 입력 데이터가 병렬 데이터로 변환된다는 사실에 기인할 수 있다. 버스트 입력으로서 네 개의 데이터 편(片)이 입력되지 않고 한 개의 데이터 편만이 입력된다면, 연속 명령이 "Write->Read"인 경우라도 별도의 명령 기간이 있을 필요가 없다.
이러한 구성에 있어서, 하나의 Write 명령에 대하여 한 개의 데이터 편만이 입력되므로, "Write->Write" 또는 "Read->Read"의 경우과 동일한 명령 기간이 이용되더라도 "Write->Read" 명령의 연속 동안 동작이 적절히 수행될 수 있다.
도 17은 명령이 "Read"에서 "Write"로 전환할 때 리프레시 명령이 입력되는 타이밍을 도시하는 도면이다.
도면 상부에는 리프레시 명령이 입력되는 타이밍을 도시하고 있다. 리프레시 명령은 도시한 기간 중의 어느 타이밍에서 적절히 입력될 수 있다. 예컨대, 리프레시 명령이 도 17에 도시한 타이밍에 입력되더라도, 리프레시 동작은 선행 Write 명령의 실행이 완료되는 경우에만 개시하고, 그 때까지 리프레시 명령은 대기 상태를 유지한다. 이 때문에, 리프레시 명령은 이 대기 상태에 상응하는 기간 이내에 속하는 한 어느 타이밍에서도 적절히 입력될 수 있다.
도 18은 양쪽 포트 중 하나의 포트가 비활성되어 있는 경우에 수행되는 동작을 도시하는 타이밍도이다.
도 18에 도시한 바와 같이, 양쪽 포트 중 하나의 포트[예컨대, 도 18의 A 포트(11)]가 비활성되어 있는 경우에, 리프레시 명령은 리프레시 타이머를 기초로 하여 내부적으로 발생되고, 따라서 리프레시 동작이 실행된다.
도 19는 양쪽 포트가 비활성되어 있는 경우에 수행되는 동작을 도시하는 타이밍도이다.
도 19에 도시한 바와 같이, 양쪽 포트가 비활성되어 있는 경우에, 리프레시 명령은 리프레시 타이머를 기초로 하여 내부적으로 발생되고, 따라서 리프레시 동작이 실행된다.
도 20a 및 도 20b는 DRAM 코어의 동작을 도시하느 타이밍도이다.
도 20a는 판독 동작의 경우를 도시하고 있고, 도 20b는 기록 동작의 경우를 도시하고 있다. 도 20a 및 도 20b에 도시한 동작 타이밍에서, 입력된 명령은, 전체 동작이 완료되기 전에, 워드선 선택, 데이터 증폭, 재기록 및 프리챠지로 된 연속 동작에 의하여 발생된다.
도 21은 한쪽 포트만이 동작되는 경우에 수행되는 배속 동작을 도시하는 타이밍도이다.
두 개의 포트 중 하나의 포트를 중지시킴으로써, 명령 입력에서 동작중인 포트까지의 기간은 반으로 단축될 수 있다. 이러한 경우에, 외부 명령의 가장 빠른 주기와 내부 행위의 가장 빠른 주기는 서로 동일하다. 도 21의 예에서, 명령 기간은 클록 주파수를 변경하지 않고서도 단축된다. 이 경우, 버스트 길이도 점점 더짧아지므로, 데이터 전송 속도는 양쪽 포트를 이용하는 경우와 동일하다.
도 22는 클록 주파수를 두 배로 높힘으로써 데이터 전송 속도를 배가시키는 경우의 배속 동작을 도시하는 타이밍도이다.
도 22에서, 두 포트 중 하나의 포트가 정지될 때, 동작하는 포트에 입력되는 클록 신호는 두 배로 높은 주파수로 설정된다. 이와 관련하여, 명령 입력의 시간 간격은 길이가 반으로 된다. 이 경우, 버스트 길이는 양쪽 포트를 이용하는 경우와 동일하므로, 데이터 전송 속도는 양쪽 포트를 이용하는 경우의 속도에 두 배가 된다.
또한, 외부 클록 신호는 I/O 회로부에만 입력되므로, 이 회로부가 고속 동작을 수용할 수 있도록 설계된다면, 배속 동작을 실제로 실시하는 것은 용이하다.
도 23은 본 발명의 제2 실시예를 설명하기 위한 도면이다.
일반적으로, 메모리는 그 용도에 따라 확장된다. 같은 이유가 다중 포트 메모리에도 적용되며, 메모리 공간을 확장할 목적으로 복수 개의 다중 포트 메모리를 설치하는 경우가 있을 수 있다.
다중 포트 메모리는 중재기를 포함하고 있고, 여러 개의 명령 중 어느 명령이 개개의 포트에 입력할 때 보다 빠른지를 검출하고, 이어서 검출된 순서대로 명령이 실행된다. 명령이 개개의 포트에 거의 동일한 타이밍으로 입력되더라도, 그들 명령의 연속 실행을 위한 순서는 판단된다. 도 23에 도시한 예에는 복수 개의 다중 포트 메모리(200-1 내지 200-n)이 설치되어 있고, 그 다중 포트 메모리(200-1 내지 200-n)에는 동일 명령들이 A 포트 제어기(201)와 B 포트 제어기(202)로부터 공급된다. 각 다중 포트 메모리에 명령이 도달하는 관련 타이밍은 약간 다르다. 왜냐하면, 명령들이 동시에 A 포트와 B 포트에 공급되더라도 전력 잡음의 영향이 있기 때문이다. 이 경우, 각 다중 포트 메모리의 중재기는 메모리마다 다른 순서로 명령들을 실행할 수 있다.
메모리 장치들간 명령 실행의 순서가 다르더라도 A 포트에 대한 명령과 B 포트에 대한 명령이 다른 어드레스를 향하는 경우에는 문제가 없을 것이다. 그러나, 여러 개의 명령이 동일 어드레스를 향하는 경우에는 문제가 발생한다.
예컨대, 호출된 데이터는, 그 데이터가 동일 어드레스 셀에 대한 기록 액세스 이후에 판독될 때와 그 데이터가 동일 메모리 셀에 대한 기록 액세스 이전에 판독될 때 사이에 차이가 있을 것이다. 또한, B 포트의 데이터는 A 포트의 데이터가 기록된 이후에 B 포트의 데이터가 기록되는 경우에 메모리에 머물러 있지만, 동작이 역순으로 수행된다면 A 포트의 데이터가 메모리에 남아 있을 것이다.
명령 실행 순서가 전술한 바와 같이 메모리마다 다르면 데이터의 신뢰도에 관한 심각한 문제가 생긴다.
따라서, 복수 개의 다중 포트 메모리가 이용되는 경우에는 중재기에 의하여 수행되는 판정에 대해 메모리들간의 일관성을 유지할 필요가 있다. 이를 위해, 본 발명의 제2 실시예는 다중 포트 메모리들 중 하나를 마스터 장치(200-1)로서 할당하고, 나머지 장치들을 슬레이브 장치(200-2 내지 200-n)로서 이용한다. 슬레이브 장치는 마스터 장치의 중재기에 의하여 행해지는 판정을 확인한다.
도 24는 본 발명에 따른 다중 포트 메모리의 제2 실시예를 도시하는 블록도이다. 이 예의 구성에는 두 개의 포트, 즉 A 포트와 B 포트가 설치된다.
도 4에 도시한 제1 실시예와의 다른점으로는 A 포트(11A)와 B 포트(12A)에 BUSY 신호 I/O부(36 및 46)가 각각 설치된다는 사실과, A 포트의 어드레스를B 포트의 어드레스와 비교하기 위하여 어드레스 비교기(26)가 설치된다는 사실이 있다. 어드레스 비교기(26)가 어드레스 일치 사실을 검출하고 이어서 일치 신호를 발생하면, 중재기(15A)는 연속 모드를 개시하기 위하여 DRAM 코어의 동작 모드들을 전환할 것이다.
도 25a 및 도 25b는 연속 모드를 설명하기 위한 타이밍도이다.
제1 실시예의 동작을 도시하는 도면(도 20)에 도시한 바와 같이, DRAM 코어의 동작은 ROW 동작과 COLUMN 동작으로 나뉜다. 본 발명에 있어서, ROW 동작, COLUMN 동작 및 프리챠지 동작은 일련의 연속 실행으로서 수행되고, 이들은 하나의 내부 동작 주기를 형성한다.
제2 실시예의 연속 모드는 일반 DRAM의 열(column) 액세스 동작과 동일하고, 동일 셀에 대하여 명령을 반복해서 실행한다. 즉, 이 모드는 ROW 동작 이후에 COLUMN 동작을 여러 번 실행한 후 프리챠지를 수행한다. 동일 셀에 대한 Write 명령들이 연속해서 공급되는 경우에, 이전 명령을 수행하지 않고 나중의 명령이 수행된다. 그 이유는, 이들 Write 명령이 연속해서 수행된다면, 이전 명령에 의하여 기록된 데이터는 후자의 명령의 데이터에 의하여 덮어씌어 질 것이기 때문이다.
도 25a에 도시한 바와 같이, 연속 모드에 의하여, 동작은 보통의 내부 동작의 2 주기에 비해 단축될 수 있고, 따라서 여분의 시간이 제공된다. 이 여분의 시간으로 얻은 여분은 ROW 동작과 COLUMN 동작 사이의 지점(point)에 배정된다(이하, 이 여분을 Wait 기간이라 부른다). 이 Wait 기간 중에, 마스터와 슬레이브 사이에 명령 실행 순서를 일관성 있게 만들기 위한 처리가 수행된다.
다음에, BUSY 신호를 이용하여 마스터와 슬레이브 사이에 동작들을 일관성 있게 만들기 위한 절차에 관하여 설명한다.
BUSY 신호는 마스터와 슬레이브간의 동일한 명령 실행 순서를 보증하기 위하여 이용된다. BUSY 신호 I/O부(36 및 46)는, 마스터 장치(200-1)에서 BUSY 신호를출력하는 BUSY 출력 회로로서의 역할을 행하고, 슬레이브 장치(200-2 내지 200-n)에서 BUSY 신호를 수신하는 BUSY 입력 회로로서의 역할을 행한다. 마스터 장치 식별과 슬레이브 장치 식별을 표시하는 정보는 모드 레지스터(31 또는 41)에 기억된다.
메모리 장치는 포트들 중 하나의 포트로부터 명령을 수신하고, 도 20a 및 도 20b에 도시한 동작을 개시한다.
ROW 동작의 기간 이내에 동일 어드레스를 액세스하기 위하여 명령이 다른 포트로부터 입력되는 경우에, 어드레스 비교기(26)는 일치 신호를 발생한다. 이 일치 신호의 수신시, 중재기(15A)는 연속 모드 신호를 DRAM 코어(14)의 제어 회로(53)에 공급한다. 연속 모드 신호에 응답하여, DRAM 코어(14)는 도 25b에 도시한 연속 모드로 시프트한다.
Wait 기간 중에, 마스터 장치(200-1)는 중재기(15A)에 의하여 행해진 판정을 기초로 하여 BUSY-A 신호 또는 BUSY-B 신호를 발생한다. 이 예에서, BUSY 신호는명령을 보다 빨리 수신한 것으로 중재기(15A)에 의하여 인식되는 포트에 대하여 발생된다.
마찬가지로, Wait 기간 중에, 슬레이브 장치는 마스터 장치에 의하여 발생된 BUSY 신호를 검출하고, 그것이 BUSY 신호의 표시와 다르면 마스트를 확인하기 위하여 그 자신의 중재기(15A)에 의해 행해진 판정을 변경한다. 이어서, COLUMN 동작은 변형된 명령 순서에 따라 수행된다.
도 26은 BUSY 신호가 A 포트의 Read 명령과 B 포트의 Write 명령에 대하여 생성되는 경우에 수행되는 동작을 도시하는 타이밍도이다.
이 실시예에서, BUSY 신호는 논리 레벨 "L"이라고 가정하여 선택을 표시한다. 또한, 양호하게는, BUSY 신호는 동기적으로 송신 및 수신된다. 그 이유는, BUSY 신호를 제한된 Wait 기간 이내에 신속하게 변경할 필요가 있기 때문이다.
도 26의 예에서, A 포트의 ReadA2는 B 포트의 WriteB2보다 빠르므로, 마스터는 Wait 기간 중에 A 포트를 표시하는 BUSY 신호를 발생한다. 이어서, 마스터와 슬레이브는 ReadA2를 첫 번째로 WriteB2를 두 번째의 순서로 연속 모드로 열 동작을 실행한다.
도 27은 A 포트의 Read 명령과 B 포트의 Write 명령에 대하여 BUSY 신호가 발생되는 경우에 수행되는 동작을 도시하는 타이밍도이다. 도 26은 A 포트의 Read 명령이 빠른 경우를 도시하였지만, 도 27은 B 포트의 Write 명령이 빠른 경우를 도시하고 있다.
도 28은 A 포트의 Write 명령과 B 포트의 Write 명령에 대하여 BUSY 신호가발생되는 경우에 수행되는 동작을 도시하는 타이밍도이다.
도 28에 도시한 동작의 예는 A 포트의 Write 명령이 B 포트의 Write 명령보다 빠른 경우에 관한 것이다. 즉, A 포트의 WriteA2가 B 포트의 WriteB2보다 빠르므로, A 포트를 표시하는 BUSY 신호가 발생되고, 슬레이브에 공급된다. 이 경우, A 포트의 Write 명령을 실행함으로써 기록될 데이터는 즉시 재기록되므로, B 포트의 Write 명령(WriteB2)만이 늦게 입력되는 대로 실행된다.
도 29는, A 포트의 Write 명령과 B 포트의 Write 명령에 대하여 BUSY 신호가 생기는 경우에 수행되는 동작을 도시하는 타이밍도이다.
도 29에 도시한 동작의 예는 B 포트의 Write 명령이 A 포트의 Write 명령보다 빠른 경우에 관한 것이다. 이 경우, B 포트의 Write 명령을 실행함으로써 기록될 데이터는 즉시 대체되므로, A 포트 의Write 명령(WriteA2)만이 실행된다. 이 예에서, A 포트의 클록 주파수는 B 포트의 클록 주파수보다 약간 낮게 설정된다. 명령(WriteA2 및 WriteB2)이 비교될 때 A 포트에 대한 명령 입력이 보다 빠르지만, 최종 데이터 입력을 수신함에 있어서 보다 빠른 것은 B 포트이다. 그 이유는, B 포트의 Write 명령이 A 포트의 Write 명령보다 빠르다고 판단되기 때문이다.
전술한 설명은, A 포트의 Read 명령과 B 포트의 Read 명령의 조합에 관한 경우에 대하여는 전혀 행해지지 않았다. 데이터의 신뢰도은 관련 타이밍과 무관하게 영향 받지 않으므로, 이 경우에서 BUSY 신호를 발생할 필요는 없다.
도 30은 제어기에 의하여 발생된 인터럽트를 조절할 수 있는 구성에서의 동작을 도시하는 타이밍도이다.
"인터럽트"는 BUSY 신호가 개시될 때 마스터 장치의 중재기에 의해 행해지는 판정의 변경을 지시하는 명령어이다. 인터럽트의 생성 방법은,
a) 명령으로서 입력하는 단계와,
b) 전용 단자핀을 제공하는 단계와,
c) 특수한 어드레스 조합을 이용하는 단계, 및
d) BUSY 신호를 이용하는 단계를 포함하고 있다.
단계 d)는 BUSY 신호가 발생되는 포트와는 다른 포트에 대하여 제어기에 의해 BUSY 신호를 공급하고, 그것을 검출하기 위하여 마스터 메모리와 슬레이브 메모리를 위해 준비된다.
도 30의 예에서, 인터럽트는 BUSY 신호가 A 포트의 Write 명령과 B 포트의 Write 명령에 대하여 생기는 경우에 발생된다. 도 28 및 도 29와 관련하여 설명한 바와 같이, BUSY 신호가 Write-&-Write 조합에 의하여 발생되는 경우에는 A 포트의 Write 명령과 B 포트의 Write 명령 중 하나만이 실행될 것이다. 결국, 먼저(빨리) 입력되는 데이터는 유실될 것이다.
도 30에 있어서, A 포트의 WriteA2는 B 포트의 WriteB2보다 빠르므로, A 포트로 향하는 BUSY 신호가 발생된다. 마스터에 의하여 발생된 BUSY 신호를 수신하면, 제어기는 A 포트의 기록 데이터가 소거되지 않도록 인터럽트 명령을 발생한다.
마스터와 슬레이브는 제어기로부터 인터럽트 명령을 수신하고, 주재기에 의하여 행해지는 판정을 변경시키며, 이어서 Wait 주기의 말미 이후에 인터럽트 명령에 따라 Write 동작을 수행한다. 즉, 중재기는 그의 판정을 변형하여, A 포트의 명령(WriteA2)이 B 포트의 명령보다 낮음을 표시하고, WriteA2에 관한 기록 동작을 수행한다. 이로써, A 포트의 기록 데이터가 제거되지 않게 할 수 있다. Write->Write 조합의 경우에, 기록 동작을 한 번만 수행하는 것이 필요한 전부이므로, Read->Write 조합 또는 Write->Read 조합의 연속 모드에 비해 보다 긴 Wait 주기를 할당할 수 있다. 따라서, 이 신호 주기를 이용하여 BUSY 신호에 응답해서 인터럽트 명령을 수행할 수 있다.
다음에, 전술한 동작을 달성하기 위해 어드레스 비교기, BUSY I/O 시스템 및 인터럽트 시스템으로 된 구성에 관하여 설명한다.
도 31은 본 발명의 제2 실시예에 따른 다중 포트 메모리의, 어드레스 비교기, BUSY I/O 시스템 및 인터럽트 시스템의 구성을 도시하는 도면이다.
어드레스 비교기(26)는 어드레스 레지스터에 기억된 어드레스들을 비교하고, A 포트(11)의 어드레스와 B 포트(12)의 어드레스간에 일치가 있는 경우에 일치 신호를 출력한다. 또한, 두 개의 어드레스가 일치하는 어드레스임을 표시하기 위하여, 신호(ARA, AWA, ARB 및 AWB)가 발생된다. 예컨대, A 포트의Write 명령과 B 포트의Write 명령이 일치하는 경우에 AWA 및 AWB는 "H"로 설정된다. NAND 회로(208 내지 210) 각각은 N1, N2 및 N3가 "L"로 되도록 이들 신호의 논리 NAND를 얻는다.
BUSY 신호 I/O부(36 및 46)와 인터럽트 회로는 도 31의 좌측[어드레스 비교기(26)의 하부]에 설치된다. 모드 레지스터(31 또는41)의 설정을 기초로 하여, BUSY-&-I/O-하드웨어-제어부(211)는 마스터 장치의 경우에 일치 신호의 검출에 응답하여 활성 신호(마스터)를 발생하고, 슬레이브 장치의 경우에 활성 신호(슬레이브)를 발생한다. 활성 신호(마스터)는 BUSY 출력 신호(212 및 213)를 활성화하고, 활성 신호(슬레이브)는 BUSY 입력 회로(214 및 215)를 활성화한다.
중재기에 있어서, 명령 순서상 첫 번째로서 선택된 명령은 출력(RA3, WA3, RB3 및 WB3) 중 하나로 출력된다(즉, 여러 출력 중 하나가 "H"이다). 마스터 장치의 경우에,(RA)3 내지 WB3은 신호(N4)에 응답하여 래치(216 및 217)에 의해 래치되고, 신호(N4)는 일치 신호의 상승 에지에 상응하는 펄스로 이루어진다. BUSY-A 신호 또는 BUSY-B 신호는 래치된 데이터를 기초로 하여 출력된다.
슬레이브 장치의 경우에, "L"인 BUSY-A 신호가 수신되면, 인터럽트 회로(218)로부터 출력된 신호(N10)는 "L"로 설정된다. "L"인 BUSY-B 신호가 수신되면, 인터럽트 회로(219)로부터 출력되는 신호(N11)는 "L"로 설정된다. 신호(N10 및 N11)는 그들 신호가 비활성 상태에 있을 때 "H"이고, BUSY 신호 또는 인터럽트가 검출될 때 "L"로 된다.
인터럽트 검출부(220)는 제어기로부터 공급된 언터럽트 명령을 검출하고, 인터럽트 신호(A 또는 B)를 출력한다. 인터럽트 신호는 진입 중인 BUSY 신호보다 높은 우선 순위가 주어지고, 신호(N10 및 N11)로서 전달된다.
도 31의 하부에 도시한 세 개의 비교기(80-3, 80-5 및 80-6)는 중재기(15A)의 비교기 회로의 부분이다(도 6a 및 도 24 참조). 이들 비교기는 BUSY 판단을 필요로 하는 명령 조합에 관하여 비교를 행한다.
도 32는 마스터 장치의 동작을 도시하는 타이밍도이다. 도 33은 슬레이브 장치의 동작을 도시하는 타이밍도이다.
이들 타이밍도는 A 포트의 Read 명령의 어드레스와 B 포트의Write 명령의 어드레스가 서로 일치하는 경우를 도시하고 있다. 도 32의 마스터는 A 포트가 보다 빠름을 판정하고, 도 33의 슬레이브는 B 포트가 보다 빠름을 판정한다. 이 경우, 마스터의 비교기(80-3)는 "L"인 N21과 "H"인 N22를 출력한다. 또한, 슬레이브의 비교기(80-3)는 "H"인 N21과 "L"인 N22를 출력한다. 마스터는 BUSY-A 신호를 발생하고, 슬레이브는 그 BUSY-A 신호의 수신시에 N10을 "L"로 변경한다. N1은 이 시점에서 "L"이므로, N10의 LOW 신호는 NOR 회로(221)와 인버터(222)를 통하여 슬레이브의 비교기(80-3)에 공급된다. 이에 응답하여, 슬레이브의 비교기(80-3)의 출력들은 "L"인 N21과 "H"인 B22로 변경된다. 이와 같이 하여, 중재기에 의한 판정이 변경된다.
이제, A 포트의 Write 명령의 어드레스와 B 포트의 Read 명령의 어드레스가 전술한 경우와 반대로 서로 일치하는 경우에 관하여 알아 본다. 이 경우, 슬레이브의 비교기(80-5)의 출력들은 변경되고, 따라서 슬레이브의 중재기에 의해 행해진 판정을 변형시킨다.
WA2를 WB2와 비교하는 비교기(80-6)는 비교기(80-3 및 80-5)와는 다른 주변 회로 구성을 갖는다. 그 이유는, BUSY 신호가 Write-&-Write 조합에 응답하여 발생할 때, A 포트의 명령과 B 포트의 명령 중 하나만이 유지되기 때문이다.
도 34는 두 개의 포트의 기록 어드레스가 같은 경우에 수행되는 마스터 장치의 동작을 도시하는 타이밍도이다. 도 35는 두 개의 포트의 기록 어드레스가 같은 경우에 수행되는 슬레이브 장치의 동작을 도시하는 타이밍도이다.
이제, 마스터는 A 포트가 도 34에 도시한 바와 같이 보다 빠름을 판정하고 슬레이브는 B 포트가 도 35에 도시한 바와 같이 보다 빠름을 확인하는 경우에 관하여 알아 본다. 어드레스 비교기(26)가 일치 신호를 이제 막 발생한 순간에, 마스터의 비교기(80-6)의 출력들은 "L"인 N25와 "H"인 N26이고, 슬레이브의 비교기(80-6)의 출력들은 "H"인 N25와 "L"인 N26이다. 마스터는 이 상태에서 RA3, WA3, RB3 및 WB3를 래치하고, BUSY-A 신호를 출력한다.
이 경우와 같이 BUSY 신호가 Write-Write 조합으로 발생하는 경우에는 보다 먼저(빨리) 입력된 Write 명령을 소거할 필요가 있다. 이를 위해, 인버터(231), NOR 회로(232), NAND 회로(233 및 234) 및 인버터(235 및 236)가 설치된다. 일치 신호에 응답하여, HIGH 에지 펄스 회로(230)는 신호(N4)의 "H" 펄스를 발생한다. 신호(N4)는 소정의 논리 동작을 통하여 신호(N3)와 조합되어, 신호(N31)의 "H" 펄스를 발생한다. 이 예에서, N26은 N33이 "H" 펄스를 발생하도록 마스터에 대하여 "H"이므로, 그 결과, N25는 "H"로 변경되고 N26은 "L"로 변경된다. 여기에서, 지연 회로(237 및 238)는 별도의 시간을 제공하는 역할을 담당하는데, 이 별도의 시간은 변경이 발생하기 이전에 BUSY 신호를 발생하고 이미 변경된 상황이, 그 변경된 상황이 NAND 회로(233 및 234)로 궤환됨에 따라, 변경되지 않도록 이용될 수 있다. 슬레이브에 있어서, N25는 "L"로 변경되고, N26은 "H"로 변경된다.
전술한 바와 같이, 마스터는 BUSY-A 신호를 발생하고, 이 신호를 수신하는 슬레이브는 그의 N10이 "L"로 변경된다. N3은 이 특정 순간에 "L"이므로, 그것은 "L"이기 때문에, 슬레이브의 비교기(80-6)는 다시 반전되고, 그 결과, N25는 "H"로변경되며 N26은 "L"로 변경된다.
지연 회로(250)는 신호(N4)를 수신하고, 이 신호를 미리 결정된 시간 길이만큼 지연시키며, 그 결과, Wait 기간을 생성한다. 여기에서, Delay(t1)는 N1 또는 N2가 선택될 때 선택되고, 반면에 Delay(t2)는 N3이 선택될 때 선택되다.
Wait 기간이 말미로 다가갈 때 스킵된 Write 명령을 명령 레지스터로부터 제거하기 위하여 NAND 회로(251 및 252)와 인버터(253 및 254)가 설치된다. 예컨대, Wait 기간의 말미에서 N25가 "L"이고 N26이 "H"이면 A 포트의 Write 명령이 실행될 것이다. 따라서, ResetWB2가 발생되어 B 포트의 Write 명령을 레지스터로부터 제거한다. Wait 기간 중에는 BUSY 수신 또는 인터럽트를 통하여 판정을 변경할 필요가 있으므로, 명령 레지스터 내의 명령들은 이 기간 중에 그대로 놓아둔다.
도 36은 두 개의 포트의 기록 어드레스가 서로 일치하여 제어기가 인터럽트 명령을 발생하는 경우의 마스터 장치의 동작을 도시하는 타이밍도이다. 도 37은 두 개의 포트의 기록 어드레스가 서로 일치하여 제어기가 인터럽트 명령을 발생하는 경우의 슬레이브 장치의 동작을 도시하는 타이밍도이다.
도 36에 도시한 바와 같이, 마스터 장치의 명령 선택 상황은 인터럽트에 의하여 반전된다. 또한, 도 37에 도시한 바와 같이, 슬레이브 장치의 명령 선택 상황은 BUSY 신호에 의하여 반전되고, 이어서 인터럽트에 의하여 또 다시 반전된다. 여기에서, 인터럽트에 의하여 상황을 반전시키는 동작은 BUSY 신호에 의하여 상황을 반전시키는 동작과 동일하고, 그에 관한 상세한 설명은 생략하기로 한다.
전술한 제2 실시예의 동작에 있어서, 주어진 명령으로부터 다음의 후속 명령으로 확장하는 명령 주기는 BUSY 신호 또는 인터럽트가 발생된 후에도 변경하지 않도록 설계된다.
도 26에 있어서, 예컨대, BUSY 신호는 ReadA2에 응답하여 발생하지만, ReadA2->ReadA3의 명령 기간은 ReadA1->ReadA2의 명령 기간과 동일하다. BUSY 또는 인터럽트는 Wait 기간 중에 조절되는 것이 필요하다. 이러한 이유로, 긴 시스템 버스와 많은 수의 슬레이브 장치와 저속의 제어기 응답 등으로 인해 BUSY 신호 또는 인터럽트 신호의 변경이 긴 시간이 걸리는 경우에는 보다 긴 Wait 기간이 필요해진다.
이러한 문제를 해소하기 위하여, BUSY 또는 인터럽트에 뒤이은 다음 명령의 입력을 지연시키는 동안에 Wait 기간이 연장될 수도 있다. 즉, ReadA2->ReadA3의 명령 기간은 Wait 기간을 확장하는 동안에 도 26의 ReadA1->ReadA2의 명령 기간보다 길게 되도록 연장될 수 있다.
명령 입력을 지연시키기 위하여, 명령 입력의 지연은 설계 시트 상에 지정될 수도 있고, 제어기는 데이터 시트에 따라 동작하도록 설계될 수도 있다. Wait 기간의 연장은 도 31에 도시한 지연 회로(250)의 지연 시간을 길게함으로써 달성된다. Wait 기간이 용도에 따라 중재될 필요가 있으면, 두 개 또는 그 이상의 지연선이 지연 회로(250) 내에 설치되어 모드 레지스터의 설정을 통하여 지연 길이의 설정을 변경할 수도 있다.
이와 같이 하여 Wait 기간이 연장되는 경우에, Write-Write 명령 조합에 응답하여 BUSY 신호가 발생되는 경우 외의 다른 경우에도 긴 Wait 기간이 제공될 수있다. 이를 고려하면, 제어기는, Read-Write 또는 Write-Read 명령 조합에 응답하여 BUSY 신호가 발생하는 경우에도, 인터럽트 명령을 발생할 수 있다.
전술한 본 발명에 있어서, 명령이 N 개의 포트에 입력되는 경우에, N 개의 포트에 상응하는 모든 N 개의 명령은 주어진 임의의 포트의 최소 명령 주기 이내에 차례 차례로 실행된다. 이 때문에, 주어진 임의의 포트에 관한 액세스 동작은 장치의 외부가 최소 명령 주기 이내에 수행되는 것처럼 보인다. 이 경우, BUSY 신호는 동일 어드레스가 복수 개의 포트로부터 액세스되는 경우에만 발생할 수 있다. 따라서, SRAM형 다중 포트 메모리의 BUSY 발생 확률만큼 낮은 BUSY 발생 확률을 얻을 수 있게 된다.
또한, 본 발명의 반도체 메모리 장치에 있어서, 내부 회로는 다이내믹형 메모리 셀로 이루어지는 셀 어레이와 메모리 셀이 리프레시되는 타이밍을 결정하는 리프레시 회로를 포함하고 있다. 제1 모드에 있어서, 메모리 셀은 N 개의 외부 포트 중 적어도 하나에 입력된 리프레시 명령에 응답하여 리프레시되고, 제2 모드에 있어서, 메모리 셀은 리프레시 회로에 의하여 지정되는 타이밍으로 리프레시된다.
즉, 전술한 본 발명에는 리프레시 동작이 외부 포트로부터의 지시에 응답하여 수행되는 제1 동작 모드와 리프레시 동작이 내부 리프레시 회로에 응답하여 수행되는 제2 응답 모드가 제공된다. 이러한 구성으로 인해, 여러 개의 외부 포트 중 하나는 순간적인 기간에 리프레시 명령을 수신하도록 리프레시 관리를 위한 포트로서 동작하게 할 수 있고, 내부 리프레시 회로는 이 리프레시 관리용 포트가 비활성 상태에 있다면 리프레시 동작을 수행한다. 이에 의하여, 시스템의 구성에 따라 유연하게 리프레시 동작을 관리할 수 있게 된다.
[본 발명의 제2 형태]
다음에, 본 발명의 제2 형태에 관하여 설명한다.
다중 포트 메모리에는 여러 가지의 종류가 있다. 이하, 복수 개의 포트를 갖는 메모리에 관하여 언급하고, 개개의 포트로부터의 액세스는 공통 메모리 어레이에 대하여 서로 독립적으로 행해질 수 있다. 예컨대, 2 포트형의 다중 포트 메모리에 A 포트와 B 포트가 장착되고, 공통 메모리에 대한 판독/기록 액세스는 A 포트에 연결된 CPU-A로부터 그리고 B 포트에 접속된 CPU-B로부터 독립적으로 행해질 수 있게 된다.
이러한 종류의 다중 포트 메모리로서는 SRAM 메모리 어레이를 갖는 메모리가 공지되어 있고, 그 메모리에서는 워드선과 비트선 쌍이 중복 세트로 제공되며, 각 메모리 셀은 2 세트의 워드선과 비트선 쌍에 접속되어 있다. 그러나, 이러한 다중 포트 메모리는, 중복 세트의 워드선과 비트선 쌍이 설치될 필요가 있다는 점에서 회로 밀도가 낮다는 문제가 있다.
이를 해소하기 위하여, 다중프로세서 구성을 갖는 컴퓨터를 이용한 공유 메모리와 같은 메카니즘을 이용하는 것을 고려할 수 있다. 공유 메모리는 공통 메모리용으로 제공된 복수 개의 포트를 갖는다. 통상, SRAM이 메모리로서 이용되며, 복수 개의 포트는 각각의 IC로서 구성된다. 복수 개의 포트로부터 액세스가 동시에 행해지는 경우에, 복수 개의 포트에 응답하는 동작은 메모리 어레이가 공유용으로 되어 있기 때문에 동시에 수행될 수 없다. 이러한 문제를 방지하기 위한 가장 용이한 방법은 포트에 BUSY 신호를 발생하여, 다른 포트로부터 액세스가 행해지고 있을 때 그 포트에 대한 액세스를 방지하는 것이다. 그러나, 이것은 메모리의 이용을 제한하는 문제를 발생시킨다. 이를 감안하여, 중재기라고 부르는 중재 회로를 공통 메모리에 설치하고, 복수 개의 포트에 의하여 수신된 액세스 요구의 우선 순위를 판단한다. 메모리 어레이의 제어 회로는 우선 순위의 순서대로 액세스 요구에 응답하는 동작을 수행하도록 구성된다. 예컨대, 액세스 요구는 도달 순서, 예컨대 액세스 요구가 개개의 포트에 공급되는 순서대로 수행된다.
이러한 경우에, 메모리 어레이는 복수 개의 포트로부터 불시에 액세스되는 것을 끝내게 된다. 이 때문에, 동일의 행 어드레스에서 연속의 열 어드레스를 연속해서 액세스하는 열 액세스 동작은 제공되지 않지만, 이러한 열 액세스는 통상 DRAM에서도 이용 가능하다. 즉, 소정의 셀이 선택되고 판독/기록 동작을 위하여 액세스되며 단일의 액세스에 응답하여 수행되는 모든 것들을 리셋한다.
공유 메모리가 구성되는 경우에, 일반적으로, 메모리 어레이로서는 종래에 SRAM이 이용된다. 그 이유는, SRAM은 고속 랜덤 액세스 동작이 가능하고, 또한, 리프레시 동작이 필요 없으므로 SRAM을 이용하기가 용이하기 때문이다. 또한, 단일 칩의 다중 포트 메모리에는 종래에 중복 세트의 워드선과 비트선 쌍이 설치되고, 보통의 SRAM 구성을 갖는 메모리 어레이를 기초로 한 단일 칩의 다중 포트 메모리는 실제로 아직 이용되지 않았다.
요약하면, 다중 포트 메모리와 공유 메모리는 SRAM을 이용하여 구성되고, 리프레시 동작을 필요로 하는 DRAM은 이용되지 않는다.
처리될 데이터의 량은 시스템이 점점 더 고성능을 제공함에 따라 증가하고, 다중 포트 메모리도 대용량이 필요하다. 따라서, SRAM보다 높은 회로 밀도를 갖는 다이내믹형 메모리 셀(DRAM) 어레이를 이용하여 다중 포트 메모리를 구성하는 것을 고려할 수 있고, 그 결과, 다중 포트 메모리는 저비용으로 대기억 용량을 갖게 된다. 그러나, 메모리 셀의 리프레시 동작은 문제가 있다.
종래의 DRAM에 있어서, 리프레시 명령은 판독/기록 명령들 사이에 장치의 외부로부터 일정한 기간으로 제공될 필요가 있다. 이를 위하여, DRAM 기반의 시스템의 제어기 장치에는 리프레시 관리를 위해 타이머 및/또는 제어 회로가 설치된다. 그러나, SRAM 기반의 다중 포트 메모리를 이용하는 시스템에는 이러한 회로가 설치되지 않는다. DRAM을 기반으로하여 메모리를 구성하는 경우에도, 종래의 다중 포트 메모리에서와 동일한 방식으로 이용 가능해야 할 필요가 있다. 즉, DRAM들로 이루어진 메모리 어레이를 갖는 다중 포트 메모리는 그 자체로 리프레시 동작을 수행할 필요가 있다.
본 발명은 메모리 어레이가 DRAM 코어로 이루어진 다중 포트 메모리를 제공하는 데 목적이 있고, 리프레시 동작에 대한 어떠한 고려 없이도 이용될 수 있으며, 그 결과, 대용량이며 이용하기 용이한 다중 포트 메모리를 저비용으로 제공한다.
도 38은 본 발명의 원리를 설명하기 위한 도면이고, 두 개의 포트에 대하여 판독 동작이 수행되는 경우를 도시하고 있다.
두 개의 외부 포트, 즉 A 포트와 B 포트에 공급되는 명령은 3회(回)의 내부동작 주기가 수행되는 동안에 최소 기간으로 제공된다. 즉, 외부 명령 주기는 3회의 동작 주기에 요구되는 기간보다 긴 길이로 설정된다. 클록(CLKA 및 CLKB)은 각각 A 포트와 B 포트에 입력되고, 장치의 외부와 내부 포트간의 어드레스 및 데이터의 교환은 클록 신호와 동기하여 행해진다. 어드레스(도시하지 않음)는 명령과 함께 동시에 입력된다. 판독 명령이 최소 외부 명령 주기에 A 포트와 B 포트로 입력되는 경우에, 중재 회로는 첫 번째로 도달하는 입력에 우선 순위를 부여함으로써 코어 동작을 제어한다. 세 개의 내부 동작은 전술한 1회의 외부 명령 주기 동안에 수행될 수 있고, 두 개의 판독 동작은 이 외부 명령 주기 동안에 메모리 어레이 상에서 수행되며, 이어서 판독 데이터를 A 포트와 B 포트에 출력한다. A 포트와 B 포트 모두는 호출된 데이터를 유지하고, 그 호출된 데이터를 다음의 후속 외부 명령 주기의 개시시에, 즉 판독 명령의 입력으로부터의 4번째 클록과 동기하여 출력한다. 즉, 이 경우의 데이터 대기 시간은 4이다.
리프레시 타이머는 내부 회로로서 설치되고, 그 자체에서 리프레시 명령을 발생한다. 세 개의 내부 동작은 전술한 1회의 외부 명령 동안에 수행될 수 있으므로, 명령(A), 명령(B) 및 리프레시 명령은 리프레시 명령이 발생되는 경우에 단일의 외부 명령 주기 동안에 실행될 수 있다. 판독 데이터는 다음의 후속 외부 명령 주기의 개시시에 출력된다. 이와 같이 하여, 다중 포트 메모리는 리프레시 동작을 전혀 고려하지 않아도 장치의 외부로부터 액세스될 수 있다.
도 38의 예에 있어서, 판독 동작의 하나의 아이템은 하나의 판독 명령에 응답하여 출력된다. 즉, 버스트 길이는 1이다. 따라서, 판독 데이터의 출력이 1회의주기로 완료된 후, 외부 포트는 외부 명령 주기의 3회의 나머지 클록 주기 동안에 데이터를 전혀 출력하지 않을 것이며, 그 결과, 데이터 전송이 비효율적이게 된다. 이 문제는 버스트 길이를 길게함으로써 해소될 수 있다.
도 39는 본 발명의 원리를 설명하기 위한 도면이고, 버스트 길이가 4인 예를 도시하고 있다. 이 예에서는, 이전의 경우와 같이, 두 개의 외부 포트의 외부 명령 주기는 3회의 내부 동작 주기를 수용할 수 있는 길이로 설정된다. 또한, 1회의 외부 명령 주기는 4회의 클록 주기에 상응한다. 데이터는 단일의 외부 명령 주기 동안에 클록과 동기하여 외부 포트로부터 네 번 출력된다. 따라서, 2회의 외부 명령 주기의 클록 주기의 수에 따라서 버스트 길이가 설정되면, 두 개의 포트 모두에서 공차가 없는 판독 동작이 달성되고, 그 결과, 데이터 전송 속도를 상당히 높히게 된다. 이 경우에 있어서, 버스트 길이 만큼의 데이터 아이템은 단일의 액세스에 응답하여 메모리 어레이로(부터) 내부적으로 입출력되는 것이 필요하다. 예컨대, 외부 포트의 데이터 입출력 핀의 수가 4 개이고, 버스트 길이는 4이면, 16 비트 데이터가 단일의 액세스 동작에 의하여 메모리 어레이로(부터) 입출력되는 것을 보증하여야 한다.
A 포트와 B 포트가 동기로 동작하지 않아도 되고 개개의 외부 명령 주기는 최소 주기가 3회의 내부 동작 주기에 필요한 기간과 같게 설정되는 한 임의의 타이밍으로 각각 독립하여 설정될 수 있음을 주목하여야 한다.
또한, 외부 포트의 수는 몇 개라도 가능하다. 외부 포트의 수가 n 개로 설정되면, 각 포트의 외부 명령 주기는 n+1회의 내부 동작 주기가 수행될 수 있는 만큼의 최소 주기로 설정된다. 이 필요 조건이 만족되면, 리프레시 동작이 수행되더라도 외부 명령 주기 중에 개개의 포트로부터 요구되는 모든 동작을 수행할 수 있게 되고, 그 결과, 리프레시 동작을 전혀 고려하지 않아도 다중 포트 메모리를 이용할 수 있게 된다.
도 40 및 도 41은 2 포트, 3 포트 및 n 포트의 경우에 있어서 최소 외부 명령과 내부 동작 주기간의 관계를 도시하는 도면이다.
도면에 도시한 바와 같이, 포트의 수가 2 개이면, 최소 명령 주기는 3 개의 내부 동작을 수용하는 길이를 갖고, 포트의 수가 3 개이면, 최소 외부 명령 주기는 4 개의 내부 동작이 가능한 시간 간격이다. 또한, 포트의 수가 n 개이면, 최소 외부 명령 주기는 n+1 개의 내부 동작이 수행될 수 있는 시간 길이와 같다.
도 42와 도 43a 내지 도 43c는 본 발명의 실시예에 따른 다중 포트 메모리의 구성을 도시하는 도면이다. 도 42는 DRAM 코어와 그의 관련 회로를 도시하고 있고, 도 43a는 A 포트를 도시하고 있으며, 도 43b는 B 포트를 도시하고 있다. 또한, 도 43c는 리프레시 회로를 도시하고 있다. 도 43a 내지 도 43c에 도시한 회로는 도 42의 각 부분에 접속되어 있다.
도면에 도시한 바와 같이, 이 실시예의 다중 포트 메모리는 DRAM 코어(2011), 동작 순서를 판단하고 동작이 미리 결정된 순서로 수행되는 것을 보증하도록 제어하기 위한 중재기(2026), 명령, 어드레스 및 데이터를 임시적으로 기억하는 레지스터 세트, A 포트(2030)와 B 포트(2040)로 이루어진 두 개의 외부 포트 및 리프레시 회로(2050)를 포함하고 있다.
A 포트(2030)와 B 포트(2040)는 모드 레지스터(2031 및 2041),(CLK 버퍼(2032 및 2042), 데이터 I/O 회로(2033 및 2043), 어드레스 입력 회로(2034 및 2044) 및 명령 입력부(2035 및 2045)를 각각 포함하고 있다. 이들은 장치의 외부로부터 공급된 개객의 각 클록 주파수를 기초로 하여 동작한다. 데이터 대기 시간과 버스트 길이는 모드 레지스터(2031 및 2041)에 기억되므로, 그들은 개별적으로 설정될 수 있다. 데이터 I/O 회로(2033 및 2043)에는 버스트 길이에 따라 입출력 데이터의 병렬 직렬 변환과 직렬 병렬 변환을 수행하는 메카니즘이 창착된다.
리프레시 회로(2050)는 리프레시 타이머(2051)와 리프레시 명령 발생기(2052)를 포함하고 있다. 리프레시 타이머(2051)는 리프레시 개시 신호를 미리 결정된 기간에 발생하고, 리프레시 명령 발생기(2052)는 그에 응답하여 리프레시 명령을 발생한다.
A 포트와 B 포트에 공급된 명령, 어드레스 및 기록 데이터는 각각 레지스터들에 기억된다. 또한, 리프레시 명령은 리프레시 명령 레지스터(2027)에 기억되고, 리프레시 어드레스는 리프레시 어드레스 카운터/레지스터(2018)에 기억된다.
중재기(2026)는 명령의 도달 순서를 기초로 하여 명령 실행 순서를 판단하고, 명령들을 미리 결정된 순서로 DRAM 코어(2011)의 제어 회로(2014)에 전송한다. 또한, 중재기(2026)는 전송 신호를 상응하는 어드레스 레지스터와 상응하는 데이터 레지스터에 전달한다(기록 동작의 경우에). DRAM 코어(2011)에 있어서, 제어 회로(2014)는 공급된 명령에 응답하고, 따라서 복호기(2013), 기록 증폭기(WriteAmp)(2015) 및 센스 버퍼(2016)를 제어하며, 그 결과, 메모리어레이(2012)에 대하여 액세스 동작을 수행한다. 기록 동작의 경우에, 복호기(2013)는 메모리 어레이(2012) 내의 워드선과 열 신호선을 활성화하도록 기록 동작에 대하여 액세스될 어드레스를 복호화하고, 그 결과, Write 데이터 레지스터 A(2022)와 B(2023)에 기억된 기록 데이터는 WriteAmp(2015)를 통하여 메모리 어레이(2015)에 기록된다. 판독 동작의 경우에, 메모리 어레이(2012)는 마찬가지로 액세스되고, 그 결과, 판독 데이터는 센스 버퍼(2016)로부터 전송 게이트 A(2024)와 B(2025)를 통하여 개개의 포트의 데이터 출력 회로로 전송된다. 전송 게이트의 전송 타이밍은 DRAM 코어(2011)의 동작 주기에 따라 제어되고, 제어 회로(2014)에 의하여 판단된다. 출력 데이터는 상응하는 외부 클록에 동기하여 각 포트의 데이터 출력 회로로부터 출력된다.
다음에, 명령 처리, 어드레스 처리 및 데이터 처리의 각각에 관련된 세부에 관하여 설명한다.
도 44 및 도 45는 제1 실시예에 따른 명령 처리에 관련된 부(部)의 구성을 도시하는 도면이다. 도 42 및 도 43a 내지 도 43c의 구성 요소와 동일한 구성 요소는 동일한 참조 부호를 붙인다. 다른 도면의 경우에도 동일하게 적용된다.
도 44에 도시한 바와 같이, A 포트의 명령 입력부(2035)는 입력 버퍼(2036), 명령 복호기(2037) 및 (n-1) 클록 지연기(2038)를 포함하고 있고, B 포트의 명령 입력부(2045)는 입력 버퍼(2046), 복호기(2047) 및 (m-1) 클록 지연기(2048)를 포함하고 있다. 여기에서, n과 m은 버스트 길이이다. 또한, 도 45에 도시한 바와 같이, 명령 레지스터 A(2028)는 Read 명령 레지스터(AR)와 Write 명령 레지스터(AW)를 포함하고 있는 명령 레지스터 B(2029)는 Read 명령 레지스터(BR)와 Write 명령 레지스터(BW)를 포함하고 있다.
입력 버퍼(2036 및 2046)는 개개의 클록(CLKA1 및 CLKB1)과 동기하여 공급된 Read 명령을 획득하고, 명령 복호기(2037 및 2047)는 복호화 처리를 수행한다. 명령 복호기(2037 및 2047)은 판독 명령의 경우에 각각(RA)1 및 RB1을 발생하고, 기록 명령의 경우에 각각 WA1 및 WB1을 발생한다. 신호(RA1 및 RB1)는 타이밍 조작이 전혀 없어도 각각 Read 명령 레지스터(AR 및 BR)에 전달되고, 반면에 신호(WA1 및 WB1)는 버스트 데이터의 최종 데이터 아이템이 입력될 때까지 (n-1) 클록 지연기(2038)와 (m-1) 클록 지연기(2048)에 의하여 지연되고, 이어서 각각 Write 명령 레지스터(AW 및 BW)에 전달된다. 또한, 리프레시 회로(2050)에 의하여 발생된 리프레시 명령(REF1)은 리프레시 명령 레지스터(2027)에 전달된다.
중재기(2026)는 명령이 이들 다섯 개의 명령 레지스터(AR, AW, BR, BW 및 2027)에 전송되는 순서를 검출하고, 이들 명령을 검출된 순서로 차례 차례로 DRAM 제어 회로(2014)에 전송한다. DRAM 제어 회로(2014)는 수신된 명령을 실행하고, 중재기(2026)에 요구하기 위한 신호(RESET1)를 발생하여, 명령 실행이 끝나거나 종료에 가까워지는 경우에 다음 명령을 전송한다. RESET1 신호에 응답하여, 중재기는 실행된 명령이 기억되는 명령 레지스터를 리셋하고, 후속 명령을 DRAM 제어 회로(2014)에 전달한다.
도 46은 중재기(2026)의 일 실시예이다. 도 45의 다섯 개의 명령 레지스터에 명령이 도달하는 순서는 도면에 도시한 바와 같이 비교기(2053)에 의하여 검출된다. 각 비교기(2053)는 두 개의 명령 레지스터의 타이밍들을 비교하고, "H"가 먼저 입력되는 쪽에서 출력을 "H"로 변경시킨다. AND 게이트(2054)는, 관련된 비교기(2053)의 모든 해당 출력이 "H"인지의 여부를 검사함으로써 소정의 명령이 다른 네 개의 모든 명령에 앞서 입력되는 지의 여부를 판단한다. 개개의 명령에 상응하는 신호(RA3, WA3, RB3, WB3 및 REF)는 상응하는 명령이 가장 빠른 경우에 "H"로 되고, 상응하는 명령 등의 어드레스가 DRAM 코어(2011)에 전달된다. 명령이 DRAM 코어(2011)에 의하여 실행되는 경우에, 신호(RESET1)는 DRAM 코어(2011)로부터 발생되고, 실행된 명령의 명령 레지스터를 리셋하기 위한 신호(RsetRA, ResetWA 등)가 발생된다. 실행된 명령의 명령 레지스터가 리셋될 때, 이 실행된 명령을 수신하는 비교기(2053)의 출력은 변경되고, 순서상 다음의 명령은 DRAM 코어(2011)에 전달될 것이다. 이와 같이 하여, 명령은 명령 입력의 순서로 실행된다.
도 47은 제1 실시예에 따라 어드레스 처리에 관련된 부분의 구성을 도시하는 도면이다. 이하, 신호명의 말미에 "P"자를 붙인 신호는 상응하는 신호명의 신호의 상승 에지로부터 행해진 펄스를 갖는 신호를 나타낸다. 도면에 도시한 바와 같이, 어드레스 입력 회로(2034 및 2044)는 각각 입력 버퍼(2057A 및 2057B)와 전송 게이트(2058A 및 2058B)를 포함하고 있다. 또한, 어드레스 레지스터 A(2019)와 어드레스 레지스터 B(2020)는 어드레스 래치(A1 및 B1), 전송 게이트(2060A 및 2060B), 어드레스 래치(A2 및 B2), 전송 게이트(2062A 및 2062B) 및 전송 게이트(2063A 및 2063B)를 각각 포함하고 있다. 전송 게이트(2062A, 2062B, 2063A 및 2063B)로부터 공급된 어드레스는 어드레스 버스(2017)를 통하여 DRAM 코어(2011)에 전달된다. 또한, 리프레시 어드레스 카운터/레지스터(2018)로부터 공급된 리프레시 어드레스는 전송 게이트(2064) 및 어드레스 버스(17)를 통하여 DRAM 코어(2011)에 전달된다.
Read 명령과 Write 명령이 장치의 외부로부터 입력되는 경우에, 입력 명령과 함께 동시에 입력 버퍼(2057A 또는 2057B)에 공급된 어드레스는 각각 전송 게이트(2058A 또는 2058B)를 통하여 어드레스 래치(A1 또는 B1)에 전달된다. Read 명령의 경우에, 어드레스는 명령을 DRAM 코어에 전송하는 것과 동기하여 전송 게이트(2063A 또는 2063B)를 통하여 DRAM 코어(2011)에 전송된다. Write 명령의 경우에, 어드레스는 최종 데이터 획득의 타이밍에 어드레스 래치(A2 또는 B2)에 더 전달되고, 이어서, 명령을 DRAM 코어에 전송하는 것과 동기하여 전송 게이트(2062A 또는 2062B)를 통하여 DRAM 코어(2011)에 전송된다. 또한, 리프레시 어드레스 카운터/레지스터(2018)는 리프레시 어드레스를 발생하고 내부에 유지하며, 이어서, 이것은 리프레시 명령을 DRAM 코어에 전송하는 것과 동기하여 전송 게이트(2064)를 통하여 DRAM 코어(2011)에 전달된다.
도 48은 제1 실시예에 따라 출력하는 데이터에 관련된 부분의 구성을 도시하는 도면이다. 도 49는 도 48의 전송 신호 발생 회로를 도시하는 도면이다. A 포트(2030)과 B 포트(2040)의 개개의 데이터 I/O 회로(2033 및 2043)는 각각 데이터 출력용 회로(2065A 및 2065B)와 데이터 입력용 회로(2074A 및 2074B)를 포함하고 있고, 이들에 관하여는 후술한다. 도면에 도시한 바와 같이, 센스 버퍼(2016)를 통하여 메모리 어레이(2012)로부터 판독된 데이터는 각각 데이터 버스(2021)와 전송 게이트(2024 및 2025)를 통하여 데이터 출력용 회로(2065A 또는 2065B)에 전달된다.
데이터 출력용 회로(2065A 또는 2065B)는 데이터 래치(A1 및 B1), 전송 신호 발생 회로(2067A 및 2067B), 전송 게이트(2069A 및 2069B), 데이터 래치(A2 및 B2) 및 출력 버퍼(2071A 및 2071B)를 각각 포함하고 있다.
전송 게이트(2024 및 2025)는 내부 동작을 기초로 하여 DRAM 코어(2011)의 제어 회로(2014)에 의하여 제어된다. 실행된 명령이 Read-A(즉, A 포트에 대한 판독 동작)이면, 전송 게이트(2024)가 개방될 것이다. 실행된 명령이 Read-B이면, 전송 게이트(2025)가 개방될 것이다. 데이터 래치(A1 및 B1)는 데이터를 내부에 기억하고, 이어서 그 데이터는 미리 결정된 대기 시간에 개개의 데이터 래치(A2 및 B2)에 전달되는데, 그 시기는 이러한 대기 시간이 전송 게이트(2068A 및 2068B)의 동작을 통하여 안내되는 개개의 포트에서 Read 명령을 수신한 이후이다. 이어서, 데이터는 병렬 직렬 변환기(2070A 및 2070B)에 의하여 변환되고, 이어서 각각 출력 버퍼(2071A 및 2071B)에 전송되어 그로부터 출력된다.
도 49에 도시한 바와 같이, 전송 신호 발생 회로(2067A 및 21067B)는 일련의 플립플롭(2072)를 채용하여 대기 시간 설정에 의하여 판단된 클록 주기수만큼 개개의 Read 명령(RA1 및 RB1)을 지연시키며, 그 결과, 데이터 전송 신호(2002)를 발생한다. 전송 게이트(2068A 및 2068B)로부터의 판독 데이터의 전송은 데이터 전송 신호(2002)에 응답하므로, 판독 데이터는 대기 시간과 동등한 클록 주기만큼 판독 동작의 타이밍으로부터 지연되는 것을 끝마친다.
도 50은 제1 실시예에 따라 입력하는 데이터에 관련된 부분의 구성을 도시하는 도면이다. 데이터 입력용 회로(2074A 및 2074B)는 데이터 입력(Din) 버퍼(2075A 및 2075B), 직렬 병렬 변환기(2076A 및 2076B) 및 데이터 전송부(2077A 및 2077B)를 각각 포함하고 있다. 데이터 전송부(2077A 및 2077B)로부터의 기록 데이터는 각각 Write 데이터 레지스터(2022 및 2023), 데이터 전송부(2078A 및 2078B) 및 데이터 버스(21)를 통하여 WriteAmp(2015)에 전송되고 메모리 어레이(2012)에 기록된다.
직렬 입력 데이터는 버스트 길이에 따라 직렬에서 병렬로 변환되고, 이어서 최종 데이터 아이템이 입력되는 타이밍에 Write 레지스터(2022 및 2023)에 전달된다. Write 명령이 중재기(2026)로부터 DRAM 코어(2011)에 전달될 때, 상응하는 데이터는 데이터 전송 게이트(2078A 또는 2078B)를 통하여 DRAM 코어(2011)에 전달될 것이다.
도 51 내지 도 58은 제1 실시예의 다중 포트 메모리의 동작을 도시하는 타이밍도이다. 도 51 및 도 52, 도 54 및 도 55, 그리고 도 57 및 도 58은 적절한 설명을 위하여 단일의 타이밍도를, 하나는 타이밍도의 전반을 도시하고 다른 것들은 후반을 도시하되 이들은 일부가 겹치는 도면들이다.
도 51 및 도 52는 두 개의 포트에 Read 명령이 연속해서 입력되는 경우에 수행되는 동작을 도시하고 있다. 주파수가 서로 다른 개개의 클록(CLKA 및 CLKB)가 제공되는 A 포트와 B 포트는 수신된 클록과 동기하여 명령, 어드레스 및 기록 데이터를 받아 들이고, 호출된 데이터를 클록과 동기하여 출력한다. 이 예에서, A 포트는 최대 클록 주파수로 동작하고, B 포트는 약간 낮은 클록 주파수로 동작한다. A포트의 경우, Read 명령=4(CLKA), 데이터 대기 시간=4 및 버스트 길이=4이다. B 포트의 경우, Read 명령=2(CLKB), 데이터 대기 시간=2 및 버스트 길이=2이다. 데이터 대기 시간과 버스트 길이는 개개의 포트의 모드 레지스터(2031 및 2041)에 설정되어 있다. 이 예에서, 데이터의 입출력은 하나의 명령에 응답하여 클록과 동기로 4 번 수행되고, 호출된 데이터는 판독 명령의 입력 후에 4회의 클록으로 출력된다.
포트 A 및 포트 B에 공급된 명령은 각각 명령 레지스터(2028 및 2029)에 기억된다. 리프레시 타이머(2051)가 신호를 발생하는 경우에, 리프레시 명령 레지스터(2027)는 내부에 리프레시 명령을 기억한다. 중재기(2026)는 이들 명령 레지스터를 감시하고, 이들 명령을 그들이 발생되는 순서로 DRAM 코어(2011)에 전달한다. 다음의 명령은 최종 전달된 명령의 처리가 완료된 후에 전달된다. DRAM 코어(2011)로부터 판독된 데이터는 센스 버퍼(2016)로부터 개개의 포트의 데이터 래치(2069A 및 2069B)에 전달되고, 이어서 병렬 데이터에서 직렬 데이터로 변환되며, 이어서 개개의 외부 클록과 동기하여 버스트 데이터로서 출력되다.
도면에 도시한 바와 같이, 명령(Read-A2)은 Read 명령 레지스터(AR)로 입력되고, 명령(Read-B2)은 Read 명령 레지스터(BR)로 입력된다. 이것의 이전에, 리프레시가 1회 발생하고, 리프레시 명령은 리프레시 명령 레지스터에 입력된다. 명령 발송의 순서에 따라, 중재기(2026)는 이들 명령을 Read-A2->Ref->Read-B2의 순서로 DRAM 코어(2011)에 전달하고, 이어서 이들 명령은 코어에 의하여 실행된다. 리프레시 동작이 내부적으로 수행되는 경우에도, 외부적으로는 미리 결정된 데이터 대기 시간 이후에 데이터가 출력되는 것처럼 보인다. 따라서, 리프레시 동작을 전혀 고려할 필요가 없다.
도 53은 전술한 조건과 동일한 조건 하에서 Write 명령이 연속해서 입력되는 예를 도시하고 있다. Write 동작의 타이밍에 장치의 외부로부터 입력된 데이터는 버스트 입력의 형태로 주어진다. Write 명령은 최종 데이터 편이 입력되는 타이밍에 Write 명령 레지스터(AW)에 기억된다. 이 경우에도, 리프레시 명령이 발생되어 내부적으로 실행되는 경우라도 리프레시 동작을 전혀 고려할 필요가 없다.
도 54 및 도 55는 A 포트와 B 포트 모두가 최대 클록 주파수로 Read 동작에 대하여 동작하는 경우에 수행되는 동작을 도시하고 있다. 도 56은 A 포트와 B 포트 모두가 최대 클록 주파수로 Write 동작에 대하여 동작하는 경우에 수행되는 동작을 도시하고 있다. 이 경우, 양쪽 포트의 클록에는 위상차가 존재할 수 있다. 양쪽 포트에 대하여, Read 명령 주기=4, Write 명령 주기=4, 데이터 대기 시간=4 및 버스트 길이=4이다. 도면으로부터 알 수 있는 바와 같이, 동작은 이 경우에도 적절히 수행된다.
도 57 및 도 58은 양쪽 포트가 최고 주파수로 동작하고 리프레시 명령이 내부적으로 발생될 때 Write 명령에서 Read 명령으로의 변경을 수행하는 경우에 수행되는 동작을 도시하는 타이밍도이다. 이것은 명령이 가장 붐비는 경우이다.
설명한 바와 같이, DRAM 코어(2011)는 공차가 전혀 없이 Ref->Write-A1->Write-B1->Read-A2->Read-B2의 순서로 동작한다. 이 예에서, Read-A2 및 Read-B2는 Write 명령의 입력 이후에 6 클록으로 입력된다. 이들 타이밍이 2회 클록만큼 앞서 있는 경우에도, DRAM 코어의 내부 동작을 앞설 수는 없다. 판독 데이터의 출력 타이밍은 Read 명령의 입력으로부터의 데이터 대기 시간에 의하여 제어된다. Read-A2 및 Read-B2의 입력 타이밍이 앞선다면, 데이터 출력 타이밍도 전방향으로 진행할 필요가 있다. 이 경우, Read-B2에 응답하는 데이터 출력 타이밍은 DRAM 코어 동작의 개시에 너무 가까워지므로, Read-B2는 적절히 실행되지 못한다. 이 때문에, Write->Read 전이의 명령 기간은 이 예에서와 같은 6회의 클록 등의 비교적 길게 설정될 필요가 있다.
Read->Write의 명령 기간의 경우, Write 데이터는 Read 데이터의 출력이 완료되지 않으면 DQ 단자에 입력되지 못하므로, 불가피하게 명령 기간은 길어진다.
도 59a 및 도 59b는 DRAM 코어(2011)의 동작을 도시하는 도면이다. 도 59a는 Read 동작을 도시하고, 도 59b는 Write 동작을 도시한다. 도면에 도시한 바와 같이, 일련의 동작은 워드선 선택->데이터 증폭->재기록->프리챠지의 순서로 단일 명령에 응답하여 수행되고, 그 결과, 전체 동작을 완료한다.
전술한 바와 같이, 명령 기간은 제1 실시예에 있어서 Write 명령에서 Read 명령으로 명령의 전이 시간으로 연장된다. 이것은 제2 실시예에서 개선된다. 제1 실시예의 해당 명령 기간이 6회의 클록 주기인 반면에, 제2 실시예는 이것을 5회의 클록 주기로 단축할 수 있다.
본 발명의 제2 실시예의 다중 포트 메모리는 제1 실시예의 다중 포트 메모리의 구성과 유사한 구성이고, 리프레시 회로가 도 60에 도시한 구성이라는 점만이 다르다. 도 61은 제2 중재기(2083)의 회로 구성을 도시하는 도면이다.
도 60에 도시한 바와 같이, 제2 실시예의 리프레시 회로는, 도 43c의 리프레시 타이머(2051)와 리프레시 명령 발생기(2052)를 조합하는 리프레시-타이머/레프레시-명령-발생기(2081), 제2 리프레시 명령 레지스터(2082) 및 제2 중재기(2083)를 포함하고 있고, 제2 중재기(2083)로부터 출력된 리프레시 명령은 리프레시 명령 레지스터(2027)에 입력된다. 리프레시 명령 레지스터(2027)의 리프레시 명령(REF2)은 제1 실시예에서와 같이 중재기(2026)에 입력된다. 이 구성에서, 리프레시 동작의 완료 이후에 중재기(2026)에서 리프레시 명령 레지스터(2027)로 출력된 리셋 신호(ResetREF)는 또한 제2 리프레시 명령 레지스터(2082)에 공급된다.
제2 실시예의 리프레시 회로에 있어서, 제2 중재기(2083)는 리프레시 명령의 경로를 따라 설치된다. Write 명령->Read 명령의 명령 전이의 경우에서와 같이 명령이 붐비는 것이 예상되면, 중재기(2083)는 리프레시 명령을 리프레시 명령 레지스터(2027)로 전송하는 것을 지연시킨다. 제2 중재기(2083)는 Write 명령에서 Read 명령으로의 전환이 도 61에 도시한 회로 구성을이용함으로써 발생하는 지의 여부를 검사하고, 이러한 전환이 검출되면 리프레시 명령을 제2 리프레시 명령 레지스터(2082)에서 리프레시 명령 레지스터(2027)로 전송하는 것을 지연시킨다.
도 61에 도시한 바와 같이, REF 전송 금지 신호(A 및 B)는 개개의 포트에 의하여 장치의 외부로부터 공급된 Write 명령의 수신시에 비활성되고, 1회의 클록 주기 후에 활성되며, 이어서 다시 최종 데이터 아이템을 수신한 이후에 수회의 클록 주기(예컨대, 이 예에서는 3회의 클록 주기)에 다시 비활성된다. 도 61의 3CLK 지연기(2084A 및 2084B)는 플립플롭 등을 포함하고 있고, WA1 및 WB1에 의하여 각각 리셋되며, 그 결과, WA1D 및 WB1D는 지연기들을 통과하는 동안에 리셋된다. REF 전송 금지 신호(A 및 B)의 논리 AND는 REF 명령 전송 금지 신호를 발생하도록 얻어진다. 이 논리 AND를 얻는 이유는, 양쪽 포트가 Write 명령에서 Read 명령으로 전환이 일어날 때에만 이 예에서의 문제가 발생하고 한 쪽 포트만 이러한 전환이 일어날 때에는 문제가 없기 때문이다. 또한, REF 전송 금지 신호(A 및 B)가 Write 명령의 수신 이후에 1회의 클록 주기 동안에만 비활성되는 이유는 이것이 최종 데이터 아이템의 수신 이전에 리프레시 동작을 수행하도록 여분의 시간을 제공하기 때문이다. 또한, 지연기(2086)는 REF 명령 전송 금지 신호와 장치의 외부로부터 공급된 명령 사이의 상대적 타이밍들의 차를 향상시키기 위하여 클록에 관한 타이밍을 약간 지연시킬 목적으로 설치된다.
도 62 내지 도 69는 제2 중재기의 동작을 도시하는 타이밍도이다. 도 70 내지 도 72는 제2 실시예의 다중 포트 메모리의 동작을 도시하는 타이밍도이다. 도 62 및 도 63, 도 64 및 도 65, 도 66 및 도 67, 도 68 및 도 69, 그리고 도 70 및 도 71은 설명의 편의상, 단일의 타이밍도를 나누어, 하나는 타이밍도의 전반을 도시하고 다른 것은 후반을 도시하되, 그들 사이에 일부가 겹치는 도면이다.
도 62 및 도 63은 양쪽 포트가 Write->Read 명령의 전환을 행하고 REF 전송 금지 기간 중에 리프레시 타이머 작업이 발생하는 경우롤 도시하고 있다. 이 경우, 리프레시 동작(Ref)은 Read-A2 및 Read-B2의 완료 이후에 수행된다.
도 64 및 도 65는 상기의 예에서와 같이 양쪽 포트가 Write->Read 명령의 전환을 행하지만 REF 전송 금지 기간 이전에 리프레시 타이머가 발생하는 경우롤 도시하고 있다. 이 경우, Write 동작과 Read 동작은 리프레시 동작(Ref)이 수행된 이후에 수행된다.
도 66 및 도 67은 A 포트만이 Write->Read 명령 전이를 수행하고 REF 전송 금지 기간 중에는 리프레시 타이머의 작업이 발생하는 경우를 설명하고 있다. 이 경우, 리프레시 동작(Ref)은 Write 동작의 완료 이후에 수행되고, 이어서 Read 동작이 수행된다.
도 68 및 도 69는 양쪽 포트에서 Write이 계속되는 경우를 나타낸다. 이 경우, Write 명령이 최종 데이터 입력에 이어서 입력된 것보다 빠르지 않게, 3CLK 지연기(2084A 및 2084B)가 비활성된다.
도 70 및 도 71은 도 57 및 도 58에 도시한 제1 실시예의 동작에 상응하는 제2 실시예의 동작을 도시하는 타이밍도이다. Write->Read 명령 전이의 명령 기간은 제1 실시예에 비하여 6회의 클록에서 5회의 클록으로 단축된다.
도 72는 도 56에 도시한 제1 실시예의 동작을 도시하는 타이밍도이다. 리프레시 동작에 관한 명령 실행의 순서는 제1 실시예에 비하여 변경되지만, 동작은 순서대로 유지된다.
전술한 바와 같이, 제2 실시예는 어떠한 조건 하에서도 적절히 동작을 수행할 수 있고, Write 명령->Read 명령의 전이의 명령 기간을 5회의 클록 주기로 단축시킬 수 있다.
전술한 바와 같이, 본 발명에 의하여, 다중 포트 메모리는 메모리 어레이가 DRAM 코어를 기초로 하여 구성되는 경우에 리프레시 동작을 전혀 고려하지 않아도 이용될 수 있고, 그 결과, 대용량이며 이용이 용이한 다중 포트 메모리를 저비용으로 제공하게 된다.
[본 발명의 제3 형태]
다음에, 본 발명의 제3 형태에 관하여 설명한다.
다중 포트 메모리에는 여러 가지의 종류가 있다. 이하, 복수 개의 포트를 갖는 메모리에 관하여 언급하고, 개개의 포트로부터의 액세스는 공통 메모리 어레이에 대하여 서로 독립적으로 행해질 수 있다. 예컨대, 2 포트형의 다중 포트 메모리에 A 포트와 B 포트가 장착되고, 공통 메모리에 대한 판독/기록 액세스는 A 포트에 연결된 CPU-A로부터 그리고 B 포트에 접속된 CPU-B로부터 독립적으로 행해질 수 있게 된다.
이러한 종류의 다중 포트 메모리로서는 SRAM 메모리 어레이를 갖는 메모리가 공지되어 있고, 그 메모리에서는 워드선과 비트선 쌍이 중복 세트로 제공되며, 각 메모리 셀은 2 세트의 워드선과 비트선 쌍에 접속되어 있다. 그러나, 이러한 다중 포트 메모리는, 중복 세트의 워드선과 비트선 쌍이 설치될 필요가 있다는 점에서 회로 밀도가 낮다는 문제가 있다.
이를 해소하기 위하여, 다중프로세서 구성을 갖는 컴퓨터를 이용한 공유 메모리와 같은 메카니즘을 이용하는 것을 고려할 수 있다. 공유 메모리는 공통 메모리용으로 제공된 복수 개의 포트를 갖는다. 통상, SRAM이 메모리로서 이용되며, 복수 개의 포트는 각각의 IC로서 구성된다. 복수 개의 포트로부터 액세스가 동시에 행해지는 경우에, 복수 개의 포트에 응답하는 동작은 메모리 어레이가 공유용으로 되어 있기 때문에 동시에 수행될 수 없다. 이러한 문제를 방지하기 위한 가장 용이한 방법은 포트에 BUSY 신호를 발생하여, 다른 포트로부터 액세스가 행해지고 있을 때 그 포트에 대한 액세스를 방지하는 것이다. 그러나, 이것은 메모리의 이용을 제한하는 문제를 발생시킨다. 이를 감안하여, 중재기라고 부르는 중재 회로를 공통 메모리에 설치하고, 복수 개의 포트에 의하여 수신된 액세스 요구의 우선 순위를 판단한다. 메모리 어레이의 제어 회로는 우선 순위의 순서대로 액세스 요구에 응답하는 동작을 수행하도록 구성된다. 예컨대, 액세스 요구는 도달 순서, 예컨대 액세스 요구가 개개의 포트에 공급되는 순서대로 수행된다. 그러나, 이것은 다른 포트의 명령이 처리되고 있는 동안에는 새로운 명령이 실행되지 못하는 상황을 변경하지 않는다. 이러한 경우에 BUSY 신호가 전달될 필요가 있고, 또한, 메모리를 액세스하는 장치에는 BUSY 신호를 조작하는 메카니즘이 제공될 필요가 있다.
메모리 어레이는 복수 개의 포트로부터 불시에 액세스되는 것을 끝내게 된다. 이 때문에, 동일의 행 어드레스에서 연속의 열 어드레스를 연속해서 액세스하는 열 액세스 동작은 제공되지 않지만, 이러한 열 액세스는 통상 DRAM에서도 이용 가능하다. 즉, 소정의 셀이 선택되고 판독/기록 동작을 위하여 액세스되며 단일의 액세스에 응답하여 수행되는 모든 것들을 리셋한다.
공유 메모리가 구성되는 경우에, 일반적으로, 메모리 어레이로서는 종래에 SRAM이 이용된다. 그 이유는, SRAM은 고속 랜덤 액세스 동작이 가능하고, 또한, 리프레시 동작이 필요 없으므로 SRAM을 이용하기가 용이하기 때문이다. 또한, 단일 칩의 다중 포트 메모리에는 종래에 중복 세트의 워드선과 비트선 쌍이 설치되고, 보통의 SRAM 구성을 갖는 메모리 어레이를 기초로 한 단일 칩의 다중 포트 메모리는 실제로 아직 이용되지 않았다.
요약하면, 다중 포트 메모리와 공유 메모리는 SRAM을 이용하여 구성되고, 리프레시 동작을 필요로 하는 DRAM은 이용되지 않는다.
처리될 데이터의 량은 시스템이 점점 더 고성능을 제공함에 따라 증가하고, 다중 포트 메모리도 대용량이 필요하다. 따라서, SRAM보다 높은 회로 밀도를 갖는 다이내믹형 메모리 셀(DRAM) 어레이를 이용하여 다중 포트 메모리를 구성하는 것을 고려할 수 있고, 그 결과, 다중 포트 메모리는 저비용으로 대기억 용량을 갖게 된다. 그러나, 메모리 셀의 리프레시 동작은 문제가 있다.
종래의 DRAM에 있어서, 리프레시 명령은 판독/기록 명령들 사이에 장치의 외부로부터 일정한 기간으로 제공될 필요가 있다. 이를 위하여, DRAM 기반의 시스템의 제어기 장치에는 리프레시 관리를 위해 타이머 및/또는 제어 회로가 설치된다. 그러나, SRAM 기반의 다중 포트 메모리를 이용하는 시스템에는 이러한 회로가 설치되지 않는다. DRAM을 기반으로하여 메모리를 구성하는 경우에도, 종래의 다중 포트 메모리에서와 동일한 방식으로 이용 가능해야 할 필요가 있다. 즉, DRAM들로 이루어진 메모리 어레이를 갖는 다중 포트 메모리는 그 자체로 리프레시 동작을 수행할 필요가 있다.
중재기가 BUSY 신호를 출력하는 경우에, 전술한 바와 같이 메모리의 이용이 오히려 방해가 된다는 문제가 있다.
본 발명은 메모리 어레이가 DRAM 코어로 이루어진 다중 포트 메모리를 제공하는 데 목적이 있고, 리프레시 동작에 대한 어떠한 고려 없이도 이용될 수 있으며, 그 결과, 대용량이며 이용하기 용이한 다중 포트 메모리를 저비용으로 제공한다.
전술한 문제를 해소하기 위하여, 본 발명의 다중 포트 반도체 메모리 장치는 mN〈n〈m(N+1)인 각 외부 포트의 최소 입력 주기가 만족되는 한 시간 주기 동안에 m(m≥2) 번으로 n 개의 내부 동작을 수행할 수 있다.
전술한 조건은 N 개의 포트 중 각각의 최소 명령 주기가 N회의 동작 주기 더하기 단일의 내부 동작 주기보다 짧은 시간 간격(α)을 가능하게 하는 시간으로 설정된다. N=2이면, 예컨대, 각 포트의 최소 명령 외부 명령 주기는 2회의 내부 동작 주기를 가능하게 하는 시간 간격 더하기 시간 간격(α)으로 설정된다. 여기에서, 시간 간격(α)은 1회의 내부 동작 주기보다 짧다.
본 발명은 2회의 내부 동작 주기를 가능하게 하는 시간 간격을 이용하여, BUSY 신호를 출력하는 중재기에 의하여 생긴 메모리 방해 문제를 해소하며, 시간 간격(α)를 이용하여, 리프레시 동작의 문제를 해결한다.
도 73은 본 발명의 원리를 설명하기 위한 도면이고(제3 형태), 양쪽 포트에 대하여 판독 동작이 수행되는 경우를 도시하고 있다.
두 개의 외부 포트, 즉 A 포트와 B 포트에 대한 명령은 내부 동작 주기가 2.2번 수행될 수 있는 동안에 최소 기간으로 입력된다. 즉, 내부 동작 주기의 2.2번은 최소 외부 명령 주기와 같고, 외부 명령 주기는 내부 동작 주기가 2.2번 수행될 수 있는 시간 간격보다 많게 설정된다. 클록(CLKA 및 CLKB)은 각각 A 포트와 B 포트에 입력되고, 외부 포트로(부터)의 명령, 어드레스 및 데이터의 입출력은 상응하는 클록에 동기하여 수행된다. 예시하지는 않았지만, 어드레스는 명령과 동시에 입력된다. 판독 명령이 최소 외부 명령 주기로 A 포트와 B 포트에 공급될 때, 도면에 도시한 바와 같이, 중재 회로는 코어 동작을 수행할 때 먼저 도달하는 명령에 우선 순위를 부여하는 제어를 행한다.
DRAM 코어는 1회의 외부 명령 주기 동안에 메모리 어레이로부터의 데이터를 판독하기 위하여 2 개의 판독 동작을 수행하고, 데이터를 A 포트와 B 포트로 출력한다. A 포트와 B 포트는 호출된 데이터를 각각 유지하고, 그 호출된 데이터를 판독 명령의 입력으로부터 6번째 클록인 개개의 클록 신호의 특정 클록 타이밍과 동기하여 출력한다. 즉, 이 경우의 데이터 대기 시간은 6이다.
리프레시 타이머는 내부 회로서 설치되고, 그 자체에서 리프레시 명령을 발생한다. 리프레시 동작이 발생하지 않는 경우에, 장치의 내부 회로는 1회의 외부 명령 주기 동안에 명령(A 및 B)에 상응하는 두 개의 동작을 수행하도록 루틴하게 동작한다. 내부 동작은 1회의 외부 명령 주기 동안에 2.2번 수행될 수 있으므로, DRAM 코어는 두 개의 내부 동작을 완료한 이후에 남은 별도의 시간(tα)를 가질 것이다.
내부적으로 리프레시 명령이 발생되는 경우, 장치의 내부 회로는 고속으로 동작한다. 여기에서, 고속이란 별도의 시간(tα)을 생성하지 않고 동작을 수행하는 것을 의미한다. 리프레시 명령이 발생되는 경우에, 장치는 리프레시 동작을 수행한다. 그 동안에 명령이 A 포트와 B 포트에 입력되는 경우에, 처리되어야 할 명령은 누적될 것이다. 장치는 별도의 시간(tα)을 생성하지 않고 고속으로 하나씩 명령을실행한다. 명령은 하나씩 A 포트와 B 포트에 입력되지만, 리프레시 명령은 외부 명령 주기보다 긴 기간에서만 발생하고, 다음의 리프레시 명령이 발생될 때까지는 명령(A)과 명령(B)만이 실행되어야 한다. 내부 명령 처리의 속도는 보다 고속이므로, 결국에 누적된 명령은 없을 것이다. 달리 말하면, 내부 처리는 외부 명령의 입력을 받아 들일 것이다. 이후, 장치는 그의 루틴 동작으로 복귀한다. 별도의 시간(α)은 외부 포트의 수, 내부 동작 주기의 수, 리프레시 기간 등을 고려하여 결정된다.
Read 명령(RD)에 응답하여 출력되는 데이터의 지연 시간(데이터 대기 시간)은, 내부 리프레시 명령과 다른 포트에 대한 공통 입력부가 Read 명령 바로 이전에 발생할 때 타이밍이 최악으로 되므로, 내부 동작의 3회 주기로 설정(2 포트의 경우에)된다. 그러나, 2회의 내부 동작 주기보다 약간 긴 외부 명령은 모두 적절한 장치 동작을 필요로 하므로, 데이터 전송 속도는 오히려 빠르다.
전술한 바와 같이, 본 발명은 장치의 외부로부터의 리프레시 동작을 숨길 수 있고, 외부 명령 주기를 2회의 내부 동작 주기보다 약간 긴 정도로만 설정한다. 외부로부터 리프레시 제어를 행할 필요가 없고, 내부에서 리프레시 동작이 수행되는 경우에도, 외부로는 전혀 보이지 않고 장치 동작이 외부에 보이는 방법에 영향을 미치지 않는다. 따라서, 메모리로의 액세스는 다른 포트를 전혀 고려하지 않아도 각 외부 포트로부터 행해질 수 있다.
이와 같이 하여, 본 발명은 대용량과 고속 데이터 전송 속도를 갖는 DRAM 메모리 셀을 이용하는 다중 포트 메모리를 제공하고, 마치 SRAM을 기초로 하여 구성하는 것처럼 리프레시 동작을 전혀 고려하지 않아도 메모리를 이용할 수 있다.
도 73의 예에 있어서, 판독 동작의 하나의 아이템은 하나의 판독 명령에 응답하여 외부 클록과 동기하여 출력된다. 즉, 버스트 길이는 1이다. 따라서, 판독 데이터의 출력이 1회의 주기로 완료된 후, 외부 포트는 외부 명령 주기의 3회의 나머지 클록 주기 동안에 데이터를 전혀 출력하지 않을 것이며, 그 결과, 데이터 전송이 비효율적이게 된다. 이 문제는 버스트 길이를 길게함으로써 해소될 수 있다.
도 74는 본 발명의 원리를 설명하기 위한 도면이고, 버스트 길이가 4인 예를 도시하고 있다. 이 예에서는, 이전의 경우와 같이, 두 개의 외부 포트의 외부 명령 주기는 2.2회의 내부 동작 주기를 수용할 수 있는 길이로 설정된다. 또한, 1회의 외부 명령 주기는 4회의 클록 주기에 상응한다. 데이터는 6의 데이터 대기 시간을 제공하는 것과 같은 방식으로 단일의 외부 명령 주기 동안에 클록과 동기하여 외부 포트로부터 네 번 출력된다. 따라서, 2회의 외부 명령 주기의 클록 주기의 수에 따라서 버스트 길이가 설정되면, 두 개의 포트 모두에서 공차가 없는 판독 동작이 달성되고, 그 결과, 데이터 전송 속도를 상당히 높히게 된다. 이 경우에 있어서, 버스트 길이 만큼의 데이터 아이템은 단일의 액세스에 응답하여 메모리 어레이로(부터) 내부적으로 입출력되는 것이 필요하다. 예컨대, 외부 포트의 데이터 입출력 핀의 수가 4 개이고, 버스트 길이는 4이면, 16 비트 데이터가 단일의 액세스 동작에 의하여 메모리 어레이로(부터) 입출력되는 것을 보증하여야 한다.
A 포트와 B 포트가 동기로 동작하지 않아도 되고 개개의 외부 명령 주기는 최소 주기가 N회의 내부 동작 주기 더하기 단일 내부 동작 주기보다 짧은 기간(α)에 필요한 기간과 같게 설정되는 한 임의의 타이밍으로 각각 독립하여 설정될 수있음에 주목하여야 한다.
도 75 및 도 76은 2 포트, 3 포트 및 N 포트의 경우에 있어서 최소 외부 명령과 내부 동작 주기간의 관계를 도시하는 도면이다. 도면에 도시한 바와 같이, 포트의 수가 2 개이면, 최소 명령 주기는 두 개의 내부 동작 더하기 α를 가능하게 하는 3 개의 내부 동작을 수용하는 시간 길이를 갖고, 포트의 수가 3 개이면, 최소 외부 명령 주기는 3 개의 내부 동작 더하기 α를 가능하게 하는 시간 간격이다. 또한, 포트의 수가 N 개이면, 최소 외부 명령 주기는 N+1 개의 내부 동작이 수행될 수 있는 시간 길이 더하기 시간 길이 α와 같다.
도 77와 도 78a 내지 도 78c는 본 발명의 실시예에 따른 다중 포트 메모리의 구성을 도시하는 도면이다. 도 77는 DRAM 코어와 그의 관련 회로를 도시하고 있고, 도 78a는 A 포트를 도시하고 있으며, 도 78b는 B 포트를 도시하고 있다. 또한, 도 78c는 리프레시 회로를 도시하고 있다. 도 78a 내지 도 78c에 도시한 회로는 도 77의 각 부분에 접속되어 있다.
도면에 도시한 바와 같이, 이 실시예의 다중 포트 메모리는 DRAM 코어(3011), 동작 순서를 판단하고 동작이 미리 결정된 순서로 수행되는 것을 보증하도록 제어하기 위한 중재기(3026), 중재기(3026)로부터 공급된 명령들을 임시적으로 기억하고 이들 명령을 명령이 수신되는 순서로 DRAM 코어(3011)의 제어 회로(3014)에 전송하는 명령 레지스터(3025), 명령, 어드레스 및 데이터를 임시적으로 기억하는 레지스터 세트, A 포트(3030)와 B 포트(3040)로 이루어진 두 개의 외부 포트 및 리프레시 회로(3050)를 포함하고 있다.
A 포트(3030)와 B 포트(3040)는 모드 레지스터(3031 및 3041),(CLK 버퍼(3032 및 3042), 데이터 I/O 회로(3033 및 3043), 어드레스 입력 회로(3034 및 3044) 및 명령 입력부(3035 및 3045)를 각각 포함하고 있다. 이들은 장치의 외부로부터 공급된 개객의 각 클록 주파수를 기초로 하여 동작한다. 데이터 대기 시간과 버스트 길이는 모드 레지스터(3031 및 3041)에 기억되므로, 그들은 개별적으로 설정될 수 있다. 데이터 I/O 회로(3033 및 3043)에는 버스트 길이에 따라 입출력 데이터의 병렬 직렬 변환과 직렬 병렬 변환을 수행하는 메카니즘이 창착된다.
리프레시 회로(3050)는 리프레시 타이머(3051)와 리프레시 명령 발생기(3052)를 포함하고 있다. 리프레시 타이머(3051)는 리프레시 개시 신호를 미리 결정된 기간에 발생하고, 리프레시 명령 발생기(3052)는 그에 응답하여 리프레시 명령을 발생한다.
A 포트와 B 포트에 공급된 명령은 각각 명령 레지스터 A(28A)와 명령 레지스터 B(28B)에 기억된다. 어드레스는 각각 어드레스 레지스터 A(19A)와 어드레스 레지스터 B(19B)에 기억되고, 기록될 데이터는 각각Write 데이터 레지스터 A(22A)와Write 데이터 레지스터 B(22B)에 기억된다. 또한, 리프레시 명령은 리프레시 명령 레지스터(3027)에 기억되고, 리프레시 어드레스는 리프레시 어드레스 카운터/레지스터(3018)에 기억된다.
중재기(3026)는 명령의 도달 순서를 기초로 하여 명령 실행 순서를 판단하고, 명령들을 결정되는 순서로 명령 레지스터(3025)에 전송한다. 명령 레지스터(3025)는 이들 명령을 명령이 중재기(3026)로부터 수신되는 순서로 DRAM코어(3011)의 제어 회로(3025)에 송신한다. DRAM 코어가 주어진 명령을 처리할 때, 제어 회로(3014)는 다음의 명령을 수신할 수 있는 상태로 놓인다. 이에 응답하여, 명령 레지스터(3025)는 다음 명령을 제어 회로(3014)에 송신한다. 그 사이에 중재기(3026)로부터 공급되는 명령은 명령 레지스터(3025)에 임시적으로 기억된다. 또한, 명령 레지스터(3025)는 DRAM 코어(3011)의 제어 회로(3014)에 명령을 전송하는 것 이외에 전송 신호를 상응하는 어드레스 레지스터와 상응하는 데이터 레지스터에 전달한다(기록 동작의 경우에). DRAM 코어(3011)에 있어서, 제어 회로(3014)는 공급된 명령에 응답하고, 따라서 복호기(3013), 기록 증폭기(WriteAmp)(3015) 및 센스 버퍼(3016)를 제어하며, 그 결과, 메모리 어레이(3012)에 대하여 액세스 동작을 수행한다. 기록 동작의 경우에, 복호기(3013)는 메모리 어레이(3012) 내의 워드선과 열 신호선을 활성화하도록 기록 동작에 대하여 액세스될 어드레스를 복호화하고, 그 결과, Write 데이터 레지스터(A 및 B)에 기억된 기록 데이터는 WriteAmp(3015)를 통하여 메모리 어레이(3015)에 기록된다. 판독 동작의 경우에, 메모리 어레이(3012)는 마찬가지로 액세스되고, 그 결과, 판독 데이터는 센스 버퍼(3016)로부터 각각 3024A 및 3024B로 표기된 전송 게이트(A 및 B)를 통하여 개개의 포트의 데이터 출력 회로로 전송된다. 전송 게이트의 전송 타이밍은 DRAM 코어(3011)의 동작 주기에 따라 제어되고, 제어 회로(3014)에 의하여 판단된다. 출력 데이터는 상응하는 외부 클록에 동기하여 각 포트의 데이터 출력 회로로부터 출력된다.
다음에, 명령 처리, 어드레스 처리 및 데이터 처리의 각각에 관련된 세부에관하여 설명한다.
도 79 및 도 80는 제1 실시예에 따른 명령 처리에 관련된 부(部)의 구성을 도시하는 도면이다. 도 77 및 도 78a 내지 도 78c의 구성 요소와 동일한 구성 요소는 동일한 참조 부호를 붙인다. 다른 도면의 경우에도 동일하게 적용된다.
도 79에 도시한 바와 같이, A 포트의 명령 입력부(3035)는 입력 버퍼(3036), 명령 복호기(3037) 및 (n-1) 클록 지연기(3038)를 포함하고 있고, B 포트의 명령 입력부(3045)는 입력 버퍼(3046), 명령 복호기(3047) 및 (m-1) 클록 지연기(3048)를 포함하고 있다. 여기에서, n과 m은 버스트 길이이다. 또한, 도 80에 도시한 바와 같이, 명령 레지스터(A)는 Read 명령 레지스터(AR)와Write 명령 레지스터(AW)를 포함하고 있는 명령 레지스터(B)는 Read 명령 레지스터(BR)와Write 명령 레지스터(BW)를 포함하고 있다.
입력 버퍼(3036 및 3046)는 개개의 클록(CLKA1 및 CLKB1)과 동기하여 공급된 Read 명령을 획득하고, 명령 복호기(3037 및 3047)는 복호화 처리를 수행한다. 명령 복호기(3037 및 3047)은 판독 명령의 경우에 각각(RA)1 및 RB1을 발생하고, 기록 명령의 경우에 각각 WA1 및 WB1을 발생한다. 신호(RA1 및 RB1)는 타이밍 조작이 전혀 없어도 각각 Read 명령 레지스터(AR 및 BR)에 전달되고, 반면에 신호(WA1 및 WB1)는 버스트 데이터의 최종 데이터 아이템이 입력될 때까지 (n-1) 클록 지연기(3038)와 (m-1) 클록 지연기(3048)에 의하여 지연되고, 이어서 각각Write 명령 레지스터(AW 및 BW)에 전달된다. 또한, 리프레시 회로(3050)에 의하여 발생된 리프레시 명령(REF1)은 리프레시 명령 레지스터(3027)에 전달된다.
중재기(3026)는 명령이 이들 다섯 개의 명령 레지스터(AR, AW, BR, BW 및 3027)에 전송되는 순서를 검출하고, 이들 명령을 검출된 순서로 차례 차례로 DRAM 명령 레지스터(3025)에 전송한다. 중재기(26)로부터 전송된 명령의 수신시, 명령 레지스터(3025)는 명령 수신 대기 신호를 중재기(3026)에 전달한다. 명령 수신 대기 신호에 응답하여, 중재기(3026)는 다음 명령을 명령 레지스터에 전송한다.
명령 레지스터(3025)는 명령들을 차례 차례로 이들 명령이 중재기(3025)로부터 수신되는 순서로 DRAM 코어(3011)의 제어 회로(3014)에 전송한다. DRAM 코어의 제어 회로(3014)는 수신된 명령을 실행하고, 명령 실행이 종료하거나 종료에 가까워질 때 명령 수신 준비 신호를 명령 레지스터(3025)에 전달한다. 명령 수신 준비 신호에 응답하여, 명령 레지스터(3025)는 다음 명령을 제어 회로(3014)에 전달한다. 그 동안에, 중재기(3026)로부터 공급되는 명령은 명령 레지스터(3025)에 임시적으로 기억된다.
도 81은 중재기(3026)의 일 실시예이다. 도 80의 다섯 개의 명령 레지스터[Read 명령 레지스터(AR), Write 명령 레지스터(AW), Read 명령 레지스터(BR), Write 명령 레지스터(BW) 및 리프레시 명령 레지스터(3027)]에 명령이 도달하는 순서는 도면에 도시한 바와 같이 비교기(3053)에 의하여 검출된다. 각 비교기(3053)는 두 개의 명령 레지스터의 타이밍들을 비교하고, "H"가 먼저 입력되는 쪽에서 출력을 "H"로 변경시킨다. AND 게이트(3054)는, 관련된 비교기(3053)의 모든 해당 출력이 "H"인지의 여부를 검사함으로써 소정의 명령이 다른 네 개의 모든 명령에 앞서 입력되는 지의 여부를 판단한다. 개개의 명령에 상응하는신호(RA31, WA31, RB31, WB31 및 REF31)는 상응하는 명령이 가장 빠른 경우에 "H"로 되고, 명령 레지스터(3025)에 전송된다.(RA)2가(RA)2 내지 REF2 중 가장 빠른 것이면,(RA)2에 접속된 비교기는(RA)2가 접속되어 있는 측에서 출력이 "H"가 되고, 그 결과,(RA)31은 "H"가 된다. 이 특정 순간에, 명령 수신 대기 상황은 아직 않았으므로(="L"), N1="L"이고, 그 결과,(RA)3은 "H"가 된다. 따라서, 명령(RA3)이 명령 레지스터(3025)에 송신된다.
명령 레지스터(3025)는 명령의 수신시에 명령 수신 대기 신호를 발생한다. 이러한 상황이 발생하면, "L" 펄스는 노드(N1)에서 발생되고, 그 결과,(RA)1 내지 REF3은 모두 "L"로 된다. 그 동안에, ResetRA 내지 ResetREF 중 하나가 발생될 것이다.(RA)31이 "H"이면, ResetRA가 발생되고, 그 결과, Read 명령 레지스터(AR)가 리셋된다. 그에 응답하여,(RA)2는 "L"로 되고, 이어서(RA)31 내지 REF31 중 하나가 선상에서 다음 명령을 나타내는 "H"로 된다. N1이 "L" 펄스의 말미에서 "H"로 될 때, 선상의 다음 명령이 명령 레지스터(3025)에 전송된다. 전술한 동작은 이후에도 반복된다.
도 82 및 도 83은 명령 레지스터(3025)의 구성을 도시하는 도면이다. 이것은 두 개의 도면으로 분할되어 도시되어 있다.
명령 레지스터(3025)는 주로, 내부에 명령을 기억하고 이 명령을 연속해서 DRAM 코어(3011)에 출력하는 시프트 레지스터(3092)를 포함하고 있고, 중재기(3026)로부터 수신된 명령을 시프트 레지스터(3092)로 전송하는 스위치(SW1-SW3)3082-3084)를 포함하고 있다. 이 예에서, 시프트 레지스터(3092)는 3단 구성을가지며, 명령을 기억하기 위한 레지스터(3085-3087), 레지스터(3085-3087)의 기억 상태를 나타내는 플래그(3088-3090) 및 레지스터(3085-3087)의 상태를 리셋하는 리셋 데이터부(3091)를 포함하고 있다. 레지스터(3085-3087)에 명령이 기억되어 있지 않은 상태에서는, 플래그(3088-3090)는 모두 행(FL1-FL3="L")이므로, 스위치(3082)(SW1)는 접속되어 있다. 제1 명령은 SW1을 통하여 레지스터(3085)에 기억되므로, FL1은 "H"가 된다. FL1이 "H"가 되면, "H" 에지 펄스 회로(3093)는 펄스를 발생하므로, 명령 수신 대기 상황이 중재기(3026)에 전달된다.
명령 수신 준비 신호가 이 특정 순간에 DRAM 코어(3011)에 의하여 확인되면, 게이트(3097)는 개방되어 레지스터(3085)의 명령을 래치(3098)로 전송하고, 이어서 명령은 DRAM 코어(3011)의 제어 회로(3014)로 송신된다. 동시에, 명령에 상응하는 어드레스 등은 DRAM 코어(3011)에 전달된다. DRAM 코어(3011)는, 수신된 명령에 따라 동작을 개시하는 동안에는, 명령 수신 준비 신호를 취소한다. 따라서, 게이트(3097)는 폐쇄된다. 레지스터 제어 회로(3096)는, 레지스터(3086)의 데이터를 레지스터(3085)로 그리고 레지스터(3087)의 데이터를 레지스터(3086)로 이동하게 하는 시프트 신호를 발생한다. 시프트 신호의 발생 이전에 명령이 레지스터(3086)에 기억되지 않으면, 시프트 동작에 의하여 레지스터(3085)는 리셋되고 FL1은 "L"로 된다. 레지스터 제어 회로(3096)는 SW1-SW3을 접속 해제하도록 하기 위하여 시프트 신호의 발생과 함께 동시에 전송 금지 신호를 발생하고, 그 결과, 시프트 동작 중에 데이터가 시프트 레지스터(3092)로 전송되지 못하게 된다. 제1 명령(명령 1)이 SW1을 통하여 레지스터(3092)로 공급되는 경우에, DRAM코어(3011)가 선행의 명령을 실행하고 있으면 레지스터(3085)에 기억된다. FL1이 "H"로 되어 SW1을 접속 해제하고, 미리 결정된 지연 이후에 SW2를 더 접속 해제한다. 여기에서, 미리 결정된 지연은 명령 수신 대기의 발생에서부터 중재기 출력의 리셋까지의 시간 간격에 상응한다. DRAM 코어(3011)가 명령을 수신할 준비가 되기 이전에 다음 명령(명령 2)이 중재기(3026)로부터 공급되면, 명령 2는 SW2를 통하여 레지스터(3086)에 기억된다. FL2는 "H'로 되어 명령 수신 대기를 발생하고, SW2를 접속 해제하며, 이어서 미리 결정된 지연 시간 이후에 SW3을 더 접속 해제한다. DRAM 코어가 이러한 상태로 되어 명령을 수신할 수 있게 되는 경우에, 명령 수신 준비 신호가 발생되어 게이트(3097)를 개방하므로, 레지스터(3085)의 명령 1은 래치(3098)에 전달되고 이어서 DRAM 코어(3011)에 전달된다. DRAM 코어(3011)는 명령 1에 따라 동작을 개시하는 동안에 명령 수신 준비 신호를 취소한다. 이에 응답하여, 게이트(3097)는 폐쇄된다. 레지스터 제어 회로(3096)는 시프트 신호를 발생하고, 이 신호는 레지스터(3086)의 명령 2를 레지스터(3085)로 시프트시키며, 또는 레지스터(3087)의 내용(리셋 상태)을 레지스터(3086)로 시프트시킨다. 레지스터(3085)는 명령 2를 기억하는 것을 마치고, 레지스터(3086 및 3087)는 리셋 상태로 있는 것을 마친다. FL1은 "H"이고 FL2 및 FL3은 "L"이므로, SW2는 접속되고 SW1 및 SW3은 접속 해제된다.
리셋 데이터부(3091)는 좌반부 상에서 시프트 레지스터(3092)의 레지스터(3087)에 접속된다. 이 구성은, 명령이 모두 레지스터(3087)까지 모두 기억될 때 후속의 시프트 신호에 의하여 레지스터(3087)의 명령을 레지스터(3086)로시프트시키기 위하여 제공된다. 이와 같이 하여, 명령 레지스터(3025)는 중재기(3026)로부터 전송된 명령을 임시적으로 누적시키고, DRAM 코어(3011)의 상태를 검출하며, 이어서 명령을 차례 차례로 전달한다.
명령 발생 검출 신호는 레지스터 제어 회로(3096)에 입력된다. 명령 발생 검출 신호는 명령이 중재기(3026)로부터 전달될 때 발생된다. 도 84a 및 도 84b는 레지스터 제어 회로(3096)의 동작을 도시한다. 시프트 신호 및 전송 금지 신호는 레지스터 제어 회로(3096)에 대한 명령 수신 준비 신호가 비활성화될 때 발생된다. 명령 수신 준비 신호가 비활성화되기 바로 이전에 명령이 중재기(3026)로부터 전달되는 경우에, 명령 수신 준비 신호는 비활성화되지만, 보다 빨리 수신된 명령을 시프트 레지스터(3092)에 전달한 이후에만 시프트 동작을 수행하는 것이 바람직하다. 그 때문에, 명령 수신 준비 신호의 하강 에지와 명령 발생 검출 신호의 상승 에지 중 어느 것이 보다 빠른 지에 관하여 비교가 행해진다. 전자가 더 빠르면, 시프트 신호와 전송 금지 신호가 전자의 하강 에지에 응답하여 발생되고, 후자가 더 빠르면, 시프트 신호와 전송 금지 신호가 후자의 신호의 하강 에지에 응답하여 발생된다.
도 85 및 도86은 명령 레지스터(3025)의 동작을 도시하는 도면이다. 여기에서는 입력 명령이 가장 붐비는 타이밍 조건을 나타내는 Write->Read 명령 전이의 시기에 리프레시 명령이 발생되는 경우를 고려하여 설명한다. 도면에 도시한 SW1 내지 SW3의 수는 접속되어 있는 SW를 나타내고, SW가 접속되어 있는 기간이 설명된다. 또한, 레지스터(1 내지 3)는 각각 레지스터(3085 내지 3087)에 상응한다.
도 87은 실시예에 따라 어드레스 처리에 관련된 부분의 구성을 도시하는 도면이다. 이하, 신호명의 말미에 "P"자를 붙인 신호는 상응하는 신호명의 신호의 상승 에지로부터 행해진 펄스를 갖는 신호를 나타낸다. 도면에 도시한 바와 같이, 어드레스 입력 회로(3034 및 3044)는 각각 입력 버퍼(3057A 및 3057B)와 전송 게이트(3058A 및 3058B)를 포함하고 있다. 또한, 어드레스 레지스터(3019A)와 어드레스 레지스터(3020B)는 어드레스 래치(A1 내지 A4 및 B1 내지 B4), 전송 게이트(3059A 내지 3063A 및 3059B 내지 3063B)를 각각 포함하고 있다. 전송 게이트(3062A, 3062B, 3063A 및 3063B)로부터 공급된 어드레스는 어드레스 버스(3017)를 통하여 DRAM 코어(3011)에 전달된다. 또한, 리프레시 어드레스 카운터/레지스터(3018)로부터 공급된 리프레시 어드레스는 전송 게이트(3064) 및 어드레스 버스(3017)를 통하여 DRAM 코어(3011)에 전달된다.
Read 명령과Write 명령이 장치의 외부로부터 입력되는 경우에, 입력 명령과 함께 동시에 입력 버퍼(3057A 또는 3057B)에 공급된 어드레스는 각각 전송 게이트(3058A 또는 3058B)를 통하여 어드레스 래치(A1 또는 B1)에 전달된다. Read 명령의 경우에, 어드레스는 명령을 DRAM 코어에 전송하는 것과 동기하여 전송 게이트(3061A 내지 3063A 또는 3061B 내지 3063B) 및 어드레스 래치(A4 또는 B4)를 통하여 DRAM 코어(3011)에 전송된다. Write 명령의 경우에, 어드레스는 최종 데이터 획득의 타이밍에 어드레스 래치(A2 또는 B2)에 더 전달되고, 이어서, 명령을 DRAM 코어에 전송하는 것과 동기하여 전송 게이트(3062A 또는 3062B)를 통하여 DRAM 코어(3011)에 전송된다. 또한, 리프레시 어드레스 카운터/레지스터(3018)는 리프레시어드레스를 발생하고 내부에 유지하며, 이어서, 이것은 리프레시 명령을 DRAM 코어에 전송하는 것과 동기하여 전송 게이트(3064)를 통하여 DRAM 코어(3011)에 전달된다.
도 88은 실시예에 따라 출력하는 데이터에 관련된 부분의 구성을 도시하는 도면이다. 도 89는 도 88의 전송 신호 발생 회로를 도시하는 도면이다. A 포트(3030)과 B 포트(3040)의 개개의 데이터 I/O 회로(3033 및 3043)는 각각 데이터 출력용 회로(3065A 및 3065B)와 데이터 입력용 회로(3074A 및 3074B)를 포함하고 있고, 이들에 관하여는 후술한다. 도면에 도시한 바와 같이, 센스 버퍼(3016)를 통하여 메모리 어레이(3012)로부터 판독된 데이터는 각각 데이터 버스(3021)와 전송 게이트(3024A 또는 3024B)를 통하여 데이터 출력용 회로(3065A 또는 3065B)에 전달된다.
데이터 출력용 회로(3065A 또는 3065B)는 데이터 래치(A1 및 B1), 전송 신호 발생 회로(3067A 및 3067B), 전송 게이트(3068A 및 3068B), 데이터 래치(A2 및 B2) 및 출력 버퍼(3071A 및 3071B)를 각각 포함하고 있다.
전송 게이트(3024A 및 3024B)는 내부 동작을 기초로 하여 DRAM 코어(3011)의 제어 회로(3014)에 의하여 제어된다. 실행된 명령이 Read-A(즉, A 포트에 대한 판독 동작)이면, 전송 게이트(3024A)가 개방될 것이다. 실행된 명령이 Read-B이면, 전송 게이트(3024B)가 개방될 것이다. 데이터 래치(A1 및 B1)는 데이터를 내부에 기억하고, 이어서 그 데이터는 미리 결정된 대기 시간에 개개의 데이터 래치(A2 및 B2)에 전달되는데, 그 시기는 이러한 대기 시간이 전송 게이트(3068A 및 3068B)의동작을 통하여 안내되는 개개의 포트에서 Read 명령을 수신한 이후이다. 이어서, 데이터는 병렬 직렬 변환기(3070A 및 3070B)에 의하여 변환되고, 이어서 각각 출력 버퍼(3071A 및 3071B)에 전송되어 그로부터 출력된다.
도 89에 도시한 바와 같이, 전송 신호 발생 회로(3067)(예컨대, 3067A 또는 3067B)는 일련의 플립플롭(3072)를 채용하여 대기 시간 설정에 의하여 판단된 클록 주기수만큼 개개의 Read 명령(RA1 또는 RB1)을 지연시키며, 그 결과, 데이터 전송 신호(3002)를 발생한다. 전송 게이트(3068A 및 3068B)로부터의 판독 데이터의 전송은 데이터 전송 신호(3002)에 응답하므로, 판독 데이터는 대기 시간의 설정과 동등한 클록 주기만큼 판독 동작의 타이밍으로부터 지연되는 것을 끝마친다.
도 90 및 도 91은 실시예에 따라 입력하는 데이터에 관련된 부분의 구성을 도시하는 도면이다. 데이터 입력용 회로(3074A 및 3074B)는 데이터 입력(Din) 버퍼(3075A 및 3075B), 직렬 병렬 변환기(3076A 및 3076B) 및 데이터 전송부(3077A 및 3077B)를 각각 포함하고 있다. 데이터 전송부(3077A 및 3077B)로부터의 기록 데이터(WDA 및 WDB)는 각각 제1Write 데이터 레지스터(3078A 및 3078B), 데이터 전송부(3079A 및 3079B), 제2Write 데이터 레지스터(3080A 및 3080B), 데이터 전송 게이트(3081A 및 3081B) 및 데이터 버스(3021)를 통하여WriteAmp(3015)에 전송되고 메모리 어레이(3012)에 기록된다.
직렬 입력 데이터는 버스트 길이에 따라 직렬에서 병렬로 변환되고, 이어서 최종 데이터 아이템이 입력되는 타이밍에 제1Write 레지스터(3078A 및 3078B)에 전달된다. Write 명령이 명령 레지스터(3025)로부터 DRAM 코어(3011)에 전달될 때,상응하는 데이터는 DRAM 코어(3011)에 전달될 것이다.
도 92 내지 도 99는 제1 실시예의 다중 포트 메모리의 동작을 도시하는 타이밍도이다. 도 92 및 도 93, 도 95 및 도 96, 그리고 도 98 및 도 99는 적절한 설명을 위하여 단일의 타이밍도를, 하나는 타이밍도의 전반을 도시하고 다른 것들은 후반을 도시하되 이들은 일부가 겹치는 도면들이다.
도 92 및 도 93은 두 개의 포트에 Read 명령이 연속해서 입력되는 경우에 수행되는 동작을 도시하고 있다. 주파수가 서로 다른 개개의 클록(CLKA 및 CLKB)가 제공되는 A 포트와 B 포트는 수신된 클록과 동기하여 명령, 어드레스 및 기록 데이터를 받아 들이고, 호출된 데이터를 클록과 동기하여 출력한다. 이 예에서, A 포트는 최대 클록 주파수로 동작하고, B 포트는 약간 낮은 클록 주파수로 동작한다. A 포트의 경우, Read 명령=4(CLKA), 데이터 대기 시간=6 및 버스트 길이=4이다. B 포트의 경우, Read 명령=2(CLKB), 데이터 대기 시간=3 및 버스트 길이=2이다. 데이터 대기 시간과 버스트 길이는 개개의 포트의 모드 레지스터(3031 및 3041)에 설정되어 있다. A 포트에 대하여, 데이터의 입출력은 하나의 명령에 응답하여 클록과 동기로 6 번 수행되고, 호출된 데이터는 판독 명령의 입력 후에 4회의 클록 주기로 출력된다. B 포트에 대하여, 데이터의 입출력은 하나의 명령에 응답하여 클록과 동기로 2 번 수행되고, 호출된 데이터는 판독 명령의 입력 후에 3회의 클록 주기로 출력된다.
포트 A 및 포트 B에 공급된 명령은 각각 명령 레지스터(3028A 및 3028B)에 기억된다. 리프레시 타이머(3051)가 신호를 발생하는 경우에, 리프레시 명령 레지스터(3027)는 내부에 리프레시 명령을 기억한다. 중재기(3026)는 이들 명령 레지스터를 감시하고, 이들 명령을 그들이 발생되는 순서로 명령 레지스터(3025)에 전달한다. 명령 레지스터(3025)는 수신된 명령을 임시적으로 기억하고, 그 명령을 명령이 수신되는 순서로 연속해서 DRAM 코어(3011)에 전송한다. 즉, 다음 명령은 최종 전달된 명령의 처리가 완료된 후에 전달된다.
도면에 도시한 바와 같이, 명령(Read-A2)은 Read 명령 레지스터(AR)로 입력되고, 명령(Read-B2)은 Read 명령 레지스터(BR)로 입력된다. 이것의 이전에, 리프레시가 1회 발생하고, 리프레시 명령은 리프레시 명령 레지스터에 입력된다. 명령 발송의 순서에 따라, 중재기(3026)는 이들 명령을 Read-A2->Ref->Read-B2의 순서로 DRAM 코어(3011)에 전달하고, 이어서 이들 명령은 코어에 의하여 실행된다.
코어 동작에 관하여 Read-B1과 Read-A2 사이에는 여분의 시간이 있고, 정상 동작과 루틴 동작은 이 점까지 수행된다. 리프레시가 발생할 때, Refresh는 시간의 공차가 전혀 없이 Read-A2 이후에 즉시 수행된다. 이후, Read-B2, Read-A3 등은 Read-A5의 실행시까지 시간의 공차가 전혀 없이 연속해서 수행된다.
리프레시 명령의 실행으로 인하여, 내부 동작은 명령이 장치의 외부로부터 입력하는 것에 관하여 약간의 지연을 나타낸다. 고속 동작으로 지연을 만회하고 명령(Read-A5)이 실행되는 시기까지 따라간다. Read-A5 및 Read-B5 사이에는 다시 여분의 시간이 있고, 이는 정상 동작 및 루틴 동작의 복귀를 나타낸다. 센스 버퍼(3016)를 통하여 DRAM 코어(3011)로부터 판독된 데이터는 전송 게이트를 통하여, 상응하는 Read 명령을 수신한 포트의 데이터 래치[데이터 래치(A1 또는 B1)]에전달된다. 데이터 래치(A1 또는 B1)는 데이터를 위한 시간 조절 기능을 제공하고, 그 데이터는 이어서 데이터 래치(A2 또는 B2)에 전송되며, 상응하는 포트의 클록 신호와 동기하여 출력된다.
리프레시 동작이 내부적으로 수행되는 경우에도, 외부적으로는 데이터가 미리 결정된 데이터 대기 시간 이후에 출력되는 것처럼 보인다. 따라서, 리프레시 동작을 전혀 고려하지 않아도 된다.
도 94는 전술한 조건과 동일한 조건 하에서Write 명령이 연속해서 입력되는 예를 도시하고 있다. Write 동작의 타이밍에 장치의 외부로부터 입력된 데이터는 버스트 입력의 형태로 주어진다. Write 명령은 최종 데이터 편이 입력되는 타이밍에Write 명령 레지스터(AW)에 기억된다. 이 경우에도, 리프레시 명령이 발생되어 내부적으로 실행되는 경우라도 리프레시 동작을 전혀 고려할 필요가 없다.
도 95 및 도 96은 A 포트와 B 포트 모두가 최대 클록 주파수로 Read 동작에 대하여 동작하는 경우에 수행되는 동작을 도시하고 있다. 도 97은 A 포트와 B 포트 모두가 최대 클록 주파수로Write 동작에 대하여 동작하는 경우에 수행되는 동작을 도시하고 있다. 이 경우, 양쪽 포트의 클록에는 위상차가 존재할 수 있다. 양쪽 포트에 대하여, Read 명령 주기=4, Write 명령 주기=4, 데이터 대기 시간=6 및 버스트 길이=4이다. 도면으로부터 알 수 있는 바와 같이, 동작은 이 경우에도 적절히 수행된다.
도 98 및 도 99는 양쪽 포트가 최고 주파수로 동작하고 리프레시 명령이 내부적으로 발생될 때Write 명령에서 Read 명령으로의 변경을 수행하는 경우에 수행되는 동작을 도시하는 타이밍도이다. 이것은 명령이 가장 붐비는 경우이다.
설명한 바와 같이, DRAM 코어(3011)는 공차가 전혀 없이 Ref->Write-A1->Write-B1->Read-A2->Read-B2의 순서로 동작한다. 이 예에서, Read-A2 및 Read-B2는 Write 명령의 입력 이후에 6 클록 주기로 입력된다. 이들 타이밍이 2회 클록만큼 앞서 있는 경우에도, DRAM 코어의 내부 동작을 앞설 수는 없다. 판독 데이터의 출력 타이밍은 Read 명령의 입력으로부터의 데이터 대기 시간에 의하여 제어된다. Read-A2 및 Read-B2의 입력 타이밍이 앞선다면, 따라서 데이터 출력 타이밍도 전방향으로 진행할 필요가 있다. 만일 Read-AB2가 Write-B1 이후에 4회의 클록 주기로 입력된다면, 예컨대, Read-B2에 응답하는 데이터 출력 타이밍은 DRAM 코어 동작의 개시에 너무 가까워지므로, Read-B2는 적절히 실행되지 못한다. 이 때문에, Write->Read 전이의 명령 기간은 이 예에서와 같은 6회의 클록 등의 비교적 길게 설정될 필요가 있다.
Read->Write의 명령 기간의 경우, Write 데이터는 Read 데이터의 출력이 완료되지 않으면 DQ 단자에 입력되지 못하므로, 불가피하게 명령 기간은 길어진다.
도 100a 및 도 100b는 DRAM 코어(3011)의 동작을 도시하는 도면이다. 도 100a는 Read 동작을 도시하고, 도 100b는 Write 동작을 도시한다. 도면에 도시한 바와 같이, 일련의 동작은 워드선 선택->데이터 증폭->재기록->프리챠지의 순서로 단일 명령에 응답하여 수행되고, 그 결과, 전체 동작을 완료한다. DRAM 코어(3011)는 명령의 수신시 명령 수신 준비 신호를 비활성화하고, 명령의 실행이 완료되거나 종료에 가까워질 때 명령 수신 준비 신호를 발생한다.
전술한 바와 같이, 본 발명에 의하여, 다중 포트 메모리는 메모리 어레이가 DRAM 코어를 기초로 하여 구성되는 경우에 리프레시 동작을 전혀 고려하지 않아도 이용될 수 있고, 그 결과, 대용량이며 이용이 용이한 다중 포트 메모리를 저비용으로 제공하게 된다.
[발명의 제4 형태]
다음에, 발명의 제4 형태에 관하여 설명한다.
복수 개의 포트가 설치된 반도체 메모리 장치인 다중 포트 메모리는 여러 가지 종류로 분류될 수 있다. 이하에서 사용하는 용어 "다중 포트 메모리"는 복수 개의 포트가 설치되고 여러 포트 중 어느 한 포트에서 공통 메모리 어레이로 액세스가 독립하여 행해질 수 있는 메모리를 일컫는다. 이러한 메모리는 A 포트와 B 포트를 가질 수 있고, 공통 메모리 어레이에 대하여 A 포트에 연결된 CPU로부터 그리고 B 포트에 연결된 CPU로부터 판독/기록 동작이 행해질 수 있게 한다.
다중 포트 메모리에는 중재기라고 하는 중재 회로가 설치된다. 중재기는 복수 개의 포트로부터 수신된 액세스 요구들의 우선 순위를 판단하고, 메모리 어레이의 제어 회로는 판단된 우선 순위에 따라 액세스 동작을 차례 차례로 행한다. 예컨대, 소정의 액세스 요구가 포트에 일찍 도달할수록 그 액세스에 부여되는 우선 순위는 높다.
이러한 경우에, 메모리 어레이는 복수 개의 포트로부터 무작위로 액세스되므로, 판독 엑세스 동작 또는 기록 액세스 동작이 수행되는 바로 이후에 메모리 어레이를 리셋할 필요가 있고, 그 결과, 다음 액세스에 대한 준비를 확실하게 한다.즉, 주어진 포트로부터의 액세스에 응답하여 워드선이 선택 상태를 유지하고, 열 어드레스가 연속해서 시프트되어 일반적으로 DRAM에서 이용되는 열 액세스 동작에서와 같이 연속적인 데이터를 판독하면, 다른 포트로부터의 액세스는 이 동작 동안에 대기 상태를 유지할 것이다. 따라서, 각 판독 동작 또는 기록 동작 바로 이후에 메모리 어레이를 리셋할 필요가 있다.
종래에, 다중 포트 메모리의 메모리 어레이로서는 SRAM이 통상 사용되어 왔다. 그 이유는, SRAM은 고속 랜덤 액세스가 가능하게 비파괴적인 판독 동작이 가능하기 때문이다.
두 개의 포트를 갖는 다중 포트 메모리에 있어서, 하나의 SRAM에는 두 세트의 워드선과 비트선 쌍이 제공된다. 두 개의 포트 중 하나는 한 세트의 워드선과 비트선 쌍을 이용하여 판독/기록 동작을 수행하고, 다른 포트는 다른 세트의 워드선과 비트선 쌍을 이용하여 판독/기록 동작을 수행한다. 이와 같이 하여, 판독/기록 동작은 두 개의 상이한 포트로부터 독립해서 수행될 수 있다. 그러나, 두 개의 포트가 동일한 셀 내의 데이터를 동시에 기록하고자 하는 경우에는 두 개의 기록 동작을 동시에 수행할 수 없기 때문에, 하나의 포트에는 기록 동작을 수행하도록 우선 순위가 부여되고, 다른 포트에는 BUSY 신호가 부여된다. 이를 BUSY 상태라고 부른다.
시스템의 성능 개선이 발전함에 따라, 시스템에 의하여 취급되는 데이터의 량도 증가한다. 그 결과, 다중 포트 메모리는 대용량이 필요하다. 그러나, SRAM형 다중 포트 메모리는 메모리 셀의 크기가 크다는 단점이 있다.
이를 해소하기 위하여, 다중 포트 메모리 내에 DRAM 어레이를 채택하여 신형의 다중 포트 메모리를 제조하는 것을 고려할 수 있다. 다중 포트 SRAM보다 상당히 높은 회로 밀도를 달성하기 위하여, 다중 포트 메모리에 이용되는 하나의 DRAM 메모리 셀은 통상의 DRAM 셀에서와 같이 하나의 워드선과 하나의 비트선에만 접속되어야 한다. 이와 같이 메모리 블록이 DRAM 셀을 이용하여 구성되면, 포트들 중 하나의 포트가 주어진 블록에 대하여 판독 동작 또는 기록 동작을 수행하는 경우에 포트들 중 다른 하나의 포트는 이 포트를 액세스할 수 없다. 그 이유는, DRAM 셀에서는 파괴적인 판독 동작만이 가능하기 때문이다. 즉, 정보가 판독되는 경우에, 동일한 블록 내의 다른 워드선은 이 정보가 증폭되고 셀 내에 재기억되고 워드선과 비트선이 프리챠지될 때까지 선택될 수 없다.
종래의 SRAM형의 다중 포트 메모리에 있어서, BUSY 상태는 복수 개의 포트가 동일한 메모리 셀에 대하여 동시의 기록 요구를 행하는 경우에만 생성될 것이다. 따라서, DRAM형의 다중 포트 메모리에는 종래의 SRAM형 다중 포트 메모리와 상이한 BUSY 상태 제어의 독특한 기능이 제공되어야 한다.
또한, SRAM형 다중 포트 메모리와 달리, DRAM형 다중 포트 메모리는 기억된 정보를 유지하기 위하여 리프레시 동작이 주기적으로 수행되어야 하므로, 적절한 리프레시 타이밍을 보증하도록 몇 가지 기준을 정해야 한다.
따라서, 본 발명은 DRAM과 특히 관련된 문제를 해소하는 DRAM형 다중 포트 메모리를 제공하는 데 목적이 있다.
본 발명에 의하면, 반도체 메모리 장치는, 각각이 명령을 수신하는 N 개의외부 포트, 각 외부 포트에 상응하는 N 개의 버스, N 개의 버스에 접속된 복수 개의 메모리 블록, N 개의 각 외부 포트에 입력된 명령이 액세스할 어드레스들을 비교하는 어드레스 비교 회로, 및 동일한 메모리 블록을 액세스하는 복수 개의 명령 중에 어느 명령(들)이 실행될지와 어드레스 비교를 기초로 하여 어드레스 비교 회로가 동일한 메모리 블록에 대한 액세스를 검출할 때 동일한 메모리 블록을 액세스하는 복수 개의 명령 중에 어느 명령(들)이 실행되지 않아야 할지를 판단하는 중재 회로를 포함하고 있다.
전술한 발명에 있어서, 장치의 외부로부터 포트에 입력된 명령들이 동일한 메모리 블록을 액세스하고자 하면, 중재 회로는 어느 명령이 실행되어야 하고 어느 명령이 실행되지 않아야 할지를 판단한다. 예컨대, 명령 타이밍들이 비교되어, 가장 빠른 명령이 실행되고 다른 명령(들)은 실행되지 않는다. 실행되지 않는 명령이 있는 경우에, BUSY 신호 등이 발생되어 장치의 외부에 출력된다. 이에 의하여, DRAM 코어 기반의 다중 포트 메모리 내에서 명령 액세스들이 서로 충돌이 있더라도 적절한 액세스 동작을 수행하고 적절한 BUSY 제어를 달성할 수 있게 된다.
본 발명의 한 형태에 의하면, 메모리 블록은 다이내믹형 메모리 셀을 기초로 하여 구성된 셀 어레이를 포함하고, 반도체 메모리 장치는 메모리 셀이 리프레시되는 타이밍을 정하는 리프레시 회로를 포함한다. 메모리 셀은 N 개의 외부 포트 중 적어도 하나에 입력되는 리프레시 명령에 응답하여 제1 모드로 리프레시되고, 메모리 셀은 리프레시 회로에 의하여 표시된 타이밍에 제2 모드로 리프레시된다.
전술한 발명에는 장치의 외부로부터의 지시에 응답하여 리프레시 동작을 수행하기 위한 동작 모드와 내부 리프레시 회로로부터의 지시에 응답하여 리프레시 동작을 수행하기 위한 동작 모드가 제공된다. 이에 의하여, 일정한 기간에 리프레시 명령을 수신하도록 미리 결정된 외부 포트가 리프레시 관리용 포트로서 할당되는 방식으로 다중 포트 메모리를 이용하거나, 모든 외부 포트가 비활성 상태에 있을 때 내부 리프레시 회로가 리프레시 동작을 개시하는 방식으로 다중 포트 메모리를 이용하게 할 수 있다. 따라서, 본 발명은 시스템의 요구 조건에 맞는 유연한 리프레시 관리의 기초를 제공ㅎ나다.
다음에, 첨부 도면을 참조하여 본 발명의 실시예(제5 형태)를 설명한다.
도 101은 본 발명에 따른 다중 포트 메모리의 실시예를 도시하는 블록도이다. 이 예에서는 두 개의 포트, 즉 A 포트와 B 포트가 설치되도록 구성된다.
도 101의 다중 포트 메모리(4010)는, A 포트(4011), B 포트(4012), 자기 리프레시 회로(4013), 메모리 블록(4014-1 내지 4014-n), 중재기(4015), 리프레시 어드레스 카운터(4016), 어드레스 변경 회로(4017), 어드레스 변경 회로(4018), 어드레스 비교기(4019), 버스 A(4020-1) 및 버스 B(4020-2)를 포함하고 있다.
A 포트(4011)는 모드 레지스터(4031),(CLK 버퍼(4032), 데이터 I/O 회로(4033), 명령 복호기 레지스터(4034), 어드레스 버퍼/레지스터(4035) 및 BUSY 신호 I/O부(4036)를 포함하고 있다. 또한, B 포트(4012)는 모드 레지스터(4041),(CLK 버퍼(4042), 데이터 I/O 회로(4043), 명령 복호기 레지스터(4044), 어드레스 버퍼/레지스터(4045) 및 BUSY 신호 I/O부(4046)를 포함하고 있다. A 포트(11)와 B 포트(12)에서, 외부 버스로(부터)의 액세스는 개개의클록 신호(CLKA 및 CLKB)와 동기하여 독립적으로 달성된다. 모드 레지스터(4031 및 4041)는 개개의 포트에 대하여 데이터 대기 시간과 버스트 길이 등의 모드 설정을 내부에 기억할 수 있다. 이 실시예에서, A 포트(4011)와 B 포트(4012) 모두에는 개개의 모드 레지스터가 설치되므로, 각 포트는 모드 설정을 행할 수 있다. 그러나, 모드 레지스터는 예컨대 하나의 포트에 대한 설정을 행함으로써 양쪽 포트에 대한 설정을 행할 수 있도록 이 하나의 포트에만 배치되어도 된다.
자기 리프레시 회로(4013)는 리프레시 타이머(4046)와 리프레시 명령 발생기(4047)를 포함하고 있다. 자기 리프레시 회로(4013)는 장치의 내측에서 리프레시 명령을 발생하고, A 포트(4011)와 B 포트(4012)로부터 각각 신호(CKEA1 및 CKEB1)를 발생한다. 신호(CKEA1 및 CKEB1)는(CLK 버퍼(4032 및 4042)에 의하여 외부 신호(CKEA 및 CKEB)를 버퍼링함으로써 얻는다. 외부 신호(CKEA 및 CKEB)는 개개의 포트의 클록 버퍼를 정지시키고 개개의 포트를 비활성화시키는 데 이용된다. A 포트(4011)와 B 포트(4012) 모두가 비활성 상태로 되면, 자기 리프레시 회로(13)는 동작을 개시한다.
메모리 블록(4014-1 내지 4014-n)은 각각 내부 버스 A(4020-1)와 내부 버스 B(4020-2)에 접속된다. 외부 포트는 복수 개(즉, A 포트와 B 포트)가 있고, 여기에서, A 포트(4011)는 버스 A(4020-1)를 통하여 각 메모리 블록(4014-1 내지 4014-n)과 인터페이스하고, B 포트(4012)는 버스 A(4020-2)를 통하여 각 메모리 블록(4014-1 내지 4014-n)과 인터페이스한다.
A 포트(4011)로부터의 액세스와 B 포트(4012)로부터의 액세스가 동시에 입력되면, 액세스된 메모리 블록은 이들 액세스가 다른 메모리 블록을 향할 때 이들 액세스 요구에 상응하는 동작을 독립적으로 수행한다.
A 포트(4011)로부터의 액세스와 B 포트(4012)로부터의 액세스가 동일한 메모리 블록을 향하면, 중재기(중재 회로)(4015)는 명령 도달 순서를 판단하여, 첫 번째 도달 명령을 실행하고 두 번째 도달 명령을 취소한다. 명령이 취소되는 경우에, 중재기(4015)는 BUSY 신호를 발생하여, 두 번째 도달 명령에 의하여 요구된 액세스가 취소되었음을 외부 제어기에 통보한다.
어드레스 비교기(4019)는 두 개의 포트에 입력된 액세스 요구가 동일한 메모리 블록으로 향하는 지를 판단한다. 상세하게는, 어드레스 비교기(4019)는 두 개의 포트에 입력된 어드레스들에 포함되어 있는 블록 선택 어드레스들을 비교한다. 그들 어드레스가 동일하면, 일치 신호가 중재기(4015)에 공급된다.
A 포트(4011) 또는 B 포트(4012)가 활성 상태인 경우에, 리프레시 명령이 A 포트(4011) 또는 B 포트(4012)로부터 입력된다.
두 개의 포트 중 다른 포트에 입력되는 판독 명령 또는 기록 명령이 행하는 것과 같이 동일한 메모리 블록을 두 개의 포트 중 하나의 포트에 입력된 리프레시 명령이 액세스하면 중재기(4015)는 명령 도달 순서를 판단한다. 리프레시 명령이 다른 명령보다 늦으면, 리프레시 명령은 취소된다. 이 경우, 중재기(4015)는 BUSY 신호를 발생하고, 그 신호를 장치의 외부에 공급한다. BUSY 신호의 검출시, 외부 제어기는 BUSY 신호가 소멸된 이후에 다시 리프레시 명령을 다중 포트 메모리(4010)에 제공한다.
리프레시 명령이 다른 명령보다 빠르거나 자기 리프레시 명령이 자기 리프레시 회로(4013)에 공급되면, 중재기(4015)는 카운트업 신호를 발생하고, 그 신호를 리프레시 어드레스 카운터(4016)에 공급한다.
리프레시 어드레스 카운터(4016)는 카운트업 신호에 응답하여 어드레스를 상향 계수(카운트업)하고, 그 결과, 리프레시 어드레스를 발생한다. 카운트업 신호가 중재기(4015)로부터 공급될 필요가 있는 이유는, 전술한 바와 같이 리프레시 명령이 취소될 수 있으므로 카운트업 동작은 중재기(4015)로부터 실제로 발송된 리프레시 명령에만 응답하여야 하기 때문이다. 여기에서, 카운트업 동작은 리프레시 동작이 수행된 이후에 수행된다.
A 포트(4011)에 입력된 명령이 Read 명령(독출 명령) 또는 Write 명령(기록 명령)이면 어드레스 변경 회로(4017)는 A 포트(4011)에 외부 입력된 어드레스를 버스 A(4020-1)에 전송한다. A 포트(4011)에 입력된 명령이 리프레시 명령이면, 리프레시 어드레스 카운터(4016)에 의하여 발생되는 어드레스는 버스 A(4020-1)에 전달된다.
B 포트(4012)에 입력된 명령이 Read 명령(독출 명령) 또는 Write 명령(기록 명령)이면 어드레스 변경 회로(4018)는 B 포트(4012)에 외부 입력된 어드레스를 버스 B(4020-2)에 전송한다. 반면에, B 포트(4012)에 입력된 명령이 리프레시 명령이면, 리프레시 어드레스 카운터(4016)에 의하여 발생되는 어드레스는 버스 B(4020-2)에 전달된다.
전술한 바와 같이, A 포트(4011)와 B 포트(4012) 모두가 비활성 상태에 있으면, 자기 리프레시 회로(4013)는 내부 회로로서 제공된 리프레시 타이머(46)의 타이밍 신호를 기초로 하여 리프레시 명령을 발생한다. 이 실시예에서, 자기 리프레시 명령과 자기 리프레시 어드레스는 버스 A(4020-1)를 통하여 메모리 블록(4014-1 내지 4014-n)에 전달된다. 자기 리프레시는 A 포트(4011)와 B 포트(4012)의 명령들과 충돌하지 않으므로, 중재기(4015)가 우선 순위를 판단할 필요가 없다. 그러나, 카운트업 신호는 중재기(4015)에 의하여 발생되어야 하므로, 자기 리프레시 명령은 중재기(4015)에 공급된다.
도 102는 본 발명에 따른 다중 포트 메모리(4010)의 동작의 예를 도시하는 도면이다.
명령(Read-x)은 메모리 블록[4014-(x+1)]으로 향한다. Read-0은 먼저 A 포트(4011)에 입력되고, 이어서 Read-3은 B 포트(4012)에 입력된다. 이 경우, 액세스될 메모리 블록은 상이하므로, 메모리 블록(4014-1)과 메모리 블록(4014-4)은 병렬로 동작한다.
이후, Read-1은 A 포트(4011)에 입력되고, 이어서 Read-1은 B 포트(4012)에 입력된다. 이 경우에는 액세스될 메모리 블록들이 동일하므로, 일치 신호가 발생되어, B 포트(4012)에 입력되는 명령을 취소한다. 또한, BUSY-B[부(負)논리]는 B 포트(4012)의 BUSY 신호 I/O부(4046)로부터 출력된다.
B 포트(4012)의 외부 제어기는 BUSY-B를 검출하고, Read-1이 소멸된 이후에 Read-1을 다시 다중 포트 메모리(4010)에 공급한다.
도 103은 본 발명에 따른 다중 포트 메모리(4010)의 동작의 다른 예를 도시하는 타이밍도이다.
도 103에 도시한 동작은, 두 번째 명령(Read-1)이 A 포트(4011)와 B 포트(4012)에 입력되어 BUSY-B를 발생할 때까지는 도 102의 동작과 동일하다. 이 예에서 B 포트(4012)에 입력된 Read-1에 응답하여 BUSY-B가 발생한 이후에, 판독 명령(Read-2)은 BUSY-B가 종료되기 이전에 다른 메모리 블록을 액세스하도록 입력된다. 이와 같이 하여, 다음 명령이 다른 블록으로 향하는 한 BUSY가 확인되는 기간 중에도 상기 다음 명령이 입력될 수 있다.
도 104는 본 발명에 따른 다중 포트 메모리(4010)의 동작의 또 다른 예를 도시하는 타이밍도이다.
도 104의 예는 Write 명령이 입력되는 경우를 도시하고 있다. Read 명령이 A 포트(4011)에 입력되고, 이어서Write 명령이 B 포트(4012)에 입력된다.
이 실시예에서, 입출력 데이터는 버스트형이다. 즉, 데이터 입력은 복수 개의 열 어드레스로부터의 병렬 데이터를 판독함으로써 그리고 그 병렬 데이터를 데이터 출력시에 데이터 I/O 회로(4033 및 4043)에서 직렬 데이터로 변환함으로써 얻는다. 데이터 입력은 직렬로 입력되고, 이어서 데이터 I/O 회로(4033 및 4043)에서 병렬 데이터로 변환되며, 이어서 병렬 데이터를 해당 메모리 블록의 복수 개의 열 어드레스에 기록한다. 이러한 종류의 버스트 동작을 이용하면 데이터 전송 속력이 향상될 수 있다. 이 예에서, 버스트 길이는 4이므로, 네 개의 데이터 아이템은 연속해서 입출력된다.
Write 동작의 경우에, Write 동작은 네 개의 모든 데이터 아이템이 입력되지않으면 개시되지 않는다. 따라서, 중재기(4015)가 Write 동작에 대한 우선 순위를 판단할 수 있는 타이밍은 일련의 직렬 데이터 입력의 최종 아이템이 제공되는 타이밍이다.
도 104에서, A 포트(4011)의 세번째 명령 입력(Read-3)과 B 포트(4012)의 두 번째 명령 입력은 동일한 메모리 블록을 액세스하고자 시도한다. B 포트(4012)의Write-3은 명령이 포트에 입력하는 입력 타이밍에 있어서 다른 것에 앞서 있지만, A 포트(4011)의 Read-3은 기록 데이터의 최종 아이템이 입력되기 이전에 제공된다. 따라서, A 포트(4011)의 명령은 다른 것들에 앞서 있고, B 포트(4012)의 명령을 취소한다.
도 101에 도시한 바와 같이, A 포트(4011)와 B 포트(4012)에는 각각(CLK 버퍼(4032 및 4042)가 설치되고, 장치의 외부로부터 상이한 클록 신호들을 수신한다. 그들 클록 신호는 동일할 수도 있고 상이할 수도 있는 위상과 주파수를 갖는다.
도 105는 명령 복호기 레지스터(4034 및 4044)의 블록도이다.
명령 복호기 레지스터(4034)는 입력 버퍼(4061), 명령 복호기(4062) 및 (n-1)-클록-지연 회로(4063)를 포함하고 있다. 명령 복호기 레지스터(4044)는 입력 버퍼(4071), 명령 복호기(4072) 및 (n-1)-클록-지연 회로(4073)를 포함하고 있다.
입력 버퍼(4061 또는 4071)에 입력된 명령이 Read 명령(RA1, RB1) 또는 리프레시 명령(REFA, REFB)이면, 입력 명령은 타이밍 조작이 전혀 없이 명령 복호기(4062 또는 4072)를 통하여 중재기(4015)에 전달되다. Write 명령(WA1, WB1)의 경우에, 입력 명령은 (n-1)-클록-지연 회로(4063 또는 4073)에 의하여 (n-1)회의 클록 주기 지연되고, 일련의 버스트 기록 입력에 있어서의 최종 및 n번째 데이터 아이템이 제공되는 타이밍에 중재기(4015)에 전달된다.
도 106은 본 발명의 실시예에 따른 중재기(4015)의 블록도이다.
중재기(4015)는 레지스터(4081), 지연 회로(4082), 전송 게이트(4083), 레지스터(4084), 레지스터(4085), 지연 회로(4086), 전송 게이트(4087), 레지스터(4088), NOR 회로(4091 및 4092), NAND 회로(4093 내지 4096), 인버터(97 내지 101) 및 NOR 회로(102 및 103)을 포함하고 있다.
명령 복호기 레지스터(4034 또는 4044)로부터 전달된 명령은 각각 레지스터(4081 또는 4085)에 기억된다. A 포트(4011)에 명령 입력이 제공될 때, 인버터(4097)의 출력인 노드(N1)에서 HIGH 신호가 발생된다. B 포트(4012)에 명령 입력이 제공될 때, 인버터(1007)의 출력인 노드(N2)에서 HIGH 신호가 발생된다. N1의 신호 또는 N2의 신호 중 보다 빠른 것이 노드(N3 또는 N4)에 래치된다.
블록 선택 어드레스들이 A 포트(4011)와 B 포트(4012) 사이에 일치하지 않으면, 어드레스 비교기(4019)는 LOW인 일치 신호를 발생한다. 따라서, 이 경우에, N5 및 N6은 HIGH로 설정된다. 이 HIGH 신호에 응답하여, 전송 게이트 A(4083)와 전송 게이트 B(4087) 모두는 개방되므로, 레지스터(4081 및 4085)의 명령은 예외 없이 레지스터(4084 및 4088)에 전달된다.
블록 선택 어드레스들이 A 포트(4011)와 B 포트(4012) 사이에 일치하면, 어드레스 비교기(4019)는 HIGH인 일치 신호를 발생한다. 따라서, 이 경우에, N5 및 N6의 신호 레벨은 노드(N3 및 N4)의 신호 레벨에 의하여 제어될 것이다. A포트(4011)가 보다 빠르면, N5는 HIGH로 설정되고, N6은 LOW로 설정된다. N5의 HIGH 상태에 응답하여, 전송 게이트 A(4083)가 개방되므로, A 포트(4011)의 명령은 레지스터(4084)에 전달된다. 또한, N6의 LOW 상태는 전송 게이트 B(4087)를 폐쇄시키므로, B 포트(4012)의 명령은 레지스터(4088)에 전달된다.
또한, N5 및 N6의 신호 레벨을 기초로 하여, 개개의 레지스터(4081 및 4085)를 리셋시키는 리셋 신호(BUSY1-A 및 BUSY1-B)가 발생된다. A 포트(4011)의 명령이 선택되면, 예컨대 BUSY1-B가 발생되고 레지스터(4085)는 리셋된다.
자기 리프레시 명령을 위한 우선 순위를 판단할 필요가 없고, 자기 리프레시 명령은 레지스터(4084)의 출력단에서 A 포트(4011)의 리프레시 명령(REFA)과 조합된다. A 포트(4011)에 대하여 이와 같이 생성된 리프레시 명령 신호(REFA2)는 카운트업 신호를 발생하도록 B 포트(4012)의 리프레시 명령 신호(REFB2)와 조합된다. 리프레시 명령의 발생에 응답하여, 카운트업 신호는 중재기(4015)로부터 리프레시 어드레스 카운터(4016)에 공급된다.
도 107은 중재기(4015)의 동작을 도시하는 타이밍도이다.
도 107은, 블록 선택 어드레스들이 A 포트(4011)와 B 포트(4012) 사이에 일치하고, A 포트(4011)의 Read 명령(RA1)이 B 포트(4012)의 Read 명령(RB1)보다 빠른 경우를 도시하고 있다. 전술한 바와 동일하게, 노드(N5 및 N6)의 신호 레벨은 노드(N1 및 N2)의 신호 레벨을 반영하는 노드(N3 및 N4)의 신호 레벨에 의하여 제어되고, 따라서 Read 명령(RA2)은 중재기(4015)로부터 전달된다. B 포트(4012)의 Read 명령은 출력되지 않고 취소되며, BUSY1-B 신호가 발생된다.
도 108은 어드레스 버퍼/레지스터 및 어드레스 변경 회로의 블록도이다.
도 108에서, 신호명(예컨대,(RA)1)의 말미에 "P"자가 붙은 신호명(예컨대,(RA)1P)을 갖는 신호는 P자 없는 신호명(예컨대,(RA)1)을 갖는 신호의 상승 에지 타이밍에서 펄스를 생성함으로써 발생된다.
A 포트(4011)의 어드레스 버퍼/레지스터(4035)는 입력 버퍼(4035-1), 전송 게이트(4035-2) 및 OR 회로(4035-3)를 포함하고 있다. 도 105에 도시한 명령 복호기(4062)로부터 출력된 판독 명령 신호(RA1)에 대하여, 상승 에지는 펄스로 변환되어, 펄스 신호(RA1P)를 발생하고, 이어서 이 펄스 신호는 OR 회로(4035-3)의 한쪽 입력부에 공급된다. 도 105에 도시한 명령 복호기(4062)로부터 출력된 기록 명령 신호(WA1)에 대하여, 상승 에지는 펄스로 변환되어, 펄스 신호(WA1P)를 발생하고, 이어서 이 펄스 신호는 OR 회로(4035-3)의 다른쪽 입력부에 공급된다. OR 회로(4035-3)의 출력은 데이터 전송을 지시하는 전송 방향 신호로서 전송 게이트(4035-3)에 공급된다.
B 포트(4012)의 어드레스 버퍼/레지스터(4045)는 입력 버퍼(4045-1), 전송 게이트(4045-2) 및 OR 회로(4045-3)를 포함하고 있다. B 포트(4012)의 어드레스 버퍼/레지스터(4045)의 구성은 A 포트(4011)의 어드레스 버퍼/레지스터(4035)의 구성과 동일하다.
어드레스 변경 회로(4017)는 어드레스 래치(4017-1), 전송 게이트(4017-2 및 4017-3), 어드레스 래치(4017-4), 및 OR 회로(4017-5 및 4017-6)를 포함하고 있다. OR 회로(4017-5)는 신호(RA1P 및 WAD1P)를 수신하고, 그의 출력은 전송 지시 신호로서 전송 게이트(4017-2)에 공급한다. OR 회로(4017-6)는 신호(REFAP 및 SR-AP)를 수신하고, 그의 출력은 전송 지시 신호로서 전송 게이트(4017-3)에 공급한다.
어드레스 변경 회로(4018)는 어드레스 래치(4018-1), 전송 게이트(4018-2 및 4018-3), 어드레스 래치(4018-4), 및 OR 회로(4018-5)를 포함하고 있다. OR 회로(4018-5)는 신호(RB1P 및 WBD1P)를 수신하고, 그의 출력은 전송 지시 신호로서 전송 게이트(4018-2)에 공급한다. 또한, 신호(REFBP)는 전송 지시 신호로서 전송 게이트(4018-2)에 공급된다.
Read 명령 또는 Write 명령이 장치의 외부로부터 입력되는 경우에, 그 명령과 함께 입력되는 어드레스는 어드레스 변경 회로(4017 또는 4018)에 전달된다. Read 명령의 경우에, 명령은 타이밍 조작이 전혀 없이 어드레스 래치(4017-4 또는 4018-4)에 전달된다. Write 명령의 경우에, 명령은 일련의 기록 데이터 입력의 최종 아이템이 획득되는 타이밍에 어드레스 래치(4017-4 또는 4018-4)에 전달된다.
리프레시 명령의 경우에, 리프레시 어드레스 카운터(4016)에 의하여 발생된 리프레시 어드레스는 신호(REFA, REFB 또는 SR-A)의 타이밍에 어드레스 래치(4017-4 또는 4018-4)에 전달된다.
도 109는 메모리 블록의 블록도이다.
도 109는 메모리 블록(4014-1 내지 4014-n)의 일 예로서 메모리 블록(4014-1)을 도시하고 있다. 메모리 블록들(4014-1 내지 4014-n)은 동일한 구성이다.
메모리 블록(4014-1)은 메모리 어레이(4111), 제어 회로(4112), 버스 선택기(4113), 센스 증폭기 버퍼(4115) 및 기록 증폭기(4116)를 포함하고 있다. 메모리 어레이(4111)는 DRAM 메모리 셀, 셀 게이트 트랜지스터, 워드선, 비트선, 센스 증폭기, 열 선, 열 게이트 등을 포함하고 있고, 판독 동작과 기록 동작을 위한 데이터를 기억한다. 제어 회로(4112)는 메모리 블록(4014-1)의 동작을 제어한다. 기록 증폭기(4116)는 메모리 어레이(4111)에 기록될 데이터를 증폭한다. 센스 버퍼(4115)는 메모리 어레이(4111)로부터 판독된 데이터를 증폭한다.
제어 회로(4112)는 버스 A(4020-1) 및 버스 B(4020-2)에 접속되고, 그 자신의 블록에 상응하는 해당 블록 선택 어드레스에 응답하여 선택된다. 선택되면, 제어 회로(4112)는 해당 블록 선택 어드레스를 발송한 버스들 중 하나의 버스로부터 명령을 획득한다. 버스 A(4020-1)의 명령이 획득되면, 버스 선택기(4113)는 버스 A(4020-1)의 어드레스 신호를 메모리 어레이(4111)에 송신하도록 제어된다. 또한, 버스 선택기(4114)는 센스 버퍼(4115) 또는 기록 증폭기(4116)를 버스 A(4020-1)의 데이터선에 접속하도록 제어된다. 버스 B(4020-2)의 명령이 획득되면, 버스 선택기(4113)는 버스 B(4020-2)의 어드레스 신호를 메모리 어레이(4111)에 송신하도록 제어된다. 또한, 버스 선택기(4114)는 센스 버퍼(4115) 또는 기록 증폭기(4116)를 버스 B(4020-2)의 데이터선에 접속하도록 제어된다. 제어 회로(4112)에 의하여 획득된 명령이 리프레시 명령이면, 버스 선택기(114)는 동작될 필요가 없다.
버스들 중 하나의 버스는 전술한 바와 같이 선택되고, 이어서, 워드선 선택, 셀 데이터 증폭, Read, Write 및 Refresh 중 어느 하나 및 프리챠지 동작은 일련의 연속 동작으로서 계속해서 수행된다.
도 110a 및 도 110b는 메모리 블록의 동작을 도시하는 타이밍도이다.
도 110a는 판독 동작의 경우를 도시하고, 도 110b는 기록 동작의 경우를 도시한다. 도 110a 및 도 110b에 도시한 동작 타이밍에서, 워드선 선택, 데이터 증폭, 판독 동작 또는 기록 동작 중 어느 하나, 재기록(데이터 재기억) 동작 및 프리챠지 동작은 단일의 명령에 응답하여 계속해서 수행되고, 그 결과, 요구된 동작을 완료한다.
본 발명(제4 형태)에 있어서, 장치의 외부로부터 포트로 입력된 명령이 동일의 메모리 블록을 액세스하려고 시도한다면, 중재 회로는 여러 명령들 중 어느 명령이 실행되어야 할지와 여러 명령들 중 어느 명령이 실행되지 않아야 할지를 판단한다. 예컨대, 명령 타이밍들이 비교되어, 가장 빠른 명령이 실행되고 다른 명령(들)은 실행되지 않는다. 실행되지 않는 명령이 있는 경우에, BUSY 신호 등이 발생되어 장치의 외부에 출력된다. 이에 의하여, 명령 액세스들이 DRAM 코어 기반의 다중 포트 메모리에서 서로 충돌하는 경우에도 적절한 액세스 동작을 수행하고 적절한 BUSY 제어를 달성할 수 있게 된다.
또한, 본 발명에는 장치의 외부로부터의 지시에 응답하여 리프레시 동작을 수행하기 위한 동작 모드와 내부 리프레시 회로로부터의 지시에 응답하여 리프레시 동작을 수행하기 위한 동작 모드가 제공된다. 이에 의하여, 일정한 기간에 리프레시 명령을 수신하도록 미리 결정된 외부 포트를 리프레시 관리용 포트로서 할당하는 방식으로 다중 포트 메모리를 이용하거나, 모든 외부 포트가 비활성 상태에 있을 때 내부 리프레시 회로가 리프레시 동작을 개시하는 방식으로 다중 포트 메모리를 이용할 수 있게 된다. 따라서, 본 발명은 시스템의 요구 조건에 맞는 유연한 리프레시 관리의 기초를 제공한다.
[본 발명의 제5 형태]
다음에, 본 발명의 제5 형태에 관하여 설명한다.
다중 포트 메모리들은 두 개 또는 그 이상의 입출력 단자 세트를 가지며(즉, 복수 개의 입출력 포트), 수신된 신호들에 응답하여 메모리 동작을 수행한다. 통상의 메모리들과 달리, 판독 동작 및 기록 동작이 동시에 실행될 수 있다. 예컨대, 시스템 내에 복수 개의 버스가 존재하고, 복수 개의 제어기(CPU 등)가 상기 개개의 버스들을 이용할 필요가 있는 경우, 시스템은 다중 포트 메모리의 입출력 포트들을 개개의 버스에 접속하게 실시될 수 있다. 이에 의하여, 특별히 설계된 제어 논리 회로(FIFO 논리 회로 등)를 사용할 필요가 없어지게 된다.
또한, 다중 포트 메모리는 영상 메모리(일반적으로, 이중 포트 리포트 메모리)로 사용하기 위하여 개발된다. 영상 메모리는, 그 포트들을 통하여 임의의 메모리 셀로의 액세스가 가능하도록 하는 랜덤 액세스 포트들, 및 영상표시 장치와 데이터를 교환하는 직렬 액세스 포트를 가진다.
이러한 종류의 다중 포트 메모리는 메모리 셀 영역에 SRAM 메모리 코어나 또는 DRAM 메모리 코어를 채용한다.
그러나, 다중 포트 메모리는 아직까지는 각각의 입출력 포트에서 서로 다른 클록 신호들을 수신하며, 위의 클록 신호들과 동기하여 메모리 셀 영역의 하나로 액세스하도록 개발되어야만 한다. 즉, 회로의 세부적 구현 및 이러한 종류의 클록-동기된 다중 포트 메모리를 어떻게 제어하여야 하는지가 아직 알려지지 않고 있다.
더욱이, 통상의 다중 포트 메모리(특히, 이중 포트 메모리)에서는, 입출력 포트들의 각각의 세트를 위한 비트선 및 센스 증폭기가 개별적으로 제공된다. 따라서, 메모리 코어의 레이아웃 크기가 커지는 문제가 있으며, 그에 의하여 바람직하지 못하게도 다중 포트 메모리의 칩 크기가 커지는 문제가 있다.
따라서, 본 발명은 랜덤 액세스가 이루어질 수 있도록 하는 클록-동기된 다중 포트 메모리를 제공하는 것을 목적으로 한다.
본 발명은 입출력 포트들의 각각의 세트에서 서로 다른 클록 신호들을 수신하여 신뢰성 있게 동작하는 다중 포트 메모리를 제공하는 것을 다른 목적으로 한다.
본 발명은 또한, 다른 입출력 포트들의 상태에 관계없이 언제나 명령 신호를 수신하여 메모리 코어를 구동할 수 있는 다중 포트 메모리를 제공하는 것을 또 다른 목적으로 한다.
본 발명은 칩 크기가 축소된 소형의 다중 포트 메모리를 제공하는 것을 또 다른 목적으로 한다.
본 발명의 제5 형태에 의하면, 복수 개의 메모리 코어의 일부는 복수 개의 입출력 포트들로 공급되는 클록 신호와 어드레스 신호를 기초로 동작한다. 각각의 입출력 포트들은, 클록 신호를 수신하는 클록 단자, 위의 클록 신호와 동기되어 제공되는 어드레스 신호들을 수신하는 어드레스 단자들, 및 데이터 신호들의 입출력을 위한 데이터 입출력 단자들을 포함한다. 제어 회로들이 각각의 메모리 코어들을위해 제공된다.
동일한 메모리 코어를 나타내는 어드레스 신호들이 둘 또는 그 이상의 입출력 포트들로 제공되는 경우, 제어 회로는 메모리 코어가 첫 번째로 수신된 어드레스 신호들에 응답하여 동작하도록 한다. 즉, 메모리 동작은 어드레스 신호를 첫 번째로 수신하는 입출력 포트에 대하여 수행된다. 메모리 코어들은 각각의 센스 증폭기 영역들에 상응하도록 형성되는데, 여기에서 센스 증폭기 영역이란 센스 증폭기들이 함께 동작하는 일정한 영역을 말한다. 메모리 코어는 어드레스 신호들의 상위 부분에 의하여 선택된다. 메모리 코어의 메모리 셀들은 어드레스 신호들의 하위 부분에 의하여 선택된다. 어드레스 신호들의 하위 부분에 의하여 선택되는 메모리 셀들의 데이터 신호들은, 첫 번째로 도달된 어드레스 신호들의 상위 부분에 상응하는 입출력 포트를 통하여, 장치의 외부에서 입력되거나 또는 외부로 출력된다.
위의 제어 회로는 단지 어드레스 신호들을 비교하는 것만이 필요하기 때문에, 단순한 회로로써 구현될 수 있다. 이는 칩 크기의 감소에 기여하게 된다.
각각의 입출력 포트가 클록 단자를 가지고 있기 때문에, 클록 신호의 주파수는 각각의 입출력 포트에 대하여 개별적으로 제어될 수 있다. 즉, 다른 동작 주파수들을 가진 복수 개의 제어기들이 다중 포트 메모리에 접속될 수 있다.
본 발명의 다중 포트 메모리에서, 어드레스 신호를 포착하기 위해 사용되는 클록 신호의 특정한 에지에 대하여 소정의 설정 시간 이전에, 어드레스 신호들이 정하여 진다. 위의 제어 회로는 이러한 클록 신호의 특정한 에지 이전에 결정되는 어드레스 신호들을 사용하여 어드레스 신호들의 도달 순서를 결정한다. 따라서, 어드레스 신호 도달의 순서는 첫 번째로 수신된 클록 신호의 에지를 이용하여 결정될 수 있다. 그에 따라, 메모리 코어의 동작 개시 이전에, 우선 순위를 가지는 입출력 포트를 식별할 수 있으며, 그에 의하여 고속 메모리 동작이 가능하다. 어드레스 신호들이 미리 결정된 타이밍(즉, 클록 신호의 에지)에서 비교되기 때문에, 메모리 동작과 관계없는 어드레스 신호들의 잘못된 비교를 방지할 수 있다.
본 발명에 의하면, 다수 메모리 코어들의 일부는 복수 개의 입출력 포트들로 제공되는 클록 신호들과 어드레스 신호들을 기초로 동작한다. 각각의 입출력 포트들은 클록 신호를 수신하는 클록 단자, 위의 클록 신호와 동기되어 공급되는 어드레스 신호들을 수신하는 어드레스 단자들, 및 데이터 신호들의 입출력을 위한 데이터 입출력 단자들을 가진다. 제어 회로들이 각각의 메모리 코어들을 위해 제공된다.
동일한 메모리 코어를 나타내는 어드레스 신호들이 둘 또는 그 이상의 입출력 포트들로 제공되는 경우, 제어 회로는 메모리 코어가 첫 번째로 수신된 어드레스 신호들에 응답하여 동작하도록 한다. 이후에, 위의 제어 회로는 위의 어드레스 신호들이 수신된 순서에 따라서, 어드레스 신호들에 응답하여 메모리 코어가 동작하도록 한다. 위의 어드레스 신호들의 상위 부분에 의하여 메모리 코어가 선택된다. 메모리 코어의 메모리 셀들은 위의 어드레스 신호들의 하위 부분에 의하여 선택된다. 어드레스 신호의 하위 부분에 의하여 선택된 메모리 셀들의 데이터 신호들은, 각각의 어드레스 신호들에 상응하는 입출력 포트들을 통하여, 순차적으로 장치의 외부로부터 입력되거나 외부로 출력된다. 따라서, 메모리의 동작 요구을 수신하는 모든 입출력 포트들에 대하여 메모리의 동작이 예외 없이 수행된다.
즉, 다중 포트 메모리는 항상 준비 상태에 있게 된다. 위의 다중 포트 메모리에 접속된 제어기는 다중 포트 메모리가 BUSY 상태에 있는지를 센스해야할 필요가 없게 된다. 이는 하드웨어 및 소프트웨어의 형태에서 제어기의 동작을 단순화시킨다. 제어 회로는 단지 어드레스 신호들을 비교하는 것만이 필요하기 때문에 단순한 회로로 구현할 수 있다. 이는 칩 크기의 감소에 기여하게 된다.
각각의 입출력 포트는 클록 단자를 가지기 때문에, 클록 신호의 주파수가 각각의 입출력 포트에 대하여 개별적으로 제어될 수 있다. 즉, 다른 동작 주파수를 가진 복수 개의 제어기들이 상기 다중 포트 메모리에 접속될 수 있다.
본 발명의 다중 포트 메모리에서는, 메모리 코어 동작들을 제어하는 클록 신호와 동기된 명령 신호를 수신하는 명령 단자가 각각의 입출력 포트에 제공된다. 각각의 입출력 포트에서는, 판독 동작 및 기록 동작에 필요한 메모리 코어의 동작 주기보다 적어도 두 배의 시간 간격을 가지고, 메모리 코어들을 활성화시키기 위한 명령 신호들이 제공된다. 다중 포트 메모리에 두 개의 입출력 포트들 또는 네 개의 입출력 포트들이 제공된다면, 명령 신호들의 시간 간격은 각각 동작 주기의 두 배 또는 동작 주기의 네 배로 정하여 질 수 있다. 이러한 설정에서, 다중 포트 메모리는 외부 제어기에 대하여 준비 상태에 있게 된다.
명령 신호가 미리 결정된 시간 간격보다 짧은 간격으로 공급된다면, 오동작을 방지하기 위해서 이러한 명령 신호들은 무효로 처리한다. 명령 신호들이 서로 다른 입출력 포트들로 공급된다면, 미리 결정된 시간 간격들 보다 짧지 않은 시간간격이더라도 이러한 명령 신호들은 받아들여진다.
또한, 본 발명에 의하면, 메모리 셀들로부터 판독한 또는 메모리 셀들에 기록한 데이터는 입출력 단자들과 메모리 셀들의 사이에서 버퍼를 통하여 전달된다. 여기에서 버퍼는, 둘 또는 그 이상의 메모리 셀들의 양에 해당하는 소정의 비트 수를 가지는, 데이터를 기억한다.
판독 동작 및 기록 동작의 개시 시에, 예컨대, 미리 결정된 개수의 데이터가 메모리 셀들에서 버퍼로 전달된다. 판독 동작에서, 각각의 어드레스 신호들에 상응하는 데이터가 버퍼로부터 판독되어, 데이터 입출력 단자로부터 외부로 출력된다. 기록 동작에서는, 각각의 어드레스 신호들에 상응하는 데이터가 버퍼에 기억되며, 기록 동작의 종료 시에 위의 버퍼의 데이터는 메모리 셀들에 동시에 기록된다.
이러한 방법으로, 페이지 동작이 용이하게 수행된다. 일반적으로, 메모리 코어들(센스 증폭기 등)은 페이지 동작 동안에 활성화 상태가 지속된다. 본 발명의 버퍼가 제공되지 않는다면, 하나의 입출력 포트에 대하여 페이지 동작이 수행되고 있는 동안에, 다른 하나의 입출력 포트에 대하여 메모리 동작을 수행하는 것이 불가능할 것이다. 본 발명에서, 메모리 셀들의 데이터는 동작의 개시 시에 버퍼로 전달되며, 그에 따라서 메모리 코어들은 그 이후 즉시 비활성화될 수 있다. 그 결과, 다중 포트 메모리에 접속된 제어기는 페이지 동작 중에서조차도 다중 포트 메모리의 BUSY 상태인지의 여부를 센스할 필요가 없게 된다.
다음에, 첨부 도면을 참조하여 본 발명의 실시예(제5 형태)에 대하여 설명하기로 한다.
도 111은 본 발명의 실시예(제5 형태)에 따른 다중 포트 메모리의 제1 실시예를 도시하고 있다. 다중 포트 메모리(M)는 CMOS 공정을 이용하여 실리콘 기판 위에 형성된다.
다중 포트 메모리(M)는 두 개의 입출력 포트(PORT-A 및 PORT-B), 신호를 상기 포트(PORT-A 및 PORT-B)와 입출력하게 하는 I/O 회로(5010) 및 복수 개의 메모리 블록(MB)을 포함하고 있다. 메모리 블록(MB) 각각은 DRAM 메모리 코어[메모리셀, 센스 증폭기선(SA) 등을 포함]를 포함하며, 도면에서 도시하고 있지 않은 제어 회로, 복호기 등을 더 포함한다. 메모리셀 각각은 데이터 신호값에 응답하여 전하를 기억하는 커패시터를 더 포함한다. 하나의 메모리 코어가 포트(PORT-A) 또는 포트(PORT-B)를 통해 공급된 행 어드레스 신호에 따라서 선택된다. 소정의 메모리 코어의 센스 증폭기선(SA)의 모든 센스 증폭기는 소정의 메모리 코어의 선택에 응답하여 동시에 활성화된다. 즉, 메모리 코어는 이후 설명될 활성 명령(ACT)에 응답하여 활성화되며, 이 메모리 코어의 모든 메모리 영역들이 선택된다. 판독 데이터 또는 기록 데이터는 센스 증폭기의 활성화 후 공급된 열 어드레스 신호에 따라 메모리셀로부터 판독되거나 메모리셀에 기록된다.
도 112는 다중 포트 메모리(M)의 메모리 블록(MB)과 I/O 회로(5010)의 상세를 도시하고 있다. 도면에서, 굵은 선으로 도시한 신호선들은 복수 개의 선으로 각각 구성되어 있다.
I/O 회로(5010)는, 각각 입출력 포트(PORT-A 및 PORT-B)에 상응하는, 모드 레지스터(5012a 및 5012b), 클록 버퍼(5014a 및 5014b), 데이터 입출력 버퍼(5016a및 5016b), 어드레스 버퍼/레지스터(5020a 및 5020b), BUSY 버퍼(5022a 및 5022b)를 포함하고 있다.
클록 버퍼(5014a), 어드레스 버퍼/레지스터(5018a), 명령 버퍼(5020a)는 클록 신호(CLKA), 어드레스 신호(ADDA), 명령 신호(CMDA)를 이들이 장치의 외부로부터 공급될 때 메모리 블록(MB)으로 공급한다. 입출력 버퍼(5016a)를 사용하여 메모리 블록(MB)으로부터 입력 데이터 신호(DQA)를 출력하고 입력 데이터 신호(DQA)를 메모리 블록(MB)에 입력한다. BUSY 버퍼(5022a)는 BUSY 신호(/BSYA)를 장치의 외부로 출력한다. 클록 버퍼(5014b), 어드레스 버퍼/레지스터(5018b), 명령 버퍼(5020b)는 클록 신호(CLKB), 어드레스 신호(ADDB), 명령 신호(CMDB)를 이들이 장치의 외부로부터 공급될 때 메모리 블록(MB)으로 공급한다. 입출력 버퍼(5016b)를 사용하여 메모리 블록(MB)으로부터 데이터 신호(DQB)를 출력하고, 그 데이터 신호(DQB)를 메모리 블록(MB)으로 입력한다. BUSY 버퍼(5022b)는 BUSY 신호(/BSYB)를 장치의 외부로 출력한다. 클록 신호는 클록 신호(CLKA 및 CLKB), 어드레스 신호(ADDA 및 ADDB), 데이터 신호(DQA 및 DQB), BUSY 신호(/BSYA 및 /BSYB)는 클록 단자, 어드레스 단자, 명령 단자, 데이터 입출력 단자, BUSY 단자를 통해 각각 전송된다. 활성 명령(ACT) 및 활성 명령[예컨대, 판독 명령(RD), 기록 명령(WR)] 등이 메모리 코어의 동작을 제어하기 위한 명령 신호(CMDA 및 CMDB)로서 공급된다. 어드레스 신호(ADDA 및 ADDB)는 서로 분리된 행 어드레스 신호(RA)와 열 어드레스 신호(CA)로서 공급된다. 입출력 포트(PORT-A)에서, 행 어드레스 신호(RA), 열 어드레스 신호(CA), 명령 신호(CMDA)는 클록 신호(CLKA)의 상승 에지와 동기하여 공급된다. 입출력 포트(PORT-B)에서, 행 어드레스 신호(RB), 열 어드레스 신호(CB), 명령 신호(CMDB)는 클록 신호(CLKB)의 상승 에지와 동기하여 공급된다. 이런 식으로 다중 포트 메모리(M)는 입출력 포트(PORT-A 및 PORT-B)에서 전용의 클록 신호(CLKA 및 CLKB)를 수신하고, 클록 신호(CLKA 및 CLKB)와 동기하여 동작한다.
메모리 블록(MB)은, 입출력 포트(PORT-A 및 PORT-B)에 각각 상응하는, 클록 버퍼(5024a 및 5024b), 명령 래치(5026a 및 5026b), 데이터 래치(5028a 및 5028b), 행 어드레스 래치(5030a 및 5030b), 열 어드레스 버퍼(5031a 및 5031b), 열 어드레스 래치(5032a 및 5032b)를 포함하고 있다. 메모리 블록은 입출력 포트(PORT-A 및 PORT-B)에 공통인 중재 회로(5034), 제어 신호 래치(5036), 열 어드레스 카운터(5038), 메모리 코어(5040)를 포함하고 있다. 메모리 코어(5040)는 클록 신호와 동기하여 명령 신호(RAS, CAS, WE), 행 어드레스 신호(RA), 열 어드레스 신호(CA)를 받아들이는 형태로 되어 있다.
입출력 포트(PORT-A)에 상응하는 모드 레지스터(5012a), 클록 버퍼(5024a), 명령 래치(5026a), 데이터 래치(5028a), 행 어드레스 버퍼(5031a), 열 어드레스 래치(5032a)는 중재 회로(5034)로부터 공급된 인에이블 신호(/ENA)가 활성화될 때 동작한다. 입출력 포트(PORT-B)에 상응하는 모드 레지스터(5012b), 클록 버퍼(5024b), 명령 래치(5026b), 데이터 래치(5028b), 행 어드레스 버퍼(5031b), 열 어드레스 래치(5032b)는 중재 회로(5034)로부터 공급된 인에이블 신호(/ENB)가 활성화될 때 동작한다.
즉, 인에이블 신호(/ENA)의 활성화 시, 클록 버퍼(5024a)는 메모리코어(5040)의 클록 단자(CLK)에 클록 신호(CLKA)를 공급한다. 더욱이, 명령 래치(5026a)는 래치된 명령 신호(CMDA)를 제어 신호 래치(5036)에 공급하고, 행 어드레스 버퍼(5031a)는 래치된 행 어드레스 신호(RA)(예컨대, 상위 어드레스 비트에 상응)를 메모리 코어(5040)의 행 어드레스 단자(RA)에 공급한다. 또 열 어드레스 래치(5032a)는 래치된 열 어드레스 신호(CA)(예컨대, 하위 어드레스 비트에 상응)를 열 어드레스 카운터(5038)에 공급하고, 데이터 래치(5028a)는 메모리 코어(5040) 및 입출력 버퍼(5016a)의 입출력 단자(DQ)에서 데이터 신호를 교환한다.
마찬가지로, 인에이블 신호(/ENB)의 활성화 시, 클록 버퍼(5024b)는 클록 신호(CLKB)를 메모리 코어(5040)의 클록 단자(CLK)로 공급한다. 더욱이, 명령 래치(5026a)는 래치된 명령 신호(CMDB)를 제어 신호 래치(5036)에 공급하고, 행 어드레스 버퍼(5031b)는 래치된 행 어드레스 신호(RA)를 메모리 코어(5040)의 행 어드레스 단자(RA)에 공급한다. 또 열 어드레스 래치(5032b)는 래치된 열 어드레스 신호(CA)를 열 어드레스 카운터(5038)에 공급하고, 데이터 래치(5028b)는 메모리 코어(5040) 및 입출력 버퍼(5016a)의 입출력 단자(DQ)에서 데이터 신호를 교환한다.
제어 신호 래치(5036)는 수신된 명령 신호(CMDA 및 CMDB)에 따라 메모리 코어(5040)를 동작시키기 위하여 행 어드레스 스트로브 신호(RAS), 열 어드레스 스트로브 신호(CAS)를 생성하고, 생성된 신호들을 메모리 코어(5040)에 공급한다. 또한, 제어 신호 래치(5036)는 판독 동작 및 기록 동작 중 하나를 표시하는 판독/기록 명령 신호(RWCMD)를 중재 회로(5034)에 공급한다.
열 어드레스 카운터(5038)는 모드 레지스터(5012a 및 5012b)로부터 공급된 버스트 길이에 관한 정보에 따라서 열 어드레스 신호(CA)를 생성하고, 열 어드레스 신호를 메모리 코어(5040)로 출력한다.
중재 회로(5034)는 어드레스 비교 회로(5042)와 중재 제어 회로(5044)를 포함하고 있다. 어드레스 비교 회로(5042)는 입출력 포트(PORT-A 및 PORT-B)로부터 공급된 어드레스 신호(ADDA 및 ADDB) 사이에서 행 어드레스 신호(RA)를 비교하고, 어느 것이 가장 먼저 도달하는 지를 결정한다. 중재 제어 회로(5044)는 어드레스 비교 회로(5042)에 의한 비교에 따라 내부 회로를 동작시키기 위하여 BUSY 신호(/BSYA 및 /BSYB)와 인에이블 신호(/ENA 및 /ENB)를 생성한다.
도 113은 어드레스 비교 회로(5042)의 상세를 도시하고 있다.
어드레스 비교 회로(5042)는 어드레스 도달 순서를 검출하는 어드레스 비교기(5042b)와 두 개의 어드레스 일치 회로(5042a)를 포함하고 있다. 어드레스 일치 회로(5042a)는 어드레스 신호(ADDA) 및 어드레스 신호(ADDB) 사이에서 행 어드레스 신호(RA)의 상응 비트를 비교하는 복수 개의 EOR 회로(5042c)를 포함하며, 개개의 EOR 회로(5042c)에 상응하는 복수 개의 nMOS 트랜지스터(5042d)를 더 포함한다. nMOS 트랜지스터(5042d)는 상응 EOR 회로(5042c)의 출력에 연결된 게이트, 접지된 소스, 서로 연결된 드레인을 가진다. 각각의 EOR 회로(5042c)는 행 어드레스 신호(RA)가 입출력 포트(PORT-A 및 PORT-B) 사이에서 서로 일치할 때 저레벨의 신호를 출력하고, 행 어드레스 신호(RA)의 비트값이 일치하지 않으면 고레벨의 신호를 출력한다. nMOS 트랜지스터(5042d)는 EOR 회로(5042c)로부터의 저레벨의 신호에 응답하여 턴오프되고 고레벨의 신호에 응답하여 턴온된다. 즉, 어드레스 일치 회로(5042a)로부터 출력된 일치 신호(/COIN1 및 /COIN2)는 모든 비트의 행 어드레스 신호(RA)가 상응 비트들 사이에서 일치할 때 부동 상태가 되며 행 어드레스 신호의 적어도 하나의 비트가 상응 비트들 사이에서 상이할 때 저레벨의 신호가 된다. 두 개의 어드레스 일치 회로(5042a)는 도 111에 도시한 메모리 블록(MB)의 상단 및 하단에 배치된다[즉, 입출력 회로(5010)에 근접 배치된다). I/O 회로(5010)에 근접한 어드레스 일치 회로(5042a)의 구성에 의해서 어드레스 일치 회로(5042a)로의 각종의 어드레스 신호(ADDA 및 ADDB)의 전파 지연을 단축할 수 있다. 따라서, 어드레스 신호(ADDA 및 ADDB)는 초기 타이밍 시 비교 가능하며, 그에 따라 고속 동작을 얻을 수 있다.
비교기(5042b)는 일치 신호(/COIN1 및 /COIN2)와 클록 신호(CLKA 및 CLKB)를 수신해서, 선착(先着) 신호(/FSTA 및 FSTB)를 출력한다.
도 114는 비교기(5042b)의 상세를 도시한다.
비교기(5042b)는 클록 신호(CLKA 및 CLKB)의 상승 에지와 동기하여 양의 펄스(PLSA 및 PLSB)를 각각 발생하는 펄스 발생기(5042e)를 포함하고, 입력단에서 펄스(PLSA 및 PLSB)를 수신하는 플립플롭(5042f)을 더 포함한다. 비교기(5042b)는 펄스(PLSA 및 PLSB)를 각각 출력하는 개개의 인버터의 입력으로서 일치 신호(/COIN1 및 /COIN2)를 수신한다. 비교기(5024b)에서 개개의 펄스 신호를 생성하는 NAND 게이트는 소형의 회로 소자로서 구성되므로, NAND 게이트로부터 출력된 신호가 일치신호(/COIN1 및 /COIN2)와 충돌하는 신호 레벨을 가지는 경우에, 일치 신호(/COIN1 및 /COIN2)에 우선 순위가 주어진다. 플립플롭(5042f)은 펄스(PLSA)를 수신하는 경우에 첫 번째 도달 신호(/FSTA)를 저레벨로 낮추고, 펄스(PLSB)를 수신하는 경우에 첫 번째 도달 신호(/FSTB)를 저레벨로 낮춘다.
도 115는 입출력 포트(PORT-A 및 PORT-B)에 공급된 행 어드레스 신호가 서로 일치하는 경우에 실행되는 비교기(5042b)의 동작을 도시하고 있다. 이 실시예에서, 클록 신호(CLKA 및 CLKB)는 동일한 주기를 가진다. 도 113에 도시한 어드레스 일치 회로(5042a)는 행 어드레스 신호(RA)가 일치하는 경우에, 일치 신호(/COIN1 및 /COIN2)를 부동 상태(Hi-Z)가 되도록 한다. 그에 응답하여, 펄스(PLSA 및 PSLB)가 클록 신호(CLKA 및 CLKB)의 상승 에지와 동기하여 각각 발생된다[도 115-(a)]. 도 114에 도시한 플립플롭(5042f)은 다른 하나 보다 먼저 수신된 펄스(PLSA)에 응답하여, 첫 번째 도달 신호(/FSTA)를 활성화시킨다[도 115-(b)]. 보다 늦게 수신된 펄스(PLSB)에 해당하는 첫 번째 도달 신호(/FSTB)는 상기 첫 번째 도달 신호(/FSTA)의 활성화가 끝난 후에 활성화된다[도 115-(c)].
도 116은 행 어드레스 신호(RA)가 입출력 포트(PORT-A 및 PORT-B) 간에 일치하지 않는 경우의 비교기(5024b)의 동작을 도시하고 있다. 이 실시예에서, 클록 신호(CLKA 및 CLKB)는 동일한 주기를 가진다.
상기 어드레스 일치 회로(5042a)는 상기 행 어드레스 신호(RA)가 1 비트라도 일치하지 않는 경우에, 각 일치 신호(/COIN1 및 /COIN2)를 저레벨로 낮춘다[도 116-(a)]. 그에 응답하여, 도 114에 도시한 펄스 발생기(5042e)는 펄스 신호(PLSA및 PLSB)를 클록 신호(CLKA 및 CLKB)와 상관없이 저레벨로 낮춘다[도 116-(b)]. 그 결과, 상기 첫 번째 도달 신호(/FSTA 및 /FSTB)는 고레벨로 유지된다[도 116-(c)].
도 117은 상기 입출력 포트(PORT-A 및 PORT-B)에 공급된 행 어드레스 신호(RA)가 클록 신호(CLKB)와 상이한 주기를 가지는 클록 신호(CLKA)와 일치하는 경우에 비교기(5042b)의 동작을 도시하고 있다. 이 실시예에서, 클록 신호(CLKB)의 주기는 클록 신호(CLKA)의 주기의 2배로 설정된다. 행 어드레스 신호(RA)는 클록 신호(CLKA 및 CLKB)의 상승 에지와 동기하여 각각 얻어진다. 도면에서, 굵은 선으로 도시한 행 어드레스 신호(RA)는 입출력 포트(PORT-A 및 PORT-B)에 공급된 신호를 도시하고 있고, 점선으로 도시한 행 어드레스 신호(RA)는 도 112에 나타난 각 행 어드레스 래치(5030a,5030b)에 의해 유지된 행 어드레스 신호를 도시하고 있다.
행 어드레스 신호(RA)가 일치하는 경우에, 일치 신호(/COIN1 및 /COIN2)는 도 115와 같은 방식으로 부동 상태(Hi-Z)로 된다. 상기 일치 신호(/COIN1 및 /COIN2)의 부동 상태에서, 도 115에 도시한 펄스 발생기(5042e)가 동작함으로써 펄스 신호(PLSA 및 PLSB) 및 첫 번째 도달 신호(/FSTA 및 /FSTB)가 각 클록 신호(CKLA 및 CKLB)의 상승 에지와 동기하여 생성된다.
도 118는 도 112에 나타난 중재 회로(5034)에 설치된 중재 제어 회로(5044)를 도시하고 있다.
중재 제어 회로(5044)는 입출력 포트(PORT-A 및 PORT-B)에 각각 상응하는 제어 회로(5044a 및 5044b)를 포함한다. 제어 회로(5044a)는 리셋 신호(RESETA), 지연 클록 신호(DLKA), 활성 명령 신호(ACTA), 첫 번째 도달 신호(/FSTA) 및 BUSY 신호(/BSYA)를 수신하고, 인에이블 신호(/ENA) 및 BUSY 신호(/BSYB)를 출력한다. 제어 회로(5044b)는 리셋 신호(RESETB), 지연 클록 신호(DLKB), 활성 명령 신호(ACTB), 첫 번째 도달 신호(/FSTB) 및 BUSY 신호(/BSYB)를 수신하고, 인에이블 신호(/ENB) 및 BUSY 신호(/BSYA)를 출력한다.
입출력 포트(PORT-A 및 PORT-B)에 해당하는 판독 및 기록 동작이 끝나면, 리셋 신호(RESTA 및 RESTB)가 소정의 각 주기 동안 작동하게 된다. 지연 클록 신호(DCLKA 및 DCLB)는 클록 신호(CLKA 및 CLKB)를 각각 지연시킴으로써 얻어진 신호이다. 활성 명령 신호(ACTA 및(ACT)B)는 활성 명령(ACT)이 입출력 포트(PORT-A 및 PORT-B)에 공급되는 경우에 동작한다.
도 119는 입출력 포트(PORT-A 및 PORT-B)에 공급된 행 어드레스 신호가 일치하는 경우에 수행된 중재 제어 신호(5044)의 동작을 도시하고 있다. 이 실시예에서, 클록 신호(CLKA 및 CLKB)의 주기는 동일하다. 활성 명령(ACT)이 클록 신호(CLKA)와 동기하여 공급되고, 바로 이어서 클록 신호(CLKB)와 동기하여 활성 명령(ACT)이 공급된다.
제어 회로(5044a)는 지연 클록 신호(DCLKA)의 상승 에지와 동기하여 저레벨의 첫 번째 도달 신호(/FSTA)를 수신하고, BUSY 신호(/BSYB)를 활성화시킨다[도 119-(a)]. 활성 명령 신호(ACTA)의 활성화 및 BUSY 신호(/BSYA)의 비활성 상태에 응답하여, 제어 회로(5044a)는 인에이블 신호(/ENA)를 활성화시킨다[도 119-(b)]. 제어 회로(5044b)가 지연 클록 신호(DCLKB)의 상승 에지와 동기하여 고레벨의 첫 번째 도달 신호(/FSTB)를 얻기 때문에, BUSY 신호(/BSYA)는 활성화되지 않는다[도119-(c)]. 제어 회로(5044b)는 활성화 상태의 활성 명령 신호(ACTB)를 수신하지만, 상기 BUSY 신호(/BSYB)가 활성화되었기 때문에 제어 회로(5044b)는 인에이블 신호(/ENB)를 활성화시키지 않는다[도 119-(d)].
인에이블 신호(/ENA)의 활성화에 응답하여, 입출력 포트(PORT-A)에 공급된 신호는 메모리 코어(5040)에 전송된다. 입출력 포트(PORT-A)에 공급된 판독 명령(RD)에 따른 판독 동작을 수행하는 동안에, 메모리 코어(5040)가 활성화된다. 판독 동작이 끝난 후에, 제어 회로(5044a)는 리셋 신호(RESETA)의 활성화에 응답하여 인에이블 신호(/ENA) 및 BUSY 신호(/BSYB)를 비활성화시킨다[도 119-(e)].
다음에, 전술한 다중 포트 메모리(M)를 그 동작에 관련하여 더 설명한다.
도 120은 입출력 포트(PORT-A 및 PORT-B)에 공급된 행 어드레스 신호(RA)가 서로 일치하는 경우에 수행되는 동작을 도시하고 있다. 이 예에서, 클록 신호(CLKA 및 CLKB)는 동일한 주기를 가지고, 클록 신호(CLKA)의 위상이 클록 신호(CLKB)의 위상 보다 조금 앞선다. 입출력 포트(PORT-A 및 PORT-B)의 버스트 길이는 개개의 모드 레지스터(5012a 및 5012b)에 의하여 4로 설정된다. 여기에서, 버스트 길이는 1 개의 기록 동작 또는 판독 동작 동안에 출력 및 입력되는 데이터 아이템의 수이다.
입출력 포트(PORT-A)는 활성 명령(ACT)[명령 신호(CMDA) 및 행 어드레스 신호(RA)[어드레스 신호(ADDA)]를 클록 신호(CLKA)의 상승 에지와 동기하여 수신한다[도 120-(a)]. 입출력 포트(PORT-A)에 의하여 신호를 수신한 직후에, 입출력 포트(PORT-B)는 활성 명령(ACT)[명령 신호(CMDB)] 및 행 어드레스 신호(RA)[어드레스 신호(ADDB)]를 클록 신호(CLKB)의 상승 에지와 동기하여 수신한다[도 120-(b)]. 여기에서, 명령 신호(CMDA 및 CMDB) 및 어드레스 신호(ADDA 및 ADDB)는 소정의 준비 시간(TS)이 상기 클록 신호(CKLA 및 CLKB)의 각 상승 에지가 발생하기 전으로 설정된 신호 레벨을 가진다.
포트(PORT-B)에 공급된 행 어드레스 신호(RA)는 포트(PORT-A)에 공급된 행 어드레스 신호(RA)와 동일하기 때문에, 첫 번째 도달 신호(/FSTA 및 /FSTB)는 도 115에 도시한 바와 같이 차례로 생성된다. 중재 제어 회로(5044)는 도 119와 연계하여 설명한 첫 번째 도달 신호(/FSTA 및 /FSTB)에 응답하여, 인에이블 신호(/ENA) 및 BUSY 신호(/BSYB)를 활성화시킨다[도 120-(c) 및 (d)]. 이러한 방식에서, 상기 2 개의 어드레스 신호 사이에 도달한 첫 번째 도달 신호는 준비 시간(TS) 동안에 공급된 행 어드레스 신호(RA)와 보다 빠른 위상을 가지는 클록 신호(이 예에서는(CLKA)의 상승 에지를 이용하여 결정된다. 이어서, 행 어드레스 신호(RA)에 상응하는 메모리 코어(5040)는 인에이블 신호(/ENA)의 활성화에 응답하여 동작한다(도 120-(e).
BUSY 신호(/BSYB)에 응답하여, 입출력 포트(PORT-B)에 연결된 CPU와 같은 제어기는 다중 포트 메모리(M)에 공급된 활성 명령(ACT)이 무효화 되었는 지를 확인한다.
입출력 포트(PORT-A)는 판독 명령(RD)[즉, 명령 신호(CMDA)] 및 열 어드레스 신호(CA)[어드레스 신호(ADDA)]를 클록 신호(CLKA)의 다음 상승 에지와 동기하여 수신한다[도 120-(f)]. 입출력 포트(PORT-B)는 판독 명령(RD)[명령 신호(CMDB)] 및열 어드레스 신호(CA)[어드레스 신호(ADDB)]를 클록 신호(CLKB)의 다음 상승 에지와 동기하여 수신한다[도 120-(g)]. 판독 명령(RD)[또는 기록 명령(WR)]은 활성 명령(ACT) 후에 각 클록 신호(CLKA 및 CLKB)의 다음 상승 에지와 동기하여 공급된다. BUSY 신호(/BSYB)에 따라서, 입출력 포트(PORT-B)에 연결된 제어기는 판독 명령(RD) 및 열 어드레스 신호(CA)를 제공하지 않을 수 있다.
데이터가 입출력 포트(PORT-A)에 공급된 열 어드레스 신호(CA)에 상응하는 메모리 셀로부터 판독되면, 메모리 블록(MB)은 데이터를 데이터 신호(DQA)(Q0-Q3)로서 연속하여 출력한다[도 120-(h)]. 데이터 신호(DQA)는 판독 명령(RD)의 수신 이후에 2회의 클록으로 출력된다. 버스트 길이(=4) 만큼의 데이터 신호(DQA)를 출력한 이후에, 메모리 코어(5040)는 프리챠지 동작[도 120-(i)]을 수행하고, 그 결과, 1회의 메모리 주기를 완료한다.
인에이블 신호(/ENA)는 상기 판독 동작의 완료에 응답하여 비활성화 된다[도 120-(j)]. 여기에서는, 프리챠지 동작은 데이터를 메모리 셀에(로부터) 전송하기 위한 비트선들을 소정의 전위까지 충전하여, 행 어드레스 동작에 관련된 회로들을 비활성화한다. 이 프리챠지 동작은 메모리 동작시마다 자동으로 수행된다. 이 프리챠지 동작의 타이밍은 입출력 포트(PORT-A)의 버스트 길이 또는 입출력 포트(PORT-B)의 버스트 길이의 크기에 따라 결정되며, 이 버스트 길이의 크기는 해당 모드 레지스터에 기억된다. 이 실시예에서, 버스트 길이가 4인 경우, 메모리의 주기(즉, 단일의 판독 동작 또는 기록 동작에 필요한 시간)는 4회의 클록 주기로 고정된다. 즉, 판독 동작 및 기록 동작은 언제나 활성 명령의 수신 이후 미리 결정된 시간에완료된다.
데이터(Q1)를 출력하는데 이용되는 클록 신호(CLKA)에 동기하여, 다음 활성 명령(ACT)은 입출력 포트(PORT-A)에 공급된다[도 120-(k)]. 이 특정의 순간에는 명령 신호(CMDB)가 입출력 포트(PORT-B)에 공급되지 않기 때문에, 도 113에 도시한 어드레스 비교 회로(5042)가 행 어드레스 신호(RA)를 비교하면, 불일치되는 결과가 생성된다. 이 때문에, BUSY 신호(/BSYA) 및 BUSY 신호(/BSYB)는 활성화되지 않으며, 인에이블 신호 /ENA만이 활성화된다[도 120-(l)]. 도 116에 도시한 바와 같이, 첫 번째 도달 신호 /FSTA 및 /FSTB는 상위 레벨을 유지한다.
메모리 코어(5040)는 행 어드레스 신호(RA)에 따라 동작하고, 이 어드레스 신호는 전술한 바와 같이 입출력 포트(PORT-A)에 공급된다[도 120-(m)]. 메모리 블록(MB)은 판독 명령(RD)과 후속하는 클록 신호(CLKA)와 동기하여 공급되는 열 어드레스 신호(CA)에 따라 차례 차례로 데이터 신호(DQA)(Q0-Q3)를 출력한다[도 120-9n)].
입출력 포트(PORT-A)에 상응하는 메모리 코어(5040)가 동작을 완료한 후에, 활성 명령(ACT) 및 판독 명령(RD)은 연속해서 입출력 포트(PORT-B)에 공급된다[도 120-(o)]. 특정의 순간에는 명령 신호(CMDA)가 입출력 포트(PORT-A)에 공급되지 않기 때문에, 메모리 코어(5040)는 입출력 포트(PORT-B)에 대하여만 동작함으로써, 데이터 신호(DQB)를 출력한다[도 120-(p)].
도면에 도시하지 않았지만, 메모리 셀의 커패시터에 전하를 재충전하는 리프레시 동작은 행 어드레스 신호(RA)에 따라 수행되고, 이에 따라 리프레시 명령이클록 신호의 상승 에지와 동기되어 공급되며, 행 어드레스 신호(RA)가 리프레시될 메모리 코어를 지정한다. 리프레시 동작은 입출력 포트(PORT-A) 또는 입출력 포트 를 통해 요구될 수 있다. 이 방식의 리프레시 동작은, 한 개의 메모리 코어(5040) 단위로 수행되도록 어드레스 신호가 장치의 외부로부터 공급된다.
도 121은 클록 신호(CLKA 및 CLKB)의 주기가 동일할 때, 수행되는 동작을 나타내고 있으며, 클록 신호(CLKA)의 위상은(CLKB의 주기 위상보다 1/2 주기 이상 앞서 있다. 명령 신호(CDMA 및 CDMB)와, 어드레스 신호(ADDA 및 ADDB)는 복수 개의 포트를 가진 메모리(M)에 공급되는데, 이 메모리는 도 120에 도시한 경우와 동일하다.
이 예에서, 활성 명령(ACT) 및 행 어드레스 신호(RA)가 입출력 포트(PORT-A)에 공급될 때[도 121-(a)], 명령 신호(CMDB) 및 어드레스 신호(ADDB)는 입출력 포트(PORT-B)에 아직 공급되지 않고 있다. 이 때문에, 인에이블 신호(/ENA)는 활성화되고[도 121-(b)], 이 메모리 코어(5040)는 입출력 포트(PORT-A)에 대하여만 동작한다[도 121-(c)]. 이후, 활성 명령(ACT)과 행 어드레스 신호(RA)가 입출력 포트(PORT-A)에 공급된 것과 동일하게 입출력 포트(PORT-B)에 공급된다[도 121-(d)].
제어 회로(5044b)는 도 118에 도시되어 있는데, 이 회로는 BUSY 신호(/BSYB)를 활성화하며[도 121-(e)], 이 활성화는 첫 번째 도달 레벨(/FSTA)의 활성화와 인에이블 신호(/ENA)의 활성화에 따른다. BUSY 신호(/BSYB)에 응답하는 제어기, 예컨대 CPU는 입출력 포트(PORT-B)에 연결되어, 복수 개의 포트를 가진 메모리(M)에 공급된 활성 명령(ACT)이 유효하지 않음을 알아낸다. 이후의 동작들은 전술한 도 120의 동작들과 동일하다.
도 122는 행 어드레스 신호(RA)가 거의 동시에 서로 다른 입출력 포트(PORT-A) 및 입출력 포트(PORT-B)에 공급되는 경우의 동작을 나타낸다. 클록 신호(CLKA 및 CLKB)는 동일한 클록 주기를 가지며, 클록 신호(CLKA)의 위상은 클록 신호(CLKB)의 위상에 약간 앞서 있다. 상기 버스트 길이는 동일하게 4로 설정하며, 이것은 모드 레지스터(12)에 의하여 입출력 포트(PORT-A) 및 입출력 포트(PORT-B) 모두에 설정된다.
행 어드레스 신호(RA)가 다를 때에는, 상이한 메모리 코어(5040)가 동작한다. 비교 회로(5042b)는 도 114에 도시되어 있는데, 첫 번째 도달 신호(/FSTA 및 /FSTB) 모두를 비활성화시킨다. 즉, 어드레스 중재가 수행되지 않는다. 중재 제어 회로(5044)는 첫 번째 도달 신호(/FSTA 및 /FSTB)의 비활성된 상태와 활성 명령 신호(ACTA 및(ACT)B)의 활성 상태에 응답하여, 인에이블 신호(/ENA 및 /ENB)를 활성화한다[도 122-(a) 및 도 122-(b)]. 그 결과, 관련된 메모리 코어(5040)는 활성 명령(ACT)과 행 어드레스 신호(RA)에 응답하여 이 신호들이 입출력 포트(PORT-A)에 공급되도록 동작하고[도 122-(c)], 다른 메모리 코어(5040)는 활성 명령(ACT)과 행 어드레스 신호(RA)에 응답하여 이 신호들이 입출력 포트(PORT-B)에 공급되도록 동작한다. 즉, 입출력 포트(PORT-A) 및 입출력 포트(PORT-B)는 서로 독립적으로 동작한다. 이 행 어드레스 신호(RA)가 서로 다르게 때문에, BUSY 신호(/BSYA) 또는 BUSY 신호(/BSYB) 어느 것도 활성화되지 않는다.
전술한 이 실시예에서, 메모리 코어(5040)는 두 개의 행 어드레스 신호(RA) 사이에 먼저 도달하는 신호에 대하여만 동작하며, 이 신호가 도달한 때는 입출력 포트(PORT-A) 및 입출력 포트(PORT-B)가 동일한 메모리 코어(5040) 내의 두 개의 행 어드레스 신호(RA)를 수신하여 클록 신호(CLKA 및 CLKB)를 각각 동기화 한 때이다. 즉, 이에 따라 복수 개의 포트를 가진 메모리(M)의 클록 동기화 형태가 구현될 수 있다.
중재 회로(5034)는 행 어드레스 신호(RA)를 비교함을 통해 예측될 수 있는 모든 것을 충족하며, 이에 따라 간단한 구성을 통해 구현될 수 있다. 그 결과, 복수 개의 포트를 가진 메모리(M)의 칩 크기는 소형으로 만들 수 있다.
입출력 포트(PORT-A) 및 입출력 포트(PORT-B)가 각각 클록 단자(CLKA 및 CLKB)를 가지고 있기 때문에, 클록 신호(CLKA 및 CLKB)의 주파수들은 입출력 포트(PORT-A) 및 입출력 포트(PORT-B) 마다 서로 별도로 설정될 수 있다. 즉, 복수개의 제어기는 서로 다른 동작 주파수로 동작하며, 이 제어기는 복수 개의 포트를 가진 메모리(M)에 연결될 수 있다.
또한, 두 개의 어드레스 사이에 먼저 도달하는 신호는 행 어드레스 신호(RA)를 사용하여 결정되고, 이 도달 신호는 클록 신호(CLKA 및 CLKB)의 상승 에지와 연관되기 전에 설정된다. 즉, 먼저 도달하는 신호는 어드레스 신호의 설정 시간(tS)을 이용하여 식별된다. 이 때문에, 입출력 포트는 소정의 우선 순위가 있으며, 메모리 코어(5040)가 동작하기 전에 식별될 수 있고, 이에 따라 고속 메모리 동작을 달성할 수 있다. 또한, 먼저 도달한 신호가 클록 신호(CLKA)(또는(CLKB)의 상승 에지에 기초하여 결정되어져 보다 먼저의 위상을 가지기 때문에, 상기 메모리 동작 속도는 한층 향상될 수 있다.
중재 회로(5034)에서, 어드레스 비교 회로(5042)는 행 어드레스 신호(RA)들을 비교하고, 중재 제어 회로(5044)는 어드레스가 일치되어 클록 신호(CLKA 및 CLKB)가 동기화 될 때를 조사하며, 이들 클록 신호는 활성 명령(ACT)를 포착하는데 사용된다. 행 어드레스 신호(RA)가 언제나 소정의 타이밍(즉, 클록 신호의 에지)에서 서로 비교되기 때문에, 메모리 동작과 관련되지 않은 어드레스 신호에 의해 발생된 메모리 코어(5040)의 오작동을 방지할 수 있다.
도 123은 복수 개의 포트를 가진 메모리의 제2 실시예로서 본 발명에 따라 복수 개의 포트를 가진 메모리를 제어하는 방법을 도시하고 있다. 전술한 제1 실시예와 동일한 구성 요소는 동일한 참조 번호를 사용하였고, 이 구성 요소에 대한 세부적인 설명은 생략하였다.
이 실시예에서, 한 개의 메모리 블록(MB)(도면에서는 두꺼운 라인 프레임으로 도시함)은 제1 실시예의 크기의 1/4로 형성된다. 즉, 동시에 활성화된 센스 증폭기의 수는 제1 실시예의 센스 증폭기의 수의 1/4이다. 메모리 블록(MB)의 크기를 제외하고, 모든 구성은 제1 실시예와 동일하다. 도 123의 복수 개의 포트를 가진 메모리(M)가 동시에 구동되는 센스 증폭기를 적게 가지고 있기 때문에, 메모리 동작시에 소비되는 소비 전력은 감소된다.
이 실시예는 전술한 제1 실시예와 동일한 장점을 가지도록 만들어 수 있다. 또한, 이 실시예에서의 소비 전력도 감소될 수 있다.
도 124는 복수 개의 포트를 가진 메모리의 제3 실시예로서 본 발명에 따라 복수 개의 포트를 가진 메모리를 제어하는 방법을 도시하고 있다(제5 형태). 전술한 제1 실시예와 동일한 구성 요소는 동일한 참조 번호를 사용하였고, 이 구성 요소에 대한 세부적인 설명은 생략하였다.
이 실시예에서, 데이터 레지스터들(버퍼들)(5040a 및 5040b)은 각각의 데이터 신호(DQA 및 DQB)를 데이터 래치(5028) 및 메모리 코어(5040) 사이에 임시적으로 기억하고, 각각의 메모리 블록(MB)에 공급된다. 데이터 레지스터들(5040a 및 5040b)은 입출력 포트(PORT-A) 및 입출력 포트(PORT-B) 양쪽 모두에 연관되어 동작한다. 또한, 중재 회로(5044)의 중재 제어 회로(5034)는 제1 실시예의 중재 제어 회로(5034)와는 다르다. 중재 제어 회로(5048)는 BUSY 신호(/BSYA 및 /BSYB)를 출력하지 않고, BUSY 버퍼가 I/O 회로(5010)에 설치되지 않는다. 다른 모든 구성은 제1 실시예의 구성과 동일하다. 즉, 입출력 포트(PORT-A) 및 입출력 포트(PORT-B)에서는 클록 신호(CLKA 및 CLKB), 어드레스 신호(ADDA 및 ADDB), 명령 신호(CMDA 및 CMDB)와, 데이터 신호(DQA 및 DQB)가 클록 단자, 어드레스 단자, 명령 단자 및 데이터 입출력 단자에 각각 전송된다. 메모리 블록(MB)은 DRAM 메모리 코어(5040)를 포함하고, 추가로 제어 회로, 복호기 등을 포함하는데, 이것은 도시가 생략되어 있다. 메모리 셀은 커패시터를 포함하고 있는데, 이 커패시터는 데이터 신호의 값에 따라 전기적으로 전하를 기억한다.
이러한 다중 포트 메모리(M)는 입출력 포트(PORT-A 및 PORT-B)가 동일한 행 어드레스 신호(RA)에 대한 메모리 동작을 위한 요구를 동시에 수신하는 경우에도입출력 포트(PORT-A 및 PORT-B) 모두에 대한 메모리 동작을 수행하는 것이 가능하며, 이에 대하여는 이하 기술한다. 다중 포트 메모리의 메모리 동작 수행이 가능하기 때문에, 제1 실시예에서와 마찬가지로 장치의 외부로 BUSY 신호(/BSYA 및 /BSYB)를 출력할 필요가 없다.
입출력 포트(PORT-A 및 PORT-B) 각각에 있어서, 활성 명령(ACT)이 제공되는 기간은 메모리 코어(5040)의 동작 기간의 2배 이상의 주기가 되도록(타이밍 사양에 따른다) 설정된다. 활성 명령(ACT)의 기간이 동일 입출력 포트(PORT-A 또는 PORT-B)에서의 기간보다 작다면, 공급되는 활성 명령(ACT)이 취소된다. 다른 입출력 포트에 제공되는 활성 명령(ACT)의 기간은 제한되지 않는다.
제1 실시예와 마찬가지로, 판독 명령(RD)과 기록 명령(WR)이 제공되어 활성 명령(ACT)을 수신하는데 사용되는 특정 타이밍을 따르는 클록 신호의 특정 타이밍과 동기된다. 이러한 동작 이후에 메모리 코어(5040)는 자동으로 프리챠지된다. 이 실시예에 있어서, 클록 신호(CLKA,(CLKB)의 주기(tCLK)는 10ns로 설정되고, 버스트 길이(BL)는 4로 설정되며, 데이터 지연 시간(DL)은 4로 설정되는데, 이들은 예시적으로 정해진 것이다. 데이터 지연 시간(DL)은 판독 명령(RD)이 입력되고 데이터가 출력되기까지 클록 주기의 횟수가 된다. 버스트 길이(BL)와 데이터 지연 시간(DL)은 모드 레지스터(5012a 및 5012b)에 설정되어 있다.
도 125는 중재 제어 회로(5048)를 상세히 나타내고 있다.
이 중재 제어 회로(5048)는 제1 실시예의 제어 회로(5044a 및 5044b) 각각에 제어 회로(5048a 및 5048b)를 각각 부가한 구성이다. 입출력 포트(PORT-A)에 상응하는 제어 회로(5048a)는 제어 회로(5044a)로부터 인에이블 신호(/ENA0)와 BUSY 신호(/BSYB)뿐만 아니라 리셋 신호(RESETA)와 리버스 신호(RVS)를 수신하고, 인에이블 신호(/ENA)를 출력한다. 입출력 포트(PORT-B)에 상응하는 제어 회로(5048b)는 제어 회로(5044b)로부터 인에이블 신호(/ENB0)와 BUSY 신호(/BSYA)뿐만 아니라 리셋 신호(RESETB)와 리버스 신호(RVS)를 수신하고, 인에이블 신호(/ENB)를 출력한다. 인에이블 신호(/ENA0, /ENB0)는 제1 실시예의 인에이블 신호(/ENA, /ENB)와 동일한 타이밍에서 생성된다.
도 126은 입출력 포트(PORT-A 및 PROT-B)에 제공되는 행 어드레스 신호가 상호 일치될 때 수행되는 중재 제어 회로(5048)의 동작을 나타낸다. 이 예에 있어서, 클록 신호(CLKA 및 CLKB)의 주기는 동일하다. 클록 신호(CLKA)의 동기화에 있어서, 활성 명령(ACT)은 입출력 포트(PORT-A)에 제공된다. 활성 명령이 제공된 직후, 활성 명령(ACT)이 입출력 포트(PORT-B)에 제공되어 클록 신호(CLKB)와 동기된다. 입출력 포트(PORT-A)에 접속된 제어기는 기록 동작을 요구하고, 입출력 포트(PORT-B)에 접속된 제어기는 판독 동작을 요구한다.
제어 회로(5044a, 5044b)의 동작은 제1 실시예에서의 제어 회로의 동작과 거의 동일하다(도 119 참조). 제어 회로(5044a)는 저레벨인 첫 번째 도달 신호(/FSTA)를 취해 지연 클록 신호(DCLKA)의 상승 에지에 동기시키고, BUSY 신호(/BSYB)를 활성시킨다[도 126-(a)]. 제어 회로(5044b)는 고레벨인 첫 번째 도달 신호(/FSTB)를 취해 지연 클록 신호(DCLKB)의 상승 에지에 동기시킨다. 그러나 BUSY 신호(/BSYA)는 활성화되지 않는다[도 126-(b)]. 제어 회로(5048a)는 BUSY 신호(/BSYB)가 활성화되고 리버스 신호(RVS)가 저레벨이 됨에 따라 인에이블 신호(/ENA)를 활성화 시킨다[도 126-(c)]. 제어 회로(5048b)는 BUSY 신호(/BSYA)가 비활성화되고 리버스 신호(RVS)가 저레벨이 됨에 따라 인에이블 신호(/ENB)를 비활성화시킨다[도 126-(d)].
클록 신호(CLKA 및 CLKB)가 다음 타이밍에 동기될 때는 기록 명령(WR)과 판독 명령(RD)이 각각 제공된다[도 126-(e)]. 기록 명령(WR)과 판독 명령(RD)에 따라, 리버스 신호(RVS)를 생성하는 제어 회로(도시되어 있지 않다)는 리버스 신호(RVS)를 활성화시킨다[도 126-(f)].
리버스 신호(RVS)가 활성화되면, 제어 회로(5048a 및 5048b)는 인에이블 신호(/ENA, /ENB)의 레벨을 각각 전환한다[도 126-(g)]. 이후, 입출력 포트(PORT-B)에 대한 판독 동작이 먼저 수행된다[도 126-(h)]. 판독 동작이 완료된 후, 리셋 신호(RESETB)가 활성화되고 리버스 신호(RVS)가 비활성화된다[도 126-(i)]. 리버스 신호(RESETB)가 비활성화되면 제어 회로(5048a 및 5048b)는 인에이블 신호(/ENA 및 /ENB)의 레벨을 그들 각각의 본래의 레벨로 되돌린다[도 126-(j)]. 이어서, 인에이블 신호(/ENA)의 활성화에 따라 입출력 포트(PORT-A)에 대한 판독 동작이 수행된다[도 126-(k)].
판독 동작이 완료된 후, 리셋 신호(RESETA)가 활성화되고[도 126-(l)], BUSY 신호(/BSYB)가 비활성화된다[도 126-(m)]. BUSY 신호(/BSYB)가 비활성화되면, 제어 회로(5048a)는 인에이블 신호(/ENA)를 비활성화시킨다[도 126-(n)]. 본 실시예에서의 이러한 방법에 있어서, 행 어드레스 신호(RA)가 동일하고, 첫 번째 도달 명령이기록 동작을 요구한 후 두 번째 도달 명령이 판독 명령을 요구하게 되면, 먼저 판독 동작을 수행하도록 메모리 코어(5040)가 제어된다. 다중 포트 메모리를 포함하는 DRAM 등의 메모리 LSI에 있어서는, 기록될 데이터를 수신한 후 메모리 코어를 구동시킴으로써 기록 동작을 수행하고, 먼저 메모리 코어를 구동시킨 다음 데이터를 출력시킴으로써 판독 동작이 이루어지게 된다. 따라서, 기록 동작이 이루어진 후 판독 동작이 수행될 때, 전체의 동작 주기가 통상 길어지게 되는 것이다. 본 실시예에 있어서, 판독 동작과 기록 동작이 충돌하게 되면, 판독 동작이 먼저 수행됨으로써 전체 동작 주기를 줄일 수 있으며, 데이터 신호를 전송하는 데이터 버스를 보다 효율적으로 사용할 수 있게 된다.
다음에, 제3 실시예에 따른 다중 포트 메모리(M)의 동작을 설명한다.
도 127은 입출력 포트(PORT-A 및 PORT-B)가 활성 명령(ACT)과 동일 어드레스 신호(RA)를 수신할 때 판독 동작이 수행되는 방법을 나타낸다. 클록 신호(CLKA)의 위상은 클록 신호(CLKB)의 위상보다 조금 앞서있다. 즉, 활성 명령(ACT)을 입출력 포트(PORT-A)에 입력시키는 시간이 활성 명령(ACT)을 입출력 포트(PORT-B)에 입력시키는 시간보다 조금 앞선다는 것이다.
입출력 포트(PORT-A)에 대하여, 활성 명령(ACT)에 따라 판독 동작(READ)이 수행된다[도 127-(a)]. 메모리 셀로부터 판독된 데이터는 데이터 레지스터[5046a(또는 5046b)]에 기억된다. 입출력 포트(PORT-B)에 대하여는 활성 명령(ACT)에 따라 판독 동작(READ)이 수행된다[도 127-(b)]. 중재 회로(5034)의 제어하에서, 판독 동작(READA)이 완료된 후에 입출력 포트(PORT-B)에 대한 판독 동작(READB)이 수행된다[도 127-(c)]. 판독 동작(READB) 중 메모리 셀로부터 판독된 데이터는 데이터 레지스터[5046b(또는 5046a)]에 기억된다[도 127-(d)]. 이러한 방식에 있어서, 활성 명령(ACT)과 동일 행 어드레스 신호(RA)가 거의 동시에 입출력 포트(PORT-A 및 PORT-B)에 제공되는 경우에도, 각각의 입출력 포트(PORT-A 및 PORT-B)에 대해 판독 동작(또는 기록 동작)이 성공적으로 수행된다. 판독 동작(READA 및 READB)이 각각 완료된 후 메모리 코어(5040)가 자동으로 프리챠지되어 메모리 주기가 완료된다.
데이터 레지스터(5046a)에 기억된 데이터 중 입출력 포트(PORT-A)에 상응하는 복원된 데이터는 도시된 5번째 클록 신호(CLKA)로부터 8번째 클록 신호(CLKA)에 동기되어 판독 명령(RD)이 입력된 후 출력 데이터(Q0-Q3)로서 성공적으로 출력된다[도 127-(e)]. 데이터 레지스터(5046)에 기억된 데이터 중 입출력 포트(PORT-B)에 상응하는 복원된 데이터는 도시된 5번째 클록 신호(CLKB)로부터 8번째 클록 신호(CLKB)에 동기되어 판독 명령(RD)이 입력된 후 출력 데이터(Q0-Q3)로서 성공적으로 출력된다[도 127-(f)].
입출력 포트(PORT-A 및 PORT-B)는 첫 번째 활성 명령(ACT)을 수신하고 4회의 클록 후에 다음 활성 명령(ACT)을 수신하며, 판독 동작(READA 및 READB)을 각각 수행한다[도 127-(g), (h)]. 활성 명령(ACT)이 4회의 클록 주기마다 하나씩 제공된다면, 어떠한 공차 없이도 복원된 데이터를 연속해서 출력(즉, 공차가 없는 판독)할 수 있게 된다. 또, 4회의 클록 주기마다 활성 명령(ACT)을 하나씩 수신함으로써 랜덤 액세스 동작이 이루어지게 된다.
도 128은 활성 명령(ACT)과, 상이한 행 어드레스 신호(RA)가 입출력포트(PORT-A 및 PORT-B)에 제공될 때 판독 동작이 수행되는 방법을 나타내고 있다.
활성 명령(ACT)과 행 어드레스 신호(RA)가 먼저 수신되었던 입출력 포트(PORT-A)에 대하여는, 활성 명령(ACT)에 따라 판독 동작(READA)이 수행된다[도 128-(a)]. 메모리 셀로부터 판독된 데이터는 데이터 레지스터(5046a)에 기억된다[도 128-(b)]. 입출력 포트(PORT-B)에 대하여는, 판독 동작(READA)에 대해 다른 메모리 코어(5040)에 관한 판독 동작(READB)이 활성 명령(ACT)에 따라 수행된다[도 128-(c)]. 즉, 판독 동작(READA 및 READB)은 서로 독립적으로 수행된다. 판독 동작(READB)에 의해 메모리 셀로부터 판독된 데이터는 데이터 레지스터(5046b)에 기억된다[도 128-(d)].
데이터 레지스터(5046a)에 기억된 복원 데이터는 도시된 5번째 클록 신호(CLKA)로부터 8번째 클록 신호(CLKA)에 동기되어 판독 명령(RD)이 입력된 후 출력 데이터(Q0-Q3)로서 성공적으로 출력된다[도 128-(e)]. 데이터 레지스터(5046)에 기억된 데이터 중 입출력 포트(PORT-B)에 상응하는 복원된 데이터는 도시된 5번째 클록 신호(CLKB)로부터 8번째 클록 신호(CLKB)에 동기되어 판독 명령(RD)이 입력된 후 출력 데이터(Q0-Q3)로서 성공적으로 출력된다[도 128-(f)].
입출력 포트(PORT-A 및 PORT-B) 양쪽 모두는 첫 번째 활성 명령(ACT) 이후의 다음 활성 명령(ACT) 4회의 클록을 수신하며, 또한 판독 동작(READA 및 READB)를 각각 수행한다[도 128-(g) 및 (h)].
도 129는 입출력 포트(PORT-A 및 PORT-B)가 활성 명령(ACT) 및 동일 행 어드레스 신호(RA)를 수신할 때 기록 동작이 수행되는 방법을 도시한다.
입출력 포트(PORT-A 및 PORT-B)에 있어서, 기록 명령(WR), 열 어드레스 신호(CA) 및 제1 기록 데이터(Q0과 Q0)는 활성 명령(ACT)을 수신하는데 사용되는 상승 에지 다음에 뒤따르는 각각의 클록 신호(CLKA 및 CLKB)의 상승 에지에 동기하여 공급된다[도 129-(a) 및 (b)]. 그 후, 기록 데이터(Q1 내지 Q3 및 Q0 내지 Q3)는 각각의 클록 신호(CLKA 및 CLKB)에 동기하여 공급된다[도 129-(c) 및 (d)]. 기록 데이터(Q0 내지 Q3 및 Q0 내지 Q3)는 별도의 데이터 레지스터(5046a 및 5046b)에 각각 기억된다[도 129-(e) 및 (f)]. 먼저, 활성 명령(ACT) 및 행 어드레스 신호(RA)를 수신하는 입출력 포트(PORT-A)에 대하여는, 기록 동작(WRITEA)이 기록 데이터(Q3)를 얻는 클록 신호(CLKA)의 특정 타이밍에 동기하여 수행된다[도 129-(g)]. 입출력 포트(PORT-B)에 상응하는 기록 동작(WRITEB)은 기록 동작(WRITEA)을 완료한 후 수행된다[도 129-(h)]. 기록 동작(WRITEA 및WriteB)을 통하여, 각각의 데이터 레지스터(5046a 및 5046b)에 기억된 기록 데이터(Q0 내지 Q3 및 Q0 내지 Q3)가 열 어드레스 신호(CA)에 상응하는 메모리 셀에 기록됨으로써, 기록 동작이 완료된다.
또한, 기록 동작에 있어서, 기록 데이터 세트가 4회의 클록 주기마다 한 번 공급되기 때문에, 기록 데이터가 소정 간격이 없이 연속해서 입력될 수 있다[즉, 공차가 없는 기록].
도 130은 기록 동작 및 판독 동작이 입출력 포트(PORT-A)에 대하여 연속해서 수행되며, 입출력 포트(PORT-A)의 기록 동작에서와 같은 동일 행 어드레스 신호(RA)와 관련된 기록 동작 및 입출력 포트(PORT-A)의 판독 동작에서와 같은 동일 행 어드레스 신호(RA)와 관련된 기록 동작이 입출력 포트(PORT-B)에 대하여 연속해서 수행되는 경우를 도시한다. 첫 번째 기록 동작의 타이밍은 도 127에 도시된 기록 동작의 타이밍과 동일하며, 기록 동작의 타이밍에 대한 설명은 생략한다.
입출력 포트(PORT-B)에 있어서, 두 번째 기록 동작에 상응하는 활성 명령(ACT)은 도 127에서와 동일한 타이밍으로 공급된다[도 130-(a)]. 명령 신호(CMDA)가 입출력 포트(PORT-A)에 공급되지 않기 때문에, 기록 동작(WRITEB)은 기록 데이터(Q0 내지 Q3)를 얻은 바로 직후 수행된다[도 130-(b)].
입출력 포트(PORT-A)에 있어서, 다음 활성 명령(ACT)이 도 130에서 도시된 7번째 클록 신호(CLKA)에 동기하여 공급된다[도 130-(c)]. 도시하지는 않았지만, 입출력 포트(PORT-B)에 대한 인에이블 신호(/ENB)는 이 특정 순간에 활성화된다. 그 결과, 판독 동작(READA)은 기록 동작(WRITEB)을 완료한 후 수행된다[도 130-(d)]. 다중 포트 메모리(M)가 각각의 명령이 수신된 순서로 기록 동작(WRITEB) 및 판독 동작(READA)을 수행하기 때문에, 기록 동작이 완료되기 전에 메모리 셀의 데이터가 판독될 기회가 없다.
또한, 입출력 포트(PORT-A)가 검색된 데이터로서 출력될 수 있기 때문에, 이 데이터는 입출력 포트(PORT-B)에 상응하는 데이터 레지스터(5046b)에 기억되며, 입출력 포트(PORT-B)의 기록 동작(WRITEB) 이전에 입출력 포트(PORT-A)의 판독 동작(READA)을 수행하는 것이 가능하다.
도 131은 기록 동작 및 판독 동작이 입출력 포트(PORT-A)에 대하여 연속해서 수행되며, 입출력 포트(PORT-A)의 기록 동작에서와 같은 동일 행 어드레스신호(RA)와 관련된 판독 동작 및 입출력 포트(PORT-A)의 판독 동작에서와 같은 동일 행 어드레스 신호(RA)와 관련된 기록 동작은 입출력 포트(PORT-B)에 대하여 연속해서 수행되는 경우를 도시한다. 입출력 포트(PORT-A)에 대한 첫 번째 기록 동작의 타이밍과 입출력 포트(PORT-B)에 대한 첫 번째 판독 동작의 타이밍이 도 129에 도시된 기록 동작 및 도 128에 도시된 판독 동작과 각각 동일하다.
입출력 포트(PORT-A)에 있어서, 활성 명령(ACT) 및 판독 명령(RD)는 도 131에 도시된 7번째와 8번째 클록 신호(CLKA)에 동기하여 공급된다[도 131-(a)]. 활성 명령(ACT)이 이 특정 순간에 입출력 포트(PORT-B)에 공급되지 않기 때문에, 입출력 포트(PORT-A)에 대한 판독 동작(READA)이 수행된다[도 131-(b)].
다음에, 입출력 포트(PORT-B)에 있어서, 활성 명령(ACT) 및 기록 명령(WR)은 도 131에 도시된 8번째와 9번째 클록 신호(CLKB)에 동기하여 공급된다[도 131-(c)]. 데이터(Q0 내지 Q3)를 수신한 후, 입출력 포트(PORT-B)에 대한 기록 동작(도시하지 않음)이 수행된다.
도 132는 행 어드레스 신호(RA)가 클록 신호(CLKA 및 CLKB)가 상이한 클록 주기를 갖는 경우에 서로 일치되는 입출력 포트(PORT-A 및 PORT-B)에 공급될 때 수행되는 동작을 도시한다. 이 예에 있어서, 클록 신호(CLKB)의 주기는 클록 신호(CLKA)의 주기의 2배이다.
입출력 포트(PORT-A)에 있어서, 활성 명령(ACT) 및 판독 명령(RD)의 세트는 4회의 클록 주기마다 한 번 공급되며, 판독 동작이 도 127에서와 동일한 방법으로 수행된다. 또한, 입출력 포트(PORT-B)에 있어서, 활성 명령(ACT) 및 판독 명령(RD)의 세트는 4회의 클록 주기마다 한 번 공급된다. 첫 번째 활성 명령(ACT)을 입출력 포트(PORT-B)에 입력하는 것은 첫 번째 활성 명령(ACT)을 입출력 포트(PORT-A)에 입력하는 것보다 늦다[도 132-(a)]. 상기한 바 때문에, 판독 명령(READB)은 도 127의 경우에서와 마찬가지로 판독 명령(READA) 이후에 수행된다[도 132-(b)]. 입출력 포트(PORT-B)의 다음 활성 명령(ACT)에 상응하는 다음 판독 동작(READB)은 두 개의 판독 동작(READA) 사이에 수행된다[도 132-(c)].
이 실시예는 상기한 제1 실시예와 동일한 이점을 제공할 수 있다. 또한, 이 실시예는 메모리 코어(5040)의 동작 주기의 두배 이상인 활성 명령(ACT)의 기간을 각각의 입출력 포트(PORT-A 및 PORT-B)에서 사용한다. 상기한 바 때문에, 입출력 포트(PORT-A 및 PORT-B)에 공급되는 행 어드레스 신호(RA)가 동일하게 공급되더라도, 판독 동작 및 기록 동작이 각 포트에 대하여 확실히 수행될 수 있다. 따라서, 다중 포트 메모리(M)를 제어하는 제어기는 다중 포트 메모리(M)의 BUSY 상태를 검출할 필요가 없다. 따라서, (하드웨어 및 소프트웨어에 대한) 제어기의 제어는 단순화된다.
도 133은 다중 포트 메모리의 제4 실시예 및 본 발명(제5 형태)에 따른 다중 포트 메모리를 제어하는 방법을 도시한다. 제1 및 제3 실시예에서와 동일한 소자는 동일한 참조번호로 참조되며, 동일 소자에 대한 설명은 생략한다.
이 실시예에 있어서, 페이지 버퍼(5050a 및 5050b)는 상기한 제3 실시예의 데이터 레지스터(5046a 및 5046b) 대신에 설치된다. 페이지 버퍼(5050a 및 5050b)는 적어도 하나의 입출력 포트(PORT-A 및 PORT-B)와 관련되어 동작한다. 다른 구성은 제3 실시예에서와 거의 동일하다.
페이지 버퍼(5050a 및 5050b)는 각각 메모리 코어(5040)의 모든 메모리 셀의 데이터를 기억하는 래치를 포함한다. 판독 동작 및 기록 동작 개시시에, 선택된 메모리 코어(5040)의 메모리 셀에 기억되어 있는 데이터는 페이지 버퍼(5050a 또는 5050b)로 판독된다. 판독 동작에 있어서, 페이지 버퍼(5050a)에 래치된 데이터는 열 어드레스 신호(CA)에 응답하여 데이터 신호로서 출력된다. 기록 동작에 있어서, 데이터 신호는 먼저 열 어드레스 신호(CA)에 따라 페이지 버퍼(5050a)에 기록된다. 그 후, 페이지 버퍼(5050a)의 데이터는 기록 동작을 완료한 시각에 메모리 셀에 기록된다.
다음에, 제4 실시예의 다중 포트 메모리(M)의 동작이 설명된다.
도 134는 입출력 포트(PORT-A 및 PORT-B)가 활성 명령(ACT) 및 동일 행 어드레스 신호(RA)를 수신할 때 판독 동작이 수행되는 방법을 도시한다. 클록 신호(CLKA)의 위상은 클록 신호(CLKB)의 위상보다 약간 앞에 있다. 즉, 입출력 포트(PORT-A)에 입력되는 활성 명령(ACT)는 입출력 포트(PORT-B)에 입력되는 활성 명령(ACT)보다 약간 앞에 있다.
입출력 포트(PORT-A)에 있어서, 판독 동작(READA)는 활성 명령(ACT)에 응답하여 수행한다[도 134-(a)]. 데이터는 판독 동작(READA)에 의해 선택된 메모리 코어(5040)의 모든 메모리로부터 판독되며, 검색된 데이터는 페이지 버퍼(5050a 또는 5050b) 중 어느 하나에 기억된다[도 134-(b)]. 한편, 입출력 포트(PORT-B)에 있어서, 행 어드레스 신호(RA)는 입출력 포트(PORT-A)에 공급되는 것과 동일하기 때문에, 활성 명령(ACT)에 상응하는 판독 동작은 수행되지 않는다.
입출력 포트(PORT-A)에 있어서, 판독 명령(RD)는 도 134에 도시된 1번째와 5번째 클록 신호(CLKA)에 동기하여 공급된다. 페이지 버퍼(5050a)에 기억되어 있는 데이터는 각각의 판독 명령(RD)을 수신한 후 5번째 내지 12번째 클록 신호(CLKA)에 동기하여 데이터(Q0 내지 Q7)를 출력으로서 연속해서 출력한다. 즉, 페이지 판독 동작이 수행된다.
동일한 이유로, 입출력 포트(PORT-B)에 있어서, 판독 명령(RD)은 도 134에 도시된 1번째와 5번째 클록 신호에 동기하여 공급된다[도 134-(f) 및 (g)]. 페이지 버퍼(5050a)에 기억되어 있는 데이터는 각각의 판독 명령(RD)을 수신한 후 5번째 내지 12번째 클록 신호(CLKB)에 동기하여 데이터(Q0 내지 Q7)를 출력으로서 연속해서 출력한다. 이 방법에 있어서, 행 어드레스 신호(RA)가 동일하면, 하나의 페이지 버퍼(5050a 또는 5050b)는 입출력 포트(PORT-A 및 PORT-B)에 의하여 공유된다.
입출력 포트(PORT-A, PORT-B)는 모두 첫 번째 활성 명령(ACT)[도 134-(i) 및 (j)]을 수신한 이후에 활성 명령(ACT) 8회 클록 주기를 수신한다. 행 어드레스 신호(RA)는 동일하기 때문에, 판독 동작(READA)만이 수행된다. 입출력 포트에 따른 판독 동작(READB)은 수행되지 않는다. 판독 데이터는 4회의 클록 주기마다 한 번의 판독 명령을 공급하는 만큼의 공차 없이 계속적으로 출력될 수 있다(즉, 공차가 없는 판독).
도 135는 활성 명령(ACT)과 상이한 어드레스 신호(RA)가 입출력 포트(PORT-A 및 PORT-B)로 공급되는 경우, 판독 동작이 수행되는 방법을 도시한다. 입출력포트(PORT-A)에 응답하는 판독 동작의 타이밍은 도 134의 타이밍과 동일하다.
활성 명령(ACT) 및 행 어드레스 신호(RA)를 먼저 수신하는 입출력 포트(PORT-A)에서, 활성 명령(ACT)에 응답하여 판독 동작(READA)이 수행된다[도 135-(a)]. 메모리 코어(5040)의 모든 메모리 셀로부터의 판독 데이터는 페이지 버퍼(5050a)에 기억된다[도 134-(b)].
입출력 포트(PORT-B)에서, 판독 동작(READB)은 판독 동작(READA)의 타이밍과는 다른 타이밍으로 메모리 코어에 따라 활성 명령에 응답하여 수행된다[도 135-(c)]. 데이터는 판독 동작(READB)에 의하여 메모리 코어(5040)의 모든 메모리 셀로부터 판독되어 페이지 버퍼(5050b) 내에 기억된다[도 135-(d)]. 그 이후에, 판독 동작은 도 134와 관련하여 기술한 방법과 같은 방법으로 수행된다. 이 방법에서, 행 어드레스 신호(RA)가 서로 다른 경우, 판독 동작(READA) 및 판독 동작(READB)은 독립적으로 수행되어, 검색된 데이터가 개별적인 페이지 버퍼(5050a 및 5050b)에 각각 기억된다.
도 136은 활성 명령(ACT) 및 동일한 행 어드레스 신호(RA)가 입출력 포트(PORT-A 및 PORT-B)에 공급되어 기록 동작이 수행되고, 이어서 활성 명령(ACT) 및 상이한 행 어드레스 신호(RA)가 공급되어 결국은 기록 동작이 수행되는 경우를 도시한다.
입출력 포트(PORT-A 및 PORT-B)에 있어서, 활성 명령(ACT) 및 동일한 행 어드레스 신호(RA)는 클록 신호(CLKA 및 CLKB)의 각각의 상승 에지에 동기되어 공급된다. 도 133에 도시된 중재 회로(5034)는 입출력 포트(PORT-A)가 먼저 활성명령(ACT)을 수신하여 판독 동작(READA)을 수행함으로써, 데이터를 메모리 셀로부터 페이지 버퍼(5050a 또는 5050b)로 확실하게 전송한다[도 136-(a)].
데이터는 판독 동작(READA)에 의하여 선택된 메모리 코어(5040)의 모든 메모리 셀로부터 판독된어 페이지 버퍼(5050a 또는 5050b)에 기억된다[도 136-(b)]. 반면에, 행 어드레스 신호(RA)는 입출력 포트(PORT-A)에 공급된 신호와 동일하므로, 입출력 포트(PORT-A)에서, 판독 동작은 활성 명령(ACT)에 응답하여 수행되지 않는다.
이에 따라, 입출력 포트(PORT-A)에서 기록 명령(WR) 및 열 어드레스 신호(CA)가 도면에 도시된 첫 번째 및 5번째 클록 신호(CLKA)에 동기되어 공급된다[도 136-(c) 및 (d)]. 클록 신호(CLKA)에 동기되어 연속해서 공급되는 기록 데이터(Q0-Q7)가 페이지 버퍼(5050a)에 기록된다[도 136-(e)]. 즉, 페이지 기록 동작이 수행된다.
입출력 포트(PORT-A)에서, 기록 명령(WR) 및 열 어드레스 신호(CA)가 도면에 도시된 첫 번째 및 5번째 클록 신호(CLKB)에 동기되어 공급된다[도 136-(f) 및 (g)]. 클록 신호(CLKA)에 동기되어 연속해서 공급되는 기록 데이터(Q0-Q7)가 공통 페이지 버퍼(5050a)에 기록된다[도 136-(h)]. 이와 같이 하여, 행 어드레스 신호(RA)가 동일한 경우, 동일한 페이지 버퍼(5050a 또는 5050b)가 기록 동작 중에 입출력 포트(PORT-A)에 의하여 공유된다.
활성 명령(ACT) 및 행 어드레스 신호(RA)를 먼저 수신하는 입출력 포트(PORT-A)에서, 기록 동작(WRITEA)은 클록 신호(CLKA)의 특정 타이밍, 즉 기록데이터(Q7)가 획득된 타이밍에 동기하여 수행된다[도 136-(i)]. 입출력 포트(PORT-B)에 응답하는 기록 동작(WRITEB)은 기록 동작(WRITEA)이 완료된 이후에 수행된다[도 136-(j)].
그 이후에, 입출력 포트(PORT-A 및 PORT-B)에서, 활성 명령 및 서로 다른 행 어드레스 신호(RA)가 클록 신호(CLKA 및 CLKB)의 각각의 상승 에지에 동기하여 공급된다. 도 133에 도시된 중재 회로(5034)는 입출력 포트(PORT-A)가 먼저 활성 명령(ACT)을 수신하여 연속하여 판독 동작(READA, READB)을 확실하게 수행한다는 것을 도시하고 있다[도 136-(k) 및 (l)]. 데이터는 판독 동작(READA)에 의하여 메모리 코어(5040)의 모든 메모리 셀로부터 판독되어 페이지 버퍼(5050a 또는 5050b) 내에 기억된다[도 135-(m)]. 또한, 데이터는 판독 동작(READB)에 의하여 메모리 코어(5040)의 모든 메모리 셀로부터 판독되어 다른 페이지 버퍼(5050a 또는 5050b) 내에 기억된다[도 135-(n)].
입출력 포트(PORT-A)에서 판독 명령(RD) 및 열 어드레스 신호(CA)가 도면에 도시된 13번째 및 17번째 클럭 신호(CLKA)에 동기되어 공급된다[도 136-(o) 및 (p)]. 클록 신호(CLKA)에 동기되어 연속해서 공급되는 기록 데이터(Q0-Q7)가 페이지 버퍼(5050a)에 기억된다[도 136-(q)].
마찬가지로, 입출력 포트(PORT-A)에서 기록 명령(WD) 및 열 어드레스 신호(CA)가 도면에 도시된 13번째 및 17번째 클럭 신호(CLKB)에 동기되어 공급된다[도 136-(r) 및 (s)]. 클록 신호(CLKB)에 동기되어 연속해서 공급되는 기록 데이터(Q0-Q7)가 페이지 버퍼(5048b)에 기록된다[도 136-(t)]. 이와 같이 하여,페이지 버퍼(5050a, 5050b)가 사용되며, 이때 행 어드레스 신호(RA)는 상이하다.
활성 명령(ACT) 및 행 어드레스 신호(RA)를 먼저 수신하는 입출력 포트(PORT-A)에서, 기록 동작(WRITEA)은 클록 신호(CLKA)의 특정 타이밍, 즉 기록 데이터(Q7)가 획득된 타이밍에 동기하여 수행된다[도 136-(i)]. 입출력 포트(PORT-B)에 응답하는 기록 동작(WRITEB)은 기록 동작이 기록 동작(WRITEA)이 완료된 이후에 수행된다[도 136-(u)]. 입출력 포트(PORT-B)에 응답하는 기록 동작(WRITEB)은 기록 동작(WRITEA)이 완료된 이후에 수행된다[도 136-(v)]. 기록 동작(WRITEA 및 WRITEB)을 통하여 페이지 버버(5050a, 5050b)에 기억된 기록 데이터(Q0-Q7)는 열 어드레스 신호(CA)에 응답하는 각각의 메모리 셀에 기록됨으로, 기록 동작을 완료하게 된다.
도 137은 활성 명령(ACT) 및 동일한 행 어드레스 신호(RA)가 입출력 포트(PORT-A 및 PORT-B)에 공급되어 기록 동작이 수행되고, 이어서 활성 명령(ACT) 및 상이한 행 어드레스 신호(RA)가 공급되어 결국은 판독 동작이 입출력 포트(PORT-A)에서 수행되고, 기록 동작이 입출력 포트(PORT-B)에서 수행되는 경우를 도시한다. 첫 번째 기록 동작의 타이밍은 도 137의 타이밍과 동일하므로, 이의 상세한 설명은 생략한다.
입출력 포트(PORT-A 및 PORT-B)에 있어서, 활성 명령(ACT) 및 동일한 행 어드레스 신호(RA)가 도면에 도시한 12번째 클록 신호(CLKA 및 CLKB)의 각각의 상승 에지에 동기되어 공급된다[도 137-(a) 및 (b)]. 도 133에 도시한 중재 회로(5034)는 입출력 포트(PORT-A)가 먼저 활성 명령(ACT)을 수신하여 판독 동작(READA)을 확실하게 수행한다는 것을 도시하고 있다[도 137-(c)]. 데이터는 판독 동작(READA)에 의하여 메모리 코어(5040)의 모든 메모리 셀로부터 판독되어 페이지 버퍼(5050b) 내에 기억된다[도 137-(d)]. 입출력 포트(PORT-B)에 있어서, 행 어드레스 신호(RA)는 입출력 포트(PORT-A)에 공급된 신호와 동일하므로, 활성 명령(ACT)에 응답하는 기록 동작은 수행되지 않는다.
그 이후에, 입출력 포트(PORT-A, PORT-B)에서, 판독 명령(RD)이 도면에 도시된 13번째 및 17번째 클록 신호(CLKA)에 동기되어 공급된다[도 137-(e) 및 (f)]. 페이지 버퍼(5050a)에 기억된 데이터가 각각의 기록 명령(RD)을 수신한 이후에 도면에 도시한 17번째 내지 24번째의 클록 신호(CLKA)에 동기된 출력 데이터(Q0-Q7)로서 연속해서 출력된다[도 137-(g)].
입출력 포트(PORT-A)에서, 기록 명령(WR)이 도면에 도시한 13번째 및 17번째 클록 신호(CLKB)에 동기되어 공급된다[도 137-(h) 및 (i)]. 클록 신호(CLKB)에 동기되어 연속해서 공급되는 기록 데이터(Q0-Q7)가 공통 사용 페이지 버퍼(5050a)에 기록된다[도 137-(j)].
입출력 포트(PORT-A)에서, 기록 동작(WRITEA)은 그에 따라 클록 신호(CLKB)의 특정 타이밍, 즉 기록 데이터(Q7)가 획득된 타이밍에 동기하여 수행된다[도 136-(k)].
도 138은 활성 명령(ACT) 및 동일한 행 어드레스 신호(RA)가 입출력 포트(PORT-A 및 PORT-B)에 공급되어 기록 동작 및 판독 동작이 수행되고, 이어서 활성 명령(ACT) 및 상이한 행 어드레스 신호(RA)가 공급되어 결국은 기록 동작 및판독 동작이 수행되는 경우를 도시한다.
입출력 포트(PORT-A 및 PORT-B)에 있어서, 활성 명령(ACT) 및 동일한 행 어드레스 신호(RA)가 클록 신호(CLKA 및 CLKB)의 상승 에지에 동기되어 공급된다[도 138-(a) 및 (b)]. 중재 회로(5034)는 입출력 포트(PORT-A)가 먼저 활성 명령(ACT)을 수신하여 판독 동작(READA)을 수행할 것인지를 판단한다[도 138-(c)]. 데이터는 판독 동작(READA)에 의해 선택된 메모리 코어(5040)의 모든 메모리 셀로부터 판독되어 페이지 버퍼(5050a 및 5050b) 내에 기억된다[도 138-(d)]. 반면에, 입출력 포트(PORT-B)에서, 행 어드레스 신호(RA)는 입출력 포트(PORT-A)에 공급된 신호와 동일하므로, 판독 동작은 활성 명령(ACT)에 응답하여 수행되지 않는다.
그 이후에, 입출력 포트(PORT-A)에서, 기록 명령(WR)이 첫 번째 및 5번째 클록 신호(CLKA)에 동기되어 공급된다[도 138-(e) 및 (f)]. 클록 신호(CLKA)에 동기되어 연속해서 공급되는 기록 데이터(Q0-Q7)가 페이지 버퍼(5050a)에 기록된다[도 138-(g)].
입출력 포트(PORT-B)에 있어서, 판독 명령(RD)은 제1 및 제5 클록 신호(CLKB)에 동기하여 공급된다[도 138-(h) 및 (i)]. 페이지 버퍼(5050a)에 기억된 데이터는 각 판독 명령(RD)을 수신한 후 클록 신호(CLKB)의 제5 내지 제12 타이밍에 동기하여 차례 차례로 출력 데이터(Q0-Q7)로서 출력된다[도 138-(j)]. 입출력 포트(PORT-A)에 있어서, 기록 동작(WRITEA)은 기록 데이터(Q7)를 획득하는 클록 신호(CLKA)의 특정 타이밍에 동기하여 수행된다[도 138-(k)].
그 후, 입출력 포트(PORT-A 및 PORT-B)에 있어서, 활성 명령(ACT) 및 서로상이한 행 어드레스 신호(RA)는 클록 신호(CLKA 및 CLKB)의 상승 에지에 동기하여 공급된다[도 138-(l) 및 (m)]. 중재 회로(5034)는 활성 명령(ACT)이 처음으로 입출력 포트(PORT-A)에 공급되는지를 확인하여, 판독 동작(READA 및 READB)을 성공적으로 수행한다[도 1380(n) 및 (o)]. 데이터는 판독 동작(READA)에 의하여 선택된 메모리 코어(5040)의 모든 메모리 셀로부터 판독되고, 판독 데이터는 페이지 버퍼(5050a)[또는 (5050b)] 중 하나에 기억된다[도 138-(p)]. 또한, 데이터는 판독 동작(READB)에 의하여 선택된 메모리 코어(5040)의 모든 셀로부터 판독되고, 판독 데이터는 페이지 버퍼(5050b)[또는 (5050a)]의 나머지 하나에 기억된다[도 138-(q)].
입출력 포트(PORT-A)에 있어서, 기록 명령(WR)은 클록 신호(CLKA)의 제13 및 제17 타이밍에 동기하여 공급된다[도 136-(r) 및 (s)]. 클록 신호(CLKA)에 동기된 후에 제공된 기록 데이터(Q0-Q7)는 페이지 버퍼(5050a)내에 기록된다[도 138-(t)].
마찬가지로, 입출력 포트(PORT-B)에 있어서, 기록 명령(WR)은 클록 신호(CLKB)의 제13 및 제17 타이밍에 동기되어 공급된다[도 136-(u) 및 (v)]. 클록 신호(CLMB)에 동기된 후 공급된 기록 데이터(Q0-Q7)는 페이지 버퍼(5050b)내에 기록된다[도 136-(w)].
이 실시예는 전술한 제3 실시예와 동일한 이점을 제공할 수 있다. 또한, 이 실시예에 있어서, 메모리 코어(5040)의 모든 메모리 셀에 대하여 임시 데이터 기억 장치로서의 역할하는 페이지 버퍼(5050a 및 5050b)는 데이터 래치(28)와 메모리 코어(5040) 사이에 위치된다. 이에 의해서, 다중 포트 메모리(M)가 페이지 판독 동작및 페이지 기록 동작을 수행하는 것이 가능하다.
동일한 행 어드레스 신호(RA)가 입출력 포트(PORT-A 및 PORT-B)로 공급되는 경우, 동일한 페이지 버퍼(5050a)가 공유된다. 이에 의해서, 메모리 셀에 기록될 데이터가 덧씌여지는 동작에 의해서 파괴되는 것이 방지된다.
동일한 행 어드레스 신호(RA)가 입출력 포트(PORT-A 및 PORT-B)에 공급된 경우, 판독 동작은 이 포트들 중 어느 하나에만 응답하여 수행된다. 그 때문에, 동작 동안에 전력 소모는 각각의 판독 동작이 양쪽 포트에 대하여 수행된 경우와 비교하여 감소될 수 있다. 페이지 버퍼(5050a 및 5050b)의 사용으로 인하여, 심지어 페이지 동작이 수행되는 경우에도, 다중 포트 메모리(M)를 제어하여 다중 포트 메모리(M)의 BUSY 상태를 검출하는 제어기가 필요하지 않게 된다. 그 결과, 제어기 또는 그런 종류의 다른 것들의 제어(하드웨어 및 소프트웨어의 관점에서)가 용이해진다.
도 139는 다중 포트 메모리의 제5 실시예에 따른 다중 포트 메모리(M)의 동작 및 본 발명의 다중 포트 메모리 제어 방법을 도시한다. 제4 실시예의 구성 요소와 동일한 구성 요소들이 동일한 숫자로 인용되지만, 이것의 상세한 설명은 생략될 것이다.
이 실시예에는 일반적인 버스트 동작에 대한 판독 명령(RD)과 기록 명령(WR) 및 페이지 동작에 대한 판독 명령(PRD)과 기록 명령(PWR_이 제공된다. 다중 포트 메모리(M)의 회로 구성은 제4 실시예의 회로 구성과 상당히 동일하다.
도 139에 있어서, 활성 명령(ACT) 및 동일한 행 어드레스 신호(RA)는 입출력포트(PORT-A 및 PORT-B)에 공급된다[도 139-(a) 및 (b)]. 클록 신호(CLKA 및 CLKB)의 새로운 주기에 동기됨에 있어서, 판독 명령(PRD)이 공급되고[도 139-(c) 및 (d)], 페이지 판독 동작이 수행된다[도 139-(e)]. 페이지 판독 동작의 타이밍은 도 134의 타이밍과 동일하지만, 이것의 상세한 설명은 생략될 것이다.
이후에, 활성 명령(ACT) 및 동일한 행 어드레스 신호(RA)는 입출력 포트(PORT-A 및 PORT-B)에 공급된다[도 139-(f) 및 (g)]. 클록 신호(CLKA 및 CLKB)의 새로운 주기에 의하여 동기화됨에 있어서, 판독 명령(RD)이 공급된다[도 139-(h) 및 (i)]. 판독 동작(READA 및 READB)은 각각의 입출력 포트(PORT-A 및 PORT-B)에 대하여 성공적으로 수행된다[도 139-(j) 및 (k)]. 즉, 일반적인 판독 동작(즉, 버스트 판독 동작]이 수행된다.
이 실시예는 전술한 제4 실시예와 동일한 이점을 제공할 수 있다. 이 실시예가 페이지 동작에 대한 명령(PRD 및 PWR) 뿐만 아니라 일반적인 동작에 대한 명령(RD 및 WR)을 준비하기 때문에, 다중 메모리(M)는 페이지 동작을 수행할 뿐 아니라 공급된 명령 신호에 응답하여 정상 동작을 수행할 것이다.
전술한 실시예들은 본 발명을 어드레스 신호를 다중화하는 어드레스 다중화형의 다중 포트 메모리에 적용하는 것에 촛점을 맞추었다. 이 발명은 이 특정 실시예에만 한정되는 것이 아니다. 예컨대, 본 발명은 어드레스 신호를 즉시 수신하는 어드레스 비다중화형의 다중 포트 메모리에 적용될 것이다.
전술한 실시예들은 본 발명을 두 개의 입출력 포트(PORT-A 및 PORT-B)를 구비하는 다중 포트 메모리(M)에 적용하는 것에 촛점을 맞추었다. 이 발명은 이 실시예에만 한정되는 것이 아니다. 예컨대, 본 발명은 4개의 입출력 포트를 구비하는 다중 포트 메모리에도 적용될 것이다. 이 경우에 있어서, 공급된 활성 명령(ACT)의 기간(타이밍 사양에 따라)은 메모리 코어의 동작 주기만큼 긴 4배 이상으로 설정된다.
전술한 실시예에 있어서, 본 발명을, 동기형 DRAM 메모리 코어를 구비한 다중 포트 메모리에 적용하는 예에 관하여 설명했다. 이 발명은 이 실시예의 종류에만 한정되지 않는다. 예컨대, 본 발명은 동기형 SRAM 메모리 코어를 구비한 다중 포트 메모리에 적용될 것이다.
또한, 전술한 다중 포트 메모리에 있어서, 메모리 코어 동작에 대한 요구는 명령 신호로서 입력될 것이다. 이러한 명령 신호는 클록 신호에 동기하여 입출력 포트의 명령 단자로 공급된다. 명령 신호는 메모리 블록의 특정 메모리 영역을 활성화하는 활성 명령과 이 메모리 영역내에서 수행될 판독 동작 또는 기록 동작 중 어느 한 동작을 표시하는 활동 명령로 분할될 것이고, 이들 명령는 성공적으로 제공될 것이다. 같은 이유로, 어드레스 신호는 또한 시분할을 기초하여 이후에 제공될 것이다. 판독 동작 주기 및 기록 동작 주기는 활성 명령의 공급 후에, 활동 명령에 미리 결정된 클록 주기를 공급함으로써 일정한 주기로 고정된다.
메모리 블록의 메모리 셀이 DRAM 셀로 구성되었다면, 리프레시 동작이 필요할 것이다. 리프레시 동작은 입출력 포트 중 어느 하나에 공급된 어드레스 신호에 의하여 표시되는 리프레시 어드레스에 관하여 수행된다. 이 구성은 다중 포트 메모리내에 제공된 제어 회로의 크기를 최소화할 수 있고, 이로써 칩의 크기를 감소시킬 수 있다.
메모리 셀에 결합된 비트선을 미리 결정된 전압으로 리셋하는 프리챠지 동작은 판독 동작 및 기록 동작 이후에 자동으로 수행된다. 이것에 의하여, 판독 동작 및 기록 동작이 각각의 동작의 시작에서부터 미리 결정된 시간 주기내에 완료되는 것이 가능하다. 즉, 판독 주기 시간 및 기록 주기 시간은 일정하게 고정될 수 있다.
또한, BUSY 단자는 각 입출력 포트에 대해 공급되어 BUSY 신호를 출력할 것이다. 이러한 BUSY 신호는, 입출력 포트 중 하나에 공급된 어드레스 신호가 입출력 포트 중 다른 하나에 공급된 신호와 동일한 경우 및 메모리 동작이 후자의 입출력 포트에 대하여 수행되는 경우에 출력된다. 이 구성으로, 다중 포트 메모리에 결합된 제어기는 요구된 동작이 수행되지 않았음을 쉽게 인지한다.
또한, 본 발명은 이 실시예로 한정되는 것이 아니고, 본 발명의 청구 범위를 벗어나지 않는 한에서 다양한 변경 및 변형이 이루어질 수 있다.
예컨대, 본 발명의 제1 내지 제5 형태에는 상승 에지와 하강 에지 중 하나만이 동기화 목적을 위해 사용되는 구성에 대하여 기술되었다. 그러나, 당업자들은 전술한 구성 중 어떤 것도 동기화 목적을 위해 사용된 상승 에지 및 하강 에지 모두에 DDR[double data rate: 데이터 배속] 동작을 일치시키기 위해 변형이 용이함을 이해할 것이다. 이러한 명백한 변형은 본 발명의 청구범위내에서 있도록 의도된다.
본 출원은 일본 특허청에 2000년 12월 20일자로 출원된 일본 우선권 출원 번호 제2000-387891호, 2001년 2월 9일자로 출원된 출원 번호 제2001-034361호, 2001년 2월 14일자로 출원된 출원 번호 제2001-037547호, 2000년 12월 27일자로 출원된 출원 번호 제2000-398893호 및 2000년 12월 27일자로 출원된 출원 번호 제2000-399052호에 기초하고, 이들의 전체 내용은 본 명세서에 인용되어 있다.

Claims (91)

  1. 각각 명령을 수신하는 복수 개의 N 외부 포트와,
    상기 외부 포트 중 하나에 입력되는 명령들의 최소 기간 중에 적어도 N 개의 액세스 동작을 수행하는 내부 회로를 포함하는 것인 반도체 메모리 장치.
  2. 제1항에 있어서, 상기 N 개의 외부 포트의 각각은 상기 반도체 메모리 장치의 외부로부터 클록 신호를 수신하기 위한 클록 단자를 포함하고, 상기 클록 신호와 동기하여 동작하는 것인 반도체 메모리 장치.
  3. 제2항에 있어서, 상기 N 개의 외부 포트의 각각은,
    수신된 직렬 데이터를 상기 외부 회로에 병렬 데이터로서 공급하는 회로와,
    상기 내부 회로로부터 공급된 병렬 데이터를 상기 반도체 메모리 장치의 외부로 직렬 데이터로서 출력하는 회로를 포함하는 것인 반도체 메모리 장치.
  4. 제1항에 있어서, 상기 N 개의 개개의 외부 포트에 입력된 복수 개의 명령을 실행하는 상기 내부 회로의 명령 실행 순서를 판단하는 중재 회로를 더 포함하는 것인 반도체 메모리 장치.
  5. 제4항에 있어서, 상기 N 개의 외부 포트의 각각은
    수신된 직렬 데이터를 상기 외부 회로에 병렬 데이터로서 공급하는 회로와,
    상기 내부 회로로부터 공급된 병렬 데이터를 상기 반도체 메모리 장치의 외부로 직렬 데이터로서 출력하는 회로를 포함하고,
    상기 N 개의 개개의 외부 포트로 입력되는 복수 개의 명령은 판독 명령과 기록 명령을 포함하며, 상기 중재 회로는 상기 판독 명령이 외부 포트에 입력되는 타이밍과 상기 기록 명령에 대한 직렬 입력 데이터 중 최종 데이터 아이템이 외부 포트에 입력되는 타이밍에 응답하여 명령 실행의 순서를 판단하는 것인 반도체 메모리 장치.
  6. 제4항에 있어서,
    상기 N 개의 개개의 외부 포트에 입력되는 상기 복수 개의 명령 중에서 동일 어드레스를 액세스하는 2 또는 그 이상의 명령이 있는 지의 여부를 판단하는 어드레스 비교 회로와,
    상기 동일 어드레스를 액세스하는 2 또는 그 이상의 명령이 있는 경우에 응답하여 미리 결정된 신호를 상기 반도체 메모리 장치의 외부에 출력하는 신호 출력 회로를 더 포함하는 것인 반도체 메모리 장치.
  7. 제6항에 있어서,
    상기 반도체 메모리 장치의 외부로부터 상기 미리 결정된 신호를 수신하는 신호 입력 회로와,
    마스터 동작 모드와 슬레이브 동작 모드 중 어느 하나를 표시하는 모드 레지스터를 더 포함하고,
    상기 신호 출력 회로는 상기 모드 레지스터에 의한 상기 마스터 동작 모드의 표시에 응답하여 활성되며, 상기 신호 입력 회로는 상기 모드 레지스터에 의한 상기 슬레이브 동작 모드의 표시에 응답하여 활성되는 것인 반도체 메모리 장치.
  8. 제7항에 있어서, 상기 모드 레지스터가 상기 슬레이브 동작 모드를 표시하는 경우에, 상기 중재 회로는 상기 신호 입력 회로가 상기 반도체 메모리 장치의 외부로부터 상기 미리 결정된 신호를 수신하는 것에 응답하여 명령 실행의 순서를 변경하는 것인 반도체 메모리 장치.
  9. 제8항에 있어서, 정상 동작 모드와 연속 동작 모드가 제공되고,
    상기 정상 동작 모드는 행 선택의 동작과, 단일 명령에 상응하는 동작과, 단일 내부 동작 주기 내의 프리챠지 동작을 수행하며,
    상기 연속 동작 모드는 행 선택의 동작과, 복수 개의 명령에 상응하는 연속 동작과, 단일 내부 동작 주기 내의 프리챠지 동작을 수행하고,
    상기 정상 동작 모드와 상기 연속 동작 모드는 상기 어드레스 비교 회로에 의해 행해진 판단에 응답하여 전환되는 것인 반도체 메모리 장치.
  10. 제9항에 있어서, 상기 연속 동작 모드에서 실행된 상기 복수 개의 명령이 기록 명령들인 경우에, 상기 기록 명령들 중 하나의 기록 명령이 선택되어 상기 기록 명령들 중 나머지 기록 명령이 실행되지 않는 동안에 실행되는 것인 반도체 메모리 장치.
  11. 제9항에 있어서, 상기 미리 결정된 신호를 상기 반도체 메모리 장치의 외부로(부터) 송신 또는 수신하는 동작은 행 선택의 동작과 상기 복수 개의 명령에 상응하는 상기 연속 동작 사이에 제공되는 기간 중에 상기 연속 동작 모드로 수행되는 것인 반도체 메모리 장치.
  12. 제11항에 있어서, 상기 기간은 가변 길이인 것인 반도체 메모리 장치.
  13. 제6항에 있어서, 상기 미리 결정된 신호에 응답하는 외부 제어기로부터의 인터럽트 신호를 수신하는 회로를 더 포함하고,
    상기 중재 회로는 상기 인터럽트 신호의 수신에 응답하여 명령 실행의 순서를 변경하는 것인 반도체 메모리 장치.
  14. 제9항에 있어서, 정상 동작 모드와 연속 동작 모드가 제공되고,
    상기 정상 동작 모드는 행 선택의 동작과, 단일 명령에 상응하는 동작과, 단일 내부 동작 주기 내의 프리챠지 동작을 수행하며,
    상기 연속 동작 모드는 행 선택의 동작과, 복수 개의 명령에 상응하는 연속동작과, 단일 내부 동작 주기 내의 프리챠지 동작을 수행하고,
    상기 정상 동작 모드와 상기 연속 동작 모드는 상기 어드레스 비교 회로에 의해 행해진 판단에 응답하여 전환되며,
    상기 인터럽트 신호를 수신하는 동작은 행 선택의 동작과 상기 복수 개의 명령에 상응하는 상기 연속 동작 사이에 제공되는 기간 중에 상기 연속 동작 모드로 수행되는 것인 반도체 메모리 장치.
  15. 제1항에 있어서, 상기 내부 회로는,
    다이내믹형 메모리 셀을 기초로 하여 실시된 셀 어레이와,
    상기 메모리 셀을 리프레시하는 타이밍을 정하는 리프레시 회로를 포함하고,
    상기 메모리 셀은 상기 N 개의 외부 포트 중 적어도 하나의 외부 포트에 입력되는 리프레시 명령에 응답하여 제1 모드로 리프레시되며, 상기 메모리 셀은 상기 리프레시 회로에 의해 표시된 타이밍에 제2 모드로 리프레시되는 것인 반도체 메모리 장치.
  16. 제15항에 있어서, 상기 제2 모드는 상기 N 개의 외부 포트 중 적어도 하나의 외부 포트가 비활성 상태에 있는 경우에 동작되는 것인 반도체 메모리 장치.
  17. 제15항에 있어서, 상기 리프레시 명령을 수신하는 외부 포트는 상기 반도체 메모리 장치의 외부로부터 상기 N 개의 외부 포트 중에서 선택되는 것인 반도체 메모리 장치.
  18. 제17항에 있어서, 상기 제2 모드는 상기 리프레시 명령을 수신하는 외부 포트가 상기 N 개의 외부 포트 중에 비활성 상태에 있는 경우에 동작되는 것인 반도체 메모리 장치.
  19. 제17항에 있어서, 상기 N 개의 외부 포트 중에 상기 리프레시 명령을 수신하기 위한 외부 포트를 표시하는 모드 레지스터를 더 포함하는 것인 반도체 메모리 장치.
  20. 제7항에 있어서, 상기 N 개의 외부 포트의 각각은 상기 반도체 메모리 장치의 외부로부터 클록 신호를 수신하기 위한 클록 단자를 포함하고, 상기 클록 신호와 동기하여 동작하며, 상기 신호 입력 회로와 상기 신호 출력 회로는 상기 클록 신호와 비동기로 동작하는 것인 반도체 메모리 장치.
  21. 메모리 어레이와,
    제1 명령을 각각 수신하는 N (N은 1 이상의 정수) 개의 외부 포트와,
    내부에서 독립적으로 제2 명령을 발생하는 내부 명령 발생 회로를 포함하고,
    상기 각 외부 포트에 의해 수신된 상기 제1 명령의 최소 입력 주기는 상기 반도체 메모리 장치가 N+1 개의 내부 동작을 수행하는 기간보다 길거나 같게 설정되는 것인 반도체 메모리 장치.
  22. 제21항에 있어서, 상기 N 개의 외부 포트에 입력되는 상기 제1 명령과 상기 제2 명령이 미리 결정된 순서로 수행되도록 제어에 참여하는 중재 회로를 더 포함하는 것인 반도체 메모리 장치.
  23. 제21항에 있어서, 상기 메모리 어레이는 다이내믹형 메모리 셀을 기초로 하여 실시되고, 상기 제2 명령은 리프레시 명령인 것인 반도체 메모리 장치.
  24. 제21항에 있어서, 상기 N 개의 외부 포트의 각각은 상기 반도체 메모리 장치의 외부로부터 클록 신호를 수신하기 위한 클록 단자를 포함하고, 상기 수신된 클록 신호와 동기하여 입출력 동작을 수행하는 것인 반도체 메모리 장치.
  25. 제24항에 있어서, 상기 N 개의 외부 포트의 각각은 버스트형 데이터 입출력부를 포함하고, 상기 제1 명령의 입력 주기 이내에 데이터 입출력을 여러 번 수행하는 것인 반도체 메모리 장치.
  26. 제24항에 있어서, 하나의 버스트 길이와 량이 같은 데이터가 상기 메모리 어레이와 상기 여러 외부 포트 중 하나의 외부 포트 사이에 하나의 액세스를 통해 입출력되는 것인 반도체 메모리 장치.
  27. 제25항에 있어서, 상기 제1 명령은 판독 명령과 기록 명령을 포함하고, 상기 중재 회로는 상기 판독 명령이 외부 포트에 입력되는 제1 타이밍과 상기 기록 명령에 대한 버스트 입력 데이터의 최종 데이터 아이템이 외부 포트에 입력되는 제2 타이밍에 응답하여 순서를 판단하는 것인 반도체 메모리 장치.
  28. 제27항에 있어서, 미리 결정된 기간 중에 상기 외부 포트에 대하여 상기 제1 타이밍이 상기 제2 타이밍 후에 오는 경우에, 상기 중재 회로는 상기 미리 결정된 주기 중에 발생하는 상기 제2 명령의 우선 순위를 낮추는 것인 반도체 메모리 장치.
  29. 제28항에 있어서, 상기 미리 결정된 주기는 상기 제2 타이밍이 상기 미리 결정된 주기 내에 포함하도록 지정되는 것인 반도체 메모리 장치.
  30. 반도체 메모리 장치로서,
    메모리 어레이와,
    각각이 제1 명령을 수신하는 N (N은 1 이상의 정수) 개의 외부 포트와,
    내부에서 독립적으로 제2 명령을 발생하는 내부 명령 발생 회로를 포함하고,
    상기 각 외부 포트가 수신하는 상기 제1 명령의 최소 입력 주기는 상기 반도체 메모리 장치가 mN〈 n〈 m(N+1)인 상기 최소 입력 주기의 m(m ≥2) 배 이내에적어도 n 번의 내부 동작을 수행하도록 설정되는 것인 반도체 메모리 장치.
  31. 제30항에 있어서, 상기 n 번의 내부 동작은 상기 제1 명령에 상응하는 mN 번의 동작과 상기 제2 명령에 상응하는 적어도 1 번의 동작을 포함하는 것인 반도체 메모리 장치.
  32. 제31항에 있어서, 상기 메모리 어레이는 다이내믹형 메모리 셀을 기초로 하여 실시되고, 상기 제2 명령은 리프레시 명령인 것인 반도체 메모리 장치.
  33. 제30항에 있어서,
    상기 메모리 어레이를 제어하는 제어 회로와,
    상기 제1 명령과 상기 제2 명령을 상기 제어 회로에 전송하기 이전에 상기 제1 명령과 상기 제2 명령을 내부에 임시적으로 기억하는 명령 레지스터와,
    상기 제1 명령과 상기 제2 명령의 명령 도달 순서를 판단하고, 상기 제1 명령과 상기 제2 명령이 상기 판단된 순서로 상기 명령 레지스터에 전송되도록 제어되게 참여하는 것인 반도체 메모리 장치.
  34. 제33항에 있어서, 상기 명령 레지스터가 상기 제1 명령과 상기 제2 명령을 상기 제어 회로에 전송하는 타이밍은 상기 메모리 어레이의 동작 주기에 의해 제어되는 것인 반도체 메모리 장치.
  35. 제34항에 있어서, 상기 명령 레지스터는 시프트 레지스터인 것인 반도체 메모리 장치.
  36. 제34항에 있어서, 상기 명령 레지스터는 상기 중재 회로로부터 전송되는 명령의 인식을 완료할 때 인식 완료 신호를 발생하고, 상기 중재 회로는 상기 인식 완료 신호를 검출할 때 다음 명령을 전송하는 것인 반도체 메모리 장치.
  37. 제30항에 있어서, 상기 N 개의 외부 포트의 각각은 상기 반도체 메모리 장치의 외부로부터 클록 신호를 수신하기 위한 클록 입력 회로를 포함하고, 상기 수신된 클록 신호와 동기하여 입출력 동작을 수행하는 것인 반도체 메모리 장치.
  38. 제37항에 있어서, 상기 N 개의 외부 포트의 각각은 상기 반도체 메모리 장치의 외부로부터 공급되는 데이터 레이턴시 설정을 내부에 기억하는 모드 레지스터를 포함하고, 상기 데이터 레이턴시 설정에 의해 표시된 데이터 레이턴시를 갖는 데이터를 출력하는 것인 반도체 메모리 장치.
  39. 제38항에 있어서, 상기 N 개의 외부 포트의 각각은 버스트형 데이터 입출력부를 포함하고, 상기 모드 레지스터는 상기 반도체 메모리 장치의 외부로부터 공급되는 버스트 길이 설정을 내부에 기억하며,
    상기 여러 외부 포트의 각각은 상기 제1 명령의 입력 주기 내에 버스트 길이 설정에 의해 표시되는 것과 같은 횟수로 데이터 입출력을 수행하는 것인 반도체 메모리 장치.
  40. 제33항에 있어서, 하나의 버스트 길이와 량이 같은 데이터는 상기 메모리 어레이와 상기 외부 포트들 중 하나의 외부 포트 사이에 하나의 액세스 동작을 통해 입출력되는 것인 반도체 메모리 장치.
  41. 제33항에 있어서, 상기 제1 명령은 판독 명령과 기록 명령을 포함하고, 상기 중재 회로는 상기 판독 명령이 외부 포트에 입력되는 제1 타이밍과 상기 기록 명령에 대한 버스트 입력 데이터의 최종 데이터 아이템이 외부 포트에 입력되는 제2 타이밍에 응답하여 순서를 판단하는 것인 반도체 메모리 장치.
  42. 각각이 명령을 수신하는 복수 개의 N 개의 외부 포트와,
    상기 개개의 외부 포트에 상응하는 복수 개의 N 개의 버스와,
    상기 N 개의 버스에 연결된 복수 개의 메모리 블록과,
    상기 N 개의 개개의 외부 포트에 입력되는 명령들에 의해 액세스될 어드레스들을 비교하는 어드레스 비교 회로와,
    상기 어드레스 비교 회로가 상기 어드레스 비교를 기초로 하여 상기 동일 메모리 블록으로의 액세스를 검출할 때, 동일한 메모리 블록을 액세스하는 상기 명령들 중 어느 명령(들)이 실행될 지와, 상기 동일 메모리 블록을 액세스하는 상기 명령들 중 어느 명령(들)이 실행되지 않을 지를 판단하는 중재 회로를 포함하는 것인 반도체 메모리 장치.
  43. 제42항에 있어서, 상기 중재 회로는 소정의 명령이 실행되지 않아야 한다는 판단에 응답하여 상기 소정의 명령의 미실행을 표시하는 신호를 출력하는 것인 반도체 메모리 장치.
  44. 제43항에 있어서, 상기 소정의 명령의 미실행을 표시하는 신호는 상기 소정의 명령에 상응하는 여러 포트 중 하나의 포트로부터 출력되는 것인 반도체 메모리 장치.
  45. 제42항에 있어서, 상기 메모리 블록들은 다이내믹형 메모리 셀을 기초로 하여 실시되는 셀 어레이를 포함하고, 상기 반도체 메모리 장치는 상기 메모리 셀이 리프레시되는 타이밍을 결정하는 리프레시 회로를 포함하며,
    상기 메모리 셀은 상기 N 개의 외부 포트 중 적어도 하나의 외부 포트에 입력되는 리프레시 명령에 응답하여 제1 모드로 리프레시되고, 상기 메모리 셀은 상기 리프레시 회로에 의해 표시되는 타이밍에 제2 모드로 리프레시되는 것인 반도체 메모리 장치.
  46. 제45항에 있어서, 상기 제2 모드는 상기 N 개의 외부 포트가 불활성 상태에 있는 경우에 동작하는 것인 반도체 메모리 장치.
  47. 제45항에 있어서, 리프레시될 어드레스들을 발생하는 리프레시 어드레스 카운터를 더 포함하고,
    상기 리프레시 어드레스 카운터는 상기 중재 회로로부터 발송된 리프레시 명령에 응답하여 어드레스를 카운트 업하는 것인 반도체 메모리 장치.
  48. 제42항에 있어서, 상기 각 메모리 블록은 제어 회로를 포함하고, 상기 제어 회로는 어드레스의 검출에 응답하여 상기 버스들 중 하나의 버스로부터, 상기 하나의 버스에서 상기 제어 회로의 메모리 블록에 상응하는 명령 신호를 취득하는 것인 반도체 메모리 장치.
  49. 제48항에 있어서, 상기 각 메모리 블록은 버스 선택부와 메모리 셀 어레이를 더 포함하고, 상기 버스 선택부는 상기 하나의 버스를 상기 메모리 셀 어레이에 연결하는 것인 반도체 메모리 장치.
  50. 제42항에 있어서, 상기 N 개의 각 외부 포트는,
    직렬 수신된 데이터를 상기 N 개의 버스 중 상응하는 버스에 병렬 데이터로서 공급하는 회로와,
    상기 N 개의 버스 중 상기 상응하는 버스로부터 공급된 병렬 데이터를 상기 반도체 메모리 장치의 외부에 직렬 데이터로서 출력하는 회로를 포함하는 것인 반도체 메모리 장치.
  51. 제50항에 있어서, 상기 N 개의 개개의 외부 포트에 입력된 명령들은 판독 명령과 기록 명령을 포함하고, 상기 중재 회로는 상기 판독 명령이 외부 포트에 입력되는 타이밍과 상기 기록 명령에 대하여 직렬로 입력된 데이터의 최종 데이터 아이템이 외부 포트에 입력되는 타이밍에 응답하여, 상기 명령들 중 어느 명령(들)이 실행될 것인 지와, 상기 명령들 중 어느 명령(들)이 실행되지 않을 지를 판단하는 것인 반도체 메모리 장치.
  52. 메모리 셀을 갖는 복수 개의 메모리 코어와,
    클록 신호를 수신하기 위한 클록 단자, 메모리 셀을 선택하기 위해 클록 신호와 동기하여 공급되는 어드레스 신호를 수신하기 위한 어드레스 단자 및 데이터 신호를 입출력하기 위한 데이터 입출력 단자를 각각 포함하는 복수 개의 입출력 포트와,
    상기 메모리 코어들 중 상응하는 메모리 코어가 제공되고, 상기 입출력 포트들 중 하나의 입출력 포트의 데이터 입출력 단자들로부터 공급된 어드레스 신호를 선택하여 상기 선택된 어드레스 신호들에 의하여 표시된 메모리 셀들을 액세스하는 복수 개의 제어 회로를 포함하고,
    동일의 메모리 코어를 표시하는 어드레스 신호들이 상기 입출력 포트들 중 두 개 이상의 포트에 입력되는 경우에, 상기 동일의 메모리 코어에 상응하는 제어 회로는 먼저 수신된 어드레스 신호들에 따라서 메모리 코어를 동작하게 하는 것인 다중 포트 메모리.
  53. 제52항에 있어서, 상기 어드레스 신호들은 상기 어드레스 신호들을 획득하는데 이용된 클록 신호의 에지 이전에 미리 결정된 설정 시간으로 정해지고, 상기 제어 회로는 클록 신호의 상기 에지 이전에 정해지는 어드레스 신호들에 응답하여 먼저 수신된 어드레스 신호들을 식별하는 것인 다중 포트 메모리.
  54. 제53항에 있어서, 상기 제어 회로는 개개의 입출력 포트에 의하여 수신된 하나 이상의 상기 클록 신호 중에서 먼저 수신되는 클록 신호의 상기 에지와 동기하여 먼저 수신된 어드레스 신호를 식별하는 것인 다중 포트 메모리.
  55. 제52항에 있어서, 상기 입출력 포트들 중 소정의 입출력 포트는 상기 입출력 포트들 중 다른 입출력 포트에 공급된 먼저 수신된 어드레스 신호들에 응답하여 상기 동일의 메모리 코어의 동작을 표시하는 BUSY 신호를 출력하기 위한 BUSY 단자를 포함하는 것인 다중 포트 메모리.
  56. 제52항에 있어서, 상기 메모리 코어들은 하나의 센스 증폭기부의 센스 증폭기들이 상기 어드레스 신호들에 응답하여 동시에 동작하는 개개의 센스 증폭기부들에 상응하도록 형성되는 것인 다중 포트 메모리.
  57. 제52항에 있어서, 상기 입출력 포트들의 각각은 상기 메모리 코어들의 동작을 제어하기 위한 클록 신호에 동기하여 명령 신호를 수신하기 위한 명령 단자를 포함하는 것인 다중 포트 메모리.
  58. 제57항에 있어서, 판독 동작과 기록 동작의 경우에, 상기 명령 단자는 상기 메모리 코어들의 특정 메모리 영역을 활성시키기 위한 활성 명령과 상기 특정 메모리 영역에 대하여 상기 판독 동작 또는 상기 기록 동작 중 어느 하나를 표시하는 활동 명령을 수신하는 것인 다중 포트 메모리.
  59. 제58항에 있어서, 상기 어드레스 단자는 상기 메모리 코어 내의 특정 메모리 영역을 선택하기 위한 어드레스 신호와 상기 활성 명령과 상기 활동 명령과 각각 연계하여 상기 특정 메모리 영역 내의 메모리 셀을 선택하기 위한 어드레스 신호를 수신하는 것인 다중 포트 메모리.
  60. 제58항에 있어서, 상기 활동 명령은 상기 활성 명령이 공급된 이후에 미리 결정된 수의 클록 주기로 공급되는 것인 다중 포트 메모리.
  61. 제52항에 있어서, 상기 메모리 셀은 상기 데이터 신호의 값에 응답하여 내부에 전하를 기억하기 위한 커패시터를 포함하는 것인 다중 포트 메모리.
  62. 제61항에 있어서, 상기 커패시터에 전하를 재기록하기 위한 리프레시 동작은 리프레시 어드레스 신호로서 상기 입출력 포트들 중 하나의 입출력 포트에 공급된 어드레스 신호를 이용하여 수행되는 것인 다중 포트 메모리.
  63. 제61항에 있어서, 상기 메모리 셀은 상기 데이터 신호를 입출력하기 위한 비트선에 접속되고, 상기 비트선을 미리 결정된 전압으로 리셋하기 위한 프리챠지 동작은 판독 동작과 기록 동작 이후에 자동으로 수행되는 것인 다중 포트 메모리.
  64. 제63항에 있어서, 상기 판독 동작과 상기 기록 동작은 활성 명령의 획득 이후에 미리 결정된 시간에 완료되는 것인 다중 포트 메모리.
  65. 메모리 셀을 갖는 복수 개의 메모리 코어와,
    클록 신호를 수신하기 위한 클록 단자, 메모리 셀을 선택하기 위해 클록 신호와 동기하여 공급되는 어드레스 신호를 수신하기 위한 어드레스 단자 및 데이터 신호를 입출력하기 위한 데이터 입출력 단자를 각각 포함하는 복수 개의 입출력 포트와,
    상기 메모리 코어들 중 상응하는 메모리 코어가 제공되고, 상기 입출력 포트들 중 하나의 입출력 포트의 데이터 입출력 단자들로부터 공급된 어드레스 신호를 선택하여 상기 선택된 어드레스 신호들에 의하여 표시된 메모리 셀들을 액세스하는 복수 개의 제어 회로를 포함하고,
    동일의 메모리 코어를 표시하는 어드레스 신호들이 상기 입출력 포트들 중 두 개 이상의 포트에 입력되는 경우에, 상기 동일의 메모리 코어에 상응하는 제어 회로는 상기 어드레스 신호들이 수신되는 순서로 메모리 코어를 동작하게 하는 것인 다중 포트 메모리.
  66. 제65항에 있어서, 상기 입출력 포트들의 각각은 상기 메모리 코어의 동작을 제어하기 위해 클록 신호와 동기하여 명령 신호를 수신하기 위한 명령 단자를 포함하고, 상기 메모리 코어를 활성화하기 위한 상기 입출력 포트들 중 하나의 입출력 포트에 입력된 각각의 상기 명령 신호는 판독 동작과 기록 동작에 필요한 메모리 코어의 동작 기간보다 두배 이상 긴 간격으로 공급되는 것인 다중 포트 메모리.
  67. 제66항에 있어서, 상기 명령 신호는 상기 간격을 고정하지 않고 각각의 상기 명령 신호가 상기 입출력 포트들 중 하나의 입출력 포트에 입력되는 경우에 무효로 되는 것인 다중 포트 메모리.
  68. 제66항에 있어서, 상기 동작 기간의 두배보다 짧은 간격으로 입력되는 상기 각 명령 신호는 상기 각 명령이 상기 입출력 포트들 중 상이한 입출력 포트들에 입력되는 경우에 수용되는 것인 다중 포트 메모리.
  69. 제65항에 있어서, 상기 메모리 셀의 데이터를 내부에 기억하기 위한 버퍼를 더 포함하고, 사기 메모리 셀로부터 판독되거나 상기 메모리 셀에 기록된 데이터는 상기 메모리 셀과 상기 데이터 입출력 단자 사이의 상기 버퍼를 거쳐서 전송되는 것인 다중 포트 메모리.
  70. 제65항에 있어서, 상기 입출력 포트들의 각각은 상기 메모리 코어의 동작을 제어하기 위한 클록 신호와 동기하여 명령 신호를 수신하기 위한 명령 단자를 포함하는 것인 다중 포트 메모리.
  71. 제70항에 있어서, 판독 동작과 기록 동작의 경우에, 상기 명령 단자는 상기 메모리 코어들의 특정 메모리 영역을 활성시키기 위한 활성 명령과 상기 특정 메모리 영역에 대하여 상기 판독 동작 또는 상기 기록 동작 중 어느 하나를 표시하는 활동 명령을 수신하는 것인 다중 포트 메모리.
  72. 제71항에 있어서, 상기 어드레스 단자는 상기 메모리 코어 내의 특정 메모리 영역을 선택하기 위한 어드레스 신호와 상기 활성 명령과 상기 활동 명령과 각각 연계하여 상기 특정 메모리 영역 내의 메모리 셀을 선택하기 위한 어드레스 신호를 수신하는 것인 다중 포트 메모리.
  73. 제65항에 있어서, 상기 메모리 셀은 상기 데이터 신호의 값에 응답하여 내부에 전하를 기억하기 위한 커패시터를 포함하는 것인 다중 포트 메모리.
  74. 제73항에 있어서, 상기 메모리 셀은 상기 데이터 신호를 입출력하기 위한 비트선에 접속되고, 상기 비트선을 미리 결정된 전압으로 리셋하기 위한 프리챠지 동작은 판독 동작과 기록 동작 이후에 자동으로 수행되는 것인 다중 포트 메모리.
  75. 메모리 셀을 갖는 복수 개의 메모리 코어와,
    클록 신호를 수신하기 위한 클록 단자, 메모리 셀을 선택하기 위해 클록 신호와 동기하여 공급되는 어드레스 신호를 수신하기 위한 어드레스 단자 및 데이터 신호를 입출력하기 위한 데이터 입출력 단자를 각각 포함하는 복수 개의 입출력 포트와,
    상기 메모리 코어들 중 상응하는 메모리 코어가 제공되고, 상기 입출력 포트들 중 하나의 입출력 포트의 데이터 입출력 단자들로부터 공급된 어드레스 신호를 선택하여 상기 선택된 어드레스 신호들에 의하여 표시된 메모리 셀들을 액세스하는 복수 개의 제어 회로와,
    상기 메모리 셀들 중 두 개 이상의 메모리 셀에 대하여 양이 같은 데이터를 내부에 기억하는 버퍼를 포함하고,
    상기 메모리 셀로부터 판독되거나 상기 메모리 셀에 기록된 데이터는 상기메모리 셀과 상기 데이터 입출력 단자 사이에서 상기 버퍼를 거쳐 전송되는 것인 다중 포트 메모리.
  76. 제75항에 있어서, 미리 결정된 수의 비트의 데이터는 판독 동작의 개시시에 즉시 상기 메모리 셀로부터 상기 버퍼로 전송되고, 상기 어드레스 신호에 상응하는 데이터는 상기 버퍼로부터 판독되는 것인 다중 포트 메모리.
  77. 제75항에 있어서, 미리 결정된 수의 비트의 데이터는 판독 동작의 개시시에 즉시 상기 메모리 셀로부터 상기 버퍼로 전송되고, 상기 어드레스 신호에 상응하는 데이터는 상기 버퍼에 기억되며, 이어서 상기 버퍼에 기억된 데이터는 상기 기록 동작의 종료시에 즉시 상기 메모리 셀에 기록되는 것인 다중 포트 메모리.
  78. 제75항에 있어서, 동일의 메모리 코어를 표시하는 어드레스 신호들이 상기 입출력 포트들 중 두 개 이상의 입출력 포트에 입력되는 경우에, 상기 동일의 메모리 코어에 상응하는 제어 회로는 먼저 수신된 어드레스 신호에 대하여서만 동작하는 것인 다중 포트 메모리.
  79. 제75항에 있어서, 상기 입출력 포트들의 각각은 상기 메모리 코어의 동작을 제어하기 위한 클록 신호와 동기하여 명령 신호를 수신하기 위한 명령 단자를 포함하고, 상기 명령 신호는 상기 버퍼를 이용하여 판독 동작과 기록 동작을 실행하기위한 페이지 활성 명령과 상기 버퍼를 이용하지 않고 판독 동작과 기록 동작을 실행하기 위한 정상 활성 명령을 표시하는 것인 다중 포트 메모리.
  80. 제79항에 있어서, 상기 메모리 코어들의 각각은 판독 동작과 기록 동작 동안에 활성화되는 복수 개의 워드선을 포함하고, 상기 정상 활성 명령은 연속 어드레스를 가지며 상기 워드선들 중 동일한 워드선에 접속된 상기 메모리 셀의 데이터를 계속해서 액세스하는 버스트 동작을 포함하는 것인 다중 포트 메모리.
  81. 다중 포트 메모리를 제어하는 방법으로써, 상기 다중 포트 메모리는,
    메모리 셀을 갖는 복수 개의 메모리 코어와,
    클록 신호를 수신하기 위한 클록 단자, 메모리 셀을 선택하기 위해 클록 신호와 동기하여 공급되는 어드레스 신호를 수신하기 위한 어드레스 단자 및 데이터 신호를 입출력하기 위한 데이터 입출력 단자를 각각 포함하는 복수 개의 입출력 포트와,
    상기 메모리 코어들 중 상응하는 메모리 코어가 제공되고, 상기 입출력 포트들 중 하나의 입출력 포트의 데이터 입출력 단자들로부터 공급된 어드레스 신호를 선택하여 상기 선택된 어드레스 신호들에 의하여 표시된 메모리 셀들을 액세스하는 복수 개의 제어 회로를 포함하고,
    상기 방법은, 동일의 메모리 코어를 공통으로 표시하는 어드레스 신호들이 상기 입출력 포트들 중 두 개 이상의 포트에 입력되는 경우에, 상기 동일의 메모리코어에 상응하는 제어 회로의 제어 하에서 먼저 수신된 어드레스 신호들에 따라서 메모리 코어를 동작하게 하는 단계를 포함하는 것인 다중 포트 메모리 제어 방법.
  82. 제81항에 있어서, 상기 어드레스 신호들은 상기 어드레스 신호들을 획득하는데 이용된 클록 신호의 에지 이전에 미리 결정된 설정 시간으로 정해지고, 상기 방법은 클록 신호의 상기 에지 이전에 정해지는 어드레스 신호들에 응답하여 상기 제어 회로의 제어 하에서 먼저 수신된 어드레스 신호들을 식별하는 단계를 더 포함하는 것인 다중 포트 메모리 제어 방법.
  83. 제82항에 있어서, 개개의 입출력 포트에 의하여 수신된 하나 이상의 상기 클록 신호 중에서 먼저 수신되는 클록 신호의 상기 에지와 동기하여 상기 제어 회로의 제어 하에서 먼저 수신된 어드레스 신호를 식별하는 단계를 포함하는 것인 다중 포트 메모리 제어 방법.
  84. 제81항에 있어서, 상기 입출력 포트들 중 하나의 입출력 포트에 공급된 먼저 수신된 어드레스 신호들에 응답하여 상기 동일의 메모리 코어의 동작을 표시하는 BUSY 신호를 출력하는 단계를 더 포함하는 것인 다중 포트 메모리 제어 방법.
  85. 다중 포트 메모리를 제어하는 방법으로써, 상기 다중 포트 메모리는,
    메모리 셀을 갖는 복수 개의 메모리 코어와,
    클록 신호를 수신하기 위한 클록 단자, 메모리 셀을 선택하기 위해 클록 신호와 동기하여 공급되는 어드레스 신호를 수신하기 위한 어드레스 단자 및 데이터 신호를 입출력하기 위한 데이터 입출력 단자를 각각 포함하는 복수 개의 입출력 포트와,
    상기 메모리 코어들 중 상응하는 메모리 코어가 제공되고, 상기 입출력 포트들 중 하나의 입출력 포트의 데이터 입출력 단자들로부터 공급된 어드레스 신호를 선택하여 상기 선택된 어드레스 신호들에 의하여 표시된 메모리 셀들을 액세스하는 복수 개의 제어 회로를 포함하고,
    상기 방법은, 동일의 메모리 코어를 공통으로 표시하는 어드레스 신호들이 상기 입출력 포트들 중 두 개 이상의 포트에 입력되는 경우에, 상기 메모리 코어에 상응하는 제어 회로의 제어 하에서 상기 어드레스 신호들이 수신되는 순서로 메모리 코어를 동작하게 하는 단계를 포함하는 것인 다중 포트 메모리 제어 방법.
  86. 제85항에 있어서, 판독 동작과 기록 동작에 필요한 메모리 코어의 동작 기간보다 두배 이상 긴 간격으로 상기 입출력 포트들의 각각에 의하여 상기 메모리 코어를 활성화하기 위한 명령 신호를 수신하는 단계를 더 포함하는 것인 다중 포트 메모리 제어 방법.
  87. 제86항에 있어서, 상기 간격을 고정하지 않고 상기 명령 신호가 상기 입출력 포트들 중 하나의 입출력 포트에 입력되는 경우에 상기 명령 신호를 무효로 하는단계를 더 포함하는 것인 다중 포트 메모리 제어 방법.
  88. 다중 포트 메모리를 제어하는 방법으로써, 상기 다중 포트 메모리는,
    메모리 셀을 갖는 복수 개의 메모리 코어와,
    클록 신호를 수신하기 위한 클록 단자, 메모리 셀을 선택하기 위해 클록 신호와 동기하여 공급되는 어드레스 신호를 수신하기 위한 어드레스 단자 및 데이터 신호를 입출력하기 위한 데이터 입출력 단자를 각각 포함하는 복수 개의 입출력 포트와,
    상기 메모리 코어들 중 상응하는 메모리 코어가 제공되고, 상기 입출력 포트들 중 하나의 입출력 포트의 데이터 입출력 단자들로부터 공급된 어드레스 신호를 선택하여 상기 선택된 어드레스 신호들에 의하여 표시된 메모리 셀들을 액세스하는 복수 개의 제어 회로와,
    상기 메모리 셀들 중 두 개 이상의 메모리 셀에 대하여 양이 같은 데이터를 내부에 기억하는 버퍼를 포함하고,
    상기 방법은, 상기 메모리 셀로부터 판독되거나 상기 메모리 셀에 기록된 데이터를 상기 메모리 셀과 상기 데이터 입출력 단자 사이에서 상기 버퍼를 거쳐 전송하는 단계를 포함하는 것인 다중 포트 메모리 제어 방법.
  89. 제88항에 있어서, 미리 결정된 수의 비트의 데이터를 판독 동작의 개시시에 즉시 상기 메모리 셀로부터 상기 버퍼로 전송하는 단계와,
    상기 어드레스 신호에 상응하는 데이터를 상기 버퍼로부터 판독하는 단계를 포함하는 것인 다중 포트 메모리 제어 방법.
  90. 제88항에 있어서, 미리 결정된 수의 비트의 데이터를 판독 동작의 개시시에 즉시 상기 메모리 셀로부터 상기 버퍼로 전송하는 단계와,
    상기 어드레스 신호에 상응하는 데이터를 상기 버퍼에 기억하는 단계와,
    상기 버퍼에 기억된 데이터를 상기 기록 동작의 종료시에 즉시 상기 메모리 셀에 기록하는 단계를 포함하는 것인 다중 포트 메모리 제어 방법.
  91. 제88항에 있어서, 동일의 메모리 코어를 공통으로 표시하는 어드레스 신호들이 상기 입출력 포트들 중 두 개 이상의 포트에 입력되는 경우에, 상기 동일의 메모리 코어에 상응하는 제어 회로의 제어 하에서 먼저 수신된 상기 어드레스 신호들에 대하여 메모리 코어를 동작하게 하는 단계를 더 포함하는 것인 다중 포트 메모리 제어 방법.
KR1020010066494A 2000-12-20 2001-10-26 디램 코어를 기반으로 한 다중 포트 메모리 KR100801119B1 (ko)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
JP2000387891A JP5070656B2 (ja) 2000-12-20 2000-12-20 半導体記憶装置
JPJP-P-2000-00387891 2000-12-20
JP2000399052A JP4997663B2 (ja) 2000-12-27 2000-12-27 マルチポートメモリおよびその制御方法
JPJP-P-2000-00398893 2000-12-27
JP2000398893A JP4783501B2 (ja) 2000-12-27 2000-12-27 半導体記憶装置
JPJP-P-2000-00399052 2000-12-27
JP2001034361A JP4824180B2 (ja) 2001-02-09 2001-02-09 半導体記憶装置
JPJP-P-2001-00034361 2001-02-09
JPJP-P-2001-00037547 2001-02-14
JP2001037547A JP5028710B2 (ja) 2001-02-14 2001-02-14 半導体記憶装置

Publications (2)

Publication Number Publication Date
KR20020050092A true KR20020050092A (ko) 2002-06-26
KR100801119B1 KR100801119B1 (ko) 2008-02-05

Family

ID=27531745

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010066494A KR100801119B1 (ko) 2000-12-20 2001-10-26 디램 코어를 기반으로 한 다중 포트 메모리

Country Status (6)

Country Link
US (1) US20020078311A1 (ko)
EP (4) EP1564748B1 (ko)
KR (1) KR100801119B1 (ko)
CN (1) CN1271636C (ko)
DE (4) DE60142756D1 (ko)
TW (1) TW526500B (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7286415B2 (en) 2004-11-10 2007-10-23 Samsung Electronics Co., Ltd. Semiconductor memory devices having a dual port mode and methods of operating the same
KR100776127B1 (ko) * 2005-12-29 2007-11-15 매그나칩 반도체 유한회사 에스램을 위한 명령어 제어회로
US7369453B2 (en) 2006-02-28 2008-05-06 Samsung Electronics Co., Ltd. Multi-port memory device and method of controlling the same
KR100831489B1 (ko) * 2005-08-05 2008-05-22 인피니언 테크놀로지스 아게 메모리 셀, 메모리 셀 제어 방법 및 저장 매체
US7433263B2 (en) 2006-02-28 2008-10-07 Samsung Electronics Co., Ltd. Multi-port semiconductor device and method thereof
US7492626B2 (en) 2005-08-05 2009-02-17 Infineon Technologies Ag Memory device with access controller
KR20140043867A (ko) * 2012-10-03 2014-04-11 후지쯔 세미컨덕터 가부시키가이샤 반도체 기억 장치
KR20190091820A (ko) * 2018-01-29 2019-08-07 한밭대학교 산학협력단 Fpga를 이용한 케이블 선번 연결 자동 탐색, 설정 및 양방향 연결선 구현 장치 및 방법
KR20190110869A (ko) * 2018-03-21 2019-10-01 에스케이하이닉스 주식회사 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6515914B2 (en) * 2001-03-21 2003-02-04 Micron Technology, Inc. Memory device and method having data path with multiple prefetch I/O configurations
KR100408716B1 (ko) * 2001-06-29 2003-12-11 주식회사 하이닉스반도체 오토프리챠지 갭리스 보호회로를 가진 반도체 메모리소자의 오토프리챠지장치
US6801980B2 (en) * 2002-04-25 2004-10-05 International Business Machines Corporation Destructive-read random access memory system buffered with destructive-read memory cache
KR100475093B1 (ko) * 2002-09-13 2005-03-10 삼성전자주식회사 둘 이상의 입력포트를 구비하는 집적 회로 장치 및 시스템
US20050289293A1 (en) * 2004-06-28 2005-12-29 Parris Michael C Dual-port DRAM cell with simultaneous access
US7860943B2 (en) * 2004-08-23 2010-12-28 Zhe Khi Pak Enhanced network direct attached storage controller
US7174403B2 (en) * 2005-02-24 2007-02-06 Qualcomm Incorporated Plural bus arbitrations per cycle via higher-frequency arbiter
US8713286B2 (en) * 2005-04-26 2014-04-29 Qualcomm Incorporated Register files for a digital signal processor operating in an interleaved multi-threaded environment
KR100660874B1 (ko) * 2005-07-25 2006-12-26 삼성전자주식회사 듀얼 포트를 갖는 디램에서의 리프레시 제어 방법
KR100725100B1 (ko) * 2005-12-22 2007-06-04 삼성전자주식회사 포트간 데이터 전송기능을 갖는 멀티패쓰 억세스블 반도체메모리 장치
KR100655081B1 (ko) * 2005-12-22 2006-12-08 삼성전자주식회사 가변적 액세스 경로를 가지는 멀티 포트 반도체 메모리장치 및 그에 따른 방법
KR100800384B1 (ko) * 2006-06-20 2008-02-01 삼성전자주식회사 반도체 메모리 장치 및 이에 따른 셀프 리프레쉬 방법
US7529149B2 (en) * 2006-12-12 2009-05-05 Mosaid Technologies Incorporated Memory system and method with serial and parallel modes
US7908501B2 (en) 2007-03-23 2011-03-15 Silicon Image, Inc. Progressive power control of a multi-port memory device
KR20090013342A (ko) * 2007-08-01 2009-02-05 삼성전자주식회사 멀티 포트 반도체 메모리 장치 및 그에 따른 리프레쉬 방법
US7613055B2 (en) 2007-08-09 2009-11-03 Altera Corporation Programmable control block for dual port SRAM application
US8166238B2 (en) * 2007-10-23 2012-04-24 Samsung Electronics Co., Ltd. Method, device, and system for preventing refresh starvation in shared memory bank
JP5599969B2 (ja) * 2008-03-19 2014-10-01 ピーエスフォー ルクスコ エスエイアールエル マルチポートメモリ、および該マルチポートメモリを備えるコンピュータシステム
US9047978B2 (en) 2013-08-26 2015-06-02 Micron Technology, Inc. Apparatuses and methods for selective row refreshes
KR102251241B1 (ko) * 2013-11-29 2021-05-12 삼성전자주식회사 재구성 가능 프로세서의 레지스터를 제어하는 방법 및 장치와 재구성 가능 프로세서의 레지스터를 제어하는 명령어를 생성하는 방법 및 장치
US9324416B2 (en) * 2014-08-20 2016-04-26 Qualcomm Incorporated Pseudo dual port memory with dual latch flip-flop
US9812189B2 (en) * 2015-06-04 2017-11-07 Intel Corporation Read and write apparatus and method for a dual port memory
JP6470160B2 (ja) 2015-10-23 2019-02-13 ルネサスエレクトロニクス株式会社 マルチポートメモリ、及び半導体装置
DE102017106713A1 (de) * 2016-04-20 2017-10-26 Samsung Electronics Co., Ltd. Rechensystem, nichtflüchtiges Speichermodul und Verfahren zum Betreiben einer Speichervorrichtung
CN106981265B (zh) * 2017-05-25 2021-01-12 京东方科技集团股份有限公司 应用处理器、显示驱动器和电子设备
US10580475B2 (en) 2018-01-22 2020-03-03 Micron Technology, Inc. Apparatuses and methods for calculating row hammer refresh addresses in a semiconductor device
US11152050B2 (en) * 2018-06-19 2021-10-19 Micron Technology, Inc. Apparatuses and methods for multiple row hammer refresh address sequences
US10770127B2 (en) 2019-02-06 2020-09-08 Micron Technology, Inc. Apparatuses and methods for managing row access counts
US11043254B2 (en) 2019-03-19 2021-06-22 Micron Technology, Inc. Semiconductor device having cam that stores address signals
US11264096B2 (en) 2019-05-14 2022-03-01 Micron Technology, Inc. Apparatuses, systems, and methods for a content addressable memory cell with latch and comparator circuits
US11158364B2 (en) 2019-05-31 2021-10-26 Micron Technology, Inc. Apparatuses and methods for tracking victim rows
US11158373B2 (en) 2019-06-11 2021-10-26 Micron Technology, Inc. Apparatuses, systems, and methods for determining extremum numerical values
US11139015B2 (en) 2019-07-01 2021-10-05 Micron Technology, Inc. Apparatuses and methods for monitoring word line accesses
US10832792B1 (en) 2019-07-01 2020-11-10 Micron Technology, Inc. Apparatuses and methods for adjusting victim data
US11386946B2 (en) 2019-07-16 2022-07-12 Micron Technology, Inc. Apparatuses and methods for tracking row accesses
US10943636B1 (en) 2019-08-20 2021-03-09 Micron Technology, Inc. Apparatuses and methods for analog row access tracking
US10964378B2 (en) 2019-08-22 2021-03-30 Micron Technology, Inc. Apparatus and method including analog accumulator for determining row access rate and target row address used for refresh operation
US11200942B2 (en) 2019-08-23 2021-12-14 Micron Technology, Inc. Apparatuses and methods for lossy row access counting
US11222682B1 (en) 2020-08-31 2022-01-11 Micron Technology, Inc. Apparatuses and methods for providing refresh addresses
US11462291B2 (en) 2020-11-23 2022-10-04 Micron Technology, Inc. Apparatuses and methods for tracking word line accesses
US11482275B2 (en) 2021-01-20 2022-10-25 Micron Technology, Inc. Apparatuses and methods for dynamically allocated aggressor detection
US11600314B2 (en) 2021-03-15 2023-03-07 Micron Technology, Inc. Apparatuses and methods for sketch circuits for refresh binning
CN113254373B (zh) * 2021-06-16 2021-10-12 上海矽久微电子有限公司 支持同时读写的类双口存储器实现方法、类存储器及芯片结构
US11664063B2 (en) 2021-08-12 2023-05-30 Micron Technology, Inc. Apparatuses and methods for countering memory attacks
US11688451B2 (en) 2021-11-29 2023-06-27 Micron Technology, Inc. Apparatuses, systems, and methods for main sketch and slim sketch circuit for row address tracking

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4796232A (en) 1987-10-20 1989-01-03 Contel Corporation Dual port memory controller
JPH02246087A (ja) * 1989-03-20 1990-10-01 Hitachi Ltd 半導体記憶装置ならびにその冗長方式及びレイアウト方式
US5001671A (en) * 1989-06-27 1991-03-19 Vitelic Corporation Controller for dual ported memory
JP2549209B2 (ja) * 1991-01-23 1996-10-30 株式会社東芝 半導体記憶装置
JP2673390B2 (ja) * 1991-03-13 1997-11-05 三菱電機株式会社 マルチポートメモリ
JP3169639B2 (ja) * 1991-06-27 2001-05-28 日本電気株式会社 半導体記憶装置
US5587957A (en) * 1995-09-29 1996-12-24 Intel Corporation Circuit for sharing a memory of a microcontroller with an external device
US5768211A (en) * 1996-07-31 1998-06-16 Cypress Semiconductor Corporation Multi-port arbitration for high performance width expansion
US5946262A (en) * 1997-03-07 1999-08-31 Mitsubishi Semiconductor America, Inc. RAM having multiple ports sharing common memory locations
US6078527A (en) * 1997-07-29 2000-06-20 Motorola, Inc. Pipelined dual port integrated circuit memory
US5781480A (en) * 1997-07-29 1998-07-14 Motorola, Inc. Pipelined dual port integrated circuit memory
KR19990055450A (ko) * 1997-12-27 1999-07-15 윤종용 듀얼포트 메모리를 사용하는 프로세서의 인터페이스 장치
DE59903684D1 (de) * 1998-09-30 2003-01-16 Siemens Ag Dual-port speicherzelle
KR20000046821A (ko) * 1998-12-31 2000-07-25 김영환 메모리의 리드/라이트 제어회로

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7286415B2 (en) 2004-11-10 2007-10-23 Samsung Electronics Co., Ltd. Semiconductor memory devices having a dual port mode and methods of operating the same
KR100831489B1 (ko) * 2005-08-05 2008-05-22 인피니언 테크놀로지스 아게 메모리 셀, 메모리 셀 제어 방법 및 저장 매체
US7492626B2 (en) 2005-08-05 2009-02-17 Infineon Technologies Ag Memory device with access controller
KR100776127B1 (ko) * 2005-12-29 2007-11-15 매그나칩 반도체 유한회사 에스램을 위한 명령어 제어회로
US7369453B2 (en) 2006-02-28 2008-05-06 Samsung Electronics Co., Ltd. Multi-port memory device and method of controlling the same
US7433263B2 (en) 2006-02-28 2008-10-07 Samsung Electronics Co., Ltd. Multi-port semiconductor device and method thereof
KR20140043867A (ko) * 2012-10-03 2014-04-11 후지쯔 세미컨덕터 가부시키가이샤 반도체 기억 장치
US9053757B2 (en) 2012-10-03 2015-06-09 Fujitsu Semiconductor Limited Semiconductor memory device comprising a plurity of input/output ports and a plurity of memory blocks corresponding to the plurality of input/output ports
KR20190091820A (ko) * 2018-01-29 2019-08-07 한밭대학교 산학협력단 Fpga를 이용한 케이블 선번 연결 자동 탐색, 설정 및 양방향 연결선 구현 장치 및 방법
KR20190110869A (ko) * 2018-03-21 2019-10-01 에스케이하이닉스 주식회사 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법

Also Published As

Publication number Publication date
KR100801119B1 (ko) 2008-02-05
EP1564749B1 (en) 2008-11-12
DE60112701T2 (de) 2006-05-18
EP1564749A3 (en) 2006-03-29
EP1564749B8 (en) 2009-02-18
TW526500B (en) 2003-04-01
EP1564749A2 (en) 2005-08-17
DE60142756D1 (de) 2010-09-16
CN1271636C (zh) 2006-08-23
EP1220226A3 (en) 2002-12-18
EP1564748B1 (en) 2008-01-09
DE60112701D1 (de) 2005-09-22
EP1564748A3 (en) 2006-03-29
DE60132382T2 (de) 2008-07-24
EP1808861B1 (en) 2010-08-04
EP1564748A2 (en) 2005-08-17
DE60132382D1 (de) 2008-02-21
DE60136574D1 (de) 2008-12-24
EP1220226A2 (en) 2002-07-03
EP1808861A1 (en) 2007-07-18
EP1220226B1 (en) 2005-08-17
US20020078311A1 (en) 2002-06-20
CN1360314A (zh) 2002-07-24

Similar Documents

Publication Publication Date Title
KR100801119B1 (ko) 디램 코어를 기반으로 한 다중 포트 메모리
US7911825B2 (en) Multi-port memory based on DRAM core
JP5070656B2 (ja) 半導体記憶装置
US7447109B2 (en) Semiconductor storage device
US20040047221A1 (en) Semiconductor memory device requiring refresh operation
US20040004883A1 (en) Semiconductor memory
JP4783501B2 (ja) 半導体記憶装置
US6501701B2 (en) Semiconductor memory device
JP2001266570A (ja) 同期型半導体記憶装置
JP4824180B2 (ja) 半導体記憶装置
JP5028710B2 (ja) 半導体記憶装置
JP2002197864A (ja) マルチポートメモリおよびその制御方法
JP5333398B2 (ja) マルチポートメモリおよびその制御方法
US20060271756A1 (en) Apparatus and method for reducing delay in operating time caused during DRAM hidden refresh operation
JP2002093196A (ja) 同期型半導体記憶装置

Legal Events

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

Payment date: 20130111

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140107

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150105

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170102

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180103

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee